make usb miniports not to use old header
[reactos.git] / reactos / include / ntos / service.h
1
2 #ifndef __NTOS_SERVICE_H
3 #define __NTOS_SERVICE_H
4
5
6 /* number of entries in the service descriptor tables */
7 #define SSDT_MAX_ENTRIES 4
8
9
10 #ifndef __USE_W32API
11
12 /* System Service Dispatch Table */
13 typedef PVOID (NTAPI * SSDT)(VOID);
14 typedef SSDT * PSSDT;
15
16 /* System Service Parameters Table */
17 typedef UCHAR SSPT, *PSSPT;
18
19 typedef struct t_KeServiceDescriptorTableEntry {
20 PSSDT SSDT;
21 PULONG ServiceCounterTable;
22 ULONG NumberOfServices;
23 PSSPT SSPT;
24
25 } SSDT_ENTRY, *PSSDT_ENTRY;
26
27 #endif /* __USE_W32API */
28
29
30 /* --- NTOSKRNL.EXE --- */
31 #if defined(__NTOSKRNL__)
32 #ifdef __GNUC__
33 extern
34 SSDT_ENTRY
35 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllexport);
36 #else /* __GNUC__ */
37 /* Microsft-style */
38 extern
39 __declspec(dllexport)
40 SSDT_ENTRY
41 KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
42 #endif /* __GNUC__ */
43 #else /* __NTOSKRNL__ */
44 #ifdef __GNUC__
45 extern
46 SSDT_ENTRY
47 KeServiceDescriptorTable[SSDT_MAX_ENTRIES] __declspec(dllimport);
48 #else /* __GNUC__ */
49 /* Microsft-style */
50 extern
51 __declspec(dllimport)
52 SSDT_ENTRY
53 KeServiceDescriptorTable[SSDT_MAX_ENTRIES];
54 #endif /* __GNUC__ */
55 #endif /* __NTOSKRNL__ */
56
57 extern
58 SSDT_ENTRY
59 KeServiceDescriptorTableShadow[SSDT_MAX_ENTRIES];
60
61
62 #ifndef __USE_W32API
63
64 BOOLEAN
65 STDCALL
66 KeAddSystemServiceTable (
67 PSSDT SSDT,
68 PULONG ServiceCounterTable,
69 ULONG NumberOfServices,
70 PSSPT SSPT,
71 ULONG TableIndex
72 );
73
74 #endif /* __USE_W32API */
75
76 #endif /* __NTOS_SERVICE_H */
77