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_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 struct netr_DELTA_DELETE_USER {
255 const char *account_name;/* [unique,charset(UTF16)] */
256 struct lsa_String unknown1;
257 struct lsa_String unknown2;
258 struct lsa_String unknown3;
259 struct lsa_String unknown4;
266 struct netr_USER_KEY16 {
268 uint16_t size;/* [value(length)] */
270 struct samr_Password pwd;
273 struct netr_PasswordHistory {
275 uint16_t nt_size;/* [value(nt_length)] */
278 uint16_t lm_size;/* [value(lm_length)] */
284 struct netr_USER_KEYS2 {
285 struct netr_USER_KEY16 lmpassword;
286 struct netr_USER_KEY16 ntpassword;
287 struct netr_PasswordHistory history;
290 struct netr_USER_KEY_UNION {
291 struct netr_USER_KEYS2 keys2;
294 struct netr_USER_KEYS {
296 struct netr_USER_KEY_UNION keys;
299 struct netr_USER_PRIVATE_INFO {
300 uint8_t SensitiveDataFlag;
302 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
305 struct netr_DELTA_USER {
306 struct lsa_String account_name;
307 struct lsa_String full_name;
309 uint32_t primary_gid;
310 struct lsa_String home_directory;
311 struct lsa_String home_drive;
312 struct lsa_String logon_script;
313 struct lsa_String description;
314 struct lsa_String workstations;
317 struct samr_LogonHours logon_hours;
318 uint16_t bad_password_count;
319 uint16_t logon_count;
320 NTTIME last_password_change;
323 struct samr_Password lmpassword;
324 struct samr_Password ntpassword;
325 uint8_t nt_password_present;
326 uint8_t lm_password_present;
327 uint8_t password_expired;
328 struct lsa_String comment;
329 struct lsa_BinaryString parameters;
330 uint16_t country_code;
332 struct netr_USER_PRIVATE_INFO user_private_info;
333 uint32_t SecurityInformation;
334 struct sec_desc_buf sdbuf;
335 struct lsa_String profile_path;
336 struct lsa_String unknown2;
337 struct lsa_String unknown3;
338 struct lsa_String unknown4;
345 struct netr_DELTA_DOMAIN {
346 struct lsa_String domain_name;
347 struct lsa_String oem_information;
348 int64_t force_logoff_time;
349 uint16_t min_password_length;
350 uint16_t password_history_length;
351 int64_t max_password_age;
352 int64_t min_password_age;
353 uint64_t sequence_num;
354 NTTIME domain_create_time;
355 uint32_t SecurityInformation;
356 struct sec_desc_buf sdbuf;
357 struct lsa_BinaryString account_lockout;
358 struct lsa_String unknown2;
359 struct lsa_String unknown3;
360 struct lsa_String unknown4;
361 uint32_t logon_to_chgpass;
367 struct netr_DELTA_GROUP {
368 struct lsa_String group_name;
371 struct lsa_String description;
372 uint32_t SecurityInformation;
373 struct sec_desc_buf sdbuf;
374 struct lsa_String unknown1;
375 struct lsa_String unknown2;
376 struct lsa_String unknown3;
377 struct lsa_String unknown4;
384 struct netr_DELTA_RENAME {
385 struct lsa_String OldName;
386 struct lsa_String NewName;
387 struct lsa_String unknown1;
388 struct lsa_String unknown2;
389 struct lsa_String unknown3;
390 struct lsa_String unknown4;
397 struct netr_DELTA_GROUP_MEMBER {
398 uint32_t *rids;/* [unique,size_is(num_rids)] */
399 uint32_t *attribs;/* [unique,size_is(num_rids)] */
407 struct netr_DELTA_ALIAS {
408 struct lsa_String alias_name;
410 uint32_t SecurityInformation;
411 struct sec_desc_buf sdbuf;
412 struct lsa_String description;
413 struct lsa_String unknown2;
414 struct lsa_String unknown3;
415 struct lsa_String unknown4;
422 struct netr_DELTA_ALIAS_MEMBER {
423 struct lsa_SidArray sids;
430 struct netr_QUOTA_LIMITS {
431 uint32_t pagedpoollimit;
432 uint32_t nonpagedpoollimit;
433 uint32_t minimumworkingsetsize;
434 uint32_t maximumworkingsetsize;
435 uint32_t pagefilelimit;
439 struct netr_DELTA_POLICY {
441 NTTIME auditretentionperiod;
442 uint8_t auditingmode;
443 uint32_t maxauditeventcount;
444 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
445 struct lsa_String primary_domain_name;
446 struct dom_sid2 *sid;/* [unique] */
447 struct netr_QUOTA_LIMITS quota_limits;
448 uint64_t sequence_num;
449 NTTIME db_create_time;
450 uint32_t SecurityInformation;
451 struct sec_desc_buf sdbuf;
452 struct lsa_String unknown1;
453 struct lsa_String unknown2;
454 struct lsa_String unknown3;
455 struct lsa_String unknown4;
462 struct netr_DELTA_TRUSTED_DOMAIN {
463 struct lsa_String domain_name;
464 uint32_t num_controllers;
465 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
466 uint32_t SecurityInformation;
467 struct sec_desc_buf sdbuf;
468 struct lsa_String unknown1;
469 struct lsa_String unknown2;
470 struct lsa_String unknown3;
471 struct lsa_String unknown4;
472 uint32_t posix_offset;
478 struct netr_DELTA_DELETE_TRUST {
482 struct netr_DELTA_ACCOUNT {
483 uint32_t privilege_entries;
484 uint32_t privilege_control;
485 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
486 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
487 struct netr_QUOTA_LIMITS quotalimits;
488 uint32_t system_flags;
489 uint32_t SecurityInformation;
490 struct sec_desc_buf sdbuf;
491 struct lsa_String unknown1;
492 struct lsa_String unknown2;
493 struct lsa_String unknown3;
494 struct lsa_String unknown4;
501 struct netr_DELTA_DELETE_ACCOUNT {
505 struct netr_DELTA_DELETE_SECRET {
509 struct netr_CIPHER_VALUE {
512 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
515 struct netr_DELTA_SECRET {
516 struct netr_CIPHER_VALUE current_cipher;
517 NTTIME current_cipher_set_time;
518 struct netr_CIPHER_VALUE old_cipher;
519 NTTIME old_cipher_set_time;
520 uint32_t SecurityInformation;
521 struct sec_desc_buf sdbuf;
522 struct lsa_String unknown1;
523 struct lsa_String unknown2;
524 struct lsa_String unknown3;
525 struct lsa_String unknown4;
533 #ifndef USE_UINT_ENUMS
537 NETR_DELTA_DELETE_GROUP=3,
538 NETR_DELTA_RENAME_GROUP=4,
540 NETR_DELTA_DELETE_USER=6,
541 NETR_DELTA_RENAME_USER=7,
542 NETR_DELTA_GROUP_MEMBER=8,
544 NETR_DELTA_DELETE_ALIAS=10,
545 NETR_DELTA_RENAME_ALIAS=11,
546 NETR_DELTA_ALIAS_MEMBER=12,
547 NETR_DELTA_POLICY=13,
548 NETR_DELTA_TRUSTED_DOMAIN=14,
549 NETR_DELTA_DELETE_TRUST=15,
550 NETR_DELTA_ACCOUNT=16,
551 NETR_DELTA_DELETE_ACCOUNT=17,
552 NETR_DELTA_SECRET=18,
553 NETR_DELTA_DELETE_SECRET=19,
554 NETR_DELTA_DELETE_GROUP2=20,
555 NETR_DELTA_DELETE_USER2=21,
556 NETR_DELTA_MODIFY_COUNT=22
559 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
560 #define NETR_DELTA_DOMAIN ( 1 )
561 #define NETR_DELTA_GROUP ( 2 )
562 #define NETR_DELTA_DELETE_GROUP ( 3 )
563 #define NETR_DELTA_RENAME_GROUP ( 4 )
564 #define NETR_DELTA_USER ( 5 )
565 #define NETR_DELTA_DELETE_USER ( 6 )
566 #define NETR_DELTA_RENAME_USER ( 7 )
567 #define NETR_DELTA_GROUP_MEMBER ( 8 )
568 #define NETR_DELTA_ALIAS ( 9 )
569 #define NETR_DELTA_DELETE_ALIAS ( 10 )
570 #define NETR_DELTA_RENAME_ALIAS ( 11 )
571 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
572 #define NETR_DELTA_POLICY ( 13 )
573 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
574 #define NETR_DELTA_DELETE_TRUST ( 15 )
575 #define NETR_DELTA_ACCOUNT ( 16 )
576 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
577 #define NETR_DELTA_SECRET ( 18 )
578 #define NETR_DELTA_DELETE_SECRET ( 19 )
579 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
580 #define NETR_DELTA_DELETE_USER2 ( 21 )
581 #define NETR_DELTA_MODIFY_COUNT ( 22 )
585 union netr_DELTA_UNION {
586 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
587 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
588 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
589 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
590 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
591 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
592 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
593 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
594 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
595 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
596 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
597 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
598 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
599 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
600 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
601 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
602 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
603 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
604 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
605 }/* [switch_type(netr_DeltaEnum)] */;
607 union netr_DELTA_ID_UNION {
608 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
609 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
610 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
611 }/* [switch_type(netr_DeltaEnum)] */;
613 struct netr_DELTA_ENUM {
614 enum netr_DeltaEnum delta_type;
615 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
616 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
619 struct netr_DELTA_ENUM_ARRAY {
621 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
624 struct netr_UAS_INFO_0 {
625 uint8_t computer_name[16];
626 uint32_t timecreated;
627 uint32_t serial_number;
628 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
630 struct netr_AccountBuffer {
631 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
634 /* bitmap netr_InfoFlags */
635 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
636 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
637 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
639 struct netr_NETLOGON_INFO_1 {
641 uint32_t pdc_connection_status;
644 struct netr_NETLOGON_INFO_2 {
646 uint32_t pdc_connection_status;
647 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
648 uint32_t tc_connection_status;
651 struct netr_NETLOGON_INFO_3 {
653 uint32_t logon_attempts;
661 struct netr_NETLOGON_INFO_4 {
662 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
663 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
666 union netr_CONTROL_QUERY_INFORMATION {
667 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
668 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
669 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
670 struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
673 enum netr_LogonControlCode
674 #ifndef USE_UINT_ENUMS
676 NETLOGON_CONTROL_QUERY=0x00000001,
677 NETLOGON_CONTROL_REPLICATE=0x00000002,
678 NETLOGON_CONTROL_SYNCHRONIZE=0x00000003,
679 NETLOGON_CONTROL_PDC_REPLICATE=0x00000004,
680 NETLOGON_CONTROL_REDISCOVER=0x00000005,
681 NETLOGON_CONTROL_TC_QUERY=0x00000006,
682 NETLOGON_CONTROL_TRANSPORT_NOTIFY=0x00000007,
683 NETLOGON_CONTROL_FIND_USER=0x00000008,
684 NETLOGON_CONTROL_CHANGE_PASSWORD=0x00000009,
685 NETLOGON_CONTROL_TC_VERIFY=0x0000000A,
686 NETLOGON_CONTROL_FORCE_DNS_REG=0x0000000B,
687 NETLOGON_CONTROL_QUERY_DNS_REG=0x0000000C,
688 NETLOGON_CONTROL_BACKUP_CHANGE_LOG=0x0000FFFC,
689 NETLOGON_CONTROL_TRUNCATE_LOG=0x0000FFFD,
690 NETLOGON_CONTROL_SET_DBFLAG=0x0000FFFE,
691 NETLOGON_CONTROL_BREAKPOINT=0x0000FFFF
694 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
695 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
696 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
697 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
698 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
699 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
700 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
701 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
702 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
703 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
704 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
705 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
706 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
707 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
708 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
709 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
710 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
714 union netr_CONTROL_DATA_INFORMATION {
715 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
716 const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
717 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
720 /* bitmap netr_NegotiateFlags */
721 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
722 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
723 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
724 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
725 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
726 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
727 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
728 #define NETLOGON_NEG_REDO ( 0x00000080 )
729 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
730 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
731 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
732 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
733 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
734 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
735 #define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
736 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
737 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
738 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
739 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
740 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
741 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
742 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
743 #define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
744 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
745 #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
748 #ifndef USE_UINT_ENUMS
750 SYNCSTATE_NORMAL_STATE=0,
751 SYNCSTATE_DOMAIN_STATE=1,
752 SYNCSTATE_GROUP_STATE=2,
753 SYNCSTATE_UAS_BUILT_IN_GROUP_STATE=3,
754 SYNCSTATE_USER_STATE=4,
755 SYNCSTATE_GROUP_MEMBER_STATE=5,
756 SYNCSTATE_ALIAS_STATE=6,
757 SYNCSTATE_ALIAS_MEMBER_STATE=7,
758 SYNCSTATE_SAM_DONE_STATE=8
761 { __donnot_use_enum_SyncStateEnum=0x7FFFFFFF}
762 #define SYNCSTATE_NORMAL_STATE ( 0 )
763 #define SYNCSTATE_DOMAIN_STATE ( 1 )
764 #define SYNCSTATE_GROUP_STATE ( 2 )
765 #define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 )
766 #define SYNCSTATE_USER_STATE ( 4 )
767 #define SYNCSTATE_GROUP_MEMBER_STATE ( 5 )
768 #define SYNCSTATE_ALIAS_STATE ( 6 )
769 #define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 )
770 #define SYNCSTATE_SAM_DONE_STATE ( 8 )
774 /* bitmap netr_ChangeLogFlags */
775 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
776 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
777 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
778 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
779 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
781 union netr_ChangeLogObject {
782 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
783 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
784 }/* [nodiscriminant] */;
786 struct netr_ChangeLogEntry {
787 uint32_t serial_number1;
788 uint32_t serial_number2;
791 enum netr_SamDatabaseID8Bit db_index;
792 enum netr_DeltaEnum8Bit delta_type;
793 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
794 }/* [gensize,public] */;
798 uint8_t *data;/* [unique,size_is(length)] */
801 /* bitmap netr_DsRGetDCName_flags */
802 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
803 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
804 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
805 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
806 #define DS_PDC_REQUIRED ( 0x00000080 )
807 #define DS_BACKGROUND_ONLY ( 0x00000100 )
808 #define DS_IP_REQUIRED ( 0x00000200 )
809 #define DS_KDC_REQUIRED ( 0x00000400 )
810 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
811 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
812 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
813 #define DS_AVOID_SELF ( 0x00004000 )
814 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
815 #define DS_IS_FLAT_NAME ( 0x00010000 )
816 #define DS_IS_DNS_NAME ( 0x00020000 )
817 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
818 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
819 #define DS_RETURN_DNS_NAME ( 0x40000000 )
820 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
822 enum netr_DsRGetDCNameInfo_AddressType
823 #ifndef USE_UINT_ENUMS
825 DS_ADDRESS_TYPE_INET=1,
826 DS_ADDRESS_TYPE_NETBIOS=2
829 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
830 #define DS_ADDRESS_TYPE_INET ( 1 )
831 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
835 /* bitmap netr_DsR_DcFlags */
836 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
837 #define DS_SERVER_GC ( NBT_SERVER_GC )
838 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
839 #define DS_SERVER_DS ( NBT_SERVER_DS )
840 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
841 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
842 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
843 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
844 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
845 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
846 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
847 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
848 #define DS_DNS_CONTROLLER ( 0x20000000 )
849 #define DS_DNS_DOMAIN ( 0x40000000 )
850 #define DS_DNS_FOREST ( 0x80000000 )
852 struct netr_DsRGetDCNameInfo {
853 const char *dc_unc;/* [unique,charset(UTF16)] */
854 const char *dc_address;/* [unique,charset(UTF16)] */
855 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
856 struct GUID domain_guid;
857 const char *domain_name;/* [unique,charset(UTF16)] */
858 const char *forest_name;/* [unique,charset(UTF16)] */
860 const char *dc_site_name;/* [unique,charset(UTF16)] */
861 const char *client_site_name;/* [unique,charset(UTF16)] */
864 union netr_Capabilities {
865 uint32_t server_capabilities;/* [case] */
866 }/* [switch_type(uint32)] */;
868 /* bitmap netr_TrustFlags */
869 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
870 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
871 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
872 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
873 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
874 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
875 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
876 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
878 /* bitmap netr_WorkstationFlags */
879 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
880 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
882 /* bitmap netr_SuiteMask */
883 #define NETR_VER_SUITE_BACKOFFICE ( 0x0004 )
884 #define NETR_VER_SUITE_BLADE ( 0x0400 )
885 #define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 )
886 #define NETR_VER_SUITE_DATACENTER ( 0x0080 )
887 #define NETR_VER_SUITE_ENTERPRISE ( 0x0002 )
888 #define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 )
889 #define NETR_VER_SUITE_PERSONAL ( 0x0200 )
890 #define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 )
891 #define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 )
892 #define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 )
893 #define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 )
894 #define NETR_VER_SUITE_TERMINAL ( 0x0010 )
895 #define NETR_VER_SUITE_WH_SERVER ( 0x8000 )
897 /* bitmap netr_ProductType */
898 #define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 )
899 #define NETR_VER_NT_SERVER ( 0x03 )
900 #define NETR_VER_NT_WORKSTATION ( 0x01 )
902 struct netr_LsaPolicyInformation {
903 uint32_t policy_size;
904 uint8_t *policy;/* [unique,size_is(policy_size)] */
907 struct netr_OsVersionInfoEx {
908 uint32_t OSVersionInfoSize;/* [value(284)] */
909 uint32_t MajorVersion;
910 uint32_t MinorVersion;
911 uint32_t BuildNumber;
913 const char *CSDVersion;/* [charset(UTF16)] */
914 uint16_t ServicePackMajor;
915 uint16_t ServicePackMinor;
921 struct netr_OsVersion {
922 uint32_t length;/* [value(142)] */
923 uint32_t dummy;/* [value(0)] */
924 uint32_t size;/* [value(142)] */
925 struct netr_OsVersionInfoEx os;
928 struct netr_OsVersionContainer {
929 uint16_t length;/* [value(os==NULL?0:284)] */
930 uint16_t size;/* [value(os==NULL?0:284)] */
931 struct netr_OsVersion *os;/* [unique] */
934 struct netr_WorkstationInformation {
935 struct netr_LsaPolicyInformation lsa_policy;
936 const char *dns_hostname;/* [unique,charset(UTF16)] */
937 const char *sitename;/* [unique,charset(UTF16)] */
938 const char *dummy1;/* [unique,charset(UTF16)] */
939 const char *dummy2;/* [unique,charset(UTF16)] */
940 const char *dummy3;/* [unique,charset(UTF16)] */
941 const char *dummy4;/* [unique,charset(UTF16)] */
942 struct netr_OsVersionContainer os_version;
943 struct lsa_String os_name;
944 struct lsa_String dummy_string3;
945 struct lsa_String dummy_string4;
946 uint32_t workstation_flags;
947 uint32_t dummy_long2;
948 uint32_t dummy_long3;
949 uint32_t dummy_long4;
952 union netr_WorkstationInfo {
953 struct netr_WorkstationInformation *workstation_info;/* [unique,case] */
954 struct netr_WorkstationInformation *lsa_policy_info;/* [unique,case(2)] */
957 struct netr_trust_extension {
958 uint32_t length;/* [value(8)] */
959 uint32_t dummy;/* [value(0)] */
960 uint32_t size;/* [value(8)] */
962 uint32_t parent_index;
964 uint32_t trust_attributes;
967 struct netr_trust_extension_container {
969 uint16_t size;/* [value(length)] */
970 struct netr_trust_extension *info;/* [unique] */
973 struct netr_OneDomainInfo {
974 struct lsa_String domainname;
975 struct lsa_String dns_domainname;
976 struct lsa_String dns_forestname;
977 struct GUID domain_guid;
978 struct dom_sid2 *domain_sid;/* [unique] */
979 struct netr_trust_extension_container trust_extension;
980 struct lsa_String dummy_string2;
981 struct lsa_String dummy_string3;
982 struct lsa_String dummy_string4;
983 uint32_t dummy_long1;
984 uint32_t dummy_long2;
985 uint32_t dummy_long3;
986 uint32_t dummy_long4;
989 struct netr_DomainInformation {
990 struct netr_OneDomainInfo primary_domain;
991 uint32_t trusted_domain_count;
992 struct netr_OneDomainInfo *trusted_domains;/* [unique,size_is(trusted_domain_count)] */
993 struct netr_LsaPolicyInformation lsa_policy;
994 struct lsa_String dns_hostname;
995 struct lsa_String dummy_string2;
996 struct lsa_String dummy_string3;
997 struct lsa_String dummy_string4;
998 uint32_t workstation_flags;
999 uint32_t supported_enc_types;
1000 uint32_t dummy_long3;
1001 uint32_t dummy_long4;
1004 union netr_DomainInfo {
1005 struct netr_DomainInformation *domain_info;/* [unique,case] */
1006 struct netr_LsaPolicyInformation *lsa_policy_info;/* [unique,case(2)] */
1009 struct netr_CryptPassword {
1012 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
1014 struct netr_DsRAddressToSitenamesWCtr {
1016 struct lsa_String *sitename;/* [unique,size_is(count)] */
1019 struct netr_DsRAddress {
1020 uint8_t *buffer;/* [unique,size_is(size)] */
1025 #ifndef USE_UINT_ENUMS
1027 NETR_TRUST_TYPE_DOWNLEVEL=1,
1028 NETR_TRUST_TYPE_UPLEVEL=2,
1029 NETR_TRUST_TYPE_MIT=3,
1030 NETR_TRUST_TYPE_DCE=4
1033 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
1034 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
1035 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
1036 #define NETR_TRUST_TYPE_MIT ( 3 )
1037 #define NETR_TRUST_TYPE_DCE ( 4 )
1041 /* bitmap netr_TrustAttributes */
1042 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
1043 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
1044 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
1045 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
1046 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
1047 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
1048 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
1050 struct netr_DomainTrust {
1051 const char *netbios_name;/* [unique,charset(UTF16)] */
1052 const char *dns_name;/* [unique,charset(UTF16)] */
1053 uint32_t trust_flags;
1054 uint32_t parent_index;
1055 enum netr_TrustType trust_type;
1056 uint32_t trust_attributes;
1057 struct dom_sid2 *sid;/* [unique] */
1061 struct netr_DomainTrustList {
1063 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
1066 struct netr_DsRAddressToSitenamesExWCtr {
1068 struct lsa_String *sitename;/* [unique,size_is(count)] */
1069 struct lsa_String *subnetname;/* [unique,size_is(count)] */
1074 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
1077 struct netr_TrustInfo {
1079 uint32_t *data;/* [unique,size_is(count)] */
1080 uint32_t entry_count;
1081 struct lsa_String *entries;/* [unique,size_is(count)] */
1085 struct netr_LogonUasLogon {
1087 const char *server_name;/* [unique,charset(UTF16)] */
1088 const char *account_name;/* [ref,charset(UTF16)] */
1089 const char *workstation;/* [ref,charset(UTF16)] */
1093 struct netr_UasInfo **info;/* [ref] */
1100 struct netr_LogonUasLogoff {
1102 const char *server_name;/* [unique,charset(UTF16)] */
1103 const char *account_name;/* [ref,charset(UTF16)] */
1104 const char *workstation;/* [ref,charset(UTF16)] */
1108 struct netr_UasLogoffInfo *info;/* [ref] */
1115 struct netr_LogonSamLogon {
1117 const char *server_name;/* [unique,charset(UTF16)] */
1118 const char *computer_name;/* [unique,charset(UTF16)] */
1119 struct netr_Authenticator *credential;/* [unique] */
1120 enum netr_LogonInfoClass logon_level;
1121 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1122 uint16_t validation_level;
1123 struct netr_Authenticator *return_authenticator;/* [unique] */
1127 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1128 uint8_t *authoritative;/* [ref] */
1129 struct netr_Authenticator *return_authenticator;/* [unique] */
1136 struct netr_LogonSamLogoff {
1138 const char *server_name;/* [unique,charset(UTF16)] */
1139 const char *computer_name;/* [unique,charset(UTF16)] */
1140 struct netr_Authenticator *credential;/* [unique] */
1141 enum netr_LogonInfoClass logon_level;
1142 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1143 struct netr_Authenticator *return_authenticator;/* [unique] */
1147 struct netr_Authenticator *return_authenticator;/* [unique] */
1154 struct netr_ServerReqChallenge {
1156 const char *server_name;/* [unique,charset(UTF16)] */
1157 const char *computer_name;/* [ref,charset(UTF16)] */
1158 struct netr_Credential *credentials;/* [ref] */
1162 struct netr_Credential *return_credentials;/* [ref] */
1169 struct netr_ServerAuthenticate {
1171 const char *server_name;/* [unique,charset(UTF16)] */
1172 const char *account_name;/* [ref,charset(UTF16)] */
1173 enum netr_SchannelType secure_channel_type;
1174 const char *computer_name;/* [ref,charset(UTF16)] */
1175 struct netr_Credential *credentials;/* [ref] */
1179 struct netr_Credential *return_credentials;/* [ref] */
1186 struct netr_ServerPasswordSet {
1188 const char *server_name;/* [unique,charset(UTF16)] */
1189 const char *account_name;/* [ref,charset(UTF16)] */
1190 enum netr_SchannelType secure_channel_type;
1191 const char *computer_name;/* [ref,charset(UTF16)] */
1192 struct netr_Authenticator *credential;/* [ref] */
1193 struct samr_Password *new_password;/* [ref] */
1197 struct netr_Authenticator *return_authenticator;/* [ref] */
1204 struct netr_DatabaseDeltas {
1206 const char *logon_server;/* [ref,charset(UTF16)] */
1207 const char *computername;/* [ref,charset(UTF16)] */
1208 struct netr_Authenticator *credential;/* [ref] */
1209 enum netr_SamDatabaseID database_id;
1210 uint32_t preferredmaximumlength;
1211 struct netr_Authenticator *return_authenticator;/* [ref] */
1212 uint64_t *sequence_num;/* [ref] */
1216 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1217 struct netr_Authenticator *return_authenticator;/* [ref] */
1218 uint64_t *sequence_num;/* [ref] */
1225 struct netr_DatabaseSync {
1227 const char *logon_server;/* [ref,charset(UTF16)] */
1228 const char *computername;/* [ref,charset(UTF16)] */
1229 struct netr_Authenticator *credential;/* [ref] */
1230 enum netr_SamDatabaseID database_id;
1231 uint32_t preferredmaximumlength;
1232 struct netr_Authenticator *return_authenticator;/* [ref] */
1233 uint32_t *sync_context;/* [ref] */
1237 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1238 struct netr_Authenticator *return_authenticator;/* [ref] */
1239 uint32_t *sync_context;/* [ref] */
1246 struct netr_AccountDeltas {
1248 const char *logon_server;/* [unique,charset(UTF16)] */
1249 const char *computername;/* [ref,charset(UTF16)] */
1250 struct netr_Authenticator credential;
1251 struct netr_UAS_INFO_0 uas;
1254 uint32_t buffersize;
1255 struct netr_Authenticator *return_authenticator;/* [ref] */
1259 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1260 uint32_t *count_returned;/* [ref] */
1261 uint32_t *total_entries;/* [ref] */
1262 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1263 struct netr_Authenticator *return_authenticator;/* [ref] */
1270 struct netr_AccountSync {
1272 const char *logon_server;/* [unique,charset(UTF16)] */
1273 const char *computername;/* [ref,charset(UTF16)] */
1274 struct netr_Authenticator credential;
1277 uint32_t buffersize;
1278 struct netr_Authenticator *return_authenticator;/* [ref] */
1279 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1283 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1284 uint32_t *count_returned;/* [ref] */
1285 uint32_t *total_entries;/* [ref] */
1286 uint32_t *next_reference;/* [ref] */
1287 struct netr_Authenticator *return_authenticator;/* [ref] */
1288 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1295 struct netr_GetDcName {
1297 const char *logon_server;/* [ref,charset(UTF16)] */
1298 const char *domainname;/* [unique,charset(UTF16)] */
1302 const char **dcname;/* [ref,charset(UTF16)] */
1309 struct netr_LogonControl {
1311 const char *logon_server;/* [unique,charset(UTF16)] */
1312 enum netr_LogonControlCode function_code;
1317 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1324 struct netr_GetAnyDCName {
1326 const char *logon_server;/* [unique,charset(UTF16)] */
1327 const char *domainname;/* [unique,charset(UTF16)] */
1331 const char **dcname;/* [ref,charset(UTF16)] */
1338 struct netr_LogonControl2 {
1340 const char *logon_server;/* [unique,charset(UTF16)] */
1341 enum netr_LogonControlCode function_code;
1343 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1347 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1354 struct netr_ServerAuthenticate2 {
1356 const char *server_name;/* [unique,charset(UTF16)] */
1357 const char *account_name;/* [ref,charset(UTF16)] */
1358 enum netr_SchannelType secure_channel_type;
1359 const char *computer_name;/* [ref,charset(UTF16)] */
1360 struct netr_Credential *credentials;/* [ref] */
1361 uint32_t *negotiate_flags;/* [ref] */
1365 struct netr_Credential *return_credentials;/* [ref] */
1366 uint32_t *negotiate_flags;/* [ref] */
1373 struct netr_DatabaseSync2 {
1375 const char *logon_server;/* [ref,charset(UTF16)] */
1376 const char *computername;/* [ref,charset(UTF16)] */
1377 struct netr_Authenticator *credential;/* [ref] */
1378 enum netr_SamDatabaseID database_id;
1379 enum SyncStateEnum restart_state;
1380 uint32_t preferredmaximumlength;
1381 struct netr_Authenticator *return_authenticator;/* [ref] */
1382 uint32_t *sync_context;/* [ref] */
1386 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1387 struct netr_Authenticator *return_authenticator;/* [ref] */
1388 uint32_t *sync_context;/* [ref] */
1395 struct netr_DatabaseRedo {
1397 const char *logon_server;/* [ref,charset(UTF16)] */
1398 const char *computername;/* [ref,charset(UTF16)] */
1399 struct netr_Authenticator *credential;/* [ref] */
1400 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1401 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1402 struct netr_Authenticator *return_authenticator;/* [ref] */
1406 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1407 struct netr_Authenticator *return_authenticator;/* [ref] */
1414 struct netr_LogonControl2Ex {
1416 const char *logon_server;/* [unique,charset(UTF16)] */
1417 enum netr_LogonControlCode function_code;
1419 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1423 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1430 struct netr_NetrEnumerateTrustedDomains {
1432 const char *server_name;/* [unique,charset(UTF16)] */
1436 struct netr_Blob *trusted_domains_blob;/* [ref] */
1443 struct netr_DsRGetDCName {
1445 const char *server_unc;/* [unique,charset(UTF16)] */
1446 const char *domain_name;/* [unique,charset(UTF16)] */
1447 struct GUID *domain_guid;/* [unique] */
1448 struct GUID *site_guid;/* [unique] */
1453 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1460 struct netr_LogonGetCapabilities {
1462 const char *server_name;/* [ref,charset(UTF16)] */
1463 const char *computer_name;/* [unique,charset(UTF16)] */
1464 struct netr_Authenticator *credential;/* [ref] */
1465 uint32_t query_level;
1466 struct netr_Authenticator *return_authenticator;/* [ref] */
1470 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1471 struct netr_Authenticator *return_authenticator;/* [ref] */
1478 struct netr_NETRLOGONSETSERVICEBITS {
1486 struct netr_LogonGetTrustRid {
1488 const char *server_name;/* [unique,charset(UTF16)] */
1489 const char *domain_name;/* [unique,charset(UTF16)] */
1493 uint32_t *rid;/* [ref] */
1500 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1508 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1516 struct netr_ServerAuthenticate3 {
1518 const char *server_name;/* [unique,charset(UTF16)] */
1519 const char *account_name;/* [ref,charset(UTF16)] */
1520 enum netr_SchannelType secure_channel_type;
1521 const char *computer_name;/* [ref,charset(UTF16)] */
1522 struct netr_Credential *credentials;/* [ref] */
1523 uint32_t *negotiate_flags;/* [ref] */
1527 struct netr_Credential *return_credentials;/* [ref] */
1528 uint32_t *rid;/* [ref] */
1529 uint32_t *negotiate_flags;/* [ref] */
1536 struct netr_DsRGetDCNameEx {
1538 const char *server_unc;/* [unique,charset(UTF16)] */
1539 const char *domain_name;/* [unique,charset(UTF16)] */
1540 struct GUID *domain_guid;/* [unique] */
1541 const char *site_name;/* [unique,charset(UTF16)] */
1546 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1553 struct netr_DsRGetSiteName {
1555 const char *computer_name;/* [unique,charset(UTF16)] */
1559 const char **site;/* [ref,charset(UTF16)] */
1566 struct netr_LogonGetDomainInfo {
1568 const char *server_name;/* [ref,charset(UTF16)] */
1569 const char *computer_name;/* [unique,charset(UTF16)] */
1570 struct netr_Authenticator *credential;/* [ref] */
1572 union netr_WorkstationInfo *query;/* [ref,switch_is(level)] */
1573 struct netr_Authenticator *return_authenticator;/* [ref] */
1577 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1578 struct netr_Authenticator *return_authenticator;/* [ref] */
1585 struct netr_ServerPasswordSet2 {
1587 const char *server_name;/* [unique,charset(UTF16)] */
1588 const char *account_name;/* [ref,charset(UTF16)] */
1589 enum netr_SchannelType secure_channel_type;
1590 const char *computer_name;/* [ref,charset(UTF16)] */
1591 struct netr_Authenticator *credential;/* [ref] */
1592 struct netr_CryptPassword *new_password;/* [ref] */
1596 struct netr_Authenticator *return_authenticator;/* [ref] */
1603 struct netr_ServerPasswordGet {
1605 const char *server_name;/* [unique,charset(UTF16)] */
1606 const char *account_name;/* [ref,charset(UTF16)] */
1607 enum netr_SchannelType secure_channel_type;
1608 const char *computer_name;/* [ref,charset(UTF16)] */
1609 struct netr_Authenticator *credential;/* [ref] */
1613 struct netr_Authenticator *return_authenticator;/* [ref] */
1614 struct samr_Password *password;/* [ref] */
1621 struct netr_NETRLOGONSENDTOSAM {
1629 struct netr_DsRAddressToSitenamesW {
1631 const char *server_name;/* [unique,charset(UTF16)] */
1632 uint32_t count;/* [range(0,32000)] */
1633 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1637 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1644 struct netr_DsRGetDCNameEx2 {
1646 const char *server_unc;/* [unique,charset(UTF16)] */
1647 const char *client_account;/* [unique,charset(UTF16)] */
1649 const char *domain_name;/* [unique,charset(UTF16)] */
1650 struct GUID *domain_guid;/* [unique] */
1651 const char *site_name;/* [unique,charset(UTF16)] */
1656 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1663 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1671 struct netr_NetrEnumerateTrustedDomainsEx {
1673 const char *server_name;/* [unique,charset(UTF16)] */
1677 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1684 struct netr_DsRAddressToSitenamesExW {
1686 const char *server_name;/* [unique,charset(UTF16)] */
1687 uint32_t count;/* [range(0,32000)] */
1688 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1692 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1699 struct netr_DsrGetDcSiteCoverageW {
1701 const char *server_name;/* [unique,charset(UTF16)] */
1705 struct DcSitesCtr **ctr;/* [ref] */
1712 struct netr_LogonSamLogonEx {
1714 const char *server_name;/* [unique,charset(UTF16)] */
1715 const char *computer_name;/* [unique,charset(UTF16)] */
1716 enum netr_LogonInfoClass logon_level;
1717 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1718 uint16_t validation_level;
1719 uint32_t *flags;/* [ref] */
1723 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1724 uint8_t *authoritative;/* [ref] */
1725 uint32_t *flags;/* [ref] */
1732 struct netr_DsrEnumerateDomainTrusts {
1734 const char *server_name;/* [unique,charset(UTF16)] */
1735 uint32_t trust_flags;
1739 struct netr_DomainTrustList *trusts;/* [ref] */
1746 struct netr_DsrDeregisterDNSHostRecords {
1748 const char *server_name;/* [unique,charset(UTF16)] */
1749 const char *domain;/* [unique,charset(UTF16)] */
1750 struct GUID *domain_guid;/* [unique] */
1751 struct GUID *dsa_guid;/* [unique] */
1752 const char *dns_host;/* [ref,charset(UTF16)] */
1762 struct netr_ServerTrustPasswordsGet {
1764 const char *server_name;/* [unique,charset(UTF16)] */
1765 const char *account_name;/* [ref,charset(UTF16)] */
1766 enum netr_SchannelType secure_channel_type;
1767 const char *computer_name;/* [ref,charset(UTF16)] */
1768 struct netr_Authenticator *credential;/* [ref] */
1772 struct netr_Authenticator *return_authenticator;/* [ref] */
1773 struct samr_Password *password;/* [ref] */
1774 struct samr_Password *password2;/* [ref] */
1781 struct netr_DsRGetForestTrustInformation {
1783 const char *server_name;/* [unique,charset(UTF16)] */
1784 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1789 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1796 struct netr_GetForestTrustInformation {
1798 const char *server_name;/* [unique,charset(UTF16)] */
1799 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1800 struct netr_Authenticator *credential;/* [ref] */
1805 struct netr_Authenticator *return_authenticator;/* [ref] */
1806 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1813 struct netr_LogonSamLogonWithFlags {
1815 const char *server_name;/* [unique,charset(UTF16)] */
1816 const char *computer_name;/* [unique,charset(UTF16)] */
1817 struct netr_Authenticator *credential;/* [unique] */
1818 enum netr_LogonInfoClass logon_level;
1819 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1820 uint16_t validation_level;
1821 struct netr_Authenticator *return_authenticator;/* [unique] */
1822 uint32_t *flags;/* [ref] */
1826 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1827 uint8_t *authoritative;/* [ref] */
1828 struct netr_Authenticator *return_authenticator;/* [unique] */
1829 uint32_t *flags;/* [ref] */
1836 struct netr_ServerGetTrustInfo {
1838 const char *server_name;/* [unique,charset(UTF16)] */
1839 const char *account_name;/* [ref,charset(UTF16)] */
1840 enum netr_SchannelType secure_channel_type;
1841 const char *computer_name;/* [ref,charset(UTF16)] */
1842 struct netr_Authenticator *credential;/* [ref] */
1846 struct netr_Authenticator *return_authenticator;/* [ref] */
1847 struct samr_Password *new_owf_password;/* [ref] */
1848 struct samr_Password *old_owf_password;/* [ref] */
1849 struct netr_TrustInfo **trust_info;/* [ref] */
1855 #endif /* _HEADER_netlogon */