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 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) )
16 #define DS_GFTI_UPDATE_TDO ( 0x1 )
17 enum netr_DeltaEnum8Bit;
19 enum netr_SamDatabaseID8Bit;
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_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
57 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
58 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
60 struct netr_IdentityInfo {
61 struct lsa_String domain_name;
62 uint32_t parameter_control;
63 uint32_t logon_id_low;
64 uint32_t logon_id_high;
65 struct lsa_String account_name;
66 struct lsa_String workstation;
69 struct netr_PasswordInfo {
70 struct netr_IdentityInfo identity_info;
71 struct samr_Password lmpassword;
72 struct samr_Password ntpassword;
75 struct netr_ChallengeResponse {
77 uint16_t size;/* [value(length)] */
78 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
79 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
81 struct netr_NetworkInfo {
82 struct netr_IdentityInfo identity_info;
84 struct netr_ChallengeResponse nt;
85 struct netr_ChallengeResponse lm;
86 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
88 struct netr_GenericInfo {
89 struct netr_IdentityInfo identity_info;
90 struct lsa_String package_name;
92 uint8_t *data;/* [unique,size_is(length)] */
93 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
95 enum netr_LogonInfoClass
96 #ifndef USE_UINT_ENUMS
98 NetlogonInteractiveInformation=1,
99 NetlogonNetworkInformation=2,
100 NetlogonServiceInformation=3,
101 NetlogonGenericInformation=4,
102 NetlogonInteractiveTransitiveInformation=5,
103 NetlogonNetworkTransitiveInformation=6,
104 NetlogonServiceTransitiveInformation=7
107 { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
108 #define NetlogonInteractiveInformation ( 1 )
109 #define NetlogonNetworkInformation ( 2 )
110 #define NetlogonServiceInformation ( 3 )
111 #define NetlogonGenericInformation ( 4 )
112 #define NetlogonInteractiveTransitiveInformation ( 5 )
113 #define NetlogonNetworkTransitiveInformation ( 6 )
114 #define NetlogonServiceTransitiveInformation ( 7 )
118 union netr_LogonLevel {
119 struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
120 struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
121 struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
122 }/* [public,switch_type(netr_LogonInfoClass)] */;
124 struct netr_UserSessionKey {
126 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
128 struct netr_LMSessionKey {
130 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
132 /* bitmap netr_UserFlags */
133 #define NETLOGON_GUEST ( 0x00000001 )
134 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
135 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
136 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
137 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
138 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
139 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
140 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
141 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
142 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
143 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
145 struct netr_SamBaseInfo {
149 NTTIME last_password_change;
150 NTTIME allow_password_change;
151 NTTIME force_password_change;
152 struct lsa_String account_name;
153 struct lsa_String full_name;
154 struct lsa_String logon_script;
155 struct lsa_String profile_path;
156 struct lsa_String home_directory;
157 struct lsa_String home_drive;
158 uint16_t logon_count;
159 uint16_t bad_password_count;
161 uint32_t primary_gid;
162 struct samr_RidWithAttributeArray groups;
164 struct netr_UserSessionKey key;
165 struct lsa_StringLarge logon_server;
166 struct lsa_StringLarge domain;
167 struct dom_sid2 *domain_sid;/* [unique] */
168 struct netr_LMSessionKey LMSessKey;
173 struct netr_SamInfo2 {
174 struct netr_SamBaseInfo base;
177 struct netr_SidAttr {
178 struct dom_sid2 *sid;/* [unique] */
182 struct netr_SamInfo3 {
183 struct netr_SamBaseInfo base;
185 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
188 struct netr_SamInfo6 {
189 struct netr_SamBaseInfo base;
191 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
192 struct lsa_String forest;
193 struct lsa_String principle;
194 uint32_t unknown4[20];
197 struct netr_PacInfo {
199 uint8_t *pac;/* [unique,size_is(pac_size)] */
200 struct lsa_String logon_domain;
201 struct lsa_String logon_server;
202 struct lsa_String principal_name;
204 uint8_t *auth;/* [unique,size_is(auth_size)] */
205 struct netr_UserSessionKey user_session_key;
206 uint32_t expansionroom[10];
207 struct lsa_String unknown1;
208 struct lsa_String unknown2;
209 struct lsa_String unknown3;
210 struct lsa_String unknown4;
213 struct netr_GenericInfo2 {
215 uint8_t *data;/* [unique,size_is(length)] */
216 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
218 enum netr_ValidationInfoClass
219 #ifndef USE_UINT_ENUMS
221 NetlogonValidationUasInfo=1,
222 NetlogonValidationSamInfo=2,
223 NetlogonValidationSamInfo2=3,
224 NetlogonValidationGenericInfo2=5,
225 NetlogonValidationSamInfo4=6
228 { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
229 #define NetlogonValidationUasInfo ( 1 )
230 #define NetlogonValidationSamInfo ( 2 )
231 #define NetlogonValidationSamInfo2 ( 3 )
232 #define NetlogonValidationGenericInfo2 ( 5 )
233 #define NetlogonValidationSamInfo4 ( 6 )
237 union netr_Validation {
238 struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
239 struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
240 struct netr_PacInfo *pac;/* [unique,case(4)] */
241 struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
242 struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
243 }/* [public,switch_type(uint16)] */;
245 struct netr_Credential {
247 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
249 struct netr_Authenticator {
250 struct netr_Credential cred;
254 enum netr_SchannelType;
256 enum netr_SamDatabaseID;
258 struct netr_DELTA_DELETE_USER {
259 const char *account_name;/* [unique,charset(UTF16)] */
260 struct lsa_String unknown1;
261 struct lsa_String unknown2;
262 struct lsa_String unknown3;
263 struct lsa_String unknown4;
270 struct netr_USER_KEY16 {
272 uint16_t size;/* [value(length)] */
274 struct samr_Password pwd;
277 struct netr_PasswordHistory {
279 uint16_t nt_size;/* [value(nt_length)] */
282 uint16_t lm_size;/* [value(lm_length)] */
288 struct netr_USER_KEYS2 {
289 struct netr_USER_KEY16 lmpassword;
290 struct netr_USER_KEY16 ntpassword;
291 struct netr_PasswordHistory history;
294 struct netr_USER_KEY_UNION {
295 struct netr_USER_KEYS2 keys2;
298 struct netr_USER_KEYS {
300 struct netr_USER_KEY_UNION keys;
303 struct netr_USER_PRIVATE_INFO {
304 uint8_t SensitiveDataFlag;
306 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
309 struct netr_DELTA_USER {
310 struct lsa_String account_name;
311 struct lsa_String full_name;
313 uint32_t primary_gid;
314 struct lsa_String home_directory;
315 struct lsa_String home_drive;
316 struct lsa_String logon_script;
317 struct lsa_String description;
318 struct lsa_String workstations;
321 struct samr_LogonHours logon_hours;
322 uint16_t bad_password_count;
323 uint16_t logon_count;
324 NTTIME last_password_change;
327 struct samr_Password lmpassword;
328 struct samr_Password ntpassword;
329 uint8_t nt_password_present;
330 uint8_t lm_password_present;
331 uint8_t password_expired;
332 struct lsa_String comment;
333 struct lsa_BinaryString parameters;
334 uint16_t country_code;
336 struct netr_USER_PRIVATE_INFO user_private_info;
337 uint32_t SecurityInformation;
338 struct sec_desc_buf sdbuf;
339 struct lsa_String profile_path;
340 struct lsa_String unknown2;
341 struct lsa_String unknown3;
342 struct lsa_String unknown4;
349 struct netr_DELTA_DOMAIN {
350 struct lsa_String domain_name;
351 struct lsa_String oem_information;
352 int64_t force_logoff_time;
353 uint16_t min_password_length;
354 uint16_t password_history_length;
355 int64_t max_password_age;
356 int64_t min_password_age;
357 uint64_t sequence_num;
358 NTTIME domain_create_time;
359 uint32_t SecurityInformation;
360 struct sec_desc_buf sdbuf;
361 struct lsa_BinaryString account_lockout;
362 struct lsa_String unknown2;
363 struct lsa_String unknown3;
364 struct lsa_String unknown4;
365 uint32_t logon_to_chgpass;
371 struct netr_DELTA_GROUP {
372 struct lsa_String group_name;
375 struct lsa_String description;
376 uint32_t SecurityInformation;
377 struct sec_desc_buf sdbuf;
378 struct lsa_String unknown1;
379 struct lsa_String unknown2;
380 struct lsa_String unknown3;
381 struct lsa_String unknown4;
388 struct netr_DELTA_RENAME {
389 struct lsa_String OldName;
390 struct lsa_String NewName;
391 struct lsa_String unknown1;
392 struct lsa_String unknown2;
393 struct lsa_String unknown3;
394 struct lsa_String unknown4;
401 struct netr_DELTA_GROUP_MEMBER {
402 uint32_t *rids;/* [unique,size_is(num_rids)] */
403 uint32_t *attribs;/* [unique,size_is(num_rids)] */
411 struct netr_DELTA_ALIAS {
412 struct lsa_String alias_name;
414 uint32_t SecurityInformation;
415 struct sec_desc_buf sdbuf;
416 struct lsa_String description;
417 struct lsa_String unknown2;
418 struct lsa_String unknown3;
419 struct lsa_String unknown4;
426 struct netr_DELTA_ALIAS_MEMBER {
427 struct lsa_SidArray sids;
434 struct netr_QUOTA_LIMITS {
435 uint32_t pagedpoollimit;
436 uint32_t nonpagedpoollimit;
437 uint32_t minimumworkingsetsize;
438 uint32_t maximumworkingsetsize;
439 uint32_t pagefilelimit;
443 struct netr_DELTA_POLICY {
445 NTTIME auditretentionperiod;
446 uint8_t auditingmode;
447 uint32_t maxauditeventcount;
448 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
449 struct lsa_String primary_domain_name;
450 struct dom_sid2 *sid;/* [unique] */
451 struct netr_QUOTA_LIMITS quota_limits;
452 uint64_t sequence_num;
453 NTTIME db_create_time;
454 uint32_t SecurityInformation;
455 struct sec_desc_buf sdbuf;
456 struct lsa_String unknown1;
457 struct lsa_String unknown2;
458 struct lsa_String unknown3;
459 struct lsa_String unknown4;
466 struct netr_DELTA_TRUSTED_DOMAIN {
467 struct lsa_String domain_name;
468 uint32_t num_controllers;
469 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
470 uint32_t SecurityInformation;
471 struct sec_desc_buf sdbuf;
472 struct lsa_String unknown1;
473 struct lsa_String unknown2;
474 struct lsa_String unknown3;
475 struct lsa_String unknown4;
476 uint32_t posix_offset;
482 struct netr_DELTA_DELETE_TRUST {
486 struct netr_DELTA_ACCOUNT {
487 uint32_t privilege_entries;
488 uint32_t privilege_control;
489 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
490 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
491 struct netr_QUOTA_LIMITS quotalimits;
492 uint32_t system_flags;
493 uint32_t SecurityInformation;
494 struct sec_desc_buf sdbuf;
495 struct lsa_String unknown1;
496 struct lsa_String unknown2;
497 struct lsa_String unknown3;
498 struct lsa_String unknown4;
505 struct netr_DELTA_DELETE_ACCOUNT {
509 struct netr_DELTA_DELETE_SECRET {
513 struct netr_CIPHER_VALUE {
516 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
519 struct netr_DELTA_SECRET {
520 struct netr_CIPHER_VALUE current_cipher;
521 NTTIME current_cipher_set_time;
522 struct netr_CIPHER_VALUE old_cipher;
523 NTTIME old_cipher_set_time;
524 uint32_t SecurityInformation;
525 struct sec_desc_buf sdbuf;
526 struct lsa_String unknown1;
527 struct lsa_String unknown2;
528 struct lsa_String unknown3;
529 struct lsa_String unknown4;
537 #ifndef USE_UINT_ENUMS
541 NETR_DELTA_DELETE_GROUP=3,
542 NETR_DELTA_RENAME_GROUP=4,
544 NETR_DELTA_DELETE_USER=6,
545 NETR_DELTA_RENAME_USER=7,
546 NETR_DELTA_GROUP_MEMBER=8,
548 NETR_DELTA_DELETE_ALIAS=10,
549 NETR_DELTA_RENAME_ALIAS=11,
550 NETR_DELTA_ALIAS_MEMBER=12,
551 NETR_DELTA_POLICY=13,
552 NETR_DELTA_TRUSTED_DOMAIN=14,
553 NETR_DELTA_DELETE_TRUST=15,
554 NETR_DELTA_ACCOUNT=16,
555 NETR_DELTA_DELETE_ACCOUNT=17,
556 NETR_DELTA_SECRET=18,
557 NETR_DELTA_DELETE_SECRET=19,
558 NETR_DELTA_DELETE_GROUP2=20,
559 NETR_DELTA_DELETE_USER2=21,
560 NETR_DELTA_MODIFY_COUNT=22
563 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
564 #define NETR_DELTA_DOMAIN ( 1 )
565 #define NETR_DELTA_GROUP ( 2 )
566 #define NETR_DELTA_DELETE_GROUP ( 3 )
567 #define NETR_DELTA_RENAME_GROUP ( 4 )
568 #define NETR_DELTA_USER ( 5 )
569 #define NETR_DELTA_DELETE_USER ( 6 )
570 #define NETR_DELTA_RENAME_USER ( 7 )
571 #define NETR_DELTA_GROUP_MEMBER ( 8 )
572 #define NETR_DELTA_ALIAS ( 9 )
573 #define NETR_DELTA_DELETE_ALIAS ( 10 )
574 #define NETR_DELTA_RENAME_ALIAS ( 11 )
575 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
576 #define NETR_DELTA_POLICY ( 13 )
577 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
578 #define NETR_DELTA_DELETE_TRUST ( 15 )
579 #define NETR_DELTA_ACCOUNT ( 16 )
580 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
581 #define NETR_DELTA_SECRET ( 18 )
582 #define NETR_DELTA_DELETE_SECRET ( 19 )
583 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
584 #define NETR_DELTA_DELETE_USER2 ( 21 )
585 #define NETR_DELTA_MODIFY_COUNT ( 22 )
589 union netr_DELTA_UNION {
590 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
591 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
592 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
593 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
594 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
595 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
596 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
597 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
598 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
599 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
600 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
601 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
602 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
603 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
604 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
605 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
606 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
607 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
608 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
609 }/* [switch_type(netr_DeltaEnum)] */;
611 union netr_DELTA_ID_UNION {
612 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
613 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
614 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
615 }/* [switch_type(netr_DeltaEnum)] */;
617 struct netr_DELTA_ENUM {
618 enum netr_DeltaEnum delta_type;
619 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
620 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
623 struct netr_DELTA_ENUM_ARRAY {
625 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
628 struct netr_UAS_INFO_0 {
629 uint8_t computer_name[16];
630 uint32_t timecreated;
631 uint32_t serial_number;
632 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
634 struct netr_AccountBuffer {
635 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
638 /* bitmap netr_InfoFlags */
639 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
640 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
641 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
643 struct netr_NETLOGON_INFO_1 {
645 uint32_t pdc_connection_status;
648 struct netr_NETLOGON_INFO_2 {
650 uint32_t pdc_connection_status;
651 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
652 uint32_t tc_connection_status;
655 struct netr_NETLOGON_INFO_3 {
657 uint32_t logon_attempts;
665 union netr_CONTROL_QUERY_INFORMATION {
666 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
667 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
668 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
671 enum netr_LogonControlCode
672 #ifndef USE_UINT_ENUMS
674 NETLOGON_CONTROL_SYNC=2,
675 NETLOGON_CONTROL_REDISCOVER=5,
676 NETLOGON_CONTROL_TC_QUERY=6,
677 NETLOGON_CONTROL_TRANSPORT_NOTIFY=7,
678 NETLOGON_CONTROL_SET_DBFLAG=65534
681 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
682 #define NETLOGON_CONTROL_SYNC ( 2 )
683 #define NETLOGON_CONTROL_REDISCOVER ( 5 )
684 #define NETLOGON_CONTROL_TC_QUERY ( 6 )
685 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 7 )
686 #define NETLOGON_CONTROL_SET_DBFLAG ( 65534 )
690 union netr_CONTROL_DATA_INFORMATION {
691 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
692 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
695 /* bitmap netr_NegotiateFlags */
696 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
697 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
698 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
699 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
700 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
701 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
702 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
703 #define NETLOGON_NEG_REDO ( 0x00000080 )
704 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
705 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
706 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
707 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
708 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
709 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
710 #define NETLOGON_NEG_128BIT ( 0x00004000 )
711 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
712 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
713 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
714 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
715 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
716 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
717 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
718 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
719 #define NETLOGON_NEG_SCHANNEL ( 0x40000000 )
721 /* bitmap netr_ChangeLogFlags */
722 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
723 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
724 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
725 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
726 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
728 union netr_ChangeLogObject {
729 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
730 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
731 }/* [nodiscriminant] */;
733 struct netr_ChangeLogEntry {
734 uint32_t serial_number1;
735 uint32_t serial_number2;
738 enum netr_SamDatabaseID8Bit db_index;
739 enum netr_DeltaEnum8Bit delta_type;
740 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
741 }/* [gensize,public] */;
745 uint8_t *data;/* [unique,size_is(length)] */
748 /* bitmap netr_DsRGetDCName_flags */
749 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
750 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
751 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
752 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
753 #define DS_PDC_REQUIRED ( 0x00000080 )
754 #define DS_BACKGROUND_ONLY ( 0x00000100 )
755 #define DS_IP_REQUIRED ( 0x00000200 )
756 #define DS_KDC_REQUIRED ( 0x00000400 )
757 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
758 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
759 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
760 #define DS_AVOID_SELF ( 0x00004000 )
761 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
762 #define DS_IS_FLAT_NAME ( 0x00010000 )
763 #define DS_IS_DNS_NAME ( 0x00020000 )
764 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
765 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
766 #define DS_RETURN_DNS_NAME ( 0x40000000 )
767 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
769 enum netr_DsRGetDCNameInfo_AddressType
770 #ifndef USE_UINT_ENUMS
772 DS_ADDRESS_TYPE_INET=1,
773 DS_ADDRESS_TYPE_NETBIOS=2
776 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
777 #define DS_ADDRESS_TYPE_INET ( 1 )
778 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
782 /* bitmap netr_DsR_DcFlags */
783 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
784 #define DS_SERVER_GC ( NBT_SERVER_GC )
785 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
786 #define DS_SERVER_DS ( NBT_SERVER_DS )
787 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
788 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
789 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
790 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
791 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
792 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
793 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
794 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
795 #define DS_DNS_CONTROLLER ( 0x20000000 )
796 #define DS_DNS_DOMAIN ( 0x40000000 )
797 #define DS_DNS_FOREST ( 0x80000000 )
799 struct netr_DsRGetDCNameInfo {
800 const char *dc_unc;/* [unique,charset(UTF16)] */
801 const char *dc_address;/* [unique,charset(UTF16)] */
802 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
803 struct GUID domain_guid;
804 const char *domain_name;/* [unique,charset(UTF16)] */
805 const char *forest_name;/* [unique,charset(UTF16)] */
807 const char *dc_site_name;/* [unique,charset(UTF16)] */
808 const char *client_site_name;/* [unique,charset(UTF16)] */
811 /* bitmap netr_TrustFlags */
812 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
813 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
814 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
815 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
816 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
817 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
818 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
819 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
821 struct netr_BinaryString {
824 uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
825 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
827 struct netr_DomainQuery1 {
828 struct netr_Blob blob;
829 const char *workstation_domain;/* [unique,charset(UTF16)] */
830 const char *workstation_site;/* [unique,charset(UTF16)] */
831 const char *unknown1;/* [unique,charset(UTF16)] */
832 const char *unknown2;/* [unique,charset(UTF16)] */
833 const char *unknown3;/* [unique,charset(UTF16)] */
834 const char *unknown4;/* [unique,charset(UTF16)] */
835 struct netr_BinaryString blob2;
836 struct lsa_String product;
837 struct lsa_String unknown5;
838 struct lsa_String unknown6;
839 uint32_t unknown7[4];
842 union netr_DomainQuery {
843 struct netr_DomainQuery1 *query1;/* [unique,case] */
846 struct netr_trust_extension {
847 uint32_t length;/* [value(8)] */
848 uint32_t dummy;/* [value(0)] */
849 uint32_t size;/* [value(8)] */
851 uint32_t parent_index;
853 uint32_t trust_attributes;
856 struct netr_trust_extension_container {
858 uint16_t size;/* [value(length)] */
859 struct netr_trust_extension *info;/* [unique] */
862 struct netr_DomainTrustInfo {
863 struct lsa_String domainname;
864 struct lsa_String fulldomainname;
865 struct lsa_String forest;
867 struct dom_sid2 *sid;/* [unique] */
868 struct netr_trust_extension_container trust_extension;
869 struct lsa_String dummystring[3];
873 struct netr_LsaPolicyInfo {
874 uint32_t policy_size;
875 uint8_t *policy;/* [unique,size_is(policy_size)] */
878 /* bitmap netr_WorkstationFlags */
879 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
880 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
882 struct netr_DomainInfo1 {
883 struct netr_DomainTrustInfo domaininfo;
885 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
886 struct netr_LsaPolicyInfo lsa_policy;
887 struct lsa_String dns_hostname;
888 struct lsa_String dummystring[3];
889 uint32_t workstation_flags;
890 uint32_t supported_enc_types;
894 union netr_DomainInfo {
895 struct netr_DomainInfo1 *info1;/* [unique,case] */
896 struct netr_DomainInfo1 *info2;/* [unique,case(2)] */
899 struct netr_CryptPassword {
902 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
904 struct netr_DsRAddressToSitenamesWCtr {
906 struct lsa_String *sitename;/* [unique,size_is(count)] */
909 struct netr_DsRAddress {
910 uint8_t *buffer;/* [unique,size_is(size)] */
915 #ifndef USE_UINT_ENUMS
917 NETR_TRUST_TYPE_DOWNLEVEL=1,
918 NETR_TRUST_TYPE_UPLEVEL=2,
919 NETR_TRUST_TYPE_MIT=3,
920 NETR_TRUST_TYPE_DCE=4
923 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
924 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
925 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
926 #define NETR_TRUST_TYPE_MIT ( 3 )
927 #define NETR_TRUST_TYPE_DCE ( 4 )
931 /* bitmap netr_TrustAttributes */
932 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
933 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
934 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
935 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
936 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
937 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
938 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
940 struct netr_DomainTrust {
941 const char *netbios_name;/* [unique,charset(UTF16)] */
942 const char *dns_name;/* [unique,charset(UTF16)] */
943 uint32_t trust_flags;
944 uint32_t parent_index;
945 enum netr_TrustType trust_type;
946 uint32_t trust_attributes;
947 struct dom_sid2 *sid;/* [unique] */
951 struct netr_DomainTrustList {
953 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
956 struct netr_DsRAddressToSitenamesExWCtr {
958 struct lsa_String *sitename;/* [unique,size_is(count)] */
959 struct lsa_String *subnetname;/* [unique,size_is(count)] */
964 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
967 struct netr_TrustInfo {
969 uint32_t *data;/* [unique,size_is(count)] */
970 uint32_t entry_count;
971 struct lsa_String *entries;/* [unique,size_is(count)] */
975 struct netr_LogonUasLogon {
977 const char *server_name;/* [unique,charset(UTF16)] */
978 const char *account_name;/* [charset(UTF16)] */
979 const char *workstation;/* [charset(UTF16)] */
983 struct netr_UasInfo **info;/* [ref] */
990 struct netr_LogonUasLogoff {
992 const char *server_name;/* [unique,charset(UTF16)] */
993 const char *account_name;/* [charset(UTF16)] */
994 const char *workstation;/* [charset(UTF16)] */
998 struct netr_UasLogoffInfo *info;/* [ref] */
1005 struct netr_LogonSamLogon {
1007 const char *server_name;/* [unique,charset(UTF16)] */
1008 const char *computer_name;/* [unique,charset(UTF16)] */
1009 struct netr_Authenticator *credential;/* [unique] */
1010 enum netr_LogonInfoClass logon_level;
1011 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1012 uint16_t validation_level;
1013 struct netr_Authenticator *return_authenticator;/* [unique] */
1017 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1018 uint8_t *authoritative;/* [ref] */
1019 struct netr_Authenticator *return_authenticator;/* [unique] */
1026 struct netr_LogonSamLogoff {
1028 const char *server_name;/* [unique,charset(UTF16)] */
1029 const char *computer_name;/* [unique,charset(UTF16)] */
1030 struct netr_Authenticator *credential;/* [unique] */
1031 enum netr_LogonInfoClass logon_level;
1032 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1033 struct netr_Authenticator *return_authenticator;/* [unique] */
1037 struct netr_Authenticator *return_authenticator;/* [unique] */
1044 struct netr_ServerReqChallenge {
1046 const char *server_name;/* [unique,charset(UTF16)] */
1047 const char *computer_name;/* [charset(UTF16)] */
1048 struct netr_Credential *credentials;/* [ref] */
1052 struct netr_Credential *return_credentials;/* [ref] */
1059 struct netr_ServerAuthenticate {
1061 const char *server_name;/* [unique,charset(UTF16)] */
1062 const char *account_name;/* [charset(UTF16)] */
1063 enum netr_SchannelType secure_channel_type;
1064 const char *computer_name;/* [charset(UTF16)] */
1065 struct netr_Credential *credentials;/* [ref] */
1069 struct netr_Credential *return_credentials;/* [ref] */
1076 struct netr_ServerPasswordSet {
1078 const char *server_name;/* [unique,charset(UTF16)] */
1079 const char *account_name;/* [charset(UTF16)] */
1080 enum netr_SchannelType secure_channel_type;
1081 const char *computer_name;/* [charset(UTF16)] */
1082 struct netr_Authenticator *credential;/* [ref] */
1083 struct samr_Password *new_password;/* [ref] */
1087 struct netr_Authenticator *return_authenticator;/* [ref] */
1094 struct netr_DatabaseDeltas {
1096 const char *logon_server;/* [charset(UTF16)] */
1097 const char *computername;/* [charset(UTF16)] */
1098 struct netr_Authenticator *credential;/* [ref] */
1099 enum netr_SamDatabaseID database_id;
1100 uint32_t preferredmaximumlength;
1101 struct netr_Authenticator *return_authenticator;/* [ref] */
1102 uint64_t *sequence_num;/* [ref] */
1106 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1107 struct netr_Authenticator *return_authenticator;/* [ref] */
1108 uint64_t *sequence_num;/* [ref] */
1115 struct netr_DatabaseSync {
1117 const char *logon_server;/* [charset(UTF16)] */
1118 const char *computername;/* [charset(UTF16)] */
1119 struct netr_Authenticator *credential;/* [ref] */
1120 enum netr_SamDatabaseID database_id;
1121 uint32_t preferredmaximumlength;
1122 struct netr_Authenticator *return_authenticator;/* [ref] */
1123 uint32_t *sync_context;/* [ref] */
1127 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1128 struct netr_Authenticator *return_authenticator;/* [ref] */
1129 uint32_t *sync_context;/* [ref] */
1136 struct netr_AccountDeltas {
1138 const char *logon_server;/* [unique,charset(UTF16)] */
1139 const char *computername;/* [charset(UTF16)] */
1140 struct netr_Authenticator credential;
1141 struct netr_UAS_INFO_0 uas;
1144 uint32_t buffersize;
1145 struct netr_Authenticator *return_authenticator;/* [ref] */
1149 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1150 uint32_t *count_returned;/* [ref] */
1151 uint32_t *total_entries;/* [ref] */
1152 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1153 struct netr_Authenticator *return_authenticator;/* [ref] */
1160 struct netr_AccountSync {
1162 const char *logon_server;/* [unique,charset(UTF16)] */
1163 const char *computername;/* [charset(UTF16)] */
1164 struct netr_Authenticator credential;
1167 uint32_t buffersize;
1168 struct netr_Authenticator *return_authenticator;/* [ref] */
1169 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1173 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1174 uint32_t *count_returned;/* [ref] */
1175 uint32_t *total_entries;/* [ref] */
1176 uint32_t *next_reference;/* [ref] */
1177 struct netr_Authenticator *return_authenticator;/* [ref] */
1178 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1185 struct netr_GetDcName {
1187 const char *logon_server;/* [charset(UTF16)] */
1188 const char *domainname;/* [unique,charset(UTF16)] */
1192 const char **dcname;/* [ref,charset(UTF16)] */
1199 struct netr_LogonControl {
1201 const char *logon_server;/* [unique,charset(UTF16)] */
1202 enum netr_LogonControlCode function_code;
1207 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1214 struct netr_GetAnyDCName {
1216 const char *logon_server;/* [unique,charset(UTF16)] */
1217 const char *domainname;/* [unique,charset(UTF16)] */
1221 const char **dcname;/* [ref,charset(UTF16)] */
1228 struct netr_LogonControl2 {
1230 const char *logon_server;/* [unique,charset(UTF16)] */
1231 enum netr_LogonControlCode function_code;
1233 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1237 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1244 struct netr_ServerAuthenticate2 {
1246 const char *server_name;/* [unique,charset(UTF16)] */
1247 const char *account_name;/* [charset(UTF16)] */
1248 enum netr_SchannelType secure_channel_type;
1249 const char *computer_name;/* [charset(UTF16)] */
1250 struct netr_Credential *credentials;/* [ref] */
1251 uint32_t *negotiate_flags;/* [ref] */
1255 struct netr_Credential *return_credentials;/* [ref] */
1256 uint32_t *negotiate_flags;/* [ref] */
1263 struct netr_DatabaseSync2 {
1265 const char *logon_server;/* [charset(UTF16)] */
1266 const char *computername;/* [charset(UTF16)] */
1267 struct netr_Authenticator *credential;/* [ref] */
1268 enum netr_SamDatabaseID database_id;
1269 uint16_t restart_state;
1270 uint32_t preferredmaximumlength;
1271 struct netr_Authenticator *return_authenticator;/* [ref] */
1272 uint32_t *sync_context;/* [ref] */
1276 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1277 struct netr_Authenticator *return_authenticator;/* [ref] */
1278 uint32_t *sync_context;/* [ref] */
1285 struct netr_DatabaseRedo {
1287 const char *logon_server;/* [charset(UTF16)] */
1288 const char *computername;/* [charset(UTF16)] */
1289 struct netr_Authenticator *credential;/* [ref] */
1290 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1291 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->flags))] */
1292 struct netr_Authenticator *return_authenticator;/* [ref] */
1296 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1297 struct netr_Authenticator *return_authenticator;/* [ref] */
1304 struct netr_LogonControl2Ex {
1306 const char *logon_server;/* [unique,charset(UTF16)] */
1307 uint32_t function_code;
1309 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
1313 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1320 struct netr_NetrEnumerateTrustedDomains {
1322 const char *server_name;/* [unique,charset(UTF16)] */
1326 struct netr_Blob *trusted_domains_blob;/* [ref] */
1333 struct netr_DsRGetDCName {
1335 const char *server_unc;/* [unique,charset(UTF16)] */
1336 const char *domain_name;/* [unique,charset(UTF16)] */
1337 struct GUID *domain_guid;/* [unique] */
1338 struct GUID *site_guid;/* [unique] */
1343 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1350 struct netr_NETRLOGONDUMMYROUTINE1 {
1358 struct netr_NETRLOGONSETSERVICEBITS {
1366 struct netr_LogonGetTrustRid {
1368 const char *server_name;/* [unique,charset(UTF16)] */
1369 const char *domain_name;/* [unique,charset(UTF16)] */
1373 uint32_t *rid;/* [ref] */
1380 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1388 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1396 struct netr_ServerAuthenticate3 {
1398 const char *server_name;/* [unique,charset(UTF16)] */
1399 const char *account_name;/* [charset(UTF16)] */
1400 enum netr_SchannelType secure_channel_type;
1401 const char *computer_name;/* [charset(UTF16)] */
1402 struct netr_Credential *credentials;/* [ref] */
1403 uint32_t *negotiate_flags;/* [ref] */
1407 struct netr_Credential *return_credentials;/* [ref] */
1408 uint32_t *rid;/* [ref] */
1409 uint32_t *negotiate_flags;/* [ref] */
1416 struct netr_DsRGetDCNameEx {
1418 const char *server_unc;/* [unique,charset(UTF16)] */
1419 const char *domain_name;/* [unique,charset(UTF16)] */
1420 struct GUID *domain_guid;/* [unique] */
1421 const char *site_name;/* [unique,charset(UTF16)] */
1426 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1433 struct netr_DsRGetSiteName {
1435 const char *computer_name;/* [unique,charset(UTF16)] */
1439 const char **site;/* [ref,charset(UTF16)] */
1446 struct netr_LogonGetDomainInfo {
1448 const char *server_name;/* [charset(UTF16)] */
1449 const char *computer_name;/* [unique,charset(UTF16)] */
1450 struct netr_Authenticator *credential;/* [ref] */
1452 union netr_DomainQuery query;/* [switch_is(level)] */
1453 struct netr_Authenticator *return_authenticator;/* [ref] */
1457 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1458 struct netr_Authenticator *return_authenticator;/* [ref] */
1465 struct netr_ServerPasswordSet2 {
1467 const char *server_name;/* [unique,charset(UTF16)] */
1468 const char *account_name;/* [charset(UTF16)] */
1469 enum netr_SchannelType secure_channel_type;
1470 const char *computer_name;/* [charset(UTF16)] */
1471 struct netr_Authenticator *credential;/* [ref] */
1472 struct netr_CryptPassword *new_password;/* [ref] */
1476 struct netr_Authenticator *return_authenticator;/* [ref] */
1483 struct netr_ServerPasswordGet {
1485 const char *server_name;/* [unique,charset(UTF16)] */
1486 const char *account_name;/* [charset(UTF16)] */
1487 enum netr_SchannelType secure_channel_type;
1488 const char *computer_name;/* [charset(UTF16)] */
1489 struct netr_Authenticator *credential;/* [ref] */
1493 struct netr_Authenticator *return_authenticator;/* [ref] */
1494 struct samr_Password *password;/* [ref] */
1501 struct netr_NETRLOGONSENDTOSAM {
1509 struct netr_DsRAddressToSitenamesW {
1511 const char *server_name;/* [unique,charset(UTF16)] */
1512 uint32_t count;/* [range(0,32000)] */
1513 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1517 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1524 struct netr_DsRGetDCNameEx2 {
1526 const char *server_unc;/* [unique,charset(UTF16)] */
1527 const char *client_account;/* [unique,charset(UTF16)] */
1529 const char *domain_name;/* [unique,charset(UTF16)] */
1530 struct GUID *domain_guid;/* [unique] */
1531 const char *site_name;/* [unique,charset(UTF16)] */
1536 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1543 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1551 struct netr_NetrEnumerateTrustedDomainsEx {
1553 const char *server_name;/* [unique,charset(UTF16)] */
1557 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1564 struct netr_DsRAddressToSitenamesExW {
1566 const char *server_name;/* [unique,charset(UTF16)] */
1567 uint32_t count;/* [range(0,32000)] */
1568 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1572 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1579 struct netr_DsrGetDcSiteCoverageW {
1581 const char *server_name;/* [unique,charset(UTF16)] */
1585 struct DcSitesCtr **ctr;/* [ref] */
1592 struct netr_LogonSamLogonEx {
1594 const char *server_name;/* [unique,charset(UTF16)] */
1595 const char *computer_name;/* [unique,charset(UTF16)] */
1596 enum netr_LogonInfoClass logon_level;
1597 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1598 uint16_t validation_level;
1599 uint32_t *flags;/* [ref] */
1603 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1604 uint8_t *authoritative;/* [ref] */
1605 uint32_t *flags;/* [ref] */
1612 struct netr_DsrEnumerateDomainTrusts {
1614 const char *server_name;/* [unique,charset(UTF16)] */
1615 uint32_t trust_flags;
1619 struct netr_DomainTrustList *trusts;/* [ref] */
1626 struct netr_DsrDeregisterDNSHostRecords {
1628 const char *server_name;/* [unique,charset(UTF16)] */
1629 const char *domain;/* [unique,charset(UTF16)] */
1630 struct GUID *domain_guid;/* [unique] */
1631 struct GUID *dsa_guid;/* [unique] */
1632 const char *dns_host;/* [ref,charset(UTF16)] */
1642 struct netr_ServerTrustPasswordsGet {
1644 const char *server_name;/* [unique,charset(UTF16)] */
1645 const char *account_name;/* [charset(UTF16)] */
1646 enum netr_SchannelType secure_channel_type;
1647 const char *computer_name;/* [charset(UTF16)] */
1648 struct netr_Authenticator *credential;/* [ref] */
1652 struct netr_Authenticator *return_authenticator;/* [ref] */
1653 struct samr_Password *password;/* [ref] */
1654 struct samr_Password *password2;/* [ref] */
1661 struct netr_DsRGetForestTrustInformation {
1663 const char *server_name;/* [unique,charset(UTF16)] */
1664 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1669 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1676 struct netr_GetForestTrustInformation {
1678 const char *server_name;/* [unique,charset(UTF16)] */
1679 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1680 struct netr_Authenticator *credential;/* [ref] */
1685 struct netr_Authenticator *return_authenticator;/* [ref] */
1686 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1693 struct netr_LogonSamLogonWithFlags {
1695 const char *server_name;/* [unique,charset(UTF16)] */
1696 const char *computer_name;/* [unique,charset(UTF16)] */
1697 struct netr_Authenticator *credential;/* [unique] */
1698 enum netr_LogonInfoClass logon_level;
1699 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1700 uint16_t validation_level;
1701 struct netr_Authenticator *return_authenticator;/* [unique] */
1702 uint32_t *flags;/* [ref] */
1706 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1707 uint8_t *authoritative;/* [ref] */
1708 struct netr_Authenticator *return_authenticator;/* [unique] */
1709 uint32_t *flags;/* [ref] */
1716 struct netr_ServerGetTrustInfo {
1718 const char *server_name;/* [unique,charset(UTF16)] */
1719 const char *account_name;/* [ref,charset(UTF16)] */
1720 enum netr_SchannelType secure_channel_type;
1721 const char *computer_name;/* [ref,charset(UTF16)] */
1722 struct netr_Authenticator *credential;/* [ref] */
1726 struct netr_Authenticator *return_authenticator;/* [ref] */
1727 struct samr_Password *new_owf_password;/* [ref] */
1728 struct samr_Password *old_owf_password;/* [ref] */
1729 struct netr_TrustInfo **trust_info;/* [ref] */
1735 #endif /* _HEADER_netlogon */