Add ACCESS_STATE and INITIAL_PRIVILEGE_SET.
authorEric Kohl <eric.kohl@reactos.org>
Wed, 7 Jul 2004 17:20:35 +0000 (17:20 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Wed, 7 Jul 2004 17:20:35 +0000 (17:20 +0000)
svn path=/trunk/; revision=10020

reactos/include/ddk/setypes.h
reactos/include/ntos/obtypes.h
reactos/include/ntos/security.h

index 78baff6..087e110 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: setypes.h,v 1.13 2004/02/02 12:03:43 ekohl Exp $
+/* $Id: setypes.h,v 1.14 2004/07/07 17:20:35 ekohl Exp $
  *
  * COPYRIGHT:         See COPYING in the top level directory for details
  * PROJECT:           ReactOS kernel
@@ -179,6 +179,30 @@ typedef enum _SECURITY_OPERATION_CODE
   AssignSecurityDescriptor
 } SECURITY_OPERATION_CODE, *PSECURITY_OPERATION_CODE;
 
+typedef struct _ACCESS_STATE
+{
+  LUID OperationID;
+  BOOLEAN SecurityEvaluated;
+  BOOLEAN GenerateAudit;
+  BOOLEAN GenerateClose;
+  BOOLEAN PrivilegesAllocated;
+  ULONG Flags;
+  ACCESS_MASK RemainingDesiredAccess;
+  ACCESS_MASK PreviouslyGrantedAccess;
+  ACCESS_MASK OriginallyDesiredAccess;
+  SECURITY_SUBJECT_CONTEXT SubjectSecurityContext; /* 0x1C */
+  PSECURITY_DESCRIPTOR SecurityDescriptor; /* 0x2C */
+  PVOID AuxData; /* 0x30 */
+  union
+  {
+    INITIAL_PRIVILEGE_SET InitialPrivilegeSet;
+    PRIVILEGE_SET PrivilegeSet;
+  } Privileges;
+  BOOLEAN AuditPrivileges;
+  UNICODE_STRING ObjectName;
+  UNICODE_STRING ObjectTypeName;
+} ACCESS_STATE, *PACCESS_STATE;
+
 #endif
 
 /* EOF */
index 71a2732..958b61f 100755 (executable)
@@ -1,14 +1,11 @@
 #ifndef _INCLUDE_DDK_OBTYPES_H
 #define _INCLUDE_DDK_OBTYPES_H
-/* $Id: obtypes.h,v 1.7 2003/10/21 15:49:19 ekohl Exp $ */
+/* $Id: obtypes.h,v 1.8 2004/07/07 17:20:16 ekohl Exp $ */
 struct _DIRECTORY_OBJECT;
 struct _OBJECT_ATTRIBUTES;
 
 #ifndef __USE_W32API
 
-typedef ULONG ACCESS_STATE, *PACCESS_STATE;
-
-
 typedef struct _OBJECT_HANDLE_INFORMATION
 {
   ULONG HandleAttributes;
index 8780490..ea77800 100644 (file)
@@ -349,6 +349,15 @@ typedef struct _PRIVILEGE_SET
   LUID_AND_ATTRIBUTES Privilege[ANYSIZE_ARRAY];
 } PRIVILEGE_SET, *PPRIVILEGE_SET, *LPPRIVILEGE_SET;
 
+#define INITIAL_PRIVILEGE_COUNT 3
+
+typedef struct _INITIAL_PRIVILEGE_SET
+{
+  ULONG PrivilegeCount;
+  ULONG Control;
+  LUID_AND_ATTRIBUTES Privilege[INITIAL_PRIVILEGE_COUNT];
+} INITIAL_PRIVILEGE_SET, *PINITIAL_PRIVILEGE_SET;
+
 typedef struct _SECURITY_ATTRIBUTES
 {
   DWORD  nLength;