Revert "s4: Let the "setpassword" script finally use the "samdb_set_password" routine"
[Samba/aatanasov.git] / librpc / gen_ndr / lsa.h
blob9ee5fab4c80dad1ee375fe0ef62842fcb4bd0c0d
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/security.h"
9 #ifndef _HEADER_lsarpc
10 #define _HEADER_lsarpc
12 #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) )
13 #define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) )
14 #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) )
15 #define LSA_POLICY_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) )
16 #define LSA_ACCOUNT_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_ACCOUNT_VIEW|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
17 #define LSA_ACCOUNT_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) )
18 #define LSA_ACCOUNT_WRITE ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
19 #define LSA_ACCOUNT_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS) )
20 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
21 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
22 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
23 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
24 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
25 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
26 struct lsa_String {
27 uint16_t length;/* [value(2*strlen_m(string))] */
28 uint16_t size;/* [value(2*strlen_m(string))] */
29 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
30 }/* [public] */;
32 struct lsa_StringLarge {
33 uint16_t length;/* [value(2*strlen_m(string))] */
34 uint16_t size;/* [value(2*strlen_m_term(string))] */
35 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
36 }/* [public] */;
38 struct lsa_Strings {
39 uint32_t count;
40 struct lsa_String *names;/* [unique,size_is(count)] */
41 }/* [public] */;
43 struct lsa_AsciiString {
44 uint16_t length;/* [value(strlen_m(string))] */
45 uint16_t size;/* [value(strlen_m(string))] */
46 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
47 }/* [public] */;
49 struct lsa_AsciiStringLarge {
50 uint16_t length;/* [value(strlen_m(string))] */
51 uint16_t size;/* [value(strlen_m_term(string))] */
52 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
53 }/* [public] */;
55 struct lsa_BinaryString {
56 uint16_t length;
57 uint16_t size;
58 uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
59 }/* [public] */;
61 struct lsa_LUID {
62 uint32_t low;
63 uint32_t high;
66 struct lsa_PrivEntry {
67 struct lsa_StringLarge name;
68 struct lsa_LUID luid;
71 struct lsa_PrivArray {
72 uint32_t count;
73 struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
76 struct lsa_QosInfo {
77 uint32_t len;
78 uint16_t impersonation_level;
79 uint8_t context_mode;
80 uint8_t effective_only;
83 struct lsa_ObjectAttribute {
84 uint32_t len;
85 uint8_t *root_dir;/* [unique] */
86 const char *object_name;/* [unique,charset(UTF16)] */
87 uint32_t attributes;
88 struct security_descriptor *sec_desc;/* [unique] */
89 struct lsa_QosInfo *sec_qos;/* [unique] */
92 /* bitmap lsa_PolicyAccessMask */
93 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
94 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
95 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
96 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
97 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
98 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
99 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
100 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
101 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
102 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
103 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
104 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
105 #define LSA_POLICY_NOTIFICATION ( 0x00001000 )
107 /* bitmap lsa_AccountAccessMask */
108 #define LSA_ACCOUNT_VIEW ( 0x00000001 )
109 #define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 )
110 #define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 )
111 #define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 )
113 /* bitmap lsa_SecretAccessMask */
114 #define LSA_SECRET_SET_VALUE ( 0x00000001 )
115 #define LSA_SECRET_QUERY_VALUE ( 0x00000002 )
117 /* bitmap lsa_TrustedAccessMask */
118 #define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 )
119 #define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 )
120 #define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 )
121 #define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 )
122 #define LSA_TRUSTED_SET_POSIX ( 0x00000010 )
123 #define LSA_TRUSTED_SET_AUTH ( 0x00000020 )
124 #define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 )
126 struct lsa_AuditLogInfo {
127 uint32_t percent_full;
128 uint32_t maximum_log_size;
129 uint64_t retention_time;
130 uint8_t shutdown_in_progress;
131 uint64_t time_to_shutdown;
132 uint32_t next_audit_record;
135 enum lsa_PolicyAuditPolicy
136 #ifndef USE_UINT_ENUMS
138 LSA_AUDIT_POLICY_NONE=0,
139 LSA_AUDIT_POLICY_SUCCESS=1,
140 LSA_AUDIT_POLICY_FAILURE=2,
141 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
142 LSA_AUDIT_POLICY_CLEAR=4
144 #else
145 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
146 #define LSA_AUDIT_POLICY_NONE ( 0 )
147 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
148 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
149 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
150 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
151 #endif
154 enum lsa_PolicyAuditEventType
155 #ifndef USE_UINT_ENUMS
157 LSA_AUDIT_CATEGORY_SYSTEM=0,
158 LSA_AUDIT_CATEGORY_LOGON=1,
159 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
160 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
161 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
162 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
163 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
164 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
165 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
167 #else
168 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
169 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
170 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
171 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
172 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
173 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
174 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
175 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
176 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
177 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
178 #endif
181 struct lsa_AuditEventsInfo {
182 uint32_t auditing_mode;
183 enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
184 uint32_t count;
187 struct lsa_DomainInfo {
188 struct lsa_StringLarge name;
189 struct dom_sid2 *sid;/* [unique] */
192 struct lsa_PDAccountInfo {
193 struct lsa_String name;
196 enum lsa_Role
197 #ifndef USE_UINT_ENUMS
199 LSA_ROLE_BACKUP=2,
200 LSA_ROLE_PRIMARY=3
202 #else
203 { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
204 #define LSA_ROLE_BACKUP ( 2 )
205 #define LSA_ROLE_PRIMARY ( 3 )
206 #endif
209 struct lsa_ServerRole {
210 enum lsa_Role role;
213 struct lsa_ReplicaSourceInfo {
214 struct lsa_String source;
215 struct lsa_String account;
218 struct lsa_DefaultQuotaInfo {
219 uint32_t paged_pool;
220 uint32_t non_paged_pool;
221 uint32_t min_wss;
222 uint32_t max_wss;
223 uint32_t pagefile;
224 uint64_t unknown;
227 struct lsa_ModificationInfo {
228 uint64_t modified_id;
229 NTTIME db_create_time;
232 struct lsa_AuditFullSetInfo {
233 uint8_t shutdown_on_full;
236 struct lsa_AuditFullQueryInfo {
237 uint8_t shutdown_on_full;
238 uint8_t log_is_full;
241 struct lsa_DnsDomainInfo {
242 struct lsa_StringLarge name;
243 struct lsa_StringLarge dns_domain;
244 struct lsa_StringLarge dns_forest;
245 struct GUID domain_guid;
246 struct dom_sid2 *sid;/* [unique] */
249 enum lsa_PolicyInfo
250 #ifndef USE_UINT_ENUMS
252 LSA_POLICY_INFO_AUDIT_LOG=1,
253 LSA_POLICY_INFO_AUDIT_EVENTS=2,
254 LSA_POLICY_INFO_DOMAIN=3,
255 LSA_POLICY_INFO_PD=4,
256 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
257 LSA_POLICY_INFO_ROLE=6,
258 LSA_POLICY_INFO_REPLICA=7,
259 LSA_POLICY_INFO_QUOTA=8,
260 LSA_POLICY_INFO_MOD=9,
261 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
262 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
263 LSA_POLICY_INFO_DNS=12,
264 LSA_POLICY_INFO_DNS_INT=13,
265 LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
267 #else
268 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
269 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
270 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
271 #define LSA_POLICY_INFO_DOMAIN ( 3 )
272 #define LSA_POLICY_INFO_PD ( 4 )
273 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
274 #define LSA_POLICY_INFO_ROLE ( 6 )
275 #define LSA_POLICY_INFO_REPLICA ( 7 )
276 #define LSA_POLICY_INFO_QUOTA ( 8 )
277 #define LSA_POLICY_INFO_MOD ( 9 )
278 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
279 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
280 #define LSA_POLICY_INFO_DNS ( 12 )
281 #define LSA_POLICY_INFO_DNS_INT ( 13 )
282 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
283 #endif
286 union lsa_PolicyInformation {
287 struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
288 struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
289 struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
290 struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
291 struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
292 struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
293 struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
294 struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
295 struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
296 struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
297 struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
298 struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
299 struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
300 }/* [switch_type(uint16)] */;
302 struct lsa_SidPtr {
303 struct dom_sid2 *sid;/* [unique] */
306 struct lsa_SidArray {
307 uint32_t num_sids;/* [range(0,1000)] */
308 struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
309 }/* [public] */;
311 struct lsa_DomainList {
312 uint32_t count;
313 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
316 enum lsa_SidType
317 #ifndef USE_UINT_ENUMS
319 SID_NAME_USE_NONE=0,
320 SID_NAME_USER=1,
321 SID_NAME_DOM_GRP=2,
322 SID_NAME_DOMAIN=3,
323 SID_NAME_ALIAS=4,
324 SID_NAME_WKN_GRP=5,
325 SID_NAME_DELETED=6,
326 SID_NAME_INVALID=7,
327 SID_NAME_UNKNOWN=8,
328 SID_NAME_COMPUTER=9
330 #else
331 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
332 #define SID_NAME_USE_NONE ( 0 )
333 #define SID_NAME_USER ( 1 )
334 #define SID_NAME_DOM_GRP ( 2 )
335 #define SID_NAME_DOMAIN ( 3 )
336 #define SID_NAME_ALIAS ( 4 )
337 #define SID_NAME_WKN_GRP ( 5 )
338 #define SID_NAME_DELETED ( 6 )
339 #define SID_NAME_INVALID ( 7 )
340 #define SID_NAME_UNKNOWN ( 8 )
341 #define SID_NAME_COMPUTER ( 9 )
342 #endif
345 struct lsa_TranslatedSid {
346 enum lsa_SidType sid_type;
347 uint32_t rid;
348 uint32_t sid_index;
351 struct lsa_TransSidArray {
352 uint32_t count;/* [range(0,1000)] */
353 struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
356 struct lsa_RefDomainList {
357 uint32_t count;/* [range(0,1000)] */
358 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
359 uint32_t max_size;
362 enum lsa_LookupNamesLevel
363 #ifndef USE_UINT_ENUMS
365 LSA_LOOKUP_NAMES_ALL=1,
366 LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
367 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
368 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
369 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
370 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
371 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
373 #else
374 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
375 #define LSA_LOOKUP_NAMES_ALL ( 1 )
376 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
377 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
378 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
379 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
380 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
381 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
382 #endif
385 struct lsa_TranslatedName {
386 enum lsa_SidType sid_type;
387 struct lsa_String name;
388 uint32_t sid_index;
391 struct lsa_TransNameArray {
392 uint32_t count;/* [range(0,1000)] */
393 struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
396 struct lsa_LUIDAttribute {
397 struct lsa_LUID luid;
398 uint32_t attribute;
401 struct lsa_PrivilegeSet {
402 uint32_t count;/* [range(0,1000)] */
403 uint32_t unknown;
404 struct lsa_LUIDAttribute *set;/* [size_is(count)] */
407 /* bitmap lsa_SystemAccessModeFlags */
408 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
409 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
410 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
411 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
412 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
413 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
414 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
415 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
416 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
417 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
418 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
419 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
420 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
422 struct lsa_DATA_BUF {
423 uint32_t length;
424 uint32_t size;
425 uint8_t *data;/* [unique,length_is(length),size_is(size)] */
426 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
428 struct lsa_DATA_BUF2 {
429 uint32_t size;/* [range(0,65536)] */
430 uint8_t *data;/* [unique,size_is(size)] */
431 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
433 enum lsa_TrustDomInfoEnum
434 #ifndef USE_UINT_ENUMS
436 LSA_TRUSTED_DOMAIN_INFO_NAME=1,
437 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
438 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
439 LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
440 LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
441 LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
442 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
443 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
444 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
445 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
446 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
447 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
448 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=13
450 #else
451 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
452 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
453 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
454 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
455 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
456 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
457 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
458 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
459 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
460 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
461 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
462 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
463 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
464 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 )
465 #endif
468 /* bitmap lsa_TrustDirection */
469 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
470 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
472 enum lsa_TrustType
473 #ifndef USE_UINT_ENUMS
475 LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
476 LSA_TRUST_TYPE_UPLEVEL=0x00000002,
477 LSA_TRUST_TYPE_MIT=0x00000003
479 #else
480 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
481 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
482 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
483 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
484 #endif
487 /* bitmap lsa_TrustAttributes */
488 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
489 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
490 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
491 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
492 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
493 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
494 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
495 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
497 struct lsa_TrustDomainInfoName {
498 struct lsa_StringLarge netbios_name;
501 struct lsa_TrustDomainInfoControllers {
502 uint32_t entries;
503 struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
506 struct lsa_TrustDomainInfoPosixOffset {
507 uint32_t posix_offset;
510 struct lsa_TrustDomainInfoPassword {
511 struct lsa_DATA_BUF *password;/* [unique] */
512 struct lsa_DATA_BUF *old_password;/* [unique] */
515 struct lsa_TrustDomainInfoBasic {
516 struct lsa_String netbios_name;
517 struct dom_sid2 *sid;/* [unique] */
520 struct lsa_TrustDomainInfoInfoEx {
521 struct lsa_StringLarge domain_name;
522 struct lsa_StringLarge netbios_name;
523 struct dom_sid2 *sid;/* [unique] */
524 uint32_t trust_direction;
525 enum lsa_TrustType trust_type;
526 uint32_t trust_attributes;
529 enum lsa_TrustAuthType
530 #ifndef USE_UINT_ENUMS
532 TRUST_AUTH_TYPE_NONE=0,
533 TRUST_AUTH_TYPE_NT4OWF=1,
534 TRUST_AUTH_TYPE_CLEAR=2,
535 TRUST_AUTH_TYPE_VERSION=3
537 #else
538 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
539 #define TRUST_AUTH_TYPE_NONE ( 0 )
540 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
541 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
542 #define TRUST_AUTH_TYPE_VERSION ( 3 )
543 #endif
546 struct lsa_TrustDomainInfoBuffer {
547 NTTIME last_update_time;
548 enum lsa_TrustAuthType AuthType;
549 struct lsa_DATA_BUF2 data;
552 struct lsa_TrustDomainInfoAuthInfo {
553 uint32_t incoming_count;
554 struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
555 struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
556 uint32_t outgoing_count;
557 struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
558 struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
561 struct lsa_TrustDomainInfoFullInfo {
562 struct lsa_TrustDomainInfoInfoEx info_ex;
563 struct lsa_TrustDomainInfoPosixOffset posix_offset;
564 struct lsa_TrustDomainInfoAuthInfo auth_info;
567 struct lsa_TrustDomainInfoAuthInfoInternal {
568 struct lsa_DATA_BUF2 auth_blob;
571 struct lsa_TrustDomainInfoFullInfoInternal {
572 struct lsa_TrustDomainInfoInfoEx info_ex;
573 struct lsa_TrustDomainInfoPosixOffset posix_offset;
574 struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
577 struct lsa_TrustDomainInfoInfoEx2Internal {
578 struct lsa_TrustDomainInfoInfoEx info_ex;
579 uint32_t forest_trust_length;
580 uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
583 struct lsa_TrustDomainInfoFullInfo2Internal {
584 struct lsa_TrustDomainInfoInfoEx2Internal info;
585 struct lsa_TrustDomainInfoPosixOffset posix_offset;
586 struct lsa_TrustDomainInfoAuthInfo auth_info;
589 struct lsa_TrustDomainInfoSupportedEncTypes {
590 uint32_t enc_types;
593 union lsa_TrustedDomainInfo {
594 struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
595 struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
596 struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
597 struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
598 struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
599 struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
600 struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
601 struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
602 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
603 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
604 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
605 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
606 struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */
607 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
609 struct lsa_DATA_BUF_PTR {
610 struct lsa_DATA_BUF *buf;/* [unique] */
613 struct lsa_RightAttribute {
614 const char *name;/* [unique,charset(UTF16)] */
617 struct lsa_RightSet {
618 uint32_t count;/* [range(0,256)] */
619 struct lsa_StringLarge *names;/* [unique,size_is(count)] */
622 struct lsa_DomainListEx {
623 uint32_t count;
624 struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
627 struct lsa_DomainInfoKerberos {
628 uint32_t enforce_restrictions;
629 uint64_t service_tkt_lifetime;
630 uint64_t user_tkt_lifetime;
631 uint64_t user_tkt_renewaltime;
632 uint64_t clock_skew;
633 uint64_t unknown6;
636 struct lsa_DomainInfoEfs {
637 uint32_t blob_size;
638 uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
641 enum lsa_DomainInfoEnum
642 #ifndef USE_UINT_ENUMS
644 LSA_DOMAIN_INFO_POLICY_EFS=2,
645 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
647 #else
648 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
649 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
650 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
651 #endif
654 union lsa_DomainInformationPolicy {
655 struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
656 struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
657 }/* [switch_type(uint16)] */;
659 struct lsa_TranslatedName2 {
660 enum lsa_SidType sid_type;
661 struct lsa_String name;
662 uint32_t sid_index;
663 uint32_t unknown;
666 struct lsa_TransNameArray2 {
667 uint32_t count;/* [range(0,1000)] */
668 struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
671 struct lsa_TranslatedSid2 {
672 enum lsa_SidType sid_type;
673 uint32_t rid;
674 uint32_t sid_index;
675 uint32_t unknown;
678 struct lsa_TransSidArray2 {
679 uint32_t count;/* [range(0,1000)] */
680 struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
683 struct lsa_TranslatedSid3 {
684 enum lsa_SidType sid_type;
685 struct dom_sid2 *sid;/* [unique] */
686 uint32_t sid_index;
687 uint32_t flags;
690 struct lsa_TransSidArray3 {
691 uint32_t count;/* [range(0,1000)] */
692 struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
695 struct lsa_ForestTrustBinaryData {
696 uint32_t length;/* [range(0,131072)] */
697 uint8_t *data;/* [unique,size_is(length)] */
700 struct lsa_ForestTrustDomainInfo {
701 struct dom_sid2 *domain_sid;/* [unique] */
702 struct lsa_StringLarge dns_domain_name;
703 struct lsa_StringLarge netbios_domain_name;
706 union lsa_ForestTrustData {
707 struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
708 struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
709 struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
710 struct lsa_ForestTrustBinaryData data;/* [default] */
711 }/* [switch_type(uint32)] */;
713 enum lsa_ForestTrustRecordType
714 #ifndef USE_UINT_ENUMS
716 LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
717 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
718 LSA_FOREST_TRUST_DOMAIN_INFO=2,
719 LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
721 #else
722 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
723 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
724 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
725 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
726 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
727 #endif
730 struct lsa_ForestTrustRecord {
731 uint32_t flags;
732 enum lsa_ForestTrustRecordType level;
733 uint64_t unknown;
734 union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
737 struct lsa_ForestTrustInformation {
738 uint32_t count;/* [range(0,4000)] */
739 struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
740 }/* [public] */;
743 struct lsa_Close {
744 struct {
745 struct policy_handle *handle;/* [ref] */
746 } in;
748 struct {
749 struct policy_handle *handle;/* [ref] */
750 NTSTATUS result;
751 } out;
756 struct lsa_Delete {
757 struct {
758 struct policy_handle *handle;/* [ref] */
759 } in;
761 struct {
762 NTSTATUS result;
763 } out;
768 struct lsa_EnumPrivs {
769 struct {
770 struct policy_handle *handle;/* [ref] */
771 uint32_t max_count;
772 uint32_t *resume_handle;/* [ref] */
773 } in;
775 struct {
776 struct lsa_PrivArray *privs;/* [ref] */
777 uint32_t *resume_handle;/* [ref] */
778 NTSTATUS result;
779 } out;
784 struct lsa_QuerySecurity {
785 struct {
786 struct policy_handle *handle;/* [ref] */
787 uint32_t sec_info;
788 } in;
790 struct {
791 struct sec_desc_buf **sdbuf;/* [ref] */
792 NTSTATUS result;
793 } out;
798 struct lsa_SetSecObj {
799 struct {
800 struct policy_handle *handle;/* [ref] */
801 uint32_t sec_info;
802 struct sec_desc_buf *sdbuf;/* [ref] */
803 } in;
805 struct {
806 NTSTATUS result;
807 } out;
812 struct lsa_ChangePassword {
813 struct {
814 NTSTATUS result;
815 } out;
820 struct lsa_OpenPolicy {
821 struct {
822 uint16_t *system_name;/* [unique] */
823 struct lsa_ObjectAttribute *attr;/* [ref] */
824 uint32_t access_mask;
825 } in;
827 struct {
828 struct policy_handle *handle;/* [ref] */
829 NTSTATUS result;
830 } out;
835 struct lsa_QueryInfoPolicy {
836 struct {
837 struct policy_handle *handle;/* [ref] */
838 enum lsa_PolicyInfo level;
839 } in;
841 struct {
842 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
843 NTSTATUS result;
844 } out;
849 struct lsa_SetInfoPolicy {
850 struct {
851 struct policy_handle *handle;/* [ref] */
852 enum lsa_PolicyInfo level;
853 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
854 } in;
856 struct {
857 NTSTATUS result;
858 } out;
863 struct lsa_ClearAuditLog {
864 struct {
865 NTSTATUS result;
866 } out;
871 struct lsa_CreateAccount {
872 struct {
873 struct policy_handle *handle;/* [ref] */
874 struct dom_sid2 *sid;/* [ref] */
875 uint32_t access_mask;
876 } in;
878 struct {
879 struct policy_handle *acct_handle;/* [ref] */
880 NTSTATUS result;
881 } out;
886 struct lsa_EnumAccounts {
887 struct {
888 struct policy_handle *handle;/* [ref] */
889 uint32_t num_entries;/* [range(0,8192)] */
890 uint32_t *resume_handle;/* [ref] */
891 } in;
893 struct {
894 struct lsa_SidArray *sids;/* [ref] */
895 uint32_t *resume_handle;/* [ref] */
896 NTSTATUS result;
897 } out;
902 struct lsa_CreateTrustedDomain {
903 struct {
904 struct policy_handle *policy_handle;/* [ref] */
905 struct lsa_DomainInfo *info;/* [ref] */
906 uint32_t access_mask;
907 } in;
909 struct {
910 struct policy_handle *trustdom_handle;/* [ref] */
911 NTSTATUS result;
912 } out;
917 struct lsa_EnumTrustDom {
918 struct {
919 struct policy_handle *handle;/* [ref] */
920 uint32_t max_size;
921 uint32_t *resume_handle;/* [ref] */
922 } in;
924 struct {
925 struct lsa_DomainList *domains;/* [ref] */
926 uint32_t *resume_handle;/* [ref] */
927 NTSTATUS result;
928 } out;
933 struct lsa_LookupNames {
934 struct {
935 struct policy_handle *handle;/* [ref] */
936 uint32_t num_names;/* [range(0,1000)] */
937 struct lsa_String *names;/* [size_is(num_names)] */
938 enum lsa_LookupNamesLevel level;
939 struct lsa_TransSidArray *sids;/* [ref] */
940 uint32_t *count;/* [ref] */
941 } in;
943 struct {
944 struct lsa_RefDomainList **domains;/* [ref] */
945 struct lsa_TransSidArray *sids;/* [ref] */
946 uint32_t *count;/* [ref] */
947 NTSTATUS result;
948 } out;
953 struct lsa_LookupSids {
954 struct {
955 struct policy_handle *handle;/* [ref] */
956 struct lsa_SidArray *sids;/* [ref] */
957 uint16_t level;
958 struct lsa_TransNameArray *names;/* [ref] */
959 uint32_t *count;/* [ref] */
960 } in;
962 struct {
963 struct lsa_RefDomainList **domains;/* [ref] */
964 struct lsa_TransNameArray *names;/* [ref] */
965 uint32_t *count;/* [ref] */
966 NTSTATUS result;
967 } out;
972 struct lsa_CreateSecret {
973 struct {
974 struct policy_handle *handle;/* [ref] */
975 struct lsa_String name;
976 uint32_t access_mask;
977 } in;
979 struct {
980 struct policy_handle *sec_handle;/* [ref] */
981 NTSTATUS result;
982 } out;
987 struct lsa_OpenAccount {
988 struct {
989 struct policy_handle *handle;/* [ref] */
990 struct dom_sid2 *sid;/* [ref] */
991 uint32_t access_mask;
992 } in;
994 struct {
995 struct policy_handle *acct_handle;/* [ref] */
996 NTSTATUS result;
997 } out;
1002 struct lsa_EnumPrivsAccount {
1003 struct {
1004 struct policy_handle *handle;/* [ref] */
1005 } in;
1007 struct {
1008 struct lsa_PrivilegeSet **privs;/* [ref] */
1009 NTSTATUS result;
1010 } out;
1015 struct lsa_AddPrivilegesToAccount {
1016 struct {
1017 struct policy_handle *handle;/* [ref] */
1018 struct lsa_PrivilegeSet *privs;/* [ref] */
1019 } in;
1021 struct {
1022 NTSTATUS result;
1023 } out;
1028 struct lsa_RemovePrivilegesFromAccount {
1029 struct {
1030 struct policy_handle *handle;/* [ref] */
1031 uint8_t remove_all;
1032 struct lsa_PrivilegeSet *privs;/* [unique] */
1033 } in;
1035 struct {
1036 NTSTATUS result;
1037 } out;
1042 struct lsa_GetQuotasForAccount {
1043 struct {
1044 NTSTATUS result;
1045 } out;
1050 struct lsa_SetQuotasForAccount {
1051 struct {
1052 NTSTATUS result;
1053 } out;
1058 struct lsa_GetSystemAccessAccount {
1059 struct {
1060 struct policy_handle *handle;/* [ref] */
1061 } in;
1063 struct {
1064 uint32_t *access_mask;/* [ref] */
1065 NTSTATUS result;
1066 } out;
1071 struct lsa_SetSystemAccessAccount {
1072 struct {
1073 struct policy_handle *handle;/* [ref] */
1074 uint32_t access_mask;
1075 } in;
1077 struct {
1078 NTSTATUS result;
1079 } out;
1084 struct lsa_OpenTrustedDomain {
1085 struct {
1086 struct policy_handle *handle;/* [ref] */
1087 struct dom_sid2 *sid;/* [ref] */
1088 uint32_t access_mask;
1089 } in;
1091 struct {
1092 struct policy_handle *trustdom_handle;/* [ref] */
1093 NTSTATUS result;
1094 } out;
1099 struct lsa_QueryTrustedDomainInfo {
1100 struct {
1101 struct policy_handle *trustdom_handle;/* [ref] */
1102 enum lsa_TrustDomInfoEnum level;
1103 } in;
1105 struct {
1106 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1107 NTSTATUS result;
1108 } out;
1113 struct lsa_SetInformationTrustedDomain {
1114 struct {
1115 struct policy_handle *trustdom_handle;/* [ref] */
1116 enum lsa_TrustDomInfoEnum level;
1117 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1118 } in;
1120 struct {
1121 NTSTATUS result;
1122 } out;
1127 struct lsa_OpenSecret {
1128 struct {
1129 struct policy_handle *handle;/* [ref] */
1130 struct lsa_String name;
1131 uint32_t access_mask;
1132 } in;
1134 struct {
1135 struct policy_handle *sec_handle;/* [ref] */
1136 NTSTATUS result;
1137 } out;
1142 struct lsa_SetSecret {
1143 struct {
1144 struct policy_handle *sec_handle;/* [ref] */
1145 struct lsa_DATA_BUF *new_val;/* [unique] */
1146 struct lsa_DATA_BUF *old_val;/* [unique] */
1147 } in;
1149 struct {
1150 NTSTATUS result;
1151 } out;
1156 struct lsa_QuerySecret {
1157 struct {
1158 struct policy_handle *sec_handle;/* [ref] */
1159 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1160 NTTIME *new_mtime;/* [unique] */
1161 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1162 NTTIME *old_mtime;/* [unique] */
1163 } in;
1165 struct {
1166 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1167 NTTIME *new_mtime;/* [unique] */
1168 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1169 NTTIME *old_mtime;/* [unique] */
1170 NTSTATUS result;
1171 } out;
1176 struct lsa_LookupPrivValue {
1177 struct {
1178 struct policy_handle *handle;/* [ref] */
1179 struct lsa_String *name;/* [ref] */
1180 } in;
1182 struct {
1183 struct lsa_LUID *luid;/* [ref] */
1184 NTSTATUS result;
1185 } out;
1190 struct lsa_LookupPrivName {
1191 struct {
1192 struct policy_handle *handle;/* [ref] */
1193 struct lsa_LUID *luid;/* [ref] */
1194 } in;
1196 struct {
1197 struct lsa_StringLarge **name;/* [ref] */
1198 NTSTATUS result;
1199 } out;
1204 struct lsa_LookupPrivDisplayName {
1205 struct {
1206 struct policy_handle *handle;/* [ref] */
1207 struct lsa_String *name;/* [ref] */
1208 uint16_t language_id;
1209 uint16_t language_id_sys;
1210 } in;
1212 struct {
1213 struct lsa_StringLarge **disp_name;/* [ref] */
1214 uint16_t *returned_language_id;/* [ref] */
1215 NTSTATUS result;
1216 } out;
1221 struct lsa_DeleteObject {
1222 struct {
1223 struct policy_handle *handle;/* [ref] */
1224 } in;
1226 struct {
1227 struct policy_handle *handle;/* [ref] */
1228 NTSTATUS result;
1229 } out;
1234 struct lsa_EnumAccountsWithUserRight {
1235 struct {
1236 struct policy_handle *handle;/* [ref] */
1237 struct lsa_String *name;/* [unique] */
1238 } in;
1240 struct {
1241 struct lsa_SidArray *sids;/* [ref] */
1242 NTSTATUS result;
1243 } out;
1248 struct lsa_EnumAccountRights {
1249 struct {
1250 struct policy_handle *handle;/* [ref] */
1251 struct dom_sid2 *sid;/* [ref] */
1252 } in;
1254 struct {
1255 struct lsa_RightSet *rights;/* [ref] */
1256 NTSTATUS result;
1257 } out;
1262 struct lsa_AddAccountRights {
1263 struct {
1264 struct policy_handle *handle;/* [ref] */
1265 struct dom_sid2 *sid;/* [ref] */
1266 struct lsa_RightSet *rights;/* [ref] */
1267 } in;
1269 struct {
1270 NTSTATUS result;
1271 } out;
1276 struct lsa_RemoveAccountRights {
1277 struct {
1278 struct policy_handle *handle;/* [ref] */
1279 struct dom_sid2 *sid;/* [ref] */
1280 uint8_t remove_all;
1281 struct lsa_RightSet *rights;/* [ref] */
1282 } in;
1284 struct {
1285 NTSTATUS result;
1286 } out;
1291 struct lsa_QueryTrustedDomainInfoBySid {
1292 struct {
1293 struct policy_handle *handle;/* [ref] */
1294 struct dom_sid2 *dom_sid;/* [ref] */
1295 enum lsa_TrustDomInfoEnum level;
1296 } in;
1298 struct {
1299 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1300 NTSTATUS result;
1301 } out;
1306 struct lsa_SetTrustedDomainInfo {
1307 struct {
1308 struct policy_handle *handle;/* [ref] */
1309 struct dom_sid2 *dom_sid;/* [ref] */
1310 enum lsa_TrustDomInfoEnum level;
1311 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1312 } in;
1314 struct {
1315 NTSTATUS result;
1316 } out;
1321 struct lsa_DeleteTrustedDomain {
1322 struct {
1323 struct policy_handle *handle;/* [ref] */
1324 struct dom_sid2 *dom_sid;/* [ref] */
1325 } in;
1327 struct {
1328 NTSTATUS result;
1329 } out;
1334 struct lsa_StorePrivateData {
1335 struct {
1336 struct policy_handle *handle;/* [ref] */
1337 struct lsa_String *name;/* [ref] */
1338 struct lsa_DATA_BUF *val;/* [unique] */
1339 } in;
1341 struct {
1342 NTSTATUS result;
1343 } out;
1348 struct lsa_RetrievePrivateData {
1349 struct {
1350 struct policy_handle *handle;/* [ref] */
1351 struct lsa_String *name;/* [ref] */
1352 struct lsa_DATA_BUF **val;/* [ref] */
1353 } in;
1355 struct {
1356 struct lsa_DATA_BUF **val;/* [ref] */
1357 NTSTATUS result;
1358 } out;
1363 struct lsa_OpenPolicy2 {
1364 struct {
1365 const char *system_name;/* [unique,charset(UTF16)] */
1366 struct lsa_ObjectAttribute *attr;/* [ref] */
1367 uint32_t access_mask;
1368 } in;
1370 struct {
1371 struct policy_handle *handle;/* [ref] */
1372 NTSTATUS result;
1373 } out;
1378 struct lsa_GetUserName {
1379 struct {
1380 const char *system_name;/* [unique,charset(UTF16)] */
1381 struct lsa_String **account_name;/* [ref] */
1382 struct lsa_String **authority_name;/* [unique] */
1383 } in;
1385 struct {
1386 struct lsa_String **account_name;/* [ref] */
1387 struct lsa_String **authority_name;/* [unique] */
1388 NTSTATUS result;
1389 } out;
1394 struct lsa_QueryInfoPolicy2 {
1395 struct {
1396 struct policy_handle *handle;/* [ref] */
1397 enum lsa_PolicyInfo level;
1398 } in;
1400 struct {
1401 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1402 NTSTATUS result;
1403 } out;
1408 struct lsa_SetInfoPolicy2 {
1409 struct {
1410 struct policy_handle *handle;/* [ref] */
1411 enum lsa_PolicyInfo level;
1412 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1413 } in;
1415 struct {
1416 NTSTATUS result;
1417 } out;
1422 struct lsa_QueryTrustedDomainInfoByName {
1423 struct {
1424 struct policy_handle *handle;/* [ref] */
1425 struct lsa_String *trusted_domain;/* [ref] */
1426 enum lsa_TrustDomInfoEnum level;
1427 } in;
1429 struct {
1430 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1431 NTSTATUS result;
1432 } out;
1437 struct lsa_SetTrustedDomainInfoByName {
1438 struct {
1439 struct policy_handle *handle;/* [ref] */
1440 struct lsa_String trusted_domain;
1441 enum lsa_TrustDomInfoEnum level;
1442 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1443 } in;
1445 struct {
1446 NTSTATUS result;
1447 } out;
1452 struct lsa_EnumTrustedDomainsEx {
1453 struct {
1454 struct policy_handle *handle;/* [ref] */
1455 uint32_t max_size;
1456 uint32_t *resume_handle;/* [ref] */
1457 } in;
1459 struct {
1460 struct lsa_DomainListEx *domains;/* [ref] */
1461 uint32_t *resume_handle;/* [ref] */
1462 NTSTATUS result;
1463 } out;
1468 struct lsa_CreateTrustedDomainEx {
1469 struct {
1470 struct policy_handle *policy_handle;/* [ref] */
1471 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1472 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1473 uint32_t access_mask;
1474 } in;
1476 struct {
1477 struct policy_handle *trustdom_handle;/* [ref] */
1478 NTSTATUS result;
1479 } out;
1484 struct lsa_CloseTrustedDomainEx {
1485 struct {
1486 struct policy_handle *handle;/* [ref] */
1487 } in;
1489 struct {
1490 struct policy_handle *handle;/* [ref] */
1491 NTSTATUS result;
1492 } out;
1497 struct lsa_QueryDomainInformationPolicy {
1498 struct {
1499 struct policy_handle *handle;/* [ref] */
1500 uint16_t level;
1501 } in;
1503 struct {
1504 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1505 NTSTATUS result;
1506 } out;
1511 struct lsa_SetDomainInformationPolicy {
1512 struct {
1513 struct policy_handle *handle;/* [ref] */
1514 uint16_t level;
1515 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1516 } in;
1518 struct {
1519 NTSTATUS result;
1520 } out;
1525 struct lsa_OpenTrustedDomainByName {
1526 struct {
1527 struct policy_handle *handle;/* [ref] */
1528 struct lsa_String name;
1529 uint32_t access_mask;
1530 } in;
1532 struct {
1533 struct policy_handle *trustdom_handle;/* [ref] */
1534 NTSTATUS result;
1535 } out;
1540 struct lsa_TestCall {
1541 struct {
1542 NTSTATUS result;
1543 } out;
1548 struct lsa_LookupSids2 {
1549 struct {
1550 struct policy_handle *handle;/* [ref] */
1551 struct lsa_SidArray *sids;/* [ref] */
1552 uint16_t level;
1553 uint32_t unknown1;
1554 uint32_t unknown2;
1555 struct lsa_TransNameArray2 *names;/* [ref] */
1556 uint32_t *count;/* [ref] */
1557 } in;
1559 struct {
1560 struct lsa_RefDomainList **domains;/* [ref] */
1561 struct lsa_TransNameArray2 *names;/* [ref] */
1562 uint32_t *count;/* [ref] */
1563 NTSTATUS result;
1564 } out;
1569 struct lsa_LookupNames2 {
1570 struct {
1571 struct policy_handle *handle;/* [ref] */
1572 uint32_t num_names;/* [range(0,1000)] */
1573 struct lsa_String *names;/* [size_is(num_names)] */
1574 enum lsa_LookupNamesLevel level;
1575 uint32_t lookup_options;
1576 uint32_t client_revision;
1577 struct lsa_TransSidArray2 *sids;/* [ref] */
1578 uint32_t *count;/* [ref] */
1579 } in;
1581 struct {
1582 struct lsa_RefDomainList **domains;/* [ref] */
1583 struct lsa_TransSidArray2 *sids;/* [ref] */
1584 uint32_t *count;/* [ref] */
1585 NTSTATUS result;
1586 } out;
1591 struct lsa_CreateTrustedDomainEx2 {
1592 struct {
1593 struct policy_handle *policy_handle;/* [ref] */
1594 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1595 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1596 uint32_t access_mask;
1597 } in;
1599 struct {
1600 struct policy_handle *trustdom_handle;/* [ref] */
1601 NTSTATUS result;
1602 } out;
1607 struct lsa_CREDRWRITE {
1608 struct {
1609 NTSTATUS result;
1610 } out;
1615 struct lsa_CREDRREAD {
1616 struct {
1617 NTSTATUS result;
1618 } out;
1623 struct lsa_CREDRENUMERATE {
1624 struct {
1625 NTSTATUS result;
1626 } out;
1631 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1632 struct {
1633 NTSTATUS result;
1634 } out;
1639 struct lsa_CREDRREADDOMAINCREDENTIALS {
1640 struct {
1641 NTSTATUS result;
1642 } out;
1647 struct lsa_CREDRDELETE {
1648 struct {
1649 NTSTATUS result;
1650 } out;
1655 struct lsa_CREDRGETTARGETINFO {
1656 struct {
1657 NTSTATUS result;
1658 } out;
1663 struct lsa_CREDRPROFILELOADED {
1664 struct {
1665 NTSTATUS result;
1666 } out;
1671 struct lsa_LookupNames3 {
1672 struct {
1673 struct policy_handle *handle;/* [ref] */
1674 uint32_t num_names;/* [range(0,1000)] */
1675 struct lsa_String *names;/* [size_is(num_names)] */
1676 enum lsa_LookupNamesLevel level;
1677 uint32_t lookup_options;
1678 uint32_t client_revision;
1679 struct lsa_TransSidArray3 *sids;/* [ref] */
1680 uint32_t *count;/* [ref] */
1681 } in;
1683 struct {
1684 struct lsa_RefDomainList **domains;/* [ref] */
1685 struct lsa_TransSidArray3 *sids;/* [ref] */
1686 uint32_t *count;/* [ref] */
1687 NTSTATUS result;
1688 } out;
1693 struct lsa_CREDRGETSESSIONTYPES {
1694 struct {
1695 NTSTATUS result;
1696 } out;
1701 struct lsa_LSARREGISTERAUDITEVENT {
1702 struct {
1703 NTSTATUS result;
1704 } out;
1709 struct lsa_LSARGENAUDITEVENT {
1710 struct {
1711 NTSTATUS result;
1712 } out;
1717 struct lsa_LSARUNREGISTERAUDITEVENT {
1718 struct {
1719 NTSTATUS result;
1720 } out;
1725 struct lsa_lsaRQueryForestTrustInformation {
1726 struct {
1727 struct policy_handle *handle;/* [ref] */
1728 struct lsa_String *trusted_domain_name;/* [ref] */
1729 uint16_t unknown;
1730 } in;
1732 struct {
1733 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1734 NTSTATUS result;
1735 } out;
1740 struct lsa_LSARSETFORESTTRUSTINFORMATION {
1741 struct {
1742 NTSTATUS result;
1743 } out;
1748 struct lsa_CREDRRENAME {
1749 struct {
1750 NTSTATUS result;
1751 } out;
1756 struct lsa_LookupSids3 {
1757 struct {
1758 struct lsa_SidArray *sids;/* [ref] */
1759 uint16_t level;
1760 uint32_t unknown1;
1761 uint32_t unknown2;
1762 struct lsa_TransNameArray2 *names;/* [ref] */
1763 uint32_t *count;/* [ref] */
1764 } in;
1766 struct {
1767 struct lsa_RefDomainList **domains;/* [ref] */
1768 struct lsa_TransNameArray2 *names;/* [ref] */
1769 uint32_t *count;/* [ref] */
1770 NTSTATUS result;
1771 } out;
1776 struct lsa_LookupNames4 {
1777 struct {
1778 uint32_t num_names;/* [range(0,1000)] */
1779 struct lsa_String *names;/* [size_is(num_names)] */
1780 enum lsa_LookupNamesLevel level;
1781 uint32_t lookup_options;
1782 uint32_t client_revision;
1783 struct lsa_TransSidArray3 *sids;/* [ref] */
1784 uint32_t *count;/* [ref] */
1785 } in;
1787 struct {
1788 struct lsa_RefDomainList **domains;/* [ref] */
1789 struct lsa_TransSidArray3 *sids;/* [ref] */
1790 uint32_t *count;/* [ref] */
1791 NTSTATUS result;
1792 } out;
1797 struct lsa_LSAROPENPOLICYSCE {
1798 struct {
1799 NTSTATUS result;
1800 } out;
1805 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1806 struct {
1807 NTSTATUS result;
1808 } out;
1813 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1814 struct {
1815 NTSTATUS result;
1816 } out;
1821 struct lsa_LSARADTREPORTSECURITYEVENT {
1822 struct {
1823 NTSTATUS result;
1824 } out;
1828 #endif /* _HEADER_lsarpc */