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