1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/samr.h"
7 #include "librpc/gen_ndr/security.h"
8 #ifndef _HEADER_netlogon
9 #define _HEADER_netlogon
11 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
12 #define NETLOGON_NEG_128BIT ( 0x00004000 )
13 #define NETLOGON_NEG_SCHANNEL ( 0x40000000 )
14 #define DS_GFTI_UPDATE_TDO ( 0x1 )
16 const char *account_name;/* [unique,charset(UTF16)] */
20 uint32_t bad_pw_count;
25 uint32_t password_age;
27 time_t pw_must_change;
28 const char *computer;/* [unique,charset(UTF16)] */
29 const char *domain;/* [unique,charset(UTF16)] */
30 const char *script_path;/* [unique,charset(UTF16)] */
34 struct netr_UasLogoffInfo {
39 struct netr_AcctLockStr {
42 uint16_t *bindata;/* [unique,length_is(length/2),size_is(size/2)] */
45 /* bitmap netr_LogonParameterControl */
46 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
47 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
48 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
49 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
50 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
51 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
53 struct netr_IdentityInfo {
54 struct lsa_String domain_name;
55 uint32_t parameter_control;
56 uint32_t logon_id_low;
57 uint32_t logon_id_high;
58 struct lsa_String account_name;
59 struct lsa_String workstation;
62 struct netr_PasswordInfo {
63 struct netr_IdentityInfo identity_info;
64 struct samr_Password lmpassword;
65 struct samr_Password ntpassword;
68 struct netr_ChallengeResponse {
70 uint16_t size;/* [value(length)] */
71 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
72 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
74 struct netr_NetworkInfo {
75 struct netr_IdentityInfo identity_info;
77 struct netr_ChallengeResponse nt;
78 struct netr_ChallengeResponse lm;
79 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
81 union netr_LogonLevel {
82 struct netr_PasswordInfo *password;/* [unique,case] */
83 struct netr_NetworkInfo *network;/* [unique,case(2)] */
84 }/* [public,switch_type(uint16)] */;
86 struct netr_UserSessionKey {
88 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
90 struct netr_LMSessionKey {
92 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
94 /* bitmap netr_UserFlags */
95 #define NETLOGON_GUEST ( 0x00000001 )
96 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
97 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
98 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
99 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
100 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
101 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
102 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
103 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
104 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
105 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
107 struct netr_SamBaseInfo {
111 NTTIME last_password_change;
112 NTTIME allow_password_change;
113 NTTIME force_password_change;
114 struct lsa_String account_name;
115 struct lsa_String full_name;
116 struct lsa_String logon_script;
117 struct lsa_String profile_path;
118 struct lsa_String home_directory;
119 struct lsa_String home_drive;
120 uint16_t logon_count;
121 uint16_t bad_password_count;
123 uint32_t primary_gid;
124 struct samr_RidWithAttributeArray groups;
126 struct netr_UserSessionKey key;
127 struct lsa_StringLarge logon_server;
128 struct lsa_StringLarge domain;
129 struct dom_sid2 *domain_sid;/* [unique] */
130 struct netr_LMSessionKey LMSessKey;
135 struct netr_SamInfo2 {
136 struct netr_SamBaseInfo base;
139 struct netr_SidAttr {
140 struct dom_sid2 *sid;/* [unique] */
144 struct netr_SamInfo3 {
145 struct netr_SamBaseInfo base;
147 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
150 struct netr_SamInfo6 {
151 struct netr_SamBaseInfo base;
153 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
154 struct lsa_String forest;
155 struct lsa_String principle;
156 uint32_t unknown4[20];
159 struct netr_PacInfo {
161 uint8_t *pac;/* [unique,size_is(pac_size)] */
162 struct lsa_String logon_domain;
163 struct lsa_String logon_server;
164 struct lsa_String principal_name;
166 uint8_t *auth;/* [unique,size_is(auth_size)] */
167 struct netr_UserSessionKey user_session_key;
168 uint32_t expansionroom[10];
169 struct lsa_String unknown1;
170 struct lsa_String unknown2;
171 struct lsa_String unknown3;
172 struct lsa_String unknown4;
175 union netr_Validation {
176 struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
177 struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
178 struct netr_PacInfo *pac;/* [unique,case(4)] */
179 struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
180 }/* [public,switch_type(uint16)] */;
182 struct netr_Credential {
184 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
186 struct netr_Authenticator {
187 struct netr_Credential cred;
191 enum netr_SchannelType;
193 enum netr_SamDatabaseID;
195 struct netr_DELTA_DELETE_USER {
196 const char *account_name;/* [unique,charset(UTF16)] */
197 struct lsa_String unknown1;
198 struct lsa_String unknown2;
199 struct lsa_String unknown3;
200 struct lsa_String unknown4;
207 struct netr_USER_KEY16 {
209 uint16_t size;/* [value(length)] */
211 struct samr_Password pwd;
214 struct netr_PasswordHistory {
216 uint16_t nt_size;/* [value(nt_length)] */
219 uint16_t lm_size;/* [value(lm_length)] */
225 struct netr_USER_KEYS2 {
226 struct netr_USER_KEY16 lmpassword;
227 struct netr_USER_KEY16 ntpassword;
228 struct netr_PasswordHistory history;
231 struct netr_USER_KEY_UNION {
232 struct netr_USER_KEYS2 keys2;
235 struct netr_USER_KEYS {
237 struct netr_USER_KEY_UNION keys;
240 struct netr_USER_PRIVATE_INFO {
241 uint8_t SensitiveDataFlag;
243 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
246 struct netr_DELTA_USER {
247 struct lsa_String account_name;
248 struct lsa_String full_name;
250 uint32_t primary_gid;
251 struct lsa_String home_directory;
252 struct lsa_String home_drive;
253 struct lsa_String logon_script;
254 struct lsa_String description;
255 struct lsa_String workstations;
258 struct samr_LogonHours logon_hours;
259 uint16_t bad_password_count;
260 uint16_t logon_count;
261 NTTIME last_password_change;
264 struct samr_Password lmpassword;
265 struct samr_Password ntpassword;
266 uint8_t nt_password_present;
267 uint8_t lm_password_present;
268 uint8_t password_expired;
269 struct lsa_String comment;
270 struct lsa_String parameters;
271 uint16_t country_code;
273 struct netr_USER_PRIVATE_INFO user_private_info;
274 uint32_t SecurityInformation;
275 struct sec_desc_buf sdbuf;
276 struct lsa_String profile_path;
277 struct lsa_String unknown2;
278 struct lsa_String unknown3;
279 struct lsa_String unknown4;
286 struct netr_DELTA_DOMAIN {
287 struct lsa_String domain_name;
288 struct lsa_String comment;
289 int64_t force_logoff_time;
290 uint16_t min_password_length;
291 uint16_t password_history_length;
292 int64_t max_password_age;
293 int64_t min_password_age;
294 uint64_t sequence_num;
295 NTTIME domain_create_time;
296 uint32_t SecurityInformation;
297 struct sec_desc_buf sdbuf;
298 struct netr_AcctLockStr account_lockout;
299 struct lsa_String unknown2;
300 struct lsa_String unknown3;
301 struct lsa_String unknown4;
302 uint32_t logon_to_chgpass;
308 struct netr_DELTA_GROUP {
309 struct lsa_String group_name;
312 struct lsa_String description;
313 uint32_t SecurityInformation;
314 struct sec_desc_buf sdbuf;
315 struct lsa_String unknown1;
316 struct lsa_String unknown2;
317 struct lsa_String unknown3;
318 struct lsa_String unknown4;
325 struct netr_DELTA_RENAME {
326 struct lsa_String OldName;
327 struct lsa_String NewName;
328 struct lsa_String unknown1;
329 struct lsa_String unknown2;
330 struct lsa_String unknown3;
331 struct lsa_String unknown4;
338 struct netr_DELTA_GROUP_MEMBER {
339 uint32_t *rids;/* [unique,size_is(num_rids)] */
340 uint32_t *attribs;/* [unique,size_is(num_rids)] */
348 struct netr_DELTA_ALIAS {
349 struct lsa_String alias_name;
351 uint32_t SecurityInformation;
352 struct sec_desc_buf sdbuf;
353 struct lsa_String description;
354 struct lsa_String unknown2;
355 struct lsa_String unknown3;
356 struct lsa_String unknown4;
363 struct netr_DELTA_ALIAS_MEMBER {
364 struct lsa_SidArray sids;
371 struct netr_QUOTA_LIMITS {
372 uint32_t pagedpoollimit;
373 uint32_t nonpagedpoollimit;
374 uint32_t minimumworkingsetsize;
375 uint32_t maximumworkingsetsize;
376 uint32_t pagefilelimit;
380 struct netr_DELTA_POLICY {
382 NTTIME auditretentionperiod;
383 uint8_t auditingmode;
384 uint32_t maxauditeventcount;
385 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
386 struct lsa_String primary_domain_name;
387 struct dom_sid2 *sid;/* [unique] */
388 struct netr_QUOTA_LIMITS quota_limits;
389 uint64_t sequence_num;
390 NTTIME db_create_time;
391 uint32_t SecurityInformation;
392 struct sec_desc_buf sdbuf;
393 struct lsa_String unknown1;
394 struct lsa_String unknown2;
395 struct lsa_String unknown3;
396 struct lsa_String unknown4;
403 struct netr_DELTA_TRUSTED_DOMAIN {
404 struct lsa_String domain_name;
405 uint32_t num_controllers;
406 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
407 uint32_t SecurityInformation;
408 struct sec_desc_buf sdbuf;
409 struct lsa_String unknown1;
410 struct lsa_String unknown2;
411 struct lsa_String unknown3;
412 struct lsa_String unknown4;
413 uint32_t posix_offset;
419 struct netr_DELTA_DELETE_TRUST {
423 struct netr_DELTA_ACCOUNT {
424 uint32_t privilege_entries;
425 uint32_t privilege_control;
426 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
427 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
428 struct netr_QUOTA_LIMITS quotalimits;
429 uint32_t system_flags;
430 uint32_t SecurityInformation;
431 struct sec_desc_buf sdbuf;
432 struct lsa_String unknown1;
433 struct lsa_String unknown2;
434 struct lsa_String unknown3;
435 struct lsa_String unknown4;
442 struct netr_DELTA_DELETE_ACCOUNT {
446 struct netr_DELTA_DELETE_SECRET {
450 struct netr_CIPHER_VALUE {
453 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
456 struct netr_DELTA_SECRET {
457 struct netr_CIPHER_VALUE current_cipher;
458 NTTIME current_cipher_set_time;
459 struct netr_CIPHER_VALUE old_cipher;
460 NTTIME old_cipher_set_time;
461 uint32_t SecurityInformation;
462 struct sec_desc_buf sdbuf;
463 struct lsa_String unknown1;
464 struct lsa_String unknown2;
465 struct lsa_String unknown3;
466 struct lsa_String unknown4;
474 #ifndef USE_UINT_ENUMS
478 NETR_DELTA_DELETE_GROUP=3,
479 NETR_DELTA_RENAME_GROUP=4,
481 NETR_DELTA_DELETE_USER=6,
482 NETR_DELTA_RENAME_USER=7,
483 NETR_DELTA_GROUP_MEMBER=8,
485 NETR_DELTA_DELETE_ALIAS=10,
486 NETR_DELTA_RENAME_ALIAS=11,
487 NETR_DELTA_ALIAS_MEMBER=12,
488 NETR_DELTA_POLICY=13,
489 NETR_DELTA_TRUSTED_DOMAIN=14,
490 NETR_DELTA_DELETE_TRUST=15,
491 NETR_DELTA_ACCOUNT=16,
492 NETR_DELTA_DELETE_ACCOUNT=17,
493 NETR_DELTA_SECRET=18,
494 NETR_DELTA_DELETE_SECRET=19,
495 NETR_DELTA_DELETE_GROUP2=20,
496 NETR_DELTA_DELETE_USER2=21,
497 NETR_DELTA_MODIFY_COUNT=22
500 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
501 #define NETR_DELTA_DOMAIN ( 1 )
502 #define NETR_DELTA_GROUP ( 2 )
503 #define NETR_DELTA_DELETE_GROUP ( 3 )
504 #define NETR_DELTA_RENAME_GROUP ( 4 )
505 #define NETR_DELTA_USER ( 5 )
506 #define NETR_DELTA_DELETE_USER ( 6 )
507 #define NETR_DELTA_RENAME_USER ( 7 )
508 #define NETR_DELTA_GROUP_MEMBER ( 8 )
509 #define NETR_DELTA_ALIAS ( 9 )
510 #define NETR_DELTA_DELETE_ALIAS ( 10 )
511 #define NETR_DELTA_RENAME_ALIAS ( 11 )
512 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
513 #define NETR_DELTA_POLICY ( 13 )
514 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
515 #define NETR_DELTA_DELETE_TRUST ( 15 )
516 #define NETR_DELTA_ACCOUNT ( 16 )
517 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
518 #define NETR_DELTA_SECRET ( 18 )
519 #define NETR_DELTA_DELETE_SECRET ( 19 )
520 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
521 #define NETR_DELTA_DELETE_USER2 ( 21 )
522 #define NETR_DELTA_MODIFY_COUNT ( 22 )
526 union netr_DELTA_UNION {
527 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
528 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
529 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
530 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
531 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
532 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
533 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
534 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
535 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
536 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
537 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
538 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
539 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
540 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
541 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
542 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
543 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
544 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
545 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
546 }/* [switch_type(netr_DeltaEnum)] */;
548 union netr_DELTA_ID_UNION {
549 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
550 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
551 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
552 }/* [switch_type(netr_DeltaEnum)] */;
554 struct netr_DELTA_ENUM {
555 enum netr_DeltaEnum delta_type;
556 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
557 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
560 struct netr_DELTA_ENUM_ARRAY {
562 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
565 struct netr_UAS_INFO_0 {
566 uint8_t computer_name[16];
567 uint32_t timecreated;
568 uint32_t serial_number;
569 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
571 struct netr_AccountBuffer {
572 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
575 struct netr_NETLOGON_INFO_1 {
577 uint32_t pdc_connection_status;
580 struct netr_NETLOGON_INFO_2 {
582 uint32_t pdc_connection_status;
583 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
584 uint32_t tc_connection_status;
587 struct netr_NETLOGON_INFO_3 {
589 uint32_t logon_attempts;
597 union netr_CONTROL_QUERY_INFORMATION {
598 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
599 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
600 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
603 enum netr_LogonControlCode
604 #ifndef USE_UINT_ENUMS
606 NETLOGON_CONTROL_SYNC=2,
607 NETLOGON_CONTROL_REDISCOVER=5,
608 NETLOGON_CONTROL_TC_QUERY=6,
609 NETLOGON_CONTROL_TRANSPORT_NOTIFY=7,
610 NETLOGON_CONTROL_SET_DBFLAG=65534
613 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
614 #define NETLOGON_CONTROL_SYNC ( 2 )
615 #define NETLOGON_CONTROL_REDISCOVER ( 5 )
616 #define NETLOGON_CONTROL_TC_QUERY ( 6 )
617 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 7 )
618 #define NETLOGON_CONTROL_SET_DBFLAG ( 65534 )
622 union netr_CONTROL_DATA_INFORMATION {
623 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
624 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
629 uint8_t *data;/* [unique,size_is(length)] */
632 /* bitmap netr_DsRGetDCName_flags */
633 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
634 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
635 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
636 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
637 #define DS_PDC_REQUIRED ( 0x00000080 )
638 #define DS_BACKGROUND_ONLY ( 0x00000100 )
639 #define DS_IP_REQUIRED ( 0x00000200 )
640 #define DS_KDC_REQUIRED ( 0x00000400 )
641 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
642 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
643 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
644 #define DS_AVOID_SELF ( 0x00004000 )
645 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
646 #define DS_IS_FLAT_NAME ( 0x00010000 )
647 #define DS_IS_DNS_NAME ( 0x00020000 )
648 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
649 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
650 #define DS_RETURN_DNS_NAME ( 0x40000000 )
651 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
653 enum netr_DsRGetDCNameInfo_AddressType
654 #ifndef USE_UINT_ENUMS
656 DS_ADDRESS_TYPE_INET=1,
657 DS_ADDRESS_TYPE_NETBIOS=2
660 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
661 #define DS_ADDRESS_TYPE_INET ( 1 )
662 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
666 /* bitmap netr_DsR_DcFlags */
667 #define DS_SERVER_PDC ( 0x00000001 )
668 #define DS_SERVER_GC ( 0x00000004 )
669 #define DS_SERVER_LDAP ( 0x00000008 )
670 #define DS_SERVER_DS ( 0x00000010 )
671 #define DS_SERVER_KDC ( 0x00000020 )
672 #define DS_SERVER_TIMESERV ( 0x00000040 )
673 #define DS_SERVER_CLOSEST ( 0x00000080 )
674 #define DS_SERVER_WRITABLE ( 0x00000100 )
675 #define DS_SERVER_GOOD_TIMESERV ( 0x00000200 )
676 #define DS_SERVER_NDNC ( 0x00000400 )
677 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
678 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
679 #define DS_DNS_CONTROLLER ( 0x20000000 )
680 #define DS_DNS_DOMAIN ( 0x40000000 )
681 #define DS_DNS_FOREST ( 0x80000000 )
683 struct netr_DsRGetDCNameInfo {
684 const char *dc_unc;/* [unique,charset(UTF16)] */
685 const char *dc_address;/* [unique,charset(UTF16)] */
686 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
687 struct GUID domain_guid;
688 const char *domain_name;/* [unique,charset(UTF16)] */
689 const char *forest_name;/* [unique,charset(UTF16)] */
691 const char *dc_site_name;/* [unique,charset(UTF16)] */
692 const char *client_site_name;/* [unique,charset(UTF16)] */
695 struct netr_BinaryString {
698 uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
699 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
701 struct netr_DomainQuery1 {
702 struct netr_Blob blob;
703 const char *workstation_domain;/* [unique,charset(UTF16)] */
704 const char *workstation_site;/* [unique,charset(UTF16)] */
705 const char *unknown1;/* [unique,charset(UTF16)] */
706 const char *unknown2;/* [unique,charset(UTF16)] */
707 const char *unknown3;/* [unique,charset(UTF16)] */
708 const char *unknown4;/* [unique,charset(UTF16)] */
709 struct netr_BinaryString blob2;
710 struct lsa_String product;
711 struct lsa_String unknown5;
712 struct lsa_String unknown6;
713 uint32_t unknown7[4];
716 union netr_DomainQuery {
717 struct netr_DomainQuery1 *query1;/* [unique,case] */
720 struct netr_DomainTrustInfo {
721 struct lsa_String domainname;
722 struct lsa_String fulldomainname;
723 struct lsa_String forest;
725 struct dom_sid2 *sid;/* [unique] */
726 struct netr_BinaryString unknown1[4];
730 struct netr_DomainInfo1 {
731 struct netr_DomainTrustInfo domaininfo;
733 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
734 uint32_t unknown[14];
737 union netr_DomainInfo {
738 struct netr_DomainInfo1 *info1;/* [unique,case] */
741 struct netr_CryptPassword {
744 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
746 struct netr_DsRAddressToSitenamesWCtr {
748 struct lsa_String *sitename;/* [unique,size_is(count)] */
751 struct netr_DsRAddress {
752 uint8_t *buffer;/* [unique,size_is(size)] */
756 /* bitmap netr_TrustFlags */
757 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
758 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
759 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
760 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
761 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
762 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
765 #ifndef USE_UINT_ENUMS
767 NETR_TRUST_TYPE_DOWNLEVEL=1,
768 NETR_TRUST_TYPE_UPLEVEL=2,
769 NETR_TRUST_TYPE_MIT=3,
770 NETR_TRUST_TYPE_DCE=4
773 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
774 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
775 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
776 #define NETR_TRUST_TYPE_MIT ( 3 )
777 #define NETR_TRUST_TYPE_DCE ( 4 )
781 /* bitmap netr_TrustAttributes */
782 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
783 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
784 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
785 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
786 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
787 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
788 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
790 struct netr_DomainTrust {
791 const char *netbios_name;/* [unique,charset(UTF16)] */
792 const char *dns_name;/* [unique,charset(UTF16)] */
793 uint32_t trust_flags;
794 uint32_t parent_index;
795 enum netr_TrustType trust_type;
796 uint32_t trust_attributes;
797 struct dom_sid2 *sid;/* [unique] */
801 struct netr_DomainTrustList {
803 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
806 struct netr_DsRAddressToSitenamesExWCtr {
808 struct lsa_String *sitename;/* [unique,size_is(count)] */
809 struct lsa_String *subnetname;/* [unique,size_is(count)] */
814 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
818 struct netr_LogonUasLogon {
820 const char *server_name;/* [unique,charset(UTF16)] */
821 const char *account_name;/* [charset(UTF16)] */
822 const char *workstation;/* [charset(UTF16)] */
826 struct netr_UasInfo *info;/* [ref] */
833 struct netr_LogonUasLogoff {
835 const char *server_name;/* [unique,charset(UTF16)] */
836 const char *account_name;/* [charset(UTF16)] */
837 const char *workstation;/* [charset(UTF16)] */
841 struct netr_UasLogoffInfo *info;/* [ref] */
848 struct netr_LogonSamLogon {
850 const char *server_name;/* [unique,charset(UTF16)] */
851 const char *computer_name;/* [unique,charset(UTF16)] */
852 struct netr_Authenticator *credential;/* [unique] */
853 uint16_t logon_level;
854 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
855 uint16_t validation_level;
856 struct netr_Authenticator *return_authenticator;/* [unique] */
860 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
861 uint8_t *authoritative;/* [ref] */
862 struct netr_Authenticator *return_authenticator;/* [unique] */
869 struct netr_LogonSamLogoff {
871 const char *server_name;/* [unique,charset(UTF16)] */
872 const char *computer_name;/* [unique,charset(UTF16)] */
873 struct netr_Authenticator *credential;/* [unique] */
874 uint16_t logon_level;
875 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
876 struct netr_Authenticator *return_authenticator;/* [unique] */
880 struct netr_Authenticator *return_authenticator;/* [unique] */
887 struct netr_ServerReqChallenge {
889 const char *server_name;/* [unique,charset(UTF16)] */
890 const char *computer_name;/* [charset(UTF16)] */
891 struct netr_Credential *credentials;/* [ref] */
895 struct netr_Credential *return_credentials;/* [ref] */
902 struct netr_ServerAuthenticate {
904 const char *server_name;/* [unique,charset(UTF16)] */
905 const char *account_name;/* [charset(UTF16)] */
906 enum netr_SchannelType secure_channel_type;
907 const char *computer_name;/* [charset(UTF16)] */
908 struct netr_Credential *credentials;/* [ref] */
912 struct netr_Credential *return_credentials;/* [ref] */
919 struct netr_ServerPasswordSet {
921 const char *server_name;/* [unique,charset(UTF16)] */
922 const char *account_name;/* [charset(UTF16)] */
923 enum netr_SchannelType secure_channel_type;
924 const char *computer_name;/* [charset(UTF16)] */
925 struct netr_Authenticator *credential;/* [ref] */
926 struct samr_Password *new_password;/* [ref] */
930 struct netr_Authenticator *return_authenticator;/* [ref] */
937 struct netr_DatabaseDeltas {
939 const char *logon_server;/* [charset(UTF16)] */
940 const char *computername;/* [charset(UTF16)] */
941 struct netr_Authenticator *credential;/* [ref] */
942 enum netr_SamDatabaseID database_id;
943 uint32_t preferredmaximumlength;
944 struct netr_Authenticator *return_authenticator;/* [ref] */
945 uint64_t *sequence_num;/* [ref] */
949 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
950 struct netr_Authenticator *return_authenticator;/* [ref] */
951 uint64_t *sequence_num;/* [ref] */
958 struct netr_DatabaseSync {
960 const char *logon_server;/* [charset(UTF16)] */
961 const char *computername;/* [charset(UTF16)] */
962 struct netr_Authenticator credential;
963 enum netr_SamDatabaseID database_id;
964 uint32_t preferredmaximumlength;
965 struct netr_Authenticator *return_authenticator;/* [ref] */
966 uint32_t *sync_context;/* [ref] */
970 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */
971 struct netr_Authenticator *return_authenticator;/* [ref] */
972 uint32_t *sync_context;/* [ref] */
979 struct netr_AccountDeltas {
981 const char *logon_server;/* [unique,charset(UTF16)] */
982 const char *computername;/* [charset(UTF16)] */
983 struct netr_Authenticator credential;
984 struct netr_UAS_INFO_0 uas;
988 struct netr_Authenticator *return_authenticator;/* [ref] */
992 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
993 uint32_t *count_returned;/* [ref] */
994 uint32_t *total_entries;/* [ref] */
995 struct netr_UAS_INFO_0 *recordid;/* [ref] */
996 struct netr_Authenticator *return_authenticator;/* [ref] */
1003 struct netr_AccountSync {
1005 const char *logon_server;/* [unique,charset(UTF16)] */
1006 const char *computername;/* [charset(UTF16)] */
1007 struct netr_Authenticator credential;
1010 uint32_t buffersize;
1011 struct netr_Authenticator *return_authenticator;/* [ref] */
1012 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1016 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1017 uint32_t *count_returned;/* [ref] */
1018 uint32_t *total_entries;/* [ref] */
1019 uint32_t *next_reference;/* [ref] */
1020 struct netr_Authenticator *return_authenticator;/* [ref] */
1021 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1028 struct netr_GetDcName {
1030 const char *logon_server;/* [charset(UTF16)] */
1031 const char *domainname;/* [unique,charset(UTF16)] */
1035 const char **dcname;/* [ref,charset(UTF16)] */
1042 struct netr_LogonControl {
1044 const char *logon_server;/* [unique,charset(UTF16)] */
1045 enum netr_LogonControlCode function_code;
1050 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1057 struct netr_GetAnyDCName {
1059 const char *logon_server;/* [unique,charset(UTF16)] */
1060 const char *domainname;/* [unique,charset(UTF16)] */
1064 const char **dcname;/* [ref,charset(UTF16)] */
1071 struct netr_LogonControl2 {
1073 const char *logon_server;/* [unique,charset(UTF16)] */
1074 uint32_t function_code;
1076 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1080 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1087 struct netr_ServerAuthenticate2 {
1089 const char *server_name;/* [unique,charset(UTF16)] */
1090 const char *account_name;/* [charset(UTF16)] */
1091 enum netr_SchannelType secure_channel_type;
1092 const char *computer_name;/* [charset(UTF16)] */
1093 struct netr_Credential *credentials;/* [ref] */
1094 uint32_t *negotiate_flags;/* [ref] */
1098 struct netr_Credential *return_credentials;/* [ref] */
1099 uint32_t *negotiate_flags;/* [ref] */
1106 struct netr_DatabaseSync2 {
1108 const char *logon_server;/* [charset(UTF16)] */
1109 const char *computername;/* [charset(UTF16)] */
1110 struct netr_Authenticator *credential;/* [ref] */
1111 enum netr_SamDatabaseID database_id;
1112 uint16_t restart_state;
1113 uint32_t preferredmaximumlength;
1114 struct netr_Authenticator *return_authenticator;/* [ref] */
1115 uint32_t *sync_context;/* [ref] */
1119 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1120 struct netr_Authenticator *return_authenticator;/* [ref] */
1121 uint32_t *sync_context;/* [ref] */
1128 struct netr_DatabaseRedo {
1130 const char *logon_server;/* [charset(UTF16)] */
1131 const char *computername;/* [charset(UTF16)] */
1132 struct netr_Authenticator credential;
1133 uint8_t *change_log_entry;/* [unique,size_is(change_log_entry_size)] */
1134 uint32_t change_log_entry_size;
1135 struct netr_Authenticator *return_authenticator;/* [ref] */
1139 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */
1140 struct netr_Authenticator *return_authenticator;/* [ref] */
1147 struct netr_LogonControl2Ex {
1149 const char *logon_server;/* [unique,charset(UTF16)] */
1150 uint32_t function_code;
1152 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
1156 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1163 struct netr_NetrEnumerateTrustedDomains {
1165 const char *server_name;/* [unique,charset(UTF16)] */
1169 struct netr_Blob *trusted_domains_blob;/* [ref] */
1176 struct netr_DsRGetDCName {
1178 const char *server_unc;/* [unique,charset(UTF16)] */
1179 const char *domain_name;/* [unique,charset(UTF16)] */
1180 struct GUID *domain_guid;/* [unique] */
1181 struct GUID *site_guid;/* [unique] */
1186 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1193 struct netr_NETRLOGONDUMMYROUTINE1 {
1201 struct netr_NETRLOGONSETSERVICEBITS {
1209 struct netr_LogonGetTrustRid {
1211 const char *server_name;/* [unique,charset(UTF16)] */
1212 const char *domain_name;/* [unique,charset(UTF16)] */
1216 uint32_t *rid;/* [ref] */
1223 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1231 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1239 struct netr_ServerAuthenticate3 {
1241 const char *server_name;/* [unique,charset(UTF16)] */
1242 const char *account_name;/* [charset(UTF16)] */
1243 enum netr_SchannelType secure_channel_type;
1244 const char *computer_name;/* [charset(UTF16)] */
1245 struct netr_Credential *credentials;/* [ref] */
1246 uint32_t *negotiate_flags;/* [ref] */
1250 uint32_t *rid;/* [ref] */
1251 struct netr_Credential *credentials;/* [ref] */
1252 uint32_t *negotiate_flags;/* [ref] */
1259 struct netr_DsRGetDCNameEx {
1261 const char *server_unc;/* [unique,charset(UTF16)] */
1262 const char *domain_name;/* [unique,charset(UTF16)] */
1263 struct GUID *domain_guid;/* [unique] */
1264 const char *site_name;/* [unique,charset(UTF16)] */
1269 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1276 struct netr_DsRGetSiteName {
1278 const char *computer_name;/* [unique,charset(UTF16)] */
1282 const char **site;/* [ref,charset(UTF16)] */
1289 struct netr_LogonGetDomainInfo {
1291 const char *server_name;/* [charset(UTF16)] */
1292 const char *computer_name;/* [unique,charset(UTF16)] */
1293 struct netr_Authenticator *credential;/* [ref] */
1295 union netr_DomainQuery query;/* [switch_is(level)] */
1296 struct netr_Authenticator *return_authenticator;/* [ref] */
1300 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1301 struct netr_Authenticator *return_authenticator;/* [ref] */
1308 struct netr_ServerPasswordSet2 {
1310 const char *server_name;/* [unique,charset(UTF16)] */
1311 const char *account_name;/* [charset(UTF16)] */
1312 enum netr_SchannelType secure_channel_type;
1313 const char *computer_name;/* [charset(UTF16)] */
1314 struct netr_Authenticator credential;
1315 struct netr_CryptPassword new_password;
1319 struct netr_Authenticator *return_authenticator;/* [ref] */
1326 struct netr_ServerPasswordGet {
1328 const char *server_name;/* [unique,charset(UTF16)] */
1329 const char *account_name;/* [charset(UTF16)] */
1330 enum netr_SchannelType secure_channel_type;
1331 const char *computer_name;/* [charset(UTF16)] */
1332 struct netr_Authenticator *credential;/* [ref] */
1336 struct netr_Authenticator *return_authenticator;/* [ref] */
1337 struct samr_Password *password;/* [ref] */
1344 struct netr_NETRLOGONSENDTOSAM {
1352 struct netr_DsRAddressToSitenamesW {
1354 const char *server_name;/* [unique,charset(UTF16)] */
1355 uint32_t count;/* [range(0,32000)] */
1356 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1360 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1367 struct netr_DsRGetDCNameEx2 {
1369 const char *server_unc;/* [unique,charset(UTF16)] */
1370 const char *client_account;/* [unique,charset(UTF16)] */
1372 const char *domain_name;/* [unique,charset(UTF16)] */
1373 struct GUID *domain_guid;/* [unique] */
1374 const char *site_name;/* [unique,charset(UTF16)] */
1379 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1386 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1394 struct netr_NetrEnumerateTrustedDomainsEx {
1396 const char *server_name;/* [unique,charset(UTF16)] */
1400 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1407 struct netr_DsRAddressToSitenamesExW {
1409 const char *server_name;/* [unique,charset(UTF16)] */
1410 uint32_t count;/* [range(0,32000)] */
1411 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1415 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1422 struct netr_DsrGetDcSiteCoverageW {
1424 const char *server_name;/* [unique,charset(UTF16)] */
1428 struct DcSitesCtr *ctr;/* [ref] */
1435 struct netr_LogonSamLogonEx {
1437 const char *server_name;/* [unique,charset(UTF16)] */
1438 const char *computer_name;/* [unique,charset(UTF16)] */
1439 uint16_t logon_level;
1440 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1441 uint16_t validation_level;
1442 uint32_t *flags;/* [ref] */
1446 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1447 uint8_t *authoritative;/* [ref] */
1448 uint32_t *flags;/* [ref] */
1455 struct netr_DsrEnumerateDomainTrusts {
1457 const char *server_name;/* [unique,charset(UTF16)] */
1458 uint32_t trust_flags;
1462 struct netr_DomainTrustList *trusts;/* [ref] */
1469 struct netr_DsrDeregisterDNSHostRecords {
1471 const char *server_name;/* [unique,charset(UTF16)] */
1472 const char *domain;/* [unique,charset(UTF16)] */
1473 struct GUID *domain_guid;/* [unique] */
1474 struct GUID *dsa_guid;/* [unique] */
1475 const char *dns_host;/* [ref,charset(UTF16)] */
1485 struct netr_ServerTrustPasswordsGet {
1487 const char *server_name;/* [unique,charset(UTF16)] */
1488 const char *account_name;/* [charset(UTF16)] */
1489 enum netr_SchannelType secure_channel_type;
1490 const char *computer_name;/* [charset(UTF16)] */
1491 struct netr_Authenticator *credential;/* [ref] */
1495 struct netr_Authenticator *return_authenticator;/* [ref] */
1496 struct samr_Password *password;/* [ref] */
1497 struct samr_Password *password2;/* [ref] */
1504 struct netr_DsRGetForestTrustInformation {
1506 const char *server_name;/* [unique,charset(UTF16)] */
1507 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1512 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1519 struct netr_GetForestTrustInformation {
1521 const char *server_name;/* [unique,charset(UTF16)] */
1522 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1523 struct netr_Authenticator *credential;/* [ref] */
1528 struct netr_Authenticator *return_authenticator;/* [ref] */
1529 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1536 struct netr_LogonSamLogonWithFlags {
1538 const char *server_name;/* [unique,charset(UTF16)] */
1539 const char *computer_name;/* [unique,charset(UTF16)] */
1540 struct netr_Authenticator *credential;/* [unique] */
1541 uint16_t logon_level;
1542 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1543 uint16_t validation_level;
1544 struct netr_Authenticator *return_authenticator;/* [unique] */
1545 uint32_t *flags;/* [ref] */
1549 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1550 uint8_t *authoritative;/* [ref] */
1551 struct netr_Authenticator *return_authenticator;/* [unique] */
1552 uint32_t *flags;/* [ref] */
1559 struct netr_NETRSERVERGETTRUSTINFO {
1566 #endif /* _HEADER_netlogon */