s3: re-run make samba3-idl.
[Samba/gbeck.git] / librpc / gen_ndr / lsa.h
blob132630b75656a45d050b6a15bd7ac98a9abeeabd
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_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
17 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
18 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
19 #define LSA_CLIENT_REVISION_NO_DNS ( 0x00000001 )
20 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
21 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED ( 0x80000000 )
22 struct lsa_String {
23 uint16_t length;/* [value(2*strlen_m(string))] */
24 uint16_t size;/* [value(2*strlen_m(string))] */
25 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
26 }/* [public] */;
28 struct lsa_StringLarge {
29 uint16_t length;/* [value(2*strlen_m(string))] */
30 uint16_t size;/* [value(2*strlen_m_term(string))] */
31 const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
32 }/* [public] */;
34 struct lsa_Strings {
35 uint32_t count;
36 struct lsa_String *names;/* [unique,size_is(count)] */
37 }/* [public] */;
39 struct lsa_AsciiString {
40 uint16_t length;/* [value(strlen_m(string))] */
41 uint16_t size;/* [value(strlen_m(string))] */
42 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
43 }/* [public] */;
45 struct lsa_AsciiStringLarge {
46 uint16_t length;/* [value(strlen_m(string))] */
47 uint16_t size;/* [value(strlen_m_term(string))] */
48 const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
49 }/* [public] */;
51 struct lsa_BinaryString {
52 uint16_t length;
53 uint16_t size;
54 uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
55 }/* [public] */;
57 struct lsa_LUID {
58 uint32_t low;
59 uint32_t high;
62 struct lsa_PrivEntry {
63 struct lsa_StringLarge name;
64 struct lsa_LUID luid;
67 struct lsa_PrivArray {
68 uint32_t count;
69 struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
72 struct lsa_QosInfo {
73 uint32_t len;
74 uint16_t impersonation_level;
75 uint8_t context_mode;
76 uint8_t effective_only;
79 struct lsa_ObjectAttribute {
80 uint32_t len;
81 uint8_t *root_dir;/* [unique] */
82 const char *object_name;/* [unique,charset(UTF16)] */
83 uint32_t attributes;
84 struct security_descriptor *sec_desc;/* [unique] */
85 struct lsa_QosInfo *sec_qos;/* [unique] */
88 /* bitmap lsa_PolicyAccessMask */
89 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
90 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
91 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
92 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
93 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
94 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
95 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
96 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
97 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
98 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
99 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
100 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
101 #define LSA_POLICY_NOTIFICATION ( 0x00001000 )
103 /* bitmap lsa_AccountAccessMask */
104 #define LSA_ACCOUNT_VIEW ( 0x00000001 )
105 #define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 )
106 #define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 )
107 #define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 )
109 /* bitmap lsa_SecretAccessMask */
110 #define LSA_SECRET_SET_VALUE ( 0x00000001 )
111 #define LSA_SECRET_QUERY_VALUE ( 0x00000002 )
113 /* bitmap lsa_TrustedAccessMask */
114 #define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 )
115 #define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 )
116 #define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 )
117 #define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 )
118 #define LSA_TRUSTED_SET_POSIX ( 0x00000010 )
119 #define LSA_TRUSTED_SET_AUTH ( 0x00000020 )
120 #define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 )
122 struct lsa_AuditLogInfo {
123 uint32_t percent_full;
124 uint32_t maximum_log_size;
125 uint64_t retention_time;
126 uint8_t shutdown_in_progress;
127 uint64_t time_to_shutdown;
128 uint32_t next_audit_record;
131 enum lsa_PolicyAuditPolicy
132 #ifndef USE_UINT_ENUMS
134 LSA_AUDIT_POLICY_NONE=0,
135 LSA_AUDIT_POLICY_SUCCESS=1,
136 LSA_AUDIT_POLICY_FAILURE=2,
137 LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
138 LSA_AUDIT_POLICY_CLEAR=4
140 #else
141 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
142 #define LSA_AUDIT_POLICY_NONE ( 0 )
143 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
144 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
145 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
146 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
147 #endif
150 enum lsa_PolicyAuditEventType
151 #ifndef USE_UINT_ENUMS
153 LSA_AUDIT_CATEGORY_SYSTEM=0,
154 LSA_AUDIT_CATEGORY_LOGON=1,
155 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
156 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
157 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
158 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
159 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
160 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
161 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
163 #else
164 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
165 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
166 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
167 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
168 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
169 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
170 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
171 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
172 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
173 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
174 #endif
177 struct lsa_AuditEventsInfo {
178 uint32_t auditing_mode;
179 enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
180 uint32_t count;
183 struct lsa_DomainInfo {
184 struct lsa_StringLarge name;
185 struct dom_sid2 *sid;/* [unique] */
188 struct lsa_PDAccountInfo {
189 struct lsa_String name;
192 enum lsa_Role
193 #ifndef USE_UINT_ENUMS
195 LSA_ROLE_BACKUP=2,
196 LSA_ROLE_PRIMARY=3
198 #else
199 { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
200 #define LSA_ROLE_BACKUP ( 2 )
201 #define LSA_ROLE_PRIMARY ( 3 )
202 #endif
205 struct lsa_ServerRole {
206 enum lsa_Role role;
209 struct lsa_ReplicaSourceInfo {
210 struct lsa_String source;
211 struct lsa_String account;
214 struct lsa_DefaultQuotaInfo {
215 uint32_t paged_pool;
216 uint32_t non_paged_pool;
217 uint32_t min_wss;
218 uint32_t max_wss;
219 uint32_t pagefile;
220 uint64_t unknown;
223 struct lsa_ModificationInfo {
224 uint64_t modified_id;
225 NTTIME db_create_time;
228 struct lsa_AuditFullSetInfo {
229 uint8_t shutdown_on_full;
232 struct lsa_AuditFullQueryInfo {
233 uint8_t shutdown_on_full;
234 uint8_t log_is_full;
237 struct lsa_DnsDomainInfo {
238 struct lsa_StringLarge name;
239 struct lsa_StringLarge dns_domain;
240 struct lsa_StringLarge dns_forest;
241 struct GUID domain_guid;
242 struct dom_sid2 *sid;/* [unique] */
245 enum lsa_PolicyInfo
246 #ifndef USE_UINT_ENUMS
248 LSA_POLICY_INFO_AUDIT_LOG=1,
249 LSA_POLICY_INFO_AUDIT_EVENTS=2,
250 LSA_POLICY_INFO_DOMAIN=3,
251 LSA_POLICY_INFO_PD=4,
252 LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
253 LSA_POLICY_INFO_ROLE=6,
254 LSA_POLICY_INFO_REPLICA=7,
255 LSA_POLICY_INFO_QUOTA=8,
256 LSA_POLICY_INFO_MOD=9,
257 LSA_POLICY_INFO_AUDIT_FULL_SET=10,
258 LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
259 LSA_POLICY_INFO_DNS=12,
260 LSA_POLICY_INFO_DNS_INT=13,
261 LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
263 #else
264 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
265 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
266 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
267 #define LSA_POLICY_INFO_DOMAIN ( 3 )
268 #define LSA_POLICY_INFO_PD ( 4 )
269 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
270 #define LSA_POLICY_INFO_ROLE ( 6 )
271 #define LSA_POLICY_INFO_REPLICA ( 7 )
272 #define LSA_POLICY_INFO_QUOTA ( 8 )
273 #define LSA_POLICY_INFO_MOD ( 9 )
274 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
275 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
276 #define LSA_POLICY_INFO_DNS ( 12 )
277 #define LSA_POLICY_INFO_DNS_INT ( 13 )
278 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
279 #endif
282 union lsa_PolicyInformation {
283 struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
284 struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
285 struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
286 struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
287 struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
288 struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
289 struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
290 struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
291 struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
292 struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
293 struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
294 struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
295 struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
296 }/* [switch_type(uint16)] */;
298 struct lsa_SidPtr {
299 struct dom_sid2 *sid;/* [unique] */
302 struct lsa_SidArray {
303 uint32_t num_sids;/* [range(0,1000)] */
304 struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
305 }/* [public] */;
307 struct lsa_DomainList {
308 uint32_t count;
309 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
312 enum lsa_SidType
313 #ifndef USE_UINT_ENUMS
315 SID_NAME_USE_NONE=0,
316 SID_NAME_USER=1,
317 SID_NAME_DOM_GRP=2,
318 SID_NAME_DOMAIN=3,
319 SID_NAME_ALIAS=4,
320 SID_NAME_WKN_GRP=5,
321 SID_NAME_DELETED=6,
322 SID_NAME_INVALID=7,
323 SID_NAME_UNKNOWN=8,
324 SID_NAME_COMPUTER=9
326 #else
327 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
328 #define SID_NAME_USE_NONE ( 0 )
329 #define SID_NAME_USER ( 1 )
330 #define SID_NAME_DOM_GRP ( 2 )
331 #define SID_NAME_DOMAIN ( 3 )
332 #define SID_NAME_ALIAS ( 4 )
333 #define SID_NAME_WKN_GRP ( 5 )
334 #define SID_NAME_DELETED ( 6 )
335 #define SID_NAME_INVALID ( 7 )
336 #define SID_NAME_UNKNOWN ( 8 )
337 #define SID_NAME_COMPUTER ( 9 )
338 #endif
341 struct lsa_TranslatedSid {
342 enum lsa_SidType sid_type;
343 uint32_t rid;
344 uint32_t sid_index;
347 struct lsa_TransSidArray {
348 uint32_t count;/* [range(0,1000)] */
349 struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
352 struct lsa_RefDomainList {
353 uint32_t count;/* [range(0,1000)] */
354 struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
355 uint32_t max_size;
358 enum lsa_LookupNamesLevel
359 #ifndef USE_UINT_ENUMS
361 LSA_LOOKUP_NAMES_ALL=1,
362 LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
363 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
364 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
365 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
366 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
367 LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
369 #else
370 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
371 #define LSA_LOOKUP_NAMES_ALL ( 1 )
372 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
373 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
374 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
375 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
376 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
377 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
378 #endif
381 struct lsa_TranslatedName {
382 enum lsa_SidType sid_type;
383 struct lsa_String name;
384 uint32_t sid_index;
387 struct lsa_TransNameArray {
388 uint32_t count;/* [range(0,1000)] */
389 struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
392 struct lsa_LUIDAttribute {
393 struct lsa_LUID luid;
394 uint32_t attribute;
397 struct lsa_PrivilegeSet {
398 uint32_t count;/* [range(0,1000)] */
399 uint32_t unknown;
400 struct lsa_LUIDAttribute *set;/* [size_is(count)] */
403 /* bitmap lsa_SystemAccessModeFlags */
404 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
405 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
406 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
407 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
408 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
409 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
410 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
411 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
412 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
413 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
414 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
415 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
416 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
418 struct lsa_DATA_BUF {
419 uint32_t length;
420 uint32_t size;
421 uint8_t *data;/* [unique,length_is(length),size_is(size)] */
422 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
424 struct lsa_DATA_BUF2 {
425 uint32_t size;/* [range(0,65536)] */
426 uint8_t *data;/* [unique,size_is(size)] */
427 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
429 enum lsa_TrustDomInfoEnum
430 #ifndef USE_UINT_ENUMS
432 LSA_TRUSTED_DOMAIN_INFO_NAME=1,
433 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
434 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
435 LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
436 LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
437 LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
438 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
439 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
440 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
441 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
442 LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
443 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
444 LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
446 #else
447 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
448 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
449 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
450 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
451 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
452 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
453 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
454 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
455 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
456 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
457 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
458 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
459 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
460 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
461 #endif
464 /* bitmap lsa_TrustDirection */
465 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
466 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
468 enum lsa_TrustType
469 #ifndef USE_UINT_ENUMS
471 LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
472 LSA_TRUST_TYPE_UPLEVEL=0x00000002,
473 LSA_TRUST_TYPE_MIT=0x00000003
475 #else
476 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
477 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
478 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
479 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
480 #endif
483 /* bitmap lsa_TrustAttributes */
484 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
485 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
486 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
487 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
488 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
489 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
490 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
491 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
493 struct lsa_TrustDomainInfoName {
494 struct lsa_StringLarge netbios_name;
497 struct lsa_TrustDomainInfoControllers {
498 uint32_t entries;
499 struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
502 struct lsa_TrustDomainInfoPosixOffset {
503 uint32_t posix_offset;
506 struct lsa_TrustDomainInfoPassword {
507 struct lsa_DATA_BUF *password;/* [unique] */
508 struct lsa_DATA_BUF *old_password;/* [unique] */
511 struct lsa_TrustDomainInfoBasic {
512 struct lsa_String netbios_name;
513 struct dom_sid2 *sid;/* [unique] */
516 struct lsa_TrustDomainInfoInfoEx {
517 struct lsa_StringLarge domain_name;
518 struct lsa_StringLarge netbios_name;
519 struct dom_sid2 *sid;/* [unique] */
520 uint32_t trust_direction;
521 enum lsa_TrustType trust_type;
522 uint32_t trust_attributes;
525 enum lsa_TrustAuthType
526 #ifndef USE_UINT_ENUMS
528 TRUST_AUTH_TYPE_NONE=0,
529 TRUST_AUTH_TYPE_NT4OWF=1,
530 TRUST_AUTH_TYPE_CLEAR=2,
531 TRUST_AUTH_TYPE_VERSION=3
533 #else
534 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
535 #define TRUST_AUTH_TYPE_NONE ( 0 )
536 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
537 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
538 #define TRUST_AUTH_TYPE_VERSION ( 3 )
539 #endif
542 struct lsa_TrustDomainInfoBuffer {
543 NTTIME last_update_time;
544 enum lsa_TrustAuthType AuthType;
545 struct lsa_DATA_BUF2 data;
548 struct lsa_TrustDomainInfoAuthInfo {
549 uint32_t incoming_count;
550 struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
551 struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
552 uint32_t outgoing_count;
553 struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
554 struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
557 struct lsa_TrustDomainInfoFullInfo {
558 struct lsa_TrustDomainInfoInfoEx info_ex;
559 struct lsa_TrustDomainInfoPosixOffset posix_offset;
560 struct lsa_TrustDomainInfoAuthInfo auth_info;
563 struct lsa_TrustDomainInfoAuthInfoInternal {
564 struct lsa_DATA_BUF2 auth_blob;
567 struct lsa_TrustDomainInfoFullInfoInternal {
568 struct lsa_TrustDomainInfoInfoEx info_ex;
569 struct lsa_TrustDomainInfoPosixOffset posix_offset;
570 struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
573 struct lsa_TrustDomainInfoInfoEx2Internal {
574 struct lsa_TrustDomainInfoInfoEx info_ex;
575 uint32_t forest_trust_length;
576 uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
579 struct lsa_TrustDomainInfoFullInfo2Internal {
580 struct lsa_TrustDomainInfoInfoEx2Internal info;
581 struct lsa_TrustDomainInfoPosixOffset posix_offset;
582 struct lsa_TrustDomainInfoAuthInfo auth_info;
585 struct lsa_TrustDomainInfoSupportedEncTypes {
586 uint32_t enc_types;
589 union lsa_TrustedDomainInfo {
590 struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
591 struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
592 struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
593 struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
594 struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
595 struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
596 struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
597 struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
598 struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
599 struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
600 struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
601 struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
602 struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
603 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
605 struct lsa_DATA_BUF_PTR {
606 struct lsa_DATA_BUF *buf;/* [unique] */
609 struct lsa_RightAttribute {
610 const char *name;/* [unique,charset(UTF16)] */
613 struct lsa_RightSet {
614 uint32_t count;/* [range(0,256)] */
615 struct lsa_StringLarge *names;/* [unique,size_is(count)] */
618 struct lsa_DomainListEx {
619 uint32_t count;
620 struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
623 struct lsa_DomainInfoKerberos {
624 uint32_t enforce_restrictions;
625 uint64_t service_tkt_lifetime;
626 uint64_t user_tkt_lifetime;
627 uint64_t user_tkt_renewaltime;
628 uint64_t clock_skew;
629 uint64_t unknown6;
632 struct lsa_DomainInfoEfs {
633 uint32_t blob_size;
634 uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
637 enum lsa_DomainInfoEnum
638 #ifndef USE_UINT_ENUMS
640 LSA_DOMAIN_INFO_POLICY_EFS=2,
641 LSA_DOMAIN_INFO_POLICY_KERBEROS=3
643 #else
644 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
645 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
646 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
647 #endif
650 union lsa_DomainInformationPolicy {
651 struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
652 struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
653 }/* [switch_type(uint16)] */;
655 struct lsa_TranslatedName2 {
656 enum lsa_SidType sid_type;
657 struct lsa_String name;
658 uint32_t sid_index;
659 uint32_t unknown;
662 struct lsa_TransNameArray2 {
663 uint32_t count;/* [range(0,1000)] */
664 struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
667 struct lsa_TranslatedSid2 {
668 enum lsa_SidType sid_type;
669 uint32_t rid;
670 uint32_t sid_index;
671 uint32_t unknown;
674 struct lsa_TransSidArray2 {
675 uint32_t count;/* [range(0,1000)] */
676 struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
679 struct lsa_TranslatedSid3 {
680 enum lsa_SidType sid_type;
681 struct dom_sid2 *sid;/* [unique] */
682 uint32_t sid_index;
683 uint32_t flags;
686 struct lsa_TransSidArray3 {
687 uint32_t count;/* [range(0,1000)] */
688 struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
691 struct lsa_ForestTrustBinaryData {
692 uint32_t length;/* [range(0,131072)] */
693 uint8_t *data;/* [unique,size_is(length)] */
696 struct lsa_ForestTrustDomainInfo {
697 struct dom_sid2 *domain_sid;/* [unique] */
698 struct lsa_StringLarge dns_domain_name;
699 struct lsa_StringLarge netbios_domain_name;
702 union lsa_ForestTrustData {
703 struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
704 struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
705 struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
706 struct lsa_ForestTrustBinaryData data;/* [default] */
707 }/* [switch_type(uint32)] */;
709 enum lsa_ForestTrustRecordType
710 #ifndef USE_UINT_ENUMS
712 LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
713 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
714 LSA_FOREST_TRUST_DOMAIN_INFO=2,
715 LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
717 #else
718 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
719 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
720 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
721 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
722 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
723 #endif
726 struct lsa_ForestTrustRecord {
727 uint32_t flags;
728 enum lsa_ForestTrustRecordType level;
729 uint64_t unknown;
730 union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
733 struct lsa_ForestTrustInformation {
734 uint32_t count;/* [range(0,4000)] */
735 struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
736 }/* [public] */;
739 struct lsa_Close {
740 struct {
741 struct policy_handle *handle;/* [ref] */
742 } in;
744 struct {
745 struct policy_handle *handle;/* [ref] */
746 NTSTATUS result;
747 } out;
752 struct lsa_Delete {
753 struct {
754 struct policy_handle *handle;/* [ref] */
755 } in;
757 struct {
758 NTSTATUS result;
759 } out;
764 struct lsa_EnumPrivs {
765 struct {
766 struct policy_handle *handle;/* [ref] */
767 uint32_t max_count;
768 uint32_t *resume_handle;/* [ref] */
769 } in;
771 struct {
772 struct lsa_PrivArray *privs;/* [ref] */
773 uint32_t *resume_handle;/* [ref] */
774 NTSTATUS result;
775 } out;
780 struct lsa_QuerySecurity {
781 struct {
782 struct policy_handle *handle;/* [ref] */
783 uint32_t sec_info;
784 } in;
786 struct {
787 struct sec_desc_buf **sdbuf;/* [ref] */
788 NTSTATUS result;
789 } out;
794 struct lsa_SetSecObj {
795 struct {
796 struct policy_handle *handle;/* [ref] */
797 uint32_t sec_info;
798 struct sec_desc_buf *sdbuf;/* [ref] */
799 } in;
801 struct {
802 NTSTATUS result;
803 } out;
808 struct lsa_ChangePassword {
809 struct {
810 NTSTATUS result;
811 } out;
816 struct lsa_OpenPolicy {
817 struct {
818 uint16_t *system_name;/* [unique] */
819 struct lsa_ObjectAttribute *attr;/* [ref] */
820 uint32_t access_mask;
821 } in;
823 struct {
824 struct policy_handle *handle;/* [ref] */
825 NTSTATUS result;
826 } out;
831 struct lsa_QueryInfoPolicy {
832 struct {
833 struct policy_handle *handle;/* [ref] */
834 enum lsa_PolicyInfo level;
835 } in;
837 struct {
838 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
839 NTSTATUS result;
840 } out;
845 struct lsa_SetInfoPolicy {
846 struct {
847 struct policy_handle *handle;/* [ref] */
848 enum lsa_PolicyInfo level;
849 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
850 } in;
852 struct {
853 NTSTATUS result;
854 } out;
859 struct lsa_ClearAuditLog {
860 struct {
861 NTSTATUS result;
862 } out;
867 struct lsa_CreateAccount {
868 struct {
869 struct policy_handle *handle;/* [ref] */
870 struct dom_sid2 *sid;/* [ref] */
871 uint32_t access_mask;
872 } in;
874 struct {
875 struct policy_handle *acct_handle;/* [ref] */
876 NTSTATUS result;
877 } out;
882 struct lsa_EnumAccounts {
883 struct {
884 struct policy_handle *handle;/* [ref] */
885 uint32_t num_entries;/* [range(0,8192)] */
886 uint32_t *resume_handle;/* [ref] */
887 } in;
889 struct {
890 struct lsa_SidArray *sids;/* [ref] */
891 uint32_t *resume_handle;/* [ref] */
892 NTSTATUS result;
893 } out;
898 struct lsa_CreateTrustedDomain {
899 struct {
900 struct policy_handle *policy_handle;/* [ref] */
901 struct lsa_DomainInfo *info;/* [ref] */
902 uint32_t access_mask;
903 } in;
905 struct {
906 struct policy_handle *trustdom_handle;/* [ref] */
907 NTSTATUS result;
908 } out;
913 struct lsa_EnumTrustDom {
914 struct {
915 struct policy_handle *handle;/* [ref] */
916 uint32_t max_size;
917 uint32_t *resume_handle;/* [ref] */
918 } in;
920 struct {
921 struct lsa_DomainList *domains;/* [ref] */
922 uint32_t *resume_handle;/* [ref] */
923 NTSTATUS result;
924 } out;
929 struct lsa_LookupNames {
930 struct {
931 struct policy_handle *handle;/* [ref] */
932 uint32_t num_names;/* [range(0,1000)] */
933 struct lsa_String *names;/* [size_is(num_names)] */
934 enum lsa_LookupNamesLevel level;
935 struct lsa_TransSidArray *sids;/* [ref] */
936 uint32_t *count;/* [ref] */
937 } in;
939 struct {
940 struct lsa_RefDomainList **domains;/* [ref] */
941 struct lsa_TransSidArray *sids;/* [ref] */
942 uint32_t *count;/* [ref] */
943 NTSTATUS result;
944 } out;
949 struct lsa_LookupSids {
950 struct {
951 struct policy_handle *handle;/* [ref] */
952 struct lsa_SidArray *sids;/* [ref] */
953 uint16_t level;
954 struct lsa_TransNameArray *names;/* [ref] */
955 uint32_t *count;/* [ref] */
956 } in;
958 struct {
959 struct lsa_RefDomainList **domains;/* [ref] */
960 struct lsa_TransNameArray *names;/* [ref] */
961 uint32_t *count;/* [ref] */
962 NTSTATUS result;
963 } out;
968 struct lsa_CreateSecret {
969 struct {
970 struct policy_handle *handle;/* [ref] */
971 struct lsa_String name;
972 uint32_t access_mask;
973 } in;
975 struct {
976 struct policy_handle *sec_handle;/* [ref] */
977 NTSTATUS result;
978 } out;
983 struct lsa_OpenAccount {
984 struct {
985 struct policy_handle *handle;/* [ref] */
986 struct dom_sid2 *sid;/* [ref] */
987 uint32_t access_mask;
988 } in;
990 struct {
991 struct policy_handle *acct_handle;/* [ref] */
992 NTSTATUS result;
993 } out;
998 struct lsa_EnumPrivsAccount {
999 struct {
1000 struct policy_handle *handle;/* [ref] */
1001 } in;
1003 struct {
1004 struct lsa_PrivilegeSet **privs;/* [ref] */
1005 NTSTATUS result;
1006 } out;
1011 struct lsa_AddPrivilegesToAccount {
1012 struct {
1013 struct policy_handle *handle;/* [ref] */
1014 struct lsa_PrivilegeSet *privs;/* [ref] */
1015 } in;
1017 struct {
1018 NTSTATUS result;
1019 } out;
1024 struct lsa_RemovePrivilegesFromAccount {
1025 struct {
1026 struct policy_handle *handle;/* [ref] */
1027 uint8_t remove_all;
1028 struct lsa_PrivilegeSet *privs;/* [unique] */
1029 } in;
1031 struct {
1032 NTSTATUS result;
1033 } out;
1038 struct lsa_GetQuotasForAccount {
1039 struct {
1040 NTSTATUS result;
1041 } out;
1046 struct lsa_SetQuotasForAccount {
1047 struct {
1048 NTSTATUS result;
1049 } out;
1054 struct lsa_GetSystemAccessAccount {
1055 struct {
1056 struct policy_handle *handle;/* [ref] */
1057 } in;
1059 struct {
1060 uint32_t *access_mask;/* [ref] */
1061 NTSTATUS result;
1062 } out;
1067 struct lsa_SetSystemAccessAccount {
1068 struct {
1069 struct policy_handle *handle;/* [ref] */
1070 uint32_t access_mask;
1071 } in;
1073 struct {
1074 NTSTATUS result;
1075 } out;
1080 struct lsa_OpenTrustedDomain {
1081 struct {
1082 struct policy_handle *handle;/* [ref] */
1083 struct dom_sid2 *sid;/* [ref] */
1084 uint32_t access_mask;
1085 } in;
1087 struct {
1088 struct policy_handle *trustdom_handle;/* [ref] */
1089 NTSTATUS result;
1090 } out;
1095 struct lsa_QueryTrustedDomainInfo {
1096 struct {
1097 struct policy_handle *trustdom_handle;/* [ref] */
1098 enum lsa_TrustDomInfoEnum level;
1099 } in;
1101 struct {
1102 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1103 NTSTATUS result;
1104 } out;
1109 struct lsa_SetInformationTrustedDomain {
1110 struct {
1111 struct policy_handle *trustdom_handle;/* [ref] */
1112 enum lsa_TrustDomInfoEnum level;
1113 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1114 } in;
1116 struct {
1117 NTSTATUS result;
1118 } out;
1123 struct lsa_OpenSecret {
1124 struct {
1125 struct policy_handle *handle;/* [ref] */
1126 struct lsa_String name;
1127 uint32_t access_mask;
1128 } in;
1130 struct {
1131 struct policy_handle *sec_handle;/* [ref] */
1132 NTSTATUS result;
1133 } out;
1138 struct lsa_SetSecret {
1139 struct {
1140 struct policy_handle *sec_handle;/* [ref] */
1141 struct lsa_DATA_BUF *new_val;/* [unique] */
1142 struct lsa_DATA_BUF *old_val;/* [unique] */
1143 } in;
1145 struct {
1146 NTSTATUS result;
1147 } out;
1152 struct lsa_QuerySecret {
1153 struct {
1154 struct policy_handle *sec_handle;/* [ref] */
1155 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1156 NTTIME *new_mtime;/* [unique] */
1157 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1158 NTTIME *old_mtime;/* [unique] */
1159 } in;
1161 struct {
1162 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1163 NTTIME *new_mtime;/* [unique] */
1164 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1165 NTTIME *old_mtime;/* [unique] */
1166 NTSTATUS result;
1167 } out;
1172 struct lsa_LookupPrivValue {
1173 struct {
1174 struct policy_handle *handle;/* [ref] */
1175 struct lsa_String *name;/* [ref] */
1176 } in;
1178 struct {
1179 struct lsa_LUID *luid;/* [ref] */
1180 NTSTATUS result;
1181 } out;
1186 struct lsa_LookupPrivName {
1187 struct {
1188 struct policy_handle *handle;/* [ref] */
1189 struct lsa_LUID *luid;/* [ref] */
1190 } in;
1192 struct {
1193 struct lsa_StringLarge **name;/* [ref] */
1194 NTSTATUS result;
1195 } out;
1200 struct lsa_LookupPrivDisplayName {
1201 struct {
1202 struct policy_handle *handle;/* [ref] */
1203 struct lsa_String *name;/* [ref] */
1204 uint16_t language_id;
1205 uint16_t language_id_sys;
1206 } in;
1208 struct {
1209 struct lsa_StringLarge **disp_name;/* [ref] */
1210 uint16_t *returned_language_id;/* [ref] */
1211 NTSTATUS result;
1212 } out;
1217 struct lsa_DeleteObject {
1218 struct {
1219 struct policy_handle *handle;/* [ref] */
1220 } in;
1222 struct {
1223 struct policy_handle *handle;/* [ref] */
1224 NTSTATUS result;
1225 } out;
1230 struct lsa_EnumAccountsWithUserRight {
1231 struct {
1232 struct policy_handle *handle;/* [ref] */
1233 struct lsa_String *name;/* [unique] */
1234 } in;
1236 struct {
1237 struct lsa_SidArray *sids;/* [ref] */
1238 NTSTATUS result;
1239 } out;
1244 struct lsa_EnumAccountRights {
1245 struct {
1246 struct policy_handle *handle;/* [ref] */
1247 struct dom_sid2 *sid;/* [ref] */
1248 } in;
1250 struct {
1251 struct lsa_RightSet *rights;/* [ref] */
1252 NTSTATUS result;
1253 } out;
1258 struct lsa_AddAccountRights {
1259 struct {
1260 struct policy_handle *handle;/* [ref] */
1261 struct dom_sid2 *sid;/* [ref] */
1262 struct lsa_RightSet *rights;/* [ref] */
1263 } in;
1265 struct {
1266 NTSTATUS result;
1267 } out;
1272 struct lsa_RemoveAccountRights {
1273 struct {
1274 struct policy_handle *handle;/* [ref] */
1275 struct dom_sid2 *sid;/* [ref] */
1276 uint8_t remove_all;
1277 struct lsa_RightSet *rights;/* [ref] */
1278 } in;
1280 struct {
1281 NTSTATUS result;
1282 } out;
1287 struct lsa_QueryTrustedDomainInfoBySid {
1288 struct {
1289 struct policy_handle *handle;/* [ref] */
1290 struct dom_sid2 *dom_sid;/* [ref] */
1291 enum lsa_TrustDomInfoEnum level;
1292 } in;
1294 struct {
1295 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1296 NTSTATUS result;
1297 } out;
1302 struct lsa_SetTrustedDomainInfo {
1303 struct {
1304 struct policy_handle *handle;/* [ref] */
1305 struct dom_sid2 *dom_sid;/* [ref] */
1306 enum lsa_TrustDomInfoEnum level;
1307 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1308 } in;
1310 struct {
1311 NTSTATUS result;
1312 } out;
1317 struct lsa_DeleteTrustedDomain {
1318 struct {
1319 struct policy_handle *handle;/* [ref] */
1320 struct dom_sid2 *dom_sid;/* [ref] */
1321 } in;
1323 struct {
1324 NTSTATUS result;
1325 } out;
1330 struct lsa_StorePrivateData {
1331 struct {
1332 NTSTATUS result;
1333 } out;
1338 struct lsa_RetrievePrivateData {
1339 struct {
1340 NTSTATUS result;
1341 } out;
1346 struct lsa_OpenPolicy2 {
1347 struct {
1348 const char *system_name;/* [unique,charset(UTF16)] */
1349 struct lsa_ObjectAttribute *attr;/* [ref] */
1350 uint32_t access_mask;
1351 } in;
1353 struct {
1354 struct policy_handle *handle;/* [ref] */
1355 NTSTATUS result;
1356 } out;
1361 struct lsa_GetUserName {
1362 struct {
1363 const char *system_name;/* [unique,charset(UTF16)] */
1364 struct lsa_String **account_name;/* [ref] */
1365 struct lsa_String **authority_name;/* [unique] */
1366 } in;
1368 struct {
1369 struct lsa_String **account_name;/* [ref] */
1370 struct lsa_String **authority_name;/* [unique] */
1371 NTSTATUS result;
1372 } out;
1377 struct lsa_QueryInfoPolicy2 {
1378 struct {
1379 struct policy_handle *handle;/* [ref] */
1380 enum lsa_PolicyInfo level;
1381 } in;
1383 struct {
1384 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1385 NTSTATUS result;
1386 } out;
1391 struct lsa_SetInfoPolicy2 {
1392 struct {
1393 struct policy_handle *handle;/* [ref] */
1394 enum lsa_PolicyInfo level;
1395 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1396 } in;
1398 struct {
1399 NTSTATUS result;
1400 } out;
1405 struct lsa_QueryTrustedDomainInfoByName {
1406 struct {
1407 struct policy_handle *handle;/* [ref] */
1408 struct lsa_String *trusted_domain;/* [ref] */
1409 enum lsa_TrustDomInfoEnum level;
1410 } in;
1412 struct {
1413 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1414 NTSTATUS result;
1415 } out;
1420 struct lsa_SetTrustedDomainInfoByName {
1421 struct {
1422 struct policy_handle *handle;/* [ref] */
1423 struct lsa_String trusted_domain;
1424 enum lsa_TrustDomInfoEnum level;
1425 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1426 } in;
1428 struct {
1429 NTSTATUS result;
1430 } out;
1435 struct lsa_EnumTrustedDomainsEx {
1436 struct {
1437 struct policy_handle *handle;/* [ref] */
1438 uint32_t max_size;
1439 uint32_t *resume_handle;/* [ref] */
1440 } in;
1442 struct {
1443 struct lsa_DomainListEx *domains;/* [ref] */
1444 uint32_t *resume_handle;/* [ref] */
1445 NTSTATUS result;
1446 } out;
1451 struct lsa_CreateTrustedDomainEx {
1452 struct {
1453 struct policy_handle *policy_handle;/* [ref] */
1454 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1455 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1456 uint32_t access_mask;
1457 } in;
1459 struct {
1460 struct policy_handle *trustdom_handle;/* [ref] */
1461 NTSTATUS result;
1462 } out;
1467 struct lsa_CloseTrustedDomainEx {
1468 struct {
1469 struct policy_handle *handle;/* [ref] */
1470 } in;
1472 struct {
1473 struct policy_handle *handle;/* [ref] */
1474 NTSTATUS result;
1475 } out;
1480 struct lsa_QueryDomainInformationPolicy {
1481 struct {
1482 struct policy_handle *handle;/* [ref] */
1483 uint16_t level;
1484 } in;
1486 struct {
1487 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1488 NTSTATUS result;
1489 } out;
1494 struct lsa_SetDomainInformationPolicy {
1495 struct {
1496 struct policy_handle *handle;/* [ref] */
1497 uint16_t level;
1498 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1499 } in;
1501 struct {
1502 NTSTATUS result;
1503 } out;
1508 struct lsa_OpenTrustedDomainByName {
1509 struct {
1510 struct policy_handle *handle;/* [ref] */
1511 struct lsa_String name;
1512 uint32_t access_mask;
1513 } in;
1515 struct {
1516 struct policy_handle *trustdom_handle;/* [ref] */
1517 NTSTATUS result;
1518 } out;
1523 struct lsa_TestCall {
1524 struct {
1525 NTSTATUS result;
1526 } out;
1531 struct lsa_LookupSids2 {
1532 struct {
1533 struct policy_handle *handle;/* [ref] */
1534 struct lsa_SidArray *sids;/* [ref] */
1535 uint16_t level;
1536 uint32_t unknown1;
1537 uint32_t unknown2;
1538 struct lsa_TransNameArray2 *names;/* [ref] */
1539 uint32_t *count;/* [ref] */
1540 } in;
1542 struct {
1543 struct lsa_RefDomainList **domains;/* [ref] */
1544 struct lsa_TransNameArray2 *names;/* [ref] */
1545 uint32_t *count;/* [ref] */
1546 NTSTATUS result;
1547 } out;
1552 struct lsa_LookupNames2 {
1553 struct {
1554 struct policy_handle *handle;/* [ref] */
1555 uint32_t num_names;/* [range(0,1000)] */
1556 struct lsa_String *names;/* [size_is(num_names)] */
1557 enum lsa_LookupNamesLevel level;
1558 uint32_t lookup_options;
1559 uint32_t client_revision;
1560 struct lsa_TransSidArray2 *sids;/* [ref] */
1561 uint32_t *count;/* [ref] */
1562 } in;
1564 struct {
1565 struct lsa_RefDomainList **domains;/* [ref] */
1566 struct lsa_TransSidArray2 *sids;/* [ref] */
1567 uint32_t *count;/* [ref] */
1568 NTSTATUS result;
1569 } out;
1574 struct lsa_CreateTrustedDomainEx2 {
1575 struct {
1576 struct policy_handle *policy_handle;/* [ref] */
1577 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1578 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1579 uint32_t access_mask;
1580 } in;
1582 struct {
1583 struct policy_handle *trustdom_handle;/* [ref] */
1584 NTSTATUS result;
1585 } out;
1590 struct lsa_CREDRWRITE {
1591 struct {
1592 NTSTATUS result;
1593 } out;
1598 struct lsa_CREDRREAD {
1599 struct {
1600 NTSTATUS result;
1601 } out;
1606 struct lsa_CREDRENUMERATE {
1607 struct {
1608 NTSTATUS result;
1609 } out;
1614 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1615 struct {
1616 NTSTATUS result;
1617 } out;
1622 struct lsa_CREDRREADDOMAINCREDENTIALS {
1623 struct {
1624 NTSTATUS result;
1625 } out;
1630 struct lsa_CREDRDELETE {
1631 struct {
1632 NTSTATUS result;
1633 } out;
1638 struct lsa_CREDRGETTARGETINFO {
1639 struct {
1640 NTSTATUS result;
1641 } out;
1646 struct lsa_CREDRPROFILELOADED {
1647 struct {
1648 NTSTATUS result;
1649 } out;
1654 struct lsa_LookupNames3 {
1655 struct {
1656 struct policy_handle *handle;/* [ref] */
1657 uint32_t num_names;/* [range(0,1000)] */
1658 struct lsa_String *names;/* [size_is(num_names)] */
1659 enum lsa_LookupNamesLevel level;
1660 uint32_t lookup_options;
1661 uint32_t client_revision;
1662 struct lsa_TransSidArray3 *sids;/* [ref] */
1663 uint32_t *count;/* [ref] */
1664 } in;
1666 struct {
1667 struct lsa_RefDomainList **domains;/* [ref] */
1668 struct lsa_TransSidArray3 *sids;/* [ref] */
1669 uint32_t *count;/* [ref] */
1670 NTSTATUS result;
1671 } out;
1676 struct lsa_CREDRGETSESSIONTYPES {
1677 struct {
1678 NTSTATUS result;
1679 } out;
1684 struct lsa_LSARREGISTERAUDITEVENT {
1685 struct {
1686 NTSTATUS result;
1687 } out;
1692 struct lsa_LSARGENAUDITEVENT {
1693 struct {
1694 NTSTATUS result;
1695 } out;
1700 struct lsa_LSARUNREGISTERAUDITEVENT {
1701 struct {
1702 NTSTATUS result;
1703 } out;
1708 struct lsa_lsaRQueryForestTrustInformation {
1709 struct {
1710 struct policy_handle *handle;/* [ref] */
1711 struct lsa_String *trusted_domain_name;/* [ref] */
1712 uint16_t unknown;
1713 } in;
1715 struct {
1716 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1717 NTSTATUS result;
1718 } out;
1723 struct lsa_LSARSETFORESTTRUSTINFORMATION {
1724 struct {
1725 NTSTATUS result;
1726 } out;
1731 struct lsa_CREDRRENAME {
1732 struct {
1733 NTSTATUS result;
1734 } out;
1739 struct lsa_LookupSids3 {
1740 struct {
1741 struct lsa_SidArray *sids;/* [ref] */
1742 uint16_t level;
1743 uint32_t unknown1;
1744 uint32_t unknown2;
1745 struct lsa_TransNameArray2 *names;/* [ref] */
1746 uint32_t *count;/* [ref] */
1747 } in;
1749 struct {
1750 struct lsa_RefDomainList **domains;/* [ref] */
1751 struct lsa_TransNameArray2 *names;/* [ref] */
1752 uint32_t *count;/* [ref] */
1753 NTSTATUS result;
1754 } out;
1759 struct lsa_LookupNames4 {
1760 struct {
1761 uint32_t num_names;/* [range(0,1000)] */
1762 struct lsa_String *names;/* [size_is(num_names)] */
1763 enum lsa_LookupNamesLevel level;
1764 uint32_t lookup_options;
1765 uint32_t client_revision;
1766 struct lsa_TransSidArray3 *sids;/* [ref] */
1767 uint32_t *count;/* [ref] */
1768 } in;
1770 struct {
1771 struct lsa_RefDomainList **domains;/* [ref] */
1772 struct lsa_TransSidArray3 *sids;/* [ref] */
1773 uint32_t *count;/* [ref] */
1774 NTSTATUS result;
1775 } out;
1780 struct lsa_LSAROPENPOLICYSCE {
1781 struct {
1782 NTSTATUS result;
1783 } out;
1788 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1789 struct {
1790 NTSTATUS result;
1791 } out;
1796 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1797 struct {
1798 NTSTATUS result;
1799 } out;
1804 struct lsa_LSARADTREPORTSECURITYEVENT {
1805 struct {
1806 NTSTATUS result;
1807 } out;
1811 #endif /* _HEADER_lsarpc */