Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenifssupp.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 ifssupp.h 00008 00009 Abstract: 00010 00011 NDK Support for usage without the IFS. Will be deprecated at WDK Release. 00012 00013 Author: 00014 00015 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 00016 00017 --*/ 00018 #ifndef _NTIFS_ 00019 #ifndef NTOS_MODE_USER 00020 #define _NTIFS_ 00021 00022 #define TOKEN_SOURCE_LENGTH 8 00023 00024 #ifndef _NTIFS_ 00025 typedef enum _TOKEN_TYPE 00026 { 00027 TokenPrimary = 1, 00028 TokenImpersonation 00029 } TOKEN_TYPE, *PTOKEN_TYPE; 00030 00031 typedef NTSTATUS 00032 (NTAPI * PRTL_HEAP_COMMIT_ROUTINE)( 00033 IN PVOID Base, 00034 IN OUT PVOID *CommitAddress, 00035 IN OUT PSIZE_T CommitSize 00036 ); 00037 00038 typedef struct _RTL_HEAP_PARAMETERS 00039 { 00040 ULONG Length; 00041 SIZE_T SegmentReserve; 00042 SIZE_T SegmentCommit; 00043 SIZE_T DeCommitFreeBlockThreshold; 00044 SIZE_T DeCommitTotalFreeThreshold; 00045 SIZE_T MaximumAllocationSize; 00046 SIZE_T VirtualMemoryThreshold; 00047 SIZE_T InitialCommit; 00048 SIZE_T InitialReserve; 00049 PRTL_HEAP_COMMIT_ROUTINE CommitRoutine; 00050 SIZE_T Reserved[2]; 00051 } RTL_HEAP_PARAMETERS, *PRTL_HEAP_PARAMETERS; 00052 00053 typedef PVOID PFS_FILTER_CALLBACKS; 00054 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL; 00055 00056 typedef struct _RTL_SPLAY_LINKS 00057 { 00058 struct _RTL_SPLAY_LINKS *Parent; 00059 struct _RTL_SPLAY_LINKS *LeftChild; 00060 struct _RTL_SPLAY_LINKS *RightChild; 00061 } RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS; 00062 00063 typedef struct _RTL_GENERIC_TABLE RTL_GENERIC_TABLE, *PRTL_GENERIC_TABLE; 00064 typedef ULONG TABLE_SEARCH_RESULT; 00065 00066 #if defined(USE_LPC6432) 00067 #define LPC_CLIENT_ID CLIENT_ID64 00068 #define LPC_SIZE_T ULONGLONG 00069 #define LPC_PVOID ULONGLONG 00070 #define LPC_HANDLE ULONGLONG 00071 #else 00072 #define LPC_CLIENT_ID CLIENT_ID 00073 #define LPC_SIZE_T SIZE_T 00074 #define LPC_PVOID PVOID 00075 #define LPC_HANDLE HANDLE 00076 #endif 00077 00078 typedef struct _PORT_MESSAGE 00079 { 00080 union 00081 { 00082 struct 00083 { 00084 CSHORT DataLength; 00085 CSHORT TotalLength; 00086 } s1; 00087 ULONG Length; 00088 } u1; 00089 union 00090 { 00091 struct 00092 { 00093 CSHORT Type; 00094 CSHORT DataInfoOffset; 00095 } s2; 00096 ULONG ZeroInit; 00097 } u2; 00098 union 00099 { 00100 LPC_CLIENT_ID ClientId; 00101 double DoNotUseThisField; 00102 }; 00103 ULONG MessageId; 00104 union 00105 { 00106 LPC_SIZE_T ClientViewSize; 00107 ULONG CallbackId; 00108 }; 00109 } PORT_MESSAGE, *PPORT_MESSAGE; 00110 00111 typedef struct _PORT_VIEW 00112 { 00113 ULONG Length; 00114 LPC_HANDLE SectionHandle; 00115 ULONG SectionOffset; 00116 LPC_SIZE_T ViewSize; 00117 LPC_PVOID ViewBase; 00118 LPC_PVOID ViewRemoteBase; 00119 } PORT_VIEW, *PPORT_VIEW; 00120 00121 typedef struct _REMOTE_PORT_VIEW 00122 { 00123 ULONG Length; 00124 LPC_SIZE_T ViewSize; 00125 LPC_PVOID ViewBase; 00126 } REMOTE_PORT_VIEW, *PREMOTE_PORT_VIEW; 00127 00128 typedef struct _KAPC_STATE 00129 { 00130 LIST_ENTRY ApcListHead[2]; 00131 struct _KPROCESS *Process; 00132 BOOLEAN KernelApcInProgress; 00133 BOOLEAN KernelApcPending; 00134 BOOLEAN UserApcPending; 00135 } KAPC_STATE, *PKAPC_STATE, *RESTRICTED_POINTER PRKAPC_STATE; 00136 00137 typedef struct _KQUEUE 00138 { 00139 DISPATCHER_HEADER Header; 00140 LIST_ENTRY EntryListHead; 00141 ULONG CurrentCount; 00142 ULONG MaximumCount; 00143 LIST_ENTRY ThreadListHead; 00144 } KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE; 00145 00146 typedef struct _ACE_HEADER 00147 { 00148 UCHAR AceType; 00149 UCHAR AceFlags; 00150 USHORT AceSize; 00151 } ACE_HEADER, *PACE_HEADER; 00152 00153 typedef enum _RTL_GENERIC_COMPARE_RESULTS 00154 { 00155 GenericLessThan, 00156 GenericGreaterThan, 00157 GenericEqual 00158 } RTL_GENERIC_COMPARE_RESULTS; 00159 00160 typedef struct _SID_IDENTIFIER_AUTHORITY 00161 { 00162 UCHAR Value[6]; 00163 } SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY; 00164 00165 typedef struct _SID_AND_ATTRIBUTES 00166 { 00167 PSID Sid; 00168 ULONG Attributes; 00169 } SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES; 00170 00171 typedef struct _TOKEN_SOURCE 00172 { 00173 CHAR SourceName[TOKEN_SOURCE_LENGTH]; 00174 LUID SourceIdentifier; 00175 } TOKEN_SOURCE, *PTOKEN_SOURCE; 00176 00177 typedef struct _TOKEN_CONTROL 00178 { 00179 LUID TokenId; 00180 LUID AuthenticationId; 00181 LUID ModifiedId; 00182 TOKEN_SOURCE TokenSource; 00183 } TOKEN_CONTROL, *PTOKEN_CONTROL; 00184 00185 typedef struct _SECURITY_CLIENT_CONTEXT 00186 { 00187 SECURITY_QUALITY_OF_SERVICE SecurityQos; 00188 PACCESS_TOKEN ClientToken; 00189 BOOLEAN DirectlyAccessClientToken; 00190 BOOLEAN DirectAccessEffectiveOnly; 00191 BOOLEAN ServerIsRemote; 00192 TOKEN_CONTROL ClientTokenControl; 00193 } SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT; 00194 00195 typedef struct _SECURITY_DESCRIPTOR_RELATIVE 00196 { 00197 UCHAR Revision; 00198 UCHAR Sbz1; 00199 SECURITY_DESCRIPTOR_CONTROL Control; 00200 ULONG Owner; 00201 ULONG Group; 00202 ULONG Sacl; 00203 ULONG Dacl; 00204 } SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE; 00205 00206 typedef struct _TOKEN_GROUPS 00207 { 00208 ULONG GroupCount; 00209 SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; 00210 } TOKEN_GROUPS, *PTOKEN_GROUPS; 00211 00212 typedef struct _TOKEN_PRIVILEGES 00213 { 00214 ULONG PrivilegeCount; 00215 LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; 00216 } TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES; 00217 00218 typedef struct _TOKEN_USER 00219 { 00220 SID_AND_ATTRIBUTES User; 00221 } TOKEN_USER, *PTOKEN_USER; 00222 00223 typedef enum _TOKEN_INFORMATION_CLASS 00224 { 00225 TokenUser = 1, 00226 TokenGroups, 00227 TokenPrivileges, 00228 TokenOwner, 00229 TokenPrimaryGroup, 00230 TokenDefaultDacl, 00231 TokenSource, 00232 TokenType, 00233 TokenImpersonationLevel, 00234 TokenStatistics, 00235 TokenRestrictedSids, 00236 TokenSessionId, 00237 TokenGroupsAndPrivileges, 00238 TokenSessionReference, 00239 TokenSandBoxInert, 00240 TokenAuditPolicy, 00241 TokenOrigin, 00242 TokenElevationType, 00243 TokenLinkedToken, 00244 TokenElevation, 00245 TokenIsRestricted, 00246 TokenAccessInformation, 00247 TokenVirtualization, 00248 TokenIntegrityLevel, 00249 TokenIntegrityLevelDesktop, 00250 TokenMandatoryPolicy, 00251 MaxTokenInfoClass 00252 } TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS; 00253 00254 typedef struct _TOKEN_OWNER 00255 { 00256 PSID Owner; 00257 } TOKEN_OWNER, *PTOKEN_OWNER; 00258 00259 typedef struct _TOKEN_PRIMARY_GROUP 00260 { 00261 PSID PrimaryGroup; 00262 } TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP; 00263 00264 typedef struct _TOKEN_DEFAULT_DACL 00265 { 00266 PACL DefaultDacl; 00267 } TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL; 00268 00269 // 00270 // Heap flags 00271 // 00272 #define HEAP_NO_SERIALIZE 0x00000001 00273 #define HEAP_GROWABLE 0x00000002 00274 #define HEAP_GENERATE_EXCEPTIONS 0x00000004 00275 #define HEAP_ZERO_MEMORY 0x00000008 00276 #define HEAP_REALLOC_IN_PLACE_ONLY 0x00000010 00277 #define HEAP_TAIL_CHECKING_ENABLED 0x00000020 00278 #define HEAP_FREE_CHECKING_ENABLED 0x00000040 00279 #define HEAP_DISABLE_COALESCE_ON_FREE 0x00000080 00280 00281 #define HEAP_CREATE_ALIGN_16 0x00010000 00282 #define HEAP_CREATE_ENABLE_TRACING 0x00020000 00283 #define HEAP_CREATE_ENABLE_EXECUTE 0x00040000 00284 00285 #endif 00286 00287 #endif // !NTOS_MODE_USER 00288 #endif // _NTIFS_ Generated on Sat May 26 2012 04:29:30 for ReactOS by
1.7.6.1
|