ReactOS  0.4.13-dev-66-gc714b7f
ifssupp.h
Go to the documentation of this file.
1 /*++ NDK Version: 0098
2 
3 Copyright (c) Alex Ionescu. All rights reserved.
4 
5 Header Name:
6 
7  ifssupp.h
8 
9 Abstract:
10 
11  NDK Support for usage without the IFS. Will be deprecated at WDK Release.
12 
13 Author:
14 
15  Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
16 
17 --*/
18 #ifndef _NTIFS_
19 #ifndef NTOS_MODE_USER
20 #define _NTIFS_
21 
22 #define TOKEN_SOURCE_LENGTH 8
23 
24 #ifndef _NTIFS_
25 typedef enum _TOKEN_TYPE
26 {
27  TokenPrimary = 1,
30 
31 typedef NTSTATUS
33  _In_ PVOID Base,
36 );
37 
38 typedef struct _RTL_HEAP_PARAMETERS
39 {
40  ULONG Length;
50  SIZE_T Reserved[2];
52 
55 
56 typedef struct _RTL_SPLAY_LINKS
57 {
58  struct _RTL_SPLAY_LINKS *Parent;
62 
65 
66 #if defined(USE_LPC6432)
67 #define LPC_CLIENT_ID CLIENT_ID64
68 #define LPC_SIZE_T ULONGLONG
69 #define LPC_PVOID ULONGLONG
70 #define LPC_HANDLE ULONGLONG
71 #else
72 #define LPC_CLIENT_ID CLIENT_ID
73 #define LPC_SIZE_T SIZE_T
74 #define LPC_PVOID PVOID
75 #define LPC_HANDLE HANDLE
76 #endif
77 
78 typedef struct _PORT_MESSAGE
79 {
80  union
81  {
82  struct
83  {
86  } s1;
87  ULONG Length;
88  } u1;
89  union
90  {
91  struct
92  {
93  CSHORT Type;
95  } s2;
97  } u2;
98  union
99  {
101  double DoNotUseThisField;
102  };
104  union
105  {
108  };
110 
111 typedef struct _PORT_VIEW
112 {
113  ULONG Length;
120 
121 typedef struct _REMOTE_PORT_VIEW
122 {
123  ULONG Length;
127 
128 typedef struct _KAPC_STATE
129 {
130  LIST_ENTRY ApcListHead[2];
131  struct _KPROCESS *Process;
132  BOOLEAN KernelApcInProgress;
133  BOOLEAN KernelApcPending;
134  BOOLEAN UserApcPending;
136 
137 typedef struct _KQUEUE
138 {
145 
146 typedef struct _ACE_HEADER
147 {
148  UCHAR AceType;
149  UCHAR AceFlags;
150  USHORT AceSize;
152 
153 typedef enum _RTL_GENERIC_COMPARE_RESULTS
154 {
159 
160 typedef struct _SID_IDENTIFIER_AUTHORITY
161 {
162  UCHAR Value[6];
164 
165 typedef struct _SID_AND_ATTRIBUTES
166 {
167  PSID Sid;
170 
171 typedef struct _TOKEN_SOURCE
172 {
176 
177 typedef struct _TOKEN_CONTROL
178 {
179  LUID TokenId;
184 
185 typedef struct _SECURITY_CLIENT_CONTEXT
186 {
194 
195 typedef struct _SECURITY_DESCRIPTOR_RELATIVE
196 {
197  UCHAR Revision;
198  UCHAR Sbz1;
200  ULONG Owner;
201  ULONG Group;
202  ULONG Sacl;
203  ULONG Dacl;
205 
206 typedef struct _TOKEN_GROUPS
207 {
211 
212 typedef struct _TOKEN_PRIVILEGES
213 {
217 
218 typedef struct _TOKEN_USER
219 {
222 
223 typedef enum _TOKEN_INFORMATION_CLASS
224 {
225  TokenUser = 1,
226  TokenGroups,
228  TokenOwner,
231  TokenSource,
232  TokenType,
241  TokenOrigin,
247  TokenVirtualization,
249  TokenIntegrityLevelDesktop,
253 
254 typedef struct _TOKEN_OWNER
255 {
256  PSID Owner;
258 
259 typedef struct _TOKEN_PRIMARY_GROUP
260 {
263 
264 typedef struct _TOKEN_DEFAULT_DACL
265 {
268 
269 //
270 // Heap flags
271 //
272 #define HEAP_NO_SERIALIZE 0x00000001
273 #define HEAP_GROWABLE 0x00000002
274 #define HEAP_GENERATE_EXCEPTIONS 0x00000004
275 #define HEAP_ZERO_MEMORY 0x00000008
276 #define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010
277 #define HEAP_TAIL_CHECKING_ENABLED 0x00000020
278 #define HEAP_FREE_CHECKING_ENABLED 0x00000040
279 #define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080
280 
281 #define HEAP_CREATE_ALIGN_16 0x00010000
282 #define HEAP_CREATE_ENABLE_TRACING 0x00020000
283 #define HEAP_CREATE_ENABLE_EXECUTE 0x00040000
284 
285 #endif
286 
287 #endif // !NTOS_MODE_USER
288 #endif // _NTIFS_
LPC_CLIENT_ID ClientId
struct _PORT_VIEW PORT_VIEW
UCHAR AceFlags
Definition: ms-dtyp.idl:211
KAPC_STATE
Definition: ketypes.h:1273
struct _ACE_HEADER * PACE_HEADER
WORD * PSECURITY_DESCRIPTOR_CONTROL
Definition: lsa.idl:37
struct _ACE_HEADER ACE_HEADER
union _PORT_MESSAGE::@3748 u1
struct _TOKEN_PRIMARY_GROUP * PTOKEN_PRIMARY_GROUP
#define ANYSIZE_ARRAY
Definition: typedefs.h:45
* PSID_IDENTIFIER_AUTHORITY
Definition: setypes.h:436
struct _TOKEN_DEFAULT_DACL TOKEN_DEFAULT_DACL
enum _TOKEN_TYPE * PTOKEN_TYPE
PRTL_HEAP_COMMIT_ROUTINE CommitRoutine
Definition: nt_native.h:1676
char CHAR
Definition: xmlstorage.h:175
_TOKEN_TYPE
Definition: imports.h:272
enum _TABLE_SEARCH_RESULT TABLE_SEARCH_RESULT
LIST_ENTRY EntryListHead
Definition: ketypes.h:1281
_In_opt_ ULONG Base
Definition: rtlfuncs.h:2327
enum _TOKEN_INFORMATION_CLASS * PTOKEN_INFORMATION_CLASS
LUID AuthenticationId
Definition: imports.h:284
$ULONG PrivilegeCount
Definition: setypes.h:969
#define TOKEN_SOURCE_LENGTH
Definition: ifssupp.h:22
ULONG SectionOffset
#define LPC_HANDLE
ULONG DeCommitFreeBlockThreshold
Definition: nt_native.h:1670
struct _TOKEN_USER TOKEN_USER
struct _PORT_MESSAGE_HEADER PORT_MESSAGE
struct _RTL_GENERIC_TABLE * PRTL_GENERIC_TABLE
USHORT AceSize
Definition: ms-dtyp.idl:212
LUID SourceIdentifier
Definition: imports.h:279
struct _TOKEN_DEFAULT_DACL * PTOKEN_DEFAULT_DACL
ULONG_PTR * PSIZE_T
Definition: typedefs.h:78
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
WORD SECURITY_DESCRIPTOR_CONTROL
Definition: lsa.idl:37
#define LPC_PVOID
struct _PORT_MESSAGE::@3749::@3755 s2
struct _SECURITY_CLIENT_CONTEXT * PSECURITY_CLIENT_CONTEXT
struct _TOKEN_CONTROL TOKEN_CONTROL
struct _SECURITY_DESCRIPTOR_RELATIVE * PISECURITY_DESCRIPTOR_RELATIVE
_TOKEN_INFORMATION_CLASS
Definition: setypes.h:911
unsigned char BOOLEAN
LPC_PVOID ViewRemoteBase
struct _TOKEN_PRIVILEGES TOKEN_PRIVILEGES
struct _REMOTE_PORT_VIEW REMOTE_PORT_VIEW
PSID Owner
Definition: setypes.h:974
_Reserved_ PVOID Reserved
Definition: winddi.h:3974
LUID ModifiedId
Definition: imports.h:285
struct _TOKEN_GROUPS * PTOKEN_GROUPS
DISPATCHER_HEADER Header
Definition: ketypes.h:1280
BOOLEAN DirectAccessEffectiveOnly
Definition: imports.h:293
struct _SID_AND_ATTRIBUTES * PSID_AND_ATTRIBUTES
Definition: security.c:129
ULONG VirtualMemoryThreshold
Definition: nt_native.h:1673
struct _PORT_VIEW * PPORT_VIEW
struct _TOKEN_SOURCE * PTOKEN_SOURCE
struct _TOKEN_OWNER TOKEN_OWNER
struct _TOKEN_SOURCE TOKEN_SOURCE
_Inout_ PVOID * CommitAddress
Definition: rtltypes.h:574
LPC_SIZE_T ViewSize
struct _SID_AND_ATTRIBUTES SID_AND_ATTRIBUTES
_In_ HANDLE _Outptr_result_bytebuffer_ ViewSize PVOID _In_ ULONG_PTR _In_ SIZE_T CommitSize
Definition: mmfuncs.h:404
_RTL_GENERIC_COMPARE_RESULTS
Definition: rtltypes.h:365
LIST_ENTRY ThreadListHead
Definition: ketypes.h:1284
NTSTATUS(* PRTL_HEAP_COMMIT_ROUTINE)(IN PVOID Base, IN OUT PVOID *CommitAddress, IN OUT PULONG CommitSize)
Definition: nt_native.h:1660
#define LPC_SIZE_T
SECURITY_QUALITY_OF_SERVICE SecurityQos
Definition: imports.h:290
#define _Inout_
Definition: no_sal2.h:244
enum _TOKEN_INFORMATION_CLASS TOKEN_INFORMATION_CLASS
ULONG MaximumCount
Definition: ketypes.h:1283
#define RESTRICTED_POINTER
Definition: ntbasedef.h:97
unsigned char UCHAR
Definition: xmlstorage.h:181
UCHAR AceType
Definition: ms-dtyp.idl:210
struct _TOKEN_OWNER * PTOKEN_OWNER
struct _TOKEN_PRIVILEGES * PTOKEN_PRIVILEGES
#define NTSTATUS
Definition: precomp.h:20
struct _FS_FILTER_CALLBACKS * PFS_FILTER_CALLBACKS
struct _KQUEUE * PKQUEUE
double DoNotUseThisField
#define LPC_CLIENT_ID
Definition: typedefs.h:117
struct _SECURITY_DESCRIPTOR_RELATIVE SECURITY_DESCRIPTOR_RELATIVE
LPC_SIZE_T ClientViewSize
struct _RTL_HEAP_PARAMETERS * PRTL_HEAP_PARAMETERS
enum _TOKEN_TYPE TOKEN_TYPE
struct _TOKEN_GROUPS TOKEN_GROUPS
CCHAR SourceName[TOKEN_SOURCE_LENGTH]
Definition: imports.h:278
struct _SECURITY_CLIENT_CONTEXT SECURITY_CLIENT_CONTEXT
struct _RTL_SPLAY_LINKS RTL_SPLAY_LINKS
#define _In_
Definition: no_sal2.h:204
ULONG_PTR SIZE_T
Definition: typedefs.h:78
struct _TOKEN_CONTROL * PTOKEN_CONTROL
LPC_PVOID ViewBase
SECURITY_DESCRIPTOR_CONTROL Control
Definition: setypes.h:785
unsigned short USHORT
Definition: pedump.c:61
*RESTRICTED_POINTER PRKAPC_STATE
Definition: ketypes.h:1273
volatile ULONG CurrentCount
Definition: ketypes.h:1282
SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]
Definition: setypes.h:964
TOKEN_SOURCE TokenSource
Definition: imports.h:286
enum _RTL_GENERIC_COMPARE_RESULTS RTL_GENERIC_COMPARE_RESULTS
struct _RTL_HEAP_PARAMETERS RTL_HEAP_PARAMETERS
LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]
Definition: setypes.h:970
struct _SID_IDENTIFIER_AUTHORITY SID_IDENTIFIER_AUTHORITY
TOKEN_CONTROL ClientTokenControl
Definition: imports.h:295
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
$ULONG GroupCount
Definition: setypes.h:960
struct _PORT_MESSAGE::@3748::@3754 s1
unsigned int ULONG
Definition: retypes.h:1
LUID TokenId
Definition: imports.h:283
struct _TOKEN_USER * PTOKEN_USER
SID_AND_ATTRIBUTES User
Definition: setypes.h:956
struct _KQUEUE KQUEUE
struct _REMOTE_PORT_VIEW * PREMOTE_PORT_VIEW
LPC_HANDLE SectionHandle
BOOLEAN DirectlyAccessClientToken
Definition: imports.h:292
struct _RTL_SPLAY_LINKS * PRTL_SPLAY_LINKS
short CSHORT
Definition: umtypes.h:127
struct _PORT_MESSAGE_HEADER * PPORT_MESSAGE
ULONG DeCommitTotalFreeThreshold
Definition: nt_native.h:1671
union _PORT_MESSAGE::@3749 u2
struct _TOKEN_PRIMARY_GROUP TOKEN_PRIMARY_GROUP
PACCESS_TOKEN ClientToken
Definition: imports.h:291
* PKAPC_STATE
Definition: ketypes.h:1273
struct _KQUEUE PRKQUEUE
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ BOOLEAN _In_ TOKEN_TYPE TokenType
Definition: sefuncs.h:417