1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/security.h"
10 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
11 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
12 #define MAX_REF_DOMAINS ( LSA_REF_DOMAIN_LIST_MULTIPLIER )
13 #define MAX_LOOKUP_SIDS ( 0x5000 )
14 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
15 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
16 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
17 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
19 uint16_t length;/* [value(2*strlen_m(string))] */
20 uint16_t size;/* [value(2*strlen_m(string))] */
21 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
22 }/* [public,noejs] */;
24 struct lsa_StringLarge {
25 uint16_t length;/* [value(2*strlen_m(string))] */
26 uint16_t size;/* [value(2*strlen_m_term(string))] */
27 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
32 struct lsa_String *names;/* [unique,size_is(count)] */
35 struct lsa_AsciiString {
36 uint16_t length;/* [value(strlen_m(string))] */
37 uint16_t size;/* [value(strlen_m(string))] */
38 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
41 struct lsa_AsciiStringLarge {
42 uint16_t length;/* [value(strlen_m(string))] */
43 uint16_t size;/* [value(strlen_m_term(string))] */
44 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
47 struct lsa_BinaryString {
50 uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
58 struct lsa_PrivEntry {
59 struct lsa_StringLarge name;
63 struct lsa_PrivArray {
65 struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
70 uint16_t impersonation_level;
72 uint8_t effective_only;
75 struct lsa_ObjectAttribute {
77 uint8_t *root_dir;/* [unique] */
78 const char *object_name;/* [unique,charset(UTF16)] */
80 struct security_descriptor *sec_desc;/* [unique] */
81 struct lsa_QosInfo *sec_qos;/* [unique] */
84 /* bitmap lsa_PolicyAccessMask */
85 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
86 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
87 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
88 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
89 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
90 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
91 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
92 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
93 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
94 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
95 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
96 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
98 struct lsa_AuditLogInfo {
99 uint32_t percent_full;
101 NTTIME retention_time;
102 uint8_t shutdown_in_progress;
103 NTTIME time_to_shutdown;
104 uint32_t next_audit_record;
108 enum lsa_PolicyAuditPolicy
109 #ifndef USE_UINT_ENUMS
111 LSA_AUDIT_POLICY_NONE=0,
112 LSA_AUDIT_POLICY_SUCCESS=1,
113 LSA_AUDIT_POLICY_FAILURE=2,
114 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
115 LSA_AUDIT_POLICY_CLEAR=4
118 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
119 #define LSA_AUDIT_POLICY_NONE ( 0 )
120 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
121 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
122 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
123 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
127 enum lsa_PolicyAuditEventType
128 #ifndef USE_UINT_ENUMS
130 LSA_AUDIT_CATEGORY_SYSTEM=0,
131 LSA_AUDIT_CATEGORY_LOGON=1,
132 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
133 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
134 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
135 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
136 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
137 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
138 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
141 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
142 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
143 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
144 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
145 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
146 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
147 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
148 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
149 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
150 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
154 struct lsa_AuditEventsInfo {
155 uint32_t auditing_mode;
156 enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
160 struct lsa_DomainInfo {
161 struct lsa_StringLarge name;
162 struct dom_sid2 *sid;/* [unique] */
165 struct lsa_PDAccountInfo {
166 struct lsa_String name;
169 struct lsa_ServerRole {
174 struct lsa_ReplicaSourceInfo {
175 struct lsa_String source;
176 struct lsa_String account;
179 struct lsa_DefaultQuotaInfo {
181 uint32_t non_paged_pool;
188 struct lsa_ModificationInfo {
189 uint64_t modified_id;
190 NTTIME db_create_time;
193 struct lsa_AuditFullSetInfo {
194 uint8_t shutdown_on_full;
197 struct lsa_AuditFullQueryInfo {
199 uint8_t shutdown_on_full;
203 struct lsa_DnsDomainInfo {
204 struct lsa_StringLarge name;
205 struct lsa_StringLarge dns_domain;
206 struct lsa_StringLarge dns_forest;
207 struct GUID domain_guid;
208 struct dom_sid2 *sid;/* [unique] */
212 #ifndef USE_UINT_ENUMS
214 LSA_POLICY_INFO_AUDIT_LOG=1,
215 LSA_POLICY_INFO_AUDIT_EVENTS=2,
216 LSA_POLICY_INFO_DOMAIN=3,
217 LSA_POLICY_INFO_PD=4,
218 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
219 LSA_POLICY_INFO_ROLE=6,
220 LSA_POLICY_INFO_REPLICA=7,
221 LSA_POLICY_INFO_QUOTA=8,
222 LSA_POLICY_INFO_DB=9,
223 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
224 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
225 LSA_POLICY_INFO_DNS=12,
226 LSA_POLICY_INFO_DNS_INT=13
229 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
230 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
231 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
232 #define LSA_POLICY_INFO_DOMAIN ( 3 )
233 #define LSA_POLICY_INFO_PD ( 4 )
234 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
235 #define LSA_POLICY_INFO_ROLE ( 6 )
236 #define LSA_POLICY_INFO_REPLICA ( 7 )
237 #define LSA_POLICY_INFO_QUOTA ( 8 )
238 #define LSA_POLICY_INFO_DB ( 9 )
239 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
240 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
241 #define LSA_POLICY_INFO_DNS ( 12 )
242 #define LSA_POLICY_INFO_DNS_INT ( 13 )
246 union lsa_PolicyInformation {
247 struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
248 struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
249 struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
250 struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
251 struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
252 struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
253 struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
254 struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
255 struct lsa_ModificationInfo db;/* [case(LSA_POLICY_INFO_DB)] */
256 struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
257 struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
258 struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
259 }/* [switch_type(uint16)] */;
262 struct dom_sid2 *sid;/* [unique] */
265 struct lsa_SidArray {
266 uint32_t num_sids;/* [range(0,1000)] */
267 struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
270 struct lsa_DomainList {
272 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
276 #ifndef USE_UINT_ENUMS
290 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
291 #define SID_NAME_USE_NONE ( 0 )
292 #define SID_NAME_USER ( 1 )
293 #define SID_NAME_DOM_GRP ( 2 )
294 #define SID_NAME_DOMAIN ( 3 )
295 #define SID_NAME_ALIAS ( 4 )
296 #define SID_NAME_WKN_GRP ( 5 )
297 #define SID_NAME_DELETED ( 6 )
298 #define SID_NAME_INVALID ( 7 )
299 #define SID_NAME_UNKNOWN ( 8 )
300 #define SID_NAME_COMPUTER ( 9 )
304 struct lsa_TranslatedSid {
305 enum lsa_SidType sid_type;
310 struct lsa_TransSidArray {
311 uint32_t count;/* [range(0,1000)] */
312 struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
315 struct lsa_RefDomainList {
316 uint32_t count;/* [range(0,1000)] */
317 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
321 enum lsa_LookupNamesLevel
322 #ifndef USE_UINT_ENUMS
324 LSA_LOOKUP_NAMES_ALL=1,
325 LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
326 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
327 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
328 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
329 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
330 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
333 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
334 #define LSA_LOOKUP_NAMES_ALL ( 1 )
335 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
336 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
337 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
338 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
339 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
340 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
344 struct lsa_TranslatedName {
345 enum lsa_SidType sid_type;
346 struct lsa_String name;
350 struct lsa_TransNameArray {
351 uint32_t count;/* [range(0,1000)] */
352 struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
355 struct lsa_LUIDAttribute {
356 struct lsa_LUID luid;
360 struct lsa_PrivilegeSet {
361 uint32_t count;/* [range(0,1000)] */
363 struct lsa_LUIDAttribute *set;/* [size_is(count)] */
366 struct lsa_DATA_BUF {
369 uint8_t *data;/* [unique,length_is(length),size_is(size)] */
370 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
372 struct lsa_DATA_BUF2 {
373 uint32_t size;/* [range(0,65536)] */
374 uint8_t *data;/* [unique,size_is(size)] */
375 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
377 enum lsa_TrustDomInfoEnum
378 #ifndef USE_UINT_ENUMS
380 LSA_TRUSTED_DOMAIN_INFO_NAME=1,
381 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
382 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
383 LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
384 LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
385 LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
386 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
387 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
388 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
389 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
390 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
391 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
392 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
395 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
396 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
397 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
398 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
399 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
400 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
401 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
402 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
403 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
404 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
405 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
406 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
407 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
408 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
412 /* bitmap lsa_TrustDirection */
413 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
414 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
417 #ifndef USE_UINT_ENUMS
419 LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
420 LSA_TRUST_TYPE_UPLEVEL=0x00000002,
421 LSA_TRUST_TYPE_MIT=0x00000003
424 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
425 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
426 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
427 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
431 /* bitmap lsa_TrustAttributes */
432 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
433 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
434 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
435 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
436 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
437 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
438 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
439 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
441 struct lsa_TrustDomainInfoName {
442 struct lsa_StringLarge netbios_name;
445 struct lsa_TrustDomainInfoControllers {
447 struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
450 struct lsa_TrustDomainInfoPosixOffset {
451 uint32_t posix_offset;
454 struct lsa_TrustDomainInfoPassword {
455 struct lsa_DATA_BUF *password;/* [unique] */
456 struct lsa_DATA_BUF *old_password;/* [unique] */
459 struct lsa_TrustDomainInfoBasic {
460 struct lsa_String netbios_name;
461 struct dom_sid2 *sid;/* [unique] */
464 struct lsa_TrustDomainInfoInfoEx {
465 struct lsa_StringLarge domain_name;
466 struct lsa_StringLarge netbios_name;
467 struct dom_sid2 *sid;/* [unique] */
468 uint32_t trust_direction;
469 enum lsa_TrustType trust_type;
470 uint32_t trust_attributes;
473 enum lsa_TrustAuthType
474 #ifndef USE_UINT_ENUMS
476 TRUST_AUTH_TYPE_NONE=0,
477 TRUST_AUTH_TYPE_NT4OWF=1,
478 TRUST_AUTH_TYPE_CLEAR=2,
479 TRUST_AUTH_TYPE_VERSION=3
482 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
483 #define TRUST_AUTH_TYPE_NONE ( 0 )
484 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
485 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
486 #define TRUST_AUTH_TYPE_VERSION ( 3 )
490 struct lsa_TrustDomainInfoBuffer {
491 NTTIME last_update_time;
492 enum lsa_TrustAuthType AuthType;
493 struct lsa_DATA_BUF2 data;
496 struct lsa_TrustDomainInfoAuthInfo {
497 uint32_t incoming_count;
498 struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
499 struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
500 uint32_t outgoing_count;
501 struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
502 struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
505 struct lsa_TrustDomainInfoFullInfo {
506 struct lsa_TrustDomainInfoInfoEx info_ex;
507 struct lsa_TrustDomainInfoPosixOffset posix_offset;
508 struct lsa_TrustDomainInfoAuthInfo auth_info;
511 struct lsa_TrustDomainInfoAuthInfoInternal {
512 struct lsa_DATA_BUF2 auth_blob;
515 struct lsa_TrustDomainInfoFullInfoInternal {
516 struct lsa_TrustDomainInfoInfoEx info_ex;
517 struct lsa_TrustDomainInfoPosixOffset posix_offset;
518 struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
521 struct lsa_TrustDomainInfoInfoEx2Internal {
522 struct lsa_TrustDomainInfoInfoEx info_ex;
523 uint32_t forest_trust_length;
524 uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
527 struct lsa_TrustDomainInfoFullInfo2Internal {
528 struct lsa_TrustDomainInfoInfoEx2Internal info;
529 struct lsa_TrustDomainInfoPosixOffset posix_offset;
530 struct lsa_TrustDomainInfoAuthInfo auth_info;
533 struct lsa_TrustDomainInfoSupportedEncTypes {
537 union lsa_TrustedDomainInfo {
538 struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
539 struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
540 struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
541 struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
542 struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
543 struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
544 struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
545 struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
546 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
547 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
548 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
549 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
550 struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
551 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
553 struct lsa_DATA_BUF_PTR {
554 struct lsa_DATA_BUF *buf;/* [unique] */
557 struct lsa_RightAttribute {
558 const char *name;/* [unique,charset(UTF16)] */
561 struct lsa_RightSet {
562 uint32_t count;/* [range(0,256)] */
563 struct lsa_StringLarge *names;/* [unique,size_is(count)] */
566 struct lsa_DomainListEx {
568 struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
571 struct lsa_DomainInfoKerberos {
572 uint32_t enforce_restrictions;
573 uint64_t service_tkt_lifetime;
574 uint64_t user_tkt_lifetime;
575 uint64_t user_tkt_renewaltime;
580 struct lsa_DomainInfoEfs {
582 uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
585 enum lsa_DomainInfoEnum
586 #ifndef USE_UINT_ENUMS
588 LSA_DOMAIN_INFO_POLICY_EFS=2,
589 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
592 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
593 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
594 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
598 union lsa_DomainInformationPolicy {
599 struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
600 struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
601 }/* [switch_type(uint16)] */;
603 struct lsa_TranslatedName2 {
604 enum lsa_SidType sid_type;
605 struct lsa_String name;
610 struct lsa_TransNameArray2 {
611 uint32_t count;/* [range(0,1000)] */
612 struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
615 struct lsa_TranslatedSid2 {
616 enum lsa_SidType sid_type;
622 struct lsa_TransSidArray2 {
623 uint32_t count;/* [range(0,1000)] */
624 struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
627 struct lsa_TranslatedSid3 {
628 enum lsa_SidType sid_type;
629 struct dom_sid2 *sid;/* [unique] */
634 struct lsa_TransSidArray3 {
635 uint32_t count;/* [range(0,1000)] */
636 struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
639 struct lsa_ForestTrustBinaryData {
640 uint32_t length;/* [range(0,131072)] */
641 uint8_t *data;/* [unique,size_is(length)] */
644 struct lsa_ForestTrustDomainInfo {
645 struct dom_sid2 *domain_sid;/* [unique] */
646 struct lsa_StringLarge dns_domain_name;
647 struct lsa_StringLarge netbios_domain_name;
650 union lsa_ForestTrustData {
651 struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
652 struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
653 struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
654 struct lsa_ForestTrustBinaryData data;/* [default] */
655 }/* [switch_type(uint32)] */;
657 enum lsa_ForestTrustRecordType
658 #ifndef USE_UINT_ENUMS
660 LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
661 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
662 LSA_FOREST_TRUST_DOMAIN_INFO=2,
663 LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
666 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
667 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
668 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
669 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
670 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
674 struct lsa_ForestTrustRecord {
676 enum lsa_ForestTrustRecordType level;
678 union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
681 struct lsa_ForestTrustInformation {
682 uint32_t count;/* [range(0,4000)] */
683 struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
689 struct policy_handle *handle;/* [ref] */
693 struct policy_handle *handle;/* [ref] */
702 struct policy_handle *handle;/* [ref] */
712 struct lsa_EnumPrivs {
714 struct policy_handle *handle;/* [ref] */
716 uint32_t *resume_handle;/* [ref] */
720 struct lsa_PrivArray *privs;/* [ref] */
721 uint32_t *resume_handle;/* [ref] */
728 struct lsa_QuerySecurity {
730 struct policy_handle *handle;/* [ref] */
735 struct sec_desc_buf **sdbuf;/* [ref] */
742 struct lsa_SetSecObj {
744 struct policy_handle *handle;/* [ref] */
746 struct sec_desc_buf *sdbuf;/* [ref] */
756 struct lsa_ChangePassword {
764 struct lsa_OpenPolicy {
766 uint16_t *system_name;/* [unique] */
767 struct lsa_ObjectAttribute *attr;/* [ref] */
768 uint32_t access_mask;
772 struct policy_handle *handle;/* [ref] */
779 struct lsa_QueryInfoPolicy {
781 struct policy_handle *handle;/* [ref] */
782 enum lsa_PolicyInfo level;
786 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
793 struct lsa_SetInfoPolicy {
795 struct policy_handle *handle;/* [ref] */
796 enum lsa_PolicyInfo level;
797 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
807 struct lsa_ClearAuditLog {
815 struct lsa_CreateAccount {
817 struct policy_handle *handle;/* [ref] */
818 struct dom_sid2 *sid;/* [ref] */
819 uint32_t access_mask;
823 struct policy_handle *acct_handle;/* [ref] */
830 struct lsa_EnumAccounts {
832 struct policy_handle *handle;/* [ref] */
833 uint32_t num_entries;/* [range(0,8192)] */
834 uint32_t *resume_handle;/* [ref] */
838 struct lsa_SidArray *sids;/* [ref] */
839 uint32_t *resume_handle;/* [ref] */
846 struct lsa_CreateTrustedDomain {
848 struct policy_handle *handle;/* [ref] */
849 struct lsa_DomainInfo *info;/* [ref] */
850 uint32_t access_mask;
854 struct policy_handle *trustdom_handle;/* [ref] */
861 struct lsa_EnumTrustDom {
863 struct policy_handle *handle;/* [ref] */
865 uint32_t *resume_handle;/* [ref] */
869 struct lsa_DomainList *domains;/* [ref] */
870 uint32_t *resume_handle;/* [ref] */
877 struct lsa_LookupNames {
879 struct policy_handle *handle;/* [ref] */
880 uint32_t num_names;/* [range(0,1000)] */
881 struct lsa_String *names;/* [size_is(num_names)] */
882 enum lsa_LookupNamesLevel level;
883 struct lsa_TransSidArray *sids;/* [ref] */
884 uint32_t *count;/* [ref] */
888 struct lsa_RefDomainList **domains;/* [ref] */
889 struct lsa_TransSidArray *sids;/* [ref] */
890 uint32_t *count;/* [ref] */
897 struct lsa_LookupSids {
899 struct policy_handle *handle;/* [ref] */
900 struct lsa_SidArray *sids;/* [ref] */
902 struct lsa_TransNameArray *names;/* [ref] */
903 uint32_t *count;/* [ref] */
907 struct lsa_RefDomainList **domains;/* [ref] */
908 struct lsa_TransNameArray *names;/* [ref] */
909 uint32_t *count;/* [ref] */
916 struct lsa_CreateSecret {
918 struct policy_handle *handle;/* [ref] */
919 struct lsa_String name;
920 uint32_t access_mask;
924 struct policy_handle *sec_handle;/* [ref] */
931 struct lsa_OpenAccount {
933 struct policy_handle *handle;/* [ref] */
934 struct dom_sid2 *sid;/* [ref] */
935 uint32_t access_mask;
939 struct policy_handle *acct_handle;/* [ref] */
946 struct lsa_EnumPrivsAccount {
948 struct policy_handle *handle;/* [ref] */
952 struct lsa_PrivilegeSet **privs;/* [ref] */
959 struct lsa_AddPrivilegesToAccount {
961 struct policy_handle *handle;/* [ref] */
962 struct lsa_PrivilegeSet *privs;/* [ref] */
972 struct lsa_RemovePrivilegesFromAccount {
974 struct policy_handle *handle;/* [ref] */
976 struct lsa_PrivilegeSet *privs;/* [unique] */
986 struct lsa_GetQuotasForAccount {
994 struct lsa_SetQuotasForAccount {
1002 struct lsa_GetSystemAccessAccount {
1004 struct policy_handle *handle;/* [ref] */
1008 uint32_t *access_mask;/* [ref] */
1015 struct lsa_SetSystemAccessAccount {
1017 struct policy_handle *handle;/* [ref] */
1018 uint32_t access_mask;
1028 struct lsa_OpenTrustedDomain {
1030 struct policy_handle *handle;/* [ref] */
1031 struct dom_sid2 *sid;/* [ref] */
1032 uint32_t access_mask;
1036 struct policy_handle *trustdom_handle;/* [ref] */
1043 struct lsa_QueryTrustedDomainInfo {
1045 struct policy_handle *trustdom_handle;/* [ref] */
1046 enum lsa_TrustDomInfoEnum level;
1050 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1057 struct lsa_SetInformationTrustedDomain {
1059 struct policy_handle *trustdom_handle;/* [ref] */
1060 enum lsa_TrustDomInfoEnum level;
1061 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1071 struct lsa_OpenSecret {
1073 struct policy_handle *handle;/* [ref] */
1074 struct lsa_String name;
1075 uint32_t access_mask;
1079 struct policy_handle *sec_handle;/* [ref] */
1086 struct lsa_SetSecret {
1088 struct policy_handle *sec_handle;/* [ref] */
1089 struct lsa_DATA_BUF *new_val;/* [unique] */
1090 struct lsa_DATA_BUF *old_val;/* [unique] */
1100 struct lsa_QuerySecret {
1102 struct policy_handle *sec_handle;/* [ref] */
1103 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1104 NTTIME *new_mtime;/* [unique] */
1105 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1106 NTTIME *old_mtime;/* [unique] */
1110 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1111 NTTIME *new_mtime;/* [unique] */
1112 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1113 NTTIME *old_mtime;/* [unique] */
1120 struct lsa_LookupPrivValue {
1122 struct policy_handle *handle;/* [ref] */
1123 struct lsa_String *name;/* [ref] */
1127 struct lsa_LUID *luid;/* [ref] */
1134 struct lsa_LookupPrivName {
1136 struct policy_handle *handle;/* [ref] */
1137 struct lsa_LUID *luid;/* [ref] */
1141 struct lsa_StringLarge **name;/* [ref] */
1148 struct lsa_LookupPrivDisplayName {
1150 struct policy_handle *handle;/* [ref] */
1151 struct lsa_String *name;/* [ref] */
1152 uint16_t language_id;
1153 uint16_t language_id_sys;
1157 struct lsa_StringLarge **disp_name;/* [ref] */
1158 uint16_t *returned_language_id;/* [ref] */
1165 struct lsa_DeleteObject {
1167 struct policy_handle *handle;/* [ref] */
1171 struct policy_handle *handle;/* [ref] */
1178 struct lsa_EnumAccountsWithUserRight {
1180 struct policy_handle *handle;/* [ref] */
1181 struct lsa_String *name;/* [unique] */
1185 struct lsa_SidArray *sids;/* [ref] */
1192 struct lsa_EnumAccountRights {
1194 struct policy_handle *handle;/* [ref] */
1195 struct dom_sid2 *sid;/* [ref] */
1199 struct lsa_RightSet *rights;/* [ref] */
1206 struct lsa_AddAccountRights {
1208 struct policy_handle *handle;/* [ref] */
1209 struct dom_sid2 *sid;/* [ref] */
1210 struct lsa_RightSet *rights;/* [ref] */
1220 struct lsa_RemoveAccountRights {
1222 struct policy_handle *handle;/* [ref] */
1223 struct dom_sid2 *sid;/* [ref] */
1225 struct lsa_RightSet *rights;/* [ref] */
1235 struct lsa_QueryTrustedDomainInfoBySid {
1237 struct policy_handle *handle;/* [ref] */
1238 struct dom_sid2 *dom_sid;/* [ref] */
1239 enum lsa_TrustDomInfoEnum level;
1243 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1250 struct lsa_SetTrustedDomainInfo {
1252 struct policy_handle *handle;/* [ref] */
1253 struct dom_sid2 *dom_sid;/* [ref] */
1254 enum lsa_TrustDomInfoEnum level;
1255 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1265 struct lsa_DeleteTrustedDomain {
1267 struct policy_handle *handle;/* [ref] */
1268 struct dom_sid2 *dom_sid;/* [ref] */
1278 struct lsa_StorePrivateData {
1286 struct lsa_RetrievePrivateData {
1294 struct lsa_OpenPolicy2 {
1296 const char *system_name;/* [unique,charset(UTF16)] */
1297 struct lsa_ObjectAttribute *attr;/* [ref] */
1298 uint32_t access_mask;
1302 struct policy_handle *handle;/* [ref] */
1309 struct lsa_GetUserName {
1311 const char *system_name;/* [unique,charset(UTF16)] */
1312 struct lsa_String **account_name;/* [ref] */
1313 struct lsa_String **authority_name;/* [unique] */
1317 struct lsa_String **account_name;/* [ref] */
1318 struct lsa_String **authority_name;/* [unique] */
1325 struct lsa_QueryInfoPolicy2 {
1327 struct policy_handle *handle;/* [ref] */
1328 enum lsa_PolicyInfo level;
1332 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1339 struct lsa_SetInfoPolicy2 {
1341 struct policy_handle *handle;/* [ref] */
1342 enum lsa_PolicyInfo level;
1343 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1353 struct lsa_QueryTrustedDomainInfoByName {
1355 struct policy_handle *handle;/* [ref] */
1356 struct lsa_String *trusted_domain;/* [ref] */
1357 enum lsa_TrustDomInfoEnum level;
1361 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1368 struct lsa_SetTrustedDomainInfoByName {
1370 struct policy_handle *handle;/* [ref] */
1371 struct lsa_String trusted_domain;
1372 enum lsa_TrustDomInfoEnum level;
1373 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1383 struct lsa_EnumTrustedDomainsEx {
1385 struct policy_handle *handle;/* [ref] */
1387 uint32_t *resume_handle;/* [ref] */
1391 struct lsa_DomainListEx *domains;/* [ref] */
1392 uint32_t *resume_handle;/* [ref] */
1399 struct lsa_CreateTrustedDomainEx {
1401 struct policy_handle *policy_handle;/* [ref] */
1402 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1403 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1404 uint32_t access_mask;
1408 struct policy_handle *trustdom_handle;/* [ref] */
1415 struct lsa_CloseTrustedDomainEx {
1417 struct policy_handle *handle;/* [ref] */
1421 struct policy_handle *handle;/* [ref] */
1428 struct lsa_QueryDomainInformationPolicy {
1430 struct policy_handle *handle;/* [ref] */
1435 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1442 struct lsa_SetDomainInformationPolicy {
1444 struct policy_handle *handle;/* [ref] */
1446 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1456 struct lsa_OpenTrustedDomainByName {
1458 struct policy_handle *handle;/* [ref] */
1459 struct lsa_String name;
1460 uint32_t access_mask;
1464 struct policy_handle *trustdom_handle;/* [ref] */
1471 struct lsa_TestCall {
1479 struct lsa_LookupSids2 {
1481 struct policy_handle *handle;/* [ref] */
1482 struct lsa_SidArray *sids;/* [ref] */
1486 struct lsa_TransNameArray2 *names;/* [ref] */
1487 uint32_t *count;/* [ref] */
1491 struct lsa_RefDomainList **domains;/* [ref] */
1492 struct lsa_TransNameArray2 *names;/* [ref] */
1493 uint32_t *count;/* [ref] */
1500 struct lsa_LookupNames2 {
1502 struct policy_handle *handle;/* [ref] */
1503 uint32_t num_names;/* [range(0,1000)] */
1504 struct lsa_String *names;/* [size_is(num_names)] */
1505 enum lsa_LookupNamesLevel level;
1506 uint32_t lookup_options;
1507 uint32_t client_revision;
1508 struct lsa_TransSidArray2 *sids;/* [ref] */
1509 uint32_t *count;/* [ref] */
1513 struct lsa_RefDomainList **domains;/* [ref] */
1514 struct lsa_TransSidArray2 *sids;/* [ref] */
1515 uint32_t *count;/* [ref] */
1522 struct lsa_CreateTrustedDomainEx2 {
1524 struct policy_handle *policy_handle;/* [ref] */
1525 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1526 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1527 uint32_t access_mask;
1531 struct policy_handle *trustdom_handle;/* [ref] */
1538 struct lsa_CREDRWRITE {
1546 struct lsa_CREDRREAD {
1554 struct lsa_CREDRENUMERATE {
1562 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1570 struct lsa_CREDRREADDOMAINCREDENTIALS {
1578 struct lsa_CREDRDELETE {
1586 struct lsa_CREDRGETTARGETINFO {
1594 struct lsa_CREDRPROFILELOADED {
1602 struct lsa_LookupNames3 {
1604 struct policy_handle *handle;/* [ref] */
1605 uint32_t num_names;/* [range(0,1000)] */
1606 struct lsa_String *names;/* [size_is(num_names)] */
1607 enum lsa_LookupNamesLevel level;
1608 uint32_t lookup_options;
1609 uint32_t client_revision;
1610 struct lsa_TransSidArray3 *sids;/* [ref] */
1611 uint32_t *count;/* [ref] */
1615 struct lsa_RefDomainList **domains;/* [ref] */
1616 struct lsa_TransSidArray3 *sids;/* [ref] */
1617 uint32_t *count;/* [ref] */
1624 struct lsa_CREDRGETSESSIONTYPES {
1632 struct lsa_LSARREGISTERAUDITEVENT {
1640 struct lsa_LSARGENAUDITEVENT {
1648 struct lsa_LSARUNREGISTERAUDITEVENT {
1656 struct lsa_lsaRQueryForestTrustInformation {
1658 struct policy_handle *handle;/* [ref] */
1659 struct lsa_String *trusted_domain_name;/* [ref] */
1664 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1671 struct lsa_LSARSETFORESTTRUSTINFORMATION {
1679 struct lsa_CREDRRENAME {
1687 struct lsa_LookupSids3 {
1689 struct lsa_SidArray *sids;/* [ref] */
1693 struct lsa_TransNameArray2 *names;/* [ref] */
1694 uint32_t *count;/* [ref] */
1698 struct lsa_RefDomainList **domains;/* [ref] */
1699 struct lsa_TransNameArray2 *names;/* [ref] */
1700 uint32_t *count;/* [ref] */
1707 struct lsa_LookupNames4 {
1709 uint32_t num_names;/* [range(0,1000)] */
1710 struct lsa_String *names;/* [size_is(num_names)] */
1711 enum lsa_LookupNamesLevel level;
1712 uint32_t lookup_options;
1713 uint32_t client_revision;
1714 struct lsa_TransSidArray3 *sids;/* [ref] */
1715 uint32_t *count;/* [ref] */
1719 struct lsa_RefDomainList **domains;/* [ref] */
1720 struct lsa_TransSidArray3 *sids;/* [ref] */
1721 uint32_t *count;/* [ref] */
1728 struct lsa_LSAROPENPOLICYSCE {
1736 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1744 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1752 struct lsa_LSARADTREPORTSECURITYEVENT {
1759 #endif /* _HEADER_lsarpc */