Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

121 lines
2.3 KiB

0 ; This is the number of in register arguments
;++
;
; Copyright (c) 1985 - 1999, Microsoft Corporation
;
; Module Name:
;
; systable.asm
;
; Abstract:
;
; This module implements the system service dispatch table.
;
; Author:
;
; Shie-Lin Tzong (shielint) 6-Feb-1990
;
; Environment:
;
; Kernel mode only.
;
; Revision History:
;
;--
;
; To add a system service simply add the name of the service to the below
; table. If the system service has arguments, then immediately
; follow the name of the serice with a comma and following that the number
; of bytes of in memory arguments, e.g. CreateObject,40.
;
;ifdef i386
.386p
include callconv.inc
TABLE_BEGIN1 macro t
TITLE t
endm
TABLE_BEGIN2 macro t
_DATA SEGMENT DWORD PUBLIC 'DATA'
ASSUME DS:FLAT
endm
TABLE_BEGIN3 macro t
align 4
endm
TABLE_BEGIN4 macro t
public _W32pServiceTable
_W32pServiceTable label dword
endm
TABLE_BEGIN5 macro t
endm
TABLE_BEGIN6 macro t
endm
TABLE_BEGIN7 macro t
endm
TABLE_BEGIN8 macro t
endm
TABLE_ENTRY macro l,bias,numargs
Local Bytes
Bytes = numargs*4
EXTRNP _Nt&l,&numargs
IFDEF STD_CALL
ComposeInst <dd offset FLAT:>,_Nt,l,<@>,%(Bytes)
ELSE
dd offset FLAT:_Nt&l
ENDIF
endm
TABLE_END macro n
public _W32pServiceLimit
_W32pServiceLimit dd n+1
endm
ARGTBL_BEGIN macro
public _W32pArgumentTable
_W32pArgumentTable label dword
endm
ARGTBL_ENTRY macro e0,e1,e2,e3,e4,e5,e6,e7
db e0,e1,e2,e3,e4,e5,e6,e7
endm
ARGTBL_END macro
_DATA ENDS
end
endm
ERRTBL_BEGIN macro
endm
ERRTBL_ENTRY macro e0,e1,e2,e3,e4,e5,e6,e7
db e0,e1,e2,e3,e4,e5,e6,e7
endm
ERRTBL_END macro
endm
;endif
DECLARE_DISPATCH_COUNT macro ServiceCount, ArgsCount
public _gDispatchTableValues
_gDispatchTableValues label word
dw ServiceCount
dw ArgsCount
endm
TABLE_BEGIN1 <"System Service Dispatch Table">
TABLE_BEGIN2 <"System Service Dispatch Table">
TABLE_BEGIN3 <"System Service Dispatch Table">
TABLE_BEGIN4 <"System Service Dispatch Table">
TABLE_BEGIN5 <"System Service Dispatch Table">
TABLE_BEGIN6 <"System Service Dispatch Table">
TABLE_BEGIN7 <"System Service Dispatch Table">
TABLE_BEGIN8 <"System Service Dispatch Table">