update for HEAD-2003021201
[reactos.git] / include / ntos / security.h
index c88df82..6fc42b5 100644 (file)
@@ -4,6 +4,73 @@
 #include <ntos/ntdef.h>
 #include <ntos/types.h>
 
+/* Privileges */
+#define SE_MIN_WELL_KNOWN_PRIVILEGE            (2L)
+#define SE_CREATE_TOKEN_PRIVILEGE              (2L)
+#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE                (3L)
+#define SE_LOCK_MEMORY_PRIVILEGE               (4L)
+#define SE_INCREASE_QUOTA_PRIVILEGE            (5L)
+#define SE_UNSOLICITED_INPUT_PRIVILEGE         (6L)  /* unused */
+#define SE_MACHINE_ACCOUNT_PRIVILEGE           (6L)
+#define SE_TCB_PRIVILEGE                       (7L)
+#define SE_SECURITY_PRIVILEGE                  (8L)
+#define SE_TAKE_OWNERSHIP_PRIVILEGE            (9L)
+#define SE_LOAD_DRIVER_PRIVILEGE               (10L)
+#define SE_SYSTEM_PROFILE_PRIVILEGE            (11L)
+#define SE_SYSTEMTIME_PRIVILEGE                        (12L)
+#define SE_PROF_SINGLE_PROCESS_PRIVILEGE       (13L)
+#define SE_INC_BASE_PRIORITY_PRIVILEGE         (14L)
+#define SE_CREATE_PAGEFILE_PRIVILEGE           (15L)
+#define SE_CREATE_PERMANENT_PRIVILEGE          (16L)
+#define SE_BACKUP_PRIVILEGE                    (17L)
+#define SE_RESTORE_PRIVILEGE                   (18L)
+#define SE_SHUTDOWN_PRIVILEGE                  (19L)
+#define SE_DEBUG_PRIVILEGE                     (20L)
+#define SE_AUDIT_PRIVILEGE                     (21L)
+#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE                (22L)
+#define SE_CHANGE_NOTIFY_PRIVILEGE             (23L)
+#define SE_REMOTE_SHUTDOWN_PRIVILEGE           (24L)
+#define SE_MAX_WELL_KNOWN_PRIVILEGE            SE_REMOTE_SHUTDOWN_PRIVILEGE
+
+#if 0
+/* Security descriptor control. */
+#define SECURITY_DESCRIPTOR_REVISION   (1)
+#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
+#define SE_OWNER_DEFAULTED     (1)
+#define SE_GROUP_DEFAULTED     (2)
+#define SE_DACL_PRESENT        (4)
+#define SE_DACL_DEFAULTED      (8)
+#define SE_SACL_PRESENT        (16)
+#define SE_SACL_DEFAULTED      (32)
+#define SE_SELF_RELATIVE       (32768)
+#endif
+
+typedef ULONG ACCESS_MODE, *PACCESS_MODE;
+
+#if 0
+typedef struct _ACE_HEADER
+{
+  CHAR AceType;
+  CHAR AceFlags;
+  USHORT AceSize;
+  ACCESS_MASK AccessMask;
+} ACE_HEADER, *PACE_HEADER;
+
+typedef struct
+{
+  ACE_HEADER Header;
+} ACE, *PACE;
+#endif
+
+#ifdef __GNU__
+typedef struct _SECURITY_DESCRIPTOR_CONTEXT
+{
+} SECURITY_DESCRIPTOR_CONTEXT, *PSECURITY_DESCRIPTOR_CONTEXT;
+#endif
+
+
+#ifndef __USE_W32API
+
 /* SID Auhority */
 #define SECURITY_NULL_SID_AUTHORITY            {0,0,0,0,0,0}
 #define SECURITY_WORLD_SID_AUTHORITY           {0,0,0,0,0,1}
 #define DOMAIN_ALIAS_RID_BACKUP_OPS            (0x227L)
 #define DOMAIN_ALIAS_RID_REPLICATOR            (0x228L)
 
-/* Privileges */
-#define SE_MIN_WELL_KNOWN_PRIVILEGE            (2L)
-#define SE_CREATE_TOKEN_PRIVILEGE              (2L)
-#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE                (3L)
-#define SE_LOCK_MEMORY_PRIVILEGE               (4L)
-#define SE_INCREASE_QUOTA_PRIVILEGE            (5L)
-#define SE_UNSOLICITED_INPUT_PRIVILEGE         (6L)  /* unused */
-#define SE_MACHINE_ACCOUNT_PRIVILEGE           (6L)
-#define SE_TCB_PRIVILEGE                       (7L)
-#define SE_SECURITY_PRIVILEGE                  (8L)
-#define SE_TAKE_OWNERSHIP_PRIVILEGE            (9L)
-#define SE_LOAD_DRIVER_PRIVILEGE               (10L)
-#define SE_SYSTEM_PROFILE_PRIVILEGE            (11L)
-#define SE_SYSTEMTIME_PRIVILEGE                        (12L)
-#define SE_PROF_SINGLE_PROCESS_PRIVILEGE       (13L)
-#define SE_INC_BASE_PRIORITY_PRIVILEGE         (14L)
-#define SE_CREATE_PAGEFILE_PRIVILEGE           (15L)
-#define SE_CREATE_PERMANENT_PRIVILEGE          (16L)
-#define SE_BACKUP_PRIVILEGE                    (17L)
-#define SE_RESTORE_PRIVILEGE                   (18L)
-#define SE_SHUTDOWN_PRIVILEGE                  (19L)
-#define SE_DEBUG_PRIVILEGE                     (20L)
-#define SE_AUDIT_PRIVILEGE                     (21L)
-#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE                (22L)
-#define SE_CHANGE_NOTIFY_PRIVILEGE             (23L)
-#define SE_REMOTE_SHUTDOWN_PRIVILEGE           (24L)
-#define SE_MAX_WELL_KNOWN_PRIVILEGE            SE_REMOTE_SHUTDOWN_PRIVILEGE
-
-#if 0
-/* Security descriptor control. */
-#define SECURITY_DESCRIPTOR_REVISION   (1)
-#define SECURITY_DESCRIPTOR_MIN_LENGTH (20)
-#define SE_OWNER_DEFAULTED     (1)
-#define SE_GROUP_DEFAULTED     (2)
-#define SE_DACL_PRESENT        (4)
-#define SE_DACL_DEFAULTED      (8)
-#define SE_SACL_PRESENT        (16)
-#define SE_SACL_DEFAULTED      (32)
-#define SE_SELF_RELATIVE       (32768)
-#endif
-
 /* ACCESS_MASK */
 #define MAXIMUM_ALLOWED                        (0x2000000L)
 #define GENERIC_ALL                    (0x10000000L)
@@ -148,19 +174,12 @@ typedef ULONG SECURITY_IMPERSONATION_LEVEL, *PSECURITY_IMPERSONATION_LEVEL;
 #define SecurityImpersonation ((SECURITY_IMPERSONATION_LEVEL)3)
 #define SecurityDelegation ((SECURITY_IMPERSONATION_LEVEL)4)
 
+typedef ULONG ACCESS_MASK, *PACCESS_MASK;
 typedef ULONG TOKEN_TYPE, *PTOKEN_TYPE;
 
 #define TokenPrimary           ((TOKEN_TYPE)1)
 #define TokenImpersonation     ((TOKEN_TYPE)2)
 
-//typedef BOOLEAN SECURITY_CONTEXT_TRACKING_MODE, *PSECURITY_CONTEXT_TRACKING_MODE;
-
-//#define SECURITY_DYNAMIC_TRACKING  (TRUE)
-//#define SECURITY_STATIC_TRACKING   (FALSE)
-
-typedef ULONG ACCESS_MASK, *PACCESS_MASK;
-typedef ULONG ACCESS_MODE, *PACCESS_MODE;
-
 typedef struct _SECURITY_QUALITY_OF_SERVICE
 {
   ULONG Length;
@@ -178,12 +197,6 @@ typedef struct _ACE_HEADER
   WORD AceSize;
 } ACE_HEADER, *PACE_HEADER;
 
-typedef struct
-{
-  ACE_HEADER Header;
-  ACCESS_MASK AccessMask;
-} ACE, *PACE;
-
 typedef struct _SID_IDENTIFIER_AUTHORITY
 {
   BYTE Value[6];
@@ -226,10 +239,6 @@ typedef enum _ACL_INFORMATION_CLASS
 
 typedef USHORT SECURITY_DESCRIPTOR_CONTROL, *PSECURITY_DESCRIPTOR_CONTROL;
 
-typedef struct _SECURITY_DESCRIPTOR_CONTEXT
-{
-} SECURITY_DESCRIPTOR_CONTEXT, *PSECURITY_DESCRIPTOR_CONTEXT;
-
 typedef LARGE_INTEGER LUID, *PLUID;
 
 typedef struct _SECURITY_DESCRIPTOR
@@ -340,5 +349,12 @@ typedef struct _SECURITY_ATTRIBUTES
   BOOL   bInheritHandle;
 } SECURITY_ATTRIBUTES, *LPSECURITY_ATTRIBUTES;
 
+#endif /* !__USE_W32API */
+
+typedef struct
+{
+  ACE_HEADER Header;
+  ACCESS_MASK AccessMask;
+} ACE, *PACE;
 
 #endif /* __INCLUDE_SECURITY_H */