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 )
747 /* bitmap netr_ChangeLogFlags */
748 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
749 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
750 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
751 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
752 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
754 union netr_ChangeLogObject
{
755 struct dom_sid object_sid
;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
756 const char * object_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
757 }/* [nodiscriminant] */;
759 struct netr_ChangeLogEntry
{
760 uint32_t serial_number1
;
761 uint32_t serial_number2
;
764 enum netr_SamDatabaseID8Bit db_index
;
765 enum netr_DeltaEnum8Bit delta_type
;
766 union netr_ChangeLogObject object
;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
767 }/* [gensize,public] */;
771 uint8_t *data
;/* [unique,size_is(length)] */
774 /* bitmap netr_DsRGetDCName_flags */
775 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
776 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
777 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
778 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
779 #define DS_PDC_REQUIRED ( 0x00000080 )
780 #define DS_BACKGROUND_ONLY ( 0x00000100 )
781 #define DS_IP_REQUIRED ( 0x00000200 )
782 #define DS_KDC_REQUIRED ( 0x00000400 )
783 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
784 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
785 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
786 #define DS_AVOID_SELF ( 0x00004000 )
787 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
788 #define DS_IS_FLAT_NAME ( 0x00010000 )
789 #define DS_IS_DNS_NAME ( 0x00020000 )
790 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
791 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
792 #define DS_RETURN_DNS_NAME ( 0x40000000 )
793 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
795 enum netr_DsRGetDCNameInfo_AddressType
796 #ifndef USE_UINT_ENUMS
798 DS_ADDRESS_TYPE_INET
=1,
799 DS_ADDRESS_TYPE_NETBIOS
=2
802 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType
=0x7FFFFFFF}
803 #define DS_ADDRESS_TYPE_INET ( 1 )
804 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
808 /* bitmap netr_DsR_DcFlags */
809 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
810 #define DS_SERVER_GC ( NBT_SERVER_GC )
811 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
812 #define DS_SERVER_DS ( NBT_SERVER_DS )
813 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
814 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
815 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
816 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
817 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
818 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
819 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
820 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
821 #define DS_DNS_CONTROLLER ( 0x20000000 )
822 #define DS_DNS_DOMAIN ( 0x40000000 )
823 #define DS_DNS_FOREST ( 0x80000000 )
825 struct netr_DsRGetDCNameInfo
{
826 const char *dc_unc
;/* [unique,charset(UTF16)] */
827 const char *dc_address
;/* [unique,charset(UTF16)] */
828 enum netr_DsRGetDCNameInfo_AddressType dc_address_type
;
829 struct GUID domain_guid
;
830 const char *domain_name
;/* [unique,charset(UTF16)] */
831 const char *forest_name
;/* [unique,charset(UTF16)] */
833 const char *dc_site_name
;/* [unique,charset(UTF16)] */
834 const char *client_site_name
;/* [unique,charset(UTF16)] */
837 union netr_Capabilities
{
838 uint32_t server_capabilities
;/* [case] */
839 }/* [switch_type(uint32)] */;
841 /* bitmap netr_TrustFlags */
842 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
843 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
844 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
845 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
846 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
847 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
848 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
849 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
851 struct netr_DomainQuery1
{
852 struct netr_Blob blob
;
853 const char *workstation_domain
;/* [unique,charset(UTF16)] */
854 const char *workstation_site
;/* [unique,charset(UTF16)] */
855 const char *unknown1
;/* [unique,charset(UTF16)] */
856 const char *unknown2
;/* [unique,charset(UTF16)] */
857 const char *unknown3
;/* [unique,charset(UTF16)] */
858 const char *unknown4
;/* [unique,charset(UTF16)] */
859 struct lsa_BinaryString blob2
;
860 struct lsa_String product
;
861 struct lsa_String unknown5
;
862 struct lsa_String unknown6
;
863 uint32_t unknown7
[4];
866 union netr_DomainQuery
{
867 struct netr_DomainQuery1
*query1
;/* [unique,case] */
870 struct netr_trust_extension
{
871 uint32_t length
;/* [value(8)] */
872 uint32_t dummy
;/* [value(0)] */
873 uint32_t size
;/* [value(8)] */
875 uint32_t parent_index
;
877 uint32_t trust_attributes
;
880 struct netr_trust_extension_container
{
882 uint16_t size
;/* [value(length)] */
883 struct netr_trust_extension
*info
;/* [unique] */
886 struct netr_DomainTrustInfo
{
887 struct lsa_String domainname
;
888 struct lsa_String fulldomainname
;
889 struct lsa_String forest
;
891 struct dom_sid2
*sid
;/* [unique] */
892 struct netr_trust_extension_container trust_extension
;
893 struct lsa_String dummystring
[3];
897 struct netr_LsaPolicyInfo
{
898 uint32_t policy_size
;
899 uint8_t *policy
;/* [unique,size_is(policy_size)] */
902 /* bitmap netr_WorkstationFlags */
903 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
904 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
906 struct netr_DomainInfo1
{
907 struct netr_DomainTrustInfo domaininfo
;
909 struct netr_DomainTrustInfo
*trusts
;/* [unique,size_is(num_trusts)] */
910 struct netr_LsaPolicyInfo lsa_policy
;
911 struct lsa_String dns_hostname
;
912 struct lsa_String dummystring
[3];
913 uint32_t workstation_flags
;
914 uint32_t supported_enc_types
;
918 union netr_DomainInfo
{
919 struct netr_DomainInfo1
*info1
;/* [unique,case] */
920 struct netr_DomainInfo1
*info2
;/* [unique,case(2)] */
923 struct netr_CryptPassword
{
926 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
928 struct netr_DsRAddressToSitenamesWCtr
{
930 struct lsa_String
*sitename
;/* [unique,size_is(count)] */
933 struct netr_DsRAddress
{
934 uint8_t *buffer
;/* [unique,size_is(size)] */
939 #ifndef USE_UINT_ENUMS
941 NETR_TRUST_TYPE_DOWNLEVEL
=1,
942 NETR_TRUST_TYPE_UPLEVEL
=2,
943 NETR_TRUST_TYPE_MIT
=3,
944 NETR_TRUST_TYPE_DCE
=4
947 { __donnot_use_enum_netr_TrustType
=0x7FFFFFFF}
948 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
949 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
950 #define NETR_TRUST_TYPE_MIT ( 3 )
951 #define NETR_TRUST_TYPE_DCE ( 4 )
955 /* bitmap netr_TrustAttributes */
956 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
957 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
958 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
959 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
960 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
961 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
962 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
964 struct netr_DomainTrust
{
965 const char *netbios_name
;/* [unique,charset(UTF16)] */
966 const char *dns_name
;/* [unique,charset(UTF16)] */
967 uint32_t trust_flags
;
968 uint32_t parent_index
;
969 enum netr_TrustType trust_type
;
970 uint32_t trust_attributes
;
971 struct dom_sid2
*sid
;/* [unique] */
975 struct netr_DomainTrustList
{
977 struct netr_DomainTrust
*array
;/* [unique,size_is(count)] */
980 struct netr_DsRAddressToSitenamesExWCtr
{
982 struct lsa_String
*sitename
;/* [unique,size_is(count)] */
983 struct lsa_String
*subnetname
;/* [unique,size_is(count)] */
988 struct lsa_String
*sites
;/* [unique,size_is(num_sites)] */
991 struct netr_TrustInfo
{
993 uint32_t *data
;/* [unique,size_is(count)] */
994 uint32_t entry_count
;
995 struct lsa_String
*entries
;/* [unique,size_is(count)] */
999 struct netr_LogonUasLogon
{
1001 const char *server_name
;/* [unique,charset(UTF16)] */
1002 const char *account_name
;/* [charset(UTF16)] */
1003 const char *workstation
;/* [charset(UTF16)] */
1007 struct netr_UasInfo
**info
;/* [ref] */
1014 struct netr_LogonUasLogoff
{
1016 const char *server_name
;/* [unique,charset(UTF16)] */
1017 const char *account_name
;/* [charset(UTF16)] */
1018 const char *workstation
;/* [charset(UTF16)] */
1022 struct netr_UasLogoffInfo
*info
;/* [ref] */
1029 struct netr_LogonSamLogon
{
1031 const char *server_name
;/* [unique,charset(UTF16)] */
1032 const char *computer_name
;/* [unique,charset(UTF16)] */
1033 struct netr_Authenticator
*credential
;/* [unique] */
1034 enum netr_LogonInfoClass logon_level
;
1035 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1036 uint16_t validation_level
;
1037 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1041 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1042 uint8_t *authoritative
;/* [ref] */
1043 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1050 struct netr_LogonSamLogoff
{
1052 const char *server_name
;/* [unique,charset(UTF16)] */
1053 const char *computer_name
;/* [unique,charset(UTF16)] */
1054 struct netr_Authenticator
*credential
;/* [unique] */
1055 enum netr_LogonInfoClass logon_level
;
1056 union netr_LogonLevel logon
;/* [switch_is(logon_level)] */
1057 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1061 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1068 struct netr_ServerReqChallenge
{
1070 const char *server_name
;/* [unique,charset(UTF16)] */
1071 const char *computer_name
;/* [charset(UTF16)] */
1072 struct netr_Credential
*credentials
;/* [ref] */
1076 struct netr_Credential
*return_credentials
;/* [ref] */
1083 struct netr_ServerAuthenticate
{
1085 const char *server_name
;/* [unique,charset(UTF16)] */
1086 const char *account_name
;/* [charset(UTF16)] */
1087 enum netr_SchannelType secure_channel_type
;
1088 const char *computer_name
;/* [charset(UTF16)] */
1089 struct netr_Credential
*credentials
;/* [ref] */
1093 struct netr_Credential
*return_credentials
;/* [ref] */
1100 struct netr_ServerPasswordSet
{
1102 const char *server_name
;/* [unique,charset(UTF16)] */
1103 const char *account_name
;/* [charset(UTF16)] */
1104 enum netr_SchannelType secure_channel_type
;
1105 const char *computer_name
;/* [charset(UTF16)] */
1106 struct netr_Authenticator
*credential
;/* [ref] */
1107 struct samr_Password
*new_password
;/* [ref] */
1111 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1118 struct netr_DatabaseDeltas
{
1120 const char *logon_server
;/* [charset(UTF16)] */
1121 const char *computername
;/* [charset(UTF16)] */
1122 struct netr_Authenticator
*credential
;/* [ref] */
1123 enum netr_SamDatabaseID database_id
;
1124 uint32_t preferredmaximumlength
;
1125 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1126 uint64_t *sequence_num
;/* [ref] */
1130 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1131 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1132 uint64_t *sequence_num
;/* [ref] */
1139 struct netr_DatabaseSync
{
1141 const char *logon_server
;/* [charset(UTF16)] */
1142 const char *computername
;/* [charset(UTF16)] */
1143 struct netr_Authenticator
*credential
;/* [ref] */
1144 enum netr_SamDatabaseID database_id
;
1145 uint32_t preferredmaximumlength
;
1146 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1147 uint32_t *sync_context
;/* [ref] */
1151 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1152 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1153 uint32_t *sync_context
;/* [ref] */
1160 struct netr_AccountDeltas
{
1162 const char *logon_server
;/* [unique,charset(UTF16)] */
1163 const char *computername
;/* [charset(UTF16)] */
1164 struct netr_Authenticator credential
;
1165 struct netr_UAS_INFO_0 uas
;
1168 uint32_t buffersize
;
1169 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1173 struct netr_AccountBuffer
*buffer
;/* [ref,subcontext(4)] */
1174 uint32_t *count_returned
;/* [ref] */
1175 uint32_t *total_entries
;/* [ref] */
1176 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1177 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1184 struct netr_AccountSync
{
1186 const char *logon_server
;/* [unique,charset(UTF16)] */
1187 const char *computername
;/* [charset(UTF16)] */
1188 struct netr_Authenticator credential
;
1191 uint32_t buffersize
;
1192 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1193 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1197 struct netr_AccountBuffer
*buffer
;/* [ref,subcontext(4)] */
1198 uint32_t *count_returned
;/* [ref] */
1199 uint32_t *total_entries
;/* [ref] */
1200 uint32_t *next_reference
;/* [ref] */
1201 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1202 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1209 struct netr_GetDcName
{
1211 const char *logon_server
;/* [charset(UTF16)] */
1212 const char *domainname
;/* [unique,charset(UTF16)] */
1216 const char **dcname
;/* [ref,charset(UTF16)] */
1223 struct netr_LogonControl
{
1225 const char *logon_server
;/* [unique,charset(UTF16)] */
1226 enum netr_LogonControlCode function_code
;
1231 union netr_CONTROL_QUERY_INFORMATION
*info
;/* [ref,switch_is(level)] */
1238 struct netr_GetAnyDCName
{
1240 const char *logon_server
;/* [unique,charset(UTF16)] */
1241 const char *domainname
;/* [unique,charset(UTF16)] */
1245 const char **dcname
;/* [ref,charset(UTF16)] */
1252 struct netr_LogonControl2
{
1254 const char *logon_server
;/* [unique,charset(UTF16)] */
1255 enum netr_LogonControlCode function_code
;
1257 union netr_CONTROL_DATA_INFORMATION
*data
;/* [ref,switch_is(function_code)] */
1261 union netr_CONTROL_QUERY_INFORMATION
*query
;/* [ref,switch_is(level)] */
1268 struct netr_ServerAuthenticate2
{
1270 const char *server_name
;/* [unique,charset(UTF16)] */
1271 const char *account_name
;/* [charset(UTF16)] */
1272 enum netr_SchannelType secure_channel_type
;
1273 const char *computer_name
;/* [charset(UTF16)] */
1274 struct netr_Credential
*credentials
;/* [ref] */
1275 uint32_t *negotiate_flags
;/* [ref] */
1279 struct netr_Credential
*return_credentials
;/* [ref] */
1280 uint32_t *negotiate_flags
;/* [ref] */
1287 struct netr_DatabaseSync2
{
1289 const char *logon_server
;/* [charset(UTF16)] */
1290 const char *computername
;/* [charset(UTF16)] */
1291 struct netr_Authenticator
*credential
;/* [ref] */
1292 enum netr_SamDatabaseID database_id
;
1293 uint16_t restart_state
;
1294 uint32_t preferredmaximumlength
;
1295 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1296 uint32_t *sync_context
;/* [ref] */
1300 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1301 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1302 uint32_t *sync_context
;/* [ref] */
1309 struct netr_DatabaseRedo
{
1311 const char *logon_server
;/* [charset(UTF16)] */
1312 const char *computername
;/* [charset(UTF16)] */
1313 struct netr_Authenticator
*credential
;/* [ref] */
1314 struct netr_ChangeLogEntry change_log_entry
;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1315 uint32_t change_log_entry_size
;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1316 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1320 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1321 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1328 struct netr_LogonControl2Ex
{
1330 const char *logon_server
;/* [unique,charset(UTF16)] */
1331 enum netr_LogonControlCode function_code
;
1333 union netr_CONTROL_DATA_INFORMATION
*data
;/* [ref,switch_is(function_code)] */
1337 union netr_CONTROL_QUERY_INFORMATION
*query
;/* [ref,switch_is(level)] */
1344 struct netr_NetrEnumerateTrustedDomains
{
1346 const char *server_name
;/* [unique,charset(UTF16)] */
1350 struct netr_Blob
*trusted_domains_blob
;/* [ref] */
1357 struct netr_DsRGetDCName
{
1359 const char *server_unc
;/* [unique,charset(UTF16)] */
1360 const char *domain_name
;/* [unique,charset(UTF16)] */
1361 struct GUID
*domain_guid
;/* [unique] */
1362 struct GUID
*site_guid
;/* [unique] */
1367 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1374 struct netr_LogonGetCapabilities
{
1376 const char *server_name
;/* [charset(UTF16)] */
1377 const char *computer_name
;/* [unique,charset(UTF16)] */
1378 struct netr_Authenticator
*credential
;/* [ref] */
1379 uint32_t query_level
;
1380 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1384 union netr_Capabilities
*capabilities
;/* [ref,switch_is(query_level)] */
1385 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1392 struct netr_NETRLOGONSETSERVICEBITS
{
1400 struct netr_LogonGetTrustRid
{
1402 const char *server_name
;/* [unique,charset(UTF16)] */
1403 const char *domain_name
;/* [unique,charset(UTF16)] */
1407 uint32_t *rid
;/* [ref] */
1414 struct netr_NETRLOGONCOMPUTESERVERDIGEST
{
1422 struct netr_NETRLOGONCOMPUTECLIENTDIGEST
{
1430 struct netr_ServerAuthenticate3
{
1432 const char *server_name
;/* [unique,charset(UTF16)] */
1433 const char *account_name
;/* [charset(UTF16)] */
1434 enum netr_SchannelType secure_channel_type
;
1435 const char *computer_name
;/* [charset(UTF16)] */
1436 struct netr_Credential
*credentials
;/* [ref] */
1437 uint32_t *negotiate_flags
;/* [ref] */
1441 struct netr_Credential
*return_credentials
;/* [ref] */
1442 uint32_t *rid
;/* [ref] */
1443 uint32_t *negotiate_flags
;/* [ref] */
1450 struct netr_DsRGetDCNameEx
{
1452 const char *server_unc
;/* [unique,charset(UTF16)] */
1453 const char *domain_name
;/* [unique,charset(UTF16)] */
1454 struct GUID
*domain_guid
;/* [unique] */
1455 const char *site_name
;/* [unique,charset(UTF16)] */
1460 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1467 struct netr_DsRGetSiteName
{
1469 const char *computer_name
;/* [unique,charset(UTF16)] */
1473 const char **site
;/* [ref,charset(UTF16)] */
1480 struct netr_LogonGetDomainInfo
{
1482 const char *server_name
;/* [charset(UTF16)] */
1483 const char *computer_name
;/* [unique,charset(UTF16)] */
1484 struct netr_Authenticator
*credential
;/* [ref] */
1486 union netr_DomainQuery query
;/* [switch_is(level)] */
1487 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1491 union netr_DomainInfo
*info
;/* [ref,switch_is(level)] */
1492 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1499 struct netr_ServerPasswordSet2
{
1501 const char *server_name
;/* [unique,charset(UTF16)] */
1502 const char *account_name
;/* [charset(UTF16)] */
1503 enum netr_SchannelType secure_channel_type
;
1504 const char *computer_name
;/* [charset(UTF16)] */
1505 struct netr_Authenticator
*credential
;/* [ref] */
1506 struct netr_CryptPassword
*new_password
;/* [ref] */
1510 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1517 struct netr_ServerPasswordGet
{
1519 const char *server_name
;/* [unique,charset(UTF16)] */
1520 const char *account_name
;/* [charset(UTF16)] */
1521 enum netr_SchannelType secure_channel_type
;
1522 const char *computer_name
;/* [charset(UTF16)] */
1523 struct netr_Authenticator
*credential
;/* [ref] */
1527 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1528 struct samr_Password
*password
;/* [ref] */
1535 struct netr_NETRLOGONSENDTOSAM
{
1543 struct netr_DsRAddressToSitenamesW
{
1545 const char *server_name
;/* [unique,charset(UTF16)] */
1546 uint32_t count
;/* [range(0,32000)] */
1547 struct netr_DsRAddress
*addresses
;/* [ref,size_is(count)] */
1551 struct netr_DsRAddressToSitenamesWCtr
**ctr
;/* [ref] */
1558 struct netr_DsRGetDCNameEx2
{
1560 const char *server_unc
;/* [unique,charset(UTF16)] */
1561 const char *client_account
;/* [unique,charset(UTF16)] */
1563 const char *domain_name
;/* [unique,charset(UTF16)] */
1564 struct GUID
*domain_guid
;/* [unique] */
1565 const char *site_name
;/* [unique,charset(UTF16)] */
1570 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1577 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
{
1585 struct netr_NetrEnumerateTrustedDomainsEx
{
1587 const char *server_name
;/* [unique,charset(UTF16)] */
1591 struct netr_DomainTrustList
*dom_trust_list
;/* [ref] */
1598 struct netr_DsRAddressToSitenamesExW
{
1600 const char *server_name
;/* [unique,charset(UTF16)] */
1601 uint32_t count
;/* [range(0,32000)] */
1602 struct netr_DsRAddress
*addresses
;/* [ref,size_is(count)] */
1606 struct netr_DsRAddressToSitenamesExWCtr
**ctr
;/* [ref] */
1613 struct netr_DsrGetDcSiteCoverageW
{
1615 const char *server_name
;/* [unique,charset(UTF16)] */
1619 struct DcSitesCtr
**ctr
;/* [ref] */
1626 struct netr_LogonSamLogonEx
{
1628 const char *server_name
;/* [unique,charset(UTF16)] */
1629 const char *computer_name
;/* [unique,charset(UTF16)] */
1630 enum netr_LogonInfoClass logon_level
;
1631 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1632 uint16_t validation_level
;
1633 uint32_t *flags
;/* [ref] */
1637 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1638 uint8_t *authoritative
;/* [ref] */
1639 uint32_t *flags
;/* [ref] */
1646 struct netr_DsrEnumerateDomainTrusts
{
1648 const char *server_name
;/* [unique,charset(UTF16)] */
1649 uint32_t trust_flags
;
1653 struct netr_DomainTrustList
*trusts
;/* [ref] */
1660 struct netr_DsrDeregisterDNSHostRecords
{
1662 const char *server_name
;/* [unique,charset(UTF16)] */
1663 const char *domain
;/* [unique,charset(UTF16)] */
1664 struct GUID
*domain_guid
;/* [unique] */
1665 struct GUID
*dsa_guid
;/* [unique] */
1666 const char *dns_host
;/* [ref,charset(UTF16)] */
1676 struct netr_ServerTrustPasswordsGet
{
1678 const char *server_name
;/* [unique,charset(UTF16)] */
1679 const char *account_name
;/* [charset(UTF16)] */
1680 enum netr_SchannelType secure_channel_type
;
1681 const char *computer_name
;/* [charset(UTF16)] */
1682 struct netr_Authenticator
*credential
;/* [ref] */
1686 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1687 struct samr_Password
*password
;/* [ref] */
1688 struct samr_Password
*password2
;/* [ref] */
1695 struct netr_DsRGetForestTrustInformation
{
1697 const char *server_name
;/* [unique,charset(UTF16)] */
1698 const char *trusted_domain_name
;/* [unique,charset(UTF16)] */
1703 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1710 struct netr_GetForestTrustInformation
{
1712 const char *server_name
;/* [unique,charset(UTF16)] */
1713 const char *trusted_domain_name
;/* [ref,charset(UTF16)] */
1714 struct netr_Authenticator
*credential
;/* [ref] */
1719 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1720 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1727 struct netr_LogonSamLogonWithFlags
{
1729 const char *server_name
;/* [unique,charset(UTF16)] */
1730 const char *computer_name
;/* [unique,charset(UTF16)] */
1731 struct netr_Authenticator
*credential
;/* [unique] */
1732 enum netr_LogonInfoClass logon_level
;
1733 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1734 uint16_t validation_level
;
1735 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1736 uint32_t *flags
;/* [ref] */
1740 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1741 uint8_t *authoritative
;/* [ref] */
1742 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1743 uint32_t *flags
;/* [ref] */
1750 struct netr_ServerGetTrustInfo
{
1752 const char *server_name
;/* [unique,charset(UTF16)] */
1753 const char *account_name
;/* [ref,charset(UTF16)] */
1754 enum netr_SchannelType secure_channel_type
;
1755 const char *computer_name
;/* [ref,charset(UTF16)] */
1756 struct netr_Authenticator
*credential
;/* [ref] */
1760 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1761 struct samr_Password
*new_owf_password
;/* [ref] */
1762 struct samr_Password
*old_owf_password
;/* [ref] */
1763 struct netr_TrustInfo
**trust_info
;/* [ref] */
1769 #endif /* _HEADER_netlogon */