3 Copyright (c) Alex Ionescu. All rights reserved.
11 NDK Support for usage without the IFS. Will be deprecated at WDK Release.
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
19 #ifndef NTOS_MODE_USER
22 #define TOKEN_SOURCE_LENGTH 8
24 typedef enum _TOKEN_TYPE
28 } TOKEN_TYPE
, *PTOKEN_TYPE
;
30 typedef PVOID PRTL_HEAP_PARAMETERS
;
31 typedef USHORT SECURITY_DESCRIPTOR_CONTROL
, *PSECURITY_DESCRIPTOR_CONTROL
;
33 typedef struct _RTL_SPLAY_LINKS
35 struct _RTL_SPLAY_LINKS
*Parent
;
36 struct _RTL_SPLAY_LINKS
*LeftChild
;
37 struct _RTL_SPLAY_LINKS
*RightChild
;
38 } RTL_SPLAY_LINKS
, *PRTL_SPLAY_LINKS
;
40 #if defined(USE_LPC6432)
41 #define LPC_CLIENT_ID CLIENT_ID64
42 #define LPC_SIZE_T ULONGLONG
43 #define LPC_PVOID ULONGLONG
44 #define LPC_HANDLE ULONGLONG
46 #define LPC_CLIENT_ID CLIENT_ID
47 #define LPC_SIZE_T SIZE_T
48 #define LPC_PVOID PVOID
49 #define LPC_HANDLE HANDLE
52 typedef struct _PORT_MESSAGE
68 CSHORT DataInfoOffset
;
74 LPC_CLIENT_ID ClientId
;
75 double DoNotUseThisField
;
80 LPC_SIZE_T ClientViewSize
;
83 } PORT_MESSAGE
, *PPORT_MESSAGE
;
85 typedef struct _PORT_VIEW
88 LPC_HANDLE SectionHandle
;
92 LPC_PVOID ViewRemoteBase
;
93 } PORT_VIEW
, *PPORT_VIEW
;
95 typedef struct _REMOTE_PORT_VIEW
100 } REMOTE_PORT_VIEW
, *PREMOTE_PORT_VIEW
;
102 typedef struct _KAPC_STATE
104 LIST_ENTRY ApcListHead
[2];
105 struct _KPROCESS
*Process
;
106 BOOLEAN KernelApcInProgress
;
107 BOOLEAN KernelApcPending
;
108 BOOLEAN UserApcPending
;
109 } KAPC_STATE
, *PKAPC_STATE
, *RESTRICTED_POINTER PRKAPC_STATE
;
111 typedef struct _KQUEUE
113 DISPATCHER_HEADER Header
;
114 LIST_ENTRY EntryListHead
;
117 LIST_ENTRY ThreadListHead
;
118 } KQUEUE
, *PKQUEUE
, *RESTRICTED_POINTER PRKQUEUE
;
120 typedef struct _ACE_HEADER
125 } ACE_HEADER
, *PACE_HEADER
;
127 typedef enum _RTL_GENERIC_COMPARE_RESULTS
132 } RTL_GENERIC_COMPARE_RESULTS
;
134 typedef struct _SID_IDENTIFIER_AUTHORITY
137 } SID_IDENTIFIER_AUTHORITY
, *PSID_IDENTIFIER_AUTHORITY
;
139 typedef struct _SID_AND_ATTRIBUTES
143 } SID_AND_ATTRIBUTES
, * PSID_AND_ATTRIBUTES
;
145 typedef struct _TOKEN_SOURCE
147 CHAR SourceName
[TOKEN_SOURCE_LENGTH
];
148 LUID SourceIdentifier
;
149 } TOKEN_SOURCE
, *PTOKEN_SOURCE
;
151 typedef struct _TOKEN_CONTROL
154 LUID AuthenticationId
;
156 TOKEN_SOURCE TokenSource
;
157 } TOKEN_CONTROL
, *PTOKEN_CONTROL
;
159 typedef struct _SECURITY_CLIENT_CONTEXT
161 SECURITY_QUALITY_OF_SERVICE SecurityQos
;
162 PACCESS_TOKEN ClientToken
;
163 BOOLEAN DirectlyAccessClientToken
;
164 BOOLEAN DirectAccessEffectiveOnly
;
165 BOOLEAN ServerIsRemote
;
166 TOKEN_CONTROL ClientTokenControl
;
167 } SECURITY_CLIENT_CONTEXT
, *PSECURITY_CLIENT_CONTEXT
;
169 typedef struct _SECURITY_DESCRIPTOR_RELATIVE
173 SECURITY_DESCRIPTOR_CONTROL Control
;
178 } SECURITY_DESCRIPTOR_RELATIVE
, *PISECURITY_DESCRIPTOR_RELATIVE
;
180 typedef struct _TOKEN_GROUPS
183 SID_AND_ATTRIBUTES Groups
[ANYSIZE_ARRAY
];
184 } TOKEN_GROUPS
, *PTOKEN_GROUPS
;
186 typedef struct _TOKEN_PRIVILEGES
188 ULONG PrivilegeCount
;
189 LUID_AND_ATTRIBUTES Privileges
[ANYSIZE_ARRAY
];
190 } TOKEN_PRIVILEGES
, *PTOKEN_PRIVILEGES
;
192 typedef struct _TOKEN_USER
194 SID_AND_ATTRIBUTES User
;
195 } TOKEN_USER
, *PTOKEN_USER
;
197 typedef enum _TOKEN_INFORMATION_CLASS
207 TokenImpersonationLevel
,
211 TokenGroupsAndPrivileges
,
212 TokenSessionReference
,
220 TokenAccessInformation
,
223 TokenIntegrityLevelDesktop
,
224 TokenMandatoryPolicy
,
226 } TOKEN_INFORMATION_CLASS
, *PTOKEN_INFORMATION_CLASS
;
228 typedef struct _TOKEN_OWNER
231 } TOKEN_OWNER
, *PTOKEN_OWNER
;
233 typedef struct _TOKEN_PRIMARY_GROUP
236 } TOKEN_PRIMARY_GROUP
, *PTOKEN_PRIMARY_GROUP
;
238 typedef struct _TOKEN_DEFAULT_DACL
241 } TOKEN_DEFAULT_DACL
, *PTOKEN_DEFAULT_DACL
;
243 #endif // !NTOS_MODE_USER