2763 lines
108 KiB
Zig
2763 lines
108 KiB
Zig
//! NOTE: this file is autogenerated, DO NOT MODIFY
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Constants (26)
|
|
//--------------------------------------------------------------------------------
|
|
pub const wszCERTENROLLSHAREPATH = "CertSrv\\CertEnroll";
|
|
pub const cwcHRESULTSTRING = @as(u32, 40);
|
|
pub const szLBRACE = "{";
|
|
pub const szRBRACE = "}";
|
|
pub const wszLBRACE = "{";
|
|
pub const wszRBRACE = "}";
|
|
pub const szLPAREN = "(";
|
|
pub const szRPAREN = ")";
|
|
pub const wszLPAREN = "(";
|
|
pub const wszRPAREN = ")";
|
|
pub const CVT_SECONDS = @as(u32, 1);
|
|
pub const cwcFILENAMESUFFIXMAX = @as(u32, 20);
|
|
pub const wszFCSAPARM_SERVERDNSNAME = "%1";
|
|
pub const wszFCSAPARM_SERVERSHORTNAME = "%2";
|
|
pub const wszFCSAPARM_SANITIZEDCANAME = "%3";
|
|
pub const wszFCSAPARM_CERTFILENAMESUFFIX = "%4";
|
|
pub const wszFCSAPARM_DOMAINDN = "%5";
|
|
pub const wszFCSAPARM_CONFIGDN = "%6";
|
|
pub const wszFCSAPARM_SANITIZEDCANAMEHASH = "%7";
|
|
pub const wszFCSAPARM_CRLFILENAMESUFFIX = "%8";
|
|
pub const wszFCSAPARM_CRLDELTAFILENAMESUFFIX = "%9";
|
|
pub const wszFCSAPARM_DSCRLATTRIBUTE = "%10";
|
|
pub const wszFCSAPARM_DSCACERTATTRIBUTE = "%11";
|
|
pub const wszFCSAPARM_DSUSERCERTATTRIBUTE = "%12";
|
|
pub const wszFCSAPARM_DSKRACERTATTRIBUTE = "%13";
|
|
pub const wszFCSAPARM_DSCROSSCERTPAIRATTRIBUTE = "%14";
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Types (106)
|
|
//--------------------------------------------------------------------------------
|
|
pub const TOKEN_PRIVILEGES_ATTRIBUTES = enum(u32) {
|
|
ENABLED = 2,
|
|
ENABLED_BY_DEFAULT = 1,
|
|
REMOVED = 4,
|
|
USED_FOR_ACCESS = 2147483648,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
ENABLED: u1 = 0,
|
|
ENABLED_BY_DEFAULT: u1 = 0,
|
|
REMOVED: u1 = 0,
|
|
USED_FOR_ACCESS: u1 = 0,
|
|
}) TOKEN_PRIVILEGES_ATTRIBUTES {
|
|
return @as(TOKEN_PRIVILEGES_ATTRIBUTES, @enumFromInt(
|
|
(if (o.ENABLED == 1) @intFromEnum(TOKEN_PRIVILEGES_ATTRIBUTES.ENABLED) else 0)
|
|
| (if (o.ENABLED_BY_DEFAULT == 1) @intFromEnum(TOKEN_PRIVILEGES_ATTRIBUTES.ENABLED_BY_DEFAULT) else 0)
|
|
| (if (o.REMOVED == 1) @intFromEnum(TOKEN_PRIVILEGES_ATTRIBUTES.REMOVED) else 0)
|
|
| (if (o.USED_FOR_ACCESS == 1) @intFromEnum(TOKEN_PRIVILEGES_ATTRIBUTES.USED_FOR_ACCESS) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const SE_PRIVILEGE_ENABLED = TOKEN_PRIVILEGES_ATTRIBUTES.ENABLED;
|
|
pub const SE_PRIVILEGE_ENABLED_BY_DEFAULT = TOKEN_PRIVILEGES_ATTRIBUTES.ENABLED_BY_DEFAULT;
|
|
pub const SE_PRIVILEGE_REMOVED = TOKEN_PRIVILEGES_ATTRIBUTES.REMOVED;
|
|
pub const SE_PRIVILEGE_USED_FOR_ACCESS = TOKEN_PRIVILEGES_ATTRIBUTES.USED_FOR_ACCESS;
|
|
|
|
pub const LOGON32_PROVIDER = enum(u32) {
|
|
DEFAULT = 0,
|
|
WINNT50 = 3,
|
|
WINNT40 = 2,
|
|
};
|
|
pub const LOGON32_PROVIDER_DEFAULT = LOGON32_PROVIDER.DEFAULT;
|
|
pub const LOGON32_PROVIDER_WINNT50 = LOGON32_PROVIDER.WINNT50;
|
|
pub const LOGON32_PROVIDER_WINNT40 = LOGON32_PROVIDER.WINNT40;
|
|
|
|
pub const CREATE_RESTRICTED_TOKEN_FLAGS = enum(u32) {
|
|
DISABLE_MAX_PRIVILEGE = 1,
|
|
SANDBOX_INERT = 2,
|
|
LUA_TOKEN = 4,
|
|
WRITE_RESTRICTED = 8,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
DISABLE_MAX_PRIVILEGE: u1 = 0,
|
|
SANDBOX_INERT: u1 = 0,
|
|
LUA_TOKEN: u1 = 0,
|
|
WRITE_RESTRICTED: u1 = 0,
|
|
}) CREATE_RESTRICTED_TOKEN_FLAGS {
|
|
return @as(CREATE_RESTRICTED_TOKEN_FLAGS, @enumFromInt(
|
|
(if (o.DISABLE_MAX_PRIVILEGE == 1) @intFromEnum(CREATE_RESTRICTED_TOKEN_FLAGS.DISABLE_MAX_PRIVILEGE) else 0)
|
|
| (if (o.SANDBOX_INERT == 1) @intFromEnum(CREATE_RESTRICTED_TOKEN_FLAGS.SANDBOX_INERT) else 0)
|
|
| (if (o.LUA_TOKEN == 1) @intFromEnum(CREATE_RESTRICTED_TOKEN_FLAGS.LUA_TOKEN) else 0)
|
|
| (if (o.WRITE_RESTRICTED == 1) @intFromEnum(CREATE_RESTRICTED_TOKEN_FLAGS.WRITE_RESTRICTED) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const DISABLE_MAX_PRIVILEGE = CREATE_RESTRICTED_TOKEN_FLAGS.DISABLE_MAX_PRIVILEGE;
|
|
pub const SANDBOX_INERT = CREATE_RESTRICTED_TOKEN_FLAGS.SANDBOX_INERT;
|
|
pub const LUA_TOKEN = CREATE_RESTRICTED_TOKEN_FLAGS.LUA_TOKEN;
|
|
pub const WRITE_RESTRICTED = CREATE_RESTRICTED_TOKEN_FLAGS.WRITE_RESTRICTED;
|
|
|
|
pub const LOGON32_LOGON = enum(u32) {
|
|
BATCH = 4,
|
|
INTERACTIVE = 2,
|
|
NETWORK = 3,
|
|
NETWORK_CLEARTEXT = 8,
|
|
NEW_CREDENTIALS = 9,
|
|
SERVICE = 5,
|
|
UNLOCK = 7,
|
|
};
|
|
pub const LOGON32_LOGON_BATCH = LOGON32_LOGON.BATCH;
|
|
pub const LOGON32_LOGON_INTERACTIVE = LOGON32_LOGON.INTERACTIVE;
|
|
pub const LOGON32_LOGON_NETWORK = LOGON32_LOGON.NETWORK;
|
|
pub const LOGON32_LOGON_NETWORK_CLEARTEXT = LOGON32_LOGON.NETWORK_CLEARTEXT;
|
|
pub const LOGON32_LOGON_NEW_CREDENTIALS = LOGON32_LOGON.NEW_CREDENTIALS;
|
|
pub const LOGON32_LOGON_SERVICE = LOGON32_LOGON.SERVICE;
|
|
pub const LOGON32_LOGON_UNLOCK = LOGON32_LOGON.UNLOCK;
|
|
|
|
pub const ACE_FLAGS = enum(u32) {
|
|
CONTAINER_INHERIT_ACE = 2,
|
|
FAILED_ACCESS_ACE_FLAG = 128,
|
|
INHERIT_ONLY_ACE = 8,
|
|
INHERITED_ACE = 16,
|
|
NO_PROPAGATE_INHERIT_ACE = 4,
|
|
OBJECT_INHERIT_ACE = 1,
|
|
SUCCESSFUL_ACCESS_ACE_FLAG = 64,
|
|
SUB_CONTAINERS_AND_OBJECTS_INHERIT = 3,
|
|
// SUB_CONTAINERS_ONLY_INHERIT = 2, this enum value conflicts with CONTAINER_INHERIT_ACE
|
|
// SUB_OBJECTS_ONLY_INHERIT = 1, this enum value conflicts with OBJECT_INHERIT_ACE
|
|
// INHERIT_NO_PROPAGATE = 4, this enum value conflicts with NO_PROPAGATE_INHERIT_ACE
|
|
// INHERIT_ONLY = 8, this enum value conflicts with INHERIT_ONLY_ACE
|
|
NO_INHERITANCE = 0,
|
|
// INHERIT_ONLY_ACE_ = 8, this enum value conflicts with INHERIT_ONLY_ACE
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
CONTAINER_INHERIT_ACE: u1 = 0,
|
|
FAILED_ACCESS_ACE_FLAG: u1 = 0,
|
|
INHERIT_ONLY_ACE: u1 = 0,
|
|
INHERITED_ACE: u1 = 0,
|
|
NO_PROPAGATE_INHERIT_ACE: u1 = 0,
|
|
OBJECT_INHERIT_ACE: u1 = 0,
|
|
SUCCESSFUL_ACCESS_ACE_FLAG: u1 = 0,
|
|
SUB_CONTAINERS_AND_OBJECTS_INHERIT: u1 = 0,
|
|
NO_INHERITANCE: u1 = 0,
|
|
}) ACE_FLAGS {
|
|
return @as(ACE_FLAGS, @enumFromInt(
|
|
(if (o.CONTAINER_INHERIT_ACE == 1) @intFromEnum(ACE_FLAGS.CONTAINER_INHERIT_ACE) else 0)
|
|
| (if (o.FAILED_ACCESS_ACE_FLAG == 1) @intFromEnum(ACE_FLAGS.FAILED_ACCESS_ACE_FLAG) else 0)
|
|
| (if (o.INHERIT_ONLY_ACE == 1) @intFromEnum(ACE_FLAGS.INHERIT_ONLY_ACE) else 0)
|
|
| (if (o.INHERITED_ACE == 1) @intFromEnum(ACE_FLAGS.INHERITED_ACE) else 0)
|
|
| (if (o.NO_PROPAGATE_INHERIT_ACE == 1) @intFromEnum(ACE_FLAGS.NO_PROPAGATE_INHERIT_ACE) else 0)
|
|
| (if (o.OBJECT_INHERIT_ACE == 1) @intFromEnum(ACE_FLAGS.OBJECT_INHERIT_ACE) else 0)
|
|
| (if (o.SUCCESSFUL_ACCESS_ACE_FLAG == 1) @intFromEnum(ACE_FLAGS.SUCCESSFUL_ACCESS_ACE_FLAG) else 0)
|
|
| (if (o.SUB_CONTAINERS_AND_OBJECTS_INHERIT == 1) @intFromEnum(ACE_FLAGS.SUB_CONTAINERS_AND_OBJECTS_INHERIT) else 0)
|
|
| (if (o.NO_INHERITANCE == 1) @intFromEnum(ACE_FLAGS.NO_INHERITANCE) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const CONTAINER_INHERIT_ACE = ACE_FLAGS.CONTAINER_INHERIT_ACE;
|
|
pub const FAILED_ACCESS_ACE_FLAG = ACE_FLAGS.FAILED_ACCESS_ACE_FLAG;
|
|
pub const INHERIT_ONLY_ACE = ACE_FLAGS.INHERIT_ONLY_ACE;
|
|
pub const INHERITED_ACE = ACE_FLAGS.INHERITED_ACE;
|
|
pub const NO_PROPAGATE_INHERIT_ACE = ACE_FLAGS.NO_PROPAGATE_INHERIT_ACE;
|
|
pub const OBJECT_INHERIT_ACE = ACE_FLAGS.OBJECT_INHERIT_ACE;
|
|
pub const SUCCESSFUL_ACCESS_ACE_FLAG = ACE_FLAGS.SUCCESSFUL_ACCESS_ACE_FLAG;
|
|
pub const SUB_CONTAINERS_AND_OBJECTS_INHERIT = ACE_FLAGS.SUB_CONTAINERS_AND_OBJECTS_INHERIT;
|
|
pub const SUB_CONTAINERS_ONLY_INHERIT = ACE_FLAGS.CONTAINER_INHERIT_ACE;
|
|
pub const SUB_OBJECTS_ONLY_INHERIT = ACE_FLAGS.OBJECT_INHERIT_ACE;
|
|
pub const INHERIT_NO_PROPAGATE = ACE_FLAGS.NO_PROPAGATE_INHERIT_ACE;
|
|
pub const INHERIT_ONLY = ACE_FLAGS.INHERIT_ONLY_ACE;
|
|
pub const NO_INHERITANCE = ACE_FLAGS.NO_INHERITANCE;
|
|
pub const INHERIT_ONLY_ACE_ = ACE_FLAGS.INHERIT_ONLY_ACE;
|
|
|
|
pub const OBJECT_SECURITY_INFORMATION = enum(u32) {
|
|
ATTRIBUTE_SECURITY_INFORMATION = 32,
|
|
BACKUP_SECURITY_INFORMATION = 65536,
|
|
DACL_SECURITY_INFORMATION = 4,
|
|
GROUP_SECURITY_INFORMATION = 2,
|
|
LABEL_SECURITY_INFORMATION = 16,
|
|
OWNER_SECURITY_INFORMATION = 1,
|
|
PROTECTED_DACL_SECURITY_INFORMATION = 2147483648,
|
|
PROTECTED_SACL_SECURITY_INFORMATION = 1073741824,
|
|
SACL_SECURITY_INFORMATION = 8,
|
|
SCOPE_SECURITY_INFORMATION = 64,
|
|
UNPROTECTED_DACL_SECURITY_INFORMATION = 536870912,
|
|
UNPROTECTED_SACL_SECURITY_INFORMATION = 268435456,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
ATTRIBUTE_SECURITY_INFORMATION: u1 = 0,
|
|
BACKUP_SECURITY_INFORMATION: u1 = 0,
|
|
DACL_SECURITY_INFORMATION: u1 = 0,
|
|
GROUP_SECURITY_INFORMATION: u1 = 0,
|
|
LABEL_SECURITY_INFORMATION: u1 = 0,
|
|
OWNER_SECURITY_INFORMATION: u1 = 0,
|
|
PROTECTED_DACL_SECURITY_INFORMATION: u1 = 0,
|
|
PROTECTED_SACL_SECURITY_INFORMATION: u1 = 0,
|
|
SACL_SECURITY_INFORMATION: u1 = 0,
|
|
SCOPE_SECURITY_INFORMATION: u1 = 0,
|
|
UNPROTECTED_DACL_SECURITY_INFORMATION: u1 = 0,
|
|
UNPROTECTED_SACL_SECURITY_INFORMATION: u1 = 0,
|
|
}) OBJECT_SECURITY_INFORMATION {
|
|
return @as(OBJECT_SECURITY_INFORMATION, @enumFromInt(
|
|
(if (o.ATTRIBUTE_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.ATTRIBUTE_SECURITY_INFORMATION) else 0)
|
|
| (if (o.BACKUP_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.BACKUP_SECURITY_INFORMATION) else 0)
|
|
| (if (o.DACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.DACL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.GROUP_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.GROUP_SECURITY_INFORMATION) else 0)
|
|
| (if (o.LABEL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.LABEL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.OWNER_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.OWNER_SECURITY_INFORMATION) else 0)
|
|
| (if (o.PROTECTED_DACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.PROTECTED_DACL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.PROTECTED_SACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.PROTECTED_SACL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.SACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.SACL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.SCOPE_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.SCOPE_SECURITY_INFORMATION) else 0)
|
|
| (if (o.UNPROTECTED_DACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.UNPROTECTED_DACL_SECURITY_INFORMATION) else 0)
|
|
| (if (o.UNPROTECTED_SACL_SECURITY_INFORMATION == 1) @intFromEnum(OBJECT_SECURITY_INFORMATION.UNPROTECTED_SACL_SECURITY_INFORMATION) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const ATTRIBUTE_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.ATTRIBUTE_SECURITY_INFORMATION;
|
|
pub const BACKUP_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.BACKUP_SECURITY_INFORMATION;
|
|
pub const DACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.DACL_SECURITY_INFORMATION;
|
|
pub const GROUP_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.GROUP_SECURITY_INFORMATION;
|
|
pub const LABEL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.LABEL_SECURITY_INFORMATION;
|
|
pub const OWNER_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.OWNER_SECURITY_INFORMATION;
|
|
pub const PROTECTED_DACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.PROTECTED_DACL_SECURITY_INFORMATION;
|
|
pub const PROTECTED_SACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.PROTECTED_SACL_SECURITY_INFORMATION;
|
|
pub const SACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.SACL_SECURITY_INFORMATION;
|
|
pub const SCOPE_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.SCOPE_SECURITY_INFORMATION;
|
|
pub const UNPROTECTED_DACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.UNPROTECTED_DACL_SECURITY_INFORMATION;
|
|
pub const UNPROTECTED_SACL_SECURITY_INFORMATION = OBJECT_SECURITY_INFORMATION.UNPROTECTED_SACL_SECURITY_INFORMATION;
|
|
|
|
pub const SECURITY_AUTO_INHERIT_FLAGS = enum(u32) {
|
|
AVOID_OWNER_CHECK = 16,
|
|
AVOID_OWNER_RESTRICTION = 4096,
|
|
AVOID_PRIVILEGE_CHECK = 8,
|
|
DACL_AUTO_INHERIT = 1,
|
|
DEFAULT_DESCRIPTOR_FOR_OBJECT = 4,
|
|
DEFAULT_GROUP_FROM_PARENT = 64,
|
|
DEFAULT_OWNER_FROM_PARENT = 32,
|
|
MACL_NO_EXECUTE_UP = 1024,
|
|
MACL_NO_READ_UP = 512,
|
|
MACL_NO_WRITE_UP = 256,
|
|
SACL_AUTO_INHERIT = 2,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
AVOID_OWNER_CHECK: u1 = 0,
|
|
AVOID_OWNER_RESTRICTION: u1 = 0,
|
|
AVOID_PRIVILEGE_CHECK: u1 = 0,
|
|
DACL_AUTO_INHERIT: u1 = 0,
|
|
DEFAULT_DESCRIPTOR_FOR_OBJECT: u1 = 0,
|
|
DEFAULT_GROUP_FROM_PARENT: u1 = 0,
|
|
DEFAULT_OWNER_FROM_PARENT: u1 = 0,
|
|
MACL_NO_EXECUTE_UP: u1 = 0,
|
|
MACL_NO_READ_UP: u1 = 0,
|
|
MACL_NO_WRITE_UP: u1 = 0,
|
|
SACL_AUTO_INHERIT: u1 = 0,
|
|
}) SECURITY_AUTO_INHERIT_FLAGS {
|
|
return @as(SECURITY_AUTO_INHERIT_FLAGS, @enumFromInt(
|
|
(if (o.AVOID_OWNER_CHECK == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.AVOID_OWNER_CHECK) else 0)
|
|
| (if (o.AVOID_OWNER_RESTRICTION == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.AVOID_OWNER_RESTRICTION) else 0)
|
|
| (if (o.AVOID_PRIVILEGE_CHECK == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.AVOID_PRIVILEGE_CHECK) else 0)
|
|
| (if (o.DACL_AUTO_INHERIT == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.DACL_AUTO_INHERIT) else 0)
|
|
| (if (o.DEFAULT_DESCRIPTOR_FOR_OBJECT == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_DESCRIPTOR_FOR_OBJECT) else 0)
|
|
| (if (o.DEFAULT_GROUP_FROM_PARENT == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_GROUP_FROM_PARENT) else 0)
|
|
| (if (o.DEFAULT_OWNER_FROM_PARENT == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_OWNER_FROM_PARENT) else 0)
|
|
| (if (o.MACL_NO_EXECUTE_UP == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_EXECUTE_UP) else 0)
|
|
| (if (o.MACL_NO_READ_UP == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_READ_UP) else 0)
|
|
| (if (o.MACL_NO_WRITE_UP == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_WRITE_UP) else 0)
|
|
| (if (o.SACL_AUTO_INHERIT == 1) @intFromEnum(SECURITY_AUTO_INHERIT_FLAGS.SACL_AUTO_INHERIT) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const SEF_AVOID_OWNER_CHECK = SECURITY_AUTO_INHERIT_FLAGS.AVOID_OWNER_CHECK;
|
|
pub const SEF_AVOID_OWNER_RESTRICTION = SECURITY_AUTO_INHERIT_FLAGS.AVOID_OWNER_RESTRICTION;
|
|
pub const SEF_AVOID_PRIVILEGE_CHECK = SECURITY_AUTO_INHERIT_FLAGS.AVOID_PRIVILEGE_CHECK;
|
|
pub const SEF_DACL_AUTO_INHERIT = SECURITY_AUTO_INHERIT_FLAGS.DACL_AUTO_INHERIT;
|
|
pub const SEF_DEFAULT_DESCRIPTOR_FOR_OBJECT = SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_DESCRIPTOR_FOR_OBJECT;
|
|
pub const SEF_DEFAULT_GROUP_FROM_PARENT = SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_GROUP_FROM_PARENT;
|
|
pub const SEF_DEFAULT_OWNER_FROM_PARENT = SECURITY_AUTO_INHERIT_FLAGS.DEFAULT_OWNER_FROM_PARENT;
|
|
pub const SEF_MACL_NO_EXECUTE_UP = SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_EXECUTE_UP;
|
|
pub const SEF_MACL_NO_READ_UP = SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_READ_UP;
|
|
pub const SEF_MACL_NO_WRITE_UP = SECURITY_AUTO_INHERIT_FLAGS.MACL_NO_WRITE_UP;
|
|
pub const SEF_SACL_AUTO_INHERIT = SECURITY_AUTO_INHERIT_FLAGS.SACL_AUTO_INHERIT;
|
|
|
|
pub const ACE_REVISION = enum(u32) {
|
|
N = 2,
|
|
_DS = 4,
|
|
};
|
|
pub const ACL_REVISION = ACE_REVISION.N;
|
|
pub const ACL_REVISION_DS = ACE_REVISION._DS;
|
|
|
|
pub const TOKEN_MANDATORY_POLICY_ID = enum(u32) {
|
|
OFF = 0,
|
|
NO_WRITE_UP = 1,
|
|
NEW_PROCESS_MIN = 2,
|
|
VALID_MASK = 3,
|
|
};
|
|
pub const TOKEN_MANDATORY_POLICY_OFF = TOKEN_MANDATORY_POLICY_ID.OFF;
|
|
pub const TOKEN_MANDATORY_POLICY_NO_WRITE_UP = TOKEN_MANDATORY_POLICY_ID.NO_WRITE_UP;
|
|
pub const TOKEN_MANDATORY_POLICY_NEW_PROCESS_MIN = TOKEN_MANDATORY_POLICY_ID.NEW_PROCESS_MIN;
|
|
pub const TOKEN_MANDATORY_POLICY_VALID_MASK = TOKEN_MANDATORY_POLICY_ID.VALID_MASK;
|
|
|
|
pub const SYSTEM_AUDIT_OBJECT_ACE_FLAGS = enum(u32) {
|
|
OBJECT_TYPE_PRESENT = 1,
|
|
INHERITED_OBJECT_TYPE_PRESENT = 2,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
OBJECT_TYPE_PRESENT: u1 = 0,
|
|
INHERITED_OBJECT_TYPE_PRESENT: u1 = 0,
|
|
}) SYSTEM_AUDIT_OBJECT_ACE_FLAGS {
|
|
return @as(SYSTEM_AUDIT_OBJECT_ACE_FLAGS, @enumFromInt(
|
|
(if (o.OBJECT_TYPE_PRESENT == 1) @intFromEnum(SYSTEM_AUDIT_OBJECT_ACE_FLAGS.OBJECT_TYPE_PRESENT) else 0)
|
|
| (if (o.INHERITED_OBJECT_TYPE_PRESENT == 1) @intFromEnum(SYSTEM_AUDIT_OBJECT_ACE_FLAGS.INHERITED_OBJECT_TYPE_PRESENT) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const ACE_OBJECT_TYPE_PRESENT = SYSTEM_AUDIT_OBJECT_ACE_FLAGS.OBJECT_TYPE_PRESENT;
|
|
pub const ACE_INHERITED_OBJECT_TYPE_PRESENT = SYSTEM_AUDIT_OBJECT_ACE_FLAGS.INHERITED_OBJECT_TYPE_PRESENT;
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_FLAGS = enum(u32) {
|
|
NON_INHERITABLE = 1,
|
|
VALUE_CASE_SENSITIVE = 2,
|
|
USE_FOR_DENY_ONLY = 4,
|
|
DISABLED_BY_DEFAULT = 8,
|
|
DISABLED = 16,
|
|
MANDATORY = 32,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
NON_INHERITABLE: u1 = 0,
|
|
VALUE_CASE_SENSITIVE: u1 = 0,
|
|
USE_FOR_DENY_ONLY: u1 = 0,
|
|
DISABLED_BY_DEFAULT: u1 = 0,
|
|
DISABLED: u1 = 0,
|
|
MANDATORY: u1 = 0,
|
|
}) CLAIM_SECURITY_ATTRIBUTE_FLAGS {
|
|
return @as(CLAIM_SECURITY_ATTRIBUTE_FLAGS, @enumFromInt(
|
|
(if (o.NON_INHERITABLE == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.NON_INHERITABLE) else 0)
|
|
| (if (o.VALUE_CASE_SENSITIVE == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.VALUE_CASE_SENSITIVE) else 0)
|
|
| (if (o.USE_FOR_DENY_ONLY == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.USE_FOR_DENY_ONLY) else 0)
|
|
| (if (o.DISABLED_BY_DEFAULT == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.DISABLED_BY_DEFAULT) else 0)
|
|
| (if (o.DISABLED == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.DISABLED) else 0)
|
|
| (if (o.MANDATORY == 1) @intFromEnum(CLAIM_SECURITY_ATTRIBUTE_FLAGS.MANDATORY) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_NON_INHERITABLE = CLAIM_SECURITY_ATTRIBUTE_FLAGS.NON_INHERITABLE;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_CASE_SENSITIVE = CLAIM_SECURITY_ATTRIBUTE_FLAGS.VALUE_CASE_SENSITIVE;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_USE_FOR_DENY_ONLY = CLAIM_SECURITY_ATTRIBUTE_FLAGS.USE_FOR_DENY_ONLY;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED_BY_DEFAULT = CLAIM_SECURITY_ATTRIBUTE_FLAGS.DISABLED_BY_DEFAULT;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_DISABLED = CLAIM_SECURITY_ATTRIBUTE_FLAGS.DISABLED;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_MANDATORY = CLAIM_SECURITY_ATTRIBUTE_FLAGS.MANDATORY;
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE = enum(u16) {
|
|
INT64 = 1,
|
|
UINT64 = 2,
|
|
STRING = 3,
|
|
OCTET_STRING = 16,
|
|
FQBN = 4,
|
|
SID = 5,
|
|
BOOLEAN = 6,
|
|
};
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_INT64 = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.INT64;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_UINT64 = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.UINT64;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_STRING = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.STRING;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_OCTET_STRING = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.OCTET_STRING;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_FQBN = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.FQBN;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_SID = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.SID;
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_TYPE_BOOLEAN = CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE.BOOLEAN;
|
|
|
|
pub const PLSA_AP_CALL_PACKAGE_UNTRUSTED = switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
ClientRequest: ?*?*anyopaque,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
ProtocolSubmitBuffer: ?*anyopaque,
|
|
ClientBufferBase: ?*anyopaque,
|
|
SubmitBufferLength: u32,
|
|
ProtocolReturnBuffer: ?*?*anyopaque,
|
|
ReturnBufferLength: ?*u32,
|
|
ProtocolStatus: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) NTSTATUS,
|
|
else => *const fn(
|
|
ClientRequest: ?*?*anyopaque,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
ProtocolSubmitBuffer: ?*anyopaque,
|
|
ClientBufferBase: ?*anyopaque,
|
|
SubmitBufferLength: u32,
|
|
ProtocolReturnBuffer: ?*?*anyopaque,
|
|
ReturnBufferLength: ?*u32,
|
|
ProtocolStatus: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) NTSTATUS,
|
|
} ;
|
|
|
|
pub const SEC_THREAD_START = switch (@import("builtin").zig_backend) {
|
|
.stage1 => fn(
|
|
lpThreadParameter: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
else => *const fn(
|
|
lpThreadParameter: ?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) u32,
|
|
} ;
|
|
|
|
pub const TOKEN_ACCESS_MASK = enum(u32) {
|
|
DELETE = 65536,
|
|
READ_CONTROL = 131072,
|
|
WRITE_DAC = 262144,
|
|
WRITE_OWNER = 524288,
|
|
ACCESS_SYSTEM_SECURITY = 16777216,
|
|
ASSIGN_PRIMARY = 1,
|
|
DUPLICATE = 2,
|
|
IMPERSONATE = 4,
|
|
QUERY = 8,
|
|
QUERY_SOURCE = 16,
|
|
ADJUST_PRIVILEGES = 32,
|
|
ADJUST_GROUPS = 64,
|
|
ADJUST_DEFAULT = 128,
|
|
ADJUST_SESSIONID = 256,
|
|
ALL_ACCESS = 983295,
|
|
_,
|
|
pub fn initFlags(o: struct {
|
|
DELETE: u1 = 0,
|
|
READ_CONTROL: u1 = 0,
|
|
WRITE_DAC: u1 = 0,
|
|
WRITE_OWNER: u1 = 0,
|
|
ACCESS_SYSTEM_SECURITY: u1 = 0,
|
|
ASSIGN_PRIMARY: u1 = 0,
|
|
DUPLICATE: u1 = 0,
|
|
IMPERSONATE: u1 = 0,
|
|
QUERY: u1 = 0,
|
|
QUERY_SOURCE: u1 = 0,
|
|
ADJUST_PRIVILEGES: u1 = 0,
|
|
ADJUST_GROUPS: u1 = 0,
|
|
ADJUST_DEFAULT: u1 = 0,
|
|
ADJUST_SESSIONID: u1 = 0,
|
|
ALL_ACCESS: u1 = 0,
|
|
}) TOKEN_ACCESS_MASK {
|
|
return @as(TOKEN_ACCESS_MASK, @enumFromInt(
|
|
(if (o.DELETE == 1) @intFromEnum(TOKEN_ACCESS_MASK.DELETE) else 0)
|
|
| (if (o.READ_CONTROL == 1) @intFromEnum(TOKEN_ACCESS_MASK.READ_CONTROL) else 0)
|
|
| (if (o.WRITE_DAC == 1) @intFromEnum(TOKEN_ACCESS_MASK.WRITE_DAC) else 0)
|
|
| (if (o.WRITE_OWNER == 1) @intFromEnum(TOKEN_ACCESS_MASK.WRITE_OWNER) else 0)
|
|
| (if (o.ACCESS_SYSTEM_SECURITY == 1) @intFromEnum(TOKEN_ACCESS_MASK.ACCESS_SYSTEM_SECURITY) else 0)
|
|
| (if (o.ASSIGN_PRIMARY == 1) @intFromEnum(TOKEN_ACCESS_MASK.ASSIGN_PRIMARY) else 0)
|
|
| (if (o.DUPLICATE == 1) @intFromEnum(TOKEN_ACCESS_MASK.DUPLICATE) else 0)
|
|
| (if (o.IMPERSONATE == 1) @intFromEnum(TOKEN_ACCESS_MASK.IMPERSONATE) else 0)
|
|
| (if (o.QUERY == 1) @intFromEnum(TOKEN_ACCESS_MASK.QUERY) else 0)
|
|
| (if (o.QUERY_SOURCE == 1) @intFromEnum(TOKEN_ACCESS_MASK.QUERY_SOURCE) else 0)
|
|
| (if (o.ADJUST_PRIVILEGES == 1) @intFromEnum(TOKEN_ACCESS_MASK.ADJUST_PRIVILEGES) else 0)
|
|
| (if (o.ADJUST_GROUPS == 1) @intFromEnum(TOKEN_ACCESS_MASK.ADJUST_GROUPS) else 0)
|
|
| (if (o.ADJUST_DEFAULT == 1) @intFromEnum(TOKEN_ACCESS_MASK.ADJUST_DEFAULT) else 0)
|
|
| (if (o.ADJUST_SESSIONID == 1) @intFromEnum(TOKEN_ACCESS_MASK.ADJUST_SESSIONID) else 0)
|
|
| (if (o.ALL_ACCESS == 1) @intFromEnum(TOKEN_ACCESS_MASK.ALL_ACCESS) else 0)
|
|
));
|
|
}
|
|
};
|
|
pub const TOKEN_DELETE = TOKEN_ACCESS_MASK.DELETE;
|
|
pub const TOKEN_READ_CONTROL = TOKEN_ACCESS_MASK.READ_CONTROL;
|
|
pub const TOKEN_WRITE_DAC = TOKEN_ACCESS_MASK.WRITE_DAC;
|
|
pub const TOKEN_WRITE_OWNER = TOKEN_ACCESS_MASK.WRITE_OWNER;
|
|
pub const TOKEN_ACCESS_SYSTEM_SECURITY = TOKEN_ACCESS_MASK.ACCESS_SYSTEM_SECURITY;
|
|
pub const TOKEN_ASSIGN_PRIMARY = TOKEN_ACCESS_MASK.ASSIGN_PRIMARY;
|
|
pub const TOKEN_DUPLICATE = TOKEN_ACCESS_MASK.DUPLICATE;
|
|
pub const TOKEN_IMPERSONATE = TOKEN_ACCESS_MASK.IMPERSONATE;
|
|
pub const TOKEN_QUERY = TOKEN_ACCESS_MASK.QUERY;
|
|
pub const TOKEN_QUERY_SOURCE = TOKEN_ACCESS_MASK.QUERY_SOURCE;
|
|
pub const TOKEN_ADJUST_PRIVILEGES = TOKEN_ACCESS_MASK.ADJUST_PRIVILEGES;
|
|
pub const TOKEN_ADJUST_GROUPS = TOKEN_ACCESS_MASK.ADJUST_GROUPS;
|
|
pub const TOKEN_ADJUST_DEFAULT = TOKEN_ACCESS_MASK.ADJUST_DEFAULT;
|
|
pub const TOKEN_ADJUST_SESSIONID = TOKEN_ACCESS_MASK.ADJUST_SESSIONID;
|
|
pub const TOKEN_ALL_ACCESS = TOKEN_ACCESS_MASK.ALL_ACCESS;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_DATA_QUERY_SESSION = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_REPORT = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_EVENT_TAG_DESCRIPTION = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_EVENT_PRODUCER_DESCRIPTION = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_EVENT_CATEGORY_DESCRIPTION = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const HDIAGNOSTIC_RECORD = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const NCRYPT_DESCRIPTOR_HANDLE = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const NCRYPT_STREAM_HANDLE = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const SAFER_LEVEL_HANDLE = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const SC_HANDLE = isize;
|
|
|
|
// TODO: this type has an InvalidHandleValue of '0', what can Zig do with this information?
|
|
pub const PSECURITY_DESCRIPTOR = *anyopaque;
|
|
|
|
pub const SECURITY_ATTRIBUTES = extern struct {
|
|
nLength: u32,
|
|
lpSecurityDescriptor: ?*anyopaque,
|
|
bInheritHandle: BOOL,
|
|
};
|
|
|
|
pub const ENUM_PERIOD = enum(i32) {
|
|
INVALID = -1,
|
|
SECONDS = 0,
|
|
MINUTES = 1,
|
|
HOURS = 2,
|
|
DAYS = 3,
|
|
WEEKS = 4,
|
|
MONTHS = 5,
|
|
YEARS = 6,
|
|
};
|
|
pub const ENUM_PERIOD_INVALID = ENUM_PERIOD.INVALID;
|
|
pub const ENUM_PERIOD_SECONDS = ENUM_PERIOD.SECONDS;
|
|
pub const ENUM_PERIOD_MINUTES = ENUM_PERIOD.MINUTES;
|
|
pub const ENUM_PERIOD_HOURS = ENUM_PERIOD.HOURS;
|
|
pub const ENUM_PERIOD_DAYS = ENUM_PERIOD.DAYS;
|
|
pub const ENUM_PERIOD_WEEKS = ENUM_PERIOD.WEEKS;
|
|
pub const ENUM_PERIOD_MONTHS = ENUM_PERIOD.MONTHS;
|
|
pub const ENUM_PERIOD_YEARS = ENUM_PERIOD.YEARS;
|
|
|
|
pub const LLFILETIME = extern struct {
|
|
Anonymous: extern union {
|
|
ll: i64,
|
|
ft: FILETIME,
|
|
},
|
|
};
|
|
|
|
pub const GENERIC_MAPPING = extern struct {
|
|
GenericRead: u32,
|
|
GenericWrite: u32,
|
|
GenericExecute: u32,
|
|
GenericAll: u32,
|
|
};
|
|
|
|
pub const LUID_AND_ATTRIBUTES = extern struct {
|
|
Luid: LUID,
|
|
Attributes: TOKEN_PRIVILEGES_ATTRIBUTES,
|
|
};
|
|
|
|
pub const SID_IDENTIFIER_AUTHORITY = extern struct {
|
|
Value: [6]u8,
|
|
};
|
|
|
|
pub const SID = extern struct {
|
|
Revision: u8,
|
|
SubAuthorityCount: u8,
|
|
IdentifierAuthority: SID_IDENTIFIER_AUTHORITY,
|
|
SubAuthority: [1]u32,
|
|
};
|
|
|
|
pub const SE_SID = extern union {
|
|
Sid: SID,
|
|
Buffer: [68]u8,
|
|
};
|
|
|
|
pub const SID_NAME_USE = enum(i32) {
|
|
User = 1,
|
|
Group = 2,
|
|
Domain = 3,
|
|
Alias = 4,
|
|
WellKnownGroup = 5,
|
|
DeletedAccount = 6,
|
|
Invalid = 7,
|
|
Unknown = 8,
|
|
Computer = 9,
|
|
Label = 10,
|
|
LogonSession = 11,
|
|
};
|
|
pub const SidTypeUser = SID_NAME_USE.User;
|
|
pub const SidTypeGroup = SID_NAME_USE.Group;
|
|
pub const SidTypeDomain = SID_NAME_USE.Domain;
|
|
pub const SidTypeAlias = SID_NAME_USE.Alias;
|
|
pub const SidTypeWellKnownGroup = SID_NAME_USE.WellKnownGroup;
|
|
pub const SidTypeDeletedAccount = SID_NAME_USE.DeletedAccount;
|
|
pub const SidTypeInvalid = SID_NAME_USE.Invalid;
|
|
pub const SidTypeUnknown = SID_NAME_USE.Unknown;
|
|
pub const SidTypeComputer = SID_NAME_USE.Computer;
|
|
pub const SidTypeLabel = SID_NAME_USE.Label;
|
|
pub const SidTypeLogonSession = SID_NAME_USE.LogonSession;
|
|
|
|
pub const SID_AND_ATTRIBUTES = extern struct {
|
|
Sid: ?PSID,
|
|
Attributes: u32,
|
|
};
|
|
|
|
pub const SID_AND_ATTRIBUTES_HASH = extern struct {
|
|
SidCount: u32,
|
|
SidAttr: ?*SID_AND_ATTRIBUTES,
|
|
Hash: [32]usize,
|
|
};
|
|
|
|
pub const WELL_KNOWN_SID_TYPE = enum(i32) {
|
|
NullSid = 0,
|
|
WorldSid = 1,
|
|
LocalSid = 2,
|
|
CreatorOwnerSid = 3,
|
|
CreatorGroupSid = 4,
|
|
CreatorOwnerServerSid = 5,
|
|
CreatorGroupServerSid = 6,
|
|
NtAuthoritySid = 7,
|
|
DialupSid = 8,
|
|
NetworkSid = 9,
|
|
BatchSid = 10,
|
|
InteractiveSid = 11,
|
|
ServiceSid = 12,
|
|
AnonymousSid = 13,
|
|
ProxySid = 14,
|
|
EnterpriseControllersSid = 15,
|
|
SelfSid = 16,
|
|
AuthenticatedUserSid = 17,
|
|
RestrictedCodeSid = 18,
|
|
TerminalServerSid = 19,
|
|
RemoteLogonIdSid = 20,
|
|
LogonIdsSid = 21,
|
|
LocalSystemSid = 22,
|
|
LocalServiceSid = 23,
|
|
NetworkServiceSid = 24,
|
|
BuiltinDomainSid = 25,
|
|
BuiltinAdministratorsSid = 26,
|
|
BuiltinUsersSid = 27,
|
|
BuiltinGuestsSid = 28,
|
|
BuiltinPowerUsersSid = 29,
|
|
BuiltinAccountOperatorsSid = 30,
|
|
BuiltinSystemOperatorsSid = 31,
|
|
BuiltinPrintOperatorsSid = 32,
|
|
BuiltinBackupOperatorsSid = 33,
|
|
BuiltinReplicatorSid = 34,
|
|
BuiltinPreWindows2000CompatibleAccessSid = 35,
|
|
BuiltinRemoteDesktopUsersSid = 36,
|
|
BuiltinNetworkConfigurationOperatorsSid = 37,
|
|
AccountAdministratorSid = 38,
|
|
AccountGuestSid = 39,
|
|
AccountKrbtgtSid = 40,
|
|
AccountDomainAdminsSid = 41,
|
|
AccountDomainUsersSid = 42,
|
|
AccountDomainGuestsSid = 43,
|
|
AccountComputersSid = 44,
|
|
AccountControllersSid = 45,
|
|
AccountCertAdminsSid = 46,
|
|
AccountSchemaAdminsSid = 47,
|
|
AccountEnterpriseAdminsSid = 48,
|
|
AccountPolicyAdminsSid = 49,
|
|
AccountRasAndIasServersSid = 50,
|
|
NTLMAuthenticationSid = 51,
|
|
DigestAuthenticationSid = 52,
|
|
SChannelAuthenticationSid = 53,
|
|
ThisOrganizationSid = 54,
|
|
OtherOrganizationSid = 55,
|
|
BuiltinIncomingForestTrustBuildersSid = 56,
|
|
BuiltinPerfMonitoringUsersSid = 57,
|
|
BuiltinPerfLoggingUsersSid = 58,
|
|
BuiltinAuthorizationAccessSid = 59,
|
|
BuiltinTerminalServerLicenseServersSid = 60,
|
|
BuiltinDCOMUsersSid = 61,
|
|
BuiltinIUsersSid = 62,
|
|
IUserSid = 63,
|
|
BuiltinCryptoOperatorsSid = 64,
|
|
UntrustedLabelSid = 65,
|
|
LowLabelSid = 66,
|
|
MediumLabelSid = 67,
|
|
HighLabelSid = 68,
|
|
SystemLabelSid = 69,
|
|
WriteRestrictedCodeSid = 70,
|
|
CreatorOwnerRightsSid = 71,
|
|
CacheablePrincipalsGroupSid = 72,
|
|
NonCacheablePrincipalsGroupSid = 73,
|
|
EnterpriseReadonlyControllersSid = 74,
|
|
AccountReadonlyControllersSid = 75,
|
|
BuiltinEventLogReadersGroup = 76,
|
|
NewEnterpriseReadonlyControllersSid = 77,
|
|
BuiltinCertSvcDComAccessGroup = 78,
|
|
MediumPlusLabelSid = 79,
|
|
LocalLogonSid = 80,
|
|
ConsoleLogonSid = 81,
|
|
ThisOrganizationCertificateSid = 82,
|
|
ApplicationPackageAuthoritySid = 83,
|
|
BuiltinAnyPackageSid = 84,
|
|
CapabilityInternetClientSid = 85,
|
|
CapabilityInternetClientServerSid = 86,
|
|
CapabilityPrivateNetworkClientServerSid = 87,
|
|
CapabilityPicturesLibrarySid = 88,
|
|
CapabilityVideosLibrarySid = 89,
|
|
CapabilityMusicLibrarySid = 90,
|
|
CapabilityDocumentsLibrarySid = 91,
|
|
CapabilitySharedUserCertificatesSid = 92,
|
|
CapabilityEnterpriseAuthenticationSid = 93,
|
|
CapabilityRemovableStorageSid = 94,
|
|
BuiltinRDSRemoteAccessServersSid = 95,
|
|
BuiltinRDSEndpointServersSid = 96,
|
|
BuiltinRDSManagementServersSid = 97,
|
|
UserModeDriversSid = 98,
|
|
BuiltinHyperVAdminsSid = 99,
|
|
AccountCloneableControllersSid = 100,
|
|
BuiltinAccessControlAssistanceOperatorsSid = 101,
|
|
BuiltinRemoteManagementUsersSid = 102,
|
|
AuthenticationAuthorityAssertedSid = 103,
|
|
AuthenticationServiceAssertedSid = 104,
|
|
LocalAccountSid = 105,
|
|
LocalAccountAndAdministratorSid = 106,
|
|
AccountProtectedUsersSid = 107,
|
|
CapabilityAppointmentsSid = 108,
|
|
CapabilityContactsSid = 109,
|
|
AccountDefaultSystemManagedSid = 110,
|
|
BuiltinDefaultSystemManagedGroupSid = 111,
|
|
BuiltinStorageReplicaAdminsSid = 112,
|
|
AccountKeyAdminsSid = 113,
|
|
AccountEnterpriseKeyAdminsSid = 114,
|
|
AuthenticationKeyTrustSid = 115,
|
|
AuthenticationKeyPropertyMFASid = 116,
|
|
AuthenticationKeyPropertyAttestationSid = 117,
|
|
AuthenticationFreshKeyAuthSid = 118,
|
|
BuiltinDeviceOwnersSid = 119,
|
|
};
|
|
pub const WinNullSid = WELL_KNOWN_SID_TYPE.NullSid;
|
|
pub const WinWorldSid = WELL_KNOWN_SID_TYPE.WorldSid;
|
|
pub const WinLocalSid = WELL_KNOWN_SID_TYPE.LocalSid;
|
|
pub const WinCreatorOwnerSid = WELL_KNOWN_SID_TYPE.CreatorOwnerSid;
|
|
pub const WinCreatorGroupSid = WELL_KNOWN_SID_TYPE.CreatorGroupSid;
|
|
pub const WinCreatorOwnerServerSid = WELL_KNOWN_SID_TYPE.CreatorOwnerServerSid;
|
|
pub const WinCreatorGroupServerSid = WELL_KNOWN_SID_TYPE.CreatorGroupServerSid;
|
|
pub const WinNtAuthoritySid = WELL_KNOWN_SID_TYPE.NtAuthoritySid;
|
|
pub const WinDialupSid = WELL_KNOWN_SID_TYPE.DialupSid;
|
|
pub const WinNetworkSid = WELL_KNOWN_SID_TYPE.NetworkSid;
|
|
pub const WinBatchSid = WELL_KNOWN_SID_TYPE.BatchSid;
|
|
pub const WinInteractiveSid = WELL_KNOWN_SID_TYPE.InteractiveSid;
|
|
pub const WinServiceSid = WELL_KNOWN_SID_TYPE.ServiceSid;
|
|
pub const WinAnonymousSid = WELL_KNOWN_SID_TYPE.AnonymousSid;
|
|
pub const WinProxySid = WELL_KNOWN_SID_TYPE.ProxySid;
|
|
pub const WinEnterpriseControllersSid = WELL_KNOWN_SID_TYPE.EnterpriseControllersSid;
|
|
pub const WinSelfSid = WELL_KNOWN_SID_TYPE.SelfSid;
|
|
pub const WinAuthenticatedUserSid = WELL_KNOWN_SID_TYPE.AuthenticatedUserSid;
|
|
pub const WinRestrictedCodeSid = WELL_KNOWN_SID_TYPE.RestrictedCodeSid;
|
|
pub const WinTerminalServerSid = WELL_KNOWN_SID_TYPE.TerminalServerSid;
|
|
pub const WinRemoteLogonIdSid = WELL_KNOWN_SID_TYPE.RemoteLogonIdSid;
|
|
pub const WinLogonIdsSid = WELL_KNOWN_SID_TYPE.LogonIdsSid;
|
|
pub const WinLocalSystemSid = WELL_KNOWN_SID_TYPE.LocalSystemSid;
|
|
pub const WinLocalServiceSid = WELL_KNOWN_SID_TYPE.LocalServiceSid;
|
|
pub const WinNetworkServiceSid = WELL_KNOWN_SID_TYPE.NetworkServiceSid;
|
|
pub const WinBuiltinDomainSid = WELL_KNOWN_SID_TYPE.BuiltinDomainSid;
|
|
pub const WinBuiltinAdministratorsSid = WELL_KNOWN_SID_TYPE.BuiltinAdministratorsSid;
|
|
pub const WinBuiltinUsersSid = WELL_KNOWN_SID_TYPE.BuiltinUsersSid;
|
|
pub const WinBuiltinGuestsSid = WELL_KNOWN_SID_TYPE.BuiltinGuestsSid;
|
|
pub const WinBuiltinPowerUsersSid = WELL_KNOWN_SID_TYPE.BuiltinPowerUsersSid;
|
|
pub const WinBuiltinAccountOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinAccountOperatorsSid;
|
|
pub const WinBuiltinSystemOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinSystemOperatorsSid;
|
|
pub const WinBuiltinPrintOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinPrintOperatorsSid;
|
|
pub const WinBuiltinBackupOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinBackupOperatorsSid;
|
|
pub const WinBuiltinReplicatorSid = WELL_KNOWN_SID_TYPE.BuiltinReplicatorSid;
|
|
pub const WinBuiltinPreWindows2000CompatibleAccessSid = WELL_KNOWN_SID_TYPE.BuiltinPreWindows2000CompatibleAccessSid;
|
|
pub const WinBuiltinRemoteDesktopUsersSid = WELL_KNOWN_SID_TYPE.BuiltinRemoteDesktopUsersSid;
|
|
pub const WinBuiltinNetworkConfigurationOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinNetworkConfigurationOperatorsSid;
|
|
pub const WinAccountAdministratorSid = WELL_KNOWN_SID_TYPE.AccountAdministratorSid;
|
|
pub const WinAccountGuestSid = WELL_KNOWN_SID_TYPE.AccountGuestSid;
|
|
pub const WinAccountKrbtgtSid = WELL_KNOWN_SID_TYPE.AccountKrbtgtSid;
|
|
pub const WinAccountDomainAdminsSid = WELL_KNOWN_SID_TYPE.AccountDomainAdminsSid;
|
|
pub const WinAccountDomainUsersSid = WELL_KNOWN_SID_TYPE.AccountDomainUsersSid;
|
|
pub const WinAccountDomainGuestsSid = WELL_KNOWN_SID_TYPE.AccountDomainGuestsSid;
|
|
pub const WinAccountComputersSid = WELL_KNOWN_SID_TYPE.AccountComputersSid;
|
|
pub const WinAccountControllersSid = WELL_KNOWN_SID_TYPE.AccountControllersSid;
|
|
pub const WinAccountCertAdminsSid = WELL_KNOWN_SID_TYPE.AccountCertAdminsSid;
|
|
pub const WinAccountSchemaAdminsSid = WELL_KNOWN_SID_TYPE.AccountSchemaAdminsSid;
|
|
pub const WinAccountEnterpriseAdminsSid = WELL_KNOWN_SID_TYPE.AccountEnterpriseAdminsSid;
|
|
pub const WinAccountPolicyAdminsSid = WELL_KNOWN_SID_TYPE.AccountPolicyAdminsSid;
|
|
pub const WinAccountRasAndIasServersSid = WELL_KNOWN_SID_TYPE.AccountRasAndIasServersSid;
|
|
pub const WinNTLMAuthenticationSid = WELL_KNOWN_SID_TYPE.NTLMAuthenticationSid;
|
|
pub const WinDigestAuthenticationSid = WELL_KNOWN_SID_TYPE.DigestAuthenticationSid;
|
|
pub const WinSChannelAuthenticationSid = WELL_KNOWN_SID_TYPE.SChannelAuthenticationSid;
|
|
pub const WinThisOrganizationSid = WELL_KNOWN_SID_TYPE.ThisOrganizationSid;
|
|
pub const WinOtherOrganizationSid = WELL_KNOWN_SID_TYPE.OtherOrganizationSid;
|
|
pub const WinBuiltinIncomingForestTrustBuildersSid = WELL_KNOWN_SID_TYPE.BuiltinIncomingForestTrustBuildersSid;
|
|
pub const WinBuiltinPerfMonitoringUsersSid = WELL_KNOWN_SID_TYPE.BuiltinPerfMonitoringUsersSid;
|
|
pub const WinBuiltinPerfLoggingUsersSid = WELL_KNOWN_SID_TYPE.BuiltinPerfLoggingUsersSid;
|
|
pub const WinBuiltinAuthorizationAccessSid = WELL_KNOWN_SID_TYPE.BuiltinAuthorizationAccessSid;
|
|
pub const WinBuiltinTerminalServerLicenseServersSid = WELL_KNOWN_SID_TYPE.BuiltinTerminalServerLicenseServersSid;
|
|
pub const WinBuiltinDCOMUsersSid = WELL_KNOWN_SID_TYPE.BuiltinDCOMUsersSid;
|
|
pub const WinBuiltinIUsersSid = WELL_KNOWN_SID_TYPE.BuiltinIUsersSid;
|
|
pub const WinIUserSid = WELL_KNOWN_SID_TYPE.IUserSid;
|
|
pub const WinBuiltinCryptoOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinCryptoOperatorsSid;
|
|
pub const WinUntrustedLabelSid = WELL_KNOWN_SID_TYPE.UntrustedLabelSid;
|
|
pub const WinLowLabelSid = WELL_KNOWN_SID_TYPE.LowLabelSid;
|
|
pub const WinMediumLabelSid = WELL_KNOWN_SID_TYPE.MediumLabelSid;
|
|
pub const WinHighLabelSid = WELL_KNOWN_SID_TYPE.HighLabelSid;
|
|
pub const WinSystemLabelSid = WELL_KNOWN_SID_TYPE.SystemLabelSid;
|
|
pub const WinWriteRestrictedCodeSid = WELL_KNOWN_SID_TYPE.WriteRestrictedCodeSid;
|
|
pub const WinCreatorOwnerRightsSid = WELL_KNOWN_SID_TYPE.CreatorOwnerRightsSid;
|
|
pub const WinCacheablePrincipalsGroupSid = WELL_KNOWN_SID_TYPE.CacheablePrincipalsGroupSid;
|
|
pub const WinNonCacheablePrincipalsGroupSid = WELL_KNOWN_SID_TYPE.NonCacheablePrincipalsGroupSid;
|
|
pub const WinEnterpriseReadonlyControllersSid = WELL_KNOWN_SID_TYPE.EnterpriseReadonlyControllersSid;
|
|
pub const WinAccountReadonlyControllersSid = WELL_KNOWN_SID_TYPE.AccountReadonlyControllersSid;
|
|
pub const WinBuiltinEventLogReadersGroup = WELL_KNOWN_SID_TYPE.BuiltinEventLogReadersGroup;
|
|
pub const WinNewEnterpriseReadonlyControllersSid = WELL_KNOWN_SID_TYPE.NewEnterpriseReadonlyControllersSid;
|
|
pub const WinBuiltinCertSvcDComAccessGroup = WELL_KNOWN_SID_TYPE.BuiltinCertSvcDComAccessGroup;
|
|
pub const WinMediumPlusLabelSid = WELL_KNOWN_SID_TYPE.MediumPlusLabelSid;
|
|
pub const WinLocalLogonSid = WELL_KNOWN_SID_TYPE.LocalLogonSid;
|
|
pub const WinConsoleLogonSid = WELL_KNOWN_SID_TYPE.ConsoleLogonSid;
|
|
pub const WinThisOrganizationCertificateSid = WELL_KNOWN_SID_TYPE.ThisOrganizationCertificateSid;
|
|
pub const WinApplicationPackageAuthoritySid = WELL_KNOWN_SID_TYPE.ApplicationPackageAuthoritySid;
|
|
pub const WinBuiltinAnyPackageSid = WELL_KNOWN_SID_TYPE.BuiltinAnyPackageSid;
|
|
pub const WinCapabilityInternetClientSid = WELL_KNOWN_SID_TYPE.CapabilityInternetClientSid;
|
|
pub const WinCapabilityInternetClientServerSid = WELL_KNOWN_SID_TYPE.CapabilityInternetClientServerSid;
|
|
pub const WinCapabilityPrivateNetworkClientServerSid = WELL_KNOWN_SID_TYPE.CapabilityPrivateNetworkClientServerSid;
|
|
pub const WinCapabilityPicturesLibrarySid = WELL_KNOWN_SID_TYPE.CapabilityPicturesLibrarySid;
|
|
pub const WinCapabilityVideosLibrarySid = WELL_KNOWN_SID_TYPE.CapabilityVideosLibrarySid;
|
|
pub const WinCapabilityMusicLibrarySid = WELL_KNOWN_SID_TYPE.CapabilityMusicLibrarySid;
|
|
pub const WinCapabilityDocumentsLibrarySid = WELL_KNOWN_SID_TYPE.CapabilityDocumentsLibrarySid;
|
|
pub const WinCapabilitySharedUserCertificatesSid = WELL_KNOWN_SID_TYPE.CapabilitySharedUserCertificatesSid;
|
|
pub const WinCapabilityEnterpriseAuthenticationSid = WELL_KNOWN_SID_TYPE.CapabilityEnterpriseAuthenticationSid;
|
|
pub const WinCapabilityRemovableStorageSid = WELL_KNOWN_SID_TYPE.CapabilityRemovableStorageSid;
|
|
pub const WinBuiltinRDSRemoteAccessServersSid = WELL_KNOWN_SID_TYPE.BuiltinRDSRemoteAccessServersSid;
|
|
pub const WinBuiltinRDSEndpointServersSid = WELL_KNOWN_SID_TYPE.BuiltinRDSEndpointServersSid;
|
|
pub const WinBuiltinRDSManagementServersSid = WELL_KNOWN_SID_TYPE.BuiltinRDSManagementServersSid;
|
|
pub const WinUserModeDriversSid = WELL_KNOWN_SID_TYPE.UserModeDriversSid;
|
|
pub const WinBuiltinHyperVAdminsSid = WELL_KNOWN_SID_TYPE.BuiltinHyperVAdminsSid;
|
|
pub const WinAccountCloneableControllersSid = WELL_KNOWN_SID_TYPE.AccountCloneableControllersSid;
|
|
pub const WinBuiltinAccessControlAssistanceOperatorsSid = WELL_KNOWN_SID_TYPE.BuiltinAccessControlAssistanceOperatorsSid;
|
|
pub const WinBuiltinRemoteManagementUsersSid = WELL_KNOWN_SID_TYPE.BuiltinRemoteManagementUsersSid;
|
|
pub const WinAuthenticationAuthorityAssertedSid = WELL_KNOWN_SID_TYPE.AuthenticationAuthorityAssertedSid;
|
|
pub const WinAuthenticationServiceAssertedSid = WELL_KNOWN_SID_TYPE.AuthenticationServiceAssertedSid;
|
|
pub const WinLocalAccountSid = WELL_KNOWN_SID_TYPE.LocalAccountSid;
|
|
pub const WinLocalAccountAndAdministratorSid = WELL_KNOWN_SID_TYPE.LocalAccountAndAdministratorSid;
|
|
pub const WinAccountProtectedUsersSid = WELL_KNOWN_SID_TYPE.AccountProtectedUsersSid;
|
|
pub const WinCapabilityAppointmentsSid = WELL_KNOWN_SID_TYPE.CapabilityAppointmentsSid;
|
|
pub const WinCapabilityContactsSid = WELL_KNOWN_SID_TYPE.CapabilityContactsSid;
|
|
pub const WinAccountDefaultSystemManagedSid = WELL_KNOWN_SID_TYPE.AccountDefaultSystemManagedSid;
|
|
pub const WinBuiltinDefaultSystemManagedGroupSid = WELL_KNOWN_SID_TYPE.BuiltinDefaultSystemManagedGroupSid;
|
|
pub const WinBuiltinStorageReplicaAdminsSid = WELL_KNOWN_SID_TYPE.BuiltinStorageReplicaAdminsSid;
|
|
pub const WinAccountKeyAdminsSid = WELL_KNOWN_SID_TYPE.AccountKeyAdminsSid;
|
|
pub const WinAccountEnterpriseKeyAdminsSid = WELL_KNOWN_SID_TYPE.AccountEnterpriseKeyAdminsSid;
|
|
pub const WinAuthenticationKeyTrustSid = WELL_KNOWN_SID_TYPE.AuthenticationKeyTrustSid;
|
|
pub const WinAuthenticationKeyPropertyMFASid = WELL_KNOWN_SID_TYPE.AuthenticationKeyPropertyMFASid;
|
|
pub const WinAuthenticationKeyPropertyAttestationSid = WELL_KNOWN_SID_TYPE.AuthenticationKeyPropertyAttestationSid;
|
|
pub const WinAuthenticationFreshKeyAuthSid = WELL_KNOWN_SID_TYPE.AuthenticationFreshKeyAuthSid;
|
|
pub const WinBuiltinDeviceOwnersSid = WELL_KNOWN_SID_TYPE.BuiltinDeviceOwnersSid;
|
|
|
|
pub const ACL = extern struct {
|
|
AclRevision: u8,
|
|
Sbz1: u8,
|
|
AclSize: u16,
|
|
AceCount: u16,
|
|
Sbz2: u16,
|
|
};
|
|
|
|
pub const ACE_HEADER = extern struct {
|
|
AceType: u8,
|
|
AceFlags: u8,
|
|
AceSize: u16,
|
|
};
|
|
|
|
pub const ACCESS_ALLOWED_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_DENIED_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_AUDIT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_ALARM_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_RESOURCE_ATTRIBUTE_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_SCOPED_POLICY_ID_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_MANDATORY_LABEL_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_PROCESS_TRUST_LABEL_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_ACCESS_FILTER_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_ALLOWED_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_DENIED_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_AUDIT_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_ALARM_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: u32,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_ALLOWED_CALLBACK_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_DENIED_CALLBACK_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_AUDIT_CALLBACK_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_ALARM_CALLBACK_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_ALLOWED_CALLBACK_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACCESS_DENIED_CALLBACK_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_AUDIT_CALLBACK_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const SYSTEM_ALARM_CALLBACK_OBJECT_ACE = extern struct {
|
|
Header: ACE_HEADER,
|
|
Mask: u32,
|
|
Flags: SYSTEM_AUDIT_OBJECT_ACE_FLAGS,
|
|
ObjectType: Guid,
|
|
InheritedObjectType: Guid,
|
|
SidStart: u32,
|
|
};
|
|
|
|
pub const ACL_INFORMATION_CLASS = enum(i32) {
|
|
RevisionInformation = 1,
|
|
SizeInformation = 2,
|
|
};
|
|
pub const AclRevisionInformation = ACL_INFORMATION_CLASS.RevisionInformation;
|
|
pub const AclSizeInformation = ACL_INFORMATION_CLASS.SizeInformation;
|
|
|
|
pub const ACL_REVISION_INFORMATION = extern struct {
|
|
AclRevision: u32,
|
|
};
|
|
|
|
pub const ACL_SIZE_INFORMATION = extern struct {
|
|
AceCount: u32,
|
|
AclBytesInUse: u32,
|
|
AclBytesFree: u32,
|
|
};
|
|
|
|
pub const SECURITY_DESCRIPTOR = extern struct {
|
|
Revision: u8,
|
|
Sbz1: u8,
|
|
Control: u16,
|
|
Owner: ?PSID,
|
|
Group: ?PSID,
|
|
Sacl: ?*ACL,
|
|
Dacl: ?*ACL,
|
|
};
|
|
|
|
pub const OBJECT_TYPE_LIST = extern struct {
|
|
Level: u16,
|
|
Sbz: u16,
|
|
ObjectType: ?*Guid,
|
|
};
|
|
|
|
pub const AUDIT_EVENT_TYPE = enum(i32) {
|
|
ObjectAccess = 0,
|
|
DirectoryServiceAccess = 1,
|
|
};
|
|
pub const AuditEventObjectAccess = AUDIT_EVENT_TYPE.ObjectAccess;
|
|
pub const AuditEventDirectoryServiceAccess = AUDIT_EVENT_TYPE.DirectoryServiceAccess;
|
|
|
|
pub const PRIVILEGE_SET = extern struct {
|
|
PrivilegeCount: u32,
|
|
Control: u32,
|
|
Privilege: [1]LUID_AND_ATTRIBUTES,
|
|
};
|
|
|
|
pub const ACCESS_REASONS = extern struct {
|
|
Data: [32]u32,
|
|
};
|
|
|
|
pub const SE_SECURITY_DESCRIPTOR = extern struct {
|
|
Size: u32,
|
|
Flags: u32,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
};
|
|
|
|
pub const SE_ACCESS_REQUEST = extern struct {
|
|
Size: u32,
|
|
SeSecurityDescriptor: ?*SE_SECURITY_DESCRIPTOR,
|
|
DesiredAccess: u32,
|
|
PreviouslyGrantedAccess: u32,
|
|
PrincipalSelfSid: ?PSID,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectTypeListCount: u32,
|
|
ObjectTypeList: ?*OBJECT_TYPE_LIST,
|
|
};
|
|
|
|
pub const SE_ACCESS_REPLY = extern struct {
|
|
Size: u32,
|
|
ResultListCount: u32,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*u32,
|
|
AccessReason: ?*ACCESS_REASONS,
|
|
Privileges: ?*?*PRIVILEGE_SET,
|
|
};
|
|
|
|
pub const SECURITY_IMPERSONATION_LEVEL = enum(i32) {
|
|
Anonymous = 0,
|
|
Identification = 1,
|
|
Impersonation = 2,
|
|
Delegation = 3,
|
|
};
|
|
pub const SecurityAnonymous = SECURITY_IMPERSONATION_LEVEL.Anonymous;
|
|
pub const SecurityIdentification = SECURITY_IMPERSONATION_LEVEL.Identification;
|
|
pub const SecurityImpersonation = SECURITY_IMPERSONATION_LEVEL.Impersonation;
|
|
pub const SecurityDelegation = SECURITY_IMPERSONATION_LEVEL.Delegation;
|
|
|
|
pub const TOKEN_TYPE = enum(i32) {
|
|
Primary = 1,
|
|
Impersonation = 2,
|
|
};
|
|
pub const TokenPrimary = TOKEN_TYPE.Primary;
|
|
pub const TokenImpersonation = TOKEN_TYPE.Impersonation;
|
|
|
|
pub const TOKEN_ELEVATION_TYPE = enum(i32) {
|
|
Default = 1,
|
|
Full = 2,
|
|
Limited = 3,
|
|
};
|
|
pub const TokenElevationTypeDefault = TOKEN_ELEVATION_TYPE.Default;
|
|
pub const TokenElevationTypeFull = TOKEN_ELEVATION_TYPE.Full;
|
|
pub const TokenElevationTypeLimited = TOKEN_ELEVATION_TYPE.Limited;
|
|
|
|
pub const TOKEN_INFORMATION_CLASS = enum(i32) {
|
|
TokenUser = 1,
|
|
TokenGroups = 2,
|
|
TokenPrivileges = 3,
|
|
TokenOwner = 4,
|
|
TokenPrimaryGroup = 5,
|
|
TokenDefaultDacl = 6,
|
|
TokenSource = 7,
|
|
TokenType = 8,
|
|
TokenImpersonationLevel = 9,
|
|
TokenStatistics = 10,
|
|
TokenRestrictedSids = 11,
|
|
TokenSessionId = 12,
|
|
TokenGroupsAndPrivileges = 13,
|
|
TokenSessionReference = 14,
|
|
TokenSandBoxInert = 15,
|
|
TokenAuditPolicy = 16,
|
|
TokenOrigin = 17,
|
|
TokenElevationType = 18,
|
|
TokenLinkedToken = 19,
|
|
TokenElevation = 20,
|
|
TokenHasRestrictions = 21,
|
|
TokenAccessInformation = 22,
|
|
TokenVirtualizationAllowed = 23,
|
|
TokenVirtualizationEnabled = 24,
|
|
TokenIntegrityLevel = 25,
|
|
TokenUIAccess = 26,
|
|
TokenMandatoryPolicy = 27,
|
|
TokenLogonSid = 28,
|
|
TokenIsAppContainer = 29,
|
|
TokenCapabilities = 30,
|
|
TokenAppContainerSid = 31,
|
|
TokenAppContainerNumber = 32,
|
|
TokenUserClaimAttributes = 33,
|
|
TokenDeviceClaimAttributes = 34,
|
|
TokenRestrictedUserClaimAttributes = 35,
|
|
TokenRestrictedDeviceClaimAttributes = 36,
|
|
TokenDeviceGroups = 37,
|
|
TokenRestrictedDeviceGroups = 38,
|
|
TokenSecurityAttributes = 39,
|
|
TokenIsRestricted = 40,
|
|
TokenProcessTrustLevel = 41,
|
|
TokenPrivateNameSpace = 42,
|
|
TokenSingletonAttributes = 43,
|
|
TokenBnoIsolation = 44,
|
|
TokenChildProcessFlags = 45,
|
|
TokenIsLessPrivilegedAppContainer = 46,
|
|
TokenIsSandboxed = 47,
|
|
MaxTokenInfoClass = 48,
|
|
};
|
|
pub const TokenUser = TOKEN_INFORMATION_CLASS.TokenUser;
|
|
pub const TokenGroups = TOKEN_INFORMATION_CLASS.TokenGroups;
|
|
pub const TokenPrivileges = TOKEN_INFORMATION_CLASS.TokenPrivileges;
|
|
pub const TokenOwner = TOKEN_INFORMATION_CLASS.TokenOwner;
|
|
pub const TokenPrimaryGroup = TOKEN_INFORMATION_CLASS.TokenPrimaryGroup;
|
|
pub const TokenDefaultDacl = TOKEN_INFORMATION_CLASS.TokenDefaultDacl;
|
|
pub const TokenSource = TOKEN_INFORMATION_CLASS.TokenSource;
|
|
pub const TokenType = TOKEN_INFORMATION_CLASS.TokenType;
|
|
pub const TokenImpersonationLevel = TOKEN_INFORMATION_CLASS.TokenImpersonationLevel;
|
|
pub const TokenStatistics = TOKEN_INFORMATION_CLASS.TokenStatistics;
|
|
pub const TokenRestrictedSids = TOKEN_INFORMATION_CLASS.TokenRestrictedSids;
|
|
pub const TokenSessionId = TOKEN_INFORMATION_CLASS.TokenSessionId;
|
|
pub const TokenGroupsAndPrivileges = TOKEN_INFORMATION_CLASS.TokenGroupsAndPrivileges;
|
|
pub const TokenSessionReference = TOKEN_INFORMATION_CLASS.TokenSessionReference;
|
|
pub const TokenSandBoxInert = TOKEN_INFORMATION_CLASS.TokenSandBoxInert;
|
|
pub const TokenAuditPolicy = TOKEN_INFORMATION_CLASS.TokenAuditPolicy;
|
|
pub const TokenOrigin = TOKEN_INFORMATION_CLASS.TokenOrigin;
|
|
pub const TokenElevationType = TOKEN_INFORMATION_CLASS.TokenElevationType;
|
|
pub const TokenLinkedToken = TOKEN_INFORMATION_CLASS.TokenLinkedToken;
|
|
pub const TokenElevation = TOKEN_INFORMATION_CLASS.TokenElevation;
|
|
pub const TokenHasRestrictions = TOKEN_INFORMATION_CLASS.TokenHasRestrictions;
|
|
pub const TokenAccessInformation = TOKEN_INFORMATION_CLASS.TokenAccessInformation;
|
|
pub const TokenVirtualizationAllowed = TOKEN_INFORMATION_CLASS.TokenVirtualizationAllowed;
|
|
pub const TokenVirtualizationEnabled = TOKEN_INFORMATION_CLASS.TokenVirtualizationEnabled;
|
|
pub const TokenIntegrityLevel = TOKEN_INFORMATION_CLASS.TokenIntegrityLevel;
|
|
pub const TokenUIAccess = TOKEN_INFORMATION_CLASS.TokenUIAccess;
|
|
pub const TokenMandatoryPolicy = TOKEN_INFORMATION_CLASS.TokenMandatoryPolicy;
|
|
pub const TokenLogonSid = TOKEN_INFORMATION_CLASS.TokenLogonSid;
|
|
pub const TokenIsAppContainer = TOKEN_INFORMATION_CLASS.TokenIsAppContainer;
|
|
pub const TokenCapabilities = TOKEN_INFORMATION_CLASS.TokenCapabilities;
|
|
pub const TokenAppContainerSid = TOKEN_INFORMATION_CLASS.TokenAppContainerSid;
|
|
pub const TokenAppContainerNumber = TOKEN_INFORMATION_CLASS.TokenAppContainerNumber;
|
|
pub const TokenUserClaimAttributes = TOKEN_INFORMATION_CLASS.TokenUserClaimAttributes;
|
|
pub const TokenDeviceClaimAttributes = TOKEN_INFORMATION_CLASS.TokenDeviceClaimAttributes;
|
|
pub const TokenRestrictedUserClaimAttributes = TOKEN_INFORMATION_CLASS.TokenRestrictedUserClaimAttributes;
|
|
pub const TokenRestrictedDeviceClaimAttributes = TOKEN_INFORMATION_CLASS.TokenRestrictedDeviceClaimAttributes;
|
|
pub const TokenDeviceGroups = TOKEN_INFORMATION_CLASS.TokenDeviceGroups;
|
|
pub const TokenRestrictedDeviceGroups = TOKEN_INFORMATION_CLASS.TokenRestrictedDeviceGroups;
|
|
pub const TokenSecurityAttributes = TOKEN_INFORMATION_CLASS.TokenSecurityAttributes;
|
|
pub const TokenIsRestricted = TOKEN_INFORMATION_CLASS.TokenIsRestricted;
|
|
pub const TokenProcessTrustLevel = TOKEN_INFORMATION_CLASS.TokenProcessTrustLevel;
|
|
pub const TokenPrivateNameSpace = TOKEN_INFORMATION_CLASS.TokenPrivateNameSpace;
|
|
pub const TokenSingletonAttributes = TOKEN_INFORMATION_CLASS.TokenSingletonAttributes;
|
|
pub const TokenBnoIsolation = TOKEN_INFORMATION_CLASS.TokenBnoIsolation;
|
|
pub const TokenChildProcessFlags = TOKEN_INFORMATION_CLASS.TokenChildProcessFlags;
|
|
pub const TokenIsLessPrivilegedAppContainer = TOKEN_INFORMATION_CLASS.TokenIsLessPrivilegedAppContainer;
|
|
pub const TokenIsSandboxed = TOKEN_INFORMATION_CLASS.TokenIsSandboxed;
|
|
pub const MaxTokenInfoClass = TOKEN_INFORMATION_CLASS.MaxTokenInfoClass;
|
|
|
|
pub const TOKEN_USER = extern struct {
|
|
User: SID_AND_ATTRIBUTES,
|
|
};
|
|
|
|
pub const TOKEN_GROUPS = extern struct {
|
|
GroupCount: u32,
|
|
Groups: [1]SID_AND_ATTRIBUTES,
|
|
};
|
|
|
|
pub const TOKEN_PRIVILEGES = extern struct {
|
|
PrivilegeCount: u32,
|
|
Privileges: [1]LUID_AND_ATTRIBUTES,
|
|
};
|
|
|
|
pub const TOKEN_OWNER = extern struct {
|
|
Owner: ?PSID,
|
|
};
|
|
|
|
pub const TOKEN_PRIMARY_GROUP = extern struct {
|
|
PrimaryGroup: ?PSID,
|
|
};
|
|
|
|
pub const TOKEN_DEFAULT_DACL = extern struct {
|
|
DefaultDacl: ?*ACL,
|
|
};
|
|
|
|
pub const TOKEN_USER_CLAIMS = extern struct {
|
|
UserClaims: ?*anyopaque,
|
|
};
|
|
|
|
pub const TOKEN_DEVICE_CLAIMS = extern struct {
|
|
DeviceClaims: ?*anyopaque,
|
|
};
|
|
|
|
pub const TOKEN_GROUPS_AND_PRIVILEGES = extern struct {
|
|
SidCount: u32,
|
|
SidLength: u32,
|
|
Sids: ?*SID_AND_ATTRIBUTES,
|
|
RestrictedSidCount: u32,
|
|
RestrictedSidLength: u32,
|
|
RestrictedSids: ?*SID_AND_ATTRIBUTES,
|
|
PrivilegeCount: u32,
|
|
PrivilegeLength: u32,
|
|
Privileges: ?*LUID_AND_ATTRIBUTES,
|
|
AuthenticationId: LUID,
|
|
};
|
|
|
|
pub const TOKEN_LINKED_TOKEN = extern struct {
|
|
LinkedToken: ?HANDLE,
|
|
};
|
|
|
|
pub const TOKEN_ELEVATION = extern struct {
|
|
TokenIsElevated: u32,
|
|
};
|
|
|
|
pub const TOKEN_MANDATORY_LABEL = extern struct {
|
|
Label: SID_AND_ATTRIBUTES,
|
|
};
|
|
|
|
pub const TOKEN_MANDATORY_POLICY = extern struct {
|
|
Policy: TOKEN_MANDATORY_POLICY_ID,
|
|
};
|
|
|
|
pub const TOKEN_ACCESS_INFORMATION = extern struct {
|
|
SidHash: ?*SID_AND_ATTRIBUTES_HASH,
|
|
RestrictedSidHash: ?*SID_AND_ATTRIBUTES_HASH,
|
|
Privileges: ?*TOKEN_PRIVILEGES,
|
|
AuthenticationId: LUID,
|
|
TokenType: TOKEN_TYPE,
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
MandatoryPolicy: TOKEN_MANDATORY_POLICY,
|
|
Flags: u32,
|
|
AppContainerNumber: u32,
|
|
PackageSid: ?PSID,
|
|
CapabilitiesHash: ?*SID_AND_ATTRIBUTES_HASH,
|
|
TrustLevelSid: ?PSID,
|
|
SecurityAttributes: ?*anyopaque,
|
|
};
|
|
|
|
pub const TOKEN_AUDIT_POLICY = extern struct {
|
|
PerUserPolicy: [30]u8,
|
|
};
|
|
|
|
pub const TOKEN_SOURCE = extern struct {
|
|
SourceName: [8]CHAR,
|
|
SourceIdentifier: LUID,
|
|
};
|
|
|
|
pub const TOKEN_STATISTICS = extern struct {
|
|
TokenId: LUID,
|
|
AuthenticationId: LUID,
|
|
ExpirationTime: LARGE_INTEGER,
|
|
TokenType: TOKEN_TYPE,
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
DynamicCharged: u32,
|
|
DynamicAvailable: u32,
|
|
GroupCount: u32,
|
|
PrivilegeCount: u32,
|
|
ModifiedId: LUID,
|
|
};
|
|
|
|
pub const TOKEN_CONTROL = extern struct {
|
|
TokenId: LUID,
|
|
AuthenticationId: LUID,
|
|
ModifiedId: LUID,
|
|
TokenSource: TOKEN_SOURCE,
|
|
};
|
|
|
|
pub const TOKEN_ORIGIN = extern struct {
|
|
OriginatingLogonSession: LUID,
|
|
};
|
|
|
|
pub const MANDATORY_LEVEL = enum(i32) {
|
|
Untrusted = 0,
|
|
Low = 1,
|
|
Medium = 2,
|
|
High = 3,
|
|
System = 4,
|
|
SecureProcess = 5,
|
|
Count = 6,
|
|
};
|
|
pub const MandatoryLevelUntrusted = MANDATORY_LEVEL.Untrusted;
|
|
pub const MandatoryLevelLow = MANDATORY_LEVEL.Low;
|
|
pub const MandatoryLevelMedium = MANDATORY_LEVEL.Medium;
|
|
pub const MandatoryLevelHigh = MANDATORY_LEVEL.High;
|
|
pub const MandatoryLevelSystem = MANDATORY_LEVEL.System;
|
|
pub const MandatoryLevelSecureProcess = MANDATORY_LEVEL.SecureProcess;
|
|
pub const MandatoryLevelCount = MANDATORY_LEVEL.Count;
|
|
|
|
pub const TOKEN_APPCONTAINER_INFORMATION = extern struct {
|
|
TokenAppContainer: ?PSID,
|
|
};
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE = extern struct {
|
|
Version: u64,
|
|
Name: ?PWSTR,
|
|
};
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE = extern struct {
|
|
pValue: ?*anyopaque,
|
|
ValueLength: u32,
|
|
};
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_V1 = extern struct {
|
|
Name: ?PWSTR,
|
|
ValueType: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE,
|
|
Reserved: u16,
|
|
Flags: u32,
|
|
ValueCount: u32,
|
|
Values: extern union {
|
|
pInt64: ?*i64,
|
|
pUint64: ?*u64,
|
|
ppString: ?*?PWSTR,
|
|
pFqbn: ?*CLAIM_SECURITY_ATTRIBUTE_FQBN_VALUE,
|
|
pOctetString: ?*CLAIM_SECURITY_ATTRIBUTE_OCTET_STRING_VALUE,
|
|
},
|
|
};
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 = extern struct {
|
|
Name: u32,
|
|
ValueType: CLAIM_SECURITY_ATTRIBUTE_VALUE_TYPE,
|
|
Reserved: u16,
|
|
Flags: CLAIM_SECURITY_ATTRIBUTE_FLAGS,
|
|
ValueCount: u32,
|
|
Values: extern union {
|
|
pInt64: [1]u32,
|
|
pUint64: [1]u32,
|
|
ppString: [1]u32,
|
|
pFqbn: [1]u32,
|
|
pOctetString: [1]u32,
|
|
},
|
|
};
|
|
|
|
pub const CLAIM_SECURITY_ATTRIBUTES_INFORMATION = extern struct {
|
|
Version: u16,
|
|
Reserved: u16,
|
|
AttributeCount: u32,
|
|
Attribute: extern union {
|
|
pAttributeV1: ?*CLAIM_SECURITY_ATTRIBUTE_V1,
|
|
},
|
|
};
|
|
|
|
pub const SECURITY_QUALITY_OF_SERVICE = extern struct {
|
|
Length: u32,
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
ContextTrackingMode: u8,
|
|
EffectiveOnly: BOOLEAN,
|
|
};
|
|
|
|
pub const SE_IMPERSONATION_STATE = extern struct {
|
|
Token: ?*anyopaque,
|
|
CopyOnOpen: BOOLEAN,
|
|
EffectiveOnly: BOOLEAN,
|
|
Level: SECURITY_IMPERSONATION_LEVEL,
|
|
};
|
|
|
|
pub const SECURITY_CAPABILITIES = extern struct {
|
|
AppContainerSid: ?PSID,
|
|
Capabilities: ?*SID_AND_ATTRIBUTES,
|
|
CapabilityCount: u32,
|
|
Reserved: u32,
|
|
};
|
|
|
|
pub const QUOTA_LIMITS = extern struct {
|
|
PagedPoolLimit: usize,
|
|
NonPagedPoolLimit: usize,
|
|
MinimumWorkingSetSize: usize,
|
|
MaximumWorkingSetSize: usize,
|
|
PagefileLimit: usize,
|
|
TimeLimit: LARGE_INTEGER,
|
|
};
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Functions (133)
|
|
//--------------------------------------------------------------------------------
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheck(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
// TODO: what to do with BytesParamIndex 5?
|
|
PrivilegeSet: ?*PRIVILEGE_SET,
|
|
PrivilegeSetLength: ?*u32,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn AccessCheckAndAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?PWSTR,
|
|
ObjectName: ?PWSTR,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
DesiredAccess: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckByType(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
// TODO: what to do with BytesParamIndex 8?
|
|
PrivilegeSet: ?*PRIVILEGE_SET,
|
|
PrivilegeSetLength: ?*u32,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckByTypeResultList(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
// TODO: what to do with BytesParamIndex 8?
|
|
PrivilegeSet: ?*PRIVILEGE_SET,
|
|
PrivilegeSetLength: ?*u32,
|
|
GrantedAccessList: [*]u32,
|
|
AccessStatusList: [*]u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn AccessCheckByTypeAndAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?[*:0]const u16,
|
|
ObjectName: ?[*:0]const u16,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn AccessCheckByTypeResultListAndAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?[*:0]const u16,
|
|
ObjectName: ?[*:0]const u16,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccessList: [*]u32,
|
|
AccessStatusList: [*]u32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn AccessCheckByTypeResultListAndAuditAlarmByHandleW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ClientToken: ?HANDLE,
|
|
ObjectTypeName: ?[*:0]const u16,
|
|
ObjectName: ?[*:0]const u16,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccessList: [*]u32,
|
|
AccessStatusList: [*]u32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessAllowedAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessAllowedAceEx(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessAllowedObjectAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
ObjectTypeGuid: ?*Guid,
|
|
InheritedObjectTypeGuid: ?*Guid,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessDeniedAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessDeniedAceEx(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAccessDeniedObjectAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
ObjectTypeGuid: ?*Guid,
|
|
InheritedObjectTypeGuid: ?*Guid,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
dwStartingAceIndex: u32,
|
|
// TODO: what to do with BytesParamIndex 4?
|
|
pAceList: ?*anyopaque,
|
|
nAceListLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAuditAccessAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
dwAccessMask: u32,
|
|
pSid: ?PSID,
|
|
bAuditSuccess: BOOL,
|
|
bAuditFailure: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAuditAccessAceEx(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
dwAccessMask: u32,
|
|
pSid: ?PSID,
|
|
bAuditSuccess: BOOL,
|
|
bAuditFailure: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AddAuditAccessObjectAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
ObjectTypeGuid: ?*Guid,
|
|
InheritedObjectTypeGuid: ?*Guid,
|
|
pSid: ?PSID,
|
|
bAuditSuccess: BOOL,
|
|
bAuditFailure: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "advapi32" fn AddMandatoryAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: ACE_REVISION,
|
|
AceFlags: ACE_FLAGS,
|
|
MandatoryPolicy: u32,
|
|
pLabelSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn AddResourceAttributeAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
pAttributeInfo: ?*CLAIM_SECURITY_ATTRIBUTES_INFORMATION,
|
|
pReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn AddScopedPolicyIDAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AdjustTokenGroups(
|
|
TokenHandle: ?HANDLE,
|
|
ResetToDefault: BOOL,
|
|
NewState: ?*TOKEN_GROUPS,
|
|
BufferLength: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
PreviousState: ?*TOKEN_GROUPS,
|
|
ReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AdjustTokenPrivileges(
|
|
TokenHandle: ?HANDLE,
|
|
DisableAllPrivileges: BOOL,
|
|
NewState: ?*TOKEN_PRIVILEGES,
|
|
BufferLength: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
PreviousState: ?*TOKEN_PRIVILEGES,
|
|
ReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AllocateAndInitializeSid(
|
|
pIdentifierAuthority: ?*SID_IDENTIFIER_AUTHORITY,
|
|
nSubAuthorityCount: u8,
|
|
nSubAuthority0: u32,
|
|
nSubAuthority1: u32,
|
|
nSubAuthority2: u32,
|
|
nSubAuthority3: u32,
|
|
nSubAuthority4: u32,
|
|
nSubAuthority5: u32,
|
|
nSubAuthority6: u32,
|
|
nSubAuthority7: u32,
|
|
pSid: ?*?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AllocateLocallyUniqueId(
|
|
Luid: ?*LUID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AreAllAccessesGranted(
|
|
GrantedAccess: u32,
|
|
DesiredAccess: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AreAnyAccessesGranted(
|
|
GrantedAccess: u32,
|
|
DesiredAccess: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CheckTokenMembership(
|
|
TokenHandle: ?HANDLE,
|
|
SidToCheck: ?PSID,
|
|
IsMember: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn CheckTokenCapability(
|
|
TokenHandle: ?HANDLE,
|
|
CapabilitySidToCheck: ?PSID,
|
|
HasCapability: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn GetAppContainerAce(
|
|
Acl: ?*ACL,
|
|
StartingAceIndex: u32,
|
|
AppContainerAce: ?*?*anyopaque,
|
|
AppContainerAceIndex: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows8.0'
|
|
pub extern "kernel32" fn CheckTokenMembershipEx(
|
|
TokenHandle: ?HANDLE,
|
|
SidToCheck: ?PSID,
|
|
Flags: u32,
|
|
IsMember: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ConvertToAutoInheritPrivateObjectSecurity(
|
|
ParentDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
CurrentSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
NewSecurityDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
ObjectType: ?*Guid,
|
|
IsDirectoryObject: BOOLEAN,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CopySid(
|
|
nDestinationSidLength: u32,
|
|
// TODO: what to do with BytesParamIndex 0?
|
|
pDestinationSid: ?PSID,
|
|
pSourceSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CreatePrivateObjectSecurity(
|
|
ParentDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
CreatorDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
NewDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
IsDirectoryObject: BOOL,
|
|
Token: ?HANDLE,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CreatePrivateObjectSecurityEx(
|
|
ParentDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
CreatorDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
NewDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
ObjectType: ?*Guid,
|
|
IsContainerObject: BOOL,
|
|
AutoInheritFlags: SECURITY_AUTO_INHERIT_FLAGS,
|
|
Token: ?HANDLE,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CreatePrivateObjectSecurityWithMultipleInheritance(
|
|
ParentDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
CreatorDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
NewDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
ObjectTypes: ?[*]?*Guid,
|
|
GuidCount: u32,
|
|
IsContainerObject: BOOL,
|
|
AutoInheritFlags: SECURITY_AUTO_INHERIT_FLAGS,
|
|
Token: ?HANDLE,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CreateRestrictedToken(
|
|
ExistingTokenHandle: ?HANDLE,
|
|
Flags: CREATE_RESTRICTED_TOKEN_FLAGS,
|
|
DisableSidCount: u32,
|
|
SidsToDisable: ?[*]SID_AND_ATTRIBUTES,
|
|
DeletePrivilegeCount: u32,
|
|
PrivilegesToDelete: ?[*]LUID_AND_ATTRIBUTES,
|
|
RestrictedSidCount: u32,
|
|
SidsToRestrict: ?[*]SID_AND_ATTRIBUTES,
|
|
NewTokenHandle: ?*?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn CreateWellKnownSid(
|
|
WellKnownSidType: WELL_KNOWN_SID_TYPE,
|
|
DomainSid: ?PSID,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pSid: ?PSID,
|
|
cbSid: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn EqualDomainSid(
|
|
pSid1: ?PSID,
|
|
pSid2: ?PSID,
|
|
pfEqual: ?*BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn DeleteAce(
|
|
pAcl: ?*ACL,
|
|
dwAceIndex: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn DestroyPrivateObjectSecurity(
|
|
ObjectDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn DuplicateToken(
|
|
ExistingTokenHandle: ?HANDLE,
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
DuplicateTokenHandle: ?*?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn DuplicateTokenEx(
|
|
hExistingToken: ?HANDLE,
|
|
dwDesiredAccess: TOKEN_ACCESS_MASK,
|
|
lpTokenAttributes: ?*SECURITY_ATTRIBUTES,
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
TokenType: TOKEN_TYPE,
|
|
phNewToken: ?*?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn EqualPrefixSid(
|
|
pSid1: ?PSID,
|
|
pSid2: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn EqualSid(
|
|
pSid1: ?PSID,
|
|
pSid2: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn FindFirstFreeAce(
|
|
pAcl: ?*ACL,
|
|
pAce: ?*?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn FreeSid(
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*anyopaque;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetAce(
|
|
pAcl: ?*ACL,
|
|
dwAceIndex: u32,
|
|
pAce: ?*?*anyopaque,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetAclInformation(
|
|
pAcl: ?*ACL,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pAclInformation: ?*anyopaque,
|
|
nAclInformationLength: u32,
|
|
dwAclInformationClass: ACL_INFORMATION_CLASS,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn GetFileSecurityW(
|
|
lpFileName: ?[*:0]const u16,
|
|
RequestedInformation: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
nLength: u32,
|
|
lpnLengthNeeded: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetKernelObjectSecurity(
|
|
Handle: ?HANDLE,
|
|
RequestedInformation: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
nLength: u32,
|
|
lpnLengthNeeded: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetLengthSid(
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetPrivateObjectSecurity(
|
|
ObjectDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
SecurityInformation: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
ResultantDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
DescriptorLength: u32,
|
|
ReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorControl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
pControl: ?*u16,
|
|
lpdwRevision: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorDacl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
lpbDaclPresent: ?*i32,
|
|
pDacl: ?*?*ACL,
|
|
lpbDaclDefaulted: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorGroup(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
pGroup: ?*?PSID,
|
|
lpbGroupDefaulted: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorLength(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorOwner(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
pOwner: ?*?PSID,
|
|
lpbOwnerDefaulted: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorRMControl(
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
RMControl: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSecurityDescriptorSacl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
lpbSaclPresent: ?*i32,
|
|
pSacl: ?*?*ACL,
|
|
lpbSaclDefaulted: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSidIdentifierAuthority(
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*SID_IDENTIFIER_AUTHORITY;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSidLengthRequired(
|
|
nSubAuthorityCount: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSidSubAuthority(
|
|
pSid: ?PSID,
|
|
nSubAuthority: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetSidSubAuthorityCount(
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) ?*u8;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetTokenInformation(
|
|
TokenHandle: ?HANDLE,
|
|
TokenInformationClass: TOKEN_INFORMATION_CLASS,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
TokenInformation: ?*anyopaque,
|
|
TokenInformationLength: u32,
|
|
ReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetWindowsAccountDomainSid(
|
|
pSid: ?PSID,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pDomainSid: ?PSID,
|
|
cbDomainSid: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ImpersonateAnonymousToken(
|
|
ThreadHandle: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ImpersonateLoggedOnUser(
|
|
hToken: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ImpersonateSelf(
|
|
ImpersonationLevel: SECURITY_IMPERSONATION_LEVEL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn InitializeAcl(
|
|
// TODO: what to do with BytesParamIndex 1?
|
|
pAcl: ?*ACL,
|
|
nAclLength: u32,
|
|
dwAclRevision: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn InitializeSecurityDescriptor(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
dwRevision: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn InitializeSid(
|
|
Sid: ?PSID,
|
|
pIdentifierAuthority: ?*SID_IDENTIFIER_AUTHORITY,
|
|
nSubAuthorityCount: u8,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn IsTokenRestricted(
|
|
TokenHandle: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn IsValidAcl(
|
|
pAcl: ?*ACL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn IsValidSecurityDescriptor(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn IsValidSid(
|
|
pSid: ?PSID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn IsWellKnownSid(
|
|
pSid: ?PSID,
|
|
WellKnownSidType: WELL_KNOWN_SID_TYPE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn MakeAbsoluteSD(
|
|
pSelfRelativeSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pAbsoluteSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
lpdwAbsoluteSecurityDescriptorSize: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 4?
|
|
pDacl: ?*ACL,
|
|
lpdwDaclSize: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 6?
|
|
pSacl: ?*ACL,
|
|
lpdwSaclSize: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 8?
|
|
pOwner: ?PSID,
|
|
lpdwOwnerSize: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 10?
|
|
pPrimaryGroup: ?PSID,
|
|
lpdwPrimaryGroupSize: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn MakeSelfRelativeSD(
|
|
pAbsoluteSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pSelfRelativeSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
lpdwBufferLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn MapGenericMask(
|
|
AccessMask: ?*u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
pub extern "advapi32" fn ObjectCloseAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
GenerateOnClose: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn ObjectDeleteAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
GenerateOnClose: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn ObjectOpenAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?PWSTR,
|
|
ObjectName: ?PWSTR,
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
GrantedAccess: u32,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
ObjectCreation: BOOL,
|
|
AccessGranted: BOOL,
|
|
GenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn ObjectPrivilegeAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
HandleId: ?*anyopaque,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
AccessGranted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn PrivilegeCheck(
|
|
ClientToken: ?HANDLE,
|
|
RequiredPrivileges: ?*PRIVILEGE_SET,
|
|
pfResult: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn PrivilegedServiceAuditAlarmW(
|
|
SubsystemName: ?[*:0]const u16,
|
|
ServiceName: ?[*:0]const u16,
|
|
ClientToken: ?HANDLE,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
AccessGranted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "advapi32" fn QuerySecurityAccessMask(
|
|
SecurityInformation: u32,
|
|
DesiredAccess: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn RevertToSelf(
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetAclInformation(
|
|
pAcl: ?*ACL,
|
|
// TODO: what to do with BytesParamIndex 2?
|
|
pAclInformation: ?*anyopaque,
|
|
nAclInformationLength: u32,
|
|
dwAclInformationClass: ACL_INFORMATION_CLASS,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "advapi32" fn SetFileSecurityW(
|
|
lpFileName: ?[*:0]const u16,
|
|
SecurityInformation: u32,
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetKernelObjectSecurity(
|
|
Handle: ?HANDLE,
|
|
SecurityInformation: u32,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetPrivateObjectSecurity(
|
|
SecurityInformation: u32,
|
|
ModificationDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ObjectsSecurityDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
Token: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetPrivateObjectSecurityEx(
|
|
SecurityInformation: u32,
|
|
ModificationDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ObjectsSecurityDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
AutoInheritFlags: SECURITY_AUTO_INHERIT_FLAGS,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
Token: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.0.6000'
|
|
pub extern "advapi32" fn SetSecurityAccessMask(
|
|
SecurityInformation: u32,
|
|
DesiredAccess: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) void;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorControl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ControlBitsOfInterest: u16,
|
|
ControlBitsToSet: u16,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorDacl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
bDaclPresent: BOOL,
|
|
pDacl: ?*ACL,
|
|
bDaclDefaulted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorGroup(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
pGroup: ?PSID,
|
|
bGroupDefaulted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorOwner(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
pOwner: ?PSID,
|
|
bOwnerDefaulted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorRMControl(
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
RMControl: ?*u8,
|
|
) callconv(@import("std").os.windows.WINAPI) u32;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetSecurityDescriptorSacl(
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
bSaclPresent: BOOL,
|
|
pSacl: ?*ACL,
|
|
bSaclDefaulted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetTokenInformation(
|
|
TokenHandle: ?HANDLE,
|
|
TokenInformationClass: TOKEN_INFORMATION_CLASS,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
TokenInformation: ?*anyopaque,
|
|
TokenInformationLength: u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn SetCachedSigningLevel(
|
|
SourceFiles: [*]?HANDLE,
|
|
SourceFileCount: u32,
|
|
Flags: u32,
|
|
TargetFile: ?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "kernel32" fn GetCachedSigningLevel(
|
|
File: ?HANDLE,
|
|
Flags: ?*u32,
|
|
SigningLevel: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 4?
|
|
Thumbprint: ?*u8,
|
|
ThumbprintSize: ?*u32,
|
|
ThumbprintAlgorithm: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "api-ms-win-security-base-l1-2-2" fn DeriveCapabilitySidsFromName(
|
|
CapName: ?[*:0]const u16,
|
|
CapabilityGroupSids: ?*?*?PSID,
|
|
CapabilityGroupSidCount: ?*u32,
|
|
CapabilitySids: ?*?*?PSID,
|
|
CapabilitySidCount: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
pub extern "ntdll" fn RtlNormalizeSecurityDescriptor(
|
|
SecurityDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
SecurityDescriptorLength: u32,
|
|
NewSecurityDescriptor: ?*?PSECURITY_DESCRIPTOR,
|
|
NewSecurityDescriptorLength: ?*u32,
|
|
CheckOnly: BOOLEAN,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOLEAN;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "user32" fn SetUserObjectSecurity(
|
|
hObj: ?HANDLE,
|
|
pSIRequested: ?*OBJECT_SECURITY_INFORMATION,
|
|
pSID: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "user32" fn GetUserObjectSecurity(
|
|
hObj: ?HANDLE,
|
|
pSIRequested: ?*u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pSID: ?PSECURITY_DESCRIPTOR,
|
|
nLength: u32,
|
|
lpnLengthNeeded: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckAndAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?PSTR,
|
|
ObjectName: ?PSTR,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
DesiredAccess: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckByTypeAndAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?[*:0]const u8,
|
|
ObjectName: ?[*:0]const u8,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: ?*u32,
|
|
AccessStatus: ?*i32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckByTypeResultListAndAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?[*:0]const u8,
|
|
ObjectName: ?[*:0]const u8,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: [*]u32,
|
|
AccessStatusList: [*]u32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn AccessCheckByTypeResultListAndAuditAlarmByHandleA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ClientToken: ?HANDLE,
|
|
ObjectTypeName: ?[*:0]const u8,
|
|
ObjectName: ?[*:0]const u8,
|
|
SecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
PrincipalSelfSid: ?PSID,
|
|
DesiredAccess: u32,
|
|
AuditType: AUDIT_EVENT_TYPE,
|
|
Flags: u32,
|
|
ObjectTypeList: ?[*]OBJECT_TYPE_LIST,
|
|
ObjectTypeListLength: u32,
|
|
GenericMapping: ?*GENERIC_MAPPING,
|
|
ObjectCreation: BOOL,
|
|
GrantedAccess: [*]u32,
|
|
AccessStatusList: [*]u32,
|
|
pfGenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ObjectOpenAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ObjectTypeName: ?PSTR,
|
|
ObjectName: ?PSTR,
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
GrantedAccess: u32,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
ObjectCreation: BOOL,
|
|
AccessGranted: BOOL,
|
|
GenerateOnClose: ?*i32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ObjectPrivilegeAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
ClientToken: ?HANDLE,
|
|
DesiredAccess: u32,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
AccessGranted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ObjectCloseAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
GenerateOnClose: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn ObjectDeleteAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
HandleId: ?*anyopaque,
|
|
GenerateOnClose: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn PrivilegedServiceAuditAlarmA(
|
|
SubsystemName: ?[*:0]const u8,
|
|
ServiceName: ?[*:0]const u8,
|
|
ClientToken: ?HANDLE,
|
|
Privileges: ?*PRIVILEGE_SET,
|
|
AccessGranted: BOOL,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows6.1'
|
|
pub extern "advapi32" fn AddConditionalAce(
|
|
pAcl: ?*ACL,
|
|
dwAceRevision: u32,
|
|
AceFlags: ACE_FLAGS,
|
|
AceType: u8,
|
|
AccessMask: u32,
|
|
pSid: ?PSID,
|
|
ConditionStr: ?[*]u16,
|
|
ReturnLength: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn SetFileSecurityA(
|
|
lpFileName: ?[*:0]const u8,
|
|
SecurityInformation: u32,
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn GetFileSecurityA(
|
|
lpFileName: ?[*:0]const u8,
|
|
RequestedInformation: u32,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
pSecurityDescriptor: ?PSECURITY_DESCRIPTOR,
|
|
nLength: u32,
|
|
lpnLengthNeeded: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupAccountSidA(
|
|
lpSystemName: ?[*:0]const u8,
|
|
Sid: ?PSID,
|
|
Name: ?[*:0]u8,
|
|
cchName: ?*u32,
|
|
ReferencedDomainName: ?[*:0]u8,
|
|
cchReferencedDomainName: ?*u32,
|
|
peUse: ?*SID_NAME_USE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupAccountSidW(
|
|
lpSystemName: ?[*:0]const u16,
|
|
Sid: ?PSID,
|
|
Name: ?[*:0]u16,
|
|
cchName: ?*u32,
|
|
ReferencedDomainName: ?[*:0]u16,
|
|
cchReferencedDomainName: ?*u32,
|
|
peUse: ?*SID_NAME_USE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupAccountNameA(
|
|
lpSystemName: ?[*:0]const u8,
|
|
lpAccountName: ?[*:0]const u8,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
Sid: ?PSID,
|
|
cbSid: ?*u32,
|
|
ReferencedDomainName: ?[*:0]u8,
|
|
cchReferencedDomainName: ?*u32,
|
|
peUse: ?*SID_NAME_USE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupAccountNameW(
|
|
lpSystemName: ?[*:0]const u16,
|
|
lpAccountName: ?[*:0]const u16,
|
|
// TODO: what to do with BytesParamIndex 3?
|
|
Sid: ?PSID,
|
|
cbSid: ?*u32,
|
|
ReferencedDomainName: ?[*:0]u16,
|
|
cchReferencedDomainName: ?*u32,
|
|
peUse: ?*SID_NAME_USE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeValueA(
|
|
lpSystemName: ?[*:0]const u8,
|
|
lpName: ?[*:0]const u8,
|
|
lpLuid: ?*LUID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeValueW(
|
|
lpSystemName: ?[*:0]const u16,
|
|
lpName: ?[*:0]const u16,
|
|
lpLuid: ?*LUID,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeNameA(
|
|
lpSystemName: ?[*:0]const u8,
|
|
lpLuid: ?*LUID,
|
|
lpName: ?[*:0]u8,
|
|
cchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeNameW(
|
|
lpSystemName: ?[*:0]const u16,
|
|
lpLuid: ?*LUID,
|
|
lpName: ?[*:0]u16,
|
|
cchName: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeDisplayNameA(
|
|
lpSystemName: ?[*:0]const u8,
|
|
lpName: ?[*:0]const u8,
|
|
lpDisplayName: ?[*:0]u8,
|
|
cchDisplayName: ?*u32,
|
|
lpLanguageId: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LookupPrivilegeDisplayNameW(
|
|
lpSystemName: ?[*:0]const u16,
|
|
lpName: ?[*:0]const u16,
|
|
lpDisplayName: ?[*:0]u16,
|
|
cchDisplayName: ?*u32,
|
|
lpLanguageId: ?*u32,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LogonUserA(
|
|
lpszUsername: ?[*:0]const u8,
|
|
lpszDomain: ?[*:0]const u8,
|
|
lpszPassword: ?[*:0]const u8,
|
|
dwLogonType: LOGON32_LOGON,
|
|
dwLogonProvider: LOGON32_PROVIDER,
|
|
phToken: ?*?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LogonUserW(
|
|
lpszUsername: ?[*:0]const u16,
|
|
lpszDomain: ?[*:0]const u16,
|
|
lpszPassword: ?[*:0]const u16,
|
|
dwLogonType: LOGON32_LOGON,
|
|
dwLogonProvider: LOGON32_PROVIDER,
|
|
phToken: ?*?HANDLE,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LogonUserExA(
|
|
lpszUsername: ?[*:0]const u8,
|
|
lpszDomain: ?[*:0]const u8,
|
|
lpszPassword: ?[*:0]const u8,
|
|
dwLogonType: LOGON32_LOGON,
|
|
dwLogonProvider: LOGON32_PROVIDER,
|
|
phToken: ?*?HANDLE,
|
|
ppLogonSid: ?*?PSID,
|
|
// TODO: what to do with BytesParamIndex 8?
|
|
ppProfileBuffer: ?*?*anyopaque,
|
|
pdwProfileLength: ?*u32,
|
|
pQuotaLimits: ?*QUOTA_LIMITS,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "advapi32" fn LogonUserExW(
|
|
lpszUsername: ?[*:0]const u16,
|
|
lpszDomain: ?[*:0]const u16,
|
|
lpszPassword: ?[*:0]const u16,
|
|
dwLogonType: LOGON32_LOGON,
|
|
dwLogonProvider: LOGON32_PROVIDER,
|
|
phToken: ?*?HANDLE,
|
|
ppLogonSid: ?*?PSID,
|
|
// TODO: what to do with BytesParamIndex 8?
|
|
ppProfileBuffer: ?*?*anyopaque,
|
|
pdwProfileLength: ?*u32,
|
|
pQuotaLimits: ?*QUOTA_LIMITS,
|
|
) callconv(@import("std").os.windows.WINAPI) BOOL;
|
|
|
|
// TODO: this type is limited to platform 'windows5.1.2600'
|
|
pub extern "ntdll" fn RtlConvertSidToUnicodeString(
|
|
UnicodeString: ?*UNICODE_STRING,
|
|
Sid: ?PSID,
|
|
AllocateDestinationString: BOOLEAN,
|
|
) callconv(@import("std").os.windows.WINAPI) NTSTATUS;
|
|
|
|
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Unicode Aliases (18)
|
|
//--------------------------------------------------------------------------------
|
|
const thismodule = @This();
|
|
pub usingnamespace switch (@import("zig.zig").unicode_mode) {
|
|
.ansi => struct {
|
|
pub const AccessCheckAndAuditAlarm = thismodule.AccessCheckAndAuditAlarmA;
|
|
pub const AccessCheckByTypeAndAuditAlarm = thismodule.AccessCheckByTypeAndAuditAlarmA;
|
|
pub const AccessCheckByTypeResultListAndAuditAlarm = thismodule.AccessCheckByTypeResultListAndAuditAlarmA;
|
|
pub const AccessCheckByTypeResultListAndAuditAlarmByHandle = thismodule.AccessCheckByTypeResultListAndAuditAlarmByHandleA;
|
|
pub const GetFileSecurity = thismodule.GetFileSecurityA;
|
|
pub const ObjectCloseAuditAlarm = thismodule.ObjectCloseAuditAlarmA;
|
|
pub const ObjectDeleteAuditAlarm = thismodule.ObjectDeleteAuditAlarmA;
|
|
pub const ObjectOpenAuditAlarm = thismodule.ObjectOpenAuditAlarmA;
|
|
pub const ObjectPrivilegeAuditAlarm = thismodule.ObjectPrivilegeAuditAlarmA;
|
|
pub const PrivilegedServiceAuditAlarm = thismodule.PrivilegedServiceAuditAlarmA;
|
|
pub const SetFileSecurity = thismodule.SetFileSecurityA;
|
|
pub const LookupAccountSid = thismodule.LookupAccountSidA;
|
|
pub const LookupAccountName = thismodule.LookupAccountNameA;
|
|
pub const LookupPrivilegeValue = thismodule.LookupPrivilegeValueA;
|
|
pub const LookupPrivilegeName = thismodule.LookupPrivilegeNameA;
|
|
pub const LookupPrivilegeDisplayName = thismodule.LookupPrivilegeDisplayNameA;
|
|
pub const LogonUser = thismodule.LogonUserA;
|
|
pub const LogonUserEx = thismodule.LogonUserExA;
|
|
},
|
|
.wide => struct {
|
|
pub const AccessCheckAndAuditAlarm = thismodule.AccessCheckAndAuditAlarmW;
|
|
pub const AccessCheckByTypeAndAuditAlarm = thismodule.AccessCheckByTypeAndAuditAlarmW;
|
|
pub const AccessCheckByTypeResultListAndAuditAlarm = thismodule.AccessCheckByTypeResultListAndAuditAlarmW;
|
|
pub const AccessCheckByTypeResultListAndAuditAlarmByHandle = thismodule.AccessCheckByTypeResultListAndAuditAlarmByHandleW;
|
|
pub const GetFileSecurity = thismodule.GetFileSecurityW;
|
|
pub const ObjectCloseAuditAlarm = thismodule.ObjectCloseAuditAlarmW;
|
|
pub const ObjectDeleteAuditAlarm = thismodule.ObjectDeleteAuditAlarmW;
|
|
pub const ObjectOpenAuditAlarm = thismodule.ObjectOpenAuditAlarmW;
|
|
pub const ObjectPrivilegeAuditAlarm = thismodule.ObjectPrivilegeAuditAlarmW;
|
|
pub const PrivilegedServiceAuditAlarm = thismodule.PrivilegedServiceAuditAlarmW;
|
|
pub const SetFileSecurity = thismodule.SetFileSecurityW;
|
|
pub const LookupAccountSid = thismodule.LookupAccountSidW;
|
|
pub const LookupAccountName = thismodule.LookupAccountNameW;
|
|
pub const LookupPrivilegeValue = thismodule.LookupPrivilegeValueW;
|
|
pub const LookupPrivilegeName = thismodule.LookupPrivilegeNameW;
|
|
pub const LookupPrivilegeDisplayName = thismodule.LookupPrivilegeDisplayNameW;
|
|
pub const LogonUser = thismodule.LogonUserW;
|
|
pub const LogonUserEx = thismodule.LogonUserExW;
|
|
},
|
|
.unspecified => if (@import("builtin").is_test) struct {
|
|
pub const AccessCheckAndAuditAlarm = *opaque{};
|
|
pub const AccessCheckByTypeAndAuditAlarm = *opaque{};
|
|
pub const AccessCheckByTypeResultListAndAuditAlarm = *opaque{};
|
|
pub const AccessCheckByTypeResultListAndAuditAlarmByHandle = *opaque{};
|
|
pub const GetFileSecurity = *opaque{};
|
|
pub const ObjectCloseAuditAlarm = *opaque{};
|
|
pub const ObjectDeleteAuditAlarm = *opaque{};
|
|
pub const ObjectOpenAuditAlarm = *opaque{};
|
|
pub const ObjectPrivilegeAuditAlarm = *opaque{};
|
|
pub const PrivilegedServiceAuditAlarm = *opaque{};
|
|
pub const SetFileSecurity = *opaque{};
|
|
pub const LookupAccountSid = *opaque{};
|
|
pub const LookupAccountName = *opaque{};
|
|
pub const LookupPrivilegeValue = *opaque{};
|
|
pub const LookupPrivilegeName = *opaque{};
|
|
pub const LookupPrivilegeDisplayName = *opaque{};
|
|
pub const LogonUser = *opaque{};
|
|
pub const LogonUserEx = *opaque{};
|
|
} else struct {
|
|
pub const AccessCheckAndAuditAlarm = @compileError("'AccessCheckAndAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const AccessCheckByTypeAndAuditAlarm = @compileError("'AccessCheckByTypeAndAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const AccessCheckByTypeResultListAndAuditAlarm = @compileError("'AccessCheckByTypeResultListAndAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const AccessCheckByTypeResultListAndAuditAlarmByHandle = @compileError("'AccessCheckByTypeResultListAndAuditAlarmByHandle' requires that UNICODE be set to true or false in the root module");
|
|
pub const GetFileSecurity = @compileError("'GetFileSecurity' requires that UNICODE be set to true or false in the root module");
|
|
pub const ObjectCloseAuditAlarm = @compileError("'ObjectCloseAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const ObjectDeleteAuditAlarm = @compileError("'ObjectDeleteAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const ObjectOpenAuditAlarm = @compileError("'ObjectOpenAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const ObjectPrivilegeAuditAlarm = @compileError("'ObjectPrivilegeAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const PrivilegedServiceAuditAlarm = @compileError("'PrivilegedServiceAuditAlarm' requires that UNICODE be set to true or false in the root module");
|
|
pub const SetFileSecurity = @compileError("'SetFileSecurity' requires that UNICODE be set to true or false in the root module");
|
|
pub const LookupAccountSid = @compileError("'LookupAccountSid' requires that UNICODE be set to true or false in the root module");
|
|
pub const LookupAccountName = @compileError("'LookupAccountName' requires that UNICODE be set to true or false in the root module");
|
|
pub const LookupPrivilegeValue = @compileError("'LookupPrivilegeValue' requires that UNICODE be set to true or false in the root module");
|
|
pub const LookupPrivilegeName = @compileError("'LookupPrivilegeName' requires that UNICODE be set to true or false in the root module");
|
|
pub const LookupPrivilegeDisplayName = @compileError("'LookupPrivilegeDisplayName' requires that UNICODE be set to true or false in the root module");
|
|
pub const LogonUser = @compileError("'LogonUser' requires that UNICODE be set to true or false in the root module");
|
|
pub const LogonUserEx = @compileError("'LogonUserEx' requires that UNICODE be set to true or false in the root module");
|
|
},
|
|
};
|
|
//--------------------------------------------------------------------------------
|
|
// Section: Imports (13)
|
|
//--------------------------------------------------------------------------------
|
|
const Guid = @import("zig.zig").Guid;
|
|
const BOOL = @import("foundation.zig").BOOL;
|
|
const BOOLEAN = @import("foundation.zig").BOOLEAN;
|
|
const CHAR = @import("foundation.zig").CHAR;
|
|
const FILETIME = @import("foundation.zig").FILETIME;
|
|
const HANDLE = @import("foundation.zig").HANDLE;
|
|
const LARGE_INTEGER = @import("foundation.zig").LARGE_INTEGER;
|
|
const LUID = @import("foundation.zig").LUID;
|
|
const NTSTATUS = @import("foundation.zig").NTSTATUS;
|
|
const PSID = @import("foundation.zig").PSID;
|
|
const PSTR = @import("foundation.zig").PSTR;
|
|
const PWSTR = @import("foundation.zig").PWSTR;
|
|
const UNICODE_STRING = @import("foundation.zig").UNICODE_STRING;
|
|
|
|
test {
|
|
// The following '_ = <FuncPtrType>' lines are a workaround for https://github.com/ziglang/zig/issues/4476
|
|
if (@hasDecl(@This(), "PLSA_AP_CALL_PACKAGE_UNTRUSTED")) { _ = PLSA_AP_CALL_PACKAGE_UNTRUSTED; }
|
|
if (@hasDecl(@This(), "SEC_THREAD_START")) { _ = SEC_THREAD_START; }
|
|
|
|
@setEvalBranchQuota(
|
|
comptime @import("std").meta.declarations(@This()).len * 3
|
|
);
|
|
|
|
// reference all the pub declarations
|
|
if (!@import("builtin").is_test) return;
|
|
inline for (comptime @import("std").meta.declarations(@This())) |decl| {
|
|
_ = @field(@This(), decl.name);
|
|
}
|
|
}
|
|
//--------------------------------------------------------------------------------
|
|
// Section: SubModules (16)
|
|
//--------------------------------------------------------------------------------
|
|
pub const app_locker = @import("security/app_locker.zig");
|
|
pub const authentication = @import("security/authentication.zig");
|
|
pub const authorization = @import("security/authorization.zig");
|
|
pub const configuration_snapin = @import("security/configuration_snapin.zig");
|
|
pub const credentials = @import("security/credentials.zig");
|
|
pub const cryptography = @import("security/cryptography.zig");
|
|
pub const diagnostic_data_query = @import("security/diagnostic_data_query.zig");
|
|
pub const directory_services = @import("security/directory_services.zig");
|
|
pub const enterprise_data = @import("security/enterprise_data.zig");
|
|
pub const extensible_authentication_protocol = @import("security/extensible_authentication_protocol.zig");
|
|
pub const isolation = @import("security/isolation.zig");
|
|
pub const license_protection = @import("security/license_protection.zig");
|
|
pub const network_access_protection = @import("security/network_access_protection.zig");
|
|
pub const tpm = @import("security/tpm.zig");
|
|
pub const win_trust = @import("security/win_trust.zig");
|
|
pub const win_wlx = @import("security/win_wlx.zig");
|