summaryrefslogtreecommitdiffhomepage
path: root/include/ntapi/nt_acl.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/ntapi/nt_acl.h')
-rw-r--r--include/ntapi/nt_acl.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/include/ntapi/nt_acl.h b/include/ntapi/nt_acl.h
index fac3109..c0ebb9f 100644
--- a/include/ntapi/nt_acl.h
+++ b/include/ntapi/nt_acl.h
@@ -51,6 +51,10 @@ typedef enum _nt_sid_name_use {
#define NT_ACE_SUCCESSFUL_ACCESS_ACE_FLAG (0x40)
#define NT_ACE_FAILED_ACCESS_ACE_FLAG (0x80)
+/* acl_init_common_descriptor_meta option bits */
+#define NT_ACL_INIT_COMMON_DESCRIPTION_META_QUERY_MODE (0x00)
+#define NT_ACL_INIT_COMMON_DESCRIPTION_META_STRICT_MODE (0x01)
+
typedef struct _nt_ace_header {
unsigned char ace_type;
unsigned char ace_flags;
@@ -129,8 +133,6 @@ typedef struct _nt_sd_common_meta {
nt_sid * owner;
nt_sid * group;
nt_acl * dacl;
- nt_access_allowed_ace * system_ace;
- nt_sid * system_sid;
nt_access_allowed_ace * owner_ace;
nt_sid * owner_sid;
nt_access_allowed_ace * group_ace;
@@ -139,6 +141,7 @@ typedef struct _nt_sd_common_meta {
nt_sid * other_sid;
nt_access_allowed_ace * admin_ace;
nt_sid * admin_sid;
+ uint32_t system_acc;
} nt_sd_common_meta;
typedef struct _nt_sd_common_buffer {
@@ -163,4 +166,9 @@ typedef void __stdcall ntapi_acl_init_common_descriptor(
__in uint32_t admin_access,
__in uint32_t system_access);
+typedef int32_t __stdcall ntapi_acl_init_common_descriptor_meta(
+ __out nt_sd_common_meta * meta,
+ __in nt_sd * sd,
+ __in uint32_t options);
+
#endif