Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygensetypes.h
Go to the documentation of this file.
00001 /*++ NDK Version: 0098 00002 00003 Copyright (c) Alex Ionescu. All rights reserved. 00004 00005 Header Name: 00006 00007 setypes.h 00008 00009 Abstract: 00010 00011 Type definitions for the security manager. 00012 00013 Author: 00014 00015 Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006 00016 00017 --*/ 00018 00019 #ifndef _SETYPES_H 00020 #define _SETYPES_H 00021 00022 // 00023 // Dependencies 00024 // 00025 #include <umtypes.h> 00026 00027 // 00028 // Well Known SIDs 00029 // 00030 #define SECURITY_INTERNETSITE_AUTHORITY {0,0,0,0,0,7} 00031 00032 #ifdef NTOS_MODE_USER 00033 // 00034 // Privilege constants 00035 // 00036 #define SE_MIN_WELL_KNOWN_PRIVILEGE (2L) 00037 #define SE_CREATE_TOKEN_PRIVILEGE (2L) 00038 #define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE (3L) 00039 #define SE_LOCK_MEMORY_PRIVILEGE (4L) 00040 #define SE_INCREASE_QUOTA_PRIVILEGE (5L) 00041 #define SE_UNSOLICITED_INPUT_PRIVILEGE (6L) 00042 #define SE_MACHINE_ACCOUNT_PRIVILEGE (6L) 00043 #define SE_TCB_PRIVILEGE (7L) 00044 #define SE_SECURITY_PRIVILEGE (8L) 00045 #define SE_TAKE_OWNERSHIP_PRIVILEGE (9L) 00046 #define SE_LOAD_DRIVER_PRIVILEGE (10L) 00047 #define SE_SYSTEM_PROFILE_PRIVILEGE (11L) 00048 #define SE_SYSTEMTIME_PRIVILEGE (12L) 00049 #define SE_PROF_SINGLE_PROCESS_PRIVILEGE (13L) 00050 #define SE_INC_BASE_PRIORITY_PRIVILEGE (14L) 00051 #define SE_CREATE_PAGEFILE_PRIVILEGE (15L) 00052 #define SE_CREATE_PERMANENT_PRIVILEGE (16L) 00053 #define SE_BACKUP_PRIVILEGE (17L) 00054 #define SE_RESTORE_PRIVILEGE (18L) 00055 #define SE_SHUTDOWN_PRIVILEGE (19L) 00056 #define SE_DEBUG_PRIVILEGE (20L) 00057 #define SE_AUDIT_PRIVILEGE (21L) 00058 #define SE_SYSTEM_ENVIRONMENT_PRIVILEGE (22L) 00059 #define SE_CHANGE_NOTIFY_PRIVILEGE (23L) 00060 #define SE_REMOTE_SHUTDOWN_PRIVILEGE (24L) 00061 #define SE_UNDOCK_PRIVILEGE (25L) 00062 #define SE_SYNC_AGENT_PRIVILEGE (26L) 00063 #define SE_ENABLE_DELEGATION_PRIVILEGE (27L) 00064 #define SE_MANAGE_VOLUME_PRIVILEGE (28L) 00065 #define SE_IMPERSONATE_PRIVILEGE (29L) 00066 #define SE_CREATE_GLOBAL_PRIVILEGE (30L) 00067 #define SE_MAX_WELL_KNOWN_PRIVILEGE (SE_CREATE_GLOBAL_PRIVILEGE) 00068 00069 #else 00070 00071 // 00072 // User and Group-related SID Attributes 00073 // 00074 #define SE_GROUP_MANDATORY 0x00000001 00075 #define SE_GROUP_ENABLED_BY_DEFAULT 0x00000002 00076 #define SE_GROUP_ENABLED 0x00000004 00077 #define SE_GROUP_OWNER 0x00000008 00078 #define SE_GROUP_USE_FOR_DENY_ONLY 0x00000010 00079 #define SE_GROUP_INTEGRITY 0x00000020 00080 #define SE_GROUP_INTEGRITY_ENABLED 0x00000040 00081 #define SE_GROUP_RESOURCE 0x20000000 00082 #define SE_GROUP_LOGON_ID 0xC0000000 00083 00084 #define SE_GROUP_VALID_ATTRIBUTES \ 00085 (SE_GROUP_MANDATORY | \ 00086 SE_GROUP_ENABLED_BY_DEFAULT | \ 00087 SE_GROUP_ENABLED | \ 00088 SE_GROUP_OWNER | \ 00089 SE_GROUP_USE_FOR_DENY_ONLY | \ 00090 SE_GROUP_LOGON_ID | \ 00091 SE_GROUP_RESOURCE | \ 00092 SE_GROUP_INTEGRITY | \ 00093 SE_GROUP_INTEGRITY_ENABLED) 00094 00095 // 00096 // Audit and Policy Structures 00097 // 00098 typedef struct _SEP_AUDIT_POLICY_CATEGORIES 00099 { 00100 UCHAR System:4; 00101 UCHAR Logon:4; 00102 UCHAR ObjectAccess:4; 00103 UCHAR PrivilegeUse:4; 00104 UCHAR DetailedTracking:4; 00105 UCHAR PolicyChange:4; 00106 UCHAR AccountManagement:4; 00107 UCHAR DirectoryServiceAccess:4; 00108 UCHAR AccountLogon:4; 00109 } SEP_AUDIT_POLICY_CATEGORIES, *PSEP_AUDIT_POLICY_CATEGORIES; 00110 00111 typedef struct _SEP_AUDIT_POLICY_OVERLAY 00112 { 00113 ULONGLONG PolicyBits:36; 00114 UCHAR SetBit:1; 00115 } SEP_AUDIT_POLICY_OVERLAY, *PSEP_AUDIT_POLICY_OVERLAY; 00116 00117 typedef struct _SEP_AUDIT_POLICY 00118 { 00119 union 00120 { 00121 SEP_AUDIT_POLICY_CATEGORIES PolicyElements; 00122 SEP_AUDIT_POLICY_OVERLAY PolicyOverlay; 00123 ULONGLONG Overlay; 00124 }; 00125 } SEP_AUDIT_POLICY, *PSEP_AUDIT_POLICY; 00126 00127 typedef struct _SE_AUDIT_PROCESS_CREATION_INFO 00128 { 00129 POBJECT_NAME_INFORMATION ImageFileName; 00130 } SE_AUDIT_PROCESS_CREATION_INFO, *PSE_AUDIT_PROCESS_CREATION_INFO; 00131 00132 // 00133 // Token and auxiliary data 00134 // 00135 typedef struct _TOKEN 00136 { 00137 TOKEN_SOURCE TokenSource; /* 0x00 */ 00138 LUID TokenId; /* 0x10 */ 00139 LUID AuthenticationId; /* 0x18 */ 00140 LUID ParentTokenId; /* 0x20 */ 00141 LARGE_INTEGER ExpirationTime; /* 0x28 */ 00142 struct _ERESOURCE *TokenLock; /* 0x30 */ 00143 SEP_AUDIT_POLICY AuditPolicy; /* 0x38 */ 00144 LUID ModifiedId; /* 0x40 */ 00145 ULONG SessionId; /* 0x48 */ 00146 ULONG UserAndGroupCount; /* 0x4C */ 00147 ULONG RestrictedSidCount; /* 0x50 */ 00148 ULONG PrivilegeCount; /* 0x54 */ 00149 ULONG VariableLength; /* 0x58 */ 00150 ULONG DynamicCharged; /* 0x5C */ 00151 ULONG DynamicAvailable; /* 0x60 */ 00152 ULONG DefaultOwnerIndex; /* 0x64 */ 00153 PSID_AND_ATTRIBUTES UserAndGroups; /* 0x68 */ 00154 PSID_AND_ATTRIBUTES RestrictedSids; /* 0x6C */ 00155 PSID PrimaryGroup; /* 0x70 */ 00156 PLUID_AND_ATTRIBUTES Privileges; /* 0x74 */ 00157 PULONG DynamicPart; /* 0x78 */ 00158 PACL DefaultDacl; /* 0x7C */ 00159 TOKEN_TYPE TokenType; /* 0x80 */ 00160 SECURITY_IMPERSONATION_LEVEL ImpersonationLevel; /* 0x84 */ 00161 ULONG TokenFlags; /* 0x88 */ 00162 BOOLEAN TokenInUse; /* 0x8C */ 00163 PVOID ProxyData; /* 0x90 */ 00164 PVOID AuditData; /* 0x94 */ 00165 LUID OriginatingLogonSession; /* 0x98 */ 00166 ULONG VariablePart; /* 0xA0 */ 00167 } TOKEN, *PTOKEN; 00168 00169 typedef struct _AUX_ACCESS_DATA 00170 { 00171 PPRIVILEGE_SET PrivilegeSet; 00172 GENERIC_MAPPING GenericMapping; 00173 ULONG Reserved; 00174 } AUX_ACCESS_DATA, *PAUX_ACCESS_DATA; 00175 00176 // 00177 // External SRM Data 00178 // 00179 extern PACL NTSYSAPI SePublicDefaultDacl; 00180 extern PACL NTSYSAPI SeSystemDefaultDacl; 00181 00182 #endif 00183 #endif Generated on Fri May 25 2012 04:29:39 for ReactOS by
1.7.6.1
|