summaryrefslogtreecommitdiff
path: root/librpc/gen_ndr/lsa.h
diff options
context:
space:
mode:
authorJelmer Vernooij <jelmer@samba.org>2008-12-16 15:59:06 +0100
committerJelmer Vernooij <jelmer@samba.org>2008-12-16 15:59:06 +0100
commitca7e4ce97a39f1536047478388302c708d34d372 (patch)
treece1b9b68ce74394e4ead049f34caea86f2651433 /librpc/gen_ndr/lsa.h
parentb2a01ef5dd66618a130e2a1d4cc1d755ba3624a8 (diff)
downloadsamba-ca7e4ce97a39f1536047478388302c708d34d372.tar.gz
samba-ca7e4ce97a39f1536047478388302c708d34d372.tar.bz2
samba-ca7e4ce97a39f1536047478388302c708d34d372.zip
Move shared gen_ndr files to librpc/gen_ndr in the root.
At the moment these files are used just by Samba 3, but the next step will be using them from Samba 4 as well.
Diffstat (limited to 'librpc/gen_ndr/lsa.h')
-rw-r--r--librpc/gen_ndr/lsa.h1785
1 files changed, 1785 insertions, 0 deletions
diff --git a/librpc/gen_ndr/lsa.h b/librpc/gen_ndr/lsa.h
new file mode 100644
index 0000000000..ee8a31138d
--- /dev/null
+++ b/librpc/gen_ndr/lsa.h
@@ -0,0 +1,1785 @@
+/* header auto-generated by pidl */
+
+#include <stdint.h>
+
+#include "librpc/gen_ndr/misc.h"
+#include "librpc/gen_ndr/security.h"
+#ifndef _HEADER_lsarpc
+#define _HEADER_lsarpc
+
+#define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
+#define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
+#define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
+#define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
+#define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
+#define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
+struct lsa_String {
+ uint16_t length;/* [value(2*strlen_m(string))] */
+ uint16_t size;/* [value(2*strlen_m(string))] */
+ const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
+}/* [public] */;
+
+struct lsa_StringLarge {
+ uint16_t length;/* [value(2*strlen_m(string))] */
+ uint16_t size;/* [value(2*strlen_m_term(string))] */
+ const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
+}/* [public] */;
+
+struct lsa_Strings {
+ uint32_t count;
+ struct lsa_String *names;/* [unique,size_is(count)] */
+}/* [public] */;
+
+struct lsa_AsciiString {
+ uint16_t length;/* [value(strlen_m(string))] */
+ uint16_t size;/* [value(strlen_m(string))] */
+ const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
+}/* [public] */;
+
+struct lsa_AsciiStringLarge {
+ uint16_t length;/* [value(strlen_m(string))] */
+ uint16_t size;/* [value(strlen_m_term(string))] */
+ const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
+}/* [public] */;
+
+struct lsa_BinaryString {
+ uint16_t length;
+ uint16_t size;
+ uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
+}/* [public] */;
+
+struct lsa_LUID {
+ uint32_t low;
+ uint32_t high;
+};
+
+struct lsa_PrivEntry {
+ struct lsa_StringLarge name;
+ struct lsa_LUID luid;
+};
+
+struct lsa_PrivArray {
+ uint32_t count;
+ struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
+};
+
+struct lsa_QosInfo {
+ uint32_t len;
+ uint16_t impersonation_level;
+ uint8_t context_mode;
+ uint8_t effective_only;
+};
+
+struct lsa_ObjectAttribute {
+ uint32_t len;
+ uint8_t *root_dir;/* [unique] */
+ const char *object_name;/* [unique,charset(UTF16)] */
+ uint32_t attributes;
+ struct security_descriptor *sec_desc;/* [unique] */
+ struct lsa_QosInfo *sec_qos;/* [unique] */
+};
+
+/* bitmap lsa_PolicyAccessMask */
+#define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
+#define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
+#define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
+#define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
+#define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
+#define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
+#define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
+#define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
+#define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
+#define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
+#define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
+#define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
+
+struct lsa_AuditLogInfo {
+ uint32_t percent_full;
+ uint32_t maximum_log_size;
+ uint64_t retention_time;
+ uint8_t shutdown_in_progress;
+ uint64_t time_to_shutdown;
+ uint32_t next_audit_record;
+};
+
+enum lsa_PolicyAuditPolicy
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_AUDIT_POLICY_NONE=0,
+ LSA_AUDIT_POLICY_SUCCESS=1,
+ LSA_AUDIT_POLICY_FAILURE=2,
+ LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
+ LSA_AUDIT_POLICY_CLEAR=4
+}
+#else
+ { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
+#define LSA_AUDIT_POLICY_NONE ( 0 )
+#define LSA_AUDIT_POLICY_SUCCESS ( 1 )
+#define LSA_AUDIT_POLICY_FAILURE ( 2 )
+#define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
+#define LSA_AUDIT_POLICY_CLEAR ( 4 )
+#endif
+;
+
+enum lsa_PolicyAuditEventType
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_AUDIT_CATEGORY_SYSTEM=0,
+ LSA_AUDIT_CATEGORY_LOGON=1,
+ LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
+ LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
+ LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
+ LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
+ LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
+ LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
+ LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
+}
+#else
+ { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
+#define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
+#define LSA_AUDIT_CATEGORY_LOGON ( 1 )
+#define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
+#define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
+#define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
+#define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
+#define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
+#define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
+#define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
+#endif
+;
+
+struct lsa_AuditEventsInfo {
+ uint32_t auditing_mode;
+ enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
+ uint32_t count;
+};
+
+struct lsa_DomainInfo {
+ struct lsa_StringLarge name;
+ struct dom_sid2 *sid;/* [unique] */
+};
+
+struct lsa_PDAccountInfo {
+ struct lsa_String name;
+};
+
+enum lsa_Role
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_ROLE_BACKUP=2,
+ LSA_ROLE_PRIMARY=3
+}
+#else
+ { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
+#define LSA_ROLE_BACKUP ( 2 )
+#define LSA_ROLE_PRIMARY ( 3 )
+#endif
+;
+
+struct lsa_ServerRole {
+ enum lsa_Role role;
+};
+
+struct lsa_ReplicaSourceInfo {
+ struct lsa_String source;
+ struct lsa_String account;
+};
+
+struct lsa_DefaultQuotaInfo {
+ uint32_t paged_pool;
+ uint32_t non_paged_pool;
+ uint32_t min_wss;
+ uint32_t max_wss;
+ uint32_t pagefile;
+ uint64_t unknown;
+};
+
+struct lsa_ModificationInfo {
+ uint64_t modified_id;
+ NTTIME db_create_time;
+};
+
+struct lsa_AuditFullSetInfo {
+ uint8_t shutdown_on_full;
+};
+
+struct lsa_AuditFullQueryInfo {
+ uint8_t shutdown_on_full;
+ uint8_t log_is_full;
+};
+
+struct lsa_DnsDomainInfo {
+ struct lsa_StringLarge name;
+ struct lsa_StringLarge dns_domain;
+ struct lsa_StringLarge dns_forest;
+ struct GUID domain_guid;
+ struct dom_sid2 *sid;/* [unique] */
+};
+
+enum lsa_PolicyInfo
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_POLICY_INFO_AUDIT_LOG=1,
+ LSA_POLICY_INFO_AUDIT_EVENTS=2,
+ LSA_POLICY_INFO_DOMAIN=3,
+ LSA_POLICY_INFO_PD=4,
+ LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
+ LSA_POLICY_INFO_ROLE=6,
+ LSA_POLICY_INFO_REPLICA=7,
+ LSA_POLICY_INFO_QUOTA=8,
+ LSA_POLICY_INFO_MOD=9,
+ LSA_POLICY_INFO_AUDIT_FULL_SET=10,
+ LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
+ LSA_POLICY_INFO_DNS=12,
+ LSA_POLICY_INFO_DNS_INT=13,
+ LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
+}
+#else
+ { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
+#define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
+#define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
+#define LSA_POLICY_INFO_DOMAIN ( 3 )
+#define LSA_POLICY_INFO_PD ( 4 )
+#define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
+#define LSA_POLICY_INFO_ROLE ( 6 )
+#define LSA_POLICY_INFO_REPLICA ( 7 )
+#define LSA_POLICY_INFO_QUOTA ( 8 )
+#define LSA_POLICY_INFO_MOD ( 9 )
+#define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
+#define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
+#define LSA_POLICY_INFO_DNS ( 12 )
+#define LSA_POLICY_INFO_DNS_INT ( 13 )
+#define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
+#endif
+;
+
+union lsa_PolicyInformation {
+ struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
+ struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
+ struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
+ struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
+ struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
+ struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
+ struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
+ struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
+ struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
+ struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
+ struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
+ struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
+ struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
+}/* [switch_type(uint16)] */;
+
+struct lsa_SidPtr {
+ struct dom_sid2 *sid;/* [unique] */
+};
+
+struct lsa_SidArray {
+ uint32_t num_sids;/* [range(0,1000)] */
+ struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
+}/* [public] */;
+
+struct lsa_DomainList {
+ uint32_t count;
+ struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
+};
+
+enum lsa_SidType
+#ifndef USE_UINT_ENUMS
+ {
+ SID_NAME_USE_NONE=0,
+ SID_NAME_USER=1,
+ SID_NAME_DOM_GRP=2,
+ SID_NAME_DOMAIN=3,
+ SID_NAME_ALIAS=4,
+ SID_NAME_WKN_GRP=5,
+ SID_NAME_DELETED=6,
+ SID_NAME_INVALID=7,
+ SID_NAME_UNKNOWN=8,
+ SID_NAME_COMPUTER=9
+}
+#else
+ { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
+#define SID_NAME_USE_NONE ( 0 )
+#define SID_NAME_USER ( 1 )
+#define SID_NAME_DOM_GRP ( 2 )
+#define SID_NAME_DOMAIN ( 3 )
+#define SID_NAME_ALIAS ( 4 )
+#define SID_NAME_WKN_GRP ( 5 )
+#define SID_NAME_DELETED ( 6 )
+#define SID_NAME_INVALID ( 7 )
+#define SID_NAME_UNKNOWN ( 8 )
+#define SID_NAME_COMPUTER ( 9 )
+#endif
+;
+
+struct lsa_TranslatedSid {
+ enum lsa_SidType sid_type;
+ uint32_t rid;
+ uint32_t sid_index;
+};
+
+struct lsa_TransSidArray {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
+};
+
+struct lsa_RefDomainList {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
+ uint32_t max_size;
+};
+
+enum lsa_LookupNamesLevel
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_LOOKUP_NAMES_ALL=1,
+ LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
+ LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
+ LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
+ LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
+ LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
+ LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
+}
+#else
+ { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
+#define LSA_LOOKUP_NAMES_ALL ( 1 )
+#define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
+#define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
+#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
+#define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
+#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
+#define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
+#endif
+;
+
+struct lsa_TranslatedName {
+ enum lsa_SidType sid_type;
+ struct lsa_String name;
+ uint32_t sid_index;
+};
+
+struct lsa_TransNameArray {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
+};
+
+struct lsa_LUIDAttribute {
+ struct lsa_LUID luid;
+ uint32_t attribute;
+};
+
+struct lsa_PrivilegeSet {
+ uint32_t count;/* [range(0,1000)] */
+ uint32_t unknown;
+ struct lsa_LUIDAttribute *set;/* [size_is(count)] */
+};
+
+/* bitmap lsa_SystemAccessModeFlags */
+#define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
+#define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
+#define LSA_POLICY_MODE_BATCH ( 0x00000004 )
+#define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
+#define LSA_POLICY_MODE_PROXY ( 0x00000020 )
+#define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
+#define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
+#define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
+#define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
+#define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
+#define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
+#define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
+#define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
+
+struct lsa_DATA_BUF {
+ uint32_t length;
+ uint32_t size;
+ uint8_t *data;/* [unique,length_is(length),size_is(size)] */
+}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
+
+struct lsa_DATA_BUF2 {
+ uint32_t size;/* [range(0,65536)] */
+ uint8_t *data;/* [unique,size_is(size)] */
+}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
+
+enum lsa_TrustDomInfoEnum
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_TRUSTED_DOMAIN_INFO_NAME=1,
+ LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
+ LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
+ LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
+ LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
+ LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
+ LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
+ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
+ LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
+ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
+ LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
+ LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
+ LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
+}
+#else
+ { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
+#define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
+#define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
+#define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
+#define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
+#define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
+#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
+#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
+#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
+#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
+#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
+#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
+#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
+#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
+#endif
+;
+
+/* bitmap lsa_TrustDirection */
+#define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
+#define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
+
+enum lsa_TrustType
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
+ LSA_TRUST_TYPE_UPLEVEL=0x00000002,
+ LSA_TRUST_TYPE_MIT=0x00000003
+}
+#else
+ { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
+#define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
+#define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
+#define LSA_TRUST_TYPE_MIT ( 0x00000003 )
+#endif
+;
+
+/* bitmap lsa_TrustAttributes */
+#define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
+#define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
+#define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
+#define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
+#define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
+#define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
+#define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
+#define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
+
+struct lsa_TrustDomainInfoName {
+ struct lsa_StringLarge netbios_name;
+};
+
+struct lsa_TrustDomainInfoControllers {
+ uint32_t entries;
+ struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
+};
+
+struct lsa_TrustDomainInfoPosixOffset {
+ uint32_t posix_offset;
+};
+
+struct lsa_TrustDomainInfoPassword {
+ struct lsa_DATA_BUF *password;/* [unique] */
+ struct lsa_DATA_BUF *old_password;/* [unique] */
+};
+
+struct lsa_TrustDomainInfoBasic {
+ struct lsa_String netbios_name;
+ struct dom_sid2 *sid;/* [unique] */
+};
+
+struct lsa_TrustDomainInfoInfoEx {
+ struct lsa_StringLarge domain_name;
+ struct lsa_StringLarge netbios_name;
+ struct dom_sid2 *sid;/* [unique] */
+ uint32_t trust_direction;
+ enum lsa_TrustType trust_type;
+ uint32_t trust_attributes;
+};
+
+enum lsa_TrustAuthType
+#ifndef USE_UINT_ENUMS
+ {
+ TRUST_AUTH_TYPE_NONE=0,
+ TRUST_AUTH_TYPE_NT4OWF=1,
+ TRUST_AUTH_TYPE_CLEAR=2,
+ TRUST_AUTH_TYPE_VERSION=3
+}
+#else
+ { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
+#define TRUST_AUTH_TYPE_NONE ( 0 )
+#define TRUST_AUTH_TYPE_NT4OWF ( 1 )
+#define TRUST_AUTH_TYPE_CLEAR ( 2 )
+#define TRUST_AUTH_TYPE_VERSION ( 3 )
+#endif
+;
+
+struct lsa_TrustDomainInfoBuffer {
+ NTTIME last_update_time;
+ enum lsa_TrustAuthType AuthType;
+ struct lsa_DATA_BUF2 data;
+};
+
+struct lsa_TrustDomainInfoAuthInfo {
+ uint32_t incoming_count;
+ struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
+ struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
+ uint32_t outgoing_count;
+ struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
+ struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
+};
+
+struct lsa_TrustDomainInfoFullInfo {
+ struct lsa_TrustDomainInfoInfoEx info_ex;
+ struct lsa_TrustDomainInfoPosixOffset posix_offset;
+ struct lsa_TrustDomainInfoAuthInfo auth_info;
+};
+
+struct lsa_TrustDomainInfoAuthInfoInternal {
+ struct lsa_DATA_BUF2 auth_blob;
+};
+
+struct lsa_TrustDomainInfoFullInfoInternal {
+ struct lsa_TrustDomainInfoInfoEx info_ex;
+ struct lsa_TrustDomainInfoPosixOffset posix_offset;
+ struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
+};
+
+struct lsa_TrustDomainInfoInfoEx2Internal {
+ struct lsa_TrustDomainInfoInfoEx info_ex;
+ uint32_t forest_trust_length;
+ uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
+};
+
+struct lsa_TrustDomainInfoFullInfo2Internal {
+ struct lsa_TrustDomainInfoInfoEx2Internal info;
+ struct lsa_TrustDomainInfoPosixOffset posix_offset;
+ struct lsa_TrustDomainInfoAuthInfo auth_info;
+};
+
+struct lsa_TrustDomainInfoSupportedEncTypes {
+ uint32_t enc_types;
+};
+
+union lsa_TrustedDomainInfo {
+ struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
+ struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
+ struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
+ struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
+ struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
+ struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
+ struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
+ struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
+ struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
+ struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
+ struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
+ struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
+ struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
+}/* [switch_type(lsa_TrustDomInfoEnum)] */;
+
+struct lsa_DATA_BUF_PTR {
+ struct lsa_DATA_BUF *buf;/* [unique] */
+};
+
+struct lsa_RightAttribute {
+ const char *name;/* [unique,charset(UTF16)] */
+};
+
+struct lsa_RightSet {
+ uint32_t count;/* [range(0,256)] */
+ struct lsa_StringLarge *names;/* [unique,size_is(count)] */
+};
+
+struct lsa_DomainListEx {
+ uint32_t count;
+ struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
+};
+
+struct lsa_DomainInfoKerberos {
+ uint32_t enforce_restrictions;
+ uint64_t service_tkt_lifetime;
+ uint64_t user_tkt_lifetime;
+ uint64_t user_tkt_renewaltime;
+ uint64_t clock_skew;
+ uint64_t unknown6;
+};
+
+struct lsa_DomainInfoEfs {
+ uint32_t blob_size;
+ uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
+};
+
+enum lsa_DomainInfoEnum
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_DOMAIN_INFO_POLICY_EFS=2,
+ LSA_DOMAIN_INFO_POLICY_KERBEROS=3
+}
+#else
+ { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
+#define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
+#define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
+#endif
+;
+
+union lsa_DomainInformationPolicy {
+ struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
+ struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
+}/* [switch_type(uint16)] */;
+
+struct lsa_TranslatedName2 {
+ enum lsa_SidType sid_type;
+ struct lsa_String name;
+ uint32_t sid_index;
+ uint32_t unknown;
+};
+
+struct lsa_TransNameArray2 {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
+};
+
+struct lsa_TranslatedSid2 {
+ enum lsa_SidType sid_type;
+ uint32_t rid;
+ uint32_t sid_index;
+ uint32_t unknown;
+};
+
+struct lsa_TransSidArray2 {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
+};
+
+struct lsa_TranslatedSid3 {
+ enum lsa_SidType sid_type;
+ struct dom_sid2 *sid;/* [unique] */
+ uint32_t sid_index;
+ uint32_t flags;
+};
+
+struct lsa_TransSidArray3 {
+ uint32_t count;/* [range(0,1000)] */
+ struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
+};
+
+struct lsa_ForestTrustBinaryData {
+ uint32_t length;/* [range(0,131072)] */
+ uint8_t *data;/* [unique,size_is(length)] */
+};
+
+struct lsa_ForestTrustDomainInfo {
+ struct dom_sid2 *domain_sid;/* [unique] */
+ struct lsa_StringLarge dns_domain_name;
+ struct lsa_StringLarge netbios_domain_name;
+};
+
+union lsa_ForestTrustData {
+ struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
+ struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
+ struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
+ struct lsa_ForestTrustBinaryData data;/* [default] */
+}/* [switch_type(uint32)] */;
+
+enum lsa_ForestTrustRecordType
+#ifndef USE_UINT_ENUMS
+ {
+ LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
+ LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
+ LSA_FOREST_TRUST_DOMAIN_INFO=2,
+ LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
+}
+#else
+ { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
+#define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
+#define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
+#define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
+#define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
+#endif
+;
+
+struct lsa_ForestTrustRecord {
+ uint32_t flags;
+ enum lsa_ForestTrustRecordType level;
+ uint64_t unknown;
+ union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
+};
+
+struct lsa_ForestTrustInformation {
+ uint32_t count;/* [range(0,4000)] */
+ struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
+}/* [public] */;
+
+
+struct lsa_Close {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_Delete {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumPrivs {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t max_count;
+ uint32_t *resume_handle;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_PrivArray *privs;/* [ref] */
+ uint32_t *resume_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QuerySecurity {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t sec_info;
+ } in;
+
+ struct {
+ struct sec_desc_buf **sdbuf;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetSecObj {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t sec_info;
+ struct sec_desc_buf *sdbuf;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_ChangePassword {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenPolicy {
+ struct {
+ uint16_t *system_name;/* [unique] */
+ struct lsa_ObjectAttribute *attr;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryInfoPolicy {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ enum lsa_PolicyInfo level;
+ } in;
+
+ struct {
+ union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetInfoPolicy {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ enum lsa_PolicyInfo level;
+ union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_ClearAuditLog {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CreateAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *acct_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumAccounts {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t num_entries;/* [range(0,8192)] */
+ uint32_t *resume_handle;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_SidArray *sids;/* [ref] */
+ uint32_t *resume_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CreateTrustedDomain {
+ struct {
+ struct policy_handle *policy_handle;/* [ref] */
+ struct lsa_DomainInfo *info;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumTrustDom {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t max_size;
+ uint32_t *resume_handle;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_DomainList *domains;/* [ref] */
+ uint32_t *resume_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupNames {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t num_names;/* [range(0,1000)] */
+ struct lsa_String *names;/* [size_is(num_names)] */
+ enum lsa_LookupNamesLevel level;
+ struct lsa_TransSidArray *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransSidArray *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupSids {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_SidArray *sids;/* [ref] */
+ uint16_t level;
+ struct lsa_TransNameArray *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransNameArray *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CreateSecret {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String name;
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *sec_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *acct_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumPrivsAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_PrivilegeSet **privs;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_AddPrivilegesToAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_PrivilegeSet *privs;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_RemovePrivilegesFromAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint8_t remove_all;
+ struct lsa_PrivilegeSet *privs;/* [unique] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_GetQuotasForAccount {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetQuotasForAccount {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_GetSystemAccessAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ uint32_t *access_mask;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetSystemAccessAccount {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenTrustedDomain {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryTrustedDomainInfo {
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ enum lsa_TrustDomInfoEnum level;
+ } in;
+
+ struct {
+ union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetInformationTrustedDomain {
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ enum lsa_TrustDomInfoEnum level;
+ union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenSecret {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String name;
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *sec_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetSecret {
+ struct {
+ struct policy_handle *sec_handle;/* [ref] */
+ struct lsa_DATA_BUF *new_val;/* [unique] */
+ struct lsa_DATA_BUF *old_val;/* [unique] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QuerySecret {
+ struct {
+ struct policy_handle *sec_handle;/* [ref] */
+ struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
+ NTTIME *new_mtime;/* [unique] */
+ struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
+ NTTIME *old_mtime;/* [unique] */
+ } in;
+
+ struct {
+ struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
+ NTTIME *new_mtime;/* [unique] */
+ struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
+ NTTIME *old_mtime;/* [unique] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupPrivValue {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String *name;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_LUID *luid;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupPrivName {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_LUID *luid;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_StringLarge **name;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupPrivDisplayName {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String *name;/* [ref] */
+ uint16_t language_id;
+ uint16_t language_id_sys;
+ } in;
+
+ struct {
+ struct lsa_StringLarge **disp_name;/* [ref] */
+ uint16_t *returned_language_id;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_DeleteObject {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumAccountsWithUserRight {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String *name;/* [unique] */
+ } in;
+
+ struct {
+ struct lsa_SidArray *sids;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumAccountRights {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RightSet *rights;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_AddAccountRights {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ struct lsa_RightSet *rights;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_RemoveAccountRights {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *sid;/* [ref] */
+ uint8_t remove_all;
+ struct lsa_RightSet *rights;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryTrustedDomainInfoBySid {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *dom_sid;/* [ref] */
+ enum lsa_TrustDomInfoEnum level;
+ } in;
+
+ struct {
+ union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetTrustedDomainInfo {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *dom_sid;/* [ref] */
+ enum lsa_TrustDomInfoEnum level;
+ union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_DeleteTrustedDomain {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct dom_sid2 *dom_sid;/* [ref] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_StorePrivateData {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_RetrievePrivateData {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenPolicy2 {
+ struct {
+ const char *system_name;/* [unique,charset(UTF16)] */
+ struct lsa_ObjectAttribute *attr;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_GetUserName {
+ struct {
+ const char *system_name;/* [unique,charset(UTF16)] */
+ struct lsa_String **account_name;/* [ref] */
+ struct lsa_String **authority_name;/* [unique] */
+ } in;
+
+ struct {
+ struct lsa_String **account_name;/* [ref] */
+ struct lsa_String **authority_name;/* [unique] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryInfoPolicy2 {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ enum lsa_PolicyInfo level;
+ } in;
+
+ struct {
+ union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetInfoPolicy2 {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ enum lsa_PolicyInfo level;
+ union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryTrustedDomainInfoByName {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String *trusted_domain;/* [ref] */
+ enum lsa_TrustDomInfoEnum level;
+ } in;
+
+ struct {
+ union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetTrustedDomainInfoByName {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String trusted_domain;
+ enum lsa_TrustDomInfoEnum level;
+ union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_EnumTrustedDomainsEx {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t max_size;
+ uint32_t *resume_handle;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_DomainListEx *domains;/* [ref] */
+ uint32_t *resume_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CreateTrustedDomainEx {
+ struct {
+ struct policy_handle *policy_handle;/* [ref] */
+ struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
+ struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CloseTrustedDomainEx {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ } in;
+
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_QueryDomainInformationPolicy {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint16_t level;
+ } in;
+
+ struct {
+ union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_SetDomainInformationPolicy {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint16_t level;
+ union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
+ } in;
+
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_OpenTrustedDomainByName {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String name;
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_TestCall {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupSids2 {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_SidArray *sids;/* [ref] */
+ uint16_t level;
+ uint32_t unknown1;
+ uint32_t unknown2;
+ struct lsa_TransNameArray2 *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransNameArray2 *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupNames2 {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t num_names;/* [range(0,1000)] */
+ struct lsa_String *names;/* [size_is(num_names)] */
+ enum lsa_LookupNamesLevel level;
+ uint32_t lookup_options;
+ uint32_t client_revision;
+ struct lsa_TransSidArray2 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransSidArray2 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CreateTrustedDomainEx2 {
+ struct {
+ struct policy_handle *policy_handle;/* [ref] */
+ struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
+ struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
+ uint32_t access_mask;
+ } in;
+
+ struct {
+ struct policy_handle *trustdom_handle;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRWRITE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRREAD {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRENUMERATE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRWRITEDOMAINCREDENTIALS {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRREADDOMAINCREDENTIALS {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRDELETE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRGETTARGETINFO {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRPROFILELOADED {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupNames3 {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ uint32_t num_names;/* [range(0,1000)] */
+ struct lsa_String *names;/* [size_is(num_names)] */
+ enum lsa_LookupNamesLevel level;
+ uint32_t lookup_options;
+ uint32_t client_revision;
+ struct lsa_TransSidArray3 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransSidArray3 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRGETSESSIONTYPES {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARREGISTERAUDITEVENT {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARGENAUDITEVENT {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARUNREGISTERAUDITEVENT {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_lsaRQueryForestTrustInformation {
+ struct {
+ struct policy_handle *handle;/* [ref] */
+ struct lsa_String *trusted_domain_name;/* [ref] */
+ uint16_t unknown;
+ } in;
+
+ struct {
+ struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARSETFORESTTRUSTINFORMATION {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_CREDRRENAME {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupSids3 {
+ struct {
+ struct lsa_SidArray *sids;/* [ref] */
+ uint16_t level;
+ uint32_t unknown1;
+ uint32_t unknown2;
+ struct lsa_TransNameArray2 *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransNameArray2 *names;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LookupNames4 {
+ struct {
+ uint32_t num_names;/* [range(0,1000)] */
+ struct lsa_String *names;/* [size_is(num_names)] */
+ enum lsa_LookupNamesLevel level;
+ uint32_t lookup_options;
+ uint32_t client_revision;
+ struct lsa_TransSidArray3 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ } in;
+
+ struct {
+ struct lsa_RefDomainList **domains;/* [ref] */
+ struct lsa_TransSidArray3 *sids;/* [ref] */
+ uint32_t *count;/* [ref] */
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSAROPENPOLICYSCE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+
+struct lsa_LSARADTREPORTSECURITYEVENT {
+ struct {
+ NTSTATUS result;
+ } out;
+
+};
+
+#endif /* _HEADER_lsarpc */