s3: Refactor of madvise() usage in c441f58d
[Samba/gbeck.git] / librpc / gen_ndr / lsa.h
blob03a0464d5bd791f20ba5509fcebfb5128aff1ffb
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_POLICY_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN|LSA_POLICY_LOOKUP_NAMES) )
11 #define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) )
12 #define LSA_POLICY_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN) )
13 #define LSA_POLICY_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) )
14 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
15 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
16 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
17 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
18 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
19 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
20 struct lsa_String {
21 uint16_t length;/* [value(2*strlen_m(string))] */
22 uint16_t size;/* [value(2*strlen_m(string))] */
23 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
24 }/* [public] */;
26 struct lsa_StringLarge {
27 uint16_t length;/* [value(2*strlen_m(string))] */
28 uint16_t size;/* [value(2*strlen_m_term(string))] */
29 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
30 }/* [public] */;
32 struct lsa_Strings {
33 uint32_t count;
34 struct lsa_String *names;/* [unique,size_is(count)] */
35 }/* [public] */;
37 struct lsa_AsciiString {
38 uint16_t length;/* [value(strlen_m(string))] */
39 uint16_t size;/* [value(strlen_m(string))] */
40 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
41 }/* [public] */;
43 struct lsa_AsciiStringLarge {
44 uint16_t length;/* [value(strlen_m(string))] */
45 uint16_t size;/* [value(strlen_m_term(string))] */
46 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
47 }/* [public] */;
49 struct lsa_BinaryString {
50 uint16_t length;
51 uint16_t size;
52 uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
53 }/* [public] */;
55 struct lsa_LUID {
56 uint32_t low;
57 uint32_t high;
60 struct lsa_PrivEntry {
61 struct lsa_StringLarge name;
62 struct lsa_LUID luid;
65 struct lsa_PrivArray {
66 uint32_t count;
67 struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
70 struct lsa_QosInfo {
71 uint32_t len;
72 uint16_t impersonation_level;
73 uint8_t context_mode;
74 uint8_t effective_only;
77 struct lsa_ObjectAttribute {
78 uint32_t len;
79 uint8_t *root_dir;/* [unique] */
80 const char *object_name;/* [unique,charset(UTF16)] */
81 uint32_t attributes;
82 struct security_descriptor *sec_desc;/* [unique] */
83 struct lsa_QosInfo *sec_qos;/* [unique] */
86 /* bitmap lsa_PolicyAccessMask */
87 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
88 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
89 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
90 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
91 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
92 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
93 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
94 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
95 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
96 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
97 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
98 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
100 struct lsa_AuditLogInfo {
101 uint32_t percent_full;
102 uint32_t maximum_log_size;
103 uint64_t retention_time;
104 uint8_t shutdown_in_progress;
105 uint64_t time_to_shutdown;
106 uint32_t next_audit_record;
109 enum lsa_PolicyAuditPolicy
110 #ifndef USE_UINT_ENUMS
112 LSA_AUDIT_POLICY_NONE=0,
113 LSA_AUDIT_POLICY_SUCCESS=1,
114 LSA_AUDIT_POLICY_FAILURE=2,
115 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
116 LSA_AUDIT_POLICY_CLEAR=4
118 #else
119 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
120 #define LSA_AUDIT_POLICY_NONE ( 0 )
121 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
122 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
123 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
124 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
125 #endif
128 enum lsa_PolicyAuditEventType
129 #ifndef USE_UINT_ENUMS
131 LSA_AUDIT_CATEGORY_SYSTEM=0,
132 LSA_AUDIT_CATEGORY_LOGON=1,
133 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
134 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
135 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
136 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
137 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
138 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
139 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
141 #else
142 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
143 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
144 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
145 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
146 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
147 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
148 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
149 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
150 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
151 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
152 #endif
155 struct lsa_AuditEventsInfo {
156 uint32_t auditing_mode;
157 enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
158 uint32_t count;
161 struct lsa_DomainInfo {
162 struct lsa_StringLarge name;
163 struct dom_sid2 *sid;/* [unique] */
166 struct lsa_PDAccountInfo {
167 struct lsa_String name;
170 enum lsa_Role
171 #ifndef USE_UINT_ENUMS
173 LSA_ROLE_BACKUP=2,
174 LSA_ROLE_PRIMARY=3
176 #else
177 { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
178 #define LSA_ROLE_BACKUP ( 2 )
179 #define LSA_ROLE_PRIMARY ( 3 )
180 #endif
183 struct lsa_ServerRole {
184 enum lsa_Role role;
187 struct lsa_ReplicaSourceInfo {
188 struct lsa_String source;
189 struct lsa_String account;
192 struct lsa_DefaultQuotaInfo {
193 uint32_t paged_pool;
194 uint32_t non_paged_pool;
195 uint32_t min_wss;
196 uint32_t max_wss;
197 uint32_t pagefile;
198 uint64_t unknown;
201 struct lsa_ModificationInfo {
202 uint64_t modified_id;
203 NTTIME db_create_time;
206 struct lsa_AuditFullSetInfo {
207 uint8_t shutdown_on_full;
210 struct lsa_AuditFullQueryInfo {
211 uint8_t shutdown_on_full;
212 uint8_t log_is_full;
215 struct lsa_DnsDomainInfo {
216 struct lsa_StringLarge name;
217 struct lsa_StringLarge dns_domain;
218 struct lsa_StringLarge dns_forest;
219 struct GUID domain_guid;
220 struct dom_sid2 *sid;/* [unique] */
223 enum lsa_PolicyInfo
224 #ifndef USE_UINT_ENUMS
226 LSA_POLICY_INFO_AUDIT_LOG=1,
227 LSA_POLICY_INFO_AUDIT_EVENTS=2,
228 LSA_POLICY_INFO_DOMAIN=3,
229 LSA_POLICY_INFO_PD=4,
230 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
231 LSA_POLICY_INFO_ROLE=6,
232 LSA_POLICY_INFO_REPLICA=7,
233 LSA_POLICY_INFO_QUOTA=8,
234 LSA_POLICY_INFO_MOD=9,
235 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
236 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
237 LSA_POLICY_INFO_DNS=12,
238 LSA_POLICY_INFO_DNS_INT=13,
239 LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
241 #else
242 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
243 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
244 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
245 #define LSA_POLICY_INFO_DOMAIN ( 3 )
246 #define LSA_POLICY_INFO_PD ( 4 )
247 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
248 #define LSA_POLICY_INFO_ROLE ( 6 )
249 #define LSA_POLICY_INFO_REPLICA ( 7 )
250 #define LSA_POLICY_INFO_QUOTA ( 8 )
251 #define LSA_POLICY_INFO_MOD ( 9 )
252 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
253 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
254 #define LSA_POLICY_INFO_DNS ( 12 )
255 #define LSA_POLICY_INFO_DNS_INT ( 13 )
256 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
257 #endif
260 union lsa_PolicyInformation {
261 struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
262 struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
263 struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
264 struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
265 struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
266 struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
267 struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
268 struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
269 struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
270 struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
271 struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
272 struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
273 struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
274 }/* [switch_type(uint16)] */;
276 struct lsa_SidPtr {
277 struct dom_sid2 *sid;/* [unique] */
280 struct lsa_SidArray {
281 uint32_t num_sids;/* [range(0,1000)] */
282 struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
283 }/* [public] */;
285 struct lsa_DomainList {
286 uint32_t count;
287 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
290 enum lsa_SidType
291 #ifndef USE_UINT_ENUMS
293 SID_NAME_USE_NONE=0,
294 SID_NAME_USER=1,
295 SID_NAME_DOM_GRP=2,
296 SID_NAME_DOMAIN=3,
297 SID_NAME_ALIAS=4,
298 SID_NAME_WKN_GRP=5,
299 SID_NAME_DELETED=6,
300 SID_NAME_INVALID=7,
301 SID_NAME_UNKNOWN=8,
302 SID_NAME_COMPUTER=9
304 #else
305 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
306 #define SID_NAME_USE_NONE ( 0 )
307 #define SID_NAME_USER ( 1 )
308 #define SID_NAME_DOM_GRP ( 2 )
309 #define SID_NAME_DOMAIN ( 3 )
310 #define SID_NAME_ALIAS ( 4 )
311 #define SID_NAME_WKN_GRP ( 5 )
312 #define SID_NAME_DELETED ( 6 )
313 #define SID_NAME_INVALID ( 7 )
314 #define SID_NAME_UNKNOWN ( 8 )
315 #define SID_NAME_COMPUTER ( 9 )
316 #endif
319 struct lsa_TranslatedSid {
320 enum lsa_SidType sid_type;
321 uint32_t rid;
322 uint32_t sid_index;
325 struct lsa_TransSidArray {
326 uint32_t count;/* [range(0,1000)] */
327 struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
330 struct lsa_RefDomainList {
331 uint32_t count;/* [range(0,1000)] */
332 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
333 uint32_t max_size;
336 enum lsa_LookupNamesLevel
337 #ifndef USE_UINT_ENUMS
339 LSA_LOOKUP_NAMES_ALL=1,
340 LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
341 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
342 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
343 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
344 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
345 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
347 #else
348 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
349 #define LSA_LOOKUP_NAMES_ALL ( 1 )
350 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
351 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
352 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
353 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
354 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
355 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
356 #endif
359 struct lsa_TranslatedName {
360 enum lsa_SidType sid_type;
361 struct lsa_String name;
362 uint32_t sid_index;
365 struct lsa_TransNameArray {
366 uint32_t count;/* [range(0,1000)] */
367 struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
370 struct lsa_LUIDAttribute {
371 struct lsa_LUID luid;
372 uint32_t attribute;
375 struct lsa_PrivilegeSet {
376 uint32_t count;/* [range(0,1000)] */
377 uint32_t unknown;
378 struct lsa_LUIDAttribute *set;/* [size_is(count)] */
381 /* bitmap lsa_SystemAccessModeFlags */
382 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
383 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
384 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
385 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
386 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
387 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
388 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
389 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
390 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
391 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
392 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
393 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
394 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
396 struct lsa_DATA_BUF {
397 uint32_t length;
398 uint32_t size;
399 uint8_t *data;/* [unique,length_is(length),size_is(size)] */
400 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
402 struct lsa_DATA_BUF2 {
403 uint32_t size;/* [range(0,65536)] */
404 uint8_t *data;/* [unique,size_is(size)] */
405 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
407 enum lsa_TrustDomInfoEnum
408 #ifndef USE_UINT_ENUMS
410 LSA_TRUSTED_DOMAIN_INFO_NAME=1,
411 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
412 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
413 LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
414 LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
415 LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
416 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
417 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
418 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
419 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
420 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
421 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
422 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
424 #else
425 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
426 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
427 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
428 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
429 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
430 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
431 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
432 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
433 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
434 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
435 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
436 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
437 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
438 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
439 #endif
442 /* bitmap lsa_TrustDirection */
443 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
444 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
446 enum lsa_TrustType
447 #ifndef USE_UINT_ENUMS
449 LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
450 LSA_TRUST_TYPE_UPLEVEL=0x00000002,
451 LSA_TRUST_TYPE_MIT=0x00000003
453 #else
454 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
455 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
456 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
457 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
458 #endif
461 /* bitmap lsa_TrustAttributes */
462 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
463 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
464 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
465 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
466 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
467 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
468 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
469 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
471 struct lsa_TrustDomainInfoName {
472 struct lsa_StringLarge netbios_name;
475 struct lsa_TrustDomainInfoControllers {
476 uint32_t entries;
477 struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
480 struct lsa_TrustDomainInfoPosixOffset {
481 uint32_t posix_offset;
484 struct lsa_TrustDomainInfoPassword {
485 struct lsa_DATA_BUF *password;/* [unique] */
486 struct lsa_DATA_BUF *old_password;/* [unique] */
489 struct lsa_TrustDomainInfoBasic {
490 struct lsa_String netbios_name;
491 struct dom_sid2 *sid;/* [unique] */
494 struct lsa_TrustDomainInfoInfoEx {
495 struct lsa_StringLarge domain_name;
496 struct lsa_StringLarge netbios_name;
497 struct dom_sid2 *sid;/* [unique] */
498 uint32_t trust_direction;
499 enum lsa_TrustType trust_type;
500 uint32_t trust_attributes;
503 enum lsa_TrustAuthType
504 #ifndef USE_UINT_ENUMS
506 TRUST_AUTH_TYPE_NONE=0,
507 TRUST_AUTH_TYPE_NT4OWF=1,
508 TRUST_AUTH_TYPE_CLEAR=2,
509 TRUST_AUTH_TYPE_VERSION=3
511 #else
512 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
513 #define TRUST_AUTH_TYPE_NONE ( 0 )
514 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
515 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
516 #define TRUST_AUTH_TYPE_VERSION ( 3 )
517 #endif
520 struct lsa_TrustDomainInfoBuffer {
521 NTTIME last_update_time;
522 enum lsa_TrustAuthType AuthType;
523 struct lsa_DATA_BUF2 data;
526 struct lsa_TrustDomainInfoAuthInfo {
527 uint32_t incoming_count;
528 struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
529 struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
530 uint32_t outgoing_count;
531 struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
532 struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
535 struct lsa_TrustDomainInfoFullInfo {
536 struct lsa_TrustDomainInfoInfoEx info_ex;
537 struct lsa_TrustDomainInfoPosixOffset posix_offset;
538 struct lsa_TrustDomainInfoAuthInfo auth_info;
541 struct lsa_TrustDomainInfoAuthInfoInternal {
542 struct lsa_DATA_BUF2 auth_blob;
545 struct lsa_TrustDomainInfoFullInfoInternal {
546 struct lsa_TrustDomainInfoInfoEx info_ex;
547 struct lsa_TrustDomainInfoPosixOffset posix_offset;
548 struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
551 struct lsa_TrustDomainInfoInfoEx2Internal {
552 struct lsa_TrustDomainInfoInfoEx info_ex;
553 uint32_t forest_trust_length;
554 uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
557 struct lsa_TrustDomainInfoFullInfo2Internal {
558 struct lsa_TrustDomainInfoInfoEx2Internal info;
559 struct lsa_TrustDomainInfoPosixOffset posix_offset;
560 struct lsa_TrustDomainInfoAuthInfo auth_info;
563 struct lsa_TrustDomainInfoSupportedEncTypes {
564 uint32_t enc_types;
567 union lsa_TrustedDomainInfo {
568 struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
569 struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
570 struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
571 struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
572 struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
573 struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
574 struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
575 struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
576 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
577 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
578 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
579 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
580 struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
581 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
583 struct lsa_DATA_BUF_PTR {
584 struct lsa_DATA_BUF *buf;/* [unique] */
587 struct lsa_RightAttribute {
588 const char *name;/* [unique,charset(UTF16)] */
591 struct lsa_RightSet {
592 uint32_t count;/* [range(0,256)] */
593 struct lsa_StringLarge *names;/* [unique,size_is(count)] */
596 struct lsa_DomainListEx {
597 uint32_t count;
598 struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
601 struct lsa_DomainInfoKerberos {
602 uint32_t enforce_restrictions;
603 uint64_t service_tkt_lifetime;
604 uint64_t user_tkt_lifetime;
605 uint64_t user_tkt_renewaltime;
606 uint64_t clock_skew;
607 uint64_t unknown6;
610 struct lsa_DomainInfoEfs {
611 uint32_t blob_size;
612 uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
615 enum lsa_DomainInfoEnum
616 #ifndef USE_UINT_ENUMS
618 LSA_DOMAIN_INFO_POLICY_EFS=2,
619 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
621 #else
622 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
623 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
624 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
625 #endif
628 union lsa_DomainInformationPolicy {
629 struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
630 struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
631 }/* [switch_type(uint16)] */;
633 struct lsa_TranslatedName2 {
634 enum lsa_SidType sid_type;
635 struct lsa_String name;
636 uint32_t sid_index;
637 uint32_t unknown;
640 struct lsa_TransNameArray2 {
641 uint32_t count;/* [range(0,1000)] */
642 struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
645 struct lsa_TranslatedSid2 {
646 enum lsa_SidType sid_type;
647 uint32_t rid;
648 uint32_t sid_index;
649 uint32_t unknown;
652 struct lsa_TransSidArray2 {
653 uint32_t count;/* [range(0,1000)] */
654 struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
657 struct lsa_TranslatedSid3 {
658 enum lsa_SidType sid_type;
659 struct dom_sid2 *sid;/* [unique] */
660 uint32_t sid_index;
661 uint32_t flags;
664 struct lsa_TransSidArray3 {
665 uint32_t count;/* [range(0,1000)] */
666 struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
669 struct lsa_ForestTrustBinaryData {
670 uint32_t length;/* [range(0,131072)] */
671 uint8_t *data;/* [unique,size_is(length)] */
674 struct lsa_ForestTrustDomainInfo {
675 struct dom_sid2 *domain_sid;/* [unique] */
676 struct lsa_StringLarge dns_domain_name;
677 struct lsa_StringLarge netbios_domain_name;
680 union lsa_ForestTrustData {
681 struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
682 struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
683 struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
684 struct lsa_ForestTrustBinaryData data;/* [default] */
685 }/* [switch_type(uint32)] */;
687 enum lsa_ForestTrustRecordType
688 #ifndef USE_UINT_ENUMS
690 LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
691 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
692 LSA_FOREST_TRUST_DOMAIN_INFO=2,
693 LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
695 #else
696 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
697 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
698 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
699 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
700 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
701 #endif
704 struct lsa_ForestTrustRecord {
705 uint32_t flags;
706 enum lsa_ForestTrustRecordType level;
707 uint64_t unknown;
708 union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
711 struct lsa_ForestTrustInformation {
712 uint32_t count;/* [range(0,4000)] */
713 struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
714 }/* [public] */;
717 struct lsa_Close {
718 struct {
719 struct policy_handle *handle;/* [ref] */
720 } in;
722 struct {
723 struct policy_handle *handle;/* [ref] */
724 NTSTATUS result;
725 } out;
730 struct lsa_Delete {
731 struct {
732 struct policy_handle *handle;/* [ref] */
733 } in;
735 struct {
736 NTSTATUS result;
737 } out;
742 struct lsa_EnumPrivs {
743 struct {
744 struct policy_handle *handle;/* [ref] */
745 uint32_t max_count;
746 uint32_t *resume_handle;/* [ref] */
747 } in;
749 struct {
750 struct lsa_PrivArray *privs;/* [ref] */
751 uint32_t *resume_handle;/* [ref] */
752 NTSTATUS result;
753 } out;
758 struct lsa_QuerySecurity {
759 struct {
760 struct policy_handle *handle;/* [ref] */
761 uint32_t sec_info;
762 } in;
764 struct {
765 struct sec_desc_buf **sdbuf;/* [ref] */
766 NTSTATUS result;
767 } out;
772 struct lsa_SetSecObj {
773 struct {
774 struct policy_handle *handle;/* [ref] */
775 uint32_t sec_info;
776 struct sec_desc_buf *sdbuf;/* [ref] */
777 } in;
779 struct {
780 NTSTATUS result;
781 } out;
786 struct lsa_ChangePassword {
787 struct {
788 NTSTATUS result;
789 } out;
794 struct lsa_OpenPolicy {
795 struct {
796 uint16_t *system_name;/* [unique] */
797 struct lsa_ObjectAttribute *attr;/* [ref] */
798 uint32_t access_mask;
799 } in;
801 struct {
802 struct policy_handle *handle;/* [ref] */
803 NTSTATUS result;
804 } out;
809 struct lsa_QueryInfoPolicy {
810 struct {
811 struct policy_handle *handle;/* [ref] */
812 enum lsa_PolicyInfo level;
813 } in;
815 struct {
816 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
817 NTSTATUS result;
818 } out;
823 struct lsa_SetInfoPolicy {
824 struct {
825 struct policy_handle *handle;/* [ref] */
826 enum lsa_PolicyInfo level;
827 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
828 } in;
830 struct {
831 NTSTATUS result;
832 } out;
837 struct lsa_ClearAuditLog {
838 struct {
839 NTSTATUS result;
840 } out;
845 struct lsa_CreateAccount {
846 struct {
847 struct policy_handle *handle;/* [ref] */
848 struct dom_sid2 *sid;/* [ref] */
849 uint32_t access_mask;
850 } in;
852 struct {
853 struct policy_handle *acct_handle;/* [ref] */
854 NTSTATUS result;
855 } out;
860 struct lsa_EnumAccounts {
861 struct {
862 struct policy_handle *handle;/* [ref] */
863 uint32_t num_entries;/* [range(0,8192)] */
864 uint32_t *resume_handle;/* [ref] */
865 } in;
867 struct {
868 struct lsa_SidArray *sids;/* [ref] */
869 uint32_t *resume_handle;/* [ref] */
870 NTSTATUS result;
871 } out;
876 struct lsa_CreateTrustedDomain {
877 struct {
878 struct policy_handle *policy_handle;/* [ref] */
879 struct lsa_DomainInfo *info;/* [ref] */
880 uint32_t access_mask;
881 } in;
883 struct {
884 struct policy_handle *trustdom_handle;/* [ref] */
885 NTSTATUS result;
886 } out;
891 struct lsa_EnumTrustDom {
892 struct {
893 struct policy_handle *handle;/* [ref] */
894 uint32_t max_size;
895 uint32_t *resume_handle;/* [ref] */
896 } in;
898 struct {
899 struct lsa_DomainList *domains;/* [ref] */
900 uint32_t *resume_handle;/* [ref] */
901 NTSTATUS result;
902 } out;
907 struct lsa_LookupNames {
908 struct {
909 struct policy_handle *handle;/* [ref] */
910 uint32_t num_names;/* [range(0,1000)] */
911 struct lsa_String *names;/* [size_is(num_names)] */
912 enum lsa_LookupNamesLevel level;
913 struct lsa_TransSidArray *sids;/* [ref] */
914 uint32_t *count;/* [ref] */
915 } in;
917 struct {
918 struct lsa_RefDomainList **domains;/* [ref] */
919 struct lsa_TransSidArray *sids;/* [ref] */
920 uint32_t *count;/* [ref] */
921 NTSTATUS result;
922 } out;
927 struct lsa_LookupSids {
928 struct {
929 struct policy_handle *handle;/* [ref] */
930 struct lsa_SidArray *sids;/* [ref] */
931 uint16_t level;
932 struct lsa_TransNameArray *names;/* [ref] */
933 uint32_t *count;/* [ref] */
934 } in;
936 struct {
937 struct lsa_RefDomainList **domains;/* [ref] */
938 struct lsa_TransNameArray *names;/* [ref] */
939 uint32_t *count;/* [ref] */
940 NTSTATUS result;
941 } out;
946 struct lsa_CreateSecret {
947 struct {
948 struct policy_handle *handle;/* [ref] */
949 struct lsa_String name;
950 uint32_t access_mask;
951 } in;
953 struct {
954 struct policy_handle *sec_handle;/* [ref] */
955 NTSTATUS result;
956 } out;
961 struct lsa_OpenAccount {
962 struct {
963 struct policy_handle *handle;/* [ref] */
964 struct dom_sid2 *sid;/* [ref] */
965 uint32_t access_mask;
966 } in;
968 struct {
969 struct policy_handle *acct_handle;/* [ref] */
970 NTSTATUS result;
971 } out;
976 struct lsa_EnumPrivsAccount {
977 struct {
978 struct policy_handle *handle;/* [ref] */
979 } in;
981 struct {
982 struct lsa_PrivilegeSet **privs;/* [ref] */
983 NTSTATUS result;
984 } out;
989 struct lsa_AddPrivilegesToAccount {
990 struct {
991 struct policy_handle *handle;/* [ref] */
992 struct lsa_PrivilegeSet *privs;/* [ref] */
993 } in;
995 struct {
996 NTSTATUS result;
997 } out;
1002 struct lsa_RemovePrivilegesFromAccount {
1003 struct {
1004 struct policy_handle *handle;/* [ref] */
1005 uint8_t remove_all;
1006 struct lsa_PrivilegeSet *privs;/* [unique] */
1007 } in;
1009 struct {
1010 NTSTATUS result;
1011 } out;
1016 struct lsa_GetQuotasForAccount {
1017 struct {
1018 NTSTATUS result;
1019 } out;
1024 struct lsa_SetQuotasForAccount {
1025 struct {
1026 NTSTATUS result;
1027 } out;
1032 struct lsa_GetSystemAccessAccount {
1033 struct {
1034 struct policy_handle *handle;/* [ref] */
1035 } in;
1037 struct {
1038 uint32_t *access_mask;/* [ref] */
1039 NTSTATUS result;
1040 } out;
1045 struct lsa_SetSystemAccessAccount {
1046 struct {
1047 struct policy_handle *handle;/* [ref] */
1048 uint32_t access_mask;
1049 } in;
1051 struct {
1052 NTSTATUS result;
1053 } out;
1058 struct lsa_OpenTrustedDomain {
1059 struct {
1060 struct policy_handle *handle;/* [ref] */
1061 struct dom_sid2 *sid;/* [ref] */
1062 uint32_t access_mask;
1063 } in;
1065 struct {
1066 struct policy_handle *trustdom_handle;/* [ref] */
1067 NTSTATUS result;
1068 } out;
1073 struct lsa_QueryTrustedDomainInfo {
1074 struct {
1075 struct policy_handle *trustdom_handle;/* [ref] */
1076 enum lsa_TrustDomInfoEnum level;
1077 } in;
1079 struct {
1080 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1081 NTSTATUS result;
1082 } out;
1087 struct lsa_SetInformationTrustedDomain {
1088 struct {
1089 struct policy_handle *trustdom_handle;/* [ref] */
1090 enum lsa_TrustDomInfoEnum level;
1091 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1092 } in;
1094 struct {
1095 NTSTATUS result;
1096 } out;
1101 struct lsa_OpenSecret {
1102 struct {
1103 struct policy_handle *handle;/* [ref] */
1104 struct lsa_String name;
1105 uint32_t access_mask;
1106 } in;
1108 struct {
1109 struct policy_handle *sec_handle;/* [ref] */
1110 NTSTATUS result;
1111 } out;
1116 struct lsa_SetSecret {
1117 struct {
1118 struct policy_handle *sec_handle;/* [ref] */
1119 struct lsa_DATA_BUF *new_val;/* [unique] */
1120 struct lsa_DATA_BUF *old_val;/* [unique] */
1121 } in;
1123 struct {
1124 NTSTATUS result;
1125 } out;
1130 struct lsa_QuerySecret {
1131 struct {
1132 struct policy_handle *sec_handle;/* [ref] */
1133 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1134 NTTIME *new_mtime;/* [unique] */
1135 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1136 NTTIME *old_mtime;/* [unique] */
1137 } in;
1139 struct {
1140 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1141 NTTIME *new_mtime;/* [unique] */
1142 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1143 NTTIME *old_mtime;/* [unique] */
1144 NTSTATUS result;
1145 } out;
1150 struct lsa_LookupPrivValue {
1151 struct {
1152 struct policy_handle *handle;/* [ref] */
1153 struct lsa_String *name;/* [ref] */
1154 } in;
1156 struct {
1157 struct lsa_LUID *luid;/* [ref] */
1158 NTSTATUS result;
1159 } out;
1164 struct lsa_LookupPrivName {
1165 struct {
1166 struct policy_handle *handle;/* [ref] */
1167 struct lsa_LUID *luid;/* [ref] */
1168 } in;
1170 struct {
1171 struct lsa_StringLarge **name;/* [ref] */
1172 NTSTATUS result;
1173 } out;
1178 struct lsa_LookupPrivDisplayName {
1179 struct {
1180 struct policy_handle *handle;/* [ref] */
1181 struct lsa_String *name;/* [ref] */
1182 uint16_t language_id;
1183 uint16_t language_id_sys;
1184 } in;
1186 struct {
1187 struct lsa_StringLarge **disp_name;/* [ref] */
1188 uint16_t *returned_language_id;/* [ref] */
1189 NTSTATUS result;
1190 } out;
1195 struct lsa_DeleteObject {
1196 struct {
1197 struct policy_handle *handle;/* [ref] */
1198 } in;
1200 struct {
1201 struct policy_handle *handle;/* [ref] */
1202 NTSTATUS result;
1203 } out;
1208 struct lsa_EnumAccountsWithUserRight {
1209 struct {
1210 struct policy_handle *handle;/* [ref] */
1211 struct lsa_String *name;/* [unique] */
1212 } in;
1214 struct {
1215 struct lsa_SidArray *sids;/* [ref] */
1216 NTSTATUS result;
1217 } out;
1222 struct lsa_EnumAccountRights {
1223 struct {
1224 struct policy_handle *handle;/* [ref] */
1225 struct dom_sid2 *sid;/* [ref] */
1226 } in;
1228 struct {
1229 struct lsa_RightSet *rights;/* [ref] */
1230 NTSTATUS result;
1231 } out;
1236 struct lsa_AddAccountRights {
1237 struct {
1238 struct policy_handle *handle;/* [ref] */
1239 struct dom_sid2 *sid;/* [ref] */
1240 struct lsa_RightSet *rights;/* [ref] */
1241 } in;
1243 struct {
1244 NTSTATUS result;
1245 } out;
1250 struct lsa_RemoveAccountRights {
1251 struct {
1252 struct policy_handle *handle;/* [ref] */
1253 struct dom_sid2 *sid;/* [ref] */
1254 uint8_t remove_all;
1255 struct lsa_RightSet *rights;/* [ref] */
1256 } in;
1258 struct {
1259 NTSTATUS result;
1260 } out;
1265 struct lsa_QueryTrustedDomainInfoBySid {
1266 struct {
1267 struct policy_handle *handle;/* [ref] */
1268 struct dom_sid2 *dom_sid;/* [ref] */
1269 enum lsa_TrustDomInfoEnum level;
1270 } in;
1272 struct {
1273 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1274 NTSTATUS result;
1275 } out;
1280 struct lsa_SetTrustedDomainInfo {
1281 struct {
1282 struct policy_handle *handle;/* [ref] */
1283 struct dom_sid2 *dom_sid;/* [ref] */
1284 enum lsa_TrustDomInfoEnum level;
1285 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1286 } in;
1288 struct {
1289 NTSTATUS result;
1290 } out;
1295 struct lsa_DeleteTrustedDomain {
1296 struct {
1297 struct policy_handle *handle;/* [ref] */
1298 struct dom_sid2 *dom_sid;/* [ref] */
1299 } in;
1301 struct {
1302 NTSTATUS result;
1303 } out;
1308 struct lsa_StorePrivateData {
1309 struct {
1310 NTSTATUS result;
1311 } out;
1316 struct lsa_RetrievePrivateData {
1317 struct {
1318 NTSTATUS result;
1319 } out;
1324 struct lsa_OpenPolicy2 {
1325 struct {
1326 const char *system_name;/* [unique,charset(UTF16)] */
1327 struct lsa_ObjectAttribute *attr;/* [ref] */
1328 uint32_t access_mask;
1329 } in;
1331 struct {
1332 struct policy_handle *handle;/* [ref] */
1333 NTSTATUS result;
1334 } out;
1339 struct lsa_GetUserName {
1340 struct {
1341 const char *system_name;/* [unique,charset(UTF16)] */
1342 struct lsa_String **account_name;/* [ref] */
1343 struct lsa_String **authority_name;/* [unique] */
1344 } in;
1346 struct {
1347 struct lsa_String **account_name;/* [ref] */
1348 struct lsa_String **authority_name;/* [unique] */
1349 NTSTATUS result;
1350 } out;
1355 struct lsa_QueryInfoPolicy2 {
1356 struct {
1357 struct policy_handle *handle;/* [ref] */
1358 enum lsa_PolicyInfo level;
1359 } in;
1361 struct {
1362 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1363 NTSTATUS result;
1364 } out;
1369 struct lsa_SetInfoPolicy2 {
1370 struct {
1371 struct policy_handle *handle;/* [ref] */
1372 enum lsa_PolicyInfo level;
1373 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1374 } in;
1376 struct {
1377 NTSTATUS result;
1378 } out;
1383 struct lsa_QueryTrustedDomainInfoByName {
1384 struct {
1385 struct policy_handle *handle;/* [ref] */
1386 struct lsa_String *trusted_domain;/* [ref] */
1387 enum lsa_TrustDomInfoEnum level;
1388 } in;
1390 struct {
1391 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1392 NTSTATUS result;
1393 } out;
1398 struct lsa_SetTrustedDomainInfoByName {
1399 struct {
1400 struct policy_handle *handle;/* [ref] */
1401 struct lsa_String trusted_domain;
1402 enum lsa_TrustDomInfoEnum level;
1403 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1404 } in;
1406 struct {
1407 NTSTATUS result;
1408 } out;
1413 struct lsa_EnumTrustedDomainsEx {
1414 struct {
1415 struct policy_handle *handle;/* [ref] */
1416 uint32_t max_size;
1417 uint32_t *resume_handle;/* [ref] */
1418 } in;
1420 struct {
1421 struct lsa_DomainListEx *domains;/* [ref] */
1422 uint32_t *resume_handle;/* [ref] */
1423 NTSTATUS result;
1424 } out;
1429 struct lsa_CreateTrustedDomainEx {
1430 struct {
1431 struct policy_handle *policy_handle;/* [ref] */
1432 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1433 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1434 uint32_t access_mask;
1435 } in;
1437 struct {
1438 struct policy_handle *trustdom_handle;/* [ref] */
1439 NTSTATUS result;
1440 } out;
1445 struct lsa_CloseTrustedDomainEx {
1446 struct {
1447 struct policy_handle *handle;/* [ref] */
1448 } in;
1450 struct {
1451 struct policy_handle *handle;/* [ref] */
1452 NTSTATUS result;
1453 } out;
1458 struct lsa_QueryDomainInformationPolicy {
1459 struct {
1460 struct policy_handle *handle;/* [ref] */
1461 uint16_t level;
1462 } in;
1464 struct {
1465 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1466 NTSTATUS result;
1467 } out;
1472 struct lsa_SetDomainInformationPolicy {
1473 struct {
1474 struct policy_handle *handle;/* [ref] */
1475 uint16_t level;
1476 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1477 } in;
1479 struct {
1480 NTSTATUS result;
1481 } out;
1486 struct lsa_OpenTrustedDomainByName {
1487 struct {
1488 struct policy_handle *handle;/* [ref] */
1489 struct lsa_String name;
1490 uint32_t access_mask;
1491 } in;
1493 struct {
1494 struct policy_handle *trustdom_handle;/* [ref] */
1495 NTSTATUS result;
1496 } out;
1501 struct lsa_TestCall {
1502 struct {
1503 NTSTATUS result;
1504 } out;
1509 struct lsa_LookupSids2 {
1510 struct {
1511 struct policy_handle *handle;/* [ref] */
1512 struct lsa_SidArray *sids;/* [ref] */
1513 uint16_t level;
1514 uint32_t unknown1;
1515 uint32_t unknown2;
1516 struct lsa_TransNameArray2 *names;/* [ref] */
1517 uint32_t *count;/* [ref] */
1518 } in;
1520 struct {
1521 struct lsa_RefDomainList **domains;/* [ref] */
1522 struct lsa_TransNameArray2 *names;/* [ref] */
1523 uint32_t *count;/* [ref] */
1524 NTSTATUS result;
1525 } out;
1530 struct lsa_LookupNames2 {
1531 struct {
1532 struct policy_handle *handle;/* [ref] */
1533 uint32_t num_names;/* [range(0,1000)] */
1534 struct lsa_String *names;/* [size_is(num_names)] */
1535 enum lsa_LookupNamesLevel level;
1536 uint32_t lookup_options;
1537 uint32_t client_revision;
1538 struct lsa_TransSidArray2 *sids;/* [ref] */
1539 uint32_t *count;/* [ref] */
1540 } in;
1542 struct {
1543 struct lsa_RefDomainList **domains;/* [ref] */
1544 struct lsa_TransSidArray2 *sids;/* [ref] */
1545 uint32_t *count;/* [ref] */
1546 NTSTATUS result;
1547 } out;
1552 struct lsa_CreateTrustedDomainEx2 {
1553 struct {
1554 struct policy_handle *policy_handle;/* [ref] */
1555 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1556 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1557 uint32_t access_mask;
1558 } in;
1560 struct {
1561 struct policy_handle *trustdom_handle;/* [ref] */
1562 NTSTATUS result;
1563 } out;
1568 struct lsa_CREDRWRITE {
1569 struct {
1570 NTSTATUS result;
1571 } out;
1576 struct lsa_CREDRREAD {
1577 struct {
1578 NTSTATUS result;
1579 } out;
1584 struct lsa_CREDRENUMERATE {
1585 struct {
1586 NTSTATUS result;
1587 } out;
1592 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1593 struct {
1594 NTSTATUS result;
1595 } out;
1600 struct lsa_CREDRREADDOMAINCREDENTIALS {
1601 struct {
1602 NTSTATUS result;
1603 } out;
1608 struct lsa_CREDRDELETE {
1609 struct {
1610 NTSTATUS result;
1611 } out;
1616 struct lsa_CREDRGETTARGETINFO {
1617 struct {
1618 NTSTATUS result;
1619 } out;
1624 struct lsa_CREDRPROFILELOADED {
1625 struct {
1626 NTSTATUS result;
1627 } out;
1632 struct lsa_LookupNames3 {
1633 struct {
1634 struct policy_handle *handle;/* [ref] */
1635 uint32_t num_names;/* [range(0,1000)] */
1636 struct lsa_String *names;/* [size_is(num_names)] */
1637 enum lsa_LookupNamesLevel level;
1638 uint32_t lookup_options;
1639 uint32_t client_revision;
1640 struct lsa_TransSidArray3 *sids;/* [ref] */
1641 uint32_t *count;/* [ref] */
1642 } in;
1644 struct {
1645 struct lsa_RefDomainList **domains;/* [ref] */
1646 struct lsa_TransSidArray3 *sids;/* [ref] */
1647 uint32_t *count;/* [ref] */
1648 NTSTATUS result;
1649 } out;
1654 struct lsa_CREDRGETSESSIONTYPES {
1655 struct {
1656 NTSTATUS result;
1657 } out;
1662 struct lsa_LSARREGISTERAUDITEVENT {
1663 struct {
1664 NTSTATUS result;
1665 } out;
1670 struct lsa_LSARGENAUDITEVENT {
1671 struct {
1672 NTSTATUS result;
1673 } out;
1678 struct lsa_LSARUNREGISTERAUDITEVENT {
1679 struct {
1680 NTSTATUS result;
1681 } out;
1686 struct lsa_lsaRQueryForestTrustInformation {
1687 struct {
1688 struct policy_handle *handle;/* [ref] */
1689 struct lsa_String *trusted_domain_name;/* [ref] */
1690 uint16_t unknown;
1691 } in;
1693 struct {
1694 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1695 NTSTATUS result;
1696 } out;
1701 struct lsa_LSARSETFORESTTRUSTINFORMATION {
1702 struct {
1703 NTSTATUS result;
1704 } out;
1709 struct lsa_CREDRRENAME {
1710 struct {
1711 NTSTATUS result;
1712 } out;
1717 struct lsa_LookupSids3 {
1718 struct {
1719 struct lsa_SidArray *sids;/* [ref] */
1720 uint16_t level;
1721 uint32_t unknown1;
1722 uint32_t unknown2;
1723 struct lsa_TransNameArray2 *names;/* [ref] */
1724 uint32_t *count;/* [ref] */
1725 } in;
1727 struct {
1728 struct lsa_RefDomainList **domains;/* [ref] */
1729 struct lsa_TransNameArray2 *names;/* [ref] */
1730 uint32_t *count;/* [ref] */
1731 NTSTATUS result;
1732 } out;
1737 struct lsa_LookupNames4 {
1738 struct {
1739 uint32_t num_names;/* [range(0,1000)] */
1740 struct lsa_String *names;/* [size_is(num_names)] */
1741 enum lsa_LookupNamesLevel level;
1742 uint32_t lookup_options;
1743 uint32_t client_revision;
1744 struct lsa_TransSidArray3 *sids;/* [ref] */
1745 uint32_t *count;/* [ref] */
1746 } in;
1748 struct {
1749 struct lsa_RefDomainList **domains;/* [ref] */
1750 struct lsa_TransSidArray3 *sids;/* [ref] */
1751 uint32_t *count;/* [ref] */
1752 NTSTATUS result;
1753 } out;
1758 struct lsa_LSAROPENPOLICYSCE {
1759 struct {
1760 NTSTATUS result;
1761 } out;
1766 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1767 struct {
1768 NTSTATUS result;
1769 } out;
1774 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1775 struct {
1776 NTSTATUS result;
1777 } out;
1782 struct lsa_LSARADTREPORTSECURITYEVENT {
1783 struct {
1784 NTSTATUS result;
1785 } out;
1789 #endif /* _HEADER_lsarpc */