0 ; This is the number of in register arguments
;++
;
; Copyright (c) Microsoft Corporation. All rights reserved. 
;
; You may only use this code if you agree to the terms of the Windows Research Kernel Source Code License agreement (see License.txt).
; If you do not agree to the terms, do not use the code.
;
;
; Module Name:
;
;    systable.asm
;
; Abstract:
;
;    This module implements the system service dispatch table.
;
;--

;
; 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_ERROR macro t
.err    ; Maximum number of in-memory system service arguments exceeded.
        endm

TABLE_BEGIN1 macro t
    TITLE t
endm
TABLE_BEGIN2 macro t
_TEXT	SEGMENT DWORD PUBLIC 'DATA'
	ASSUME	DS:FLAT
endm
TABLE_BEGIN3 macro t
    align 4
endm
TABLE_BEGIN4 macro t
    public _KiServiceTable
_KiServiceTable 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
        ComposeInst <dd offset FLAT:>,_Nt,l,<@>,%(Bytes)
endm

TABLE_END macro n
    public _KiServiceLimit
_KiServiceLimit dd n+1
endm

ARGTBL_BEGIN macro
    public _KiArgumentTable
_KiArgumentTable 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
_TEXT   ENDS
        end
endm

;endif

        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">

