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 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) )
15 #define DS_GFTI_UPDATE_TDO ( 0x1 )
17 const char *account_name;/* [unique,charset(UTF16)] */
21 uint32_t bad_pw_count;
26 uint32_t password_age;
28 time_t pw_must_change;
29 const char *computer;/* [unique,charset(UTF16)] */
30 const char *domain;/* [unique,charset(UTF16)] */
31 const char *script_path;/* [unique,charset(UTF16)] */
35 struct netr_UasLogoffInfo {
40 struct netr_AcctLockStr {
43 uint16_t *bindata;/* [unique,length_is(length/2),size_is(size/2)] */
46 /* bitmap netr_LogonParameterControl */
47 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
48 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
49 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
50 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
51 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
52 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
54 struct netr_IdentityInfo {
55 struct lsa_String domain_name;
56 uint32_t parameter_control;
57 uint32_t logon_id_low;
58 uint32_t logon_id_high;
59 struct lsa_String account_name;
60 struct lsa_String workstation;
63 struct netr_PasswordInfo {
64 struct netr_IdentityInfo identity_info;
65 struct samr_Password lmpassword;
66 struct samr_Password ntpassword;
69 struct netr_ChallengeResponse {
71 uint16_t size;/* [value(length)] */
72 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
73 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
75 struct netr_NetworkInfo {
76 struct netr_IdentityInfo identity_info;
78 struct netr_ChallengeResponse nt;
79 struct netr_ChallengeResponse lm;
80 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
82 union netr_LogonInfo {
83 struct netr_PasswordInfo *password;/* [unique,case] */
84 struct netr_NetworkInfo *network;/* [unique,case(2)] */
85 }/* [public,switch_type(uint16)] */;
87 struct netr_UserSessionKey {
89 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
91 struct netr_LMSessionKey {
93 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
95 /* bitmap netr_UserFlags */
96 #define NETLOGON_GUEST ( 0x00000001 )
97 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
98 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
99 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
100 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
101 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
102 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
103 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
104 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
105 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
106 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
108 struct netr_SamBaseInfo {
112 NTTIME last_password_change;
113 NTTIME allow_password_change;
114 NTTIME force_password_change;
115 struct lsa_String account_name;
116 struct lsa_String full_name;
117 struct lsa_String logon_script;
118 struct lsa_String profile_path;
119 struct lsa_String home_directory;
120 struct lsa_String home_drive;
121 uint16_t logon_count;
122 uint16_t bad_password_count;
124 uint32_t primary_gid;
125 struct samr_RidWithAttributeArray groups;
127 struct netr_UserSessionKey key;
128 struct lsa_StringLarge logon_server;
129 struct lsa_StringLarge domain;
130 struct dom_sid2 *domain_sid;/* [unique] */
131 struct netr_LMSessionKey LMSessKey;
136 struct netr_SamInfo2 {
137 struct netr_SamBaseInfo base;
140 struct netr_SidAttr {
141 struct dom_sid2 *sid;/* [unique] */
145 struct netr_SamInfo3 {
146 struct netr_SamBaseInfo base;
148 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
151 struct netr_SamInfo6 {
152 struct netr_SamBaseInfo base;
154 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
155 struct lsa_String forest;
156 struct lsa_String principle;
157 uint32_t unknown4[20];
160 struct netr_PacInfo {
162 uint8_t *pac;/* [unique,size_is(pac_size)] */
163 struct lsa_String logon_domain;
164 struct lsa_String logon_server;
165 struct lsa_String principal_name;
167 uint8_t *auth;/* [unique,size_is(auth_size)] */
168 struct netr_UserSessionKey user_session_key;
169 uint32_t expansionroom[10];
170 struct lsa_String unknown1;
171 struct lsa_String unknown2;
172 struct lsa_String unknown3;
173 struct lsa_String unknown4;
176 union netr_Validation {
177 struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
178 struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
179 struct netr_PacInfo *pac;/* [unique,case(4)] */
180 struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
181 }/* [public,switch_type(uint16)] */;
183 struct netr_Credential {
185 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
187 struct netr_Authenticator {
188 struct netr_Credential cred;
193 #ifndef USE_UINT_ENUMS
195 INTERACTIVE_LOGON_TYPE=1,
199 { __donnot_use_enum_netr_LogonLevel=0x7FFFFFFF}
200 #define INTERACTIVE_LOGON_TYPE ( 1 )
201 #define NET_LOGON_TYPE ( 2 )
205 enum netr_SchannelType;
207 enum netr_SamDatabaseID;
209 struct netr_DELTA_DELETE_USER {
210 const char *account_name;/* [unique,charset(UTF16)] */
211 struct lsa_String unknown1;
212 struct lsa_String unknown2;
213 struct lsa_String unknown3;
214 struct lsa_String unknown4;
221 struct netr_USER_KEY16 {
223 uint16_t size;/* [value(length)] */
225 struct samr_Password pwd;
228 struct netr_PasswordHistory {
230 uint16_t nt_size;/* [value(nt_length)] */
233 uint16_t lm_size;/* [value(lm_length)] */
239 struct netr_USER_KEYS2 {
240 struct netr_USER_KEY16 lmpassword;
241 struct netr_USER_KEY16 ntpassword;
242 struct netr_PasswordHistory history;
245 struct netr_USER_KEY_UNION {
246 struct netr_USER_KEYS2 keys2;
249 struct netr_USER_KEYS {
251 struct netr_USER_KEY_UNION keys;
254 struct netr_USER_PRIVATE_INFO {
255 uint8_t SensitiveDataFlag;
257 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
260 struct netr_DELTA_USER {
261 struct lsa_String account_name;
262 struct lsa_String full_name;
264 uint32_t primary_gid;
265 struct lsa_String home_directory;
266 struct lsa_String home_drive;
267 struct lsa_String logon_script;
268 struct lsa_String description;
269 struct lsa_String workstations;
272 struct samr_LogonHours logon_hours;
273 uint16_t bad_password_count;
274 uint16_t logon_count;
275 NTTIME last_password_change;
278 struct samr_Password lmpassword;
279 struct samr_Password ntpassword;
280 uint8_t nt_password_present;
281 uint8_t lm_password_present;
282 uint8_t password_expired;
283 struct lsa_String comment;
284 struct lsa_String parameters;
285 uint16_t country_code;
287 struct netr_USER_PRIVATE_INFO user_private_info;
288 uint32_t SecurityInformation;
289 struct sec_desc_buf sdbuf;
290 struct lsa_String profile_path;
291 struct lsa_String unknown2;
292 struct lsa_String unknown3;
293 struct lsa_String unknown4;
300 struct netr_DELTA_DOMAIN {
301 struct lsa_String domain_name;
302 struct lsa_String comment;
303 int64_t force_logoff_time;
304 uint16_t min_password_length;
305 uint16_t password_history_length;
306 int64_t max_password_age;
307 int64_t min_password_age;
308 uint64_t sequence_num;
309 NTTIME domain_create_time;
310 uint32_t SecurityInformation;
311 struct sec_desc_buf sdbuf;
312 struct netr_AcctLockStr account_lockout;
313 struct lsa_String unknown2;
314 struct lsa_String unknown3;
315 struct lsa_String unknown4;
316 uint32_t logon_to_chgpass;
322 struct netr_DELTA_GROUP {
323 struct lsa_String group_name;
326 struct lsa_String description;
327 uint32_t SecurityInformation;
328 struct sec_desc_buf sdbuf;
329 struct lsa_String unknown1;
330 struct lsa_String unknown2;
331 struct lsa_String unknown3;
332 struct lsa_String unknown4;
339 struct netr_DELTA_RENAME {
340 struct lsa_String OldName;
341 struct lsa_String NewName;
342 struct lsa_String unknown1;
343 struct lsa_String unknown2;
344 struct lsa_String unknown3;
345 struct lsa_String unknown4;
352 struct netr_DELTA_GROUP_MEMBER {
353 uint32_t *rids;/* [unique,size_is(num_rids)] */
354 uint32_t *attribs;/* [unique,size_is(num_rids)] */
362 struct netr_DELTA_ALIAS {
363 struct lsa_String alias_name;
365 uint32_t SecurityInformation;
366 struct sec_desc_buf sdbuf;
367 struct lsa_String description;
368 struct lsa_String unknown2;
369 struct lsa_String unknown3;
370 struct lsa_String unknown4;
377 struct netr_DELTA_ALIAS_MEMBER {
378 struct lsa_SidArray sids;
385 struct netr_QUOTA_LIMITS {
386 uint32_t pagedpoollimit;
387 uint32_t nonpagedpoollimit;
388 uint32_t minimumworkingsetsize;
389 uint32_t maximumworkingsetsize;
390 uint32_t pagefilelimit;
394 struct netr_DELTA_POLICY {
396 NTTIME auditretentionperiod;
397 uint8_t auditingmode;
398 uint32_t maxauditeventcount;
399 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
400 struct lsa_String primary_domain_name;
401 struct dom_sid2 *sid;/* [unique] */
402 struct netr_QUOTA_LIMITS quota_limits;
403 uint64_t sequence_num;
404 NTTIME db_create_time;
405 uint32_t SecurityInformation;
406 struct sec_desc_buf sdbuf;
407 struct lsa_String unknown1;
408 struct lsa_String unknown2;
409 struct lsa_String unknown3;
410 struct lsa_String unknown4;
417 struct netr_DELTA_TRUSTED_DOMAIN {
418 struct lsa_String domain_name;
419 uint32_t num_controllers;
420 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
421 uint32_t SecurityInformation;
422 struct sec_desc_buf sdbuf;
423 struct lsa_String unknown1;
424 struct lsa_String unknown2;
425 struct lsa_String unknown3;
426 struct lsa_String unknown4;
427 uint32_t posix_offset;
433 struct netr_DELTA_DELETE_TRUST {
437 struct netr_DELTA_ACCOUNT {
438 uint32_t privilege_entries;
439 uint32_t privilege_control;
440 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
441 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
442 struct netr_QUOTA_LIMITS quotalimits;
443 uint32_t system_flags;
444 uint32_t SecurityInformation;
445 struct sec_desc_buf sdbuf;
446 struct lsa_String unknown1;
447 struct lsa_String unknown2;
448 struct lsa_String unknown3;
449 struct lsa_String unknown4;
456 struct netr_DELTA_DELETE_ACCOUNT {
460 struct netr_DELTA_DELETE_SECRET {
464 struct netr_CIPHER_VALUE {
467 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
470 struct netr_DELTA_SECRET {
471 struct netr_CIPHER_VALUE current_cipher;
472 NTTIME current_cipher_set_time;
473 struct netr_CIPHER_VALUE old_cipher;
474 NTTIME old_cipher_set_time;
475 uint32_t SecurityInformation;
476 struct sec_desc_buf sdbuf;
477 struct lsa_String unknown1;
478 struct lsa_String unknown2;
479 struct lsa_String unknown3;
480 struct lsa_String unknown4;
488 #ifndef USE_UINT_ENUMS
492 NETR_DELTA_DELETE_GROUP=3,
493 NETR_DELTA_RENAME_GROUP=4,
495 NETR_DELTA_DELETE_USER=6,
496 NETR_DELTA_RENAME_USER=7,
497 NETR_DELTA_GROUP_MEMBER=8,
499 NETR_DELTA_DELETE_ALIAS=10,
500 NETR_DELTA_RENAME_ALIAS=11,
501 NETR_DELTA_ALIAS_MEMBER=12,
502 NETR_DELTA_POLICY=13,
503 NETR_DELTA_TRUSTED_DOMAIN=14,
504 NETR_DELTA_DELETE_TRUST=15,
505 NETR_DELTA_ACCOUNT=16,
506 NETR_DELTA_DELETE_ACCOUNT=17,
507 NETR_DELTA_SECRET=18,
508 NETR_DELTA_DELETE_SECRET=19,
509 NETR_DELTA_DELETE_GROUP2=20,
510 NETR_DELTA_DELETE_USER2=21,
511 NETR_DELTA_MODIFY_COUNT=22
514 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
515 #define NETR_DELTA_DOMAIN ( 1 )
516 #define NETR_DELTA_GROUP ( 2 )
517 #define NETR_DELTA_DELETE_GROUP ( 3 )
518 #define NETR_DELTA_RENAME_GROUP ( 4 )
519 #define NETR_DELTA_USER ( 5 )
520 #define NETR_DELTA_DELETE_USER ( 6 )
521 #define NETR_DELTA_RENAME_USER ( 7 )
522 #define NETR_DELTA_GROUP_MEMBER ( 8 )
523 #define NETR_DELTA_ALIAS ( 9 )
524 #define NETR_DELTA_DELETE_ALIAS ( 10 )
525 #define NETR_DELTA_RENAME_ALIAS ( 11 )
526 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
527 #define NETR_DELTA_POLICY ( 13 )
528 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
529 #define NETR_DELTA_DELETE_TRUST ( 15 )
530 #define NETR_DELTA_ACCOUNT ( 16 )
531 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
532 #define NETR_DELTA_SECRET ( 18 )
533 #define NETR_DELTA_DELETE_SECRET ( 19 )
534 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
535 #define NETR_DELTA_DELETE_USER2 ( 21 )
536 #define NETR_DELTA_MODIFY_COUNT ( 22 )
540 union netr_DELTA_UNION {
541 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
542 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
543 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
544 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
545 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
546 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
547 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
548 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
549 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
550 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
551 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
552 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
553 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
554 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
555 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
556 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
557 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
558 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
559 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
560 }/* [switch_type(netr_DeltaEnum)] */;
562 union netr_DELTA_ID_UNION {
563 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
564 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
565 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
566 }/* [switch_type(netr_DeltaEnum)] */;
568 struct netr_DELTA_ENUM {
569 enum netr_DeltaEnum delta_type;
570 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
571 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
574 struct netr_DELTA_ENUM_ARRAY {
576 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
579 struct netr_UAS_INFO_0 {
580 uint8_t computer_name[16];
581 uint32_t timecreated;
582 uint32_t serial_number;
583 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
585 struct netr_AccountBuffer {
586 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
589 /* bitmap netr_InfoFlags */
590 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
591 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
592 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
594 struct netr_NETLOGON_INFO_1 {
596 uint32_t pdc_connection_status;
599 struct netr_NETLOGON_INFO_2 {
601 uint32_t pdc_connection_status;
602 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
603 uint32_t tc_connection_status;
606 struct netr_NETLOGON_INFO_3 {
608 uint32_t logon_attempts;
616 union netr_CONTROL_QUERY_INFORMATION {
617 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
618 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
619 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
622 enum netr_LogonControlCode
623 #ifndef USE_UINT_ENUMS
625 NETLOGON_CONTROL_SYNC=2,
626 NETLOGON_CONTROL_REDISCOVER=5,
627 NETLOGON_CONTROL_TC_QUERY=6,
628 NETLOGON_CONTROL_TRANSPORT_NOTIFY=7,
629 NETLOGON_CONTROL_SET_DBFLAG=65534
632 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
633 #define NETLOGON_CONTROL_SYNC ( 2 )
634 #define NETLOGON_CONTROL_REDISCOVER ( 5 )
635 #define NETLOGON_CONTROL_TC_QUERY ( 6 )
636 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 7 )
637 #define NETLOGON_CONTROL_SET_DBFLAG ( 65534 )
641 union netr_CONTROL_DATA_INFORMATION {
642 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
643 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
648 uint8_t *data;/* [unique,size_is(length)] */
651 /* bitmap netr_DsRGetDCName_flags */
652 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
653 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
654 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
655 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
656 #define DS_PDC_REQUIRED ( 0x00000080 )
657 #define DS_BACKGROUND_ONLY ( 0x00000100 )
658 #define DS_IP_REQUIRED ( 0x00000200 )
659 #define DS_KDC_REQUIRED ( 0x00000400 )
660 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
661 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
662 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
663 #define DS_AVOID_SELF ( 0x00004000 )
664 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
665 #define DS_IS_FLAT_NAME ( 0x00010000 )
666 #define DS_IS_DNS_NAME ( 0x00020000 )
667 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
668 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
669 #define DS_RETURN_DNS_NAME ( 0x40000000 )
670 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
672 enum netr_DsRGetDCNameInfo_AddressType
673 #ifndef USE_UINT_ENUMS
675 DS_ADDRESS_TYPE_INET=1,
676 DS_ADDRESS_TYPE_NETBIOS=2
679 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
680 #define DS_ADDRESS_TYPE_INET ( 1 )
681 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
685 /* bitmap netr_DsR_DcFlags */
686 #define DS_SERVER_PDC ( 0x00000001 )
687 #define DS_SERVER_GC ( 0x00000004 )
688 #define DS_SERVER_LDAP ( 0x00000008 )
689 #define DS_SERVER_DS ( 0x00000010 )
690 #define DS_SERVER_KDC ( 0x00000020 )
691 #define DS_SERVER_TIMESERV ( 0x00000040 )
692 #define DS_SERVER_CLOSEST ( 0x00000080 )
693 #define DS_SERVER_WRITABLE ( 0x00000100 )
694 #define DS_SERVER_GOOD_TIMESERV ( 0x00000200 )
695 #define DS_SERVER_NDNC ( 0x00000400 )
696 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( 0x00000800 )
697 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( 0x00001000 )
698 #define DS_DNS_CONTROLLER ( 0x20000000 )
699 #define DS_DNS_DOMAIN ( 0x40000000 )
700 #define DS_DNS_FOREST ( 0x80000000 )
702 struct netr_DsRGetDCNameInfo {
703 const char *dc_unc;/* [unique,charset(UTF16)] */
704 const char *dc_address;/* [unique,charset(UTF16)] */
705 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
706 struct GUID domain_guid;
707 const char *domain_name;/* [unique,charset(UTF16)] */
708 const char *forest_name;/* [unique,charset(UTF16)] */
710 const char *dc_site_name;/* [unique,charset(UTF16)] */
711 const char *client_site_name;/* [unique,charset(UTF16)] */
714 struct netr_BinaryString {
717 uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
718 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
720 struct netr_DomainQuery1 {
721 struct netr_Blob blob;
722 const char *workstation_domain;/* [unique,charset(UTF16)] */
723 const char *workstation_site;/* [unique,charset(UTF16)] */
724 const char *unknown1;/* [unique,charset(UTF16)] */
725 const char *unknown2;/* [unique,charset(UTF16)] */
726 const char *unknown3;/* [unique,charset(UTF16)] */
727 const char *unknown4;/* [unique,charset(UTF16)] */
728 struct netr_BinaryString blob2;
729 struct lsa_String product;
730 struct lsa_String unknown5;
731 struct lsa_String unknown6;
732 uint32_t unknown7[4];
735 union netr_DomainQuery {
736 struct netr_DomainQuery1 *query1;/* [unique,case] */
739 struct netr_DomainTrustInfo {
740 struct lsa_String domainname;
741 struct lsa_String fulldomainname;
742 struct lsa_String forest;
744 struct dom_sid2 *sid;/* [unique] */
745 struct netr_BinaryString unknown1[4];
749 struct netr_DomainInfo1 {
750 struct netr_DomainTrustInfo domaininfo;
752 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
753 uint32_t unknown[14];
756 union netr_DomainInfo {
757 struct netr_DomainInfo1 *info1;/* [unique,case] */
760 struct netr_CryptPassword {
763 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
765 struct netr_DsRAddressToSitenamesWCtr {
767 struct lsa_String *sitename;/* [unique,size_is(count)] */
770 struct netr_DsRAddress {
771 uint8_t *buffer;/* [unique,size_is(size)] */
775 /* bitmap netr_TrustFlags */
776 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
777 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
778 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
779 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
780 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
781 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
784 #ifndef USE_UINT_ENUMS
786 NETR_TRUST_TYPE_DOWNLEVEL=1,
787 NETR_TRUST_TYPE_UPLEVEL=2,
788 NETR_TRUST_TYPE_MIT=3,
789 NETR_TRUST_TYPE_DCE=4
792 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
793 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
794 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
795 #define NETR_TRUST_TYPE_MIT ( 3 )
796 #define NETR_TRUST_TYPE_DCE ( 4 )
800 /* bitmap netr_TrustAttributes */
801 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
802 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
803 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
804 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
805 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
806 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
807 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
809 struct netr_DomainTrust {
810 const char *netbios_name;/* [unique,charset(UTF16)] */
811 const char *dns_name;/* [unique,charset(UTF16)] */
812 uint32_t trust_flags;
813 uint32_t parent_index;
814 enum netr_TrustType trust_type;
815 uint32_t trust_attributes;
816 struct dom_sid2 *sid;/* [unique] */
820 struct netr_DomainTrustList {
822 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
825 struct netr_DsRAddressToSitenamesExWCtr {
827 struct lsa_String *sitename;/* [unique,size_is(count)] */
828 struct lsa_String *subnetname;/* [unique,size_is(count)] */
833 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
837 struct netr_LogonUasLogon {
839 const char *server_name;/* [unique,charset(UTF16)] */
840 const char *account_name;/* [charset(UTF16)] */
841 const char *workstation;/* [charset(UTF16)] */
845 struct netr_UasInfo *info;/* [ref] */
852 struct netr_LogonUasLogoff {
854 const char *server_name;/* [unique,charset(UTF16)] */
855 const char *account_name;/* [charset(UTF16)] */
856 const char *workstation;/* [charset(UTF16)] */
860 struct netr_UasLogoffInfo *info;/* [ref] */
867 struct netr_LogonSamLogon {
869 const char *server_name;/* [unique,charset(UTF16)] */
870 const char *computer_name;/* [unique,charset(UTF16)] */
871 struct netr_Authenticator *credential;/* [unique] */
872 enum netr_LogonLevel logon_level;
873 union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
874 uint16_t validation_level;
875 struct netr_Authenticator *return_authenticator;/* [unique] */
879 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
880 uint8_t *authoritative;/* [ref] */
881 struct netr_Authenticator *return_authenticator;/* [unique] */
888 struct netr_LogonSamLogoff {
890 const char *server_name;/* [unique,charset(UTF16)] */
891 const char *computer_name;/* [unique,charset(UTF16)] */
892 struct netr_Authenticator *credential;/* [unique] */
893 enum netr_LogonLevel logon_level;
894 union netr_LogonInfo logon;/* [switch_is(logon_level)] */
895 struct netr_Authenticator *return_authenticator;/* [unique] */
899 struct netr_Authenticator *return_authenticator;/* [unique] */
906 struct netr_ServerReqChallenge {
908 const char *server_name;/* [unique,charset(UTF16)] */
909 const char *computer_name;/* [charset(UTF16)] */
910 struct netr_Credential *credentials;/* [ref] */
914 struct netr_Credential *return_credentials;/* [ref] */
921 struct netr_ServerAuthenticate {
923 const char *server_name;/* [unique,charset(UTF16)] */
924 const char *account_name;/* [charset(UTF16)] */
925 enum netr_SchannelType secure_channel_type;
926 const char *computer_name;/* [charset(UTF16)] */
927 struct netr_Credential *credentials;/* [ref] */
931 struct netr_Credential *return_credentials;/* [ref] */
938 struct netr_ServerPasswordSet {
940 const char *server_name;/* [unique,charset(UTF16)] */
941 const char *account_name;/* [charset(UTF16)] */
942 enum netr_SchannelType secure_channel_type;
943 const char *computer_name;/* [charset(UTF16)] */
944 struct netr_Authenticator *credential;/* [ref] */
945 struct samr_Password *new_password;/* [ref] */
949 struct netr_Authenticator *return_authenticator;/* [ref] */
956 struct netr_DatabaseDeltas {
958 const char *logon_server;/* [charset(UTF16)] */
959 const char *computername;/* [charset(UTF16)] */
960 struct netr_Authenticator *credential;/* [ref] */
961 enum netr_SamDatabaseID database_id;
962 uint32_t preferredmaximumlength;
963 struct netr_Authenticator *return_authenticator;/* [ref] */
964 uint64_t *sequence_num;/* [ref] */
968 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
969 struct netr_Authenticator *return_authenticator;/* [ref] */
970 uint64_t *sequence_num;/* [ref] */
977 struct netr_DatabaseSync {
979 const char *logon_server;/* [charset(UTF16)] */
980 const char *computername;/* [charset(UTF16)] */
981 struct netr_Authenticator credential;
982 enum netr_SamDatabaseID database_id;
983 uint32_t preferredmaximumlength;
984 struct netr_Authenticator *return_authenticator;/* [ref] */
985 uint32_t *sync_context;/* [ref] */
989 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */
990 struct netr_Authenticator *return_authenticator;/* [ref] */
991 uint32_t *sync_context;/* [ref] */
998 struct netr_AccountDeltas {
1000 const char *logon_server;/* [unique,charset(UTF16)] */
1001 const char *computername;/* [charset(UTF16)] */
1002 struct netr_Authenticator credential;
1003 struct netr_UAS_INFO_0 uas;
1006 uint32_t buffersize;
1007 struct netr_Authenticator *return_authenticator;/* [ref] */
1011 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1012 uint32_t *count_returned;/* [ref] */
1013 uint32_t *total_entries;/* [ref] */
1014 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1015 struct netr_Authenticator *return_authenticator;/* [ref] */
1022 struct netr_AccountSync {
1024 const char *logon_server;/* [unique,charset(UTF16)] */
1025 const char *computername;/* [charset(UTF16)] */
1026 struct netr_Authenticator credential;
1029 uint32_t buffersize;
1030 struct netr_Authenticator *return_authenticator;/* [ref] */
1031 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1035 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1036 uint32_t *count_returned;/* [ref] */
1037 uint32_t *total_entries;/* [ref] */
1038 uint32_t *next_reference;/* [ref] */
1039 struct netr_Authenticator *return_authenticator;/* [ref] */
1040 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1047 struct netr_GetDcName {
1049 const char *logon_server;/* [charset(UTF16)] */
1050 const char *domainname;/* [unique,charset(UTF16)] */
1054 const char **dcname;/* [ref,charset(UTF16)] */
1061 struct netr_LogonControl {
1063 const char *logon_server;/* [unique,charset(UTF16)] */
1064 enum netr_LogonControlCode function_code;
1069 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1076 struct netr_GetAnyDCName {
1078 const char *logon_server;/* [unique,charset(UTF16)] */
1079 const char *domainname;/* [unique,charset(UTF16)] */
1083 const char **dcname;/* [ref,charset(UTF16)] */
1090 struct netr_LogonControl2 {
1092 const char *logon_server;/* [unique,charset(UTF16)] */
1093 enum netr_LogonControlCode function_code;
1095 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1099 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1106 struct netr_ServerAuthenticate2 {
1108 const char *server_name;/* [unique,charset(UTF16)] */
1109 const char *account_name;/* [charset(UTF16)] */
1110 enum netr_SchannelType secure_channel_type;
1111 const char *computer_name;/* [charset(UTF16)] */
1112 struct netr_Credential *credentials;/* [ref] */
1113 uint32_t *negotiate_flags;/* [ref] */
1117 struct netr_Credential *return_credentials;/* [ref] */
1118 uint32_t *negotiate_flags;/* [ref] */
1125 struct netr_DatabaseSync2 {
1127 const char *logon_server;/* [charset(UTF16)] */
1128 const char *computername;/* [charset(UTF16)] */
1129 struct netr_Authenticator *credential;/* [ref] */
1130 enum netr_SamDatabaseID database_id;
1131 uint16_t restart_state;
1132 uint32_t preferredmaximumlength;
1133 struct netr_Authenticator *return_authenticator;/* [ref] */
1134 uint32_t *sync_context;/* [ref] */
1138 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1139 struct netr_Authenticator *return_authenticator;/* [ref] */
1140 uint32_t *sync_context;/* [ref] */
1147 struct netr_DatabaseRedo {
1149 const char *logon_server;/* [charset(UTF16)] */
1150 const char *computername;/* [charset(UTF16)] */
1151 struct netr_Authenticator credential;
1152 uint8_t *change_log_entry;/* [unique,size_is(change_log_entry_size)] */
1153 uint32_t change_log_entry_size;
1154 struct netr_Authenticator *return_authenticator;/* [ref] */
1158 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */
1159 struct netr_Authenticator *return_authenticator;/* [ref] */
1166 struct netr_LogonControl2Ex {
1168 const char *logon_server;/* [unique,charset(UTF16)] */
1169 uint32_t function_code;
1171 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
1175 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1182 struct netr_NetrEnumerateTrustedDomains {
1184 const char *server_name;/* [unique,charset(UTF16)] */
1188 struct netr_Blob *trusted_domains_blob;/* [ref] */
1195 struct netr_DsRGetDCName {
1197 const char *server_unc;/* [unique,charset(UTF16)] */
1198 const char *domain_name;/* [unique,charset(UTF16)] */
1199 struct GUID *domain_guid;/* [unique] */
1200 struct GUID *site_guid;/* [unique] */
1205 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1212 struct netr_NETRLOGONDUMMYROUTINE1 {
1220 struct netr_NETRLOGONSETSERVICEBITS {
1228 struct netr_LogonGetTrustRid {
1230 const char *server_name;/* [unique,charset(UTF16)] */
1231 const char *domain_name;/* [unique,charset(UTF16)] */
1235 uint32_t *rid;/* [ref] */
1242 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1250 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1258 struct netr_ServerAuthenticate3 {
1260 const char *server_name;/* [unique,charset(UTF16)] */
1261 const char *account_name;/* [charset(UTF16)] */
1262 enum netr_SchannelType secure_channel_type;
1263 const char *computer_name;/* [charset(UTF16)] */
1264 struct netr_Credential *credentials;/* [ref] */
1265 uint32_t *negotiate_flags;/* [ref] */
1269 uint32_t *rid;/* [ref] */
1270 struct netr_Credential *credentials;/* [ref] */
1271 uint32_t *negotiate_flags;/* [ref] */
1278 struct netr_DsRGetDCNameEx {
1280 const char *server_unc;/* [unique,charset(UTF16)] */
1281 const char *domain_name;/* [unique,charset(UTF16)] */
1282 struct GUID *domain_guid;/* [unique] */
1283 const char *site_name;/* [unique,charset(UTF16)] */
1288 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1295 struct netr_DsRGetSiteName {
1297 const char *computer_name;/* [unique,charset(UTF16)] */
1301 const char **site;/* [ref,charset(UTF16)] */
1308 struct netr_LogonGetDomainInfo {
1310 const char *server_name;/* [charset(UTF16)] */
1311 const char *computer_name;/* [unique,charset(UTF16)] */
1312 struct netr_Authenticator *credential;/* [ref] */
1314 union netr_DomainQuery query;/* [switch_is(level)] */
1315 struct netr_Authenticator *return_authenticator;/* [ref] */
1319 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1320 struct netr_Authenticator *return_authenticator;/* [ref] */
1327 struct netr_ServerPasswordSet2 {
1329 const char *server_name;/* [unique,charset(UTF16)] */
1330 const char *account_name;/* [charset(UTF16)] */
1331 enum netr_SchannelType secure_channel_type;
1332 const char *computer_name;/* [charset(UTF16)] */
1333 struct netr_Authenticator credential;
1334 struct netr_CryptPassword new_password;
1338 struct netr_Authenticator *return_authenticator;/* [ref] */
1345 struct netr_ServerPasswordGet {
1347 const char *server_name;/* [unique,charset(UTF16)] */
1348 const char *account_name;/* [charset(UTF16)] */
1349 enum netr_SchannelType secure_channel_type;
1350 const char *computer_name;/* [charset(UTF16)] */
1351 struct netr_Authenticator *credential;/* [ref] */
1355 struct netr_Authenticator *return_authenticator;/* [ref] */
1356 struct samr_Password *password;/* [ref] */
1363 struct netr_NETRLOGONSENDTOSAM {
1371 struct netr_DsRAddressToSitenamesW {
1373 const char *server_name;/* [unique,charset(UTF16)] */
1374 uint32_t count;/* [range(0,32000)] */
1375 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1379 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1386 struct netr_DsRGetDCNameEx2 {
1388 const char *server_unc;/* [unique,charset(UTF16)] */
1389 const char *client_account;/* [unique,charset(UTF16)] */
1391 const char *domain_name;/* [unique,charset(UTF16)] */
1392 struct GUID *domain_guid;/* [unique] */
1393 const char *site_name;/* [unique,charset(UTF16)] */
1398 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1405 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1413 struct netr_NetrEnumerateTrustedDomainsEx {
1415 const char *server_name;/* [unique,charset(UTF16)] */
1419 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1426 struct netr_DsRAddressToSitenamesExW {
1428 const char *server_name;/* [unique,charset(UTF16)] */
1429 uint32_t count;/* [range(0,32000)] */
1430 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1434 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1441 struct netr_DsrGetDcSiteCoverageW {
1443 const char *server_name;/* [unique,charset(UTF16)] */
1447 struct DcSitesCtr *ctr;/* [ref] */
1454 struct netr_LogonSamLogonEx {
1456 const char *server_name;/* [unique,charset(UTF16)] */
1457 const char *computer_name;/* [unique,charset(UTF16)] */
1458 enum netr_LogonLevel logon_level;
1459 union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
1460 uint16_t validation_level;
1461 uint32_t *flags;/* [ref] */
1465 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1466 uint8_t *authoritative;/* [ref] */
1467 uint32_t *flags;/* [ref] */
1474 struct netr_DsrEnumerateDomainTrusts {
1476 const char *server_name;/* [unique,charset(UTF16)] */
1477 uint32_t trust_flags;
1481 struct netr_DomainTrustList *trusts;/* [ref] */
1488 struct netr_DsrDeregisterDNSHostRecords {
1490 const char *server_name;/* [unique,charset(UTF16)] */
1491 const char *domain;/* [unique,charset(UTF16)] */
1492 struct GUID *domain_guid;/* [unique] */
1493 struct GUID *dsa_guid;/* [unique] */
1494 const char *dns_host;/* [ref,charset(UTF16)] */
1504 struct netr_ServerTrustPasswordsGet {
1506 const char *server_name;/* [unique,charset(UTF16)] */
1507 const char *account_name;/* [charset(UTF16)] */
1508 enum netr_SchannelType secure_channel_type;
1509 const char *computer_name;/* [charset(UTF16)] */
1510 struct netr_Authenticator *credential;/* [ref] */
1514 struct netr_Authenticator *return_authenticator;/* [ref] */
1515 struct samr_Password *password;/* [ref] */
1516 struct samr_Password *password2;/* [ref] */
1523 struct netr_DsRGetForestTrustInformation {
1525 const char *server_name;/* [unique,charset(UTF16)] */
1526 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1531 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1538 struct netr_GetForestTrustInformation {
1540 const char *server_name;/* [unique,charset(UTF16)] */
1541 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1542 struct netr_Authenticator *credential;/* [ref] */
1547 struct netr_Authenticator *return_authenticator;/* [ref] */
1548 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1555 struct netr_LogonSamLogonWithFlags {
1557 const char *server_name;/* [unique,charset(UTF16)] */
1558 const char *computer_name;/* [unique,charset(UTF16)] */
1559 struct netr_Authenticator *credential;/* [unique] */
1560 enum netr_LogonLevel logon_level;
1561 union netr_LogonInfo logon;/* [switch_is(logon_level)] */
1562 uint16_t validation_level;
1563 struct netr_Authenticator *return_authenticator;/* [unique] */
1564 uint32_t *flags;/* [ref] */
1568 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1569 uint8_t *authoritative;/* [ref] */
1570 struct netr_Authenticator *return_authenticator;/* [unique] */
1571 uint32_t *flags;/* [ref] */
1578 struct netr_NETRSERVERGETTRUSTINFO {
1585 #endif /* _HEADER_netlogon */