r25068: Older samba3 DCs will return DCERPC_FAULT_OP_RNG_ERROR for every opcode on the
[Samba.git] / source / librpc / gen_ndr / netlogon.h
blob246748e89afe0020e51ab5683cf3086433ab057c
1 /* header auto-generated by pidl */
3 #include <stdint.h>
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
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;
36 struct netr_UasLogoffInfo {
37 uint32_t duration;
38 uint16_t logon_count;
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)] */
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;
56 struct netr_PasswordInfo {
57 struct netr_IdentityInfo identity_info;
58 struct samr_Password lmpassword;
59 struct samr_Password ntpassword;
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)] */;
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)] */;
75 union netr_LogonLevel {
76 struct netr_PasswordInfo *password;/* [unique,case] */
77 struct netr_NetworkInfo *network;/* [unique,case(2)] */
78 }/* [public,switch_type(uint16)] */;
80 struct netr_GroupMembership {
81 uint32_t rid;
82 uint32_t attributes;
83 }/* [public] */;
85 struct netr_UserSessionKey {
86 uint8_t key[16];
87 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
89 struct netr_LMSessionKey {
90 uint8_t key[8];
91 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
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 )
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];
135 struct netr_SamInfo2 {
136 struct netr_SamBaseInfo base;
139 struct netr_SidAttr {
140 struct dom_sid2 *sid;/* [unique] */
141 uint32_t attribute;
144 struct netr_SamInfo3 {
145 struct netr_SamBaseInfo base;
146 uint32_t sidcount;
147 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
148 }/* [public] */;
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];
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;
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)] */;
182 struct netr_Credential {
183 uint8_t data[8];
184 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
186 struct netr_Authenticator {
187 struct netr_Credential cred;
188 time_t timestamp;
189 }/* [public] */;
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;
203 struct netr_USER_KEY16 {
204 uint16_t length;
205 uint16_t size;/* [value(length)] */
206 uint32_t flags;
207 struct samr_Password pwd;
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;
221 struct netr_USER_KEYS2 {
222 struct netr_USER_KEY16 lmpassword;
223 struct netr_USER_KEY16 ntpassword;
224 struct netr_PasswordHistory lmhistory;
227 struct netr_USER_KEY_UNION {
228 struct netr_USER_KEYS2 keys2;
231 struct netr_USER_KEYS {
232 uint32_t version;
233 struct netr_USER_KEY_UNION keys;
234 }/* [public] */;
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)] */
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;
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;
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;
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;
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;
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;
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;
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;
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;
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;
415 struct netr_DELTA_DELETE_TRUST {
416 uint16_t unknown;
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;
438 struct netr_DELTA_DELETE_ACCOUNT {
439 uint16_t unknown;
442 struct netr_DELTA_DELETE_SECRET {
443 uint16_t unknown;
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)] */
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;
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
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
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)] */;
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)] */;
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)] */
555 struct netr_DELTA_ENUM_ARRAY {
556 uint32_t num_deltas;
557 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
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)] */;
566 struct netr_AccountBuffer {
567 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
570 struct netr_NETLOGON_INFO_1 {
571 uint32_t flags;
572 uint32_t pdc_connection_status;
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;
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;
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)] */
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
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
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)] */
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)] */
631 struct netr_Blob {
632 uint32_t length;
633 uint8_t *data;/* [unique,size_is(length)] */
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)] */;
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];
657 union netr_DomainQuery {
658 struct netr_DomainQuery1 *query1;/* [unique,case] */
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];
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];
678 union netr_DomainInfo {
679 struct netr_DomainInfo1 *info1;/* [unique,case] */
682 struct netr_CryptPassword {
683 uint8_t data[512];
684 uint32_t length;
685 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
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 )
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
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
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 )
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;
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;
743 struct {
744 struct netr_UasInfo *info;/* [unique] */
745 WERROR result;
746 } out;
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;
758 struct {
759 struct netr_UasLogoffInfo *info;/* [ref] */
760 WERROR result;
761 } out;
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;
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;
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;
797 struct {
798 struct netr_Authenticator *return_authenticator;/* [unique] */
799 NTSTATUS result;
800 } out;
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;
812 struct {
813 struct netr_Credential *credentials;/* [ref] */
814 NTSTATUS result;
815 } out;
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;
829 struct {
830 struct netr_Credential *credentials;/* [ref] */
831 NTSTATUS result;
832 } out;
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;
847 struct {
848 struct netr_Authenticator *return_authenticator;/* [ref] */
849 NTSTATUS result;
850 } out;
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;
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;
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;
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;
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;
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;
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;
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;
946 struct netr_GetDcName {
947 struct {
948 const char *logon_server;/* [charset(UTF16)] */
949 const char *domainname;/* [unique,charset(UTF16)] */
950 } in;
952 struct {
953 const char **dcname;/* [ref,charset(UTF16)] */
954 NTSTATUS result;
955 } out;
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;
967 struct {
968 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
969 WERROR result;
970 } out;
975 struct netr_GetAnyDCName {
976 struct {
977 const char *logon_server;/* [unique,charset(UTF16)] */
978 const char *domainname;/* [unique,charset(UTF16)] */
979 } in;
981 struct {
982 const char **dcname;/* [ref,charset(UTF16)] */
983 WERROR result;
984 } out;
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;
997 struct {
998 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
999 WERROR result;
1000 } out;
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;
1015 struct {
1016 struct netr_Credential *credentials;/* [ref] */
1017 uint32_t *negotiate_flags;/* [ref] */
1018 NTSTATUS result;
1019 } out;
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;
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;
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;
1056 struct {
1057 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [unique] */
1058 struct netr_Authenticator *return_authenticator;/* [ref] */
1059 NTSTATUS result;
1060 } out;
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;
1073 struct {
1074 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1075 WERROR result;
1076 } out;
1081 struct netr_NETRENUMERATETRUSTEDDOMAINS {
1082 struct {
1083 WERROR result;
1084 } out;
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;
1098 struct {
1099 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1100 WERROR result;
1101 } out;
1106 struct netr_NETRLOGONDUMMYROUTINE1 {
1107 struct {
1108 WERROR result;
1109 } out;
1114 struct netr_NETRLOGONSETSERVICEBITS {
1115 struct {
1116 WERROR result;
1117 } out;
1122 struct netr_NETRLOGONGETTRUSTRID {
1123 struct {
1124 WERROR result;
1125 } out;
1130 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1131 struct {
1132 WERROR result;
1133 } out;
1138 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1139 struct {
1140 WERROR result;
1141 } out;
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;
1156 struct {
1157 uint32_t *rid;/* [ref] */
1158 struct netr_Credential *credentials;/* [ref] */
1159 uint32_t *negotiate_flags;/* [ref] */
1160 NTSTATUS result;
1161 } out;
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;
1175 struct {
1176 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1177 WERROR result;
1178 } out;
1183 struct netr_DsRGetSiteName {
1184 struct {
1185 const char *computer_name;/* [unique,charset(UTF16)] */
1186 } in;
1188 struct {
1189 const char **site;/* [ref,charset(UTF16)] */
1190 WERROR result;
1191 } out;
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;
1206 struct {
1207 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1208 struct netr_Authenticator *return_authenticator;/* [ref] */
1209 NTSTATUS result;
1210 } out;
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;
1225 struct {
1226 struct netr_Authenticator *return_authenticator;/* [ref] */
1227 NTSTATUS result;
1228 } out;
1233 struct netr_NETRSERVERPASSWORDGET {
1234 struct {
1235 WERROR result;
1236 } out;
1241 struct netr_NETRLOGONSENDTOSAM {
1242 struct {
1243 WERROR result;
1244 } out;
1249 struct netr_DSRADDRESSTOSITENAMESW {
1250 struct {
1251 WERROR result;
1252 } out;
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;
1268 struct {
1269 struct netr_DsRGetDCNameInfo *info;/* [unique] */
1270 WERROR result;
1271 } out;
1276 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1277 struct {
1278 WERROR result;
1279 } out;
1284 struct netr_NETRENUMERATETRUSTEDDOMAINSEX {
1285 struct {
1286 WERROR result;
1287 } out;
1292 struct netr_DSRADDRESSTOSITENAMESEXW {
1293 struct {
1294 WERROR result;
1295 } out;
1300 struct netr_DSRGETDCSITECOVERAGEW {
1301 struct {
1302 WERROR result;
1303 } out;
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;
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;
1328 struct netr_DsrEnumerateDomainTrusts {
1329 struct {
1330 const char *server_name;/* [unique,charset(UTF16)] */
1331 uint32_t trust_flags;
1332 } in;
1334 struct {
1335 uint32_t *count;/* [ref] */
1336 struct netr_DomainTrust **trusts;/* [ref,size_is(count)] */
1337 WERROR result;
1338 } out;
1343 struct netr_DSRDEREGISTERDNSHOSTRECORDS {
1344 struct {
1345 WERROR result;
1346 } out;
1351 struct netr_NETRSERVERTRUSTPASSWORDSGET {
1352 struct {
1353 WERROR result;
1354 } out;
1359 struct netr_DSRGETFORESTTRUSTINFORMATION {
1360 struct {
1361 WERROR result;
1362 } out;
1367 struct netr_NETRGETFORESTTRUSTINFORMATION {
1368 struct {
1369 WERROR result;
1370 } out;
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;
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;
1398 struct netr_NETRSERVERGETTRUSTINFO {
1399 struct {
1400 WERROR result;
1401 } out;
1405 #endif /* _HEADER_netlogon */