From ca7e4ce97a39f1536047478388302c708d34d372 Mon Sep 17 00:00:00 2001 From: Jelmer Vernooij Date: Tue, 16 Dec 2008 15:59:06 +0100 Subject: 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. --- librpc/gen_ndr/lsa.h | 1785 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1785 insertions(+) create mode 100644 librpc/gen_ndr/lsa.h (limited to 'librpc/gen_ndr/lsa.h') 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 + +#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 */ -- cgit