1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #include "librpc/gen_ndr/samr.h"
8 #include "librpc/gen_ndr/security.h"
9 #include "librpc/gen_ndr/nbt.h"
10 #define netr_DeltaEnum8Bit netr_DeltaEnum
11 #define netr_SamDatabaseID8Bit netr_SamDatabaseID
12 #ifndef _HEADER_netlogon
13 #define _HEADER_netlogon
15 #define NETLOGON_NEG_128BIT ( NETLOGON_NEG_STRONG_KEYS )
16 #define NETLOGON_NEG_SCHANNEL ( NETLOGON_NEG_AUTHENTICATED_RPC )
17 #define DSGETDC_VALID_FLAGS ( (DS_FORCE_REDISCOVERY|DS_DIRECTORY_SERVICE_REQUIRED|DS_DIRECTORY_SERVICE_PREFERRED|DS_GC_SERVER_REQUIRED|DS_PDC_REQUIRED|DS_BACKGROUND_ONLY|DS_IP_REQUIRED|DS_KDC_REQUIRED|DS_TIMESERV_REQUIRED|DS_WRITABLE_REQUIRED|DS_GOOD_TIMESERV_PREFERRED|DS_AVOID_SELF|DS_ONLY_LDAP_NEEDED|DS_IS_FLAT_NAME|DS_IS_DNS_NAME|DS_RETURN_FLAT_NAME|DS_RETURN_DNS_NAME) )
18 #define DS_GFTI_UPDATE_TDO ( 0x1 )
20 const char *account_name;/* [unique,charset(UTF16)] */
24 uint32_t bad_pw_count;
29 uint32_t password_age;
31 time_t pw_must_change;
32 const char *computer;/* [unique,charset(UTF16)] */
33 const char *domain;/* [unique,charset(UTF16)] */
34 const char *script_path;/* [unique,charset(UTF16)] */
38 struct netr_UasLogoffInfo {
43 struct netr_AcctLockStr {
44 int64_t lockout_duration;
46 uint32_t bad_attempt_lockout;
50 /* bitmap netr_LogonParameterControl */
51 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
52 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
53 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
54 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
55 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
56 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
58 struct netr_IdentityInfo {
59 struct lsa_String domain_name;
60 uint32_t parameter_control;
61 uint32_t logon_id_low;
62 uint32_t logon_id_high;
63 struct lsa_String account_name;
64 struct lsa_String workstation;
67 struct netr_PasswordInfo {
68 struct netr_IdentityInfo identity_info;
69 struct samr_Password lmpassword;
70 struct samr_Password ntpassword;
73 struct netr_ChallengeResponse {
75 uint16_t size;/* [value(length)] */
76 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
77 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
79 struct netr_NetworkInfo {
80 struct netr_IdentityInfo identity_info;
82 struct netr_ChallengeResponse nt;
83 struct netr_ChallengeResponse lm;
84 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
86 struct netr_GenericInfo {
87 struct netr_IdentityInfo identity_info;
88 struct lsa_String package_name;
90 uint8_t *data;/* [unique,size_is(length)] */
91 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
93 enum netr_LogonInfoClass
94 #ifndef USE_UINT_ENUMS
96 NetlogonInteractiveInformation=1,
97 NetlogonNetworkInformation=2,
98 NetlogonServiceInformation=3,
99 NetlogonGenericInformation=4,
100 NetlogonInteractiveTransitiveInformation=5,
101 NetlogonNetworkTransitiveInformation=6,
102 NetlogonServiceTransitiveInformation=7
105 { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
106 #define NetlogonInteractiveInformation ( 1 )
107 #define NetlogonNetworkInformation ( 2 )
108 #define NetlogonServiceInformation ( 3 )
109 #define NetlogonGenericInformation ( 4 )
110 #define NetlogonInteractiveTransitiveInformation ( 5 )
111 #define NetlogonNetworkTransitiveInformation ( 6 )
112 #define NetlogonServiceTransitiveInformation ( 7 )
116 union netr_LogonLevel {
117 struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
118 struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
119 struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
120 }/* [public,switch_type(netr_LogonInfoClass)] */;
122 struct netr_UserSessionKey {
124 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
126 struct netr_LMSessionKey {
128 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
130 /* bitmap netr_UserFlags */
131 #define NETLOGON_GUEST ( 0x00000001 )
132 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
133 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
134 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
135 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
136 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
137 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
138 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
139 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
140 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
141 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
143 struct netr_SamBaseInfo {
147 NTTIME last_password_change;
148 NTTIME allow_password_change;
149 NTTIME force_password_change;
150 struct lsa_String account_name;
151 struct lsa_String full_name;
152 struct lsa_String logon_script;
153 struct lsa_String profile_path;
154 struct lsa_String home_directory;
155 struct lsa_String home_drive;
156 uint16_t logon_count;
157 uint16_t bad_password_count;
159 uint32_t primary_gid;
160 struct samr_RidWithAttributeArray groups;
162 struct netr_UserSessionKey key;
163 struct lsa_StringLarge logon_server;
164 struct lsa_StringLarge domain;
165 struct dom_sid2 *domain_sid;/* [unique] */
166 struct netr_LMSessionKey LMSessKey;
171 struct netr_SamInfo2 {
172 struct netr_SamBaseInfo base;
175 struct netr_SidAttr {
176 struct dom_sid2 *sid;/* [unique] */
180 struct netr_SamInfo3 {
181 struct netr_SamBaseInfo base;
183 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
186 struct netr_SamInfo6 {
187 struct netr_SamBaseInfo base;
189 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
190 struct lsa_String forest;
191 struct lsa_String principle;
192 uint32_t unknown4[20];
195 struct netr_PacInfo {
197 uint8_t *pac;/* [unique,size_is(pac_size)] */
198 struct lsa_String logon_domain;
199 struct lsa_String logon_server;
200 struct lsa_String principal_name;
202 uint8_t *auth;/* [unique,size_is(auth_size)] */
203 struct netr_UserSessionKey user_session_key;
204 uint32_t expansionroom[10];
205 struct lsa_String unknown1;
206 struct lsa_String unknown2;
207 struct lsa_String unknown3;
208 struct lsa_String unknown4;
211 struct netr_GenericInfo2 {
213 uint8_t *data;/* [unique,size_is(length)] */
214 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
216 enum netr_ValidationInfoClass
217 #ifndef USE_UINT_ENUMS
219 NetlogonValidationUasInfo=1,
220 NetlogonValidationSamInfo=2,
221 NetlogonValidationSamInfo2=3,
222 NetlogonValidationGenericInfo2=5,
223 NetlogonValidationSamInfo4=6
226 { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
227 #define NetlogonValidationUasInfo ( 1 )
228 #define NetlogonValidationSamInfo ( 2 )
229 #define NetlogonValidationSamInfo2 ( 3 )
230 #define NetlogonValidationGenericInfo2 ( 5 )
231 #define NetlogonValidationSamInfo4 ( 6 )
235 union netr_Validation {
236 struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
237 struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
238 struct netr_PacInfo *pac;/* [unique,case(4)] */
239 struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
240 struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
241 }/* [public,switch_type(uint16)] */;
243 struct netr_Credential {
245 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
247 struct netr_Authenticator {
248 struct netr_Credential cred;
252 struct netr_DELTA_DELETE_USER {
253 const char *account_name;/* [unique,charset(UTF16)] */
254 struct lsa_String unknown1;
255 struct lsa_String unknown2;
256 struct lsa_String unknown3;
257 struct lsa_String unknown4;
264 struct netr_USER_KEY16 {
266 uint16_t size;/* [value(length)] */
268 struct samr_Password pwd;
271 struct netr_PasswordHistory {
273 uint16_t nt_size;/* [value(nt_length)] */
276 uint16_t lm_size;/* [value(lm_length)] */
282 struct netr_USER_KEYS2 {
283 struct netr_USER_KEY16 lmpassword;
284 struct netr_USER_KEY16 ntpassword;
285 struct netr_PasswordHistory history;
288 struct netr_USER_KEY_UNION {
289 struct netr_USER_KEYS2 keys2;
292 struct netr_USER_KEYS {
294 struct netr_USER_KEY_UNION keys;
297 struct netr_USER_PRIVATE_INFO {
298 uint8_t SensitiveDataFlag;
300 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
303 struct netr_DELTA_USER {
304 struct lsa_String account_name;
305 struct lsa_String full_name;
307 uint32_t primary_gid;
308 struct lsa_String home_directory;
309 struct lsa_String home_drive;
310 struct lsa_String logon_script;
311 struct lsa_String description;
312 struct lsa_String workstations;
315 struct samr_LogonHours logon_hours;
316 uint16_t bad_password_count;
317 uint16_t logon_count;
318 NTTIME last_password_change;
321 struct samr_Password lmpassword;
322 struct samr_Password ntpassword;
323 uint8_t nt_password_present;
324 uint8_t lm_password_present;
325 uint8_t password_expired;
326 struct lsa_String comment;
327 struct lsa_BinaryString parameters;
328 uint16_t country_code;
330 struct netr_USER_PRIVATE_INFO user_private_info;
331 uint32_t SecurityInformation;
332 struct sec_desc_buf sdbuf;
333 struct lsa_String profile_path;
334 struct lsa_String unknown2;
335 struct lsa_String unknown3;
336 struct lsa_String unknown4;
343 struct netr_DELTA_DOMAIN {
344 struct lsa_String domain_name;
345 struct lsa_String oem_information;
346 int64_t force_logoff_time;
347 uint16_t min_password_length;
348 uint16_t password_history_length;
349 int64_t max_password_age;
350 int64_t min_password_age;
351 uint64_t sequence_num;
352 NTTIME domain_create_time;
353 uint32_t SecurityInformation;
354 struct sec_desc_buf sdbuf;
355 struct lsa_BinaryString account_lockout;
356 struct lsa_String unknown2;
357 struct lsa_String unknown3;
358 struct lsa_String unknown4;
359 uint32_t logon_to_chgpass;
365 struct netr_DELTA_GROUP {
366 struct lsa_String group_name;
369 struct lsa_String description;
370 uint32_t SecurityInformation;
371 struct sec_desc_buf sdbuf;
372 struct lsa_String unknown1;
373 struct lsa_String unknown2;
374 struct lsa_String unknown3;
375 struct lsa_String unknown4;
382 struct netr_DELTA_RENAME {
383 struct lsa_String OldName;
384 struct lsa_String NewName;
385 struct lsa_String unknown1;
386 struct lsa_String unknown2;
387 struct lsa_String unknown3;
388 struct lsa_String unknown4;
395 struct netr_DELTA_GROUP_MEMBER {
396 uint32_t *rids;/* [unique,size_is(num_rids)] */
397 uint32_t *attribs;/* [unique,size_is(num_rids)] */
405 struct netr_DELTA_ALIAS {
406 struct lsa_String alias_name;
408 uint32_t SecurityInformation;
409 struct sec_desc_buf sdbuf;
410 struct lsa_String description;
411 struct lsa_String unknown2;
412 struct lsa_String unknown3;
413 struct lsa_String unknown4;
420 struct netr_DELTA_ALIAS_MEMBER {
421 struct lsa_SidArray sids;
428 struct netr_QUOTA_LIMITS {
429 uint32_t pagedpoollimit;
430 uint32_t nonpagedpoollimit;
431 uint32_t minimumworkingsetsize;
432 uint32_t maximumworkingsetsize;
433 uint32_t pagefilelimit;
437 struct netr_DELTA_POLICY {
439 NTTIME auditretentionperiod;
440 uint8_t auditingmode;
441 uint32_t maxauditeventcount;
442 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
443 struct lsa_String primary_domain_name;
444 struct dom_sid2 *sid;/* [unique] */
445 struct netr_QUOTA_LIMITS quota_limits;
446 uint64_t sequence_num;
447 NTTIME db_create_time;
448 uint32_t SecurityInformation;
449 struct sec_desc_buf sdbuf;
450 struct lsa_String unknown1;
451 struct lsa_String unknown2;
452 struct lsa_String unknown3;
453 struct lsa_String unknown4;
460 struct netr_DELTA_TRUSTED_DOMAIN {
461 struct lsa_String domain_name;
462 uint32_t num_controllers;
463 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
464 uint32_t SecurityInformation;
465 struct sec_desc_buf sdbuf;
466 struct lsa_String unknown1;
467 struct lsa_String unknown2;
468 struct lsa_String unknown3;
469 struct lsa_String unknown4;
470 uint32_t posix_offset;
476 struct netr_DELTA_DELETE_TRUST {
480 struct netr_DELTA_ACCOUNT {
481 uint32_t privilege_entries;
482 uint32_t privilege_control;
483 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
484 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
485 struct netr_QUOTA_LIMITS quotalimits;
486 uint32_t system_flags;
487 uint32_t SecurityInformation;
488 struct sec_desc_buf sdbuf;
489 struct lsa_String unknown1;
490 struct lsa_String unknown2;
491 struct lsa_String unknown3;
492 struct lsa_String unknown4;
499 struct netr_DELTA_DELETE_ACCOUNT {
503 struct netr_DELTA_DELETE_SECRET {
507 struct netr_CIPHER_VALUE {
510 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
513 struct netr_DELTA_SECRET {
514 struct netr_CIPHER_VALUE current_cipher;
515 NTTIME current_cipher_set_time;
516 struct netr_CIPHER_VALUE old_cipher;
517 NTTIME old_cipher_set_time;
518 uint32_t SecurityInformation;
519 struct sec_desc_buf sdbuf;
520 struct lsa_String unknown1;
521 struct lsa_String unknown2;
522 struct lsa_String unknown3;
523 struct lsa_String unknown4;
531 #ifndef USE_UINT_ENUMS
535 NETR_DELTA_DELETE_GROUP=3,
536 NETR_DELTA_RENAME_GROUP=4,
538 NETR_DELTA_DELETE_USER=6,
539 NETR_DELTA_RENAME_USER=7,
540 NETR_DELTA_GROUP_MEMBER=8,
542 NETR_DELTA_DELETE_ALIAS=10,
543 NETR_DELTA_RENAME_ALIAS=11,
544 NETR_DELTA_ALIAS_MEMBER=12,
545 NETR_DELTA_POLICY=13,
546 NETR_DELTA_TRUSTED_DOMAIN=14,
547 NETR_DELTA_DELETE_TRUST=15,
548 NETR_DELTA_ACCOUNT=16,
549 NETR_DELTA_DELETE_ACCOUNT=17,
550 NETR_DELTA_SECRET=18,
551 NETR_DELTA_DELETE_SECRET=19,
552 NETR_DELTA_DELETE_GROUP2=20,
553 NETR_DELTA_DELETE_USER2=21,
554 NETR_DELTA_MODIFY_COUNT=22
557 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
558 #define NETR_DELTA_DOMAIN ( 1 )
559 #define NETR_DELTA_GROUP ( 2 )
560 #define NETR_DELTA_DELETE_GROUP ( 3 )
561 #define NETR_DELTA_RENAME_GROUP ( 4 )
562 #define NETR_DELTA_USER ( 5 )
563 #define NETR_DELTA_DELETE_USER ( 6 )
564 #define NETR_DELTA_RENAME_USER ( 7 )
565 #define NETR_DELTA_GROUP_MEMBER ( 8 )
566 #define NETR_DELTA_ALIAS ( 9 )
567 #define NETR_DELTA_DELETE_ALIAS ( 10 )
568 #define NETR_DELTA_RENAME_ALIAS ( 11 )
569 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
570 #define NETR_DELTA_POLICY ( 13 )
571 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
572 #define NETR_DELTA_DELETE_TRUST ( 15 )
573 #define NETR_DELTA_ACCOUNT ( 16 )
574 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
575 #define NETR_DELTA_SECRET ( 18 )
576 #define NETR_DELTA_DELETE_SECRET ( 19 )
577 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
578 #define NETR_DELTA_DELETE_USER2 ( 21 )
579 #define NETR_DELTA_MODIFY_COUNT ( 22 )
583 union netr_DELTA_UNION {
584 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
585 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
586 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
587 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
588 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
589 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
590 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
591 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
592 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
593 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
594 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
595 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
596 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
597 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
598 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
599 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
600 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
601 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
602 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
603 }/* [switch_type(netr_DeltaEnum)] */;
605 union netr_DELTA_ID_UNION {
606 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
607 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
608 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
609 }/* [switch_type(netr_DeltaEnum)] */;
611 struct netr_DELTA_ENUM {
612 enum netr_DeltaEnum delta_type;
613 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
614 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
617 struct netr_DELTA_ENUM_ARRAY {
619 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
622 struct netr_UAS_INFO_0 {
623 uint8_t computer_name[16];
624 uint32_t timecreated;
625 uint32_t serial_number;
626 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
628 struct netr_AccountBuffer {
629 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
632 /* bitmap netr_InfoFlags */
633 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
634 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
635 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
637 struct netr_NETLOGON_INFO_1 {
639 uint32_t pdc_connection_status;
642 struct netr_NETLOGON_INFO_2 {
644 uint32_t pdc_connection_status;
645 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
646 uint32_t tc_connection_status;
649 struct netr_NETLOGON_INFO_3 {
651 uint32_t logon_attempts;
659 struct netr_NETLOGON_INFO_4 {
660 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
661 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
664 union netr_CONTROL_QUERY_INFORMATION {
665 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
666 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
667 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
668 struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
671 enum netr_LogonControlCode
672 #ifndef USE_UINT_ENUMS
674 NETLOGON_CONTROL_QUERY=0x00000001,
675 NETLOGON_CONTROL_REPLICATE=0x00000002,
676 NETLOGON_CONTROL_SYNCHRONIZE=0x00000003,
677 NETLOGON_CONTROL_PDC_REPLICATE=0x00000004,
678 NETLOGON_CONTROL_REDISCOVER=0x00000005,
679 NETLOGON_CONTROL_TC_QUERY=0x00000006,
680 NETLOGON_CONTROL_TRANSPORT_NOTIFY=0x00000007,
681 NETLOGON_CONTROL_FIND_USER=0x00000008,
682 NETLOGON_CONTROL_CHANGE_PASSWORD=0x00000009,
683 NETLOGON_CONTROL_TC_VERIFY=0x0000000A,
684 NETLOGON_CONTROL_FORCE_DNS_REG=0x0000000B,
685 NETLOGON_CONTROL_QUERY_DNS_REG=0x0000000C,
686 NETLOGON_CONTROL_BACKUP_CHANGE_LOG=0x0000FFFC,
687 NETLOGON_CONTROL_TRUNCATE_LOG=0x0000FFFD,
688 NETLOGON_CONTROL_SET_DBFLAG=0x0000FFFE,
689 NETLOGON_CONTROL_BREAKPOINT=0x0000FFFF
692 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
693 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
694 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
695 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
696 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
697 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
698 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
699 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
700 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
701 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
702 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
703 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
704 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
705 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
706 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
707 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
708 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
712 union netr_CONTROL_DATA_INFORMATION {
713 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
714 const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
715 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
718 /* bitmap netr_NegotiateFlags */
719 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
720 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
721 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
722 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
723 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
724 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
725 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
726 #define NETLOGON_NEG_REDO ( 0x00000080 )
727 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
728 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
729 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
730 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
731 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
732 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
733 #define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
734 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
735 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
736 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
737 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
738 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
739 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
740 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
741 #define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
742 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
743 #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
745 /* bitmap netr_ChangeLogFlags */
746 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
747 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
748 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
749 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
750 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
752 union netr_ChangeLogObject {
753 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
754 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
755 }/* [nodiscriminant] */;
757 struct netr_ChangeLogEntry {
758 uint32_t serial_number1;
759 uint32_t serial_number2;
762 enum netr_SamDatabaseID8Bit db_index;
763 enum netr_DeltaEnum8Bit delta_type;
764 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
765 }/* [gensize,public] */;
769 uint8_t *data;/* [unique,size_is(length)] */
772 /* bitmap netr_DsRGetDCName_flags */
773 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
774 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
775 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
776 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
777 #define DS_PDC_REQUIRED ( 0x00000080 )
778 #define DS_BACKGROUND_ONLY ( 0x00000100 )
779 #define DS_IP_REQUIRED ( 0x00000200 )
780 #define DS_KDC_REQUIRED ( 0x00000400 )
781 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
782 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
783 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
784 #define DS_AVOID_SELF ( 0x00004000 )
785 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
786 #define DS_IS_FLAT_NAME ( 0x00010000 )
787 #define DS_IS_DNS_NAME ( 0x00020000 )
788 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
789 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
790 #define DS_RETURN_DNS_NAME ( 0x40000000 )
791 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
793 enum netr_DsRGetDCNameInfo_AddressType
794 #ifndef USE_UINT_ENUMS
796 DS_ADDRESS_TYPE_INET=1,
797 DS_ADDRESS_TYPE_NETBIOS=2
800 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
801 #define DS_ADDRESS_TYPE_INET ( 1 )
802 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
806 /* bitmap netr_DsR_DcFlags */
807 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
808 #define DS_SERVER_GC ( NBT_SERVER_GC )
809 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
810 #define DS_SERVER_DS ( NBT_SERVER_DS )
811 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
812 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
813 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
814 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
815 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
816 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
817 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
818 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
819 #define DS_DNS_CONTROLLER ( 0x20000000 )
820 #define DS_DNS_DOMAIN ( 0x40000000 )
821 #define DS_DNS_FOREST ( 0x80000000 )
823 struct netr_DsRGetDCNameInfo {
824 const char *dc_unc;/* [unique,charset(UTF16)] */
825 const char *dc_address;/* [unique,charset(UTF16)] */
826 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
827 struct GUID domain_guid;
828 const char *domain_name;/* [unique,charset(UTF16)] */
829 const char *forest_name;/* [unique,charset(UTF16)] */
831 const char *dc_site_name;/* [unique,charset(UTF16)] */
832 const char *client_site_name;/* [unique,charset(UTF16)] */
835 union netr_Capabilities {
836 uint32_t server_capabilities;/* [case] */
837 }/* [switch_type(uint32)] */;
839 /* bitmap netr_TrustFlags */
840 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
841 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
842 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
843 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
844 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
845 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
846 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
847 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
849 struct netr_DomainQuery1 {
850 struct netr_Blob blob;
851 const char *workstation_domain;/* [unique,charset(UTF16)] */
852 const char *workstation_site;/* [unique,charset(UTF16)] */
853 const char *unknown1;/* [unique,charset(UTF16)] */
854 const char *unknown2;/* [unique,charset(UTF16)] */
855 const char *unknown3;/* [unique,charset(UTF16)] */
856 const char *unknown4;/* [unique,charset(UTF16)] */
857 struct lsa_BinaryString blob2;
858 struct lsa_String product;
859 struct lsa_String unknown5;
860 struct lsa_String unknown6;
861 uint32_t unknown7[4];
864 union netr_DomainQuery {
865 struct netr_DomainQuery1 *query1;/* [unique,case] */
868 struct netr_trust_extension {
869 uint32_t length;/* [value(8)] */
870 uint32_t dummy;/* [value(0)] */
871 uint32_t size;/* [value(8)] */
873 uint32_t parent_index;
875 uint32_t trust_attributes;
878 struct netr_trust_extension_container {
880 uint16_t size;/* [value(length)] */
881 struct netr_trust_extension *info;/* [unique] */
884 struct netr_DomainTrustInfo {
885 struct lsa_String domainname;
886 struct lsa_String fulldomainname;
887 struct lsa_String forest;
889 struct dom_sid2 *sid;/* [unique] */
890 struct netr_trust_extension_container trust_extension;
891 struct lsa_String dummystring[3];
895 struct netr_LsaPolicyInfo {
896 uint32_t policy_size;
897 uint8_t *policy;/* [unique,size_is(policy_size)] */
900 /* bitmap netr_WorkstationFlags */
901 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
902 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
904 struct netr_DomainInfo1 {
905 struct netr_DomainTrustInfo domaininfo;
907 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
908 struct netr_LsaPolicyInfo lsa_policy;
909 struct lsa_String dns_hostname;
910 struct lsa_String dummystring[3];
911 uint32_t workstation_flags;
912 uint32_t supported_enc_types;
916 union netr_DomainInfo {
917 struct netr_DomainInfo1 *info1;/* [unique,case] */
918 struct netr_DomainInfo1 *info2;/* [unique,case(2)] */
921 struct netr_CryptPassword {
924 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
926 struct netr_DsRAddressToSitenamesWCtr {
928 struct lsa_String *sitename;/* [unique,size_is(count)] */
931 struct netr_DsRAddress {
932 uint8_t *buffer;/* [unique,size_is(size)] */
937 #ifndef USE_UINT_ENUMS
939 NETR_TRUST_TYPE_DOWNLEVEL=1,
940 NETR_TRUST_TYPE_UPLEVEL=2,
941 NETR_TRUST_TYPE_MIT=3,
942 NETR_TRUST_TYPE_DCE=4
945 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
946 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
947 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
948 #define NETR_TRUST_TYPE_MIT ( 3 )
949 #define NETR_TRUST_TYPE_DCE ( 4 )
953 /* bitmap netr_TrustAttributes */
954 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
955 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
956 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
957 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
958 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
959 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
960 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
962 struct netr_DomainTrust {
963 const char *netbios_name;/* [unique,charset(UTF16)] */
964 const char *dns_name;/* [unique,charset(UTF16)] */
965 uint32_t trust_flags;
966 uint32_t parent_index;
967 enum netr_TrustType trust_type;
968 uint32_t trust_attributes;
969 struct dom_sid2 *sid;/* [unique] */
973 struct netr_DomainTrustList {
975 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
978 struct netr_DsRAddressToSitenamesExWCtr {
980 struct lsa_String *sitename;/* [unique,size_is(count)] */
981 struct lsa_String *subnetname;/* [unique,size_is(count)] */
986 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
989 struct netr_TrustInfo {
991 uint32_t *data;/* [unique,size_is(count)] */
992 uint32_t entry_count;
993 struct lsa_String *entries;/* [unique,size_is(count)] */
997 struct netr_LogonUasLogon {
999 const char *server_name;/* [unique,charset(UTF16)] */
1000 const char *account_name;/* [charset(UTF16)] */
1001 const char *workstation;/* [charset(UTF16)] */
1005 struct netr_UasInfo **info;/* [ref] */
1012 struct netr_LogonUasLogoff {
1014 const char *server_name;/* [unique,charset(UTF16)] */
1015 const char *account_name;/* [charset(UTF16)] */
1016 const char *workstation;/* [charset(UTF16)] */
1020 struct netr_UasLogoffInfo *info;/* [ref] */
1027 struct netr_LogonSamLogon {
1029 const char *server_name;/* [unique,charset(UTF16)] */
1030 const char *computer_name;/* [unique,charset(UTF16)] */
1031 struct netr_Authenticator *credential;/* [unique] */
1032 enum netr_LogonInfoClass logon_level;
1033 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1034 uint16_t validation_level;
1035 struct netr_Authenticator *return_authenticator;/* [unique] */
1039 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1040 uint8_t *authoritative;/* [ref] */
1041 struct netr_Authenticator *return_authenticator;/* [unique] */
1048 struct netr_LogonSamLogoff {
1050 const char *server_name;/* [unique,charset(UTF16)] */
1051 const char *computer_name;/* [unique,charset(UTF16)] */
1052 struct netr_Authenticator *credential;/* [unique] */
1053 enum netr_LogonInfoClass logon_level;
1054 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1055 struct netr_Authenticator *return_authenticator;/* [unique] */
1059 struct netr_Authenticator *return_authenticator;/* [unique] */
1066 struct netr_ServerReqChallenge {
1068 const char *server_name;/* [unique,charset(UTF16)] */
1069 const char *computer_name;/* [charset(UTF16)] */
1070 struct netr_Credential *credentials;/* [ref] */
1074 struct netr_Credential *return_credentials;/* [ref] */
1081 struct netr_ServerAuthenticate {
1083 const char *server_name;/* [unique,charset(UTF16)] */
1084 const char *account_name;/* [charset(UTF16)] */
1085 enum netr_SchannelType secure_channel_type;
1086 const char *computer_name;/* [charset(UTF16)] */
1087 struct netr_Credential *credentials;/* [ref] */
1091 struct netr_Credential *return_credentials;/* [ref] */
1098 struct netr_ServerPasswordSet {
1100 const char *server_name;/* [unique,charset(UTF16)] */
1101 const char *account_name;/* [charset(UTF16)] */
1102 enum netr_SchannelType secure_channel_type;
1103 const char *computer_name;/* [charset(UTF16)] */
1104 struct netr_Authenticator *credential;/* [ref] */
1105 struct samr_Password *new_password;/* [ref] */
1109 struct netr_Authenticator *return_authenticator;/* [ref] */
1116 struct netr_DatabaseDeltas {
1118 const char *logon_server;/* [charset(UTF16)] */
1119 const char *computername;/* [charset(UTF16)] */
1120 struct netr_Authenticator *credential;/* [ref] */
1121 enum netr_SamDatabaseID database_id;
1122 uint32_t preferredmaximumlength;
1123 struct netr_Authenticator *return_authenticator;/* [ref] */
1124 uint64_t *sequence_num;/* [ref] */
1128 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1129 struct netr_Authenticator *return_authenticator;/* [ref] */
1130 uint64_t *sequence_num;/* [ref] */
1137 struct netr_DatabaseSync {
1139 const char *logon_server;/* [charset(UTF16)] */
1140 const char *computername;/* [charset(UTF16)] */
1141 struct netr_Authenticator *credential;/* [ref] */
1142 enum netr_SamDatabaseID database_id;
1143 uint32_t preferredmaximumlength;
1144 struct netr_Authenticator *return_authenticator;/* [ref] */
1145 uint32_t *sync_context;/* [ref] */
1149 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1150 struct netr_Authenticator *return_authenticator;/* [ref] */
1151 uint32_t *sync_context;/* [ref] */
1158 struct netr_AccountDeltas {
1160 const char *logon_server;/* [unique,charset(UTF16)] */
1161 const char *computername;/* [charset(UTF16)] */
1162 struct netr_Authenticator credential;
1163 struct netr_UAS_INFO_0 uas;
1166 uint32_t buffersize;
1167 struct netr_Authenticator *return_authenticator;/* [ref] */
1171 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1172 uint32_t *count_returned;/* [ref] */
1173 uint32_t *total_entries;/* [ref] */
1174 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1175 struct netr_Authenticator *return_authenticator;/* [ref] */
1182 struct netr_AccountSync {
1184 const char *logon_server;/* [unique,charset(UTF16)] */
1185 const char *computername;/* [charset(UTF16)] */
1186 struct netr_Authenticator credential;
1189 uint32_t buffersize;
1190 struct netr_Authenticator *return_authenticator;/* [ref] */
1191 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1195 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1196 uint32_t *count_returned;/* [ref] */
1197 uint32_t *total_entries;/* [ref] */
1198 uint32_t *next_reference;/* [ref] */
1199 struct netr_Authenticator *return_authenticator;/* [ref] */
1200 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1207 struct netr_GetDcName {
1209 const char *logon_server;/* [charset(UTF16)] */
1210 const char *domainname;/* [unique,charset(UTF16)] */
1214 const char **dcname;/* [ref,charset(UTF16)] */
1221 struct netr_LogonControl {
1223 const char *logon_server;/* [unique,charset(UTF16)] */
1224 enum netr_LogonControlCode function_code;
1229 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1236 struct netr_GetAnyDCName {
1238 const char *logon_server;/* [unique,charset(UTF16)] */
1239 const char *domainname;/* [unique,charset(UTF16)] */
1243 const char **dcname;/* [ref,charset(UTF16)] */
1250 struct netr_LogonControl2 {
1252 const char *logon_server;/* [unique,charset(UTF16)] */
1253 enum netr_LogonControlCode function_code;
1255 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1259 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1266 struct netr_ServerAuthenticate2 {
1268 const char *server_name;/* [unique,charset(UTF16)] */
1269 const char *account_name;/* [charset(UTF16)] */
1270 enum netr_SchannelType secure_channel_type;
1271 const char *computer_name;/* [charset(UTF16)] */
1272 struct netr_Credential *credentials;/* [ref] */
1273 uint32_t *negotiate_flags;/* [ref] */
1277 struct netr_Credential *return_credentials;/* [ref] */
1278 uint32_t *negotiate_flags;/* [ref] */
1285 struct netr_DatabaseSync2 {
1287 const char *logon_server;/* [charset(UTF16)] */
1288 const char *computername;/* [charset(UTF16)] */
1289 struct netr_Authenticator *credential;/* [ref] */
1290 enum netr_SamDatabaseID database_id;
1291 uint16_t restart_state;
1292 uint32_t preferredmaximumlength;
1293 struct netr_Authenticator *return_authenticator;/* [ref] */
1294 uint32_t *sync_context;/* [ref] */
1298 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1299 struct netr_Authenticator *return_authenticator;/* [ref] */
1300 uint32_t *sync_context;/* [ref] */
1307 struct netr_DatabaseRedo {
1309 const char *logon_server;/* [charset(UTF16)] */
1310 const char *computername;/* [charset(UTF16)] */
1311 struct netr_Authenticator *credential;/* [ref] */
1312 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1313 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1314 struct netr_Authenticator *return_authenticator;/* [ref] */
1318 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1319 struct netr_Authenticator *return_authenticator;/* [ref] */
1326 struct netr_LogonControl2Ex {
1328 const char *logon_server;/* [unique,charset(UTF16)] */
1329 enum netr_LogonControlCode function_code;
1331 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1335 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1342 struct netr_NetrEnumerateTrustedDomains {
1344 const char *server_name;/* [unique,charset(UTF16)] */
1348 struct netr_Blob *trusted_domains_blob;/* [ref] */
1355 struct netr_DsRGetDCName {
1357 const char *server_unc;/* [unique,charset(UTF16)] */
1358 const char *domain_name;/* [unique,charset(UTF16)] */
1359 struct GUID *domain_guid;/* [unique] */
1360 struct GUID *site_guid;/* [unique] */
1365 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1372 struct netr_LogonGetCapabilities {
1374 const char *server_name;/* [charset(UTF16)] */
1375 const char *computer_name;/* [unique,charset(UTF16)] */
1376 struct netr_Authenticator *credential;/* [ref] */
1377 uint32_t query_level;
1378 struct netr_Authenticator *return_authenticator;/* [ref] */
1382 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1383 struct netr_Authenticator *return_authenticator;/* [ref] */
1390 struct netr_NETRLOGONSETSERVICEBITS {
1398 struct netr_LogonGetTrustRid {
1400 const char *server_name;/* [unique,charset(UTF16)] */
1401 const char *domain_name;/* [unique,charset(UTF16)] */
1405 uint32_t *rid;/* [ref] */
1412 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1420 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1428 struct netr_ServerAuthenticate3 {
1430 const char *server_name;/* [unique,charset(UTF16)] */
1431 const char *account_name;/* [charset(UTF16)] */
1432 enum netr_SchannelType secure_channel_type;
1433 const char *computer_name;/* [charset(UTF16)] */
1434 struct netr_Credential *credentials;/* [ref] */
1435 uint32_t *negotiate_flags;/* [ref] */
1439 struct netr_Credential *return_credentials;/* [ref] */
1440 uint32_t *rid;/* [ref] */
1441 uint32_t *negotiate_flags;/* [ref] */
1448 struct netr_DsRGetDCNameEx {
1450 const char *server_unc;/* [unique,charset(UTF16)] */
1451 const char *domain_name;/* [unique,charset(UTF16)] */
1452 struct GUID *domain_guid;/* [unique] */
1453 const char *site_name;/* [unique,charset(UTF16)] */
1458 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1465 struct netr_DsRGetSiteName {
1467 const char *computer_name;/* [unique,charset(UTF16)] */
1471 const char **site;/* [ref,charset(UTF16)] */
1478 struct netr_LogonGetDomainInfo {
1480 const char *server_name;/* [charset(UTF16)] */
1481 const char *computer_name;/* [unique,charset(UTF16)] */
1482 struct netr_Authenticator *credential;/* [ref] */
1484 union netr_DomainQuery query;/* [switch_is(level)] */
1485 struct netr_Authenticator *return_authenticator;/* [ref] */
1489 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1490 struct netr_Authenticator *return_authenticator;/* [ref] */
1497 struct netr_ServerPasswordSet2 {
1499 const char *server_name;/* [unique,charset(UTF16)] */
1500 const char *account_name;/* [charset(UTF16)] */
1501 enum netr_SchannelType secure_channel_type;
1502 const char *computer_name;/* [charset(UTF16)] */
1503 struct netr_Authenticator *credential;/* [ref] */
1504 struct netr_CryptPassword *new_password;/* [ref] */
1508 struct netr_Authenticator *return_authenticator;/* [ref] */
1515 struct netr_ServerPasswordGet {
1517 const char *server_name;/* [unique,charset(UTF16)] */
1518 const char *account_name;/* [charset(UTF16)] */
1519 enum netr_SchannelType secure_channel_type;
1520 const char *computer_name;/* [charset(UTF16)] */
1521 struct netr_Authenticator *credential;/* [ref] */
1525 struct netr_Authenticator *return_authenticator;/* [ref] */
1526 struct samr_Password *password;/* [ref] */
1533 struct netr_NETRLOGONSENDTOSAM {
1541 struct netr_DsRAddressToSitenamesW {
1543 const char *server_name;/* [unique,charset(UTF16)] */
1544 uint32_t count;/* [range(0,32000)] */
1545 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1549 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1556 struct netr_DsRGetDCNameEx2 {
1558 const char *server_unc;/* [unique,charset(UTF16)] */
1559 const char *client_account;/* [unique,charset(UTF16)] */
1561 const char *domain_name;/* [unique,charset(UTF16)] */
1562 struct GUID *domain_guid;/* [unique] */
1563 const char *site_name;/* [unique,charset(UTF16)] */
1568 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1575 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1583 struct netr_NetrEnumerateTrustedDomainsEx {
1585 const char *server_name;/* [unique,charset(UTF16)] */
1589 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1596 struct netr_DsRAddressToSitenamesExW {
1598 const char *server_name;/* [unique,charset(UTF16)] */
1599 uint32_t count;/* [range(0,32000)] */
1600 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1604 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1611 struct netr_DsrGetDcSiteCoverageW {
1613 const char *server_name;/* [unique,charset(UTF16)] */
1617 struct DcSitesCtr **ctr;/* [ref] */
1624 struct netr_LogonSamLogonEx {
1626 const char *server_name;/* [unique,charset(UTF16)] */
1627 const char *computer_name;/* [unique,charset(UTF16)] */
1628 enum netr_LogonInfoClass logon_level;
1629 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1630 uint16_t validation_level;
1631 uint32_t *flags;/* [ref] */
1635 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1636 uint8_t *authoritative;/* [ref] */
1637 uint32_t *flags;/* [ref] */
1644 struct netr_DsrEnumerateDomainTrusts {
1646 const char *server_name;/* [unique,charset(UTF16)] */
1647 uint32_t trust_flags;
1651 struct netr_DomainTrustList *trusts;/* [ref] */
1658 struct netr_DsrDeregisterDNSHostRecords {
1660 const char *server_name;/* [unique,charset(UTF16)] */
1661 const char *domain;/* [unique,charset(UTF16)] */
1662 struct GUID *domain_guid;/* [unique] */
1663 struct GUID *dsa_guid;/* [unique] */
1664 const char *dns_host;/* [ref,charset(UTF16)] */
1674 struct netr_ServerTrustPasswordsGet {
1676 const char *server_name;/* [unique,charset(UTF16)] */
1677 const char *account_name;/* [charset(UTF16)] */
1678 enum netr_SchannelType secure_channel_type;
1679 const char *computer_name;/* [charset(UTF16)] */
1680 struct netr_Authenticator *credential;/* [ref] */
1684 struct netr_Authenticator *return_authenticator;/* [ref] */
1685 struct samr_Password *password;/* [ref] */
1686 struct samr_Password *password2;/* [ref] */
1693 struct netr_DsRGetForestTrustInformation {
1695 const char *server_name;/* [unique,charset(UTF16)] */
1696 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1701 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1708 struct netr_GetForestTrustInformation {
1710 const char *server_name;/* [unique,charset(UTF16)] */
1711 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1712 struct netr_Authenticator *credential;/* [ref] */
1717 struct netr_Authenticator *return_authenticator;/* [ref] */
1718 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1725 struct netr_LogonSamLogonWithFlags {
1727 const char *server_name;/* [unique,charset(UTF16)] */
1728 const char *computer_name;/* [unique,charset(UTF16)] */
1729 struct netr_Authenticator *credential;/* [unique] */
1730 enum netr_LogonInfoClass logon_level;
1731 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1732 uint16_t validation_level;
1733 struct netr_Authenticator *return_authenticator;/* [unique] */
1734 uint32_t *flags;/* [ref] */
1738 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1739 uint8_t *authoritative;/* [ref] */
1740 struct netr_Authenticator *return_authenticator;/* [unique] */
1741 uint32_t *flags;/* [ref] */
1748 struct netr_ServerGetTrustInfo {
1750 const char *server_name;/* [unique,charset(UTF16)] */
1751 const char *account_name;/* [ref,charset(UTF16)] */
1752 enum netr_SchannelType secure_channel_type;
1753 const char *computer_name;/* [ref,charset(UTF16)] */
1754 struct netr_Authenticator *credential;/* [ref] */
1758 struct netr_Authenticator *return_authenticator;/* [ref] */
1759 struct samr_Password *new_owf_password;/* [ref] */
1760 struct samr_Password *old_owf_password;/* [ref] */
1761 struct netr_TrustInfo **trust_info;/* [ref] */
1767 #endif /* _HEADER_netlogon */