ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

setypes.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 doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.