0 ; This is the number of in register arguments
;++
;
; Copyright (c) 1989  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">