s4 winbind: Fix typos in debug output
[Samba/gbeck.git] / librpc / gen_ndr / lsa.h
blobee8a31138d20b371894d33cf237d7d1fd9bee5e4
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/security.h"
7 #ifndef _HEADER_lsarpc
8 #define _HEADER_lsarpc
10 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
11 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
12 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
13 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
14 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
15 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
16 struct lsa_String {
17 uint16_t length;/* [value(2*strlen_m(string))] */
18 uint16_t size;/* [value(2*strlen_m(string))] */
19 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
20 }/* [public] */;
22 struct lsa_StringLarge {
23 uint16_t length;/* [value(2*strlen_m(string))] */
24 uint16_t size;/* [value(2*strlen_m_term(string))] */
25 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
26 }/* [public] */;
28 struct lsa_Strings {
29 uint32_t count;
30 struct lsa_String *names;/* [unique,size_is(count)] */
31 }/* [public] */;
33 struct lsa_AsciiString {
34 uint16_t length;/* [value(strlen_m(string))] */
35 uint16_t size;/* [value(strlen_m(string))] */
36 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
37 }/* [public] */;
39 struct lsa_AsciiStringLarge {
40 uint16_t length;/* [value(strlen_m(string))] */
41 uint16_t size;/* [value(strlen_m_term(string))] */
42 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
43 }/* [public] */;
45 struct lsa_BinaryString {
46 uint16_t length;
47 uint16_t size;
48 uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
49 }/* [public] */;
51 struct lsa_LUID {
52 uint32_t low;
53 uint32_t high;
56 struct lsa_PrivEntry {
57 struct lsa_StringLarge name;
58 struct lsa_LUID luid;
61 struct lsa_PrivArray {
62 uint32_t count;
63 struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
66 struct lsa_QosInfo {
67 uint32_t len;
68 uint16_t impersonation_level;
69 uint8_t context_mode;
70 uint8_t effective_only;
73 struct lsa_ObjectAttribute {
74 uint32_t len;
75 uint8_t *root_dir;/* [unique] */
76 const char *object_name;/* [unique,charset(UTF16)] */
77 uint32_t attributes;
78 struct security_descriptor *sec_desc;/* [unique] */
79 struct lsa_QosInfo *sec_qos;/* [unique] */
82 /* bitmap lsa_PolicyAccessMask */
83 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
84 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
85 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
86 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
87 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
88 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
89 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
90 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
91 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
92 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
93 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
94 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
96 struct lsa_AuditLogInfo {
97 uint32_t percent_full;
98 uint32_t maximum_log_size;
99 uint64_t retention_time;
100 uint8_t shutdown_in_progress;
101 uint64_t time_to_shutdown;
102 uint32_t next_audit_record;
105 enum lsa_PolicyAuditPolicy
106 #ifndef USE_UINT_ENUMS
108 LSA_AUDIT_POLICY_NONE=0,
109 LSA_AUDIT_POLICY_SUCCESS=1,
110 LSA_AUDIT_POLICY_FAILURE=2,
111 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
112 LSA_AUDIT_POLICY_CLEAR=4
114 #else
115 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
116 #define LSA_AUDIT_POLICY_NONE ( 0 )
117 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
118 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
119 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
120 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
121 #endif
124 enum lsa_PolicyAuditEventType
125 #ifndef USE_UINT_ENUMS
127 LSA_AUDIT_CATEGORY_SYSTEM=0,
128 LSA_AUDIT_CATEGORY_LOGON=1,
129 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
130 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
131 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
132 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
133 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
134 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
135 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
137 #else
138 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
139 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
140 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
141 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
142 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
143 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
144 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
145 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
146 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
147 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
148 #endif
151 struct lsa_AuditEventsInfo {
152 uint32_t auditing_mode;
153 enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
154 uint32_t count;
157 struct lsa_DomainInfo {
158 struct lsa_StringLarge name;
159 struct dom_sid2 *sid;/* [unique] */
162 struct lsa_PDAccountInfo {
163 struct lsa_String name;
166 enum lsa_Role
167 #ifndef USE_UINT_ENUMS
169 LSA_ROLE_BACKUP=2,
170 LSA_ROLE_PRIMARY=3
172 #else
173 { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
174 #define LSA_ROLE_BACKUP ( 2 )
175 #define LSA_ROLE_PRIMARY ( 3 )
176 #endif
179 struct lsa_ServerRole {
180 enum lsa_Role role;
183 struct lsa_ReplicaSourceInfo {
184 struct lsa_String source;
185 struct lsa_String account;
188 struct lsa_DefaultQuotaInfo {
189 uint32_t paged_pool;
190 uint32_t non_paged_pool;
191 uint32_t min_wss;
192 uint32_t max_wss;
193 uint32_t pagefile;
194 uint64_t unknown;
197 struct lsa_ModificationInfo {
198 uint64_t modified_id;
199 NTTIME db_create_time;
202 struct lsa_AuditFullSetInfo {
203 uint8_t shutdown_on_full;
206 struct lsa_AuditFullQueryInfo {
207 uint8_t shutdown_on_full;
208 uint8_t log_is_full;
211 struct lsa_DnsDomainInfo {
212 struct lsa_StringLarge name;
213 struct lsa_StringLarge dns_domain;
214 struct lsa_StringLarge dns_forest;
215 struct GUID domain_guid;
216 struct dom_sid2 *sid;/* [unique] */
219 enum lsa_PolicyInfo
220 #ifndef USE_UINT_ENUMS
222 LSA_POLICY_INFO_AUDIT_LOG=1,
223 LSA_POLICY_INFO_AUDIT_EVENTS=2,
224 LSA_POLICY_INFO_DOMAIN=3,
225 LSA_POLICY_INFO_PD=4,
226 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
227 LSA_POLICY_INFO_ROLE=6,
228 LSA_POLICY_INFO_REPLICA=7,
229 LSA_POLICY_INFO_QUOTA=8,
230 LSA_POLICY_INFO_MOD=9,
231 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
232 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
233 LSA_POLICY_INFO_DNS=12,
234 LSA_POLICY_INFO_DNS_INT=13,
235 LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
237 #else
238 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
239 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
240 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
241 #define LSA_POLICY_INFO_DOMAIN ( 3 )
242 #define LSA_POLICY_INFO_PD ( 4 )
243 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
244 #define LSA_POLICY_INFO_ROLE ( 6 )
245 #define LSA_POLICY_INFO_REPLICA ( 7 )
246 #define LSA_POLICY_INFO_QUOTA ( 8 )
247 #define LSA_POLICY_INFO_MOD ( 9 )
248 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
249 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
250 #define LSA_POLICY_INFO_DNS ( 12 )
251 #define LSA_POLICY_INFO_DNS_INT ( 13 )
252 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
253 #endif
256 union lsa_PolicyInformation {
257 struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
258 struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
259 struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
260 struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
261 struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
262 struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
263 struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
264 struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
265 struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
266 struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
267 struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
268 struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
269 struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
270 }/* [switch_type(uint16)] */;
272 struct lsa_SidPtr {
273 struct dom_sid2 *sid;/* [unique] */
276 struct lsa_SidArray {
277 uint32_t num_sids;/* [range(0,1000)] */
278 struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
279 }/* [public] */;
281 struct lsa_DomainList {
282 uint32_t count;
283 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
286 enum lsa_SidType
287 #ifndef USE_UINT_ENUMS
289 SID_NAME_USE_NONE=0,
290 SID_NAME_USER=1,
291 SID_NAME_DOM_GRP=2,
292 SID_NAME_DOMAIN=3,
293 SID_NAME_ALIAS=4,
294 SID_NAME_WKN_GRP=5,
295 SID_NAME_DELETED=6,
296 SID_NAME_INVALID=7,
297 SID_NAME_UNKNOWN=8,
298 SID_NAME_COMPUTER=9
300 #else
301 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
302 #define SID_NAME_USE_NONE ( 0 )
303 #define SID_NAME_USER ( 1 )
304 #define SID_NAME_DOM_GRP ( 2 )
305 #define SID_NAME_DOMAIN ( 3 )
306 #define SID_NAME_ALIAS ( 4 )
307 #define SID_NAME_WKN_GRP ( 5 )
308 #define SID_NAME_DELETED ( 6 )
309 #define SID_NAME_INVALID ( 7 )
310 #define SID_NAME_UNKNOWN ( 8 )
311 #define SID_NAME_COMPUTER ( 9 )
312 #endif
315 struct lsa_TranslatedSid {
316 enum lsa_SidType sid_type;
317 uint32_t rid;
318 uint32_t sid_index;
321 struct lsa_TransSidArray {
322 uint32_t count;/* [range(0,1000)] */
323 struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
326 struct lsa_RefDomainList {
327 uint32_t count;/* [range(0,1000)] */
328 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
329 uint32_t max_size;
332 enum lsa_LookupNamesLevel
333 #ifndef USE_UINT_ENUMS
335 LSA_LOOKUP_NAMES_ALL=1,
336 LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
337 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
338 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
339 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
340 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
341 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
343 #else
344 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
345 #define LSA_LOOKUP_NAMES_ALL ( 1 )
346 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
347 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
348 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
349 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
350 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
351 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
352 #endif
355 struct lsa_TranslatedName {
356 enum lsa_SidType sid_type;
357 struct lsa_String name;
358 uint32_t sid_index;
361 struct lsa_TransNameArray {
362 uint32_t count;/* [range(0,1000)] */
363 struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
366 struct lsa_LUIDAttribute {
367 struct lsa_LUID luid;
368 uint32_t attribute;
371 struct lsa_PrivilegeSet {
372 uint32_t count;/* [range(0,1000)] */
373 uint32_t unknown;
374 struct lsa_LUIDAttribute *set;/* [size_is(count)] */
377 /* bitmap lsa_SystemAccessModeFlags */
378 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
379 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
380 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
381 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
382 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
383 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
384 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
385 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
386 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
387 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
388 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
389 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
390 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
392 struct lsa_DATA_BUF {
393 uint32_t length;
394 uint32_t size;
395 uint8_t *data;/* [unique,length_is(length),size_is(size)] */
396 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
398 struct lsa_DATA_BUF2 {
399 uint32_t size;/* [range(0,65536)] */
400 uint8_t *data;/* [unique,size_is(size)] */
401 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
403 enum lsa_TrustDomInfoEnum
404 #ifndef USE_UINT_ENUMS
406 LSA_TRUSTED_DOMAIN_INFO_NAME=1,
407 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
408 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
409 LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
410 LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
411 LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
412 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
413 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
414 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
415 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
416 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
417 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
418 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
420 #else
421 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
422 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
423 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
424 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
425 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
426 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
427 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
428 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
429 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
430 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
431 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
432 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
433 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
434 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
435 #endif
438 /* bitmap lsa_TrustDirection */
439 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
440 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
442 enum lsa_TrustType
443 #ifndef USE_UINT_ENUMS
445 LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
446 LSA_TRUST_TYPE_UPLEVEL=0x00000002,
447 LSA_TRUST_TYPE_MIT=0x00000003
449 #else
450 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
451 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
452 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
453 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
454 #endif
457 /* bitmap lsa_TrustAttributes */
458 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
459 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
460 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
461 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
462 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
463 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
464 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
465 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
467 struct lsa_TrustDomainInfoName {
468 struct lsa_StringLarge netbios_name;
471 struct lsa_TrustDomainInfoControllers {
472 uint32_t entries;
473 struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
476 struct lsa_TrustDomainInfoPosixOffset {
477 uint32_t posix_offset;
480 struct lsa_TrustDomainInfoPassword {
481 struct lsa_DATA_BUF *password;/* [unique] */
482 struct lsa_DATA_BUF *old_password;/* [unique] */
485 struct lsa_TrustDomainInfoBasic {
486 struct lsa_String netbios_name;
487 struct dom_sid2 *sid;/* [unique] */
490 struct lsa_TrustDomainInfoInfoEx {
491 struct lsa_StringLarge domain_name;
492 struct lsa_StringLarge netbios_name;
493 struct dom_sid2 *sid;/* [unique] */
494 uint32_t trust_direction;
495 enum lsa_TrustType trust_type;
496 uint32_t trust_attributes;
499 enum lsa_TrustAuthType
500 #ifndef USE_UINT_ENUMS
502 TRUST_AUTH_TYPE_NONE=0,
503 TRUST_AUTH_TYPE_NT4OWF=1,
504 TRUST_AUTH_TYPE_CLEAR=2,
505 TRUST_AUTH_TYPE_VERSION=3
507 #else
508 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
509 #define TRUST_AUTH_TYPE_NONE ( 0 )
510 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
511 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
512 #define TRUST_AUTH_TYPE_VERSION ( 3 )
513 #endif
516 struct lsa_TrustDomainInfoBuffer {
517 NTTIME last_update_time;
518 enum lsa_TrustAuthType AuthType;
519 struct lsa_DATA_BUF2 data;
522 struct lsa_TrustDomainInfoAuthInfo {
523 uint32_t incoming_count;
524 struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
525 struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
526 uint32_t outgoing_count;
527 struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
528 struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
531 struct lsa_TrustDomainInfoFullInfo {
532 struct lsa_TrustDomainInfoInfoEx info_ex;
533 struct lsa_TrustDomainInfoPosixOffset posix_offset;
534 struct lsa_TrustDomainInfoAuthInfo auth_info;
537 struct lsa_TrustDomainInfoAuthInfoInternal {
538 struct lsa_DATA_BUF2 auth_blob;
541 struct lsa_TrustDomainInfoFullInfoInternal {
542 struct lsa_TrustDomainInfoInfoEx info_ex;
543 struct lsa_TrustDomainInfoPosixOffset posix_offset;
544 struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
547 struct lsa_TrustDomainInfoInfoEx2Internal {
548 struct lsa_TrustDomainInfoInfoEx info_ex;
549 uint32_t forest_trust_length;
550 uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
553 struct lsa_TrustDomainInfoFullInfo2Internal {
554 struct lsa_TrustDomainInfoInfoEx2Internal info;
555 struct lsa_TrustDomainInfoPosixOffset posix_offset;
556 struct lsa_TrustDomainInfoAuthInfo auth_info;
559 struct lsa_TrustDomainInfoSupportedEncTypes {
560 uint32_t enc_types;
563 union lsa_TrustedDomainInfo {
564 struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
565 struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
566 struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
567 struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
568 struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
569 struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
570 struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
571 struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
572 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
573 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
574 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
575 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
576 struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
577 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
579 struct lsa_DATA_BUF_PTR {
580 struct lsa_DATA_BUF *buf;/* [unique] */
583 struct lsa_RightAttribute {
584 const char *name;/* [unique,charset(UTF16)] */
587 struct lsa_RightSet {
588 uint32_t count;/* [range(0,256)] */
589 struct lsa_StringLarge *names;/* [unique,size_is(count)] */
592 struct lsa_DomainListEx {
593 uint32_t count;
594 struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
597 struct lsa_DomainInfoKerberos {
598 uint32_t enforce_restrictions;
599 uint64_t service_tkt_lifetime;
600 uint64_t user_tkt_lifetime;
601 uint64_t user_tkt_renewaltime;
602 uint64_t clock_skew;
603 uint64_t unknown6;
606 struct lsa_DomainInfoEfs {
607 uint32_t blob_size;
608 uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
611 enum lsa_DomainInfoEnum
612 #ifndef USE_UINT_ENUMS
614 LSA_DOMAIN_INFO_POLICY_EFS=2,
615 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
617 #else
618 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
619 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
620 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
621 #endif
624 union lsa_DomainInformationPolicy {
625 struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
626 struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
627 }/* [switch_type(uint16)] */;
629 struct lsa_TranslatedName2 {
630 enum lsa_SidType sid_type;
631 struct lsa_String name;
632 uint32_t sid_index;
633 uint32_t unknown;
636 struct lsa_TransNameArray2 {
637 uint32_t count;/* [range(0,1000)] */
638 struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
641 struct lsa_TranslatedSid2 {
642 enum lsa_SidType sid_type;
643 uint32_t rid;
644 uint32_t sid_index;
645 uint32_t unknown;
648 struct lsa_TransSidArray2 {
649 uint32_t count;/* [range(0,1000)] */
650 struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
653 struct lsa_TranslatedSid3 {
654 enum lsa_SidType sid_type;
655 struct dom_sid2 *sid;/* [unique] */
656 uint32_t sid_index;
657 uint32_t flags;
660 struct lsa_TransSidArray3 {
661 uint32_t count;/* [range(0,1000)] */
662 struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
665 struct lsa_ForestTrustBinaryData {
666 uint32_t length;/* [range(0,131072)] */
667 uint8_t *data;/* [unique,size_is(length)] */
670 struct lsa_ForestTrustDomainInfo {
671 struct dom_sid2 *domain_sid;/* [unique] */
672 struct lsa_StringLarge dns_domain_name;
673 struct lsa_StringLarge netbios_domain_name;
676 union lsa_ForestTrustData {
677 struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
678 struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
679 struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
680 struct lsa_ForestTrustBinaryData data;/* [default] */
681 }/* [switch_type(uint32)] */;
683 enum lsa_ForestTrustRecordType
684 #ifndef USE_UINT_ENUMS
686 LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
687 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
688 LSA_FOREST_TRUST_DOMAIN_INFO=2,
689 LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
691 #else
692 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
693 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
694 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
695 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
696 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
697 #endif
700 struct lsa_ForestTrustRecord {
701 uint32_t flags;
702 enum lsa_ForestTrustRecordType level;
703 uint64_t unknown;
704 union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
707 struct lsa_ForestTrustInformation {
708 uint32_t count;/* [range(0,4000)] */
709 struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
710 }/* [public] */;
713 struct lsa_Close {
714 struct {
715 struct policy_handle *handle;/* [ref] */
716 } in;
718 struct {
719 struct policy_handle *handle;/* [ref] */
720 NTSTATUS result;
721 } out;
726 struct lsa_Delete {
727 struct {
728 struct policy_handle *handle;/* [ref] */
729 } in;
731 struct {
732 NTSTATUS result;
733 } out;
738 struct lsa_EnumPrivs {
739 struct {
740 struct policy_handle *handle;/* [ref] */
741 uint32_t max_count;
742 uint32_t *resume_handle;/* [ref] */
743 } in;
745 struct {
746 struct lsa_PrivArray *privs;/* [ref] */
747 uint32_t *resume_handle;/* [ref] */
748 NTSTATUS result;
749 } out;
754 struct lsa_QuerySecurity {
755 struct {
756 struct policy_handle *handle;/* [ref] */
757 uint32_t sec_info;
758 } in;
760 struct {
761 struct sec_desc_buf **sdbuf;/* [ref] */
762 NTSTATUS result;
763 } out;
768 struct lsa_SetSecObj {
769 struct {
770 struct policy_handle *handle;/* [ref] */
771 uint32_t sec_info;
772 struct sec_desc_buf *sdbuf;/* [ref] */
773 } in;
775 struct {
776 NTSTATUS result;
777 } out;
782 struct lsa_ChangePassword {
783 struct {
784 NTSTATUS result;
785 } out;
790 struct lsa_OpenPolicy {
791 struct {
792 uint16_t *system_name;/* [unique] */
793 struct lsa_ObjectAttribute *attr;/* [ref] */
794 uint32_t access_mask;
795 } in;
797 struct {
798 struct policy_handle *handle;/* [ref] */
799 NTSTATUS result;
800 } out;
805 struct lsa_QueryInfoPolicy {
806 struct {
807 struct policy_handle *handle;/* [ref] */
808 enum lsa_PolicyInfo level;
809 } in;
811 struct {
812 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
813 NTSTATUS result;
814 } out;
819 struct lsa_SetInfoPolicy {
820 struct {
821 struct policy_handle *handle;/* [ref] */
822 enum lsa_PolicyInfo level;
823 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
824 } in;
826 struct {
827 NTSTATUS result;
828 } out;
833 struct lsa_ClearAuditLog {
834 struct {
835 NTSTATUS result;
836 } out;
841 struct lsa_CreateAccount {
842 struct {
843 struct policy_handle *handle;/* [ref] */
844 struct dom_sid2 *sid;/* [ref] */
845 uint32_t access_mask;
846 } in;
848 struct {
849 struct policy_handle *acct_handle;/* [ref] */
850 NTSTATUS result;
851 } out;
856 struct lsa_EnumAccounts {
857 struct {
858 struct policy_handle *handle;/* [ref] */
859 uint32_t num_entries;/* [range(0,8192)] */
860 uint32_t *resume_handle;/* [ref] */
861 } in;
863 struct {
864 struct lsa_SidArray *sids;/* [ref] */
865 uint32_t *resume_handle;/* [ref] */
866 NTSTATUS result;
867 } out;
872 struct lsa_CreateTrustedDomain {
873 struct {
874 struct policy_handle *policy_handle;/* [ref] */
875 struct lsa_DomainInfo *info;/* [ref] */
876 uint32_t access_mask;
877 } in;
879 struct {
880 struct policy_handle *trustdom_handle;/* [ref] */
881 NTSTATUS result;
882 } out;
887 struct lsa_EnumTrustDom {
888 struct {
889 struct policy_handle *handle;/* [ref] */
890 uint32_t max_size;
891 uint32_t *resume_handle;/* [ref] */
892 } in;
894 struct {
895 struct lsa_DomainList *domains;/* [ref] */
896 uint32_t *resume_handle;/* [ref] */
897 NTSTATUS result;
898 } out;
903 struct lsa_LookupNames {
904 struct {
905 struct policy_handle *handle;/* [ref] */
906 uint32_t num_names;/* [range(0,1000)] */
907 struct lsa_String *names;/* [size_is(num_names)] */
908 enum lsa_LookupNamesLevel level;
909 struct lsa_TransSidArray *sids;/* [ref] */
910 uint32_t *count;/* [ref] */
911 } in;
913 struct {
914 struct lsa_RefDomainList **domains;/* [ref] */
915 struct lsa_TransSidArray *sids;/* [ref] */
916 uint32_t *count;/* [ref] */
917 NTSTATUS result;
918 } out;
923 struct lsa_LookupSids {
924 struct {
925 struct policy_handle *handle;/* [ref] */
926 struct lsa_SidArray *sids;/* [ref] */
927 uint16_t level;
928 struct lsa_TransNameArray *names;/* [ref] */
929 uint32_t *count;/* [ref] */
930 } in;
932 struct {
933 struct lsa_RefDomainList **domains;/* [ref] */
934 struct lsa_TransNameArray *names;/* [ref] */
935 uint32_t *count;/* [ref] */
936 NTSTATUS result;
937 } out;
942 struct lsa_CreateSecret {
943 struct {
944 struct policy_handle *handle;/* [ref] */
945 struct lsa_String name;
946 uint32_t access_mask;
947 } in;
949 struct {
950 struct policy_handle *sec_handle;/* [ref] */
951 NTSTATUS result;
952 } out;
957 struct lsa_OpenAccount {
958 struct {
959 struct policy_handle *handle;/* [ref] */
960 struct dom_sid2 *sid;/* [ref] */
961 uint32_t access_mask;
962 } in;
964 struct {
965 struct policy_handle *acct_handle;/* [ref] */
966 NTSTATUS result;
967 } out;
972 struct lsa_EnumPrivsAccount {
973 struct {
974 struct policy_handle *handle;/* [ref] */
975 } in;
977 struct {
978 struct lsa_PrivilegeSet **privs;/* [ref] */
979 NTSTATUS result;
980 } out;
985 struct lsa_AddPrivilegesToAccount {
986 struct {
987 struct policy_handle *handle;/* [ref] */
988 struct lsa_PrivilegeSet *privs;/* [ref] */
989 } in;
991 struct {
992 NTSTATUS result;
993 } out;
998 struct lsa_RemovePrivilegesFromAccount {
999 struct {
1000 struct policy_handle *handle;/* [ref] */
1001 uint8_t remove_all;
1002 struct lsa_PrivilegeSet *privs;/* [unique] */
1003 } in;
1005 struct {
1006 NTSTATUS result;
1007 } out;
1012 struct lsa_GetQuotasForAccount {
1013 struct {
1014 NTSTATUS result;
1015 } out;
1020 struct lsa_SetQuotasForAccount {
1021 struct {
1022 NTSTATUS result;
1023 } out;
1028 struct lsa_GetSystemAccessAccount {
1029 struct {
1030 struct policy_handle *handle;/* [ref] */
1031 } in;
1033 struct {
1034 uint32_t *access_mask;/* [ref] */
1035 NTSTATUS result;
1036 } out;
1041 struct lsa_SetSystemAccessAccount {
1042 struct {
1043 struct policy_handle *handle;/* [ref] */
1044 uint32_t access_mask;
1045 } in;
1047 struct {
1048 NTSTATUS result;
1049 } out;
1054 struct lsa_OpenTrustedDomain {
1055 struct {
1056 struct policy_handle *handle;/* [ref] */
1057 struct dom_sid2 *sid;/* [ref] */
1058 uint32_t access_mask;
1059 } in;
1061 struct {
1062 struct policy_handle *trustdom_handle;/* [ref] */
1063 NTSTATUS result;
1064 } out;
1069 struct lsa_QueryTrustedDomainInfo {
1070 struct {
1071 struct policy_handle *trustdom_handle;/* [ref] */
1072 enum lsa_TrustDomInfoEnum level;
1073 } in;
1075 struct {
1076 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1077 NTSTATUS result;
1078 } out;
1083 struct lsa_SetInformationTrustedDomain {
1084 struct {
1085 struct policy_handle *trustdom_handle;/* [ref] */
1086 enum lsa_TrustDomInfoEnum level;
1087 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1088 } in;
1090 struct {
1091 NTSTATUS result;
1092 } out;
1097 struct lsa_OpenSecret {
1098 struct {
1099 struct policy_handle *handle;/* [ref] */
1100 struct lsa_String name;
1101 uint32_t access_mask;
1102 } in;
1104 struct {
1105 struct policy_handle *sec_handle;/* [ref] */
1106 NTSTATUS result;
1107 } out;
1112 struct lsa_SetSecret {
1113 struct {
1114 struct policy_handle *sec_handle;/* [ref] */
1115 struct lsa_DATA_BUF *new_val;/* [unique] */
1116 struct lsa_DATA_BUF *old_val;/* [unique] */
1117 } in;
1119 struct {
1120 NTSTATUS result;
1121 } out;
1126 struct lsa_QuerySecret {
1127 struct {
1128 struct policy_handle *sec_handle;/* [ref] */
1129 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1130 NTTIME *new_mtime;/* [unique] */
1131 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1132 NTTIME *old_mtime;/* [unique] */
1133 } in;
1135 struct {
1136 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1137 NTTIME *new_mtime;/* [unique] */
1138 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1139 NTTIME *old_mtime;/* [unique] */
1140 NTSTATUS result;
1141 } out;
1146 struct lsa_LookupPrivValue {
1147 struct {
1148 struct policy_handle *handle;/* [ref] */
1149 struct lsa_String *name;/* [ref] */
1150 } in;
1152 struct {
1153 struct lsa_LUID *luid;/* [ref] */
1154 NTSTATUS result;
1155 } out;
1160 struct lsa_LookupPrivName {
1161 struct {
1162 struct policy_handle *handle;/* [ref] */
1163 struct lsa_LUID *luid;/* [ref] */
1164 } in;
1166 struct {
1167 struct lsa_StringLarge **name;/* [ref] */
1168 NTSTATUS result;
1169 } out;
1174 struct lsa_LookupPrivDisplayName {
1175 struct {
1176 struct policy_handle *handle;/* [ref] */
1177 struct lsa_String *name;/* [ref] */
1178 uint16_t language_id;
1179 uint16_t language_id_sys;
1180 } in;
1182 struct {
1183 struct lsa_StringLarge **disp_name;/* [ref] */
1184 uint16_t *returned_language_id;/* [ref] */
1185 NTSTATUS result;
1186 } out;
1191 struct lsa_DeleteObject {
1192 struct {
1193 struct policy_handle *handle;/* [ref] */
1194 } in;
1196 struct {
1197 struct policy_handle *handle;/* [ref] */
1198 NTSTATUS result;
1199 } out;
1204 struct lsa_EnumAccountsWithUserRight {
1205 struct {
1206 struct policy_handle *handle;/* [ref] */
1207 struct lsa_String *name;/* [unique] */
1208 } in;
1210 struct {
1211 struct lsa_SidArray *sids;/* [ref] */
1212 NTSTATUS result;
1213 } out;
1218 struct lsa_EnumAccountRights {
1219 struct {
1220 struct policy_handle *handle;/* [ref] */
1221 struct dom_sid2 *sid;/* [ref] */
1222 } in;
1224 struct {
1225 struct lsa_RightSet *rights;/* [ref] */
1226 NTSTATUS result;
1227 } out;
1232 struct lsa_AddAccountRights {
1233 struct {
1234 struct policy_handle *handle;/* [ref] */
1235 struct dom_sid2 *sid;/* [ref] */
1236 struct lsa_RightSet *rights;/* [ref] */
1237 } in;
1239 struct {
1240 NTSTATUS result;
1241 } out;
1246 struct lsa_RemoveAccountRights {
1247 struct {
1248 struct policy_handle *handle;/* [ref] */
1249 struct dom_sid2 *sid;/* [ref] */
1250 uint8_t remove_all;
1251 struct lsa_RightSet *rights;/* [ref] */
1252 } in;
1254 struct {
1255 NTSTATUS result;
1256 } out;
1261 struct lsa_QueryTrustedDomainInfoBySid {
1262 struct {
1263 struct policy_handle *handle;/* [ref] */
1264 struct dom_sid2 *dom_sid;/* [ref] */
1265 enum lsa_TrustDomInfoEnum level;
1266 } in;
1268 struct {
1269 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1270 NTSTATUS result;
1271 } out;
1276 struct lsa_SetTrustedDomainInfo {
1277 struct {
1278 struct policy_handle *handle;/* [ref] */
1279 struct dom_sid2 *dom_sid;/* [ref] */
1280 enum lsa_TrustDomInfoEnum level;
1281 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1282 } in;
1284 struct {
1285 NTSTATUS result;
1286 } out;
1291 struct lsa_DeleteTrustedDomain {
1292 struct {
1293 struct policy_handle *handle;/* [ref] */
1294 struct dom_sid2 *dom_sid;/* [ref] */
1295 } in;
1297 struct {
1298 NTSTATUS result;
1299 } out;
1304 struct lsa_StorePrivateData {
1305 struct {
1306 NTSTATUS result;
1307 } out;
1312 struct lsa_RetrievePrivateData {
1313 struct {
1314 NTSTATUS result;
1315 } out;
1320 struct lsa_OpenPolicy2 {
1321 struct {
1322 const char *system_name;/* [unique,charset(UTF16)] */
1323 struct lsa_ObjectAttribute *attr;/* [ref] */
1324 uint32_t access_mask;
1325 } in;
1327 struct {
1328 struct policy_handle *handle;/* [ref] */
1329 NTSTATUS result;
1330 } out;
1335 struct lsa_GetUserName {
1336 struct {
1337 const char *system_name;/* [unique,charset(UTF16)] */
1338 struct lsa_String **account_name;/* [ref] */
1339 struct lsa_String **authority_name;/* [unique] */
1340 } in;
1342 struct {
1343 struct lsa_String **account_name;/* [ref] */
1344 struct lsa_String **authority_name;/* [unique] */
1345 NTSTATUS result;
1346 } out;
1351 struct lsa_QueryInfoPolicy2 {
1352 struct {
1353 struct policy_handle *handle;/* [ref] */
1354 enum lsa_PolicyInfo level;
1355 } in;
1357 struct {
1358 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1359 NTSTATUS result;
1360 } out;
1365 struct lsa_SetInfoPolicy2 {
1366 struct {
1367 struct policy_handle *handle;/* [ref] */
1368 enum lsa_PolicyInfo level;
1369 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1370 } in;
1372 struct {
1373 NTSTATUS result;
1374 } out;
1379 struct lsa_QueryTrustedDomainInfoByName {
1380 struct {
1381 struct policy_handle *handle;/* [ref] */
1382 struct lsa_String *trusted_domain;/* [ref] */
1383 enum lsa_TrustDomInfoEnum level;
1384 } in;
1386 struct {
1387 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1388 NTSTATUS result;
1389 } out;
1394 struct lsa_SetTrustedDomainInfoByName {
1395 struct {
1396 struct policy_handle *handle;/* [ref] */
1397 struct lsa_String trusted_domain;
1398 enum lsa_TrustDomInfoEnum level;
1399 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1400 } in;
1402 struct {
1403 NTSTATUS result;
1404 } out;
1409 struct lsa_EnumTrustedDomainsEx {
1410 struct {
1411 struct policy_handle *handle;/* [ref] */
1412 uint32_t max_size;
1413 uint32_t *resume_handle;/* [ref] */
1414 } in;
1416 struct {
1417 struct lsa_DomainListEx *domains;/* [ref] */
1418 uint32_t *resume_handle;/* [ref] */
1419 NTSTATUS result;
1420 } out;
1425 struct lsa_CreateTrustedDomainEx {
1426 struct {
1427 struct policy_handle *policy_handle;/* [ref] */
1428 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1429 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1430 uint32_t access_mask;
1431 } in;
1433 struct {
1434 struct policy_handle *trustdom_handle;/* [ref] */
1435 NTSTATUS result;
1436 } out;
1441 struct lsa_CloseTrustedDomainEx {
1442 struct {
1443 struct policy_handle *handle;/* [ref] */
1444 } in;
1446 struct {
1447 struct policy_handle *handle;/* [ref] */
1448 NTSTATUS result;
1449 } out;
1454 struct lsa_QueryDomainInformationPolicy {
1455 struct {
1456 struct policy_handle *handle;/* [ref] */
1457 uint16_t level;
1458 } in;
1460 struct {
1461 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1462 NTSTATUS result;
1463 } out;
1468 struct lsa_SetDomainInformationPolicy {
1469 struct {
1470 struct policy_handle *handle;/* [ref] */
1471 uint16_t level;
1472 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1473 } in;
1475 struct {
1476 NTSTATUS result;
1477 } out;
1482 struct lsa_OpenTrustedDomainByName {
1483 struct {
1484 struct policy_handle *handle;/* [ref] */
1485 struct lsa_String name;
1486 uint32_t access_mask;
1487 } in;
1489 struct {
1490 struct policy_handle *trustdom_handle;/* [ref] */
1491 NTSTATUS result;
1492 } out;
1497 struct lsa_TestCall {
1498 struct {
1499 NTSTATUS result;
1500 } out;
1505 struct lsa_LookupSids2 {
1506 struct {
1507 struct policy_handle *handle;/* [ref] */
1508 struct lsa_SidArray *sids;/* [ref] */
1509 uint16_t level;
1510 uint32_t unknown1;
1511 uint32_t unknown2;
1512 struct lsa_TransNameArray2 *names;/* [ref] */
1513 uint32_t *count;/* [ref] */
1514 } in;
1516 struct {
1517 struct lsa_RefDomainList **domains;/* [ref] */
1518 struct lsa_TransNameArray2 *names;/* [ref] */
1519 uint32_t *count;/* [ref] */
1520 NTSTATUS result;
1521 } out;
1526 struct lsa_LookupNames2 {
1527 struct {
1528 struct policy_handle *handle;/* [ref] */
1529 uint32_t num_names;/* [range(0,1000)] */
1530 struct lsa_String *names;/* [size_is(num_names)] */
1531 enum lsa_LookupNamesLevel level;
1532 uint32_t lookup_options;
1533 uint32_t client_revision;
1534 struct lsa_TransSidArray2 *sids;/* [ref] */
1535 uint32_t *count;/* [ref] */
1536 } in;
1538 struct {
1539 struct lsa_RefDomainList **domains;/* [ref] */
1540 struct lsa_TransSidArray2 *sids;/* [ref] */
1541 uint32_t *count;/* [ref] */
1542 NTSTATUS result;
1543 } out;
1548 struct lsa_CreateTrustedDomainEx2 {
1549 struct {
1550 struct policy_handle *policy_handle;/* [ref] */
1551 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1552 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1553 uint32_t access_mask;
1554 } in;
1556 struct {
1557 struct policy_handle *trustdom_handle;/* [ref] */
1558 NTSTATUS result;
1559 } out;
1564 struct lsa_CREDRWRITE {
1565 struct {
1566 NTSTATUS result;
1567 } out;
1572 struct lsa_CREDRREAD {
1573 struct {
1574 NTSTATUS result;
1575 } out;
1580 struct lsa_CREDRENUMERATE {
1581 struct {
1582 NTSTATUS result;
1583 } out;
1588 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1589 struct {
1590 NTSTATUS result;
1591 } out;
1596 struct lsa_CREDRREADDOMAINCREDENTIALS {
1597 struct {
1598 NTSTATUS result;
1599 } out;
1604 struct lsa_CREDRDELETE {
1605 struct {
1606 NTSTATUS result;
1607 } out;
1612 struct lsa_CREDRGETTARGETINFO {
1613 struct {
1614 NTSTATUS result;
1615 } out;
1620 struct lsa_CREDRPROFILELOADED {
1621 struct {
1622 NTSTATUS result;
1623 } out;
1628 struct lsa_LookupNames3 {
1629 struct {
1630 struct policy_handle *handle;/* [ref] */
1631 uint32_t num_names;/* [range(0,1000)] */
1632 struct lsa_String *names;/* [size_is(num_names)] */
1633 enum lsa_LookupNamesLevel level;
1634 uint32_t lookup_options;
1635 uint32_t client_revision;
1636 struct lsa_TransSidArray3 *sids;/* [ref] */
1637 uint32_t *count;/* [ref] */
1638 } in;
1640 struct {
1641 struct lsa_RefDomainList **domains;/* [ref] */
1642 struct lsa_TransSidArray3 *sids;/* [ref] */
1643 uint32_t *count;/* [ref] */
1644 NTSTATUS result;
1645 } out;
1650 struct lsa_CREDRGETSESSIONTYPES {
1651 struct {
1652 NTSTATUS result;
1653 } out;
1658 struct lsa_LSARREGISTERAUDITEVENT {
1659 struct {
1660 NTSTATUS result;
1661 } out;
1666 struct lsa_LSARGENAUDITEVENT {
1667 struct {
1668 NTSTATUS result;
1669 } out;
1674 struct lsa_LSARUNREGISTERAUDITEVENT {
1675 struct {
1676 NTSTATUS result;
1677 } out;
1682 struct lsa_lsaRQueryForestTrustInformation {
1683 struct {
1684 struct policy_handle *handle;/* [ref] */
1685 struct lsa_String *trusted_domain_name;/* [ref] */
1686 uint16_t unknown;
1687 } in;
1689 struct {
1690 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1691 NTSTATUS result;
1692 } out;
1697 struct lsa_LSARSETFORESTTRUSTINFORMATION {
1698 struct {
1699 NTSTATUS result;
1700 } out;
1705 struct lsa_CREDRRENAME {
1706 struct {
1707 NTSTATUS result;
1708 } out;
1713 struct lsa_LookupSids3 {
1714 struct {
1715 struct lsa_SidArray *sids;/* [ref] */
1716 uint16_t level;
1717 uint32_t unknown1;
1718 uint32_t unknown2;
1719 struct lsa_TransNameArray2 *names;/* [ref] */
1720 uint32_t *count;/* [ref] */
1721 } in;
1723 struct {
1724 struct lsa_RefDomainList **domains;/* [ref] */
1725 struct lsa_TransNameArray2 *names;/* [ref] */
1726 uint32_t *count;/* [ref] */
1727 NTSTATUS result;
1728 } out;
1733 struct lsa_LookupNames4 {
1734 struct {
1735 uint32_t num_names;/* [range(0,1000)] */
1736 struct lsa_String *names;/* [size_is(num_names)] */
1737 enum lsa_LookupNamesLevel level;
1738 uint32_t lookup_options;
1739 uint32_t client_revision;
1740 struct lsa_TransSidArray3 *sids;/* [ref] */
1741 uint32_t *count;/* [ref] */
1742 } in;
1744 struct {
1745 struct lsa_RefDomainList **domains;/* [ref] */
1746 struct lsa_TransSidArray3 *sids;/* [ref] */
1747 uint32_t *count;/* [ref] */
1748 NTSTATUS result;
1749 } out;
1754 struct lsa_LSAROPENPOLICYSCE {
1755 struct {
1756 NTSTATUS result;
1757 } out;
1762 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1763 struct {
1764 NTSTATUS result;
1765 } out;
1770 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1771 struct {
1772 NTSTATUS result;
1773 } out;
1778 struct lsa_LSARADTREPORTSECURITYEVENT {
1779 struct {
1780 NTSTATUS result;
1781 } out;
1785 #endif /* _HEADER_lsarpc */