2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/setypes.h
4 * PURPOSE: Defintions for Security Subsystem Types not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
12 /* DEPENDENCIES **************************************************************/
14 /* EXPORTED DATA *************************************************************/
16 /* CONSTANTS *****************************************************************/
18 #define SE_MIN_WELL_KNOWN_PRIVILEGE (2L)
19 #define SE_CREATE_TOKEN_PRIVILEGE (2L)
20 #define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE (3L)
21 #define SE_LOCK_MEMORY_PRIVILEGE (4L)
22 #define SE_INCREASE_QUOTA_PRIVILEGE (5L)
23 #define SE_UNSOLICITED_INPUT_PRIVILEGE (6L)
24 #define SE_MACHINE_ACCOUNT_PRIVILEGE (6L)
25 #define SE_TCB_PRIVILEGE (7L)
26 #define SE_SECURITY_PRIVILEGE (8L)
27 #define SE_TAKE_OWNERSHIP_PRIVILEGE (9L)
28 #define SE_LOAD_DRIVER_PRIVILEGE (10L)
29 #define SE_SYSTEM_PROFILE_PRIVILEGE (11L)
30 #define SE_SYSTEMTIME_PRIVILEGE (12L)
31 #define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L)
32 #define SE_INC_BASE_PRIORITY_PRIVILEGE (14L)
33 #define SE_CREATE_PAGEFILE_PRIVILEGE (15L)
34 #define SE_CREATE_PERMANENT_PRIVILEGE (16L)
35 #define SE_BACKUP_PRIVILEGE (17L)
36 #define SE_RESTORE_PRIVILEGE (18L)
37 #define SE_SHUTDOWN_PRIVILEGE (19L)
38 #define SE_DEBUG_PRIVILEGE (20L)
39 #define SE_AUDIT_PRIVILEGE (21L)
40 #define SE_SYSTEM_ENVIRONMENT_PRIVILEGE (22L)
41 #define SE_CHANGE_NOTIFY_PRIVILEGE (23L)
42 #define SE_REMOTE_SHUTDOWN_PRIVILEGE (24L)
43 #define SE_MAX_WELL_KNOWN_PRIVILEGE (SE_REMOTE_SHUTDOWN_PRIVILEGE)
46 /* ENUMERATIONS **************************************************************/
48 /* TYPES *********************************************************************/
50 #ifndef NTOS_MODE_USER
51 typedef struct _SEP_AUDIT_POLICY_CATEGORIES
57 UCHAR DetailedTracking
:4;
59 UCHAR AccountManagement
:4;
60 UCHAR DirectoryServiceAccess
:4;
62 } SEP_AUDIT_POLICY_CATEGORIES
, *PSEP_AUDIT_POLICY_CATEGORIES
;
64 typedef struct _SEP_AUDIT_POLICY_OVERLAY
66 ULONGLONG PolicyBits
:36;
68 } SEP_AUDIT_POLICY_OVERLAY
, *PSEP_AUDIT_POLICY_OVERLAY
;
70 typedef struct _SEP_AUDIT_POLICY
74 SEP_AUDIT_POLICY_CATEGORIES PolicyElements
;
75 SEP_AUDIT_POLICY_OVERLAY PolicyOverlay
;
78 } SEP_AUDIT_POLICY
, *PSEP_AUDIT_POLICY
;
82 TOKEN_SOURCE TokenSource
; /* 0x00 */
83 LUID TokenId
; /* 0x10 */
84 LUID AuthenticationId
; /* 0x18 */
85 LUID ParentTokenId
; /* 0x20 */
86 LARGE_INTEGER ExpirationTime
; /* 0x28 */
87 struct _ERESOURCE
*TokenLock
; /* 0x30 */
88 SEP_AUDIT_POLICY AuditPolicy
; /* 0x38 */
89 LUID ModifiedId
; /* 0x40 */
90 ULONG SessionId
; /* 0x48 */
91 ULONG UserAndGroupCount
; /* 0x4C */
92 ULONG RestrictedSidCount
; /* 0x50 */
93 ULONG PrivilegeCount
; /* 0x54 */
94 ULONG VariableLength
; /* 0x58 */
95 ULONG DynamicCharged
; /* 0x5C */
96 ULONG DynamicAvailable
; /* 0x60 */
97 ULONG DefaultOwnerIndex
; /* 0x64 */
98 PSID_AND_ATTRIBUTES UserAndGroups
; /* 0x68 */
99 PSID_AND_ATTRIBUTES RestrictedSids
; /* 0x6C */
100 PSID PrimaryGroup
; /* 0x70 */
101 PLUID_AND_ATTRIBUTES Privileges
; /* 0x74 */
102 PULONG DynamicPart
; /* 0x78 */
103 PACL DefaultDacl
; /* 0x7C */
104 TOKEN_TYPE TokenType
; /* 0x80 */
105 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel
; /* 0x84 */
106 ULONG TokenFlags
; /* 0x88 */
107 BOOLEAN TokenInUse
; /* 0x8C */
108 PVOID ProxyData
; /* 0x90 */
109 PVOID AuditData
; /* 0x94 */
110 LUID OriginatingLogonSession
; /* 0x98 */
111 ULONG VariablePart
; /* 0xA0 */
114 typedef struct _AUX_DATA
116 PPRIVILEGE_SET PrivilegeSet
;
117 GENERIC_MAPPING GenericMapping
;
119 } AUX_DATA
, *PAUX_DATA
;
121 typedef struct _SE_AUDIT_PROCESS_CREATION_INFO
123 POBJECT_NAME_INFORMATION ImageFileName
;
124 } SE_AUDIT_PROCESS_CREATION_INFO
, *PSE_AUDIT_PROCESS_CREATION_INFO
;