Files
WindowsXP/inetsrv/iis/svcs/infocomm/spuddrv/ia64/table.stb
2025-04-27 07:49:33 -04:00

65 lines
1.9 KiB
Plaintext

0 //++
//
// Copyright (c) 1998 Microsoft Corporation
//
// Module Name:
//
// systable.s
//
// Abstract:
//
// This module implements the system service dispatch table.
//
// Author:
//
// Keith Moore (keithmo) 21-Jan-1998
//
// 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 in memory 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.
//
#define TABLE_BEGIN1( t ) .##sdata
#define TABLE_BEGIN2( t ) .##align 8
#define TABLE_BEGIN3( t ) .##global SpudServiceTableGp
#define TABLE_BEGIN4( t ) SpudServiceTableGp: data8 _gp
#define TABLE_BEGIN5( t ) .##global SpudServiceTable
#define TABLE_BEGIN6( t ) SpudServiceTable:
#define TABLE_BEGIN7( t )
#define TABLE_BEGIN8( t )
#ifdef _WIN64
#define TABLE_ENTRY( l,bias,numargs ) .##global SPUD##l; .##type SPUD##l, @function; data8 SPUD##l+bias
#else
#define TABLE_ENTRY( l,bias,numargs ) .##global SPUD##l; .##type SPUD##l, @function; data4 @fptr(SPUD##l)+bias
#endif
#define TABLE_END( n ) .##sdata ; .##global SpudServiceLimit ; SpudServiceLimit: data4 n + 1
#define ARGTBL_BEGIN .##sdata ; .##align 4 ; .##global SpudArgumentTable ; SpudArgumentTable:
#define ARGTBL_ENTRY( e0,e1,e2,e3,e4,e5,e6,e7 ) data1 e0,e1,e2,e3,e4,e5,e6,e7
#define ARGTBL_END
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" )