ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

ifssupp.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.