r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the
[gd/samba/.git] / source / librpc / gen_ndr / netlogon.h
1 /* header auto-generated by pidl */
2
3 #include <stdint.h>
4
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/samr.h"
7 #include "librpc/gen_ndr/security.h"
8 #ifndef _HEADER_netlogon
9 #define _HEADER_netlogon
10
11 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED       ( 0x002 )
12 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT       ( 0x020 )
13 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT  ( 0x800 )
14 #define NETLOGON_NEG_ARCFOUR    ( 0x00000004 )
15 #define NETLOGON_NEG_128BIT     ( 0x00004000 )
16 #define NETLOGON_NEG_SCHANNEL   ( 0x40000000 )
17 struct netr_UasInfo {
18         const char *account_name;/* [unique,charset(UTF16)] */
19         uint32_t priv;
20         uint32_t auth_flags;
21         uint32_t logon_count;
22         uint32_t bad_pw_count;
23         time_t last_logon;
24         time_t last_logoff;
25         time_t logoff_time;
26         time_t kickoff_time;
27         uint32_t password_age;
28         time_t pw_can_change;
29         time_t pw_must_change;
30         const char *computer;/* [unique,charset(UTF16)] */
31         const char *domain;/* [unique,charset(UTF16)] */
32         const char *script_path;/* [unique,charset(UTF16)] */
33         uint32_t unknown;
34 };
35
36 struct netr_UasLogoffInfo {
37         uint32_t duration;
38         uint16_t logon_count;
39 };
40
41 struct netr_AcctLockStr {
42         uint16_t size;
43         uint16_t length;
44         uint16_t *bindata;/* [unique,length_is(length/2),size_is(size/2)] */
45 };
46
47 struct netr_IdentityInfo {
48         struct lsa_String domain_name;
49         uint32_t parameter_control;
50         uint32_t logon_id_low;
51         uint32_t logon_id_high;
52         struct lsa_String account_name;
53         struct lsa_String workstation;
54 };
55
56 struct netr_PasswordInfo {
57         struct netr_IdentityInfo identity_info;
58         struct samr_Password lmpassword;
59         struct samr_Password ntpassword;
60 };
61
62 struct netr_ChallengeResponse {
63         uint16_t length;
64         uint16_t size;/* [value(length)] */
65         uint8_t *data;/* [unique,length_is(length),size_is(length)] */
66 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
67
68 struct netr_NetworkInfo {
69         struct netr_IdentityInfo identity_info;
70         uint8_t challenge[8];
71         struct netr_ChallengeResponse nt;
72         struct netr_ChallengeResponse lm;
73 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
74
75 union netr_LogonLevel {
76         struct netr_PasswordInfo *password;/* [unique,case] */
77         struct netr_NetworkInfo *network;/* [unique,case(2)] */
78 }/* [public,switch_type(uint16)] */;
79
80 struct netr_GroupMembership {
81         uint32_t rid;
82         uint32_t attributes;
83 }/* [public] */;
84
85 struct netr_UserSessionKey {
86         uint8_t key[16];
87 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
88
89 struct netr_LMSessionKey {
90         uint8_t key[8];
91 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
92
93 /* bitmap netr_UserFlags */
94 #define NETLOGON_GUEST ( 0x0001 )
95 #define NETLOGON_NOENCRYPTION ( 0x0002 )
96 #define NETLOGON_CACHED_ACCOUNT ( 0x0004 )
97 #define NETLOGON_USED_LM_PASSWORD ( 0x0008 )
98 #define NETLOGON_EXTRA_SIDS ( 0x0020 )
99 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x0040 )
100 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x0080 )
101 #define NETLOGON_NTLMV2_ENABLED ( 0x0100 )
102 #define NETLOGON_RESOURCE_GROUPS ( 0x0200 )
103 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x0400 )
104
105 ;
106
107 struct netr_SamBaseInfo {
108         NTTIME last_logon;
109         NTTIME last_logoff;
110         NTTIME acct_expiry;
111         NTTIME last_password_change;
112         NTTIME allow_password_change;
113         NTTIME force_password_change;
114         struct lsa_String account_name;
115         struct lsa_String full_name;
116         struct lsa_String logon_script;
117         struct lsa_String profile_path;
118         struct lsa_String home_directory;
119         struct lsa_String home_drive;
120         uint16_t logon_count;
121         uint16_t bad_password_count;
122         uint32_t rid;
123         uint32_t primary_gid;
124         struct samr_RidWithAttributeArray groups;
125         uint32_t user_flags;
126         struct netr_UserSessionKey key;
127         struct lsa_StringLarge logon_server;
128         struct lsa_StringLarge domain;
129         struct dom_sid2 *domain_sid;/* [unique] */
130         struct netr_LMSessionKey LMSessKey;
131         uint32_t acct_flags;
132         uint32_t unknown[7];
133 };
134
135 struct netr_SamInfo2 {
136         struct netr_SamBaseInfo base;
137 };
138
139 struct netr_SidAttr {
140         struct dom_sid2 *sid;/* [unique] */
141         uint32_t attribute;
142 };
143
144 struct netr_SamInfo3 {
145         struct netr_SamBaseInfo base;
146         uint32_t sidcount;
147         struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
148 }/* [public] */;
149
150 struct netr_SamInfo6 {
151         struct netr_SamBaseInfo base;
152         uint32_t sidcount;
153         struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
154         struct lsa_String forest;
155         struct lsa_String principle;
156         uint32_t unknown4[20];
157 };
158
159 struct netr_PacInfo {
160         uint32_t pac_size;
161         uint8_t *pac;/* [unique,size_is(pac_size)] */
162         struct lsa_String logon_domain;
163         struct lsa_String logon_server;
164         struct lsa_String principal_name;
165         uint32_t auth_size;
166         uint8_t *auth;/* [unique,size_is(auth_size)] */
167         struct netr_UserSessionKey user_session_key;
168         uint32_t expansionroom[10];
169         struct lsa_String unknown1;
170         struct lsa_String unknown2;
171         struct lsa_String unknown3;
172         struct lsa_String unknown4;
173 };
174
175 union netr_Validation {
176         struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
177         struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
178         struct netr_PacInfo *pac;/* [unique,case(4)] */
179         struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
180 }/* [public,switch_type(uint16)] */;
181
182 struct netr_Credential {
183         uint8_t data[8];
184 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
185
186 struct netr_Authenticator {
187         struct netr_Credential cred;
188         time_t timestamp;
189 }/* [public] */;
190
191 struct netr_DELTA_DELETE_USER {
192         const char *account_name;/* [unique,charset(UTF16)] */
193         struct lsa_String unknown1;
194         struct lsa_String unknown2;
195         struct lsa_String unknown3;
196         struct lsa_String unknown4;
197         uint32_t unknown5;
198         uint32_t unknown6;
199         uint32_t unknown7;
200         uint32_t unknown8;
201 };
202
203 struct netr_USER_KEY16 {
204         uint16_t length;
205         uint16_t size;/* [value(length)] */
206         uint32_t flags;
207         struct samr_Password pwd;
208 };
209
210 struct netr_PasswordHistory {
211         uint16_t nt_length;
212         uint16_t nt_size;
213         uint32_t nt_flags;
214         uint16_t lm_length;
215         uint16_t lm_size;
216         uint32_t lm_flags;
217         uint8_t *nt_history;
218         uint8_t *lm_history;
219 };
220
221 struct netr_USER_KEYS2 {
222         struct netr_USER_KEY16 lmpassword;
223         struct netr_USER_KEY16 ntpassword;
224         struct netr_PasswordHistory lmhistory;
225 };
226
227 struct netr_USER_KEY_UNION {
228         struct netr_USER_KEYS2 keys2;
229 };
230
231 struct netr_USER_KEYS {
232         uint32_t version;
233         struct netr_USER_KEY_UNION keys;
234 }/* [public] */;
235
236 struct netr_USER_PRIVATE_INFO {
237         uint8_t SensitiveDataFlag;
238         uint32_t DataLength;
239         uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
240 };
241
242 struct netr_DELTA_USER {
243         struct lsa_String account_name;
244         struct lsa_String full_name;
245         uint32_t rid;
246         uint32_t primary_gid;
247         struct lsa_String home_directory;
248         struct lsa_String home_drive;
249         struct lsa_String logon_script;
250         struct lsa_String description;
251         struct lsa_String workstations;
252         NTTIME last_logon;
253         NTTIME last_logoff;
254         struct samr_LogonHours logon_hours;
255         uint16_t bad_password_count;
256         uint16_t logon_count;
257         NTTIME last_password_change;
258         NTTIME acct_expiry;
259         uint32_t acct_flags;
260         struct samr_Password lmpassword;
261         struct samr_Password ntpassword;
262         uint8_t nt_password_present;
263         uint8_t lm_password_present;
264         uint8_t password_expired;
265         struct lsa_String comment;
266         struct lsa_String parameters;
267         uint16_t country_code;
268         uint16_t code_page;
269         struct netr_USER_PRIVATE_INFO user_private_info;
270         uint32_t SecurityInformation;
271         struct sec_desc_buf sdbuf;
272         struct lsa_String profile_path;
273         struct lsa_String unknown2;
274         struct lsa_String unknown3;
275         struct lsa_String unknown4;
276         uint32_t unknown5;
277         uint32_t unknown6;
278         uint32_t unknown7;
279         uint32_t unknown8;
280 };
281
282 struct netr_DELTA_DOMAIN {
283         struct lsa_String domain_name;
284         struct lsa_String comment;
285         int64_t force_logoff_time;
286         uint16_t min_password_length;
287         uint16_t password_history_length;
288         int64_t max_password_age;
289         int64_t min_password_age;
290         uint64_t sequence_num;
291         NTTIME domain_create_time;
292         uint32_t SecurityInformation;
293         struct sec_desc_buf sdbuf;
294         struct netr_AcctLockStr account_lockout;
295         struct lsa_String unknown2;
296         struct lsa_String unknown3;
297         struct lsa_String unknown4;
298         uint32_t logon_to_chgpass;
299         uint32_t unknown6;
300         uint32_t unknown7;
301         uint32_t unknown8;
302 };
303
304 struct netr_DELTA_GROUP {
305         struct lsa_String group_name;
306         uint32_t rid;
307         uint32_t attributes;
308         struct lsa_String description;
309         uint32_t SecurityInformation;
310         struct sec_desc_buf sdbuf;
311         struct lsa_String unknown1;
312         struct lsa_String unknown2;
313         struct lsa_String unknown3;
314         struct lsa_String unknown4;
315         uint32_t unknown5;
316         uint32_t unknown6;
317         uint32_t unknown7;
318         uint32_t unknown8;
319 };
320
321 struct netr_DELTA_RENAME {
322         struct lsa_String OldName;
323         struct lsa_String NewName;
324         struct lsa_String unknown1;
325         struct lsa_String unknown2;
326         struct lsa_String unknown3;
327         struct lsa_String unknown4;
328         uint32_t unknown5;
329         uint32_t unknown6;
330         uint32_t unknown7;
331         uint32_t unknown8;
332 };
333
334 struct netr_DELTA_GROUP_MEMBER {
335         uint32_t *rids;/* [unique,size_is(num_rids)] */
336         uint32_t *attribs;/* [unique,size_is(num_rids)] */
337         uint32_t num_rids;
338         uint32_t unknown1;
339         uint32_t unknown2;
340         uint32_t unknown3;
341         uint32_t unknown4;
342 };
343
344 struct netr_DELTA_ALIAS {
345         struct lsa_String alias_name;
346         uint32_t rid;
347         uint32_t SecurityInformation;
348         struct sec_desc_buf sdbuf;
349         struct lsa_String description;
350         struct lsa_String unknown2;
351         struct lsa_String unknown3;
352         struct lsa_String unknown4;
353         uint32_t unknown5;
354         uint32_t unknown6;
355         uint32_t unknown7;
356         uint32_t unknown8;
357 };
358
359 struct netr_DELTA_ALIAS_MEMBER {
360         struct lsa_SidArray sids;
361         uint32_t unknown1;
362         uint32_t unknown2;
363         uint32_t unknown3;
364         uint32_t unknown4;
365 };
366
367 struct netr_QUOTA_LIMITS {
368         uint32_t pagedpoollimit;
369         uint32_t nonpagedpoollimit;
370         uint32_t minimumworkingsetsize;
371         uint32_t maximumworkingsetsize;
372         uint32_t pagefilelimit;
373         NTTIME timelimit;
374 };
375
376 struct netr_DELTA_POLICY {
377         uint32_t maxlogsize;
378         NTTIME auditretentionperiod;
379         uint8_t auditingmode;
380         uint32_t maxauditeventcount;
381         uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
382         struct lsa_String primary_domain_name;
383         struct dom_sid2 *sid;/* [unique] */
384         struct netr_QUOTA_LIMITS quota_limits;
385         uint64_t sequence_num;
386         NTTIME db_create_time;
387         uint32_t SecurityInformation;
388         struct sec_desc_buf sdbuf;
389         struct lsa_String unknown1;
390         struct lsa_String unknown2;
391         struct lsa_String unknown3;
392         struct lsa_String unknown4;
393         uint32_t unknown5;
394         uint32_t unknown6;
395         uint32_t unknown7;
396         uint32_t unknown8;
397 };
398
399 struct netr_DELTA_TRUSTED_DOMAIN {
400         struct lsa_String domain_name;
401         uint32_t num_controllers;
402         struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
403         uint32_t SecurityInformation;
404         struct sec_desc_buf sdbuf;
405         struct lsa_String unknown1;
406         struct lsa_String unknown2;
407         struct lsa_String unknown3;
408         struct lsa_String unknown4;
409         uint32_t posix_offset;
410         uint32_t unknown6;
411         uint32_t unknown7;
412         uint32_t unknown8;
413 };
414
415 struct netr_DELTA_DELETE_TRUST {
416         uint16_t unknown;
417 };
418
419 struct netr_DELTA_ACCOUNT {
420         uint32_t privilege_entries;
421         uint32_t privilege_control;
422         uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
423         struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
424         struct netr_QUOTA_LIMITS quotalimits;
425         uint32_t system_flags;
426         uint32_t SecurityInformation;
427         struct sec_desc_buf sdbuf;
428         struct lsa_String unknown1;
429         struct lsa_String unknown2;
430         struct lsa_String unknown3;
431         struct lsa_String unknown4;
432         uint32_t unknown5;
433         uint32_t unknown6;
434         uint32_t unknown7;
435         uint32_t unknown8;
436 };
437
438 struct netr_DELTA_DELETE_ACCOUNT {
439         uint16_t unknown;
440 };
441
442 struct netr_DELTA_DELETE_SECRET {
443         uint16_t unknown;
444 };
445
446 struct netr_CIPHER_VALUE {
447         uint32_t len;
448         uint32_t maxlen;
449         uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
450 };
451
452 struct netr_DELTA_SECRET {
453         struct netr_CIPHER_VALUE current_cipher;
454         NTTIME current_cipher_set_time;
455         struct netr_CIPHER_VALUE old_cipher;
456         NTTIME old_cipher_set_time;
457         uint32_t SecurityInformation;
458         struct sec_desc_buf sdbuf;
459         struct lsa_String unknown1;
460         struct lsa_String unknown2;
461         struct lsa_String unknown3;
462         struct lsa_String unknown4;
463         uint32_t unknown5;
464         uint32_t unknown6;
465         uint32_t unknown7;
466         uint32_t unknown8;
467 };
468
469 #ifndef USE_UINT_ENUMS
470 enum netr_DeltaEnum {
471         NETR_DELTA_DOMAIN=1,
472         NETR_DELTA_GROUP=2,
473         NETR_DELTA_DELETE_GROUP=3,
474         NETR_DELTA_RENAME_GROUP=4,
475         NETR_DELTA_USER=5,
476         NETR_DELTA_DELETE_USER=6,
477         NETR_DELTA_RENAME_USER=7,
478         NETR_DELTA_GROUP_MEMBER=8,
479         NETR_DELTA_ALIAS=9,
480         NETR_DELTA_DELETE_ALIAS=10,
481         NETR_DELTA_RENAME_ALIAS=11,
482         NETR_DELTA_ALIAS_MEMBER=12,
483         NETR_DELTA_POLICY=13,
484         NETR_DELTA_TRUSTED_DOMAIN=14,
485         NETR_DELTA_DELETE_TRUST=15,
486         NETR_DELTA_ACCOUNT=16,
487         NETR_DELTA_DELETE_ACCOUNT=17,
488         NETR_DELTA_SECRET=18,
489         NETR_DELTA_DELETE_SECRET=19,
490         NETR_DELTA_DELETE_GROUP2=20,
491         NETR_DELTA_DELETE_USER2=21,
492         NETR_DELTA_MODIFY_COUNT=22
493 }
494 #else
495 enum netr_DeltaEnum { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
496 #define NETR_DELTA_DOMAIN ( 1 )
497 #define NETR_DELTA_GROUP ( 2 )
498 #define NETR_DELTA_DELETE_GROUP ( 3 )
499 #define NETR_DELTA_RENAME_GROUP ( 4 )
500 #define NETR_DELTA_USER ( 5 )
501 #define NETR_DELTA_DELETE_USER ( 6 )
502 #define NETR_DELTA_RENAME_USER ( 7 )
503 #define NETR_DELTA_GROUP_MEMBER ( 8 )
504 #define NETR_DELTA_ALIAS ( 9 )
505 #define NETR_DELTA_DELETE_ALIAS ( 10 )
506 #define NETR_DELTA_RENAME_ALIAS ( 11 )
507 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
508 #define NETR_DELTA_POLICY ( 13 )
509 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
510 #define NETR_DELTA_DELETE_TRUST ( 15 )
511 #define NETR_DELTA_ACCOUNT ( 16 )
512 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
513 #define NETR_DELTA_SECRET ( 18 )
514 #define NETR_DELTA_DELETE_SECRET ( 19 )
515 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
516 #define NETR_DELTA_DELETE_USER2 ( 21 )
517 #define NETR_DELTA_MODIFY_COUNT ( 22 )
518 #endif
519 ;
520
521 union netr_DELTA_UNION {
522         struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
523         struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
524         struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
525         struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
526         struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
527         struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
528         struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
529         struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
530         struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
531         struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
532         struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
533         struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
534         struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
535         struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
536         struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
537         struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
538         struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
539         struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
540         uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
541 }/* [switch_type(netr_DeltaEnum)] */;
542
543 union netr_DELTA_ID_UNION {
544         uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
545         struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
546         const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
547 }/* [switch_type(netr_DeltaEnum)] */;
548
549 struct netr_DELTA_ENUM {
550         enum netr_DeltaEnum delta_type;
551         union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
552         union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
553 };
554
555 struct netr_DELTA_ENUM_ARRAY {
556         uint32_t num_deltas;
557         struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
558 };
559
560 struct netr_UAS_INFO_0 {
561         uint8_t computer_name[16];
562         uint32_t timecreated;
563         uint32_t serial_number;
564 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
565
566 struct netr_AccountBuffer {
567         DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
568 };
569
570 struct netr_NETLOGON_INFO_1 {
571         uint32_t flags;
572         uint32_t pdc_connection_status;
573 };
574
575 struct netr_NETLOGON_INFO_2 {
576         uint32_t flags;
577         uint32_t pdc_connection_status;
578         const char *trusted_dc_name;/* [charset(UTF16)] */
579         uint32_t tc_connection_status;
580 };
581
582 struct netr_NETLOGON_INFO_3 {
583         uint32_t flags;
584         uint32_t logon_attempts;
585         uint32_t unknown1;
586         uint32_t unknown2;
587         uint32_t unknown3;
588         uint32_t unknown4;
589         uint32_t unknown5;
590 };
591
592 union netr_CONTROL_QUERY_INFORMATION {
593         struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
594         struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
595         struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
596 };
597
598 #ifndef USE_UINT_ENUMS
599 enum netr_LogonControlCode {
600         NETLOGON_CONTROL_REDISCOVER=5,
601         NETLOGON_CONTROL_TC_QUERY=6,
602         NETLOGON_CONTROL_TRANSPORT_NOTIFY=7,
603         NETLOGON_CONTROL_SET_DBFLAG=65534
604 }
605 #else
606 enum netr_LogonControlCode { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
607 #define NETLOGON_CONTROL_REDISCOVER ( 5 )
608 #define NETLOGON_CONTROL_TC_QUERY ( 6 )
609 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 7 )
610 #define NETLOGON_CONTROL_SET_DBFLAG ( 65534 )
611 #endif
612 ;
613
614 union netr_CONTROL_DATA_INFORMATION {
615         const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
616         uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
617 };
618
619 struct netr_DsRGetDCNameInfo {
620         const char *dc_unc;/* [unique,charset(UTF16)] */
621         const char *dc_address;/* [unique,charset(UTF16)] */
622         int32_t dc_address_type;
623         struct GUID domain_guid;
624         const char *domain_name;/* [unique,charset(UTF16)] */
625         const char *forest_name;/* [unique,charset(UTF16)] */
626         uint32_t dc_flags;
627         const char *dc_site_name;/* [unique,charset(UTF16)] */
628         const char *client_site_name;/* [unique,charset(UTF16)] */
629 };
630
631 struct netr_Blob {
632         uint32_t length;
633         uint8_t *data;/* [unique,size_is(length)] */
634 };
635
636 struct netr_BinaryString {
637         uint16_t length;
638         uint16_t size;
639         uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
640 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
641
642 struct netr_DomainQuery1 {
643         struct netr_Blob blob;
644         const char *workstation_domain;/* [unique,charset(UTF16)] */
645         const char *workstation_site;/* [unique,charset(UTF16)] */
646         const char *unknown1;/* [unique,charset(UTF16)] */
647         const char *unknown2;/* [unique,charset(UTF16)] */
648         const char *unknown3;/* [unique,charset(UTF16)] */
649         const char *unknown4;/* [unique,charset(UTF16)] */
650         struct netr_BinaryString blob2;
651         struct lsa_String product;
652         struct lsa_String unknown5;
653         struct lsa_String unknown6;
654         uint32_t unknown7[4];
655 };
656
657 union netr_DomainQuery {
658         struct netr_DomainQuery1 *query1;/* [unique,case] */
659 };
660
661 struct netr_DomainTrustInfo {
662         struct lsa_String domainname;
663         struct lsa_String fulldomainname;
664         struct lsa_String forest;
665         struct GUID guid;
666         struct dom_sid2 *sid;/* [unique] */
667         struct netr_BinaryString unknown1[4];
668         uint32_t unknown[4];
669 };
670
671 struct netr_DomainInfo1 {
672         struct netr_DomainTrustInfo domaininfo;
673         uint32_t num_trusts;
674         struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
675         uint32_t unknown[14];
676 };
677
678 union netr_DomainInfo {
679         struct netr_DomainInfo1 *info1;/* [unique,case] */
680 };
681
682 struct netr_CryptPassword {
683         uint8_t data[512];
684         uint32_t length;
685 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
686
687 /* bitmap netr_TrustFlags */
688 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
689 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
690 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
691 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
692 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
693 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
694
695 ;
696
697 #ifndef USE_UINT_ENUMS
698 enum netr_TrustType {
699         NETR_TRUST_TYPE_DOWNLEVEL=1,
700         NETR_TRUST_TYPE_UPLEVEL=2,
701         NETR_TRUST_TYPE_MIT=3,
702         NETR_TRUST_TYPE_DCE=4
703 }
704 #else
705 enum netr_TrustType { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
706 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
707 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
708 #define NETR_TRUST_TYPE_MIT ( 3 )
709 #define NETR_TRUST_TYPE_DCE ( 4 )
710 #endif
711 ;
712
713 /* bitmap netr_TrustAttributes */
714 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
715 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
716 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
717 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
718 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
719 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
720 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
721
722 ;
723
724 struct netr_DomainTrust {
725         const char *netbios_name;/* [unique,charset(UTF16)] */
726         const char *dns_name;/* [unique,charset(UTF16)] */
727         uint32_t trust_flags;
728         uint32_t parent_index;
729         enum netr_TrustType trust_type;
730         uint32_t trust_attributes;
731         struct dom_sid2 *sid;/* [unique] */
732         struct GUID guid;
733 };
734
735
736 struct netr_LogonUasLogon {
737         struct {
738                 const char *server_name;/* [unique,charset(UTF16)] */
739                 const char *account_name;/* [charset(UTF16)] */
740                 const char *workstation;/* [charset(UTF16)] */
741         } in;
742
743         struct {
744                 struct netr_UasInfo *info;/* [unique] */
745                 WERROR result;
746         } out;
747
748 };
749
750
751 struct netr_LogonUasLogoff {
752         struct {
753                 const char *server_name;/* [unique,charset(UTF16)] */
754                 const char *account_name;/* [charset(UTF16)] */
755                 const char *workstation;/* [charset(UTF16)] */
756         } in;
757
758         struct {
759                 struct netr_UasLogoffInfo *info;/* [ref] */
760                 WERROR result;
761         } out;
762
763 };
764
765
766 struct netr_LogonSamLogon {
767         struct {
768                 const char *server_name;/* [unique,charset(UTF16)] */
769                 const char *computer_name;/* [unique,charset(UTF16)] */
770                 struct netr_Authenticator *credential;/* [unique] */
771                 uint16_t logon_level;
772                 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
773                 uint16_t validation_level;
774                 struct netr_Authenticator *return_authenticator;/* [unique] */
775         } in;
776
777         struct {
778                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
779                 uint8_t *authoritative;/* [ref] */
780                 struct netr_Authenticator *return_authenticator;/* [unique] */
781                 NTSTATUS result;
782         } out;
783
784 };
785
786
787 struct netr_LogonSamLogoff {
788         struct {
789                 const char *server_name;/* [unique,charset(UTF16)] */
790                 const char *computer_name;/* [unique,charset(UTF16)] */
791                 struct netr_Authenticator *credential;/* [unique] */
792                 uint16_t logon_level;
793                 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
794                 struct netr_Authenticator *return_authenticator;/* [unique] */
795         } in;
796
797         struct {
798                 struct netr_Authenticator *return_authenticator;/* [unique] */
799                 NTSTATUS result;
800         } out;
801
802 };
803
804
805 struct netr_ServerReqChallenge {
806         struct {
807                 const char *server_name;/* [unique,charset(UTF16)] */
808                 const char *computer_name;/* [charset(UTF16)] */
809                 struct netr_Credential *credentials;/* [ref] */
810         } in;
811
812         struct {
813                 struct netr_Credential *credentials;/* [ref] */
814                 NTSTATUS result;
815         } out;
816
817 };
818
819
820 struct netr_ServerAuthenticate {
821         struct {
822                 const char *server_name;/* [unique,charset(UTF16)] */
823                 const char *account_name;/* [charset(UTF16)] */
824                 enum netr_SchannelType secure_channel_type;
825                 const char *computer_name;/* [charset(UTF16)] */
826                 struct netr_Credential *credentials;/* [ref] */
827         } in;
828
829         struct {
830                 struct netr_Credential *credentials;/* [ref] */
831                 NTSTATUS result;
832         } out;
833
834 };
835
836
837 struct netr_ServerPasswordSet {
838         struct {
839                 const char *server_name;/* [unique,charset(UTF16)] */
840                 const char *account_name;/* [charset(UTF16)] */
841                 enum netr_SchannelType secure_channel_type;
842                 const char *computer_name;/* [charset(UTF16)] */
843                 struct netr_Authenticator credential;
844                 struct samr_Password new_password;
845         } in;
846
847         struct {
848                 struct netr_Authenticator *return_authenticator;/* [ref] */
849                 NTSTATUS result;
850         } out;
851
852 };
853
854
855 struct netr_DatabaseDeltas {
856         struct {
857                 const char *logon_server;/* [charset(UTF16)] */
858                 const char *computername;/* [charset(UTF16)] */
859                 struct netr_Authenticator credential;
860                 enum netr_SamDatabaseID database_id;
861                 uint32_t preferredmaximumlength;
862                 struct netr_Authenticator *return_authenticator;/* [ref] */
863                 uint64_t *sequence_num;/* [ref] */
864         } in;
865
866         struct {
867                 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
868                 struct netr_Authenticator *return_authenticator;/* [ref] */
869                 uint64_t *sequence_num;/* [ref] */
870                 NTSTATUS result;
871         } out;
872
873 };
874
875
876 struct netr_DatabaseSync {
877         struct {
878                 const char *logon_server;/* [charset(UTF16)] */
879                 const char *computername;/* [charset(UTF16)] */
880                 struct netr_Authenticator credential;
881                 enum netr_SamDatabaseID database_id;
882                 uint32_t preferredmaximumlength;
883                 struct netr_Authenticator *return_authenticator;/* [ref] */
884                 uint32_t *sync_context;/* [ref] */
885         } in;
886
887         struct {
888                 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
889                 struct netr_Authenticator *return_authenticator;/* [ref] */
890                 uint32_t *sync_context;/* [ref] */
891                 NTSTATUS result;
892         } out;
893
894 };
895
896
897 struct netr_AccountDeltas {
898         struct {
899                 const char *logon_server;/* [unique,charset(UTF16)] */
900                 const char *computername;/* [charset(UTF16)] */
901                 struct netr_Authenticator credential;
902                 struct netr_UAS_INFO_0 uas;
903                 uint32_t count;
904                 uint32_t level;
905                 uint32_t buffersize;
906                 struct netr_Authenticator *return_authenticator;/* [ref] */
907         } in;
908
909         struct {
910                 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
911                 uint32_t *count_returned;/* [ref] */
912                 uint32_t *total_entries;/* [ref] */
913                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
914                 struct netr_Authenticator *return_authenticator;/* [ref] */
915                 NTSTATUS result;
916         } out;
917
918 };
919
920
921 struct netr_AccountSync {
922         struct {
923                 const char *logon_server;/* [unique,charset(UTF16)] */
924                 const char *computername;/* [charset(UTF16)] */
925                 struct netr_Authenticator credential;
926                 uint32_t reference;
927                 uint32_t level;
928                 uint32_t buffersize;
929                 struct netr_Authenticator *return_authenticator;/* [ref] */
930                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
931         } in;
932
933         struct {
934                 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
935                 uint32_t *count_returned;/* [ref] */
936                 uint32_t *total_entries;/* [ref] */
937                 uint32_t *next_reference;/* [ref] */
938                 struct netr_Authenticator *return_authenticator;/* [ref] */
939                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
940                 NTSTATUS result;
941         } out;
942
943 };
944
945
946 struct netr_GetDcName {
947         struct {
948                 const char *logon_server;/* [charset(UTF16)] */
949                 const char *domainname;/* [unique,charset(UTF16)] */
950         } in;
951
952         struct {
953                 const char **dcname;/* [ref,charset(UTF16)] */
954                 NTSTATUS result;
955         } out;
956
957 };
958
959
960 struct netr_LogonControl {
961         struct {
962                 const char *logon_server;/* [unique,charset(UTF16)] */
963                 enum netr_LogonControlCode function_code;
964                 uint32_t level;
965         } in;
966
967         struct {
968                 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
969                 WERROR result;
970         } out;
971
972 };
973
974
975 struct netr_GetAnyDCName {
976         struct {
977                 const char *logon_server;/* [unique,charset(UTF16)] */
978                 const char *domainname;/* [unique,charset(UTF16)] */
979         } in;
980
981         struct {
982                 const char **dcname;/* [ref,charset(UTF16)] */
983                 WERROR result;
984         } out;
985
986 };
987
988
989 struct netr_LogonControl2 {
990         struct {
991                 const char *logon_server;/* [unique,charset(UTF16)] */
992                 uint32_t function_code;
993                 uint32_t level;
994                 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
995         } in;
996
997         struct {
998                 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
999                 WERROR result;
1000         } out;
1001
1002 };
1003
1004
1005 struct netr_ServerAuthenticate2 {
1006         struct {
1007                 const char *server_name;/* [unique,charset(UTF16)] */
1008                 const char *account_name;/* [charset(UTF16)] */
1009                 enum netr_SchannelType secure_channel_type;
1010                 const char *computer_name;/* [charset(UTF16)] */
1011                 struct netr_Credential *credentials;/* [ref] */
1012                 uint32_t *negotiate_flags;/* [ref] */
1013         } in;
1014
1015         struct {
1016                 struct netr_Credential *credentials;/* [ref] */
1017                 uint32_t *negotiate_flags;/* [ref] */
1018                 NTSTATUS result;
1019         } out;
1020
1021 };
1022
1023
1024 struct netr_DatabaseSync2 {
1025         struct {
1026                 const char *logon_server;/* [charset(UTF16)] */
1027                 const char *computername;/* [charset(UTF16)] */
1028                 struct netr_Authenticator credential;
1029                 enum netr_SamDatabaseID database_id;
1030                 uint16_t restart_state;
1031                 uint32_t preferredmaximumlength;
1032                 struct netr_Authenticator *return_authenticator;/* [ref] */
1033                 uint32_t *sync_context;/* [ref] */
1034         } in;
1035
1036         struct {
1037                 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
1038                 struct netr_Authenticator *return_authenticator;/* [ref] */
1039                 uint32_t *sync_context;/* [ref] */
1040                 NTSTATUS result;
1041         } out;
1042
1043 };
1044
1045
1046 struct netr_DatabaseRedo {
1047         struct {
1048                 const char *logon_server;/* [charset(UTF16)] */
1049                 const char *computername;/* [charset(UTF16)] */
1050                 struct netr_Authenticator credential;
1051                 uint8_t *change_log_entry;/* [unique,size_is(change_log_entry_size)] */
1052                 uint32_t change_log_entry_size;
1053                 struct netr_Authenticator *return_authenticator;/* [ref] */
1054         } in;
1055
1056         struct {
1057                 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
1058                 struct netr_Authenticator *return_authenticator;/* [ref] */
1059                 NTSTATUS result;
1060         } out;
1061
1062 };
1063
1064
1065 struct netr_LogonControl2Ex {
1066         struct {
1067                 const char *logon_server;/* [unique,charset(UTF16)] */
1068                 uint32_t function_code;
1069                 uint32_t level;
1070                 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
1071         } in;
1072
1073         struct {
1074                 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1075                 WERROR result;
1076         } out;
1077
1078 };
1079
1080
1081 struct netr_NETRENUMERATETRUSTEDDOMAINS {
1082         struct {
1083                 WERROR result;
1084         } out;
1085
1086 };
1087
1088
1089 struct netr_DsRGetDCName {
1090         struct {
1091                 const char *server_unc;/* [unique,charset(UTF16)] */
1092                 const char *domain_name;/* [unique,charset(UTF16)] */
1093                 struct GUID *domain_guid;/* [unique] */
1094                 struct GUID *site_guid;/* [unique] */
1095                 uint32_t flags;
1096         } in;
1097
1098         struct {
1099                 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1100                 WERROR result;
1101         } out;
1102
1103 };
1104
1105
1106 struct netr_NETRLOGONDUMMYROUTINE1 {
1107         struct {
1108                 WERROR result;
1109         } out;
1110
1111 };
1112
1113
1114 struct netr_NETRLOGONSETSERVICEBITS {
1115         struct {
1116                 WERROR result;
1117         } out;
1118
1119 };
1120
1121
1122 struct netr_NETRLOGONGETTRUSTRID {
1123         struct {
1124                 WERROR result;
1125         } out;
1126
1127 };
1128
1129
1130 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1131         struct {
1132                 WERROR result;
1133         } out;
1134
1135 };
1136
1137
1138 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1139         struct {
1140                 WERROR result;
1141         } out;
1142
1143 };
1144
1145
1146 struct netr_ServerAuthenticate3 {
1147         struct {
1148                 const char *server_name;/* [unique,charset(UTF16)] */
1149                 const char *account_name;/* [charset(UTF16)] */
1150                 enum netr_SchannelType secure_channel_type;
1151                 const char *computer_name;/* [charset(UTF16)] */
1152                 struct netr_Credential *credentials;/* [ref] */
1153                 uint32_t *negotiate_flags;/* [ref] */
1154         } in;
1155
1156         struct {
1157                 uint32_t *rid;/* [ref] */
1158                 struct netr_Credential *credentials;/* [ref] */
1159                 uint32_t *negotiate_flags;/* [ref] */
1160                 NTSTATUS result;
1161         } out;
1162
1163 };
1164
1165
1166 struct netr_DsRGetDCNameEx {
1167         struct {
1168                 const char *server_unc;/* [unique,charset(UTF16)] */
1169                 const char *domain_name;/* [unique,charset(UTF16)] */
1170                 struct GUID *domain_guid;/* [unique] */
1171                 const char *site_name;/* [unique,charset(UTF16)] */
1172                 uint32_t flags;
1173         } in;
1174
1175         struct {
1176                 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1177                 WERROR result;
1178         } out;
1179
1180 };
1181
1182
1183 struct netr_DsRGetSiteName {
1184         struct {
1185                 const char *computer_name;/* [unique,charset(UTF16)] */
1186         } in;
1187
1188         struct {
1189                 const char **site;/* [ref,charset(UTF16)] */
1190                 WERROR result;
1191         } out;
1192
1193 };
1194
1195
1196 struct netr_LogonGetDomainInfo {
1197         struct {
1198                 const char *server_name;/* [charset(UTF16)] */
1199                 const char *computer_name;/* [unique,charset(UTF16)] */
1200                 struct netr_Authenticator *credential;/* [ref] */
1201                 uint32_t level;
1202                 union netr_DomainQuery query;/* [switch_is(level)] */
1203                 struct netr_Authenticator *return_authenticator;/* [ref] */
1204         } in;
1205
1206         struct {
1207                 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1208                 struct netr_Authenticator *return_authenticator;/* [ref] */
1209                 NTSTATUS result;
1210         } out;
1211
1212 };
1213
1214
1215 struct netr_ServerPasswordSet2 {
1216         struct {
1217                 const char *server_name;/* [unique,charset(UTF16)] */
1218                 const char *account_name;/* [charset(UTF16)] */
1219                 enum netr_SchannelType secure_channel_type;
1220                 const char *computer_name;/* [charset(UTF16)] */
1221                 struct netr_Authenticator credential;
1222                 struct netr_CryptPassword new_password;
1223         } in;
1224
1225         struct {
1226                 struct netr_Authenticator *return_authenticator;/* [ref] */
1227                 NTSTATUS result;
1228         } out;
1229
1230 };
1231
1232
1233 struct netr_NETRSERVERPASSWORDGET {
1234         struct {
1235                 WERROR result;
1236         } out;
1237
1238 };
1239
1240
1241 struct netr_NETRLOGONSENDTOSAM {
1242         struct {
1243                 WERROR result;
1244         } out;
1245
1246 };
1247
1248
1249 struct netr_DSRADDRESSTOSITENAMESW {
1250         struct {
1251                 WERROR result;
1252         } out;
1253
1254 };
1255
1256
1257 struct netr_DsRGetDCNameEx2 {
1258         struct {
1259                 const char *server_unc;/* [unique,charset(UTF16)] */
1260                 const char *client_account;/* [unique,charset(UTF16)] */
1261                 uint32_t mask;
1262                 const char *domain_name;/* [unique,charset(UTF16)] */
1263                 struct GUID *domain_guid;/* [unique] */
1264                 const char *site_name;/* [unique,charset(UTF16)] */
1265                 uint32_t flags;
1266         } in;
1267
1268         struct {
1269                 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1270                 WERROR result;
1271         } out;
1272
1273 };
1274
1275
1276 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1277         struct {
1278                 WERROR result;
1279         } out;
1280
1281 };
1282
1283
1284 struct netr_NETRENUMERATETRUSTEDDOMAINSEX {
1285         struct {
1286                 WERROR result;
1287         } out;
1288
1289 };
1290
1291
1292 struct netr_DSRADDRESSTOSITENAMESEXW {
1293         struct {
1294                 WERROR result;
1295         } out;
1296
1297 };
1298
1299
1300 struct netr_DSRGETDCSITECOVERAGEW {
1301         struct {
1302                 WERROR result;
1303         } out;
1304
1305 };
1306
1307
1308 struct netr_LogonSamLogonEx {
1309         struct {
1310                 const char *server_name;/* [unique,charset(UTF16)] */
1311                 const char *computer_name;/* [unique,charset(UTF16)] */
1312                 uint16_t logon_level;
1313                 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1314                 uint16_t validation_level;
1315                 uint32_t *flags;/* [ref] */
1316         } in;
1317
1318         struct {
1319                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1320                 uint8_t *authoritative;/* [ref] */
1321                 uint32_t *flags;/* [ref] */
1322                 NTSTATUS result;
1323         } out;
1324
1325 };
1326
1327
1328 struct netr_DsrEnumerateDomainTrusts {
1329         struct {
1330                 const char *server_name;/* [unique,charset(UTF16)] */
1331                 uint32_t trust_flags;
1332         } in;
1333
1334         struct {
1335                 uint32_t *count;/* [ref] */
1336                 struct netr_DomainTrust **trusts;/* [ref,size_is(count)] */
1337                 WERROR result;
1338         } out;
1339
1340 };
1341
1342
1343 struct netr_DSRDEREGISTERDNSHOSTRECORDS {
1344         struct {
1345                 WERROR result;
1346         } out;
1347
1348 };
1349
1350
1351 struct netr_NETRSERVERTRUSTPASSWORDSGET {
1352         struct {
1353                 WERROR result;
1354         } out;
1355
1356 };
1357
1358
1359 struct netr_DSRGETFORESTTRUSTINFORMATION {
1360         struct {
1361                 WERROR result;
1362         } out;
1363
1364 };
1365
1366
1367 struct netr_NETRGETFORESTTRUSTINFORMATION {
1368         struct {
1369                 WERROR result;
1370         } out;
1371
1372 };
1373
1374
1375 struct netr_LogonSamLogonWithFlags {
1376         struct {
1377                 const char *server_name;/* [unique,charset(UTF16)] */
1378                 const char *computer_name;/* [unique,charset(UTF16)] */
1379                 struct netr_Authenticator *credential;/* [unique] */
1380                 uint16_t logon_level;
1381                 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1382                 uint16_t validation_level;
1383                 struct netr_Authenticator *return_authenticator;/* [unique] */
1384                 uint32_t *flags;/* [ref] */
1385         } in;
1386
1387         struct {
1388                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1389                 uint8_t *authoritative;/* [ref] */
1390                 struct netr_Authenticator *return_authenticator;/* [unique] */
1391                 uint32_t *flags;/* [ref] */
1392                 NTSTATUS result;
1393         } out;
1394
1395 };
1396
1397
1398 struct netr_NETRSERVERGETTRUSTINFO {
1399         struct {
1400                 WERROR result;
1401         } out;
1402
1403 };
1404
1405 #endif /* _HEADER_netlogon */