Forgot to commit this file
[reactos.git] / reactos / include / ndk / ifssupp.h
index 1bf3cb3..0b7a3d7 100644 (file)
@@ -15,11 +15,20 @@ Author:
     Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004\r
 \r
 --*/\r
-\r
 #ifndef _NTIFS_\r
+#ifndef NTOS_MODE_USER\r
 #define _NTIFS_\r
 \r
+#define TOKEN_SOURCE_LENGTH               8\r
+\r
+typedef enum _TOKEN_TYPE\r
+{\r
+    TokenPrimary = 1,\r
+    TokenImpersonation\r
+} TOKEN_TYPE, *PTOKEN_TYPE;\r
+\r
 typedef PVOID PRTL_HEAP_PARAMETERS;\r
+typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;\r
 \r
 typedef struct _RTL_SPLAY_LINKS\r
 {\r
@@ -93,7 +102,7 @@ typedef struct _REMOTE_PORT_VIEW
 typedef struct _KAPC_STATE\r
 {\r
     LIST_ENTRY ApcListHead[2];\r
-    PKPROCESS Process;\r
+    struct _KPROCESS *Process;\r
     BOOLEAN KernelApcInProgress;\r
     BOOLEAN KernelApcPending;\r
     BOOLEAN UserApcPending;\r
@@ -108,8 +117,37 @@ typedef struct _KQUEUE
     LIST_ENTRY ThreadListHead;\r
 } KQUEUE, *PKQUEUE, *RESTRICTED_POINTER PRKQUEUE;\r
 \r
-typedef PVOID EX_RUNDOWN_REF;\r
-typedef PVOID EX_PUSH_LOCK;\r
+typedef enum _RTL_GENERIC_COMPARE_RESULTS\r
+{\r
+    GenericLessThan,\r
+    GenericGreaterThan,\r
+    GenericEqual\r
+} RTL_GENERIC_COMPARE_RESULTS;\r
+\r
+typedef struct _SID_IDENTIFIER_AUTHORITY\r
+{\r
+    UCHAR Value[6];\r
+} SID_IDENTIFIER_AUTHORITY, *PSID_IDENTIFIER_AUTHORITY;\r
+\r
+typedef struct _SID_AND_ATTRIBUTES\r
+{\r
+    PSID Sid;\r
+    ULONG Attributes;\r
+} SID_AND_ATTRIBUTES, * PSID_AND_ATTRIBUTES;\r
+\r
+typedef struct _TOKEN_SOURCE\r
+{\r
+    CHAR SourceName[TOKEN_SOURCE_LENGTH];\r
+    LUID SourceIdentifier;\r
+} TOKEN_SOURCE, *PTOKEN_SOURCE;\r
+\r
+typedef struct _TOKEN_CONTROL\r
+{\r
+    LUID TokenId;\r
+    LUID AuthenticationId;\r
+    LUID ModifiedId;\r
+    TOKEN_SOURCE TokenSource;\r
+} TOKEN_CONTROL, *PTOKEN_CONTROL;\r
 \r
 typedef struct _SECURITY_CLIENT_CONTEXT\r
 {\r
@@ -121,11 +159,79 @@ typedef struct _SECURITY_CLIENT_CONTEXT
     TOKEN_CONTROL ClientTokenControl;\r
 } SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;\r
 \r
-typedef enum _RTL_GENERIC_COMPARE_RESULTS\r
+typedef struct _SECURITY_DESCRIPTOR_RELATIVE\r
 {\r
-    GenericLessThan,\r
-    GenericGreaterThan,\r
-    GenericEqual\r
-} RTL_GENERIC_COMPARE_RESULTS;\r
+    UCHAR Revision;\r
+    UCHAR Sbz1;\r
+    SECURITY_DESCRIPTOR_CONTROL Control;\r
+    ULONG Owner;\r
+    ULONG Group;\r
+    ULONG Sacl;\r
+    ULONG Dacl;\r
+} SECURITY_DESCRIPTOR_RELATIVE, *PISECURITY_DESCRIPTOR_RELATIVE;\r
+\r
+typedef struct _TOKEN_GROUPS\r
+{\r
+    ULONG GroupCount;\r
+    SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY];\r
+} TOKEN_GROUPS, *PTOKEN_GROUPS;\r
+\r
+typedef struct _TOKEN_PRIVILEGES\r
+{\r
+    ULONG PrivilegeCount;\r
+    LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY];\r
+} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES;\r
+\r
+typedef struct _TOKEN_USER\r
+{\r
+    SID_AND_ATTRIBUTES User;\r
+} TOKEN_USER, *PTOKEN_USER;\r
+\r
+typedef enum _TOKEN_INFORMATION_CLASS\r
+{\r
+    TokenUser = 1,\r
+    TokenGroups,\r
+    TokenPrivileges,\r
+    TokenOwner,\r
+    TokenPrimaryGroup,\r
+    TokenDefaultDacl,\r
+    TokenSource,\r
+    TokenType,\r
+    TokenImpersonationLevel,\r
+    TokenStatistics,\r
+    TokenRestrictedSids,\r
+    TokenSessionId,\r
+    TokenGroupsAndPrivileges,\r
+    TokenSessionReference,\r
+    TokenSandBoxInert,\r
+    TokenAuditPolicy,\r
+    TokenOrigin,\r
+    TokenElevationType,\r
+    TokenLinkedToken,\r
+    TokenElevation,\r
+    TokenIsRestricted,\r
+    TokenAccessInformation,\r
+    TokenVirtualization,\r
+    TokenIntegrityLevel,\r
+    TokenIntegrityLevelDesktop,\r
+    TokenMandatoryPolicy,\r
+    MaxTokenInfoClass\r
+} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS;\r
+\r
+typedef struct _TOKEN_OWNER\r
+{\r
+    PSID Owner;\r
+} TOKEN_OWNER, *PTOKEN_OWNER;\r
+\r
+typedef struct _TOKEN_PRIMARY_GROUP\r
+{\r
+    PSID PrimaryGroup;\r
+} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;\r
+\r
+typedef struct _TOKEN_DEFAULT_DACL\r
+{\r
+    PACL DefaultDacl;\r
+} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;\r
 \r
+#endif // !NTOS_MODE_USER\r
 #endif // _NTIFS_\r