Forgot to commit this file
[reactos.git] / reactos / include / ndk / ifssupp.h
index 5c5cbdc..0b7a3d7 100644 (file)
@@ -1,23 +1,34 @@
-/*\r
- * PROJECT:         ReactOS Native Headers\r
- * FILE:            include/ndk/ifssupp.h\r
- * PURPOSE:         Defintions present in IFS, required for NDK usage.\r
- * PROGRAMMER:      Alex Ionescu (alex@relsoft.net)\r
- * UPDATE HISTORY:\r
- *                  Created 08/16/05\r
- */\r
-#ifndef _NTIFS_\r
-#define _NTIFS_\r
+/*++ NDK Version: 0095\r
+\r
+Copyright (c) Alex Ionescu.  All rights reserved.\r
+\r
+Header Name:\r
+\r
+    ifssupp.h\r
+\r
+Abstract:\r
 \r
-/* DEPENDENCIES **************************************************************/\r
+    NDK Support for usage without the IFS. Will be deprecated at WDK Release.\r
 \r
-/* EXPORTED DATA *************************************************************/\r
+Author:\r
 \r
-/* CONSTANTS *****************************************************************/\r
+    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004\r
 \r
-/* TYPES *********************************************************************/\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
@@ -91,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
@@ -106,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
@@ -119,12 +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
-#endif\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