-/*\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
+ struct _RTL_SPLAY_LINKS *Parent;\r
+ struct _RTL_SPLAY_LINKS *LeftChild;\r
+ struct _RTL_SPLAY_LINKS *RightChild;\r
+} RTL_SPLAY_LINKS, *PRTL_SPLAY_LINKS;\r
\r
#if defined(USE_LPC6432)\r
#define LPC_CLIENT_ID CLIENT_ID64\r
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
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
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