s3: re-run make samba3-idl.
[kai/samba-autobuild/.git] / librpc / gen_ndr / lsa.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "libcli/util/ntstatus.h"
6
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/security.h"
9 #ifndef _HEADER_lsarpc
10 #define _HEADER_lsarpc
11
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_SECRET_ALL_ACCESS   ( (LSA_SECRET_QUERY_VALUE|LSA_SECRET_SET_VALUE|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) )
21 #define LSA_SECRET_READ ( (LSA_SECRET_QUERY_VALUE|STANDARD_RIGHTS_READ_ACCESS) )
22 #define LSA_SECRET_WRITE        ( (LSA_SECRET_SET_VALUE|STANDARD_RIGHTS_READ_ACCESS) )
23 #define LSA_SECRET_EXECUTE      ( (STANDARD_RIGHTS_READ_ACCESS) )
24 #define LSA_TRUSTED_DOMAIN_ALL_ACCESS   ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_CONTROLLERS|LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_QUERY_POSIX|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|LSA_TRUSTED_QUERY_AUTH|SEC_STD_DELETE|STANDARD_RIGHTS_READ_ACCESS|SEC_STD_WRITE_DAC|SEC_STD_WRITE_OWNER) )
25 #define LSA_TRUSTED_DOMAIN_READ ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|STANDARD_RIGHTS_READ_ACCESS) )
26 #define LSA_TRUSTED_DOMAIN_WRITE        ( (LSA_TRUSTED_SET_CONTROLLERS|LSA_TRUSTED_SET_POSIX|LSA_TRUSTED_SET_AUTH|STANDARD_RIGHTS_READ_ACCESS) )
27 #define LSA_TRUSTED_DOMAIN_EXECUTE      ( (LSA_TRUSTED_QUERY_DOMAIN_NAME|LSA_TRUSTED_QUERY_POSIX|STANDARD_RIGHTS_READ_ACCESS) )
28 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER        ( 60 )
29 #define LSA_REF_DOMAIN_LIST_MULTIPLIER  ( 32 )
30 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER     ( 82 )
31 #define LSA_CLIENT_REVISION_NO_DNS      ( 0x00000001 )
32 #define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
33 #define LSA_LOOKUP_OPTIONS_NO_ISOLATED  ( 0x80000000 )
34 struct lsa_String {
35         uint16_t length;/* [value(2*strlen_m(string))] */
36         uint16_t size;/* [value(2*strlen_m(string))] */
37         const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
38 }/* [public] */;
39
40 struct lsa_StringLarge {
41         uint16_t length;/* [value(2*strlen_m(string))] */
42         uint16_t size;/* [value(2*strlen_m_term(string))] */
43         const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
44 }/* [public] */;
45
46 struct lsa_Strings {
47         uint32_t count;
48         struct lsa_String *names;/* [unique,size_is(count)] */
49 }/* [public] */;
50
51 struct lsa_AsciiString {
52         uint16_t length;/* [value(strlen_m(string))] */
53         uint16_t size;/* [value(strlen_m(string))] */
54         const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
55 }/* [public] */;
56
57 struct lsa_AsciiStringLarge {
58         uint16_t length;/* [value(strlen_m(string))] */
59         uint16_t size;/* [value(strlen_m_term(string))] */
60         const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
61 }/* [public] */;
62
63 struct lsa_BinaryString {
64         uint16_t length;
65         uint16_t size;
66         uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
67 }/* [public] */;
68
69 struct lsa_LUID {
70         uint32_t low;
71         uint32_t high;
72 };
73
74 struct lsa_PrivEntry {
75         struct lsa_StringLarge name;
76         struct lsa_LUID luid;
77 };
78
79 struct lsa_PrivArray {
80         uint32_t count;
81         struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
82 };
83
84 struct lsa_QosInfo {
85         uint32_t len;
86         uint16_t impersonation_level;
87         uint8_t context_mode;
88         uint8_t effective_only;
89 };
90
91 struct lsa_ObjectAttribute {
92         uint32_t len;
93         uint8_t *root_dir;/* [unique] */
94         const char *object_name;/* [unique,charset(UTF16)] */
95         uint32_t attributes;
96         struct security_descriptor *sec_desc;/* [unique] */
97         struct lsa_QosInfo *sec_qos;/* [unique] */
98 };
99
100 /* bitmap lsa_PolicyAccessMask */
101 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
102 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
103 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
104 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
105 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
106 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
107 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
108 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
109 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
110 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
111 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
112 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
113 #define LSA_POLICY_NOTIFICATION ( 0x00001000 )
114
115 /* bitmap lsa_AccountAccessMask */
116 #define LSA_ACCOUNT_VIEW ( 0x00000001 )
117 #define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 )
118 #define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 )
119 #define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 )
120
121 /* bitmap lsa_SecretAccessMask */
122 #define LSA_SECRET_SET_VALUE ( 0x00000001 )
123 #define LSA_SECRET_QUERY_VALUE ( 0x00000002 )
124
125 /* bitmap lsa_TrustedAccessMask */
126 #define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 )
127 #define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 )
128 #define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 )
129 #define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 )
130 #define LSA_TRUSTED_SET_POSIX ( 0x00000010 )
131 #define LSA_TRUSTED_SET_AUTH ( 0x00000020 )
132 #define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 )
133
134 struct lsa_AuditLogInfo {
135         uint32_t percent_full;
136         uint32_t maximum_log_size;
137         uint64_t retention_time;
138         uint8_t shutdown_in_progress;
139         uint64_t time_to_shutdown;
140         uint32_t next_audit_record;
141 };
142
143 enum lsa_PolicyAuditPolicy
144 #ifndef USE_UINT_ENUMS
145  {
146         LSA_AUDIT_POLICY_NONE=(int)(0),
147         LSA_AUDIT_POLICY_SUCCESS=(int)(1),
148         LSA_AUDIT_POLICY_FAILURE=(int)(2),
149         LSA_AUDIT_POLICY_ALL=(int)((LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE)),
150         LSA_AUDIT_POLICY_CLEAR=(int)(4)
151 }
152 #else
153  { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
154 #define LSA_AUDIT_POLICY_NONE ( 0 )
155 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
156 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
157 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
158 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
159 #endif
160 ;
161
162 enum lsa_PolicyAuditEventType
163 #ifndef USE_UINT_ENUMS
164  {
165         LSA_AUDIT_CATEGORY_SYSTEM=(int)(0),
166         LSA_AUDIT_CATEGORY_LOGON=(int)(1),
167         LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=(int)(2),
168         LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=(int)(3),
169         LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=(int)(4),
170         LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=(int)(5),
171         LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=(int)(6),
172         LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=(int)(7),
173         LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=(int)(8)
174 }
175 #else
176  { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
177 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
178 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
179 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
180 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
181 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
182 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
183 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
184 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
185 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
186 #endif
187 ;
188
189 struct lsa_AuditEventsInfo {
190         uint32_t auditing_mode;
191         enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
192         uint32_t count;
193 };
194
195 struct lsa_DomainInfo {
196         struct lsa_StringLarge name;
197         struct dom_sid2 *sid;/* [unique] */
198 };
199
200 struct lsa_PDAccountInfo {
201         struct lsa_String name;
202 };
203
204 enum lsa_Role
205 #ifndef USE_UINT_ENUMS
206  {
207         LSA_ROLE_BACKUP=(int)(2),
208         LSA_ROLE_PRIMARY=(int)(3)
209 }
210 #else
211  { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
212 #define LSA_ROLE_BACKUP ( 2 )
213 #define LSA_ROLE_PRIMARY ( 3 )
214 #endif
215 ;
216
217 struct lsa_ServerRole {
218         enum lsa_Role role;
219 };
220
221 struct lsa_ReplicaSourceInfo {
222         struct lsa_String source;
223         struct lsa_String account;
224 };
225
226 struct lsa_DefaultQuotaInfo {
227         uint32_t paged_pool;
228         uint32_t non_paged_pool;
229         uint32_t min_wss;
230         uint32_t max_wss;
231         uint32_t pagefile;
232         uint64_t unknown;
233 };
234
235 struct lsa_ModificationInfo {
236         uint64_t modified_id;
237         NTTIME db_create_time;
238 };
239
240 struct lsa_AuditFullSetInfo {
241         uint8_t shutdown_on_full;
242 };
243
244 struct lsa_AuditFullQueryInfo {
245         uint8_t shutdown_on_full;
246         uint8_t log_is_full;
247 };
248
249 struct lsa_DnsDomainInfo {
250         struct lsa_StringLarge name;
251         struct lsa_StringLarge dns_domain;
252         struct lsa_StringLarge dns_forest;
253         struct GUID domain_guid;
254         struct dom_sid2 *sid;/* [unique] */
255 };
256
257 enum lsa_PolicyInfo
258 #ifndef USE_UINT_ENUMS
259  {
260         LSA_POLICY_INFO_AUDIT_LOG=(int)(1),
261         LSA_POLICY_INFO_AUDIT_EVENTS=(int)(2),
262         LSA_POLICY_INFO_DOMAIN=(int)(3),
263         LSA_POLICY_INFO_PD=(int)(4),
264         LSA_POLICY_INFO_ACCOUNT_DOMAIN=(int)(5),
265         LSA_POLICY_INFO_ROLE=(int)(6),
266         LSA_POLICY_INFO_REPLICA=(int)(7),
267         LSA_POLICY_INFO_QUOTA=(int)(8),
268         LSA_POLICY_INFO_MOD=(int)(9),
269         LSA_POLICY_INFO_AUDIT_FULL_SET=(int)(10),
270         LSA_POLICY_INFO_AUDIT_FULL_QUERY=(int)(11),
271         LSA_POLICY_INFO_DNS=(int)(12),
272         LSA_POLICY_INFO_DNS_INT=(int)(13),
273         LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=(int)(14)
274 }
275 #else
276  { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
277 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
278 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
279 #define LSA_POLICY_INFO_DOMAIN ( 3 )
280 #define LSA_POLICY_INFO_PD ( 4 )
281 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
282 #define LSA_POLICY_INFO_ROLE ( 6 )
283 #define LSA_POLICY_INFO_REPLICA ( 7 )
284 #define LSA_POLICY_INFO_QUOTA ( 8 )
285 #define LSA_POLICY_INFO_MOD ( 9 )
286 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
287 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
288 #define LSA_POLICY_INFO_DNS ( 12 )
289 #define LSA_POLICY_INFO_DNS_INT ( 13 )
290 #define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
291 #endif
292 ;
293
294 union lsa_PolicyInformation {
295         struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
296         struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
297         struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
298         struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
299         struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
300         struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
301         struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
302         struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
303         struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
304         struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
305         struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
306         struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
307         struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
308 }/* [switch_type(uint16)] */;
309
310 struct lsa_SidPtr {
311         struct dom_sid2 *sid;/* [unique] */
312 };
313
314 struct lsa_SidArray {
315         uint32_t num_sids;/* [range(0,20480)] */
316         struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
317 }/* [public] */;
318
319 struct lsa_DomainList {
320         uint32_t count;
321         struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
322 };
323
324 enum lsa_SidType
325 #ifndef USE_UINT_ENUMS
326  {
327         SID_NAME_USE_NONE=(int)(0),
328         SID_NAME_USER=(int)(1),
329         SID_NAME_DOM_GRP=(int)(2),
330         SID_NAME_DOMAIN=(int)(3),
331         SID_NAME_ALIAS=(int)(4),
332         SID_NAME_WKN_GRP=(int)(5),
333         SID_NAME_DELETED=(int)(6),
334         SID_NAME_INVALID=(int)(7),
335         SID_NAME_UNKNOWN=(int)(8),
336         SID_NAME_COMPUTER=(int)(9)
337 }
338 #else
339  { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
340 #define SID_NAME_USE_NONE ( 0 )
341 #define SID_NAME_USER ( 1 )
342 #define SID_NAME_DOM_GRP ( 2 )
343 #define SID_NAME_DOMAIN ( 3 )
344 #define SID_NAME_ALIAS ( 4 )
345 #define SID_NAME_WKN_GRP ( 5 )
346 #define SID_NAME_DELETED ( 6 )
347 #define SID_NAME_INVALID ( 7 )
348 #define SID_NAME_UNKNOWN ( 8 )
349 #define SID_NAME_COMPUTER ( 9 )
350 #endif
351 ;
352
353 struct lsa_TranslatedSid {
354         enum lsa_SidType sid_type;
355         uint32_t rid;
356         uint32_t sid_index;
357 };
358
359 struct lsa_TransSidArray {
360         uint32_t count;/* [range(0,1000)] */
361         struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
362 };
363
364 struct lsa_RefDomainList {
365         uint32_t count;/* [range(0,1000)] */
366         struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
367         uint32_t max_size;
368 };
369
370 enum lsa_LookupNamesLevel
371 #ifndef USE_UINT_ENUMS
372  {
373         LSA_LOOKUP_NAMES_ALL=(int)(1),
374         LSA_LOOKUP_NAMES_DOMAINS_ONLY=(int)(2),
375         LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=(int)(3),
376         LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=(int)(4),
377         LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=(int)(5),
378         LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=(int)(6),
379         LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=(int)(7)
380 }
381 #else
382  { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
383 #define LSA_LOOKUP_NAMES_ALL ( 1 )
384 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
385 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
386 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
387 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
388 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
389 #define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
390 #endif
391 ;
392
393 struct lsa_TranslatedName {
394         enum lsa_SidType sid_type;
395         struct lsa_String name;
396         uint32_t sid_index;
397 };
398
399 struct lsa_TransNameArray {
400         uint32_t count;/* [range(0,20480)] */
401         struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
402 };
403
404 struct lsa_LUIDAttribute {
405         struct lsa_LUID luid;
406         uint32_t attribute;
407 };
408
409 struct lsa_PrivilegeSet {
410         uint32_t count;/* [range(0,1000)] */
411         uint32_t unknown;
412         struct lsa_LUIDAttribute *set;/* [size_is(count)] */
413 };
414
415 /* bitmap lsa_SystemAccessModeFlags */
416 #define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
417 #define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
418 #define LSA_POLICY_MODE_BATCH ( 0x00000004 )
419 #define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
420 #define LSA_POLICY_MODE_PROXY ( 0x00000020 )
421 #define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
422 #define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
423 #define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
424 #define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
425 #define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
426 #define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
427 #define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
428 #define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
429
430 struct lsa_DATA_BUF {
431         uint32_t length;
432         uint32_t size;
433         uint8_t *data;/* [unique,length_is(length),size_is(size)] */
434 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
435
436 struct lsa_DATA_BUF2 {
437         uint32_t size;/* [range(0,65536)] */
438         uint8_t *data;/* [unique,size_is(size)] */
439 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
440
441 enum lsa_TrustDomInfoEnum
442 #ifndef USE_UINT_ENUMS
443  {
444         LSA_TRUSTED_DOMAIN_INFO_NAME=(int)(1),
445         LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=(int)(2),
446         LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=(int)(3),
447         LSA_TRUSTED_DOMAIN_INFO_PASSWORD=(int)(4),
448         LSA_TRUSTED_DOMAIN_INFO_BASIC=(int)(5),
449         LSA_TRUSTED_DOMAIN_INFO_INFO_EX=(int)(6),
450         LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=(int)(7),
451         LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=(int)(8),
452         LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=(int)(9),
453         LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=(int)(10),
454         LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=(int)(11),
455         LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=(int)(12),
456         LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES=(int)(13)
457 }
458 #else
459  { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
460 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
461 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
462 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
463 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
464 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
465 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
466 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
467 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
468 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
469 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
470 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
471 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
472 #define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES ( 13 )
473 #endif
474 ;
475
476 /* bitmap lsa_TrustDirection */
477 #define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
478 #define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
479
480 enum lsa_TrustType
481 #ifndef USE_UINT_ENUMS
482  {
483         LSA_TRUST_TYPE_DOWNLEVEL=(int)(0x00000001),
484         LSA_TRUST_TYPE_UPLEVEL=(int)(0x00000002),
485         LSA_TRUST_TYPE_MIT=(int)(0x00000003)
486 }
487 #else
488  { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
489 #define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
490 #define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
491 #define LSA_TRUST_TYPE_MIT ( 0x00000003 )
492 #endif
493 ;
494
495 /* bitmap lsa_TrustAttributes */
496 #define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
497 #define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
498 #define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
499 #define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
500 #define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
501 #define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
502 #define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
503 #define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
504
505 struct lsa_TrustDomainInfoName {
506         struct lsa_StringLarge netbios_name;
507 };
508
509 struct lsa_TrustDomainInfoControllers {
510         uint32_t entries;
511         struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
512 };
513
514 struct lsa_TrustDomainInfoPosixOffset {
515         uint32_t posix_offset;
516 };
517
518 struct lsa_TrustDomainInfoPassword {
519         struct lsa_DATA_BUF *password;/* [unique] */
520         struct lsa_DATA_BUF *old_password;/* [unique] */
521 };
522
523 struct lsa_TrustDomainInfoBasic {
524         struct lsa_String netbios_name;
525         struct dom_sid2 *sid;/* [unique] */
526 };
527
528 struct lsa_TrustDomainInfoInfoEx {
529         struct lsa_StringLarge domain_name;
530         struct lsa_StringLarge netbios_name;
531         struct dom_sid2 *sid;/* [unique] */
532         uint32_t trust_direction;
533         enum lsa_TrustType trust_type;
534         uint32_t trust_attributes;
535 };
536
537 enum lsa_TrustAuthType
538 #ifndef USE_UINT_ENUMS
539  {
540         TRUST_AUTH_TYPE_NONE=(int)(0),
541         TRUST_AUTH_TYPE_NT4OWF=(int)(1),
542         TRUST_AUTH_TYPE_CLEAR=(int)(2),
543         TRUST_AUTH_TYPE_VERSION=(int)(3)
544 }
545 #else
546  { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
547 #define TRUST_AUTH_TYPE_NONE ( 0 )
548 #define TRUST_AUTH_TYPE_NT4OWF ( 1 )
549 #define TRUST_AUTH_TYPE_CLEAR ( 2 )
550 #define TRUST_AUTH_TYPE_VERSION ( 3 )
551 #endif
552 ;
553
554 struct lsa_TrustDomainInfoBuffer {
555         NTTIME last_update_time;
556         enum lsa_TrustAuthType AuthType;
557         struct lsa_DATA_BUF2 data;
558 };
559
560 struct lsa_TrustDomainInfoAuthInfo {
561         uint32_t incoming_count;
562         struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
563         struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
564         uint32_t outgoing_count;
565         struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
566         struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
567 };
568
569 struct lsa_TrustDomainInfoFullInfo {
570         struct lsa_TrustDomainInfoInfoEx info_ex;
571         struct lsa_TrustDomainInfoPosixOffset posix_offset;
572         struct lsa_TrustDomainInfoAuthInfo auth_info;
573 };
574
575 struct lsa_TrustDomainInfoAuthInfoInternal {
576         struct lsa_DATA_BUF2 auth_blob;
577 };
578
579 struct lsa_TrustDomainInfoFullInfoInternal {
580         struct lsa_TrustDomainInfoInfoEx info_ex;
581         struct lsa_TrustDomainInfoPosixOffset posix_offset;
582         struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
583 };
584
585 struct lsa_TrustDomainInfoInfoEx2Internal {
586         struct lsa_TrustDomainInfoInfoEx info_ex;
587         uint32_t forest_trust_length;
588         uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
589 };
590
591 struct lsa_TrustDomainInfoFullInfo2Internal {
592         struct lsa_TrustDomainInfoInfoEx2Internal info;
593         struct lsa_TrustDomainInfoPosixOffset posix_offset;
594         struct lsa_TrustDomainInfoAuthInfo auth_info;
595 };
596
597 struct lsa_TrustDomainInfoSupportedEncTypes {
598         uint32_t enc_types;
599 };
600
601 union lsa_TrustedDomainInfo {
602         struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
603         struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
604         struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
605         struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
606         struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
607         struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
608         struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
609         struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
610         struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
611         struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
612         struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
613         struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
614         struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRYPTION_TYPES)] */
615 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
616
617 struct lsa_DATA_BUF_PTR {
618         struct lsa_DATA_BUF *buf;/* [unique] */
619 };
620
621 struct lsa_RightAttribute {
622         const char *name;/* [unique,charset(UTF16)] */
623 };
624
625 struct lsa_RightSet {
626         uint32_t count;/* [range(0,256)] */
627         struct lsa_StringLarge *names;/* [unique,size_is(count)] */
628 };
629
630 struct lsa_DomainListEx {
631         uint32_t count;
632         struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
633 };
634
635 struct lsa_DomainInfoKerberos {
636         uint32_t enforce_restrictions;
637         uint64_t service_tkt_lifetime;
638         uint64_t user_tkt_lifetime;
639         uint64_t user_tkt_renewaltime;
640         uint64_t clock_skew;
641         uint64_t unknown6;
642 };
643
644 struct lsa_DomainInfoEfs {
645         uint32_t blob_size;
646         uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
647 };
648
649 enum lsa_DomainInfoEnum
650 #ifndef USE_UINT_ENUMS
651  {
652         LSA_DOMAIN_INFO_POLICY_EFS=(int)(2),
653         LSA_DOMAIN_INFO_POLICY_KERBEROS=(int)(3)
654 }
655 #else
656  { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
657 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
658 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
659 #endif
660 ;
661
662 union lsa_DomainInformationPolicy {
663         struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
664         struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
665 }/* [switch_type(uint16)] */;
666
667 struct lsa_TranslatedName2 {
668         enum lsa_SidType sid_type;
669         struct lsa_String name;
670         uint32_t sid_index;
671         uint32_t unknown;
672 };
673
674 struct lsa_TransNameArray2 {
675         uint32_t count;/* [range(0,1000)] */
676         struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
677 };
678
679 enum lsa_LookupOptions
680 #ifndef USE_UINT_ENUMS
681  {
682         LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES=(int)(0x00000000),
683         LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL=(int)(0x80000000)
684 }
685 #else
686  { __donnot_use_enum_lsa_LookupOptions=0x7FFFFFFF}
687 #define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES ( 0x00000000 )
688 #define LSA_LOOKUP_OPTION_SEARCH_ISOLATED_NAMES_LOCAL ( 0x80000000 )
689 #endif
690 ;
691
692 enum lsa_ClientRevision
693 #ifndef USE_UINT_ENUMS
694  {
695         LSA_CLIENT_REVISION_1=(int)(0x00000001),
696         LSA_CLIENT_REVISION_2=(int)(0x00000002)
697 }
698 #else
699  { __donnot_use_enum_lsa_ClientRevision=0x7FFFFFFF}
700 #define LSA_CLIENT_REVISION_1 ( 0x00000001 )
701 #define LSA_CLIENT_REVISION_2 ( 0x00000002 )
702 #endif
703 ;
704
705 struct lsa_TranslatedSid2 {
706         enum lsa_SidType sid_type;
707         uint32_t rid;
708         uint32_t sid_index;
709         uint32_t unknown;
710 };
711
712 struct lsa_TransSidArray2 {
713         uint32_t count;/* [range(0,1000)] */
714         struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
715 };
716
717 struct lsa_TranslatedSid3 {
718         enum lsa_SidType sid_type;
719         struct dom_sid2 *sid;/* [unique] */
720         uint32_t sid_index;
721         uint32_t flags;
722 };
723
724 struct lsa_TransSidArray3 {
725         uint32_t count;/* [range(0,1000)] */
726         struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
727 };
728
729 struct lsa_ForestTrustBinaryData {
730         uint32_t length;/* [range(0,131072)] */
731         uint8_t *data;/* [unique,size_is(length)] */
732 };
733
734 struct lsa_ForestTrustDomainInfo {
735         struct dom_sid2 *domain_sid;/* [unique] */
736         struct lsa_StringLarge dns_domain_name;
737         struct lsa_StringLarge netbios_domain_name;
738 };
739
740 union lsa_ForestTrustData {
741         struct lsa_StringLarge top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
742         struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
743         struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
744         struct lsa_ForestTrustBinaryData data;/* [default] */
745 }/* [switch_type(uint32)] */;
746
747 enum lsa_ForestTrustRecordType
748 #ifndef USE_UINT_ENUMS
749  {
750         LSA_FOREST_TRUST_TOP_LEVEL_NAME=(int)(0),
751         LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=(int)(1),
752         LSA_FOREST_TRUST_DOMAIN_INFO=(int)(2),
753         LSA_FOREST_TRUST_RECORD_TYPE_LAST=(int)(3)
754 }
755 #else
756  { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
757 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
758 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
759 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
760 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
761 #endif
762 ;
763
764 struct lsa_ForestTrustRecord {
765         uint32_t flags;
766         enum lsa_ForestTrustRecordType type;
767         uint64_t time;
768         union lsa_ForestTrustData forest_trust_data;/* [switch_is(type)] */
769 };
770
771 struct lsa_ForestTrustInformation {
772         uint32_t count;/* [range(0,4000)] */
773         struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
774 }/* [public] */;
775
776 enum lsa_ForestTrustCollisionRecordType
777 #ifndef USE_UINT_ENUMS
778  {
779         LSA_FOREST_TRUST_COLLISION_TDO=(int)(0),
780         LSA_FOREST_TRUST_COLLISION_XREF=(int)(1),
781         LSA_FOREST_TRUST_COLLISION_OTHER=(int)(2)
782 }
783 #else
784  { __donnot_use_enum_lsa_ForestTrustCollisionRecordType=0x7FFFFFFF}
785 #define LSA_FOREST_TRUST_COLLISION_TDO ( 0 )
786 #define LSA_FOREST_TRUST_COLLISION_XREF ( 1 )
787 #define LSA_FOREST_TRUST_COLLISION_OTHER ( 2 )
788 #endif
789 ;
790
791 /* bitmap lsa_ForestTrustCollisionTDOFlags */
792 #define LSA_TLN_DISABLED_NEW ( 0x00000001 )
793 #define LSA_TLN_DISABLED_ADMIN ( 0x00000002 )
794 #define LSA_TLN_DISABLED_CONFLICT ( 0x00000004 )
795
796 /* bitmap lsa_ForestTrustCollisionXrefFlags */
797 #define LSA_SID_DISABLED_ADMIN ( 0x00000001 )
798 #define LSA_SID_DISABLED_CONFLICT ( 0x00000002 )
799 #define LSA_NB_DISABLED_ADMIN ( 0x00000004 )
800 #define LSA_NB_DISABLED_CONFLICT ( 0x00000008 )
801
802 union lsa_ForestTrustCollisionFlags {
803         uint32_t flags;/* [case(LSA_FOREST_TRUST_COLLISION_TDO)] */
804 }/* [nodiscriminant] */;
805
806 struct lsa_ForestTrustCollisionRecord {
807         uint32_t index;
808         enum lsa_ForestTrustCollisionRecordType type;
809         union lsa_ForestTrustCollisionFlags flags;/* [switch_is(type)] */
810         struct lsa_String name;
811 };
812
813 struct lsa_ForestTrustCollisionInfo {
814         uint32_t count;
815         struct lsa_ForestTrustCollisionRecord **entries;/* [unique,size_is(count)] */
816 };
817
818
819 struct lsa_Close {
820         struct {
821                 struct policy_handle *handle;/* [ref] */
822         } in;
823
824         struct {
825                 struct policy_handle *handle;/* [ref] */
826                 NTSTATUS result;
827         } out;
828
829 };
830
831
832 struct lsa_Delete {
833         struct {
834                 struct policy_handle *handle;/* [ref] */
835         } in;
836
837         struct {
838                 NTSTATUS result;
839         } out;
840
841 };
842
843
844 struct lsa_EnumPrivs {
845         struct {
846                 struct policy_handle *handle;/* [ref] */
847                 uint32_t max_count;
848                 uint32_t *resume_handle;/* [ref] */
849         } in;
850
851         struct {
852                 struct lsa_PrivArray *privs;/* [ref] */
853                 uint32_t *resume_handle;/* [ref] */
854                 NTSTATUS result;
855         } out;
856
857 };
858
859
860 struct lsa_QuerySecurity {
861         struct {
862                 struct policy_handle *handle;/* [ref] */
863                 uint32_t sec_info;
864         } in;
865
866         struct {
867                 struct sec_desc_buf **sdbuf;/* [ref] */
868                 NTSTATUS result;
869         } out;
870
871 };
872
873
874 struct lsa_SetSecObj {
875         struct {
876                 struct policy_handle *handle;/* [ref] */
877                 uint32_t sec_info;
878                 struct sec_desc_buf *sdbuf;/* [ref] */
879         } in;
880
881         struct {
882                 NTSTATUS result;
883         } out;
884
885 };
886
887
888 struct lsa_ChangePassword {
889         struct {
890                 NTSTATUS result;
891         } out;
892
893 };
894
895
896 struct lsa_OpenPolicy {
897         struct {
898                 uint16_t *system_name;/* [unique] */
899                 struct lsa_ObjectAttribute *attr;/* [ref] */
900                 uint32_t access_mask;
901         } in;
902
903         struct {
904                 struct policy_handle *handle;/* [ref] */
905                 NTSTATUS result;
906         } out;
907
908 };
909
910
911 struct lsa_QueryInfoPolicy {
912         struct {
913                 struct policy_handle *handle;/* [ref] */
914                 enum lsa_PolicyInfo level;
915         } in;
916
917         struct {
918                 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
919                 NTSTATUS result;
920         } out;
921
922 };
923
924
925 struct lsa_SetInfoPolicy {
926         struct {
927                 struct policy_handle *handle;/* [ref] */
928                 enum lsa_PolicyInfo level;
929                 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
930         } in;
931
932         struct {
933                 NTSTATUS result;
934         } out;
935
936 };
937
938
939 struct lsa_ClearAuditLog {
940         struct {
941                 NTSTATUS result;
942         } out;
943
944 };
945
946
947 struct lsa_CreateAccount {
948         struct {
949                 struct policy_handle *handle;/* [ref] */
950                 struct dom_sid2 *sid;/* [ref] */
951                 uint32_t access_mask;
952         } in;
953
954         struct {
955                 struct policy_handle *acct_handle;/* [ref] */
956                 NTSTATUS result;
957         } out;
958
959 };
960
961
962 struct lsa_EnumAccounts {
963         struct {
964                 struct policy_handle *handle;/* [ref] */
965                 uint32_t num_entries;/* [range(0,8192)] */
966                 uint32_t *resume_handle;/* [ref] */
967         } in;
968
969         struct {
970                 struct lsa_SidArray *sids;/* [ref] */
971                 uint32_t *resume_handle;/* [ref] */
972                 NTSTATUS result;
973         } out;
974
975 };
976
977
978 struct lsa_CreateTrustedDomain {
979         struct {
980                 struct policy_handle *policy_handle;/* [ref] */
981                 struct lsa_DomainInfo *info;/* [ref] */
982                 uint32_t access_mask;
983         } in;
984
985         struct {
986                 struct policy_handle *trustdom_handle;/* [ref] */
987                 NTSTATUS result;
988         } out;
989
990 };
991
992
993 struct lsa_EnumTrustDom {
994         struct {
995                 struct policy_handle *handle;/* [ref] */
996                 uint32_t max_size;
997                 uint32_t *resume_handle;/* [ref] */
998         } in;
999
1000         struct {
1001                 struct lsa_DomainList *domains;/* [ref] */
1002                 uint32_t *resume_handle;/* [ref] */
1003                 NTSTATUS result;
1004         } out;
1005
1006 };
1007
1008
1009 struct lsa_LookupNames {
1010         struct {
1011                 struct policy_handle *handle;/* [ref] */
1012                 uint32_t num_names;/* [range(0,1000)] */
1013                 struct lsa_String *names;/* [size_is(num_names)] */
1014                 enum lsa_LookupNamesLevel level;
1015                 struct lsa_TransSidArray *sids;/* [ref] */
1016                 uint32_t *count;/* [ref] */
1017         } in;
1018
1019         struct {
1020                 struct lsa_RefDomainList **domains;/* [ref] */
1021                 struct lsa_TransSidArray *sids;/* [ref] */
1022                 uint32_t *count;/* [ref] */
1023                 NTSTATUS result;
1024         } out;
1025
1026 };
1027
1028
1029 struct lsa_LookupSids {
1030         struct {
1031                 struct policy_handle *handle;/* [ref] */
1032                 struct lsa_SidArray *sids;/* [ref] */
1033                 enum lsa_LookupNamesLevel level;
1034                 struct lsa_TransNameArray *names;/* [ref] */
1035                 uint32_t *count;/* [ref] */
1036         } in;
1037
1038         struct {
1039                 struct lsa_RefDomainList **domains;/* [ref] */
1040                 struct lsa_TransNameArray *names;/* [ref] */
1041                 uint32_t *count;/* [ref] */
1042                 NTSTATUS result;
1043         } out;
1044
1045 };
1046
1047
1048 struct lsa_CreateSecret {
1049         struct {
1050                 struct policy_handle *handle;/* [ref] */
1051                 struct lsa_String name;
1052                 uint32_t access_mask;
1053         } in;
1054
1055         struct {
1056                 struct policy_handle *sec_handle;/* [ref] */
1057                 NTSTATUS result;
1058         } out;
1059
1060 };
1061
1062
1063 struct lsa_OpenAccount {
1064         struct {
1065                 struct policy_handle *handle;/* [ref] */
1066                 struct dom_sid2 *sid;/* [ref] */
1067                 uint32_t access_mask;
1068         } in;
1069
1070         struct {
1071                 struct policy_handle *acct_handle;/* [ref] */
1072                 NTSTATUS result;
1073         } out;
1074
1075 };
1076
1077
1078 struct lsa_EnumPrivsAccount {
1079         struct {
1080                 struct policy_handle *handle;/* [ref] */
1081         } in;
1082
1083         struct {
1084                 struct lsa_PrivilegeSet **privs;/* [ref] */
1085                 NTSTATUS result;
1086         } out;
1087
1088 };
1089
1090
1091 struct lsa_AddPrivilegesToAccount {
1092         struct {
1093                 struct policy_handle *handle;/* [ref] */
1094                 struct lsa_PrivilegeSet *privs;/* [ref] */
1095         } in;
1096
1097         struct {
1098                 NTSTATUS result;
1099         } out;
1100
1101 };
1102
1103
1104 struct lsa_RemovePrivilegesFromAccount {
1105         struct {
1106                 struct policy_handle *handle;/* [ref] */
1107                 uint8_t remove_all;
1108                 struct lsa_PrivilegeSet *privs;/* [unique] */
1109         } in;
1110
1111         struct {
1112                 NTSTATUS result;
1113         } out;
1114
1115 };
1116
1117
1118 struct lsa_GetQuotasForAccount {
1119         struct {
1120                 NTSTATUS result;
1121         } out;
1122
1123 };
1124
1125
1126 struct lsa_SetQuotasForAccount {
1127         struct {
1128                 NTSTATUS result;
1129         } out;
1130
1131 };
1132
1133
1134 struct lsa_GetSystemAccessAccount {
1135         struct {
1136                 struct policy_handle *handle;/* [ref] */
1137         } in;
1138
1139         struct {
1140                 uint32_t *access_mask;/* [ref] */
1141                 NTSTATUS result;
1142         } out;
1143
1144 };
1145
1146
1147 struct lsa_SetSystemAccessAccount {
1148         struct {
1149                 struct policy_handle *handle;/* [ref] */
1150                 uint32_t access_mask;
1151         } in;
1152
1153         struct {
1154                 NTSTATUS result;
1155         } out;
1156
1157 };
1158
1159
1160 struct lsa_OpenTrustedDomain {
1161         struct {
1162                 struct policy_handle *handle;/* [ref] */
1163                 struct dom_sid2 *sid;/* [ref] */
1164                 uint32_t access_mask;
1165         } in;
1166
1167         struct {
1168                 struct policy_handle *trustdom_handle;/* [ref] */
1169                 NTSTATUS result;
1170         } out;
1171
1172 };
1173
1174
1175 struct lsa_QueryTrustedDomainInfo {
1176         struct {
1177                 struct policy_handle *trustdom_handle;/* [ref] */
1178                 enum lsa_TrustDomInfoEnum level;
1179         } in;
1180
1181         struct {
1182                 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1183                 NTSTATUS result;
1184         } out;
1185
1186 };
1187
1188
1189 struct lsa_SetInformationTrustedDomain {
1190         struct {
1191                 struct policy_handle *trustdom_handle;/* [ref] */
1192                 enum lsa_TrustDomInfoEnum level;
1193                 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1194         } in;
1195
1196         struct {
1197                 NTSTATUS result;
1198         } out;
1199
1200 };
1201
1202
1203 struct lsa_OpenSecret {
1204         struct {
1205                 struct policy_handle *handle;/* [ref] */
1206                 struct lsa_String name;
1207                 uint32_t access_mask;
1208         } in;
1209
1210         struct {
1211                 struct policy_handle *sec_handle;/* [ref] */
1212                 NTSTATUS result;
1213         } out;
1214
1215 };
1216
1217
1218 struct lsa_SetSecret {
1219         struct {
1220                 struct policy_handle *sec_handle;/* [ref] */
1221                 struct lsa_DATA_BUF *new_val;/* [unique] */
1222                 struct lsa_DATA_BUF *old_val;/* [unique] */
1223         } in;
1224
1225         struct {
1226                 NTSTATUS result;
1227         } out;
1228
1229 };
1230
1231
1232 struct lsa_QuerySecret {
1233         struct {
1234                 struct policy_handle *sec_handle;/* [ref] */
1235                 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1236                 NTTIME *new_mtime;/* [unique] */
1237                 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1238                 NTTIME *old_mtime;/* [unique] */
1239         } in;
1240
1241         struct {
1242                 struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
1243                 NTTIME *new_mtime;/* [unique] */
1244                 struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
1245                 NTTIME *old_mtime;/* [unique] */
1246                 NTSTATUS result;
1247         } out;
1248
1249 };
1250
1251
1252 struct lsa_LookupPrivValue {
1253         struct {
1254                 struct policy_handle *handle;/* [ref] */
1255                 struct lsa_String *name;/* [ref] */
1256         } in;
1257
1258         struct {
1259                 struct lsa_LUID *luid;/* [ref] */
1260                 NTSTATUS result;
1261         } out;
1262
1263 };
1264
1265
1266 struct lsa_LookupPrivName {
1267         struct {
1268                 struct policy_handle *handle;/* [ref] */
1269                 struct lsa_LUID *luid;/* [ref] */
1270         } in;
1271
1272         struct {
1273                 struct lsa_StringLarge **name;/* [ref] */
1274                 NTSTATUS result;
1275         } out;
1276
1277 };
1278
1279
1280 struct lsa_LookupPrivDisplayName {
1281         struct {
1282                 struct policy_handle *handle;/* [ref] */
1283                 struct lsa_String *name;/* [ref] */
1284                 uint16_t language_id;
1285                 uint16_t language_id_sys;
1286         } in;
1287
1288         struct {
1289                 struct lsa_StringLarge **disp_name;/* [ref] */
1290                 uint16_t *returned_language_id;/* [ref] */
1291                 NTSTATUS result;
1292         } out;
1293
1294 };
1295
1296
1297 struct lsa_DeleteObject {
1298         struct {
1299                 struct policy_handle *handle;/* [ref] */
1300         } in;
1301
1302         struct {
1303                 struct policy_handle *handle;/* [ref] */
1304                 NTSTATUS result;
1305         } out;
1306
1307 };
1308
1309
1310 struct lsa_EnumAccountsWithUserRight {
1311         struct {
1312                 struct policy_handle *handle;/* [ref] */
1313                 struct lsa_String *name;/* [unique] */
1314         } in;
1315
1316         struct {
1317                 struct lsa_SidArray *sids;/* [ref] */
1318                 NTSTATUS result;
1319         } out;
1320
1321 };
1322
1323
1324 struct lsa_EnumAccountRights {
1325         struct {
1326                 struct policy_handle *handle;/* [ref] */
1327                 struct dom_sid2 *sid;/* [ref] */
1328         } in;
1329
1330         struct {
1331                 struct lsa_RightSet *rights;/* [ref] */
1332                 NTSTATUS result;
1333         } out;
1334
1335 };
1336
1337
1338 struct lsa_AddAccountRights {
1339         struct {
1340                 struct policy_handle *handle;/* [ref] */
1341                 struct dom_sid2 *sid;/* [ref] */
1342                 struct lsa_RightSet *rights;/* [ref] */
1343         } in;
1344
1345         struct {
1346                 NTSTATUS result;
1347         } out;
1348
1349 };
1350
1351
1352 struct lsa_RemoveAccountRights {
1353         struct {
1354                 struct policy_handle *handle;/* [ref] */
1355                 struct dom_sid2 *sid;/* [ref] */
1356                 uint8_t remove_all;
1357                 struct lsa_RightSet *rights;/* [ref] */
1358         } in;
1359
1360         struct {
1361                 NTSTATUS result;
1362         } out;
1363
1364 };
1365
1366
1367 struct lsa_QueryTrustedDomainInfoBySid {
1368         struct {
1369                 struct policy_handle *handle;/* [ref] */
1370                 struct dom_sid2 *dom_sid;/* [ref] */
1371                 enum lsa_TrustDomInfoEnum level;
1372         } in;
1373
1374         struct {
1375                 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1376                 NTSTATUS result;
1377         } out;
1378
1379 };
1380
1381
1382 struct lsa_SetTrustedDomainInfo {
1383         struct {
1384                 struct policy_handle *handle;/* [ref] */
1385                 struct dom_sid2 *dom_sid;/* [ref] */
1386                 enum lsa_TrustDomInfoEnum level;
1387                 union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
1388         } in;
1389
1390         struct {
1391                 NTSTATUS result;
1392         } out;
1393
1394 };
1395
1396
1397 struct lsa_DeleteTrustedDomain {
1398         struct {
1399                 struct policy_handle *handle;/* [ref] */
1400                 struct dom_sid2 *dom_sid;/* [ref] */
1401         } in;
1402
1403         struct {
1404                 NTSTATUS result;
1405         } out;
1406
1407 };
1408
1409
1410 struct lsa_StorePrivateData {
1411         struct {
1412                 struct policy_handle *handle;/* [ref] */
1413                 struct lsa_String *name;/* [ref] */
1414                 struct lsa_DATA_BUF *val;/* [unique] */
1415         } in;
1416
1417         struct {
1418                 NTSTATUS result;
1419         } out;
1420
1421 };
1422
1423
1424 struct lsa_RetrievePrivateData {
1425         struct {
1426                 struct policy_handle *handle;/* [ref] */
1427                 struct lsa_String *name;/* [ref] */
1428                 struct lsa_DATA_BUF **val;/* [ref] */
1429         } in;
1430
1431         struct {
1432                 struct lsa_DATA_BUF **val;/* [ref] */
1433                 NTSTATUS result;
1434         } out;
1435
1436 };
1437
1438
1439 struct lsa_OpenPolicy2 {
1440         struct {
1441                 const char *system_name;/* [unique,charset(UTF16)] */
1442                 struct lsa_ObjectAttribute *attr;/* [ref] */
1443                 uint32_t access_mask;
1444         } in;
1445
1446         struct {
1447                 struct policy_handle *handle;/* [ref] */
1448                 NTSTATUS result;
1449         } out;
1450
1451 };
1452
1453
1454 struct lsa_GetUserName {
1455         struct {
1456                 const char *system_name;/* [unique,charset(UTF16)] */
1457                 struct lsa_String **account_name;/* [ref] */
1458                 struct lsa_String **authority_name;/* [unique] */
1459         } in;
1460
1461         struct {
1462                 struct lsa_String **account_name;/* [ref] */
1463                 struct lsa_String **authority_name;/* [unique] */
1464                 NTSTATUS result;
1465         } out;
1466
1467 };
1468
1469
1470 struct lsa_QueryInfoPolicy2 {
1471         struct {
1472                 struct policy_handle *handle;/* [ref] */
1473                 enum lsa_PolicyInfo level;
1474         } in;
1475
1476         struct {
1477                 union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
1478                 NTSTATUS result;
1479         } out;
1480
1481 };
1482
1483
1484 struct lsa_SetInfoPolicy2 {
1485         struct {
1486                 struct policy_handle *handle;/* [ref] */
1487                 enum lsa_PolicyInfo level;
1488                 union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
1489         } in;
1490
1491         struct {
1492                 NTSTATUS result;
1493         } out;
1494
1495 };
1496
1497
1498 struct lsa_QueryTrustedDomainInfoByName {
1499         struct {
1500                 struct policy_handle *handle;/* [ref] */
1501                 struct lsa_String *trusted_domain;/* [ref] */
1502                 enum lsa_TrustDomInfoEnum level;
1503         } in;
1504
1505         struct {
1506                 union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
1507                 NTSTATUS result;
1508         } out;
1509
1510 };
1511
1512
1513 struct lsa_SetTrustedDomainInfoByName {
1514         struct {
1515                 struct policy_handle *handle;/* [ref] */
1516                 struct lsa_String trusted_domain;
1517                 enum lsa_TrustDomInfoEnum level;
1518                 union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
1519         } in;
1520
1521         struct {
1522                 NTSTATUS result;
1523         } out;
1524
1525 };
1526
1527
1528 struct lsa_EnumTrustedDomainsEx {
1529         struct {
1530                 struct policy_handle *handle;/* [ref] */
1531                 uint32_t max_size;
1532                 uint32_t *resume_handle;/* [ref] */
1533         } in;
1534
1535         struct {
1536                 struct lsa_DomainListEx *domains;/* [ref] */
1537                 uint32_t *resume_handle;/* [ref] */
1538                 NTSTATUS result;
1539         } out;
1540
1541 };
1542
1543
1544 struct lsa_CreateTrustedDomainEx {
1545         struct {
1546                 struct policy_handle *policy_handle;/* [ref] */
1547                 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1548                 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1549                 uint32_t access_mask;
1550         } in;
1551
1552         struct {
1553                 struct policy_handle *trustdom_handle;/* [ref] */
1554                 NTSTATUS result;
1555         } out;
1556
1557 };
1558
1559
1560 struct lsa_CloseTrustedDomainEx {
1561         struct {
1562                 struct policy_handle *handle;/* [ref] */
1563         } in;
1564
1565         struct {
1566                 struct policy_handle *handle;/* [ref] */
1567                 NTSTATUS result;
1568         } out;
1569
1570 };
1571
1572
1573 struct lsa_QueryDomainInformationPolicy {
1574         struct {
1575                 struct policy_handle *handle;/* [ref] */
1576                 uint16_t level;
1577         } in;
1578
1579         struct {
1580                 union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
1581                 NTSTATUS result;
1582         } out;
1583
1584 };
1585
1586
1587 struct lsa_SetDomainInformationPolicy {
1588         struct {
1589                 struct policy_handle *handle;/* [ref] */
1590                 uint16_t level;
1591                 union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
1592         } in;
1593
1594         struct {
1595                 NTSTATUS result;
1596         } out;
1597
1598 };
1599
1600
1601 struct lsa_OpenTrustedDomainByName {
1602         struct {
1603                 struct policy_handle *handle;/* [ref] */
1604                 struct lsa_String name;
1605                 uint32_t access_mask;
1606         } in;
1607
1608         struct {
1609                 struct policy_handle *trustdom_handle;/* [ref] */
1610                 NTSTATUS result;
1611         } out;
1612
1613 };
1614
1615
1616 struct lsa_TestCall {
1617         struct {
1618                 NTSTATUS result;
1619         } out;
1620
1621 };
1622
1623
1624 struct lsa_LookupSids2 {
1625         struct {
1626                 struct policy_handle *handle;/* [ref] */
1627                 struct lsa_SidArray *sids;/* [ref] */
1628                 enum lsa_LookupNamesLevel level;
1629                 enum lsa_LookupOptions lookup_options;
1630                 enum lsa_ClientRevision client_revision;
1631                 struct lsa_TransNameArray2 *names;/* [ref] */
1632                 uint32_t *count;/* [ref] */
1633         } in;
1634
1635         struct {
1636                 struct lsa_RefDomainList **domains;/* [ref] */
1637                 struct lsa_TransNameArray2 *names;/* [ref] */
1638                 uint32_t *count;/* [ref] */
1639                 NTSTATUS result;
1640         } out;
1641
1642 };
1643
1644
1645 struct lsa_LookupNames2 {
1646         struct {
1647                 struct policy_handle *handle;/* [ref] */
1648                 uint32_t num_names;/* [range(0,1000)] */
1649                 struct lsa_String *names;/* [size_is(num_names)] */
1650                 enum lsa_LookupNamesLevel level;
1651                 enum lsa_LookupOptions lookup_options;
1652                 enum lsa_ClientRevision client_revision;
1653                 struct lsa_TransSidArray2 *sids;/* [ref] */
1654                 uint32_t *count;/* [ref] */
1655         } in;
1656
1657         struct {
1658                 struct lsa_RefDomainList **domains;/* [ref] */
1659                 struct lsa_TransSidArray2 *sids;/* [ref] */
1660                 uint32_t *count;/* [ref] */
1661                 NTSTATUS result;
1662         } out;
1663
1664 };
1665
1666
1667 struct lsa_CreateTrustedDomainEx2 {
1668         struct {
1669                 struct policy_handle *policy_handle;/* [ref] */
1670                 struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
1671                 struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
1672                 uint32_t access_mask;
1673         } in;
1674
1675         struct {
1676                 struct policy_handle *trustdom_handle;/* [ref] */
1677                 NTSTATUS result;
1678         } out;
1679
1680 };
1681
1682
1683 struct lsa_CREDRWRITE {
1684         struct {
1685                 NTSTATUS result;
1686         } out;
1687
1688 };
1689
1690
1691 struct lsa_CREDRREAD {
1692         struct {
1693                 NTSTATUS result;
1694         } out;
1695
1696 };
1697
1698
1699 struct lsa_CREDRENUMERATE {
1700         struct {
1701                 NTSTATUS result;
1702         } out;
1703
1704 };
1705
1706
1707 struct lsa_CREDRWRITEDOMAINCREDENTIALS {
1708         struct {
1709                 NTSTATUS result;
1710         } out;
1711
1712 };
1713
1714
1715 struct lsa_CREDRREADDOMAINCREDENTIALS {
1716         struct {
1717                 NTSTATUS result;
1718         } out;
1719
1720 };
1721
1722
1723 struct lsa_CREDRDELETE {
1724         struct {
1725                 NTSTATUS result;
1726         } out;
1727
1728 };
1729
1730
1731 struct lsa_CREDRGETTARGETINFO {
1732         struct {
1733                 NTSTATUS result;
1734         } out;
1735
1736 };
1737
1738
1739 struct lsa_CREDRPROFILELOADED {
1740         struct {
1741                 NTSTATUS result;
1742         } out;
1743
1744 };
1745
1746
1747 struct lsa_LookupNames3 {
1748         struct {
1749                 struct policy_handle *handle;/* [ref] */
1750                 uint32_t num_names;/* [range(0,1000)] */
1751                 struct lsa_String *names;/* [size_is(num_names)] */
1752                 enum lsa_LookupNamesLevel level;
1753                 enum lsa_LookupOptions lookup_options;
1754                 enum lsa_ClientRevision client_revision;
1755                 struct lsa_TransSidArray3 *sids;/* [ref] */
1756                 uint32_t *count;/* [ref] */
1757         } in;
1758
1759         struct {
1760                 struct lsa_RefDomainList **domains;/* [ref] */
1761                 struct lsa_TransSidArray3 *sids;/* [ref] */
1762                 uint32_t *count;/* [ref] */
1763                 NTSTATUS result;
1764         } out;
1765
1766 };
1767
1768
1769 struct lsa_CREDRGETSESSIONTYPES {
1770         struct {
1771                 NTSTATUS result;
1772         } out;
1773
1774 };
1775
1776
1777 struct lsa_LSARREGISTERAUDITEVENT {
1778         struct {
1779                 NTSTATUS result;
1780         } out;
1781
1782 };
1783
1784
1785 struct lsa_LSARGENAUDITEVENT {
1786         struct {
1787                 NTSTATUS result;
1788         } out;
1789
1790 };
1791
1792
1793 struct lsa_LSARUNREGISTERAUDITEVENT {
1794         struct {
1795                 NTSTATUS result;
1796         } out;
1797
1798 };
1799
1800
1801 struct lsa_lsaRQueryForestTrustInformation {
1802         struct {
1803                 struct policy_handle *handle;/* [ref] */
1804                 struct lsa_String *trusted_domain_name;/* [ref] */
1805                 uint16_t unknown;
1806         } in;
1807
1808         struct {
1809                 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1810                 NTSTATUS result;
1811         } out;
1812
1813 };
1814
1815
1816 struct lsa_lsaRSetForestTrustInformation {
1817         struct {
1818                 struct policy_handle *handle;/* [ref] */
1819                 struct lsa_StringLarge *trusted_domain_name;/* [ref] */
1820                 uint16_t highest_record_type;
1821                 struct lsa_ForestTrustInformation *forest_trust_info;/* [ref] */
1822                 uint8_t check_only;
1823         } in;
1824
1825         struct {
1826                 struct lsa_ForestTrustCollisionInfo **collision_info;/* [ref] */
1827                 NTSTATUS result;
1828         } out;
1829
1830 };
1831
1832
1833 struct lsa_CREDRRENAME {
1834         struct {
1835                 NTSTATUS result;
1836         } out;
1837
1838 };
1839
1840
1841 struct lsa_LookupSids3 {
1842         struct {
1843                 struct lsa_SidArray *sids;/* [ref] */
1844                 enum lsa_LookupNamesLevel level;
1845                 enum lsa_LookupOptions lookup_options;
1846                 enum lsa_ClientRevision client_revision;
1847                 struct lsa_TransNameArray2 *names;/* [ref] */
1848                 uint32_t *count;/* [ref] */
1849         } in;
1850
1851         struct {
1852                 struct lsa_RefDomainList **domains;/* [ref] */
1853                 struct lsa_TransNameArray2 *names;/* [ref] */
1854                 uint32_t *count;/* [ref] */
1855                 NTSTATUS result;
1856         } out;
1857
1858 };
1859
1860
1861 struct lsa_LookupNames4 {
1862         struct {
1863                 uint32_t num_names;/* [range(0,1000)] */
1864                 struct lsa_String *names;/* [size_is(num_names)] */
1865                 enum lsa_LookupNamesLevel level;
1866                 enum lsa_LookupOptions lookup_options;
1867                 enum lsa_ClientRevision client_revision;
1868                 struct lsa_TransSidArray3 *sids;/* [ref] */
1869                 uint32_t *count;/* [ref] */
1870         } in;
1871
1872         struct {
1873                 struct lsa_RefDomainList **domains;/* [ref] */
1874                 struct lsa_TransSidArray3 *sids;/* [ref] */
1875                 uint32_t *count;/* [ref] */
1876                 NTSTATUS result;
1877         } out;
1878
1879 };
1880
1881
1882 struct lsa_LSAROPENPOLICYSCE {
1883         struct {
1884                 NTSTATUS result;
1885         } out;
1886
1887 };
1888
1889
1890 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
1891         struct {
1892                 NTSTATUS result;
1893         } out;
1894
1895 };
1896
1897
1898 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
1899         struct {
1900                 NTSTATUS result;
1901         } out;
1902
1903 };
1904
1905
1906 struct lsa_LSARADTREPORTSECURITYEVENT {
1907         struct {
1908                 NTSTATUS result;
1909         } out;
1910
1911 };
1912
1913 #endif /* _HEADER_lsarpc */