1 /* header auto-generated by pidl */
5 #include "libcli/util/ntstatus.h"
7 #include "librpc/gen_ndr/misc.h"
8 #include "librpc/gen_ndr/lsa.h"
9 #include "librpc/gen_ndr/samr.h"
10 #include "librpc/gen_ndr/security.h"
11 #include "librpc/gen_ndr/nbt.h"
12 #define netr_DeltaEnum8Bit netr_DeltaEnum
13 #define netr_SamDatabaseID8Bit netr_SamDatabaseID
14 #ifndef _HEADER_netlogon
15 #define _HEADER_netlogon
17 #define NETLOGON_NEG_128BIT ( NETLOGON_NEG_STRONG_KEYS )
18 #define NETLOGON_NEG_SCHANNEL ( NETLOGON_NEG_AUTHENTICATED_RPC )
19 #define DSGETDC_VALID_FLAGS ( (DS_FORCE_REDISCOVERY|DS_DIRECTORY_SERVICE_REQUIRED|DS_DIRECTORY_SERVICE_PREFERRED|DS_GC_SERVER_REQUIRED|DS_PDC_REQUIRED|DS_BACKGROUND_ONLY|DS_IP_REQUIRED|DS_KDC_REQUIRED|DS_TIMESERV_REQUIRED|DS_WRITABLE_REQUIRED|DS_GOOD_TIMESERV_PREFERRED|DS_AVOID_SELF|DS_ONLY_LDAP_NEEDED|DS_IS_FLAT_NAME|DS_IS_DNS_NAME|DS_RETURN_FLAT_NAME|DS_RETURN_DNS_NAME) )
20 #define DS_GFTI_UPDATE_TDO ( 0x1 )
22 const char *account_name
;/* [unique,charset(UTF16)] */
26 uint32_t bad_pw_count
;
31 uint32_t password_age
;
33 time_t pw_must_change
;
34 const char *computer
;/* [unique,charset(UTF16)] */
35 const char *domain
;/* [unique,charset(UTF16)] */
36 const char *script_path
;/* [unique,charset(UTF16)] */
40 struct netr_UasLogoffInfo
{
45 struct netr_AcctLockStr
{
46 int64_t lockout_duration
;
48 uint32_t bad_attempt_lockout
;
52 /* bitmap netr_LogonParameterControl */
53 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
54 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
55 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
56 #define MSV1_0_DONT_TRY_GUEST_ACCOUNT ( 0x00000010 )
57 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
58 #define MSV1_0_RETURN_PASSWORD_EXPIRY ( 0x00000040 )
59 #define MSV1_0_USE_CLIENT_CHALLENGE ( 0x00000080 )
60 #define MSV1_0_TRY_GUEST_ACCOUNT_ONLY ( 0x00000100 )
61 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
62 #define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY ( 0x00000400 )
63 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
64 #define MSV1_0_DISABLE_PERSONAL_FALLBACK ( 0x00001000 )
65 #define MSV1_0_ALLOW_FORCE_GUEST ( 0x00002000 )
66 #define MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED ( 0x00004000 )
67 #define MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY ( 0x00008000 )
68 #define MSV1_0_ALLOW_MSVCHAPV2 ( 0x00010000 )
69 #define MSV1_0_S4U2SELF ( 0x00020000 )
70 #define MSV1_0_CHECK_LOGONHOURS_FOR_S4U ( 0x00040000 )
71 #define MSV1_0_SUBAUTHENTICATION_DLL_EX ( 0x00100000 )
73 struct netr_IdentityInfo
{
74 struct lsa_String domain_name
;
75 uint32_t parameter_control
;
76 uint32_t logon_id_low
;
77 uint32_t logon_id_high
;
78 struct lsa_String account_name
;
79 struct lsa_String workstation
;
82 struct netr_PasswordInfo
{
83 struct netr_IdentityInfo identity_info
;
84 struct samr_Password lmpassword
;
85 struct samr_Password ntpassword
;
88 struct netr_ChallengeResponse
{
90 uint16_t size
;/* [value(length)] */
91 uint8_t *data
;/* [unique,length_is(length),size_is(length)] */
92 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
94 struct netr_NetworkInfo
{
95 struct netr_IdentityInfo identity_info
;
97 struct netr_ChallengeResponse nt
;
98 struct netr_ChallengeResponse lm
;
99 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
101 struct netr_GenericInfo
{
102 struct netr_IdentityInfo identity_info
;
103 struct lsa_String package_name
;
105 uint8_t *data
;/* [unique,size_is(length)] */
106 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
108 enum netr_LogonInfoClass
109 #ifndef USE_UINT_ENUMS
111 NetlogonInteractiveInformation
=(int)(1),
112 NetlogonNetworkInformation
=(int)(2),
113 NetlogonServiceInformation
=(int)(3),
114 NetlogonGenericInformation
=(int)(4),
115 NetlogonInteractiveTransitiveInformation
=(int)(5),
116 NetlogonNetworkTransitiveInformation
=(int)(6),
117 NetlogonServiceTransitiveInformation
=(int)(7)
120 { __donnot_use_enum_netr_LogonInfoClass
=0x7FFFFFFF}
121 #define NetlogonInteractiveInformation ( 1 )
122 #define NetlogonNetworkInformation ( 2 )
123 #define NetlogonServiceInformation ( 3 )
124 #define NetlogonGenericInformation ( 4 )
125 #define NetlogonInteractiveTransitiveInformation ( 5 )
126 #define NetlogonNetworkTransitiveInformation ( 6 )
127 #define NetlogonServiceTransitiveInformation ( 7 )
131 union netr_LogonLevel
{
132 struct netr_PasswordInfo
*password
;/* [unique,case(NetlogonInteractiveInformation)] */
133 struct netr_NetworkInfo
*network
;/* [unique,case(NetlogonNetworkInformation)] */
134 struct netr_GenericInfo
*generic
;/* [unique,case(NetlogonGenericInformation)] */
135 }/* [public,switch_type(netr_LogonInfoClass)] */;
137 struct netr_UserSessionKey
{
139 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
141 struct netr_LMSessionKey
{
143 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
145 /* bitmap netr_UserFlags */
146 #define NETLOGON_GUEST ( 0x00000001 )
147 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
148 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
149 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
150 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
151 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
152 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
153 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
154 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
155 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
156 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
158 struct netr_SamBaseInfo
{
162 NTTIME last_password_change
;
163 NTTIME allow_password_change
;
164 NTTIME force_password_change
;
165 struct lsa_String account_name
;
166 struct lsa_String full_name
;
167 struct lsa_String logon_script
;
168 struct lsa_String profile_path
;
169 struct lsa_String home_directory
;
170 struct lsa_String home_drive
;
171 uint16_t logon_count
;
172 uint16_t bad_password_count
;
174 uint32_t primary_gid
;
175 struct samr_RidWithAttributeArray groups
;
177 struct netr_UserSessionKey key
;
178 struct lsa_StringLarge logon_server
;
179 struct lsa_StringLarge domain
;
180 struct dom_sid2
*domain_sid
;/* [unique] */
181 struct netr_LMSessionKey LMSessKey
;
186 struct netr_SamInfo2
{
187 struct netr_SamBaseInfo base
;
190 struct netr_SidAttr
{
191 struct dom_sid2
*sid
;/* [unique] */
195 struct netr_SamInfo3
{
196 struct netr_SamBaseInfo base
;
198 struct netr_SidAttr
*sids
;/* [unique,size_is(sidcount)] */
201 struct netr_SamInfo6
{
202 struct netr_SamBaseInfo base
;
204 struct netr_SidAttr
*sids
;/* [unique,size_is(sidcount)] */
205 struct lsa_String forest
;
206 struct lsa_String principle
;
207 uint32_t unknown4
[20];
210 struct netr_PacInfo
{
212 uint8_t *pac
;/* [unique,size_is(pac_size)] */
213 struct lsa_String logon_domain
;
214 struct lsa_String logon_server
;
215 struct lsa_String principal_name
;
217 uint8_t *auth
;/* [unique,size_is(auth_size)] */
218 struct netr_UserSessionKey user_session_key
;
219 uint32_t expansionroom
[10];
220 struct lsa_String unknown1
;
221 struct lsa_String unknown2
;
222 struct lsa_String unknown3
;
223 struct lsa_String unknown4
;
226 struct netr_GenericInfo2
{
228 uint8_t *data
;/* [unique,size_is(length)] */
229 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
231 enum netr_ValidationInfoClass
232 #ifndef USE_UINT_ENUMS
234 NetlogonValidationUasInfo
=(int)(1),
235 NetlogonValidationSamInfo
=(int)(2),
236 NetlogonValidationSamInfo2
=(int)(3),
237 NetlogonValidationGenericInfo2
=(int)(5),
238 NetlogonValidationSamInfo4
=(int)(6)
241 { __donnot_use_enum_netr_ValidationInfoClass
=0x7FFFFFFF}
242 #define NetlogonValidationUasInfo ( 1 )
243 #define NetlogonValidationSamInfo ( 2 )
244 #define NetlogonValidationSamInfo2 ( 3 )
245 #define NetlogonValidationGenericInfo2 ( 5 )
246 #define NetlogonValidationSamInfo4 ( 6 )
250 union netr_Validation
{
251 struct netr_SamInfo2
*sam2
;/* [unique,case(NetlogonValidationSamInfo)] */
252 struct netr_SamInfo3
*sam3
;/* [unique,case(NetlogonValidationSamInfo2)] */
253 struct netr_PacInfo
*pac
;/* [unique,case(4)] */
254 struct netr_GenericInfo2
*generic
;/* [unique,case(NetlogonValidationGenericInfo2)] */
255 struct netr_SamInfo6
*sam6
;/* [unique,case(NetlogonValidationSamInfo4)] */
256 }/* [public,switch_type(uint16)] */;
258 struct netr_Credential
{
260 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
262 struct netr_Authenticator
{
263 struct netr_Credential cred
;
267 struct netr_DELTA_DELETE_USER
{
268 const char *account_name
;/* [unique,charset(UTF16)] */
269 struct lsa_String unknown1
;
270 struct lsa_String unknown2
;
271 struct lsa_String unknown3
;
272 struct lsa_String unknown4
;
279 struct netr_USER_KEY16
{
281 uint16_t size
;/* [value(length)] */
283 struct samr_Password pwd
;
286 struct netr_PasswordHistory
{
288 uint16_t nt_size
;/* [value(nt_length)] */
291 uint16_t lm_size
;/* [value(lm_length)] */
297 struct netr_USER_KEYS2
{
298 struct netr_USER_KEY16 lmpassword
;
299 struct netr_USER_KEY16 ntpassword
;
300 struct netr_PasswordHistory history
;
303 struct netr_USER_KEY_UNION
{
304 struct netr_USER_KEYS2 keys2
;
307 struct netr_USER_KEYS
{
309 struct netr_USER_KEY_UNION keys
;
312 struct netr_USER_PRIVATE_INFO
{
313 uint8_t SensitiveDataFlag
;
315 uint8_t *SensitiveData
;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
318 struct netr_DELTA_USER
{
319 struct lsa_String account_name
;
320 struct lsa_String full_name
;
322 uint32_t primary_gid
;
323 struct lsa_String home_directory
;
324 struct lsa_String home_drive
;
325 struct lsa_String logon_script
;
326 struct lsa_String description
;
327 struct lsa_String workstations
;
330 struct samr_LogonHours logon_hours
;
331 uint16_t bad_password_count
;
332 uint16_t logon_count
;
333 NTTIME last_password_change
;
336 struct samr_Password lmpassword
;
337 struct samr_Password ntpassword
;
338 uint8_t nt_password_present
;
339 uint8_t lm_password_present
;
340 uint8_t password_expired
;
341 struct lsa_String comment
;
342 struct lsa_BinaryString parameters
;
343 uint16_t country_code
;
345 struct netr_USER_PRIVATE_INFO user_private_info
;
346 uint32_t SecurityInformation
;
347 struct sec_desc_buf sdbuf
;
348 struct lsa_String profile_path
;
349 struct lsa_String unknown2
;
350 struct lsa_String unknown3
;
351 struct lsa_String unknown4
;
358 struct netr_DELTA_DOMAIN
{
359 struct lsa_String domain_name
;
360 struct lsa_String oem_information
;
361 int64_t force_logoff_time
;
362 uint16_t min_password_length
;
363 uint16_t password_history_length
;
364 int64_t max_password_age
;
365 int64_t min_password_age
;
366 uint64_t sequence_num
;
367 NTTIME domain_create_time
;
368 uint32_t SecurityInformation
;
369 struct sec_desc_buf sdbuf
;
370 struct lsa_BinaryString account_lockout
;
371 struct lsa_String unknown2
;
372 struct lsa_String unknown3
;
373 struct lsa_String unknown4
;
374 uint32_t logon_to_chgpass
;
380 struct netr_DELTA_GROUP
{
381 struct lsa_String group_name
;
384 struct lsa_String description
;
385 uint32_t SecurityInformation
;
386 struct sec_desc_buf sdbuf
;
387 struct lsa_String unknown1
;
388 struct lsa_String unknown2
;
389 struct lsa_String unknown3
;
390 struct lsa_String unknown4
;
397 struct netr_DELTA_RENAME
{
398 struct lsa_String OldName
;
399 struct lsa_String NewName
;
400 struct lsa_String unknown1
;
401 struct lsa_String unknown2
;
402 struct lsa_String unknown3
;
403 struct lsa_String unknown4
;
410 struct netr_DELTA_GROUP_MEMBER
{
411 uint32_t *rids
;/* [unique,size_is(num_rids)] */
412 uint32_t *attribs
;/* [unique,size_is(num_rids)] */
420 struct netr_DELTA_ALIAS
{
421 struct lsa_String alias_name
;
423 uint32_t SecurityInformation
;
424 struct sec_desc_buf sdbuf
;
425 struct lsa_String description
;
426 struct lsa_String unknown2
;
427 struct lsa_String unknown3
;
428 struct lsa_String unknown4
;
435 struct netr_DELTA_ALIAS_MEMBER
{
436 struct lsa_SidArray sids
;
443 struct netr_QUOTA_LIMITS
{
444 uint32_t pagedpoollimit
;
445 uint32_t nonpagedpoollimit
;
446 uint32_t minimumworkingsetsize
;
447 uint32_t maximumworkingsetsize
;
448 uint32_t pagefilelimit
;
452 struct netr_DELTA_POLICY
{
454 NTTIME auditretentionperiod
;
455 uint8_t auditingmode
;
456 uint32_t maxauditeventcount
;
457 uint32_t *eventauditoptions
;/* [unique,size_is(maxauditeventcount+1)] */
458 struct lsa_String primary_domain_name
;
459 struct dom_sid2
*sid
;/* [unique] */
460 struct netr_QUOTA_LIMITS quota_limits
;
461 uint64_t sequence_num
;
462 NTTIME db_create_time
;
463 uint32_t SecurityInformation
;
464 struct sec_desc_buf sdbuf
;
465 struct lsa_String unknown1
;
466 struct lsa_String unknown2
;
467 struct lsa_String unknown3
;
468 struct lsa_String unknown4
;
475 struct netr_DELTA_TRUSTED_DOMAIN
{
476 struct lsa_String domain_name
;
477 uint32_t num_controllers
;
478 struct lsa_String
*controller_names
;/* [unique,size_is(num_controllers)] */
479 uint32_t SecurityInformation
;
480 struct sec_desc_buf sdbuf
;
481 struct lsa_String unknown1
;
482 struct lsa_String unknown2
;
483 struct lsa_String unknown3
;
484 struct lsa_String unknown4
;
485 uint32_t posix_offset
;
491 struct netr_DELTA_DELETE_TRUST
{
495 struct netr_DELTA_ACCOUNT
{
496 uint32_t privilege_entries
;
497 uint32_t privilege_control
;
498 uint32_t *privilege_attrib
;/* [unique,size_is(privilege_entries)] */
499 struct lsa_String
*privilege_name
;/* [unique,size_is(privilege_entries)] */
500 struct netr_QUOTA_LIMITS quotalimits
;
501 uint32_t system_flags
;
502 uint32_t SecurityInformation
;
503 struct sec_desc_buf sdbuf
;
504 struct lsa_String unknown1
;
505 struct lsa_String unknown2
;
506 struct lsa_String unknown3
;
507 struct lsa_String unknown4
;
514 struct netr_DELTA_DELETE_ACCOUNT
{
518 struct netr_DELTA_DELETE_SECRET
{
522 struct netr_CIPHER_VALUE
{
525 uint8_t *cipher_data
;/* [unique,length_is(len),size_is(maxlen)] */
528 struct netr_DELTA_SECRET
{
529 struct netr_CIPHER_VALUE current_cipher
;
530 NTTIME current_cipher_set_time
;
531 struct netr_CIPHER_VALUE old_cipher
;
532 NTTIME old_cipher_set_time
;
533 uint32_t SecurityInformation
;
534 struct sec_desc_buf sdbuf
;
535 struct lsa_String unknown1
;
536 struct lsa_String unknown2
;
537 struct lsa_String unknown3
;
538 struct lsa_String unknown4
;
546 #ifndef USE_UINT_ENUMS
548 NETR_DELTA_DOMAIN
=(int)(1),
549 NETR_DELTA_GROUP
=(int)(2),
550 NETR_DELTA_DELETE_GROUP
=(int)(3),
551 NETR_DELTA_RENAME_GROUP
=(int)(4),
552 NETR_DELTA_USER
=(int)(5),
553 NETR_DELTA_DELETE_USER
=(int)(6),
554 NETR_DELTA_RENAME_USER
=(int)(7),
555 NETR_DELTA_GROUP_MEMBER
=(int)(8),
556 NETR_DELTA_ALIAS
=(int)(9),
557 NETR_DELTA_DELETE_ALIAS
=(int)(10),
558 NETR_DELTA_RENAME_ALIAS
=(int)(11),
559 NETR_DELTA_ALIAS_MEMBER
=(int)(12),
560 NETR_DELTA_POLICY
=(int)(13),
561 NETR_DELTA_TRUSTED_DOMAIN
=(int)(14),
562 NETR_DELTA_DELETE_TRUST
=(int)(15),
563 NETR_DELTA_ACCOUNT
=(int)(16),
564 NETR_DELTA_DELETE_ACCOUNT
=(int)(17),
565 NETR_DELTA_SECRET
=(int)(18),
566 NETR_DELTA_DELETE_SECRET
=(int)(19),
567 NETR_DELTA_DELETE_GROUP2
=(int)(20),
568 NETR_DELTA_DELETE_USER2
=(int)(21),
569 NETR_DELTA_MODIFY_COUNT
=(int)(22)
572 { __donnot_use_enum_netr_DeltaEnum
=0x7FFFFFFF}
573 #define NETR_DELTA_DOMAIN ( 1 )
574 #define NETR_DELTA_GROUP ( 2 )
575 #define NETR_DELTA_DELETE_GROUP ( 3 )
576 #define NETR_DELTA_RENAME_GROUP ( 4 )
577 #define NETR_DELTA_USER ( 5 )
578 #define NETR_DELTA_DELETE_USER ( 6 )
579 #define NETR_DELTA_RENAME_USER ( 7 )
580 #define NETR_DELTA_GROUP_MEMBER ( 8 )
581 #define NETR_DELTA_ALIAS ( 9 )
582 #define NETR_DELTA_DELETE_ALIAS ( 10 )
583 #define NETR_DELTA_RENAME_ALIAS ( 11 )
584 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
585 #define NETR_DELTA_POLICY ( 13 )
586 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
587 #define NETR_DELTA_DELETE_TRUST ( 15 )
588 #define NETR_DELTA_ACCOUNT ( 16 )
589 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
590 #define NETR_DELTA_SECRET ( 18 )
591 #define NETR_DELTA_DELETE_SECRET ( 19 )
592 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
593 #define NETR_DELTA_DELETE_USER2 ( 21 )
594 #define NETR_DELTA_MODIFY_COUNT ( 22 )
598 union netr_DELTA_UNION
{
599 struct netr_DELTA_DOMAIN
*domain
;/* [unique,case(NETR_DELTA_DOMAIN)] */
600 struct netr_DELTA_GROUP
*group
;/* [unique,case(NETR_DELTA_GROUP)] */
601 struct netr_DELTA_RENAME
*rename_group
;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
602 struct netr_DELTA_USER
*user
;/* [unique,case(NETR_DELTA_USER)] */
603 struct netr_DELTA_RENAME
*rename_user
;/* [unique,case(NETR_DELTA_RENAME_USER)] */
604 struct netr_DELTA_GROUP_MEMBER
*group_member
;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
605 struct netr_DELTA_ALIAS
*alias
;/* [unique,case(NETR_DELTA_ALIAS)] */
606 struct netr_DELTA_RENAME
*rename_alias
;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
607 struct netr_DELTA_ALIAS_MEMBER
*alias_member
;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
608 struct netr_DELTA_POLICY
*policy
;/* [unique,case(NETR_DELTA_POLICY)] */
609 struct netr_DELTA_TRUSTED_DOMAIN
*trusted_domain
;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
610 struct netr_DELTA_DELETE_TRUST delete_trust
;/* [case(NETR_DELTA_DELETE_TRUST)] */
611 struct netr_DELTA_ACCOUNT
*account
;/* [unique,case(NETR_DELTA_ACCOUNT)] */
612 struct netr_DELTA_DELETE_ACCOUNT delete_account
;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
613 struct netr_DELTA_SECRET
*secret
;/* [unique,case(NETR_DELTA_SECRET)] */
614 struct netr_DELTA_DELETE_SECRET delete_secret
;/* [case(NETR_DELTA_DELETE_SECRET)] */
615 struct netr_DELTA_DELETE_USER
*delete_group
;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
616 struct netr_DELTA_DELETE_USER
*delete_user
;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
617 uint64_t *modified_count
;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
618 }/* [switch_type(netr_DeltaEnum)] */;
620 union netr_DELTA_ID_UNION
{
621 uint32_t rid
;/* [case(NETR_DELTA_DOMAIN)] */
622 struct dom_sid2
*sid
;/* [unique,case(NETR_DELTA_POLICY)] */
623 const char *name
;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
624 }/* [switch_type(netr_DeltaEnum)] */;
626 struct netr_DELTA_ENUM
{
627 enum netr_DeltaEnum delta_type
;
628 union netr_DELTA_ID_UNION delta_id_union
;/* [switch_is(delta_type)] */
629 union netr_DELTA_UNION delta_union
;/* [switch_is(delta_type)] */
632 struct netr_DELTA_ENUM_ARRAY
{
634 struct netr_DELTA_ENUM
*delta_enum
;/* [unique,size_is(num_deltas)] */
637 struct netr_UAS_INFO_0
{
638 uint8_t computer_name
[16];
639 uint32_t timecreated
;
640 uint32_t serial_number
;
641 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
643 struct netr_AccountBuffer
{
644 DATA_BLOB blob
;/* [flag(LIBNDR_FLAG_REMAINING)] */
647 /* bitmap netr_InfoFlags */
648 #define NETLOGON_REPLICATION_NEEDED ( 0x00000001 )
649 #define NETLOGON_REPLICATION_IN_PROGRESS ( 0x00000002 )
650 #define NETLOGON_FULL_SYNC_REPLICATION ( 0x00000004 )
651 #define NETLOGON_REDO_NEEDED ( 0x00000008 )
652 #define NETLOGON_HAS_IP ( 0x00000010 )
653 #define NETLOGON_HAS_TIMESERV ( 0x00000020 )
654 #define NETLOGON_DNS_UPDATE_FAILURE ( 0x00000040 )
655 #define NETLOGON_VERIFY_STATUS_RETURNED ( 0x00000080 )
657 struct netr_NETLOGON_INFO_1
{
659 WERROR pdc_connection_status
;
662 struct netr_NETLOGON_INFO_2
{
664 WERROR pdc_connection_status
;
665 const char *trusted_dc_name
;/* [unique,charset(UTF16)] */
666 WERROR tc_connection_status
;
669 struct netr_NETLOGON_INFO_3
{
671 uint32_t logon_attempts
;
679 struct netr_NETLOGON_INFO_4
{
680 const char *trusted_dc_name
;/* [unique,charset(UTF16)] */
681 const char *trusted_domain_name
;/* [unique,charset(UTF16)] */
684 union netr_CONTROL_QUERY_INFORMATION
{
685 struct netr_NETLOGON_INFO_1
*info1
;/* [unique,case] */
686 struct netr_NETLOGON_INFO_2
*info2
;/* [unique,case(2)] */
687 struct netr_NETLOGON_INFO_3
*info3
;/* [unique,case(3)] */
688 struct netr_NETLOGON_INFO_4
*info4
;/* [unique,case(4)] */
691 enum netr_LogonControlCode
692 #ifndef USE_UINT_ENUMS
694 NETLOGON_CONTROL_QUERY
=(int)(0x00000001),
695 NETLOGON_CONTROL_REPLICATE
=(int)(0x00000002),
696 NETLOGON_CONTROL_SYNCHRONIZE
=(int)(0x00000003),
697 NETLOGON_CONTROL_PDC_REPLICATE
=(int)(0x00000004),
698 NETLOGON_CONTROL_REDISCOVER
=(int)(0x00000005),
699 NETLOGON_CONTROL_TC_QUERY
=(int)(0x00000006),
700 NETLOGON_CONTROL_TRANSPORT_NOTIFY
=(int)(0x00000007),
701 NETLOGON_CONTROL_FIND_USER
=(int)(0x00000008),
702 NETLOGON_CONTROL_CHANGE_PASSWORD
=(int)(0x00000009),
703 NETLOGON_CONTROL_TC_VERIFY
=(int)(0x0000000A),
704 NETLOGON_CONTROL_FORCE_DNS_REG
=(int)(0x0000000B),
705 NETLOGON_CONTROL_QUERY_DNS_REG
=(int)(0x0000000C),
706 NETLOGON_CONTROL_BACKUP_CHANGE_LOG
=(int)(0x0000FFFC),
707 NETLOGON_CONTROL_TRUNCATE_LOG
=(int)(0x0000FFFD),
708 NETLOGON_CONTROL_SET_DBFLAG
=(int)(0x0000FFFE),
709 NETLOGON_CONTROL_BREAKPOINT
=(int)(0x0000FFFF)
712 { __donnot_use_enum_netr_LogonControlCode
=0x7FFFFFFF}
713 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
714 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
715 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
716 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
717 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
718 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
719 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
720 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
721 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
722 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
723 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
724 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
725 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
726 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
727 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
728 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
732 union netr_CONTROL_DATA_INFORMATION
{
733 const char *domain
;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
734 const char *user
;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
735 uint32_t debug_level
;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
738 /* bitmap netr_NegotiateFlags */
739 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
740 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
741 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
742 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
743 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
744 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
745 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
746 #define NETLOGON_NEG_REDO ( 0x00000080 )
747 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
748 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
749 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
750 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
751 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
752 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
753 #define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
754 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
755 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
756 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
757 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
758 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
759 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
760 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
761 #define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
762 #define NETLOGON_NEG_SUPPORTS_AES ( 0x01000000 )
763 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
764 #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
767 #ifndef USE_UINT_ENUMS
769 SYNCSTATE_NORMAL_STATE
=(int)(0),
770 SYNCSTATE_DOMAIN_STATE
=(int)(1),
771 SYNCSTATE_GROUP_STATE
=(int)(2),
772 SYNCSTATE_UAS_BUILT_IN_GROUP_STATE
=(int)(3),
773 SYNCSTATE_USER_STATE
=(int)(4),
774 SYNCSTATE_GROUP_MEMBER_STATE
=(int)(5),
775 SYNCSTATE_ALIAS_STATE
=(int)(6),
776 SYNCSTATE_ALIAS_MEMBER_STATE
=(int)(7),
777 SYNCSTATE_SAM_DONE_STATE
=(int)(8)
780 { __donnot_use_enum_SyncStateEnum
=0x7FFFFFFF}
781 #define SYNCSTATE_NORMAL_STATE ( 0 )
782 #define SYNCSTATE_DOMAIN_STATE ( 1 )
783 #define SYNCSTATE_GROUP_STATE ( 2 )
784 #define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 )
785 #define SYNCSTATE_USER_STATE ( 4 )
786 #define SYNCSTATE_GROUP_MEMBER_STATE ( 5 )
787 #define SYNCSTATE_ALIAS_STATE ( 6 )
788 #define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 )
789 #define SYNCSTATE_SAM_DONE_STATE ( 8 )
793 /* bitmap netr_ChangeLogFlags */
794 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
795 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
796 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
797 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
798 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
800 union netr_ChangeLogObject
{
801 struct dom_sid object_sid
;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
802 const char * object_name
;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
803 }/* [nodiscriminant] */;
805 struct netr_ChangeLogEntry
{
806 uint32_t serial_number1
;
807 uint32_t serial_number2
;
810 enum netr_SamDatabaseID8Bit db_index
;
811 enum netr_DeltaEnum8Bit delta_type
;
812 union netr_ChangeLogObject object
;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
813 }/* [gensize,public] */;
817 uint8_t *data
;/* [unique,size_is(length)] */
820 /* bitmap netr_DsRGetDCName_flags */
821 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
822 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
823 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
824 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
825 #define DS_PDC_REQUIRED ( 0x00000080 )
826 #define DS_BACKGROUND_ONLY ( 0x00000100 )
827 #define DS_IP_REQUIRED ( 0x00000200 )
828 #define DS_KDC_REQUIRED ( 0x00000400 )
829 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
830 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
831 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
832 #define DS_AVOID_SELF ( 0x00004000 )
833 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
834 #define DS_IS_FLAT_NAME ( 0x00010000 )
835 #define DS_IS_DNS_NAME ( 0x00020000 )
836 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
837 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
838 #define DS_WEB_SERVICE_REQUIRED ( 0x00100000 )
839 #define DS_RETURN_DNS_NAME ( 0x40000000 )
840 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
842 enum netr_DsRGetDCNameInfo_AddressType
843 #ifndef USE_UINT_ENUMS
845 DS_ADDRESS_TYPE_INET
=(int)(1),
846 DS_ADDRESS_TYPE_NETBIOS
=(int)(2)
849 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType
=0x7FFFFFFF}
850 #define DS_ADDRESS_TYPE_INET ( 1 )
851 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
855 /* bitmap netr_DsR_DcFlags */
856 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
857 #define DS_SERVER_GC ( NBT_SERVER_GC )
858 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
859 #define DS_SERVER_DS ( NBT_SERVER_DS )
860 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
861 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
862 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
863 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
864 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
865 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
866 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
867 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
868 #define DS_DNS_CONTROLLER ( 0x20000000 )
869 #define DS_DNS_DOMAIN ( 0x40000000 )
870 #define DS_DNS_FOREST ( 0x80000000 )
872 struct netr_DsRGetDCNameInfo
{
873 const char *dc_unc
;/* [unique,charset(UTF16)] */
874 const char *dc_address
;/* [unique,charset(UTF16)] */
875 enum netr_DsRGetDCNameInfo_AddressType dc_address_type
;
876 struct GUID domain_guid
;
877 const char *domain_name
;/* [unique,charset(UTF16)] */
878 const char *forest_name
;/* [unique,charset(UTF16)] */
880 const char *dc_site_name
;/* [unique,charset(UTF16)] */
881 const char *client_site_name
;/* [unique,charset(UTF16)] */
884 union netr_Capabilities
{
885 uint32_t server_capabilities
;/* [case] */
886 }/* [switch_type(uint32)] */;
888 /* bitmap netr_TrustFlags */
889 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
890 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
891 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
892 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
893 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
894 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
895 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
896 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
898 /* bitmap netr_WorkstationFlags */
899 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
900 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
902 /* bitmap netr_SuiteMask */
903 #define NETR_VER_SUITE_BACKOFFICE ( 0x0004 )
904 #define NETR_VER_SUITE_BLADE ( 0x0400 )
905 #define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 )
906 #define NETR_VER_SUITE_DATACENTER ( 0x0080 )
907 #define NETR_VER_SUITE_ENTERPRISE ( 0x0002 )
908 #define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 )
909 #define NETR_VER_SUITE_PERSONAL ( 0x0200 )
910 #define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 )
911 #define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 )
912 #define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 )
913 #define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 )
914 #define NETR_VER_SUITE_TERMINAL ( 0x0010 )
915 #define NETR_VER_SUITE_WH_SERVER ( 0x8000 )
917 /* bitmap netr_ProductType */
918 #define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 )
919 #define NETR_VER_NT_SERVER ( 0x03 )
920 #define NETR_VER_NT_WORKSTATION ( 0x01 )
922 struct netr_LsaPolicyInformation
{
923 uint32_t policy_size
;
924 uint8_t *policy
;/* [unique,size_is(policy_size)] */
927 struct netr_OsVersionInfoEx
{
928 uint32_t OSVersionInfoSize
;/* [value(284)] */
929 uint32_t MajorVersion
;
930 uint32_t MinorVersion
;
931 uint32_t BuildNumber
;
933 const char * CSDVersion
;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM)] */
934 uint16_t ServicePackMajor
;
935 uint16_t ServicePackMinor
;
941 struct netr_OsVersion
{
942 uint32_t length
;/* [value(142)] */
943 uint32_t dummy
;/* [value(0)] */
944 uint32_t size
;/* [value(142)] */
945 struct netr_OsVersionInfoEx os
;
948 struct netr_OsVersionContainer
{
949 uint16_t length
;/* [value(os==NULL?0:284)] */
950 uint16_t size
;/* [value(os==NULL?0:284)] */
951 struct netr_OsVersion
*os
;/* [unique] */
954 struct netr_WorkstationInformation
{
955 struct netr_LsaPolicyInformation lsa_policy
;
956 const char *dns_hostname
;/* [unique,charset(UTF16)] */
957 const char *sitename
;/* [unique,charset(UTF16)] */
958 const char *dummy1
;/* [unique,charset(UTF16)] */
959 const char *dummy2
;/* [unique,charset(UTF16)] */
960 const char *dummy3
;/* [unique,charset(UTF16)] */
961 const char *dummy4
;/* [unique,charset(UTF16)] */
962 struct netr_OsVersionContainer os_version
;
963 struct lsa_String os_name
;
964 struct lsa_String dummy_string3
;
965 struct lsa_String dummy_string4
;
966 uint32_t workstation_flags
;
967 uint32_t dummy_long2
;
968 uint32_t dummy_long3
;
969 uint32_t dummy_long4
;
972 union netr_WorkstationInfo
{
973 struct netr_WorkstationInformation
*workstation_info
;/* [unique,case] */
974 struct netr_WorkstationInformation
*lsa_policy_info
;/* [unique,case(2)] */
977 struct netr_trust_extension
{
978 uint32_t length
;/* [value(8)] */
979 uint32_t dummy
;/* [value(0)] */
980 uint32_t size
;/* [value(8)] */
982 uint32_t parent_index
;
984 uint32_t trust_attributes
;
987 struct netr_trust_extension_container
{
989 uint16_t size
;/* [value(length)] */
990 struct netr_trust_extension
*info
;/* [unique] */
993 struct netr_OneDomainInfo
{
994 struct lsa_String domainname
;
995 struct lsa_String dns_domainname
;
996 struct lsa_String dns_forestname
;
997 struct GUID domain_guid
;
998 struct dom_sid2
*domain_sid
;/* [unique] */
999 struct netr_trust_extension_container trust_extension
;
1000 struct lsa_String dummy_string2
;
1001 struct lsa_String dummy_string3
;
1002 struct lsa_String dummy_string4
;
1003 uint32_t dummy_long1
;
1004 uint32_t dummy_long2
;
1005 uint32_t dummy_long3
;
1006 uint32_t dummy_long4
;
1009 /* bitmap netr_SupportedEncTypes */
1010 #define ENC_CRC32 ( 0x00000001 )
1011 #define ENC_RSA_MD5 ( 0x00000002 )
1012 #define ENC_RC4_HMAC_MD5 ( 0x00000004 )
1013 #define ENC_HMAC_SHA1_96_AES128 ( 0x00000008 )
1014 #define ENC_HMAC_SHA1_96_AES256 ( 0x00000010 )
1016 struct netr_DomainInformation
{
1017 struct netr_OneDomainInfo primary_domain
;
1018 uint32_t trusted_domain_count
;
1019 struct netr_OneDomainInfo
*trusted_domains
;/* [unique,size_is(trusted_domain_count)] */
1020 struct netr_LsaPolicyInformation lsa_policy
;
1021 struct lsa_String dns_hostname
;
1022 struct lsa_String dummy_string2
;
1023 struct lsa_String dummy_string3
;
1024 struct lsa_String dummy_string4
;
1025 uint32_t workstation_flags
;
1026 uint32_t supported_enc_types
;
1027 uint32_t dummy_long3
;
1028 uint32_t dummy_long4
;
1031 union netr_DomainInfo
{
1032 struct netr_DomainInformation
*domain_info
;/* [unique,case] */
1033 struct netr_LsaPolicyInformation
*lsa_policy_info
;/* [unique,case(2)] */
1036 struct netr_CryptPassword
{
1039 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
1041 struct netr_DsRAddressToSitenamesWCtr
{
1043 struct lsa_String
*sitename
;/* [unique,size_is(count)] */
1046 struct netr_DsRAddress
{
1047 uint8_t *buffer
;/* [unique,size_is(size)] */
1052 #ifndef USE_UINT_ENUMS
1054 NETR_TRUST_TYPE_DOWNLEVEL
=(int)(1),
1055 NETR_TRUST_TYPE_UPLEVEL
=(int)(2),
1056 NETR_TRUST_TYPE_MIT
=(int)(3),
1057 NETR_TRUST_TYPE_DCE
=(int)(4)
1060 { __donnot_use_enum_netr_TrustType
=0x7FFFFFFF}
1061 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
1062 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
1063 #define NETR_TRUST_TYPE_MIT ( 3 )
1064 #define NETR_TRUST_TYPE_DCE ( 4 )
1068 /* bitmap netr_TrustAttributes */
1069 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
1070 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
1071 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
1072 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
1073 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
1074 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
1075 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
1077 struct netr_DomainTrust
{
1078 const char *netbios_name
;/* [unique,charset(UTF16)] */
1079 const char *dns_name
;/* [unique,charset(UTF16)] */
1080 uint32_t trust_flags
;
1081 uint32_t parent_index
;
1082 enum netr_TrustType trust_type
;
1083 uint32_t trust_attributes
;
1084 struct dom_sid2
*sid
;/* [unique] */
1088 struct netr_DomainTrustList
{
1090 struct netr_DomainTrust
*array
;/* [unique,size_is(count)] */
1093 struct netr_DsRAddressToSitenamesExWCtr
{
1095 struct lsa_String
*sitename
;/* [unique,size_is(count)] */
1096 struct lsa_String
*subnetname
;/* [unique,size_is(count)] */
1101 struct lsa_String
*sites
;/* [unique,size_is(num_sites)] */
1104 struct netr_TrustInfo
{
1106 uint32_t *data
;/* [unique,size_is(count)] */
1107 uint32_t entry_count
;
1108 struct lsa_String
*entries
;/* [unique,size_is(count)] */
1112 struct netr_LogonUasLogon
{
1114 const char *server_name
;/* [unique,charset(UTF16)] */
1115 const char *account_name
;/* [ref,charset(UTF16)] */
1116 const char *workstation
;/* [ref,charset(UTF16)] */
1120 struct netr_UasInfo
**info
;/* [ref] */
1127 struct netr_LogonUasLogoff
{
1129 const char *server_name
;/* [unique,charset(UTF16)] */
1130 const char *account_name
;/* [ref,charset(UTF16)] */
1131 const char *workstation
;/* [ref,charset(UTF16)] */
1135 struct netr_UasLogoffInfo
*info
;/* [ref] */
1142 struct netr_LogonSamLogon
{
1144 const char *server_name
;/* [unique,charset(UTF16)] */
1145 const char *computer_name
;/* [unique,charset(UTF16)] */
1146 struct netr_Authenticator
*credential
;/* [unique] */
1147 enum netr_LogonInfoClass logon_level
;
1148 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1149 uint16_t validation_level
;
1150 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1154 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1155 uint8_t *authoritative
;/* [ref] */
1156 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1163 struct netr_LogonSamLogoff
{
1165 const char *server_name
;/* [unique,charset(UTF16)] */
1166 const char *computer_name
;/* [unique,charset(UTF16)] */
1167 struct netr_Authenticator
*credential
;/* [unique] */
1168 enum netr_LogonInfoClass logon_level
;
1169 union netr_LogonLevel logon
;/* [switch_is(logon_level)] */
1170 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1174 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1181 struct netr_ServerReqChallenge
{
1183 const char *server_name
;/* [unique,charset(UTF16)] */
1184 const char *computer_name
;/* [ref,charset(UTF16)] */
1185 struct netr_Credential
*credentials
;/* [ref] */
1189 struct netr_Credential
*return_credentials
;/* [ref] */
1196 struct netr_ServerAuthenticate
{
1198 const char *server_name
;/* [unique,charset(UTF16)] */
1199 const char *account_name
;/* [ref,charset(UTF16)] */
1200 enum netr_SchannelType secure_channel_type
;
1201 const char *computer_name
;/* [ref,charset(UTF16)] */
1202 struct netr_Credential
*credentials
;/* [ref] */
1206 struct netr_Credential
*return_credentials
;/* [ref] */
1213 struct netr_ServerPasswordSet
{
1215 const char *server_name
;/* [unique,charset(UTF16)] */
1216 const char *account_name
;/* [ref,charset(UTF16)] */
1217 enum netr_SchannelType secure_channel_type
;
1218 const char *computer_name
;/* [ref,charset(UTF16)] */
1219 struct netr_Authenticator
*credential
;/* [ref] */
1220 struct samr_Password
*new_password
;/* [ref] */
1224 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1231 struct netr_DatabaseDeltas
{
1233 const char *logon_server
;/* [ref,charset(UTF16)] */
1234 const char *computername
;/* [ref,charset(UTF16)] */
1235 struct netr_Authenticator
*credential
;/* [ref] */
1236 enum netr_SamDatabaseID database_id
;
1237 uint32_t preferredmaximumlength
;
1238 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1239 uint64_t *sequence_num
;/* [ref] */
1243 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1244 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1245 uint64_t *sequence_num
;/* [ref] */
1252 struct netr_DatabaseSync
{
1254 const char *logon_server
;/* [ref,charset(UTF16)] */
1255 const char *computername
;/* [ref,charset(UTF16)] */
1256 struct netr_Authenticator
*credential
;/* [ref] */
1257 enum netr_SamDatabaseID database_id
;
1258 uint32_t preferredmaximumlength
;
1259 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1260 uint32_t *sync_context
;/* [ref] */
1264 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1265 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1266 uint32_t *sync_context
;/* [ref] */
1273 struct netr_AccountDeltas
{
1275 const char *logon_server
;/* [unique,charset(UTF16)] */
1276 const char *computername
;/* [ref,charset(UTF16)] */
1277 struct netr_Authenticator credential
;
1278 struct netr_UAS_INFO_0 uas
;
1281 uint32_t buffersize
;
1282 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1286 struct netr_AccountBuffer
*buffer
;/* [ref,subcontext(4)] */
1287 uint32_t *count_returned
;/* [ref] */
1288 uint32_t *total_entries
;/* [ref] */
1289 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1290 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1297 struct netr_AccountSync
{
1299 const char *logon_server
;/* [unique,charset(UTF16)] */
1300 const char *computername
;/* [ref,charset(UTF16)] */
1301 struct netr_Authenticator credential
;
1304 uint32_t buffersize
;
1305 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1306 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1310 struct netr_AccountBuffer
*buffer
;/* [ref,subcontext(4)] */
1311 uint32_t *count_returned
;/* [ref] */
1312 uint32_t *total_entries
;/* [ref] */
1313 uint32_t *next_reference
;/* [ref] */
1314 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1315 struct netr_UAS_INFO_0
*recordid
;/* [ref] */
1322 struct netr_GetDcName
{
1324 const char *logon_server
;/* [ref,charset(UTF16)] */
1325 const char *domainname
;/* [unique,charset(UTF16)] */
1329 const char **dcname
;/* [ref,charset(UTF16)] */
1336 struct netr_LogonControl
{
1338 const char *logon_server
;/* [unique,charset(UTF16)] */
1339 enum netr_LogonControlCode function_code
;
1344 union netr_CONTROL_QUERY_INFORMATION
*query
;/* [ref,switch_is(level)] */
1351 struct netr_GetAnyDCName
{
1353 const char *logon_server
;/* [unique,charset(UTF16)] */
1354 const char *domainname
;/* [unique,charset(UTF16)] */
1358 const char **dcname
;/* [ref,charset(UTF16)] */
1365 struct netr_LogonControl2
{
1367 const char *logon_server
;/* [unique,charset(UTF16)] */
1368 enum netr_LogonControlCode function_code
;
1370 union netr_CONTROL_DATA_INFORMATION
*data
;/* [ref,switch_is(function_code)] */
1374 union netr_CONTROL_QUERY_INFORMATION
*query
;/* [ref,switch_is(level)] */
1381 struct netr_ServerAuthenticate2
{
1383 const char *server_name
;/* [unique,charset(UTF16)] */
1384 const char *account_name
;/* [ref,charset(UTF16)] */
1385 enum netr_SchannelType secure_channel_type
;
1386 const char *computer_name
;/* [ref,charset(UTF16)] */
1387 struct netr_Credential
*credentials
;/* [ref] */
1388 uint32_t *negotiate_flags
;/* [ref] */
1392 struct netr_Credential
*return_credentials
;/* [ref] */
1393 uint32_t *negotiate_flags
;/* [ref] */
1400 struct netr_DatabaseSync2
{
1402 const char *logon_server
;/* [ref,charset(UTF16)] */
1403 const char *computername
;/* [ref,charset(UTF16)] */
1404 struct netr_Authenticator
*credential
;/* [ref] */
1405 enum netr_SamDatabaseID database_id
;
1406 enum SyncStateEnum restart_state
;
1407 uint32_t preferredmaximumlength
;
1408 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1409 uint32_t *sync_context
;/* [ref] */
1413 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1414 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1415 uint32_t *sync_context
;/* [ref] */
1422 struct netr_DatabaseRedo
{
1424 const char *logon_server
;/* [ref,charset(UTF16)] */
1425 const char *computername
;/* [ref,charset(UTF16)] */
1426 struct netr_Authenticator
*credential
;/* [ref] */
1427 struct netr_ChangeLogEntry change_log_entry
;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1428 uint32_t change_log_entry_size
;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1429 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1433 struct netr_DELTA_ENUM_ARRAY
**delta_enum_array
;/* [ref] */
1434 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1441 struct netr_LogonControl2Ex
{
1443 const char *logon_server
;/* [unique,charset(UTF16)] */
1444 enum netr_LogonControlCode function_code
;
1446 union netr_CONTROL_DATA_INFORMATION
*data
;/* [ref,switch_is(function_code)] */
1450 union netr_CONTROL_QUERY_INFORMATION
*query
;/* [ref,switch_is(level)] */
1457 struct netr_NetrEnumerateTrustedDomains
{
1459 const char *server_name
;/* [unique,charset(UTF16)] */
1463 struct netr_Blob
*trusted_domains_blob
;/* [ref] */
1470 struct netr_DsRGetDCName
{
1472 const char *server_unc
;/* [unique,charset(UTF16)] */
1473 const char *domain_name
;/* [unique,charset(UTF16)] */
1474 struct GUID
*domain_guid
;/* [unique] */
1475 struct GUID
*site_guid
;/* [unique] */
1480 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1487 struct netr_LogonGetCapabilities
{
1489 const char *server_name
;/* [ref,charset(UTF16)] */
1490 const char *computer_name
;/* [unique,charset(UTF16)] */
1491 struct netr_Authenticator
*credential
;/* [ref] */
1492 uint32_t query_level
;
1493 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1497 union netr_Capabilities
*capabilities
;/* [ref,switch_is(query_level)] */
1498 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1505 struct netr_NETRLOGONSETSERVICEBITS
{
1513 struct netr_LogonGetTrustRid
{
1515 const char *server_name
;/* [unique,charset(UTF16)] */
1516 const char *domain_name
;/* [unique,charset(UTF16)] */
1520 uint32_t *rid
;/* [ref] */
1527 struct netr_NETRLOGONCOMPUTESERVERDIGEST
{
1535 struct netr_NETRLOGONCOMPUTECLIENTDIGEST
{
1543 struct netr_ServerAuthenticate3
{
1545 const char *server_name
;/* [unique,charset(UTF16)] */
1546 const char *account_name
;/* [ref,charset(UTF16)] */
1547 enum netr_SchannelType secure_channel_type
;
1548 const char *computer_name
;/* [ref,charset(UTF16)] */
1549 struct netr_Credential
*credentials
;/* [ref] */
1550 uint32_t *negotiate_flags
;/* [ref] */
1554 struct netr_Credential
*return_credentials
;/* [ref] */
1555 uint32_t *rid
;/* [ref] */
1556 uint32_t *negotiate_flags
;/* [ref] */
1563 struct netr_DsRGetDCNameEx
{
1565 const char *server_unc
;/* [unique,charset(UTF16)] */
1566 const char *domain_name
;/* [unique,charset(UTF16)] */
1567 struct GUID
*domain_guid
;/* [unique] */
1568 const char *site_name
;/* [unique,charset(UTF16)] */
1573 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1580 struct netr_DsRGetSiteName
{
1582 const char *computer_name
;/* [unique,charset(UTF16)] */
1586 const char **site
;/* [ref,charset(UTF16)] */
1593 struct netr_LogonGetDomainInfo
{
1595 const char *server_name
;/* [ref,charset(UTF16)] */
1596 const char *computer_name
;/* [unique,charset(UTF16)] */
1597 struct netr_Authenticator
*credential
;/* [ref] */
1599 union netr_WorkstationInfo
*query
;/* [ref,switch_is(level)] */
1600 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1604 union netr_DomainInfo
*info
;/* [ref,switch_is(level)] */
1605 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1612 struct netr_ServerPasswordSet2
{
1614 const char *server_name
;/* [unique,charset(UTF16)] */
1615 const char *account_name
;/* [ref,charset(UTF16)] */
1616 enum netr_SchannelType secure_channel_type
;
1617 const char *computer_name
;/* [ref,charset(UTF16)] */
1618 struct netr_Authenticator
*credential
;/* [ref] */
1619 struct netr_CryptPassword
*new_password
;/* [ref] */
1623 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1630 struct netr_ServerPasswordGet
{
1632 const char *server_name
;/* [unique,charset(UTF16)] */
1633 const char *account_name
;/* [ref,charset(UTF16)] */
1634 enum netr_SchannelType secure_channel_type
;
1635 const char *computer_name
;/* [ref,charset(UTF16)] */
1636 struct netr_Authenticator
*credential
;/* [ref] */
1640 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1641 struct samr_Password
*password
;/* [ref] */
1648 struct netr_NETRLOGONSENDTOSAM
{
1656 struct netr_DsRAddressToSitenamesW
{
1658 const char *server_name
;/* [unique,charset(UTF16)] */
1659 uint32_t count
;/* [range(0,32000)] */
1660 struct netr_DsRAddress
*addresses
;/* [ref,size_is(count)] */
1664 struct netr_DsRAddressToSitenamesWCtr
**ctr
;/* [ref] */
1671 struct netr_DsRGetDCNameEx2
{
1673 const char *server_unc
;/* [unique,charset(UTF16)] */
1674 const char *client_account
;/* [unique,charset(UTF16)] */
1676 const char *domain_name
;/* [unique,charset(UTF16)] */
1677 struct GUID
*domain_guid
;/* [unique] */
1678 const char *site_name
;/* [unique,charset(UTF16)] */
1683 struct netr_DsRGetDCNameInfo
**info
;/* [ref] */
1690 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN
{
1698 struct netr_NetrEnumerateTrustedDomainsEx
{
1700 const char *server_name
;/* [unique,charset(UTF16)] */
1704 struct netr_DomainTrustList
*dom_trust_list
;/* [ref] */
1711 struct netr_DsRAddressToSitenamesExW
{
1713 const char *server_name
;/* [unique,charset(UTF16)] */
1714 uint32_t count
;/* [range(0,32000)] */
1715 struct netr_DsRAddress
*addresses
;/* [ref,size_is(count)] */
1719 struct netr_DsRAddressToSitenamesExWCtr
**ctr
;/* [ref] */
1726 struct netr_DsrGetDcSiteCoverageW
{
1728 const char *server_name
;/* [unique,charset(UTF16)] */
1732 struct DcSitesCtr
**ctr
;/* [ref] */
1739 struct netr_LogonSamLogonEx
{
1741 const char *server_name
;/* [unique,charset(UTF16)] */
1742 const char *computer_name
;/* [unique,charset(UTF16)] */
1743 enum netr_LogonInfoClass logon_level
;
1744 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1745 uint16_t validation_level
;
1746 uint32_t *flags
;/* [ref] */
1750 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1751 uint8_t *authoritative
;/* [ref] */
1752 uint32_t *flags
;/* [ref] */
1759 struct netr_DsrEnumerateDomainTrusts
{
1761 const char *server_name
;/* [unique,charset(UTF16)] */
1762 uint32_t trust_flags
;
1766 struct netr_DomainTrustList
*trusts
;/* [ref] */
1773 struct netr_DsrDeregisterDNSHostRecords
{
1775 const char *server_name
;/* [unique,charset(UTF16)] */
1776 const char *domain
;/* [unique,charset(UTF16)] */
1777 struct GUID
*domain_guid
;/* [unique] */
1778 struct GUID
*dsa_guid
;/* [unique] */
1779 const char *dns_host
;/* [ref,charset(UTF16)] */
1789 struct netr_ServerTrustPasswordsGet
{
1791 const char *server_name
;/* [unique,charset(UTF16)] */
1792 const char *account_name
;/* [ref,charset(UTF16)] */
1793 enum netr_SchannelType secure_channel_type
;
1794 const char *computer_name
;/* [ref,charset(UTF16)] */
1795 struct netr_Authenticator
*credential
;/* [ref] */
1799 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1800 struct samr_Password
*password
;/* [ref] */
1801 struct samr_Password
*password2
;/* [ref] */
1808 struct netr_DsRGetForestTrustInformation
{
1810 const char *server_name
;/* [unique,charset(UTF16)] */
1811 const char *trusted_domain_name
;/* [unique,charset(UTF16)] */
1816 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1823 struct netr_GetForestTrustInformation
{
1825 const char *server_name
;/* [unique,charset(UTF16)] */
1826 const char *trusted_domain_name
;/* [ref,charset(UTF16)] */
1827 struct netr_Authenticator
*credential
;/* [ref] */
1832 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1833 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1840 struct netr_LogonSamLogonWithFlags
{
1842 const char *server_name
;/* [unique,charset(UTF16)] */
1843 const char *computer_name
;/* [unique,charset(UTF16)] */
1844 struct netr_Authenticator
*credential
;/* [unique] */
1845 enum netr_LogonInfoClass logon_level
;
1846 union netr_LogonLevel
*logon
;/* [ref,switch_is(logon_level)] */
1847 uint16_t validation_level
;
1848 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1849 uint32_t *flags
;/* [ref] */
1853 union netr_Validation
*validation
;/* [ref,switch_is(validation_level)] */
1854 uint8_t *authoritative
;/* [ref] */
1855 struct netr_Authenticator
*return_authenticator
;/* [unique] */
1856 uint32_t *flags
;/* [ref] */
1863 struct netr_ServerGetTrustInfo
{
1865 const char *server_name
;/* [unique,charset(UTF16)] */
1866 const char *account_name
;/* [ref,charset(UTF16)] */
1867 enum netr_SchannelType secure_channel_type
;
1868 const char *computer_name
;/* [ref,charset(UTF16)] */
1869 struct netr_Authenticator
*credential
;/* [ref] */
1873 struct netr_Authenticator
*return_authenticator
;/* [ref] */
1874 struct samr_Password
*new_owf_password
;/* [ref] */
1875 struct samr_Password
*old_owf_password
;/* [ref] */
1876 struct netr_TrustInfo
**trust_info
;/* [ref] */
1882 #endif /* _HEADER_netlogon */