1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/lsa.h"
9 #include "librpc/gen_ndr/samr.h"
10 #include "librpc/gen_ndr/security.h"
11 #include "librpc/gen_ndr/nbt.h"
12 #define netr_DeltaEnum8Bit netr_DeltaEnum
13 #define netr_SamDatabaseID8Bit netr_SamDatabaseID
14 #ifndef _HEADER_netlogon
15 #define _HEADER_netlogon
17 #define NETLOGON_NEG_128BIT ( NETLOGON_NEG_STRONG_KEYS )
18 #define NETLOGON_NEG_SCHANNEL ( NETLOGON_NEG_AUTHENTICATED_RPC )
19 #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) )
20 #define DS_GFTI_UPDATE_TDO ( 0x1 )
22 const char *account_name;/* [unique,charset(UTF16)] */
26 uint32_t bad_pw_count;
31 uint32_t password_age;
33 time_t pw_must_change;
34 const char *computer;/* [unique,charset(UTF16)] */
35 const char *domain;/* [unique,charset(UTF16)] */
36 const char *script_path;/* [unique,charset(UTF16)] */
40 struct netr_UasLogoffInfo {
45 struct netr_AcctLockStr {
46 int64_t lockout_duration;
48 uint32_t bad_attempt_lockout;
52 /* bitmap netr_LogonParameterControl */
53 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
54 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
55 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
56 #define MSV1_0_DONT_TRY_GUEST_ACCOUNT ( 0x00000010 )
57 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
58 #define MSV1_0_RETURN_PASSWORD_EXPIRY ( 0x00000040 )
59 #define MSV1_0_USE_CLIENT_CHALLENGE ( 0x00000080 )
60 #define MSV1_0_TRY_GUEST_ACCOUNT_ONLY ( 0x00000100 )
61 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
62 #define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY ( 0x00000400 )
63 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
64 #define MSV1_0_DISABLE_PERSONAL_FALLBACK ( 0x00001000 )
65 #define MSV1_0_ALLOW_FORCE_GUEST ( 0x00002000 )
66 #define MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED ( 0x00004000 )
67 #define MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY ( 0x00008000 )
68 #define MSV1_0_ALLOW_MSVCHAPV2 ( 0x00010000 )
69 #define MSV1_0_S4U2SELF ( 0x00020000 )
70 #define MSV1_0_CHECK_LOGONHOURS_FOR_S4U ( 0x00040000 )
71 #define MSV1_0_SUBAUTHENTICATION_DLL_EX ( 0x00100000 )
73 struct netr_IdentityInfo {
74 struct lsa_String domain_name;
75 uint32_t parameter_control;
76 uint32_t logon_id_low;
77 uint32_t logon_id_high;
78 struct lsa_String account_name;
79 struct lsa_String workstation;
82 struct netr_PasswordInfo {
83 struct netr_IdentityInfo identity_info;
84 struct samr_Password lmpassword;
85 struct samr_Password ntpassword;
88 struct netr_ChallengeResponse {
90 uint16_t size;/* [value(length)] */
91 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
92 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
94 struct netr_NetworkInfo {
95 struct netr_IdentityInfo identity_info;
97 struct netr_ChallengeResponse nt;
98 struct netr_ChallengeResponse lm;
99 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
101 struct netr_GenericInfo {
102 struct netr_IdentityInfo identity_info;
103 struct lsa_String package_name;
105 uint8_t *data;/* [unique,size_is(length)] */
106 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
108 enum netr_LogonInfoClass
109 #ifndef USE_UINT_ENUMS
111 NetlogonInteractiveInformation=1,
112 NetlogonNetworkInformation=2,
113 NetlogonServiceInformation=3,
114 NetlogonGenericInformation=4,
115 NetlogonInteractiveTransitiveInformation=5,
116 NetlogonNetworkTransitiveInformation=6,
117 NetlogonServiceTransitiveInformation=7
120 { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
121 #define NetlogonInteractiveInformation ( 1 )
122 #define NetlogonNetworkInformation ( 2 )
123 #define NetlogonServiceInformation ( 3 )
124 #define NetlogonGenericInformation ( 4 )
125 #define NetlogonInteractiveTransitiveInformation ( 5 )
126 #define NetlogonNetworkTransitiveInformation ( 6 )
127 #define NetlogonServiceTransitiveInformation ( 7 )
131 union netr_LogonLevel {
132 struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
133 struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
134 struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
135 }/* [public,switch_type(netr_LogonInfoClass)] */;
137 struct netr_UserSessionKey {
139 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
141 struct netr_LMSessionKey {
143 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
145 /* bitmap netr_UserFlags */
146 #define NETLOGON_GUEST ( 0x00000001 )
147 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
148 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
149 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
150 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
151 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
152 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
153 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
154 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
155 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
156 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
158 struct netr_SamBaseInfo {
162 NTTIME last_password_change;
163 NTTIME allow_password_change;
164 NTTIME force_password_change;
165 struct lsa_String account_name;
166 struct lsa_String full_name;
167 struct lsa_String logon_script;
168 struct lsa_String profile_path;
169 struct lsa_String home_directory;
170 struct lsa_String home_drive;
171 uint16_t logon_count;
172 uint16_t bad_password_count;
174 uint32_t primary_gid;
175 struct samr_RidWithAttributeArray groups;
177 struct netr_UserSessionKey key;
178 struct lsa_StringLarge logon_server;
179 struct lsa_StringLarge domain;
180 struct dom_sid2 *domain_sid;/* [unique] */
181 struct netr_LMSessionKey LMSessKey;
186 struct netr_SamInfo2 {
187 struct netr_SamBaseInfo base;
190 struct netr_SidAttr {
191 struct dom_sid2 *sid;/* [unique] */
195 struct netr_SamInfo3 {
196 struct netr_SamBaseInfo base;
198 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
201 struct netr_SamInfo6 {
202 struct netr_SamBaseInfo base;
204 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
205 struct lsa_String forest;
206 struct lsa_String principle;
207 uint32_t unknown4[20];
210 struct netr_PacInfo {
212 uint8_t *pac;/* [unique,size_is(pac_size)] */
213 struct lsa_String logon_domain;
214 struct lsa_String logon_server;
215 struct lsa_String principal_name;
217 uint8_t *auth;/* [unique,size_is(auth_size)] */
218 struct netr_UserSessionKey user_session_key;
219 uint32_t expansionroom[10];
220 struct lsa_String unknown1;
221 struct lsa_String unknown2;
222 struct lsa_String unknown3;
223 struct lsa_String unknown4;
226 struct netr_GenericInfo2 {
228 uint8_t *data;/* [unique,size_is(length)] */
229 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
231 enum netr_ValidationInfoClass
232 #ifndef USE_UINT_ENUMS
234 NetlogonValidationUasInfo=1,
235 NetlogonValidationSamInfo=2,
236 NetlogonValidationSamInfo2=3,
237 NetlogonValidationGenericInfo2=5,
238 NetlogonValidationSamInfo4=6
241 { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
242 #define NetlogonValidationUasInfo ( 1 )
243 #define NetlogonValidationSamInfo ( 2 )
244 #define NetlogonValidationSamInfo2 ( 3 )
245 #define NetlogonValidationGenericInfo2 ( 5 )
246 #define NetlogonValidationSamInfo4 ( 6 )
250 union netr_Validation {
251 struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
252 struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
253 struct netr_PacInfo *pac;/* [unique,case(4)] */
254 struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
255 struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
256 }/* [public,switch_type(uint16)] */;
258 struct netr_Credential {
260 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
262 struct netr_Authenticator {
263 struct netr_Credential cred;
267 struct netr_DELTA_DELETE_USER {
268 const char *account_name;/* [unique,charset(UTF16)] */
269 struct lsa_String unknown1;
270 struct lsa_String unknown2;
271 struct lsa_String unknown3;
272 struct lsa_String unknown4;
279 struct netr_USER_KEY16 {
281 uint16_t size;/* [value(length)] */
283 struct samr_Password pwd;
286 struct netr_PasswordHistory {
288 uint16_t nt_size;/* [value(nt_length)] */
291 uint16_t lm_size;/* [value(lm_length)] */
297 struct netr_USER_KEYS2 {
298 struct netr_USER_KEY16 lmpassword;
299 struct netr_USER_KEY16 ntpassword;
300 struct netr_PasswordHistory history;
303 struct netr_USER_KEY_UNION {
304 struct netr_USER_KEYS2 keys2;
307 struct netr_USER_KEYS {
309 struct netr_USER_KEY_UNION keys;
312 struct netr_USER_PRIVATE_INFO {
313 uint8_t SensitiveDataFlag;
315 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
318 struct netr_DELTA_USER {
319 struct lsa_String account_name;
320 struct lsa_String full_name;
322 uint32_t primary_gid;
323 struct lsa_String home_directory;
324 struct lsa_String home_drive;
325 struct lsa_String logon_script;
326 struct lsa_String description;
327 struct lsa_String workstations;
330 struct samr_LogonHours logon_hours;
331 uint16_t bad_password_count;
332 uint16_t logon_count;
333 NTTIME last_password_change;
336 struct samr_Password lmpassword;
337 struct samr_Password ntpassword;
338 uint8_t nt_password_present;
339 uint8_t lm_password_present;
340 uint8_t password_expired;
341 struct lsa_String comment;
342 struct lsa_BinaryString parameters;
343 uint16_t country_code;
345 struct netr_USER_PRIVATE_INFO user_private_info;
346 uint32_t SecurityInformation;
347 struct sec_desc_buf sdbuf;
348 struct lsa_String profile_path;
349 struct lsa_String unknown2;
350 struct lsa_String unknown3;
351 struct lsa_String unknown4;
358 struct netr_DELTA_DOMAIN {
359 struct lsa_String domain_name;
360 struct lsa_String oem_information;
361 int64_t force_logoff_time;
362 uint16_t min_password_length;
363 uint16_t password_history_length;
364 int64_t max_password_age;
365 int64_t min_password_age;
366 uint64_t sequence_num;
367 NTTIME domain_create_time;
368 uint32_t SecurityInformation;
369 struct sec_desc_buf sdbuf;
370 struct lsa_BinaryString account_lockout;
371 struct lsa_String unknown2;
372 struct lsa_String unknown3;
373 struct lsa_String unknown4;
374 uint32_t logon_to_chgpass;
380 struct netr_DELTA_GROUP {
381 struct lsa_String group_name;
384 struct lsa_String description;
385 uint32_t SecurityInformation;
386 struct sec_desc_buf sdbuf;
387 struct lsa_String unknown1;
388 struct lsa_String unknown2;
389 struct lsa_String unknown3;
390 struct lsa_String unknown4;
397 struct netr_DELTA_RENAME {
398 struct lsa_String OldName;
399 struct lsa_String NewName;
400 struct lsa_String unknown1;
401 struct lsa_String unknown2;
402 struct lsa_String unknown3;
403 struct lsa_String unknown4;
410 struct netr_DELTA_GROUP_MEMBER {
411 uint32_t *rids;/* [unique,size_is(num_rids)] */
412 uint32_t *attribs;/* [unique,size_is(num_rids)] */
420 struct netr_DELTA_ALIAS {
421 struct lsa_String alias_name;
423 uint32_t SecurityInformation;
424 struct sec_desc_buf sdbuf;
425 struct lsa_String description;
426 struct lsa_String unknown2;
427 struct lsa_String unknown3;
428 struct lsa_String unknown4;
435 struct netr_DELTA_ALIAS_MEMBER {
436 struct lsa_SidArray sids;
443 struct netr_QUOTA_LIMITS {
444 uint32_t pagedpoollimit;
445 uint32_t nonpagedpoollimit;
446 uint32_t minimumworkingsetsize;
447 uint32_t maximumworkingsetsize;
448 uint32_t pagefilelimit;
452 struct netr_DELTA_POLICY {
454 NTTIME auditretentionperiod;
455 uint8_t auditingmode;
456 uint32_t maxauditeventcount;
457 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
458 struct lsa_String primary_domain_name;
459 struct dom_sid2 *sid;/* [unique] */
460 struct netr_QUOTA_LIMITS quota_limits;
461 uint64_t sequence_num;
462 NTTIME db_create_time;
463 uint32_t SecurityInformation;
464 struct sec_desc_buf sdbuf;
465 struct lsa_String unknown1;
466 struct lsa_String unknown2;
467 struct lsa_String unknown3;
468 struct lsa_String unknown4;
475 struct netr_DELTA_TRUSTED_DOMAIN {
476 struct lsa_String domain_name;
477 uint32_t num_controllers;
478 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
479 uint32_t SecurityInformation;
480 struct sec_desc_buf sdbuf;
481 struct lsa_String unknown1;
482 struct lsa_String unknown2;
483 struct lsa_String unknown3;
484 struct lsa_String unknown4;
485 uint32_t posix_offset;
491 struct netr_DELTA_DELETE_TRUST {
495 struct netr_DELTA_ACCOUNT {
496 uint32_t privilege_entries;
497 uint32_t privilege_control;
498 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
499 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
500 struct netr_QUOTA_LIMITS quotalimits;
501 uint32_t system_flags;
502 uint32_t SecurityInformation;
503 struct sec_desc_buf sdbuf;
504 struct lsa_String unknown1;
505 struct lsa_String unknown2;
506 struct lsa_String unknown3;
507 struct lsa_String unknown4;
514 struct netr_DELTA_DELETE_ACCOUNT {
518 struct netr_DELTA_DELETE_SECRET {
522 struct netr_CIPHER_VALUE {
525 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
528 struct netr_DELTA_SECRET {
529 struct netr_CIPHER_VALUE current_cipher;
530 NTTIME current_cipher_set_time;
531 struct netr_CIPHER_VALUE old_cipher;
532 NTTIME old_cipher_set_time;
533 uint32_t SecurityInformation;
534 struct sec_desc_buf sdbuf;
535 struct lsa_String unknown1;
536 struct lsa_String unknown2;
537 struct lsa_String unknown3;
538 struct lsa_String unknown4;
546 #ifndef USE_UINT_ENUMS
550 NETR_DELTA_DELETE_GROUP=3,
551 NETR_DELTA_RENAME_GROUP=4,
553 NETR_DELTA_DELETE_USER=6,
554 NETR_DELTA_RENAME_USER=7,
555 NETR_DELTA_GROUP_MEMBER=8,
557 NETR_DELTA_DELETE_ALIAS=10,
558 NETR_DELTA_RENAME_ALIAS=11,
559 NETR_DELTA_ALIAS_MEMBER=12,
560 NETR_DELTA_POLICY=13,
561 NETR_DELTA_TRUSTED_DOMAIN=14,
562 NETR_DELTA_DELETE_TRUST=15,
563 NETR_DELTA_ACCOUNT=16,
564 NETR_DELTA_DELETE_ACCOUNT=17,
565 NETR_DELTA_SECRET=18,
566 NETR_DELTA_DELETE_SECRET=19,
567 NETR_DELTA_DELETE_GROUP2=20,
568 NETR_DELTA_DELETE_USER2=21,
569 NETR_DELTA_MODIFY_COUNT=22
572 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
573 #define NETR_DELTA_DOMAIN ( 1 )
574 #define NETR_DELTA_GROUP ( 2 )
575 #define NETR_DELTA_DELETE_GROUP ( 3 )
576 #define NETR_DELTA_RENAME_GROUP ( 4 )
577 #define NETR_DELTA_USER ( 5 )
578 #define NETR_DELTA_DELETE_USER ( 6 )
579 #define NETR_DELTA_RENAME_USER ( 7 )
580 #define NETR_DELTA_GROUP_MEMBER ( 8 )
581 #define NETR_DELTA_ALIAS ( 9 )
582 #define NETR_DELTA_DELETE_ALIAS ( 10 )
583 #define NETR_DELTA_RENAME_ALIAS ( 11 )
584 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
585 #define NETR_DELTA_POLICY ( 13 )
586 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
587 #define NETR_DELTA_DELETE_TRUST ( 15 )
588 #define NETR_DELTA_ACCOUNT ( 16 )
589 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
590 #define NETR_DELTA_SECRET ( 18 )
591 #define NETR_DELTA_DELETE_SECRET ( 19 )
592 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
593 #define NETR_DELTA_DELETE_USER2 ( 21 )
594 #define NETR_DELTA_MODIFY_COUNT ( 22 )
598 union netr_DELTA_UNION {
599 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
600 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
601 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
602 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
603 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
604 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
605 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
606 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
607 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
608 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
609 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
610 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
611 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
612 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
613 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
614 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
615 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
616 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
617 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
618 }/* [switch_type(netr_DeltaEnum)] */;
620 union netr_DELTA_ID_UNION {
621 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
622 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
623 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
624 }/* [switch_type(netr_DeltaEnum)] */;
626 struct netr_DELTA_ENUM {
627 enum netr_DeltaEnum delta_type;
628 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
629 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
632 struct netr_DELTA_ENUM_ARRAY {
634 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
637 struct netr_UAS_INFO_0 {
638 uint8_t computer_name[16];
639 uint32_t timecreated;
640 uint32_t serial_number;
641 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
643 struct netr_AccountBuffer {
644 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
647 /* bitmap netr_InfoFlags */
648 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
649 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
650 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
652 struct netr_NETLOGON_INFO_1 {
654 uint32_t pdc_connection_status;
657 struct netr_NETLOGON_INFO_2 {
659 uint32_t pdc_connection_status;
660 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
661 uint32_t tc_connection_status;
664 struct netr_NETLOGON_INFO_3 {
666 uint32_t logon_attempts;
674 struct netr_NETLOGON_INFO_4 {
675 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
676 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
679 union netr_CONTROL_QUERY_INFORMATION {
680 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
681 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
682 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
683 struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
686 enum netr_LogonControlCode
687 #ifndef USE_UINT_ENUMS
689 NETLOGON_CONTROL_QUERY=0x00000001,
690 NETLOGON_CONTROL_REPLICATE=0x00000002,
691 NETLOGON_CONTROL_SYNCHRONIZE=0x00000003,
692 NETLOGON_CONTROL_PDC_REPLICATE=0x00000004,
693 NETLOGON_CONTROL_REDISCOVER=0x00000005,
694 NETLOGON_CONTROL_TC_QUERY=0x00000006,
695 NETLOGON_CONTROL_TRANSPORT_NOTIFY=0x00000007,
696 NETLOGON_CONTROL_FIND_USER=0x00000008,
697 NETLOGON_CONTROL_CHANGE_PASSWORD=0x00000009,
698 NETLOGON_CONTROL_TC_VERIFY=0x0000000A,
699 NETLOGON_CONTROL_FORCE_DNS_REG=0x0000000B,
700 NETLOGON_CONTROL_QUERY_DNS_REG=0x0000000C,
701 NETLOGON_CONTROL_BACKUP_CHANGE_LOG=0x0000FFFC,
702 NETLOGON_CONTROL_TRUNCATE_LOG=0x0000FFFD,
703 NETLOGON_CONTROL_SET_DBFLAG=0x0000FFFE,
704 NETLOGON_CONTROL_BREAKPOINT=0x0000FFFF
707 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
708 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
709 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
710 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
711 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
712 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
713 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
714 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
715 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
716 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
717 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
718 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
719 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
720 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
721 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
722 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
723 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
727 union netr_CONTROL_DATA_INFORMATION {
728 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
729 const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
730 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
733 /* bitmap netr_NegotiateFlags */
734 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
735 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
736 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
737 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
738 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
739 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
740 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
741 #define NETLOGON_NEG_REDO ( 0x00000080 )
742 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
743 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
744 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
745 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
746 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
747 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
748 #define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
749 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
750 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
751 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
752 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
753 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
754 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
755 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
756 #define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
757 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
758 #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
761 #ifndef USE_UINT_ENUMS
763 SYNCSTATE_NORMAL_STATE=0,
764 SYNCSTATE_DOMAIN_STATE=1,
765 SYNCSTATE_GROUP_STATE=2,
766 SYNCSTATE_UAS_BUILT_IN_GROUP_STATE=3,
767 SYNCSTATE_USER_STATE=4,
768 SYNCSTATE_GROUP_MEMBER_STATE=5,
769 SYNCSTATE_ALIAS_STATE=6,
770 SYNCSTATE_ALIAS_MEMBER_STATE=7,
771 SYNCSTATE_SAM_DONE_STATE=8
774 { __donnot_use_enum_SyncStateEnum=0x7FFFFFFF}
775 #define SYNCSTATE_NORMAL_STATE ( 0 )
776 #define SYNCSTATE_DOMAIN_STATE ( 1 )
777 #define SYNCSTATE_GROUP_STATE ( 2 )
778 #define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 )
779 #define SYNCSTATE_USER_STATE ( 4 )
780 #define SYNCSTATE_GROUP_MEMBER_STATE ( 5 )
781 #define SYNCSTATE_ALIAS_STATE ( 6 )
782 #define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 )
783 #define SYNCSTATE_SAM_DONE_STATE ( 8 )
787 /* bitmap netr_ChangeLogFlags */
788 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
789 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
790 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
791 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
792 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
794 union netr_ChangeLogObject {
795 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
796 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
797 }/* [nodiscriminant] */;
799 struct netr_ChangeLogEntry {
800 uint32_t serial_number1;
801 uint32_t serial_number2;
804 enum netr_SamDatabaseID8Bit db_index;
805 enum netr_DeltaEnum8Bit delta_type;
806 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
807 }/* [gensize,public] */;
811 uint8_t *data;/* [unique,size_is(length)] */
814 /* bitmap netr_DsRGetDCName_flags */
815 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
816 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
817 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
818 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
819 #define DS_PDC_REQUIRED ( 0x00000080 )
820 #define DS_BACKGROUND_ONLY ( 0x00000100 )
821 #define DS_IP_REQUIRED ( 0x00000200 )
822 #define DS_KDC_REQUIRED ( 0x00000400 )
823 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
824 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
825 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
826 #define DS_AVOID_SELF ( 0x00004000 )
827 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
828 #define DS_IS_FLAT_NAME ( 0x00010000 )
829 #define DS_IS_DNS_NAME ( 0x00020000 )
830 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
831 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
832 #define DS_RETURN_DNS_NAME ( 0x40000000 )
833 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
835 enum netr_DsRGetDCNameInfo_AddressType
836 #ifndef USE_UINT_ENUMS
838 DS_ADDRESS_TYPE_INET=1,
839 DS_ADDRESS_TYPE_NETBIOS=2
842 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
843 #define DS_ADDRESS_TYPE_INET ( 1 )
844 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
848 /* bitmap netr_DsR_DcFlags */
849 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
850 #define DS_SERVER_GC ( NBT_SERVER_GC )
851 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
852 #define DS_SERVER_DS ( NBT_SERVER_DS )
853 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
854 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
855 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
856 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
857 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
858 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
859 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
860 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
861 #define DS_DNS_CONTROLLER ( 0x20000000 )
862 #define DS_DNS_DOMAIN ( 0x40000000 )
863 #define DS_DNS_FOREST ( 0x80000000 )
865 struct netr_DsRGetDCNameInfo {
866 const char *dc_unc;/* [unique,charset(UTF16)] */
867 const char *dc_address;/* [unique,charset(UTF16)] */
868 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
869 struct GUID domain_guid;
870 const char *domain_name;/* [unique,charset(UTF16)] */
871 const char *forest_name;/* [unique,charset(UTF16)] */
873 const char *dc_site_name;/* [unique,charset(UTF16)] */
874 const char *client_site_name;/* [unique,charset(UTF16)] */
877 union netr_Capabilities {
878 uint32_t server_capabilities;/* [case] */
879 }/* [switch_type(uint32)] */;
881 /* bitmap netr_TrustFlags */
882 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
883 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
884 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
885 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
886 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
887 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
888 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
889 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
891 /* bitmap netr_WorkstationFlags */
892 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
893 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
895 /* bitmap netr_SuiteMask */
896 #define NETR_VER_SUITE_BACKOFFICE ( 0x0004 )
897 #define NETR_VER_SUITE_BLADE ( 0x0400 )
898 #define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 )
899 #define NETR_VER_SUITE_DATACENTER ( 0x0080 )
900 #define NETR_VER_SUITE_ENTERPRISE ( 0x0002 )
901 #define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 )
902 #define NETR_VER_SUITE_PERSONAL ( 0x0200 )
903 #define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 )
904 #define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 )
905 #define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 )
906 #define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 )
907 #define NETR_VER_SUITE_TERMINAL ( 0x0010 )
908 #define NETR_VER_SUITE_WH_SERVER ( 0x8000 )
910 /* bitmap netr_ProductType */
911 #define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 )
912 #define NETR_VER_NT_SERVER ( 0x03 )
913 #define NETR_VER_NT_WORKSTATION ( 0x01 )
915 struct netr_LsaPolicyInformation {
916 uint32_t policy_size;
917 uint8_t *policy;/* [unique,size_is(policy_size)] */
920 struct netr_OsVersionInfoEx {
921 uint32_t OSVersionInfoSize;/* [value(284)] */
922 uint32_t MajorVersion;
923 uint32_t MinorVersion;
924 uint32_t BuildNumber;
926 const char *CSDVersion;/* [charset(UTF16)] */
927 uint16_t ServicePackMajor;
928 uint16_t ServicePackMinor;
934 struct netr_OsVersion {
935 uint32_t length;/* [value(142)] */
936 uint32_t dummy;/* [value(0)] */
937 uint32_t size;/* [value(142)] */
938 struct netr_OsVersionInfoEx os;
941 struct netr_OsVersionContainer {
942 uint16_t length;/* [value(os==NULL?0:284)] */
943 uint16_t size;/* [value(os==NULL?0:284)] */
944 struct netr_OsVersion *os;/* [unique] */
947 struct netr_WorkstationInformation {
948 struct netr_LsaPolicyInformation lsa_policy;
949 const char *dns_hostname;/* [unique,charset(UTF16)] */
950 const char *sitename;/* [unique,charset(UTF16)] */
951 const char *dummy1;/* [unique,charset(UTF16)] */
952 const char *dummy2;/* [unique,charset(UTF16)] */
953 const char *dummy3;/* [unique,charset(UTF16)] */
954 const char *dummy4;/* [unique,charset(UTF16)] */
955 struct netr_OsVersionContainer os_version;
956 struct lsa_String os_name;
957 struct lsa_String dummy_string3;
958 struct lsa_String dummy_string4;
959 uint32_t workstation_flags;
960 uint32_t dummy_long2;
961 uint32_t dummy_long3;
962 uint32_t dummy_long4;
965 union netr_WorkstationInfo {
966 struct netr_WorkstationInformation *workstation_info;/* [unique,case] */
967 struct netr_WorkstationInformation *lsa_policy_info;/* [unique,case(2)] */
970 struct netr_trust_extension {
971 uint32_t length;/* [value(8)] */
972 uint32_t dummy;/* [value(0)] */
973 uint32_t size;/* [value(8)] */
975 uint32_t parent_index;
977 uint32_t trust_attributes;
980 struct netr_trust_extension_container {
982 uint16_t size;/* [value(length)] */
983 struct netr_trust_extension *info;/* [unique] */
986 struct netr_OneDomainInfo {
987 struct lsa_String domainname;
988 struct lsa_String dns_domainname;
989 struct lsa_String dns_forestname;
990 struct GUID domain_guid;
991 struct dom_sid2 *domain_sid;/* [unique] */
992 struct netr_trust_extension_container trust_extension;
993 struct lsa_String dummy_string2;
994 struct lsa_String dummy_string3;
995 struct lsa_String dummy_string4;
996 uint32_t dummy_long1;
997 uint32_t dummy_long2;
998 uint32_t dummy_long3;
999 uint32_t dummy_long4;
1002 struct netr_DomainInformation {
1003 struct netr_OneDomainInfo primary_domain;
1004 uint32_t trusted_domain_count;
1005 struct netr_OneDomainInfo *trusted_domains;/* [unique,size_is(trusted_domain_count)] */
1006 struct netr_LsaPolicyInformation lsa_policy;
1007 struct lsa_String dns_hostname;
1008 struct lsa_String dummy_string2;
1009 struct lsa_String dummy_string3;
1010 struct lsa_String dummy_string4;
1011 uint32_t workstation_flags;
1012 uint32_t supported_enc_types;
1013 uint32_t dummy_long3;
1014 uint32_t dummy_long4;
1017 union netr_DomainInfo {
1018 struct netr_DomainInformation *domain_info;/* [unique,case] */
1019 struct netr_LsaPolicyInformation *lsa_policy_info;/* [unique,case(2)] */
1022 struct netr_CryptPassword {
1025 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
1027 struct netr_DsRAddressToSitenamesWCtr {
1029 struct lsa_String *sitename;/* [unique,size_is(count)] */
1032 struct netr_DsRAddress {
1033 uint8_t *buffer;/* [unique,size_is(size)] */
1038 #ifndef USE_UINT_ENUMS
1040 NETR_TRUST_TYPE_DOWNLEVEL=1,
1041 NETR_TRUST_TYPE_UPLEVEL=2,
1042 NETR_TRUST_TYPE_MIT=3,
1043 NETR_TRUST_TYPE_DCE=4
1046 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
1047 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
1048 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
1049 #define NETR_TRUST_TYPE_MIT ( 3 )
1050 #define NETR_TRUST_TYPE_DCE ( 4 )
1054 /* bitmap netr_TrustAttributes */
1055 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
1056 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
1057 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
1058 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
1059 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
1060 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
1061 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
1063 struct netr_DomainTrust {
1064 const char *netbios_name;/* [unique,charset(UTF16)] */
1065 const char *dns_name;/* [unique,charset(UTF16)] */
1066 uint32_t trust_flags;
1067 uint32_t parent_index;
1068 enum netr_TrustType trust_type;
1069 uint32_t trust_attributes;
1070 struct dom_sid2 *sid;/* [unique] */
1074 struct netr_DomainTrustList {
1076 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
1079 struct netr_DsRAddressToSitenamesExWCtr {
1081 struct lsa_String *sitename;/* [unique,size_is(count)] */
1082 struct lsa_String *subnetname;/* [unique,size_is(count)] */
1087 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
1090 struct netr_TrustInfo {
1092 uint32_t *data;/* [unique,size_is(count)] */
1093 uint32_t entry_count;
1094 struct lsa_String *entries;/* [unique,size_is(count)] */
1098 struct netr_LogonUasLogon {
1100 const char *server_name;/* [unique,charset(UTF16)] */
1101 const char *account_name;/* [ref,charset(UTF16)] */
1102 const char *workstation;/* [ref,charset(UTF16)] */
1106 struct netr_UasInfo **info;/* [ref] */
1113 struct netr_LogonUasLogoff {
1115 const char *server_name;/* [unique,charset(UTF16)] */
1116 const char *account_name;/* [ref,charset(UTF16)] */
1117 const char *workstation;/* [ref,charset(UTF16)] */
1121 struct netr_UasLogoffInfo *info;/* [ref] */
1128 struct netr_LogonSamLogon {
1130 const char *server_name;/* [unique,charset(UTF16)] */
1131 const char *computer_name;/* [unique,charset(UTF16)] */
1132 struct netr_Authenticator *credential;/* [unique] */
1133 enum netr_LogonInfoClass logon_level;
1134 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1135 uint16_t validation_level;
1136 struct netr_Authenticator *return_authenticator;/* [unique] */
1140 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1141 uint8_t *authoritative;/* [ref] */
1142 struct netr_Authenticator *return_authenticator;/* [unique] */
1149 struct netr_LogonSamLogoff {
1151 const char *server_name;/* [unique,charset(UTF16)] */
1152 const char *computer_name;/* [unique,charset(UTF16)] */
1153 struct netr_Authenticator *credential;/* [unique] */
1154 enum netr_LogonInfoClass logon_level;
1155 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1156 struct netr_Authenticator *return_authenticator;/* [unique] */
1160 struct netr_Authenticator *return_authenticator;/* [unique] */
1167 struct netr_ServerReqChallenge {
1169 const char *server_name;/* [unique,charset(UTF16)] */
1170 const char *computer_name;/* [ref,charset(UTF16)] */
1171 struct netr_Credential *credentials;/* [ref] */
1175 struct netr_Credential *return_credentials;/* [ref] */
1182 struct netr_ServerAuthenticate {
1184 const char *server_name;/* [unique,charset(UTF16)] */
1185 const char *account_name;/* [ref,charset(UTF16)] */
1186 enum netr_SchannelType secure_channel_type;
1187 const char *computer_name;/* [ref,charset(UTF16)] */
1188 struct netr_Credential *credentials;/* [ref] */
1192 struct netr_Credential *return_credentials;/* [ref] */
1199 struct netr_ServerPasswordSet {
1201 const char *server_name;/* [unique,charset(UTF16)] */
1202 const char *account_name;/* [ref,charset(UTF16)] */
1203 enum netr_SchannelType secure_channel_type;
1204 const char *computer_name;/* [ref,charset(UTF16)] */
1205 struct netr_Authenticator *credential;/* [ref] */
1206 struct samr_Password *new_password;/* [ref] */
1210 struct netr_Authenticator *return_authenticator;/* [ref] */
1217 struct netr_DatabaseDeltas {
1219 const char *logon_server;/* [ref,charset(UTF16)] */
1220 const char *computername;/* [ref,charset(UTF16)] */
1221 struct netr_Authenticator *credential;/* [ref] */
1222 enum netr_SamDatabaseID database_id;
1223 uint32_t preferredmaximumlength;
1224 struct netr_Authenticator *return_authenticator;/* [ref] */
1225 uint64_t *sequence_num;/* [ref] */
1229 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1230 struct netr_Authenticator *return_authenticator;/* [ref] */
1231 uint64_t *sequence_num;/* [ref] */
1238 struct netr_DatabaseSync {
1240 const char *logon_server;/* [ref,charset(UTF16)] */
1241 const char *computername;/* [ref,charset(UTF16)] */
1242 struct netr_Authenticator *credential;/* [ref] */
1243 enum netr_SamDatabaseID database_id;
1244 uint32_t preferredmaximumlength;
1245 struct netr_Authenticator *return_authenticator;/* [ref] */
1246 uint32_t *sync_context;/* [ref] */
1250 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1251 struct netr_Authenticator *return_authenticator;/* [ref] */
1252 uint32_t *sync_context;/* [ref] */
1259 struct netr_AccountDeltas {
1261 const char *logon_server;/* [unique,charset(UTF16)] */
1262 const char *computername;/* [ref,charset(UTF16)] */
1263 struct netr_Authenticator credential;
1264 struct netr_UAS_INFO_0 uas;
1267 uint32_t buffersize;
1268 struct netr_Authenticator *return_authenticator;/* [ref] */
1272 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1273 uint32_t *count_returned;/* [ref] */
1274 uint32_t *total_entries;/* [ref] */
1275 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1276 struct netr_Authenticator *return_authenticator;/* [ref] */
1283 struct netr_AccountSync {
1285 const char *logon_server;/* [unique,charset(UTF16)] */
1286 const char *computername;/* [ref,charset(UTF16)] */
1287 struct netr_Authenticator credential;
1290 uint32_t buffersize;
1291 struct netr_Authenticator *return_authenticator;/* [ref] */
1292 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1296 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1297 uint32_t *count_returned;/* [ref] */
1298 uint32_t *total_entries;/* [ref] */
1299 uint32_t *next_reference;/* [ref] */
1300 struct netr_Authenticator *return_authenticator;/* [ref] */
1301 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1308 struct netr_GetDcName {
1310 const char *logon_server;/* [ref,charset(UTF16)] */
1311 const char *domainname;/* [unique,charset(UTF16)] */
1315 const char **dcname;/* [ref,charset(UTF16)] */
1322 struct netr_LogonControl {
1324 const char *logon_server;/* [unique,charset(UTF16)] */
1325 enum netr_LogonControlCode function_code;
1330 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1337 struct netr_GetAnyDCName {
1339 const char *logon_server;/* [unique,charset(UTF16)] */
1340 const char *domainname;/* [unique,charset(UTF16)] */
1344 const char **dcname;/* [ref,charset(UTF16)] */
1351 struct netr_LogonControl2 {
1353 const char *logon_server;/* [unique,charset(UTF16)] */
1354 enum netr_LogonControlCode function_code;
1356 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1360 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1367 struct netr_ServerAuthenticate2 {
1369 const char *server_name;/* [unique,charset(UTF16)] */
1370 const char *account_name;/* [ref,charset(UTF16)] */
1371 enum netr_SchannelType secure_channel_type;
1372 const char *computer_name;/* [ref,charset(UTF16)] */
1373 struct netr_Credential *credentials;/* [ref] */
1374 uint32_t *negotiate_flags;/* [ref] */
1378 struct netr_Credential *return_credentials;/* [ref] */
1379 uint32_t *negotiate_flags;/* [ref] */
1386 struct netr_DatabaseSync2 {
1388 const char *logon_server;/* [ref,charset(UTF16)] */
1389 const char *computername;/* [ref,charset(UTF16)] */
1390 struct netr_Authenticator *credential;/* [ref] */
1391 enum netr_SamDatabaseID database_id;
1392 enum SyncStateEnum restart_state;
1393 uint32_t preferredmaximumlength;
1394 struct netr_Authenticator *return_authenticator;/* [ref] */
1395 uint32_t *sync_context;/* [ref] */
1399 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1400 struct netr_Authenticator *return_authenticator;/* [ref] */
1401 uint32_t *sync_context;/* [ref] */
1408 struct netr_DatabaseRedo {
1410 const char *logon_server;/* [ref,charset(UTF16)] */
1411 const char *computername;/* [ref,charset(UTF16)] */
1412 struct netr_Authenticator *credential;/* [ref] */
1413 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1414 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1415 struct netr_Authenticator *return_authenticator;/* [ref] */
1419 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1420 struct netr_Authenticator *return_authenticator;/* [ref] */
1427 struct netr_LogonControl2Ex {
1429 const char *logon_server;/* [unique,charset(UTF16)] */
1430 enum netr_LogonControlCode function_code;
1432 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1436 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1443 struct netr_NetrEnumerateTrustedDomains {
1445 const char *server_name;/* [unique,charset(UTF16)] */
1449 struct netr_Blob *trusted_domains_blob;/* [ref] */
1456 struct netr_DsRGetDCName {
1458 const char *server_unc;/* [unique,charset(UTF16)] */
1459 const char *domain_name;/* [unique,charset(UTF16)] */
1460 struct GUID *domain_guid;/* [unique] */
1461 struct GUID *site_guid;/* [unique] */
1466 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1473 struct netr_LogonGetCapabilities {
1475 const char *server_name;/* [ref,charset(UTF16)] */
1476 const char *computer_name;/* [unique,charset(UTF16)] */
1477 struct netr_Authenticator *credential;/* [ref] */
1478 uint32_t query_level;
1479 struct netr_Authenticator *return_authenticator;/* [ref] */
1483 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1484 struct netr_Authenticator *return_authenticator;/* [ref] */
1491 struct netr_NETRLOGONSETSERVICEBITS {
1499 struct netr_LogonGetTrustRid {
1501 const char *server_name;/* [unique,charset(UTF16)] */
1502 const char *domain_name;/* [unique,charset(UTF16)] */
1506 uint32_t *rid;/* [ref] */
1513 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1521 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1529 struct netr_ServerAuthenticate3 {
1531 const char *server_name;/* [unique,charset(UTF16)] */
1532 const char *account_name;/* [ref,charset(UTF16)] */
1533 enum netr_SchannelType secure_channel_type;
1534 const char *computer_name;/* [ref,charset(UTF16)] */
1535 struct netr_Credential *credentials;/* [ref] */
1536 uint32_t *negotiate_flags;/* [ref] */
1540 struct netr_Credential *return_credentials;/* [ref] */
1541 uint32_t *rid;/* [ref] */
1542 uint32_t *negotiate_flags;/* [ref] */
1549 struct netr_DsRGetDCNameEx {
1551 const char *server_unc;/* [unique,charset(UTF16)] */
1552 const char *domain_name;/* [unique,charset(UTF16)] */
1553 struct GUID *domain_guid;/* [unique] */
1554 const char *site_name;/* [unique,charset(UTF16)] */
1559 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1566 struct netr_DsRGetSiteName {
1568 const char *computer_name;/* [unique,charset(UTF16)] */
1572 const char **site;/* [ref,charset(UTF16)] */
1579 struct netr_LogonGetDomainInfo {
1581 const char *server_name;/* [ref,charset(UTF16)] */
1582 const char *computer_name;/* [unique,charset(UTF16)] */
1583 struct netr_Authenticator *credential;/* [ref] */
1585 union netr_WorkstationInfo *query;/* [ref,switch_is(level)] */
1586 struct netr_Authenticator *return_authenticator;/* [ref] */
1590 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1591 struct netr_Authenticator *return_authenticator;/* [ref] */
1598 struct netr_ServerPasswordSet2 {
1600 const char *server_name;/* [unique,charset(UTF16)] */
1601 const char *account_name;/* [ref,charset(UTF16)] */
1602 enum netr_SchannelType secure_channel_type;
1603 const char *computer_name;/* [ref,charset(UTF16)] */
1604 struct netr_Authenticator *credential;/* [ref] */
1605 struct netr_CryptPassword *new_password;/* [ref] */
1609 struct netr_Authenticator *return_authenticator;/* [ref] */
1616 struct netr_ServerPasswordGet {
1618 const char *server_name;/* [unique,charset(UTF16)] */
1619 const char *account_name;/* [ref,charset(UTF16)] */
1620 enum netr_SchannelType secure_channel_type;
1621 const char *computer_name;/* [ref,charset(UTF16)] */
1622 struct netr_Authenticator *credential;/* [ref] */
1626 struct netr_Authenticator *return_authenticator;/* [ref] */
1627 struct samr_Password *password;/* [ref] */
1634 struct netr_NETRLOGONSENDTOSAM {
1642 struct netr_DsRAddressToSitenamesW {
1644 const char *server_name;/* [unique,charset(UTF16)] */
1645 uint32_t count;/* [range(0,32000)] */
1646 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1650 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1657 struct netr_DsRGetDCNameEx2 {
1659 const char *server_unc;/* [unique,charset(UTF16)] */
1660 const char *client_account;/* [unique,charset(UTF16)] */
1662 const char *domain_name;/* [unique,charset(UTF16)] */
1663 struct GUID *domain_guid;/* [unique] */
1664 const char *site_name;/* [unique,charset(UTF16)] */
1669 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1676 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1684 struct netr_NetrEnumerateTrustedDomainsEx {
1686 const char *server_name;/* [unique,charset(UTF16)] */
1690 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1697 struct netr_DsRAddressToSitenamesExW {
1699 const char *server_name;/* [unique,charset(UTF16)] */
1700 uint32_t count;/* [range(0,32000)] */
1701 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1705 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1712 struct netr_DsrGetDcSiteCoverageW {
1714 const char *server_name;/* [unique,charset(UTF16)] */
1718 struct DcSitesCtr **ctr;/* [ref] */
1725 struct netr_LogonSamLogonEx {
1727 const char *server_name;/* [unique,charset(UTF16)] */
1728 const char *computer_name;/* [unique,charset(UTF16)] */
1729 enum netr_LogonInfoClass logon_level;
1730 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1731 uint16_t validation_level;
1732 uint32_t *flags;/* [ref] */
1736 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1737 uint8_t *authoritative;/* [ref] */
1738 uint32_t *flags;/* [ref] */
1745 struct netr_DsrEnumerateDomainTrusts {
1747 const char *server_name;/* [unique,charset(UTF16)] */
1748 uint32_t trust_flags;
1752 struct netr_DomainTrustList *trusts;/* [ref] */
1759 struct netr_DsrDeregisterDNSHostRecords {
1761 const char *server_name;/* [unique,charset(UTF16)] */
1762 const char *domain;/* [unique,charset(UTF16)] */
1763 struct GUID *domain_guid;/* [unique] */
1764 struct GUID *dsa_guid;/* [unique] */
1765 const char *dns_host;/* [ref,charset(UTF16)] */
1775 struct netr_ServerTrustPasswordsGet {
1777 const char *server_name;/* [unique,charset(UTF16)] */
1778 const char *account_name;/* [ref,charset(UTF16)] */
1779 enum netr_SchannelType secure_channel_type;
1780 const char *computer_name;/* [ref,charset(UTF16)] */
1781 struct netr_Authenticator *credential;/* [ref] */
1785 struct netr_Authenticator *return_authenticator;/* [ref] */
1786 struct samr_Password *password;/* [ref] */
1787 struct samr_Password *password2;/* [ref] */
1794 struct netr_DsRGetForestTrustInformation {
1796 const char *server_name;/* [unique,charset(UTF16)] */
1797 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1802 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1809 struct netr_GetForestTrustInformation {
1811 const char *server_name;/* [unique,charset(UTF16)] */
1812 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1813 struct netr_Authenticator *credential;/* [ref] */
1818 struct netr_Authenticator *return_authenticator;/* [ref] */
1819 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1826 struct netr_LogonSamLogonWithFlags {
1828 const char *server_name;/* [unique,charset(UTF16)] */
1829 const char *computer_name;/* [unique,charset(UTF16)] */
1830 struct netr_Authenticator *credential;/* [unique] */
1831 enum netr_LogonInfoClass logon_level;
1832 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1833 uint16_t validation_level;
1834 struct netr_Authenticator *return_authenticator;/* [unique] */
1835 uint32_t *flags;/* [ref] */
1839 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1840 uint8_t *authoritative;/* [ref] */
1841 struct netr_Authenticator *return_authenticator;/* [unique] */
1842 uint32_t *flags;/* [ref] */
1849 struct netr_ServerGetTrustInfo {
1851 const char *server_name;/* [unique,charset(UTF16)] */
1852 const char *account_name;/* [ref,charset(UTF16)] */
1853 enum netr_SchannelType secure_channel_type;
1854 const char *computer_name;/* [ref,charset(UTF16)] */
1855 struct netr_Authenticator *credential;/* [ref] */
1859 struct netr_Authenticator *return_authenticator;/* [ref] */
1860 struct samr_Password *new_owf_password;/* [ref] */
1861 struct samr_Password *old_owf_password;/* [ref] */
1862 struct netr_TrustInfo **trust_info;/* [ref] */
1868 #endif /* _HEADER_netlogon */