diff options
author | Gerald Carter <jerry@samba.org> | 2006-09-08 14:28:06 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:51:18 -0500 |
commit | 2b27c93a9a8471693d7dcb5fdbe8afe65b22ff66 (patch) | |
tree | 75f48eabc8ea83e437bbeb5df541c8162b75d09f /source3/librpc/gen_ndr/lsa.h | |
parent | c2d59d817021b8faacbb035d8d7dd727bc14344c (diff) | |
download | samba-2b27c93a9a8471693d7dcb5fdbe8afe65b22ff66.tar.gz samba-2b27c93a9a8471693d7dcb5fdbe8afe65b22ff66.tar.bz2 samba-2b27c93a9a8471693d7dcb5fdbe8afe65b22ff66.zip |
r18271: Big change:
* autogenerate lsa ndr code
* rename 'enum SID_NAME_USE' to 'enum lsa_SidType'
* merge a log more security descriptor functions from
gen_ndr/ndr_security.c in SAMBA_4_0
The most embarassing thing is the "#define strlen_m strlen"
We need a real implementation in SAMBA_3_0 which I'll work on
after this code is in.
(This used to be commit 3da9f80c28b1e75ef6d46d38fbb81ade6b9fa951)
Diffstat (limited to 'source3/librpc/gen_ndr/lsa.h')
-rw-r--r-- | source3/librpc/gen_ndr/lsa.h | 1409 |
1 files changed, 1409 insertions, 0 deletions
diff --git a/source3/librpc/gen_ndr/lsa.h b/source3/librpc/gen_ndr/lsa.h new file mode 100644 index 0000000000..50fb1faa97 --- /dev/null +++ b/source3/librpc/gen_ndr/lsa.h @@ -0,0 +1,1409 @@ +/* header auto-generated by pidl */ + +#ifndef _HEADER_lsarpc +#define _HEADER_lsarpc + +#include "librpc/gen_ndr/security.h" +#define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 ) +#define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 ) +#define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 ) +struct lsa_String { + uint16_t length;/* [keepref,value(2*strlen_m(string))] */ + uint16_t size;/* [keepref,value(2*strlen_m(string))] */ + const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */ +}/* [public,noejs] */; + +struct lsa_StringLarge { + uint16_t length;/* [keepref,value(2*strlen_m(string))] */ + uint16_t size;/* [keepref,value(2*(strlen_m(string)+1))] */ + const char *string;/* [unique,keepref,charset(UTF16),length_is(length/2),size_is(size/2)] */ +}/* [public] */; + +struct lsa_Strings { + uint32_t count;/* [keepref] */ + struct lsa_String *names;/* [unique,keepref,size_is(count)] */ +}/* [public] */; + +struct lsa_AsciiString { + uint16_t length;/* [keepref,value(strlen_m(string))] */ + uint16_t size;/* [keepref,value(strlen_m(string))] */ + const char * string;/* [unique,keepref,flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_LEN4)] */ +}/* [public] */; + +struct lsa_LUID { + uint32_t low;/* [keepref] */ + uint32_t high;/* [keepref] */ +}; + +struct lsa_PrivEntry { + struct lsa_StringLarge name;/* [keepref] */ + struct lsa_LUID luid;/* [keepref] */ +}; + +struct lsa_PrivArray { + uint32_t count;/* [keepref] */ + struct lsa_PrivEntry *privs;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_QosInfo { + uint32_t len;/* [keepref] */ + uint16_t impersonation_level;/* [keepref] */ + uint8_t context_mode;/* [keepref] */ + uint8_t effective_only;/* [keepref] */ +}; + +struct lsa_ObjectAttribute { + uint32_t len;/* [keepref] */ + uint8_t *root_dir;/* [unique,keepref] */ + const char *object_name;/* [unique,keepref,charset(UTF16)] */ + uint32_t attributes;/* [keepref] */ + struct security_descriptor *sec_desc;/* [unique,keepref] */ + struct lsa_QosInfo *sec_qos;/* [unique,keepref] */ +}; + +struct lsa_AuditLogInfo { + uint32_t percent_full;/* [keepref] */ + uint32_t log_size;/* [keepref] */ + NTTIME retention_time;/* [keepref] */ + uint8_t shutdown_in_progress;/* [keepref] */ + NTTIME time_to_shutdown;/* [keepref] */ + uint32_t next_audit_record;/* [keepref] */ + uint32_t unknown;/* [keepref] */ +}; + +struct lsa_AuditEventsInfo { + uint32_t auditing_mode;/* [keepref] */ + uint32_t *settings;/* [unique,keepref,size_is(count)] */ + uint32_t count;/* [keepref] */ +}; + +struct lsa_DomainInfo { + struct lsa_StringLarge name;/* [keepref] */ + struct dom_sid2 *sid;/* [unique,keepref] */ +}; + +struct lsa_PDAccountInfo { + struct lsa_String name;/* [keepref] */ +}; + +struct lsa_ServerRole { + uint16_t unknown;/* [keepref] */ + uint16_t role;/* [keepref] */ +}; + +struct lsa_ReplicaSourceInfo { + struct lsa_String source;/* [keepref] */ + struct lsa_String account;/* [keepref] */ +}; + +struct lsa_DefaultQuotaInfo { + uint32_t paged_pool;/* [keepref] */ + uint32_t non_paged_pool;/* [keepref] */ + uint32_t min_wss;/* [keepref] */ + uint32_t max_wss;/* [keepref] */ + uint32_t pagefile;/* [keepref] */ + uint64_t unknown;/* [keepref] */ +}; + +struct lsa_ModificationInfo { + uint64_t modified_id;/* [keepref] */ + NTTIME db_create_time;/* [keepref] */ +}; + +struct lsa_AuditFullSetInfo { + uint8_t shutdown_on_full;/* [keepref] */ +}; + +struct lsa_AuditFullQueryInfo { + uint16_t unknown;/* [keepref] */ + uint8_t shutdown_on_full;/* [keepref] */ + uint8_t log_is_full;/* [keepref] */ +}; + +struct lsa_DnsDomainInfo { + struct lsa_StringLarge name;/* [keepref] */ + struct lsa_StringLarge dns_domain;/* [keepref] */ + struct lsa_StringLarge dns_forest;/* [keepref] */ + struct GUID domain_guid;/* [keepref] */ + struct dom_sid2 *sid;/* [unique,keepref] */ +}; + +enum lsaPolicyInfo { + 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_DB=9, + LSA_POLICY_INFO_AUDIT_FULL_SET=10, + LSA_POLICY_INFO_AUDIT_FULL_QUERY=11, + LSA_POLICY_INFO_DNS=12 +}; + +union lsa_PolicyInformation { + struct lsa_AuditLogInfo audit_log;/* [keepref,case(LSA_POLICY_INFO_AUDIT_LOG)] */ + struct lsa_AuditEventsInfo audit_events;/* [keepref,case(LSA_POLICY_INFO_AUDIT_EVENTS)] */ + struct lsa_DomainInfo domain;/* [keepref,case(LSA_POLICY_INFO_DOMAIN)] */ + struct lsa_PDAccountInfo pd;/* [keepref,case(LSA_POLICY_INFO_PD)] */ + struct lsa_DomainInfo account_domain;/* [keepref,case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */ + struct lsa_ServerRole role;/* [keepref,case(LSA_POLICY_INFO_ROLE)] */ + struct lsa_ReplicaSourceInfo replica;/* [keepref,case(LSA_POLICY_INFO_REPLICA)] */ + struct lsa_DefaultQuotaInfo quota;/* [keepref,case(LSA_POLICY_INFO_QUOTA)] */ + struct lsa_ModificationInfo db;/* [keepref,case(LSA_POLICY_INFO_DB)] */ + struct lsa_AuditFullSetInfo auditfullset;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */ + struct lsa_AuditFullQueryInfo auditfullquery;/* [keepref,case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */ + struct lsa_DnsDomainInfo dns;/* [keepref,case(LSA_POLICY_INFO_DNS)] */ +}/* [switch_type(uint16)] */; + +struct lsa_SidPtr { + struct dom_sid2 *sid;/* [unique,keepref] */ +}; + +struct lsa_SidArray { + uint32_t num_sids;/* [keepref,range(0 1000)] */ + struct lsa_SidPtr *sids;/* [unique,keepref,size_is(num_sids)] */ +}/* [public] */; + +struct lsa_DomainList { + uint32_t count;/* [keepref] */ + struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */ +}; + +enum lsa_SidType { + 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 +}; + +struct lsa_TranslatedSid { + enum lsa_SidType sid_type;/* [keepref] */ + uint32_t rid;/* [keepref] */ + uint32_t sid_index;/* [keepref] */ +}; + +struct lsa_TransSidArray { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_TranslatedSid *sids;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_RefDomainList { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_DomainInfo *domains;/* [unique,keepref,size_is(count)] */ + uint32_t max_size;/* [keepref] */ +}; + +struct lsa_TranslatedName { + enum lsa_SidType sid_type;/* [keepref] */ + struct lsa_String name;/* [keepref] */ + uint32_t sid_index;/* [keepref] */ +}; + +struct lsa_TransNameArray { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_TranslatedName *names;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_LUIDAttribute { + struct lsa_LUID luid;/* [keepref] */ + uint32_t attribute;/* [keepref] */ +}; + +struct lsa_PrivilegeSet { + uint32_t count;/* [keepref,range(0 1000)] */ + uint32_t unknown;/* [keepref] */ + struct lsa_LUIDAttribute *set;/* [keepref,size_is(count)] */ +}; + +struct lsa_DATA_BUF { + uint32_t length;/* [keepref] */ + uint32_t size;/* [keepref] */ + uint8_t *data;/* [unique,keepref,length_is(length),size_is(size)] */ +}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; + +struct lsa_DATA_BUF2 { + uint32_t size;/* [keepref,range(0 65536)] */ + uint8_t *data;/* [unique,keepref,size_is(size)] */ +}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */; + +enum lsa_TrustDomInfoEnum { + LSA_TRUSTED_DOMAIN_INFO_NAME=1, + LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO=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_11=11, + LSA_TRUSTED_DOMAIN_INFO_INFO_ALL=12 +}; + +struct lsa_TrustDomainInfoName { + struct lsa_StringLarge netbios_name;/* [keepref] */ +}; + +struct lsa_TrustDomainInfoPosixOffset { + uint32_t posix_offset;/* [keepref] */ +}; + +struct lsa_TrustDomainInfoPassword { + struct lsa_DATA_BUF *password;/* [unique,keepref] */ + struct lsa_DATA_BUF *old_password;/* [unique,keepref] */ +}; + +struct lsa_TrustDomainInfoBasic { + struct lsa_String netbios_name;/* [keepref] */ + struct dom_sid2 *sid;/* [unique,keepref] */ +}; + +struct lsa_TrustDomainInfoInfoEx { + struct lsa_StringLarge domain_name;/* [keepref] */ + struct lsa_StringLarge netbios_name;/* [keepref] */ + struct dom_sid2 *sid;/* [unique,keepref] */ + uint32_t trust_direction;/* [keepref] */ + uint32_t trust_type;/* [keepref] */ + uint32_t trust_attributes;/* [keepref] */ +}; + +struct lsa_TrustDomainInfoBuffer { + NTTIME last_update_time;/* [keepref] */ + uint32_t secret_type;/* [keepref] */ + struct lsa_DATA_BUF2 data;/* [keepref] */ +}; + +struct lsa_TrustDomainInfoAuthInfo { + uint32_t incoming_count;/* [keepref] */ + struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique,keepref] */ + struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique,keepref] */ + uint32_t outgoing_count;/* [keepref] */ + struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique,keepref] */ + struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique,keepref] */ +}; + +struct lsa_TrustDomainInfoFullInfo { + struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ + struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */ + struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */ +}; + +struct lsa_TrustDomainInfo11 { + struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ + struct lsa_DATA_BUF2 data1;/* [keepref] */ +}; + +struct lsa_TrustDomainInfoInfoAll { + struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref] */ + struct lsa_DATA_BUF2 data1;/* [keepref] */ + struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref] */ + struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref] */ +}; + +union lsa_TrustedDomainInfo { + struct lsa_TrustDomainInfoName name;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */ + struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */ + struct lsa_TrustDomainInfoPassword password;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */ + struct lsa_TrustDomainInfoBasic info_basic;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */ + struct lsa_TrustDomainInfoInfoEx info_ex;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */ + struct lsa_TrustDomainInfoAuthInfo auth_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */ + struct lsa_TrustDomainInfoFullInfo full_info;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */ + struct lsa_TrustDomainInfo11 info11;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_11)] */ + struct lsa_TrustDomainInfoInfoAll info_all;/* [keepref,case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */ +}/* [switch_type(lsa_TrustDomInfoEnum)] */; + +struct lsa_DATA_BUF_PTR { + struct lsa_DATA_BUF *buf;/* [unique,keepref] */ +}; + +struct lsa_RightAttribute { + const char *name;/* [unique,keepref,charset(UTF16)] */ +}; + +struct lsa_RightSet { + uint32_t count;/* [keepref] */ + struct lsa_StringLarge *names;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_StringPointer { + struct lsa_String *string;/* [unique,keepref] */ +}; + +struct lsa_DomainListEx { + uint32_t count;/* [keepref] */ + struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_DomainInfoKerberos { + uint32_t enforce_restrictions;/* [keepref] */ + uint64_t service_tkt_lifetime;/* [keepref] */ + uint64_t user_tkt_lifetime;/* [keepref] */ + uint64_t user_tkt_renewaltime;/* [keepref] */ + uint64_t clock_skew;/* [keepref] */ + uint64_t unknown6;/* [keepref] */ +}; + +struct lsa_DomainInfoEfs { + uint32_t blob_size;/* [keepref] */ + uint8_t *efs_blob;/* [unique,keepref,size_is(blob_size)] */ +}; + +enum lsa_DomainInfoEnum { + LSA_DOMAIN_INFO_POLICY_EFS=2, + LSA_DOMAIN_INFO_POLICY_KERBEROS=3 +}; + +union lsa_DomainInformationPolicy { + struct lsa_DomainInfoEfs efs_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_EFS)] */ + struct lsa_DomainInfoKerberos kerberos_info;/* [keepref,case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */ +}/* [switch_type(uint16)] */; + +struct lsa_TranslatedName2 { + enum lsa_SidType sid_type;/* [keepref] */ + struct lsa_String name;/* [keepref] */ + uint32_t sid_index;/* [keepref] */ + uint32_t unknown;/* [keepref] */ +}; + +struct lsa_TransNameArray2 { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_TranslatedName2 *names;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_TranslatedSid2 { + enum lsa_SidType sid_type;/* [keepref] */ + uint32_t rid;/* [keepref] */ + uint32_t sid_index;/* [keepref] */ + uint32_t unknown;/* [keepref] */ +}; + +struct lsa_TransSidArray2 { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_TranslatedSid2 *sids;/* [unique,keepref,size_is(count)] */ +}; + +struct lsa_TranslatedSid3 { + enum lsa_SidType sid_type;/* [keepref] */ + struct dom_sid2 *sid;/* [unique,keepref] */ + uint32_t sid_index;/* [keepref] */ + uint32_t unknown;/* [keepref] */ +}; + +struct lsa_TransSidArray3 { + uint32_t count;/* [keepref,range(0 1000)] */ + struct lsa_TranslatedSid3 *sids;/* [unique,keepref,size_is(count)] */ +}; + + +struct lsa_Close { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + } in; + + struct { + struct policy_handle *handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_Delete { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumPrivs { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t *resume_handle;/* [keepref,ref] */ + uint32_t max_count;/* [keepref] */ + } in; + + struct { + uint32_t *resume_handle;/* [keepref,ref] */ + struct lsa_PrivArray *privs;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_QuerySecurity { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t sec_info;/* [keepref] */ + } in; + + struct { + struct sec_desc_buf *sdbuf;/* [unique,keepref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetSecObj { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_ChangePassword { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_OpenPolicy { + struct { + uint16_t *system_name;/* [unique,keepref] */ + struct lsa_ObjectAttribute *attr;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryInfoPolicy { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + } in; + + struct { + union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetInfoPolicy { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_ClearAuditLog { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_CreateAccount { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *acct_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumAccounts { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t *resume_handle;/* [keepref,ref] */ + uint32_t num_entries;/* [keepref,range(0 8192)] */ + } in; + + struct { + uint32_t *resume_handle;/* [keepref,ref] */ + struct lsa_SidArray *sids;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_CreateTrustedDomain { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_DomainInfo *info;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *trustdom_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumTrustDom { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t *resume_handle;/* [keepref,ref] */ + uint32_t max_size;/* [keepref,range(0 1000)] */ + } in; + + struct { + uint32_t *resume_handle;/* [keepref,ref] */ + struct lsa_DomainList *domains;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupNames { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t num_names;/* [keepref,range(0 1000)] */ + struct lsa_String *names;/* [keepref,size_is(num_names)] */ + struct lsa_TransSidArray *sids;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransSidArray *sids;/* [keepref,ref] */ + uint32_t *count;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupSids { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_SidArray *sids;/* [keepref,ref] */ + struct lsa_TransNameArray *names;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransNameArray *names;/* [keepref,ref] */ + uint32_t *count;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_CreateSecret { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String name;/* [keepref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *sec_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_OpenAccount { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *acct_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumPrivsAccount { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + } in; + + struct { + struct lsa_PrivilegeSet *privs;/* [unique,keepref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_AddPrivilegesToAccount { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_PrivilegeSet *privs;/* [keepref,ref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_RemovePrivilegesFromAccount { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint8_t remove_all;/* [keepref] */ + struct lsa_PrivilegeSet *privs;/* [unique,keepref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_GetQuotasForAccount { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_SetQuotasForAccount { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_GetSystemAccessAccount { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_SetSystemAccessAccount { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_OpenTrustedDomain { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *trustdom_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryTrustedDomainInfo { + struct { + struct policy_handle *trustdom_handle;/* [keepref,ref] */ + enum lsa_TrustDomInfoEnum level;/* [keepref] */ + } in; + + struct { + union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetInformationTrustedDomain { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_OpenSecret { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String name;/* [keepref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *sec_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetSecret { + struct { + struct policy_handle *sec_handle;/* [keepref,ref] */ + struct lsa_DATA_BUF *new_val;/* [unique,keepref] */ + struct lsa_DATA_BUF *old_val;/* [unique,keepref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_QuerySecret { + struct { + struct policy_handle *sec_handle;/* [keepref,ref] */ + struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */ + NTTIME *new_mtime;/* [unique,keepref] */ + struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */ + NTTIME *old_mtime;/* [unique,keepref] */ + } in; + + struct { + struct lsa_DATA_BUF_PTR *new_val;/* [unique,keepref] */ + NTTIME *new_mtime;/* [unique,keepref] */ + struct lsa_DATA_BUF_PTR *old_val;/* [unique,keepref] */ + NTTIME *old_mtime;/* [unique,keepref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupPrivValue { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String *name;/* [keepref,ref] */ + } in; + + struct { + struct lsa_LUID *luid;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupPrivName { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_LUID *luid;/* [keepref,ref] */ + } in; + + struct { + struct lsa_StringLarge *name;/* [unique,keepref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupPrivDisplayName { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String *name;/* [keepref,ref] */ + uint16_t *language_id;/* [keepref,ref] */ + uint16_t unknown;/* [keepref] */ + } in; + + struct { + struct lsa_StringLarge *disp_name;/* [unique,keepref] */ + uint16_t *language_id;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_DeleteObject { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumAccountsWithUserRight { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String *name;/* [unique,keepref] */ + } in; + + struct { + struct lsa_SidArray *sids;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumAccountRights { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + } in; + + struct { + struct lsa_RightSet *rights;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_AddAccountRights { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + struct lsa_RightSet *rights;/* [keepref,ref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_RemoveAccountRights { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *sid;/* [keepref,ref] */ + uint32_t unknown;/* [keepref] */ + struct lsa_RightSet *rights;/* [keepref,ref] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryTrustedDomainInfoBySid { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *dom_sid;/* [keepref,ref] */ + enum lsa_TrustDomInfoEnum level;/* [keepref] */ + } in; + + struct { + union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetTrustedDomainInfo { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_DeleteTrustedDomain { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct dom_sid2 *dom_sid;/* [keepref,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,keepref,charset(UTF16)] */ + struct lsa_ObjectAttribute *attr;/* [keepref,ref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_GetUserName { + struct { + const char *system_name;/* [unique,keepref,charset(UTF16)] */ + struct lsa_String *account_name;/* [unique,keepref] */ + struct lsa_StringPointer *authority_name;/* [unique,keepref] */ + } in; + + struct { + struct lsa_String *account_name;/* [unique,keepref] */ + struct lsa_StringPointer *authority_name;/* [unique,keepref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryInfoPolicy2 { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + } in; + + struct { + union lsa_PolicyInformation *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetInfoPolicy2 { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryTrustedDomainInfoByName { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String trusted_domain;/* [keepref] */ + enum lsa_TrustDomInfoEnum level;/* [keepref] */ + } in; + + struct { + union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetTrustedDomainInfoByName { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String trusted_domain;/* [keepref] */ + enum lsa_TrustDomInfoEnum level;/* [keepref] */ + union lsa_TrustedDomainInfo *info;/* [unique,keepref,switch_is(level)] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_EnumTrustedDomainsEx { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t *resume_handle;/* [keepref,ref] */ + uint32_t max_size;/* [keepref] */ + } in; + + struct { + uint32_t *resume_handle;/* [keepref,ref] */ + struct lsa_DomainListEx *domains;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_CreateTrustedDomainEx { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_CloseTrustedDomainEx { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + } in; + + struct { + struct policy_handle *handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_QueryDomainInformationPolicy { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + } in; + + struct { + union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_SetDomainInformationPolicy { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + union lsa_DomainInformationPolicy *info;/* [unique,keepref,switch_is(level)] */ + } in; + + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_OpenTrustedDomainByName { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_String name;/* [keepref] */ + uint32_t access_mask;/* [keepref] */ + } in; + + struct { + struct policy_handle *trustdom_handle;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_TestCall { + struct { + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupSids2 { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + struct lsa_SidArray *sids;/* [keepref,ref] */ + struct lsa_TransNameArray2 *names;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + uint32_t unknown1;/* [keepref] */ + uint32_t unknown2;/* [keepref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransNameArray2 *names;/* [keepref,ref] */ + uint32_t *count;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupNames2 { + struct { + struct policy_handle *handle;/* [keepref,ref] */ + uint32_t num_names;/* [keepref,range(0 1000)] */ + struct lsa_String *names;/* [keepref,size_is(num_names)] */ + struct lsa_TransSidArray2 *sids;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + uint32_t unknown1;/* [keepref] */ + uint32_t unknown2;/* [keepref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransSidArray2 *sids;/* [keepref,ref] */ + uint32_t *count;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_CreateTrustedDomainEx2 { + struct { + 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;/* [keepref,ref] */ + uint32_t num_names;/* [keepref,range(0 1000)] */ + struct lsa_String *names;/* [keepref,size_is(num_names)] */ + struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + uint32_t unknown1;/* [keepref] */ + uint32_t unknown2;/* [keepref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ + uint32_t *count;/* [keepref,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 { + 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;/* [keepref,ref] */ + struct lsa_TransNameArray2 *names;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + uint32_t unknown1;/* [keepref] */ + uint32_t unknown2;/* [keepref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransNameArray2 *names;/* [keepref,ref] */ + uint32_t *count;/* [keepref,ref] */ + NTSTATUS result; + } out; + +}; + + +struct lsa_LookupNames4 { + struct { + uint32_t num_names;/* [keepref,range(0 1000)] */ + struct lsa_String *names;/* [keepref,size_is(num_names)] */ + struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ + uint16_t level;/* [keepref] */ + uint32_t *count;/* [keepref,ref] */ + uint32_t unknown1;/* [keepref] */ + uint32_t unknown2;/* [keepref] */ + } in; + + struct { + struct lsa_RefDomainList *domains;/* [unique,keepref] */ + struct lsa_TransSidArray3 *sids;/* [keepref,ref] */ + uint32_t *count;/* [keepref,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 */ |