Author: akhaldi Date: Sun Jun 7 18:49:31 2015 New Revision: 68063
URL: http://svn.reactos.org/svn/reactos?rev=68063&view=rev Log: [XDK][PSDK][DDK] Share more Se types between winnt and ntifs. Also add missing and improve some existing types and definitions in winnt to match the other.
Modified: trunk/reactos/include/ddk/ntifs.h trunk/reactos/include/psdk/winnt.h trunk/reactos/include/xdk/setypes.h trunk/reactos/include/xdk/winnt_old.h
Modified: trunk/reactos/include/ddk/ntifs.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/ddk/ntifs.h?rev=680... ============================================================================== --- trunk/reactos/include/ddk/ntifs.h [iso-8859-1] (original) +++ trunk/reactos/include/ddk/ntifs.h [iso-8859-1] Sun Jun 7 18:49:31 2015 @@ -483,16 +483,15 @@ ACCESS_REASON Data[32]; } ACCESS_REASONS, *PACCESS_REASONS;
-#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 -#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 -#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 +#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003
typedef struct _SE_SECURITY_DESCRIPTOR { ULONG Size; ULONG Flags; PSECURITY_DESCRIPTOR SecurityDescriptor; } SE_SECURITY_DESCRIPTOR, *PSE_SECURITY_DESCRIPTOR; -
typedef struct _SE_ACCESS_REQUEST { ULONG Size; @@ -505,87 +504,45 @@ POBJECT_TYPE_LIST ObjectTypeList; } SE_ACCESS_REQUEST, *PSE_ACCESS_REQUEST;
-typedef struct _SE_ACCESS_REPLY { - ULONG Size; - ULONG ResultListCount; - PACCESS_MASK GrantedAccess; - PNTSTATUS AccessStatus; - PACCESS_REASONS AccessReason; - PPRIVILEGE_SET* Privileges; -} SE_ACCESS_REPLY, *PSE_ACCESS_REPLY; - -typedef enum _SE_AUDIT_OPERATION { - AuditPrivilegeObject, - AuditPrivilegeService, - AuditAccessCheck, - AuditOpenObject, - AuditOpenObjectWithTransaction, - AuditCloseObject, - AuditDeleteObject, - AuditOpenObjectForDelete, - AuditOpenObjectForDeleteWithTransaction, - AuditCloseNonObject, - AuditOpenNonObject, - AuditObjectReference, - AuditHandleCreation, -} SE_AUDIT_OPERATION, *PSE_AUDIT_OPERATION; - -typedef struct _SE_AUDIT_INFO { - ULONG Size; - AUDIT_EVENT_TYPE AuditType; - SE_AUDIT_OPERATION AuditOperation; - ULONG AuditFlags; - UNICODE_STRING SubsystemName; - UNICODE_STRING ObjectTypeName; - UNICODE_STRING ObjectName; - PVOID HandleId; - GUID* TransactionId; - LUID* OperationId; - BOOLEAN ObjectCreation; - BOOLEAN GenerateOnClose; -} SE_AUDIT_INFO, *PSE_AUDIT_INFO; - -#define TOKEN_ASSIGN_PRIMARY (0x0001) -#define TOKEN_DUPLICATE (0x0002) -#define TOKEN_IMPERSONATE (0x0004) -#define TOKEN_QUERY (0x0008) -#define TOKEN_QUERY_SOURCE (0x0010) -#define TOKEN_ADJUST_PRIVILEGES (0x0020) -#define TOKEN_ADJUST_GROUPS (0x0040) -#define TOKEN_ADJUST_DEFAULT (0x0080) -#define TOKEN_ADJUST_SESSIONID (0x0100) - -#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED |\ - TOKEN_ASSIGN_PRIMARY |\ - TOKEN_DUPLICATE |\ - TOKEN_IMPERSONATE |\ - TOKEN_QUERY |\ - TOKEN_QUERY_SOURCE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT ) +#define TOKEN_ASSIGN_PRIMARY (0x0001) +#define TOKEN_DUPLICATE (0x0002) +#define TOKEN_IMPERSONATE (0x0004) +#define TOKEN_QUERY (0x0008) +#define TOKEN_QUERY_SOURCE (0x0010) +#define TOKEN_ADJUST_PRIVILEGES (0x0020) +#define TOKEN_ADJUST_GROUPS (0x0040) +#define TOKEN_ADJUST_DEFAULT (0x0080) +#define TOKEN_ADJUST_SESSIONID (0x0100) + +#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED |\ + TOKEN_ASSIGN_PRIMARY |\ + TOKEN_DUPLICATE |\ + TOKEN_IMPERSONATE |\ + TOKEN_QUERY |\ + TOKEN_QUERY_SOURCE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT)
#if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) -#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P |\ - TOKEN_ADJUST_SESSIONID ) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID) #else -#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P) #endif
-#define TOKEN_READ (STANDARD_RIGHTS_READ |\ - TOKEN_QUERY) - -#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT) - -#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) +#define TOKEN_READ (STANDARD_RIGHTS_READ | TOKEN_QUERY) + +#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT) + +#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
typedef enum _TOKEN_TYPE { TokenPrimary = 1, TokenImpersonation -} TOKEN_TYPE,*PTOKEN_TYPE; +} TOKEN_TYPE, *PTOKEN_TYPE;
typedef enum _TOKEN_INFORMATION_CLASS { TokenUser = 1, @@ -630,24 +587,24 @@ #else SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; #endif -} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; +} TOKEN_GROUPS, *PTOKEN_GROUPS, *LPTOKEN_GROUPS;
typedef struct _TOKEN_PRIVILEGES { ULONG PrivilegeCount; LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; +} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES, *LPTOKEN_PRIVILEGES;
typedef struct _TOKEN_OWNER { PSID Owner; -} TOKEN_OWNER,*PTOKEN_OWNER; +} TOKEN_OWNER, *PTOKEN_OWNER;
typedef struct _TOKEN_PRIMARY_GROUP { PSID PrimaryGroup; -} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; +} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
typedef struct _TOKEN_DEFAULT_DACL { PACL DefaultDacl; -} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; +} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { ULONG SidCount; @@ -678,25 +635,10 @@ #define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 0x1 #define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 0x2
-#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \ - TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) - -typedef struct _TOKEN_MANDATORY_POLICY { - ULONG Policy; -} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY; - -typedef struct _TOKEN_ACCESS_INFORMATION { - PSID_AND_ATTRIBUTES_HASH SidHash; - PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; - PTOKEN_PRIVILEGES Privileges; - LUID AuthenticationId; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - TOKEN_MANDATORY_POLICY MandatoryPolicy; - ULONG Flags; -} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION; - -#define POLICY_AUDIT_SUBCATEGORY_COUNT (53) +#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \ + TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) + +#define POLICY_AUDIT_SUBCATEGORY_COUNT (56)
typedef struct _TOKEN_AUDIT_POLICY { UCHAR PerUserPolicy[((POLICY_AUDIT_SUBCATEGORY_COUNT) >> 1) + 1]; @@ -707,7 +649,7 @@ typedef struct _TOKEN_SOURCE { CHAR SourceName[TOKEN_SOURCE_LENGTH]; LUID SourceIdentifier; -} TOKEN_SOURCE,*PTOKEN_SOURCE; +} TOKEN_SOURCE, *PTOKEN_SOURCE;
typedef struct _TOKEN_STATISTICS { LUID TokenId; @@ -727,7 +669,7 @@ LUID AuthenticationId; LUID ModifiedId; TOKEN_SOURCE TokenSource; -} TOKEN_CONTROL,*PTOKEN_CONTROL; +} TOKEN_CONTROL, *PTOKEN_CONTROL;
typedef struct _TOKEN_ORIGIN { LUID OriginatingLogonSession; @@ -742,6 +684,62 @@ MandatoryLevelSecureProcess, MandatoryLevelCount } MANDATORY_LEVEL, *PMANDATORY_LEVEL; + + +typedef struct _SE_ACCESS_REPLY { + ULONG Size; + ULONG ResultListCount; + PACCESS_MASK GrantedAccess; + PNTSTATUS AccessStatus; + PACCESS_REASONS AccessReason; + PPRIVILEGE_SET* Privileges; +} SE_ACCESS_REPLY, *PSE_ACCESS_REPLY; + +typedef enum _SE_AUDIT_OPERATION { + AuditPrivilegeObject, + AuditPrivilegeService, + AuditAccessCheck, + AuditOpenObject, + AuditOpenObjectWithTransaction, + AuditCloseObject, + AuditDeleteObject, + AuditOpenObjectForDelete, + AuditOpenObjectForDeleteWithTransaction, + AuditCloseNonObject, + AuditOpenNonObject, + AuditObjectReference, + AuditHandleCreation, +} SE_AUDIT_OPERATION, *PSE_AUDIT_OPERATION; + +typedef struct _SE_AUDIT_INFO { + ULONG Size; + AUDIT_EVENT_TYPE AuditType; + SE_AUDIT_OPERATION AuditOperation; + ULONG AuditFlags; + UNICODE_STRING SubsystemName; + UNICODE_STRING ObjectTypeName; + UNICODE_STRING ObjectName; + PVOID HandleId; + GUID* TransactionId; + LUID* OperationId; + BOOLEAN ObjectCreation; + BOOLEAN GenerateOnClose; +} SE_AUDIT_INFO, *PSE_AUDIT_INFO; + +typedef struct _TOKEN_MANDATORY_POLICY { + ULONG Policy; +} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY; + +typedef struct _TOKEN_ACCESS_INFORMATION { + PSID_AND_ATTRIBUTES_HASH SidHash; + PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; + PTOKEN_PRIVILEGES Privileges; + LUID AuthenticationId; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + TOKEN_MANDATORY_POLICY MandatoryPolicy; + ULONG Flags; +} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
#define TOKEN_HAS_TRAVERSE_PRIVILEGE 0x0001 #define TOKEN_HAS_BACKUP_PRIVILEGE 0x0002
Modified: trunk/reactos/include/psdk/winnt.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/winnt.h?rev=68... ============================================================================== --- trunk/reactos/include/psdk/winnt.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/winnt.h [iso-8859-1] Sun Jun 7 18:49:31 2015 @@ -2832,36 +2832,6 @@ #define SERVICE_ERROR_SEVERE 2 #define SERVICE_ERROR_CRITICAL 3
-/* also in ddk/ntifs.h */ -#define TOKEN_ASSIGN_PRIMARY (0x0001) -#define TOKEN_DUPLICATE (0x0002) -#define TOKEN_IMPERSONATE (0x0004) -#define TOKEN_QUERY (0x0008) -#define TOKEN_QUERY_SOURCE (0x0010) -#define TOKEN_ADJUST_PRIVILEGES (0x0020) -#define TOKEN_ADJUST_GROUPS (0x0040) -#define TOKEN_ADJUST_DEFAULT (0x0080) -#define TOKEN_ADJUST_SESSIONID (0x0100) -#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\ - TOKEN_ASSIGN_PRIMARY |\ - TOKEN_DUPLICATE |\ - TOKEN_IMPERSONATE |\ - TOKEN_QUERY |\ - TOKEN_QUERY_SOURCE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT |\ - TOKEN_ADJUST_SESSIONID) -#define TOKEN_READ (STANDARD_RIGHTS_READ |\ - TOKEN_QUERY) -#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT) - -#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) -#define TOKEN_SOURCE_LENGTH 8 -/* end ddk/ntifs.h */ #define DLL_PROCESS_DETACH 0 #define DLL_PROCESS_ATTACH 1 #define DLL_THREAD_ATTACH 2 @@ -4635,9 +4605,9 @@ ACCESS_REASON Data[32]; } ACCESS_REASONS, *PACCESS_REASONS;
-#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 -#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 -#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 +#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003
typedef struct _SE_SECURITY_DESCRIPTOR { DWORD Size; @@ -4645,187 +4615,56 @@ PSECURITY_DESCRIPTOR SecurityDescriptor; } SE_SECURITY_DESCRIPTOR, *PSE_SECURITY_DESCRIPTOR;
- -typedef struct _ACCESS_ALLOWED_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE; - -typedef struct _ACCESS_DENIED_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE; - -typedef struct _SYSTEM_AUDIT_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE; - -typedef struct _SYSTEM_ALARM_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE; - -typedef struct _ACCESS_ALLOWED_CALLBACK_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE; - -typedef struct _ACCESS_DENIED_CALLBACK_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE; - -typedef struct _SYSTEM_AUDIT_CALLBACK_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE; - -typedef struct _SYSTEM_ALARM_CALLBACK_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD SidStart; -} SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE; - -typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; - -typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE; - -typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; - -typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { - ACE_HEADER Header; - ACCESS_MASK Mask; - DWORD Flags; - GUID ObjectType; - GUID InheritedObjectType; - DWORD SidStart; -} SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; - -typedef struct _TOKEN_SOURCE { - CHAR SourceName[TOKEN_SOURCE_LENGTH]; - LUID SourceIdentifier; -} TOKEN_SOURCE,*PTOKEN_SOURCE; - -typedef struct _TOKEN_CONTROL { - LUID TokenId; - LUID AuthenticationId; - LUID ModifiedId; - TOKEN_SOURCE TokenSource; -} TOKEN_CONTROL,*PTOKEN_CONTROL; - -typedef struct _TOKEN_DEFAULT_DACL { - PACL DefaultDacl; -} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; - -typedef struct _TOKEN_GROUPS { - DWORD GroupCount; - SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; -} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; - -typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { - DWORD SidCount; - DWORD SidLength; - PSID_AND_ATTRIBUTES Sids; - DWORD RestrictedSidCount; - DWORD RestrictedSidLength; - PSID_AND_ATTRIBUTES RestrictedSids; - DWORD PrivilegeCount; - DWORD PrivilegeLength; - PLUID_AND_ATTRIBUTES Privileges; - LUID AuthenticationId; -} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES; - -typedef struct _TOKEN_ORIGIN { - LUID OriginatingLogonSession; -} TOKEN_ORIGIN, *PTOKEN_ORIGIN; - -typedef struct _TOKEN_OWNER { - PSID Owner; -} TOKEN_OWNER,*PTOKEN_OWNER; - -typedef struct _TOKEN_PRIMARY_GROUP { - PSID PrimaryGroup; -} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; - -typedef struct _TOKEN_PRIVILEGES { - DWORD PrivilegeCount; - LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; - -typedef enum tagTOKEN_TYPE { - TokenPrimary = 1, - TokenImpersonation -} TOKEN_TYPE,*PTOKEN_TYPE; - -typedef enum _TOKEN_ELEVATION_TYPE { - TokenElevationTypeDefault = 1, - TokenElevationTypeFull, - TokenElevationTypeLimited, -} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE; - -typedef struct _TOKEN_MANDATORY_LABEL { - SID_AND_ATTRIBUTES Label; -} TOKEN_MANDATORY_LABEL, * PTOKEN_MANDATORY_LABEL; - -#include <pshpack4.h> -typedef struct _TOKEN_STATISTICS { - LUID TokenId; - LUID AuthenticationId; - LARGE_INTEGER ExpirationTime; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - DWORD DynamicCharged; - DWORD DynamicAvailable; - DWORD GroupCount; - DWORD PrivilegeCount; - LUID ModifiedId; -} TOKEN_STATISTICS, *PTOKEN_STATISTICS; -#include <poppack.h> - -typedef struct _TOKEN_USER { - SID_AND_ATTRIBUTES User; -} TOKEN_USER, *PTOKEN_USER; +typedef struct _SE_ACCESS_REQUEST { + DWORD Size; + PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor; + ACCESS_MASK DesiredAccess; + ACCESS_MASK PreviouslyGrantedAccess; + PSID PrincipalSelfSid; + PGENERIC_MAPPING GenericMapping; + DWORD ObjectTypeListCount; + POBJECT_TYPE_LIST ObjectTypeList; +} SE_ACCESS_REQUEST, *PSE_ACCESS_REQUEST; + +#define TOKEN_ASSIGN_PRIMARY (0x0001) +#define TOKEN_DUPLICATE (0x0002) +#define TOKEN_IMPERSONATE (0x0004) +#define TOKEN_QUERY (0x0008) +#define TOKEN_QUERY_SOURCE (0x0010) +#define TOKEN_ADJUST_PRIVILEGES (0x0020) +#define TOKEN_ADJUST_GROUPS (0x0040) +#define TOKEN_ADJUST_DEFAULT (0x0080) +#define TOKEN_ADJUST_SESSIONID (0x0100) + +#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED |\ + TOKEN_ASSIGN_PRIMARY |\ + TOKEN_DUPLICATE |\ + TOKEN_IMPERSONATE |\ + TOKEN_QUERY |\ + TOKEN_QUERY_SOURCE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT) + +#if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID) +#else +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P) +#endif + +#define TOKEN_READ (STANDARD_RIGHTS_READ | TOKEN_QUERY) + +#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT) + +#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) + +typedef enum _TOKEN_TYPE { + TokenPrimary = 1, + TokenImpersonation +} TOKEN_TYPE, *PTOKEN_TYPE;
typedef enum _TOKEN_INFORMATION_CLASS { TokenUser = 1, @@ -4857,7 +4696,219 @@ TokenMandatoryPolicy, TokenLogonSid, MaxTokenInfoClass -} TOKEN_INFORMATION_CLASS; +} TOKEN_INFORMATION_CLASS, *PTOKEN_INFORMATION_CLASS; + +typedef struct _TOKEN_USER { + SID_AND_ATTRIBUTES User; +} TOKEN_USER, *PTOKEN_USER; + +typedef struct _TOKEN_GROUPS { + DWORD GroupCount; +#ifdef MIDL_PASS + [size_is(GroupCount)] SID_AND_ATTRIBUTES Groups[*]; +#else + SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; +#endif +} TOKEN_GROUPS, *PTOKEN_GROUPS, *LPTOKEN_GROUPS; + +typedef struct _TOKEN_PRIVILEGES { + DWORD PrivilegeCount; + LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; +} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES, *LPTOKEN_PRIVILEGES; + +typedef struct _TOKEN_OWNER { + PSID Owner; +} TOKEN_OWNER, *PTOKEN_OWNER; + +typedef struct _TOKEN_PRIMARY_GROUP { + PSID PrimaryGroup; +} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP; + +typedef struct _TOKEN_DEFAULT_DACL { + PACL DefaultDacl; +} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL; + +typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { + DWORD SidCount; + DWORD SidLength; + PSID_AND_ATTRIBUTES Sids; + DWORD RestrictedSidCount; + DWORD RestrictedSidLength; + PSID_AND_ATTRIBUTES RestrictedSids; + DWORD PrivilegeCount; + DWORD PrivilegeLength; + PLUID_AND_ATTRIBUTES Privileges; + LUID AuthenticationId; +} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES; + +typedef struct _TOKEN_LINKED_TOKEN { + HANDLE LinkedToken; +} TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN; + +typedef struct _TOKEN_ELEVATION { + DWORD TokenIsElevated; +} TOKEN_ELEVATION, *PTOKEN_ELEVATION; + +typedef struct _TOKEN_MANDATORY_LABEL { + SID_AND_ATTRIBUTES Label; +} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL; + +#define TOKEN_MANDATORY_POLICY_OFF 0x0 +#define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 0x1 +#define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 0x2 + +#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \ + TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) + +#define POLICY_AUDIT_SUBCATEGORY_COUNT (56) + +typedef struct _TOKEN_AUDIT_POLICY { + BYTE PerUserPolicy[((POLICY_AUDIT_SUBCATEGORY_COUNT) >> 1) + 1]; +} TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY; + +#define TOKEN_SOURCE_LENGTH 8 + +typedef struct _TOKEN_SOURCE { + CHAR SourceName[TOKEN_SOURCE_LENGTH]; + LUID SourceIdentifier; +} TOKEN_SOURCE, *PTOKEN_SOURCE; + +typedef struct _TOKEN_STATISTICS { + LUID TokenId; + LUID AuthenticationId; + LARGE_INTEGER ExpirationTime; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + DWORD DynamicCharged; + DWORD DynamicAvailable; + DWORD GroupCount; + DWORD PrivilegeCount; + LUID ModifiedId; +} TOKEN_STATISTICS, *PTOKEN_STATISTICS; + +typedef struct _TOKEN_CONTROL { + LUID TokenId; + LUID AuthenticationId; + LUID ModifiedId; + TOKEN_SOURCE TokenSource; +} TOKEN_CONTROL, *PTOKEN_CONTROL; + +typedef struct _TOKEN_ORIGIN { + LUID OriginatingLogonSession; +} TOKEN_ORIGIN, *PTOKEN_ORIGIN; + +typedef enum _MANDATORY_LEVEL { + MandatoryLevelUntrusted = 0, + MandatoryLevelLow, + MandatoryLevelMedium, + MandatoryLevelHigh, + MandatoryLevelSystem, + MandatoryLevelSecureProcess, + MandatoryLevelCount +} MANDATORY_LEVEL, *PMANDATORY_LEVEL; + + +typedef struct _ACCESS_ALLOWED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_ALLOWED_OBJECT_ACE,*PACCESS_ALLOWED_OBJECT_ACE; + +typedef struct _ACCESS_DENIED_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_DENIED_OBJECT_ACE,*PACCESS_DENIED_OBJECT_ACE; + +typedef struct _SYSTEM_AUDIT_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} SYSTEM_AUDIT_OBJECT_ACE,*PSYSTEM_AUDIT_OBJECT_ACE; + +typedef struct _SYSTEM_ALARM_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} SYSTEM_ALARM_OBJECT_ACE,*PSYSTEM_ALARM_OBJECT_ACE; + +typedef struct _ACCESS_ALLOWED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_ALLOWED_CALLBACK_ACE, *PACCESS_ALLOWED_CALLBACK_ACE; + +typedef struct _ACCESS_DENIED_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} ACCESS_DENIED_CALLBACK_ACE, *PACCESS_DENIED_CALLBACK_ACE; + +typedef struct _SYSTEM_AUDIT_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} SYSTEM_AUDIT_CALLBACK_ACE, *PSYSTEM_AUDIT_CALLBACK_ACE; + +typedef struct _SYSTEM_ALARM_CALLBACK_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD SidStart; +} SYSTEM_ALARM_CALLBACK_ACE, *PSYSTEM_ALARM_CALLBACK_ACE; + +typedef struct _ACCESS_ALLOWED_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, *PACCESS_ALLOWED_CALLBACK_OBJECT_ACE; + +typedef struct _ACCESS_DENIED_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} ACCESS_DENIED_CALLBACK_OBJECT_ACE, *PACCESS_DENIED_CALLBACK_OBJECT_ACE; + +typedef struct _SYSTEM_AUDIT_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, *PSYSTEM_AUDIT_CALLBACK_OBJECT_ACE; + +typedef struct _SYSTEM_ALARM_CALLBACK_OBJECT_ACE { + ACE_HEADER Header; + ACCESS_MASK Mask; + DWORD Flags; + GUID ObjectType; + GUID InheritedObjectType; + DWORD SidStart; +} SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE; + +typedef enum _TOKEN_ELEVATION_TYPE { + TokenElevationTypeDefault = 1, + TokenElevationTypeFull, + TokenElevationTypeLimited, +} TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE;
typedef struct _QUOTA_LIMITS { SIZE_T PagedPoolLimit;
Modified: trunk/reactos/include/xdk/setypes.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/xdk/setypes.h?rev=6... ============================================================================== --- trunk/reactos/include/xdk/setypes.h [iso-8859-1] (original) +++ trunk/reactos/include/xdk/setypes.h [iso-8859-1] Sun Jun 7 18:49:31 2015 @@ -822,9 +822,9 @@ ACCESS_REASON Data[32]; } ACCESS_REASONS, *PACCESS_REASONS;
-#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 -#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 -#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_OWNER_ACE 0x00000001 +#define SE_SECURITY_DESCRIPTOR_FLAG_NO_LABEL_ACE 0x00000002 +#define SE_SECURITY_DESCRIPTOR_VALID_FLAGS 0x00000003
typedef struct _SE_SECURITY_DESCRIPTOR { $ULONG Size; @@ -832,101 +832,56 @@ PSECURITY_DESCRIPTOR SecurityDescriptor; } SE_SECURITY_DESCRIPTOR, *PSE_SECURITY_DESCRIPTOR;
-$endif(_NTIFS_ || _WINNT_) -$if(_NTIFS_) - typedef struct _SE_ACCESS_REQUEST { - ULONG Size; + $ULONG Size; PSE_SECURITY_DESCRIPTOR SeSecurityDescriptor; ACCESS_MASK DesiredAccess; ACCESS_MASK PreviouslyGrantedAccess; PSID PrincipalSelfSid; PGENERIC_MAPPING GenericMapping; - ULONG ObjectTypeListCount; + $ULONG ObjectTypeListCount; POBJECT_TYPE_LIST ObjectTypeList; } SE_ACCESS_REQUEST, *PSE_ACCESS_REQUEST;
-typedef struct _SE_ACCESS_REPLY { - ULONG Size; - ULONG ResultListCount; - PACCESS_MASK GrantedAccess; - PNTSTATUS AccessStatus; - PACCESS_REASONS AccessReason; - PPRIVILEGE_SET* Privileges; -} SE_ACCESS_REPLY, *PSE_ACCESS_REPLY; - -typedef enum _SE_AUDIT_OPERATION { - AuditPrivilegeObject, - AuditPrivilegeService, - AuditAccessCheck, - AuditOpenObject, - AuditOpenObjectWithTransaction, - AuditCloseObject, - AuditDeleteObject, - AuditOpenObjectForDelete, - AuditOpenObjectForDeleteWithTransaction, - AuditCloseNonObject, - AuditOpenNonObject, - AuditObjectReference, - AuditHandleCreation, -} SE_AUDIT_OPERATION, *PSE_AUDIT_OPERATION; - -typedef struct _SE_AUDIT_INFO { - ULONG Size; - AUDIT_EVENT_TYPE AuditType; - SE_AUDIT_OPERATION AuditOperation; - ULONG AuditFlags; - UNICODE_STRING SubsystemName; - UNICODE_STRING ObjectTypeName; - UNICODE_STRING ObjectName; - PVOID HandleId; - GUID* TransactionId; - LUID* OperationId; - BOOLEAN ObjectCreation; - BOOLEAN GenerateOnClose; -} SE_AUDIT_INFO, *PSE_AUDIT_INFO; - -#define TOKEN_ASSIGN_PRIMARY (0x0001) -#define TOKEN_DUPLICATE (0x0002) -#define TOKEN_IMPERSONATE (0x0004) -#define TOKEN_QUERY (0x0008) -#define TOKEN_QUERY_SOURCE (0x0010) -#define TOKEN_ADJUST_PRIVILEGES (0x0020) -#define TOKEN_ADJUST_GROUPS (0x0040) -#define TOKEN_ADJUST_DEFAULT (0x0080) -#define TOKEN_ADJUST_SESSIONID (0x0100) - -#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED |\ - TOKEN_ASSIGN_PRIMARY |\ - TOKEN_DUPLICATE |\ - TOKEN_IMPERSONATE |\ - TOKEN_QUERY |\ - TOKEN_QUERY_SOURCE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT ) +#define TOKEN_ASSIGN_PRIMARY (0x0001) +#define TOKEN_DUPLICATE (0x0002) +#define TOKEN_IMPERSONATE (0x0004) +#define TOKEN_QUERY (0x0008) +#define TOKEN_QUERY_SOURCE (0x0010) +#define TOKEN_ADJUST_PRIVILEGES (0x0020) +#define TOKEN_ADJUST_GROUPS (0x0040) +#define TOKEN_ADJUST_DEFAULT (0x0080) +#define TOKEN_ADJUST_SESSIONID (0x0100) + +#define TOKEN_ALL_ACCESS_P (STANDARD_RIGHTS_REQUIRED |\ + TOKEN_ASSIGN_PRIMARY |\ + TOKEN_DUPLICATE |\ + TOKEN_IMPERSONATE |\ + TOKEN_QUERY |\ + TOKEN_QUERY_SOURCE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT)
#if ((defined(_WIN32_WINNT) && (_WIN32_WINNT > 0x0400)) || (!defined(_WIN32_WINNT))) -#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P |\ - TOKEN_ADJUST_SESSIONID ) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P | TOKEN_ADJUST_SESSIONID) #else -#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P) +#define TOKEN_ALL_ACCESS (TOKEN_ALL_ACCESS_P) #endif
-#define TOKEN_READ (STANDARD_RIGHTS_READ |\ - TOKEN_QUERY) - -#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT) - -#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) +#define TOKEN_READ (STANDARD_RIGHTS_READ | TOKEN_QUERY) + +#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ + TOKEN_ADJUST_PRIVILEGES |\ + TOKEN_ADJUST_GROUPS |\ + TOKEN_ADJUST_DEFAULT) + +#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE)
typedef enum _TOKEN_TYPE { TokenPrimary = 1, TokenImpersonation -} TOKEN_TYPE,*PTOKEN_TYPE; +} TOKEN_TYPE, *PTOKEN_TYPE;
typedef enum _TOKEN_INFORMATION_CLASS { TokenUser = 1, @@ -965,40 +920,40 @@ } TOKEN_USER, *PTOKEN_USER;
typedef struct _TOKEN_GROUPS { - ULONG GroupCount; + $ULONG GroupCount; #ifdef MIDL_PASS [size_is(GroupCount)] SID_AND_ATTRIBUTES Groups[*]; #else SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; #endif -} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; +} TOKEN_GROUPS, *PTOKEN_GROUPS, *LPTOKEN_GROUPS;
typedef struct _TOKEN_PRIVILEGES { - ULONG PrivilegeCount; + $ULONG PrivilegeCount; LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; +} TOKEN_PRIVILEGES, *PTOKEN_PRIVILEGES, *LPTOKEN_PRIVILEGES;
typedef struct _TOKEN_OWNER { PSID Owner; -} TOKEN_OWNER,*PTOKEN_OWNER; +} TOKEN_OWNER, *PTOKEN_OWNER;
typedef struct _TOKEN_PRIMARY_GROUP { PSID PrimaryGroup; -} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; +} TOKEN_PRIMARY_GROUP, *PTOKEN_PRIMARY_GROUP;
typedef struct _TOKEN_DEFAULT_DACL { PACL DefaultDacl; -} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; +} TOKEN_DEFAULT_DACL, *PTOKEN_DEFAULT_DACL;
typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { - ULONG SidCount; - ULONG SidLength; + $ULONG SidCount; + $ULONG SidLength; PSID_AND_ATTRIBUTES Sids; - ULONG RestrictedSidCount; - ULONG RestrictedSidLength; + $ULONG RestrictedSidCount; + $ULONG RestrictedSidLength; PSID_AND_ATTRIBUTES RestrictedSids; - ULONG PrivilegeCount; - ULONG PrivilegeLength; + $ULONG PrivilegeCount; + $ULONG PrivilegeLength; PLUID_AND_ATTRIBUTES Privileges; LUID AuthenticationId; } TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES; @@ -1008,7 +963,7 @@ } TOKEN_LINKED_TOKEN, *PTOKEN_LINKED_TOKEN;
typedef struct _TOKEN_ELEVATION { - ULONG TokenIsElevated; + $ULONG TokenIsElevated; } TOKEN_ELEVATION, *PTOKEN_ELEVATION;
typedef struct _TOKEN_MANDATORY_LABEL { @@ -1019,28 +974,13 @@ #define TOKEN_MANDATORY_POLICY_NO_WRITE_UP 0x1 #define TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN 0x2
-#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \ - TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) - -typedef struct _TOKEN_MANDATORY_POLICY { - ULONG Policy; -} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY; - -typedef struct _TOKEN_ACCESS_INFORMATION { - PSID_AND_ATTRIBUTES_HASH SidHash; - PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; - PTOKEN_PRIVILEGES Privileges; - LUID AuthenticationId; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - TOKEN_MANDATORY_POLICY MandatoryPolicy; - ULONG Flags; -} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION; - -#define POLICY_AUDIT_SUBCATEGORY_COUNT (53) +#define TOKEN_MANDATORY_POLICY_VALID_MASK (TOKEN_MANDATORY_POLICY_NO_WRITE_UP | \ + TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN) + +#define POLICY_AUDIT_SUBCATEGORY_COUNT (56)
typedef struct _TOKEN_AUDIT_POLICY { - UCHAR PerUserPolicy[((POLICY_AUDIT_SUBCATEGORY_COUNT) >> 1) + 1]; + $UCHAR PerUserPolicy[((POLICY_AUDIT_SUBCATEGORY_COUNT) >> 1) + 1]; } TOKEN_AUDIT_POLICY, *PTOKEN_AUDIT_POLICY;
#define TOKEN_SOURCE_LENGTH 8 @@ -1048,7 +988,7 @@ typedef struct _TOKEN_SOURCE { CHAR SourceName[TOKEN_SOURCE_LENGTH]; LUID SourceIdentifier; -} TOKEN_SOURCE,*PTOKEN_SOURCE; +} TOKEN_SOURCE, *PTOKEN_SOURCE;
typedef struct _TOKEN_STATISTICS { LUID TokenId; @@ -1056,10 +996,10 @@ LARGE_INTEGER ExpirationTime; TOKEN_TYPE TokenType; SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - ULONG DynamicCharged; - ULONG DynamicAvailable; - ULONG GroupCount; - ULONG PrivilegeCount; + $ULONG DynamicCharged; + $ULONG DynamicAvailable; + $ULONG GroupCount; + $ULONG PrivilegeCount; LUID ModifiedId; } TOKEN_STATISTICS, *PTOKEN_STATISTICS;
@@ -1068,7 +1008,7 @@ LUID AuthenticationId; LUID ModifiedId; TOKEN_SOURCE TokenSource; -} TOKEN_CONTROL,*PTOKEN_CONTROL; +} TOKEN_CONTROL, *PTOKEN_CONTROL;
typedef struct _TOKEN_ORIGIN { LUID OriginatingLogonSession; @@ -1083,6 +1023,64 @@ MandatoryLevelSecureProcess, MandatoryLevelCount } MANDATORY_LEVEL, *PMANDATORY_LEVEL; + +$endif(_NTIFS_ || _WINNT_) +$if(_NTIFS_) + +typedef struct _SE_ACCESS_REPLY { + $ULONG Size; + $ULONG ResultListCount; + PACCESS_MASK GrantedAccess; + PNTSTATUS AccessStatus; + PACCESS_REASONS AccessReason; + PPRIVILEGE_SET* Privileges; +} SE_ACCESS_REPLY, *PSE_ACCESS_REPLY; + +typedef enum _SE_AUDIT_OPERATION { + AuditPrivilegeObject, + AuditPrivilegeService, + AuditAccessCheck, + AuditOpenObject, + AuditOpenObjectWithTransaction, + AuditCloseObject, + AuditDeleteObject, + AuditOpenObjectForDelete, + AuditOpenObjectForDeleteWithTransaction, + AuditCloseNonObject, + AuditOpenNonObject, + AuditObjectReference, + AuditHandleCreation, +} SE_AUDIT_OPERATION, *PSE_AUDIT_OPERATION; + +typedef struct _SE_AUDIT_INFO { + ULONG Size; + AUDIT_EVENT_TYPE AuditType; + SE_AUDIT_OPERATION AuditOperation; + ULONG AuditFlags; + UNICODE_STRING SubsystemName; + UNICODE_STRING ObjectTypeName; + UNICODE_STRING ObjectName; + PVOID HandleId; + GUID* TransactionId; + LUID* OperationId; + BOOLEAN ObjectCreation; + BOOLEAN GenerateOnClose; +} SE_AUDIT_INFO, *PSE_AUDIT_INFO; + +typedef struct _TOKEN_MANDATORY_POLICY { + $ULONG Policy; +} TOKEN_MANDATORY_POLICY, *PTOKEN_MANDATORY_POLICY; + +typedef struct _TOKEN_ACCESS_INFORMATION { + PSID_AND_ATTRIBUTES_HASH SidHash; + PSID_AND_ATTRIBUTES_HASH RestrictedSidHash; + PTOKEN_PRIVILEGES Privileges; + LUID AuthenticationId; + TOKEN_TYPE TokenType; + SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; + TOKEN_MANDATORY_POLICY MandatoryPolicy; + $ULONG Flags; +} TOKEN_ACCESS_INFORMATION, *PTOKEN_ACCESS_INFORMATION;
#define TOKEN_HAS_TRAVERSE_PRIVILEGE 0x0001 #define TOKEN_HAS_BACKUP_PRIVILEGE 0x0002
Modified: trunk/reactos/include/xdk/winnt_old.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/xdk/winnt_old.h?rev... ============================================================================== --- trunk/reactos/include/xdk/winnt_old.h [iso-8859-1] (original) +++ trunk/reactos/include/xdk/winnt_old.h [iso-8859-1] Sun Jun 7 18:49:31 2015 @@ -937,36 +937,6 @@ #define SERVICE_ERROR_SEVERE 2 #define SERVICE_ERROR_CRITICAL 3
-/* also in ddk/ntifs.h */ -#define TOKEN_ASSIGN_PRIMARY (0x0001) -#define TOKEN_DUPLICATE (0x0002) -#define TOKEN_IMPERSONATE (0x0004) -#define TOKEN_QUERY (0x0008) -#define TOKEN_QUERY_SOURCE (0x0010) -#define TOKEN_ADJUST_PRIVILEGES (0x0020) -#define TOKEN_ADJUST_GROUPS (0x0040) -#define TOKEN_ADJUST_DEFAULT (0x0080) -#define TOKEN_ADJUST_SESSIONID (0x0100) -#define TOKEN_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED |\ - TOKEN_ASSIGN_PRIMARY |\ - TOKEN_DUPLICATE |\ - TOKEN_IMPERSONATE |\ - TOKEN_QUERY |\ - TOKEN_QUERY_SOURCE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT |\ - TOKEN_ADJUST_SESSIONID) -#define TOKEN_READ (STANDARD_RIGHTS_READ |\ - TOKEN_QUERY) -#define TOKEN_WRITE (STANDARD_RIGHTS_WRITE |\ - TOKEN_ADJUST_PRIVILEGES |\ - TOKEN_ADJUST_GROUPS |\ - TOKEN_ADJUST_DEFAULT) - -#define TOKEN_EXECUTE (STANDARD_RIGHTS_EXECUTE) -#define TOKEN_SOURCE_LENGTH 8 -/* end ddk/ntifs.h */ #define DLL_PROCESS_DETACH 0 #define DLL_PROCESS_ATTACH 1 #define DLL_THREAD_ATTACH 2 @@ -2200,122 +2170,11 @@ DWORD SidStart; } SYSTEM_ALARM_CALLBACK_OBJECT_ACE, *PSYSTEM_ALARM_CALLBACK_OBJECT_ACE;
-typedef struct _TOKEN_SOURCE { - CHAR SourceName[TOKEN_SOURCE_LENGTH]; - LUID SourceIdentifier; -} TOKEN_SOURCE,*PTOKEN_SOURCE; - -typedef struct _TOKEN_CONTROL { - LUID TokenId; - LUID AuthenticationId; - LUID ModifiedId; - TOKEN_SOURCE TokenSource; -} TOKEN_CONTROL,*PTOKEN_CONTROL; - -typedef struct _TOKEN_DEFAULT_DACL { - PACL DefaultDacl; -} TOKEN_DEFAULT_DACL,*PTOKEN_DEFAULT_DACL; - -typedef struct _TOKEN_GROUPS { - DWORD GroupCount; - SID_AND_ATTRIBUTES Groups[ANYSIZE_ARRAY]; -} TOKEN_GROUPS,*PTOKEN_GROUPS,*LPTOKEN_GROUPS; - -typedef struct _TOKEN_GROUPS_AND_PRIVILEGES { - DWORD SidCount; - DWORD SidLength; - PSID_AND_ATTRIBUTES Sids; - DWORD RestrictedSidCount; - DWORD RestrictedSidLength; - PSID_AND_ATTRIBUTES RestrictedSids; - DWORD PrivilegeCount; - DWORD PrivilegeLength; - PLUID_AND_ATTRIBUTES Privileges; - LUID AuthenticationId; -} TOKEN_GROUPS_AND_PRIVILEGES, *PTOKEN_GROUPS_AND_PRIVILEGES; - -typedef struct _TOKEN_ORIGIN { - LUID OriginatingLogonSession; -} TOKEN_ORIGIN, *PTOKEN_ORIGIN; - -typedef struct _TOKEN_OWNER { - PSID Owner; -} TOKEN_OWNER,*PTOKEN_OWNER; - -typedef struct _TOKEN_PRIMARY_GROUP { - PSID PrimaryGroup; -} TOKEN_PRIMARY_GROUP,*PTOKEN_PRIMARY_GROUP; - -typedef struct _TOKEN_PRIVILEGES { - DWORD PrivilegeCount; - LUID_AND_ATTRIBUTES Privileges[ANYSIZE_ARRAY]; -} TOKEN_PRIVILEGES,*PTOKEN_PRIVILEGES,*LPTOKEN_PRIVILEGES; - -typedef enum tagTOKEN_TYPE { - TokenPrimary = 1, - TokenImpersonation -} TOKEN_TYPE,*PTOKEN_TYPE; - typedef enum _TOKEN_ELEVATION_TYPE { TokenElevationTypeDefault = 1, TokenElevationTypeFull, TokenElevationTypeLimited, } TOKEN_ELEVATION_TYPE, *PTOKEN_ELEVATION_TYPE; - -typedef struct _TOKEN_MANDATORY_LABEL { - SID_AND_ATTRIBUTES Label; -} TOKEN_MANDATORY_LABEL, * PTOKEN_MANDATORY_LABEL; - -#include <pshpack4.h> -typedef struct _TOKEN_STATISTICS { - LUID TokenId; - LUID AuthenticationId; - LARGE_INTEGER ExpirationTime; - TOKEN_TYPE TokenType; - SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; - DWORD DynamicCharged; - DWORD DynamicAvailable; - DWORD GroupCount; - DWORD PrivilegeCount; - LUID ModifiedId; -} TOKEN_STATISTICS, *PTOKEN_STATISTICS; -#include <poppack.h> - -typedef struct _TOKEN_USER { - SID_AND_ATTRIBUTES User; -} TOKEN_USER, *PTOKEN_USER; - -typedef enum _TOKEN_INFORMATION_CLASS { - TokenUser = 1, - TokenGroups, - TokenPrivileges, - TokenOwner, - TokenPrimaryGroup, - TokenDefaultDacl, - TokenSource, - TokenType, - TokenImpersonationLevel, - TokenStatistics, - TokenRestrictedSids, - TokenSessionId, - TokenGroupsAndPrivileges, - TokenSessionReference, - TokenSandBoxInert, - TokenAuditPolicy, - TokenOrigin, - TokenElevationType, - TokenLinkedToken, - TokenElevation, - TokenHasRestrictions, - TokenAccessInformation, - TokenVirtualizationAllowed, - TokenVirtualizationEnabled, - TokenIntegrityLevel, - TokenUIAccess, - TokenMandatoryPolicy, - TokenLogonSid, - MaxTokenInfoClass -} TOKEN_INFORMATION_CLASS;
typedef struct _QUOTA_LIMITS { SIZE_T PagedPoolLimit;