librpc: rerun 'PIDL=pidl/pidl make idl'
[Samba/bb.git] / source / librpc / gen_ndr / netlogon.h
blob3db207f8bbb986f1399ca18d07fa0a59cd28a8dc
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "librpc/gen_ndr/lsa.h"
6 #include "librpc/gen_ndr/samr.h"
7 #include "librpc/gen_ndr/security.h"
8 #include "librpc/gen_ndr/nbt.h"
9 #define netr_DeltaEnum8Bit netr_DeltaEnum
10 #ifndef _HEADER_netlogon
11 #define _HEADER_netlogon
13 #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) )
14 #define DS_GFTI_UPDATE_TDO ( 0x1 )
15 enum netr_DeltaEnum8Bit;
17 struct netr_UasInfo {
18 const char *account_name;/* [unique,charset(UTF16)] */
19 uint32_t priv;
20 uint32_t auth_flags;
21 uint32_t logon_count;
22 uint32_t bad_pw_count;
23 time_t last_logon;
24 time_t last_logoff;
25 time_t logoff_time;
26 time_t kickoff_time;
27 uint32_t password_age;
28 time_t pw_can_change;
29 time_t pw_must_change;
30 const char *computer;/* [unique,charset(UTF16)] */
31 const char *domain;/* [unique,charset(UTF16)] */
32 const char *script_path;/* [unique,charset(UTF16)] */
33 uint32_t unknown;
36 struct netr_UasLogoffInfo {
37 uint32_t duration;
38 uint16_t logon_count;
41 struct netr_AcctLockStr {
42 int64_t lockout_duration;
43 uint64_t reset_count;
44 uint32_t bad_attempt_lockout;
45 uint32_t dummy;
46 }/* [public] */;
48 /* bitmap netr_LogonParameterControl */
49 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
50 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
51 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
52 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
53 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
54 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
56 struct netr_IdentityInfo {
57 struct lsa_String domain_name;
58 uint32_t parameter_control;
59 uint32_t logon_id_low;
60 uint32_t logon_id_high;
61 struct lsa_String account_name;
62 struct lsa_String workstation;
65 struct netr_PasswordInfo {
66 struct netr_IdentityInfo identity_info;
67 struct samr_Password lmpassword;
68 struct samr_Password ntpassword;
71 struct netr_ChallengeResponse {
72 uint16_t length;
73 uint16_t size;/* [value(length)] */
74 uint8_t *data;/* [unique,length_is(length),size_is(length)] */
75 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
77 struct netr_NetworkInfo {
78 struct netr_IdentityInfo identity_info;
79 uint8_t challenge[8];
80 struct netr_ChallengeResponse nt;
81 struct netr_ChallengeResponse lm;
82 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
84 union netr_LogonInfo {
85 struct netr_PasswordInfo *password;/* [unique,case] */
86 struct netr_NetworkInfo *network;/* [unique,case(2)] */
87 }/* [public,switch_type(uint16)] */;
89 struct netr_UserSessionKey {
90 uint8_t key[16];
91 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
93 struct netr_LMSessionKey {
94 uint8_t key[8];
95 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
97 /* bitmap netr_UserFlags */
98 #define NETLOGON_GUEST ( 0x00000001 )
99 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
100 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
101 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
102 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
103 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
104 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
105 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
106 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
107 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
108 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
110 struct netr_SamBaseInfo {
111 NTTIME last_logon;
112 NTTIME last_logoff;
113 NTTIME acct_expiry;
114 NTTIME last_password_change;
115 NTTIME allow_password_change;
116 NTTIME force_password_change;
117 struct lsa_String account_name;
118 struct lsa_String full_name;
119 struct lsa_String logon_script;
120 struct lsa_String profile_path;
121 struct lsa_String home_directory;
122 struct lsa_String home_drive;
123 uint16_t logon_count;
124 uint16_t bad_password_count;
125 uint32_t rid;
126 uint32_t primary_gid;
127 struct samr_RidWithAttributeArray groups;
128 uint32_t user_flags;
129 struct netr_UserSessionKey key;
130 struct lsa_StringLarge logon_server;
131 struct lsa_StringLarge domain;
132 struct dom_sid2 *domain_sid;/* [unique] */
133 struct netr_LMSessionKey LMSessKey;
134 uint32_t acct_flags;
135 uint32_t unknown[7];
138 struct netr_SamInfo2 {
139 struct netr_SamBaseInfo base;
142 struct netr_SidAttr {
143 struct dom_sid2 *sid;/* [unique] */
144 uint32_t attributes;
147 struct netr_SamInfo3 {
148 struct netr_SamBaseInfo base;
149 uint32_t sidcount;
150 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
151 }/* [public] */;
153 struct netr_SamInfo6 {
154 struct netr_SamBaseInfo base;
155 uint32_t sidcount;
156 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
157 struct lsa_String forest;
158 struct lsa_String principle;
159 uint32_t unknown4[20];
162 struct netr_PacInfo {
163 uint32_t pac_size;
164 uint8_t *pac;/* [unique,size_is(pac_size)] */
165 struct lsa_String logon_domain;
166 struct lsa_String logon_server;
167 struct lsa_String principal_name;
168 uint32_t auth_size;
169 uint8_t *auth;/* [unique,size_is(auth_size)] */
170 struct netr_UserSessionKey user_session_key;
171 uint32_t expansionroom[10];
172 struct lsa_String unknown1;
173 struct lsa_String unknown2;
174 struct lsa_String unknown3;
175 struct lsa_String unknown4;
178 union netr_Validation {
179 struct netr_SamInfo2 *sam2;/* [unique,case(2)] */
180 struct netr_SamInfo3 *sam3;/* [unique,case(3)] */
181 struct netr_PacInfo *pac;/* [unique,case(4)] */
182 struct netr_SamInfo6 *sam6;/* [unique,case(6)] */
183 }/* [public,switch_type(uint16)] */;
185 struct netr_Credential {
186 uint8_t data[8];
187 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
189 struct netr_Authenticator {
190 struct netr_Credential cred;
191 time_t timestamp;
192 }/* [public] */;
194 enum netr_LogonLevel
195 #ifndef USE_UINT_ENUMS
197 INTERACTIVE_LOGON_TYPE=1,
198 NET_LOGON_TYPE=2
200 #else
201 { __donnot_use_enum_netr_LogonLevel=0x7FFFFFFF}
202 #define INTERACTIVE_LOGON_TYPE ( 1 )
203 #define NET_LOGON_TYPE ( 2 )
204 #endif
207 enum netr_SchannelType;
209 enum netr_SamDatabaseID;
211 struct netr_DELTA_DELETE_USER {
212 const char *account_name;/* [unique,charset(UTF16)] */
213 struct lsa_String unknown1;
214 struct lsa_String unknown2;
215 struct lsa_String unknown3;
216 struct lsa_String unknown4;
217 uint32_t unknown5;
218 uint32_t unknown6;
219 uint32_t unknown7;
220 uint32_t unknown8;
223 struct netr_USER_KEY16 {
224 uint16_t length;
225 uint16_t size;/* [value(length)] */
226 uint32_t flags;
227 struct samr_Password pwd;
230 struct netr_PasswordHistory {
231 uint16_t nt_length;
232 uint16_t nt_size;/* [value(nt_length)] */
233 uint32_t nt_flags;
234 uint16_t lm_length;
235 uint16_t lm_size;/* [value(lm_length)] */
236 uint32_t lm_flags;
237 uint8_t *nt_history;
238 uint8_t *lm_history;
241 struct netr_USER_KEYS2 {
242 struct netr_USER_KEY16 lmpassword;
243 struct netr_USER_KEY16 ntpassword;
244 struct netr_PasswordHistory history;
247 struct netr_USER_KEY_UNION {
248 struct netr_USER_KEYS2 keys2;
251 struct netr_USER_KEYS {
252 uint32_t version;
253 struct netr_USER_KEY_UNION keys;
254 }/* [public] */;
256 struct netr_USER_PRIVATE_INFO {
257 uint8_t SensitiveDataFlag;
258 uint32_t DataLength;
259 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
262 struct netr_DELTA_USER {
263 struct lsa_String account_name;
264 struct lsa_String full_name;
265 uint32_t rid;
266 uint32_t primary_gid;
267 struct lsa_String home_directory;
268 struct lsa_String home_drive;
269 struct lsa_String logon_script;
270 struct lsa_String description;
271 struct lsa_String workstations;
272 NTTIME last_logon;
273 NTTIME last_logoff;
274 struct samr_LogonHours logon_hours;
275 uint16_t bad_password_count;
276 uint16_t logon_count;
277 NTTIME last_password_change;
278 NTTIME acct_expiry;
279 uint32_t acct_flags;
280 struct samr_Password lmpassword;
281 struct samr_Password ntpassword;
282 uint8_t nt_password_present;
283 uint8_t lm_password_present;
284 uint8_t password_expired;
285 struct lsa_String comment;
286 struct lsa_BinaryString parameters;
287 uint16_t country_code;
288 uint16_t code_page;
289 struct netr_USER_PRIVATE_INFO user_private_info;
290 uint32_t SecurityInformation;
291 struct sec_desc_buf sdbuf;
292 struct lsa_String profile_path;
293 struct lsa_String unknown2;
294 struct lsa_String unknown3;
295 struct lsa_String unknown4;
296 uint32_t unknown5;
297 uint32_t unknown6;
298 uint32_t unknown7;
299 uint32_t unknown8;
302 struct netr_DELTA_DOMAIN {
303 struct lsa_String domain_name;
304 struct lsa_String comment;
305 int64_t force_logoff_time;
306 uint16_t min_password_length;
307 uint16_t password_history_length;
308 int64_t max_password_age;
309 int64_t min_password_age;
310 uint64_t sequence_num;
311 NTTIME domain_create_time;
312 uint32_t SecurityInformation;
313 struct sec_desc_buf sdbuf;
314 struct lsa_BinaryString account_lockout;
315 struct lsa_String unknown2;
316 struct lsa_String unknown3;
317 struct lsa_String unknown4;
318 uint32_t logon_to_chgpass;
319 uint32_t unknown6;
320 uint32_t unknown7;
321 uint32_t unknown8;
324 struct netr_DELTA_GROUP {
325 struct lsa_String group_name;
326 uint32_t rid;
327 uint32_t attributes;
328 struct lsa_String description;
329 uint32_t SecurityInformation;
330 struct sec_desc_buf sdbuf;
331 struct lsa_String unknown1;
332 struct lsa_String unknown2;
333 struct lsa_String unknown3;
334 struct lsa_String unknown4;
335 uint32_t unknown5;
336 uint32_t unknown6;
337 uint32_t unknown7;
338 uint32_t unknown8;
341 struct netr_DELTA_RENAME {
342 struct lsa_String OldName;
343 struct lsa_String NewName;
344 struct lsa_String unknown1;
345 struct lsa_String unknown2;
346 struct lsa_String unknown3;
347 struct lsa_String unknown4;
348 uint32_t unknown5;
349 uint32_t unknown6;
350 uint32_t unknown7;
351 uint32_t unknown8;
354 struct netr_DELTA_GROUP_MEMBER {
355 uint32_t *rids;/* [unique,size_is(num_rids)] */
356 uint32_t *attribs;/* [unique,size_is(num_rids)] */
357 uint32_t num_rids;
358 uint32_t unknown1;
359 uint32_t unknown2;
360 uint32_t unknown3;
361 uint32_t unknown4;
364 struct netr_DELTA_ALIAS {
365 struct lsa_String alias_name;
366 uint32_t rid;
367 uint32_t SecurityInformation;
368 struct sec_desc_buf sdbuf;
369 struct lsa_String description;
370 struct lsa_String unknown2;
371 struct lsa_String unknown3;
372 struct lsa_String unknown4;
373 uint32_t unknown5;
374 uint32_t unknown6;
375 uint32_t unknown7;
376 uint32_t unknown8;
379 struct netr_DELTA_ALIAS_MEMBER {
380 struct lsa_SidArray sids;
381 uint32_t unknown1;
382 uint32_t unknown2;
383 uint32_t unknown3;
384 uint32_t unknown4;
387 struct netr_QUOTA_LIMITS {
388 uint32_t pagedpoollimit;
389 uint32_t nonpagedpoollimit;
390 uint32_t minimumworkingsetsize;
391 uint32_t maximumworkingsetsize;
392 uint32_t pagefilelimit;
393 NTTIME timelimit;
396 struct netr_DELTA_POLICY {
397 uint32_t maxlogsize;
398 NTTIME auditretentionperiod;
399 uint8_t auditingmode;
400 uint32_t maxauditeventcount;
401 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
402 struct lsa_String primary_domain_name;
403 struct dom_sid2 *sid;/* [unique] */
404 struct netr_QUOTA_LIMITS quota_limits;
405 uint64_t sequence_num;
406 NTTIME db_create_time;
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 unknown5;
414 uint32_t unknown6;
415 uint32_t unknown7;
416 uint32_t unknown8;
419 struct netr_DELTA_TRUSTED_DOMAIN {
420 struct lsa_String domain_name;
421 uint32_t num_controllers;
422 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
423 uint32_t SecurityInformation;
424 struct sec_desc_buf sdbuf;
425 struct lsa_String unknown1;
426 struct lsa_String unknown2;
427 struct lsa_String unknown3;
428 struct lsa_String unknown4;
429 uint32_t posix_offset;
430 uint32_t unknown6;
431 uint32_t unknown7;
432 uint32_t unknown8;
435 struct netr_DELTA_DELETE_TRUST {
436 uint16_t unknown;
439 struct netr_DELTA_ACCOUNT {
440 uint32_t privilege_entries;
441 uint32_t privilege_control;
442 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
443 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
444 struct netr_QUOTA_LIMITS quotalimits;
445 uint32_t system_flags;
446 uint32_t SecurityInformation;
447 struct sec_desc_buf sdbuf;
448 struct lsa_String unknown1;
449 struct lsa_String unknown2;
450 struct lsa_String unknown3;
451 struct lsa_String unknown4;
452 uint32_t unknown5;
453 uint32_t unknown6;
454 uint32_t unknown7;
455 uint32_t unknown8;
458 struct netr_DELTA_DELETE_ACCOUNT {
459 uint16_t unknown;
462 struct netr_DELTA_DELETE_SECRET {
463 uint16_t unknown;
466 struct netr_CIPHER_VALUE {
467 uint32_t len;
468 uint32_t maxlen;
469 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
472 struct netr_DELTA_SECRET {
473 struct netr_CIPHER_VALUE current_cipher;
474 NTTIME current_cipher_set_time;
475 struct netr_CIPHER_VALUE old_cipher;
476 NTTIME old_cipher_set_time;
477 uint32_t SecurityInformation;
478 struct sec_desc_buf sdbuf;
479 struct lsa_String unknown1;
480 struct lsa_String unknown2;
481 struct lsa_String unknown3;
482 struct lsa_String unknown4;
483 uint32_t unknown5;
484 uint32_t unknown6;
485 uint32_t unknown7;
486 uint32_t unknown8;
489 enum netr_DeltaEnum
490 #ifndef USE_UINT_ENUMS
492 NETR_DELTA_DOMAIN=1,
493 NETR_DELTA_GROUP=2,
494 NETR_DELTA_DELETE_GROUP=3,
495 NETR_DELTA_RENAME_GROUP=4,
496 NETR_DELTA_USER=5,
497 NETR_DELTA_DELETE_USER=6,
498 NETR_DELTA_RENAME_USER=7,
499 NETR_DELTA_GROUP_MEMBER=8,
500 NETR_DELTA_ALIAS=9,
501 NETR_DELTA_DELETE_ALIAS=10,
502 NETR_DELTA_RENAME_ALIAS=11,
503 NETR_DELTA_ALIAS_MEMBER=12,
504 NETR_DELTA_POLICY=13,
505 NETR_DELTA_TRUSTED_DOMAIN=14,
506 NETR_DELTA_DELETE_TRUST=15,
507 NETR_DELTA_ACCOUNT=16,
508 NETR_DELTA_DELETE_ACCOUNT=17,
509 NETR_DELTA_SECRET=18,
510 NETR_DELTA_DELETE_SECRET=19,
511 NETR_DELTA_DELETE_GROUP2=20,
512 NETR_DELTA_DELETE_USER2=21,
513 NETR_DELTA_MODIFY_COUNT=22
515 #else
516 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
517 #define NETR_DELTA_DOMAIN ( 1 )
518 #define NETR_DELTA_GROUP ( 2 )
519 #define NETR_DELTA_DELETE_GROUP ( 3 )
520 #define NETR_DELTA_RENAME_GROUP ( 4 )
521 #define NETR_DELTA_USER ( 5 )
522 #define NETR_DELTA_DELETE_USER ( 6 )
523 #define NETR_DELTA_RENAME_USER ( 7 )
524 #define NETR_DELTA_GROUP_MEMBER ( 8 )
525 #define NETR_DELTA_ALIAS ( 9 )
526 #define NETR_DELTA_DELETE_ALIAS ( 10 )
527 #define NETR_DELTA_RENAME_ALIAS ( 11 )
528 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
529 #define NETR_DELTA_POLICY ( 13 )
530 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
531 #define NETR_DELTA_DELETE_TRUST ( 15 )
532 #define NETR_DELTA_ACCOUNT ( 16 )
533 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
534 #define NETR_DELTA_SECRET ( 18 )
535 #define NETR_DELTA_DELETE_SECRET ( 19 )
536 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
537 #define NETR_DELTA_DELETE_USER2 ( 21 )
538 #define NETR_DELTA_MODIFY_COUNT ( 22 )
539 #endif
542 union netr_DELTA_UNION {
543 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
544 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
545 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
546 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
547 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
548 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
549 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
550 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
551 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
552 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
553 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
554 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
555 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
556 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
557 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
558 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
559 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
560 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
561 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
562 }/* [switch_type(netr_DeltaEnum)] */;
564 union netr_DELTA_ID_UNION {
565 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
566 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
567 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
568 }/* [switch_type(netr_DeltaEnum)] */;
570 struct netr_DELTA_ENUM {
571 enum netr_DeltaEnum delta_type;
572 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
573 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
576 struct netr_DELTA_ENUM_ARRAY {
577 uint32_t num_deltas;
578 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
581 struct netr_UAS_INFO_0 {
582 uint8_t computer_name[16];
583 uint32_t timecreated;
584 uint32_t serial_number;
585 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
587 struct netr_AccountBuffer {
588 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
591 /* bitmap netr_InfoFlags */
592 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
593 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
594 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
596 struct netr_NETLOGON_INFO_1 {
597 uint32_t flags;
598 uint32_t pdc_connection_status;
601 struct netr_NETLOGON_INFO_2 {
602 uint32_t flags;
603 uint32_t pdc_connection_status;
604 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
605 uint32_t tc_connection_status;
608 struct netr_NETLOGON_INFO_3 {
609 uint32_t flags;
610 uint32_t logon_attempts;
611 uint32_t unknown1;
612 uint32_t unknown2;
613 uint32_t unknown3;
614 uint32_t unknown4;
615 uint32_t unknown5;
618 union netr_CONTROL_QUERY_INFORMATION {
619 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
620 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
621 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
624 enum netr_LogonControlCode
625 #ifndef USE_UINT_ENUMS
627 NETLOGON_CONTROL_SYNC=2,
628 NETLOGON_CONTROL_REDISCOVER=5,
629 NETLOGON_CONTROL_TC_QUERY=6,
630 NETLOGON_CONTROL_TRANSPORT_NOTIFY=7,
631 NETLOGON_CONTROL_SET_DBFLAG=65534
633 #else
634 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
635 #define NETLOGON_CONTROL_SYNC ( 2 )
636 #define NETLOGON_CONTROL_REDISCOVER ( 5 )
637 #define NETLOGON_CONTROL_TC_QUERY ( 6 )
638 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 7 )
639 #define NETLOGON_CONTROL_SET_DBFLAG ( 65534 )
640 #endif
643 union netr_CONTROL_DATA_INFORMATION {
644 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
645 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
648 /* bitmap netr_NegotiateFlags */
649 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
650 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
651 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
652 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
653 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
654 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
655 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
656 #define NETLOGON_NEG_REDO ( 0x00000080 )
657 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
658 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
659 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
660 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
661 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
662 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
663 #define NETLOGON_NEG_128BIT ( 0x00004000 )
664 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
665 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
666 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
667 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
668 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
669 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
670 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
671 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
672 #define NETLOGON_NEG_SCHANNEL ( 0x40000000 )
674 /* bitmap netr_ChangeLogFlags */
675 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
676 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
677 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
678 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
679 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
681 union netr_ChangeLogObject {
682 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
683 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
684 }/* [nodiscriminant] */;
686 struct netr_ChangeLogEntry {
687 uint32_t serial_number1;
688 uint32_t serial_number2;
689 uint32_t object_rid;
690 uint16_t flags;
691 enum netr_SamDatabaseID8Bit db_index;
692 enum netr_DeltaEnum8Bit delta_type;
693 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
694 }/* [gensize,public] */;
696 struct netr_Blob {
697 uint32_t length;
698 uint8_t *data;/* [unique,size_is(length)] */
701 /* bitmap netr_DsRGetDCName_flags */
702 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
703 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
704 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
705 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
706 #define DS_PDC_REQUIRED ( 0x00000080 )
707 #define DS_BACKGROUND_ONLY ( 0x00000100 )
708 #define DS_IP_REQUIRED ( 0x00000200 )
709 #define DS_KDC_REQUIRED ( 0x00000400 )
710 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
711 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
712 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
713 #define DS_AVOID_SELF ( 0x00004000 )
714 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
715 #define DS_IS_FLAT_NAME ( 0x00010000 )
716 #define DS_IS_DNS_NAME ( 0x00020000 )
717 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
718 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
719 #define DS_RETURN_DNS_NAME ( 0x40000000 )
720 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
722 enum netr_DsRGetDCNameInfo_AddressType
723 #ifndef USE_UINT_ENUMS
725 DS_ADDRESS_TYPE_INET=1,
726 DS_ADDRESS_TYPE_NETBIOS=2
728 #else
729 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
730 #define DS_ADDRESS_TYPE_INET ( 1 )
731 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
732 #endif
735 /* bitmap netr_DsR_DcFlags */
736 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
737 #define DS_SERVER_GC ( NBT_SERVER_GC )
738 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
739 #define DS_SERVER_DS ( NBT_SERVER_DS )
740 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
741 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
742 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
743 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
744 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
745 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
746 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
747 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
748 #define DS_DNS_CONTROLLER ( 0x20000000 )
749 #define DS_DNS_DOMAIN ( 0x40000000 )
750 #define DS_DNS_FOREST ( 0x80000000 )
752 struct netr_DsRGetDCNameInfo {
753 const char *dc_unc;/* [unique,charset(UTF16)] */
754 const char *dc_address;/* [unique,charset(UTF16)] */
755 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
756 struct GUID domain_guid;
757 const char *domain_name;/* [unique,charset(UTF16)] */
758 const char *forest_name;/* [unique,charset(UTF16)] */
759 uint32_t dc_flags;
760 const char *dc_site_name;/* [unique,charset(UTF16)] */
761 const char *client_site_name;/* [unique,charset(UTF16)] */
762 }/* [public] */;
764 union netr_Capabilities {
765 uint32_t server_capabilities;/* [case] */
766 }/* [switch_type(uint32)] */;
768 struct netr_BinaryString {
769 uint16_t length;
770 uint16_t size;
771 uint16_t *data;/* [unique,length_is(length/2),size_is(size/2)] */
772 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
774 struct netr_DomainQuery1 {
775 struct netr_Blob blob;
776 const char *workstation_domain;/* [unique,charset(UTF16)] */
777 const char *workstation_site;/* [unique,charset(UTF16)] */
778 const char *unknown1;/* [unique,charset(UTF16)] */
779 const char *unknown2;/* [unique,charset(UTF16)] */
780 const char *unknown3;/* [unique,charset(UTF16)] */
781 const char *unknown4;/* [unique,charset(UTF16)] */
782 struct netr_BinaryString blob2;
783 struct lsa_String product;
784 struct lsa_String unknown5;
785 struct lsa_String unknown6;
786 uint32_t unknown7[4];
789 union netr_DomainQuery {
790 struct netr_DomainQuery1 *query1;/* [unique,case] */
793 struct netr_DomainTrustInfo {
794 struct lsa_String domainname;
795 struct lsa_String fulldomainname;
796 struct lsa_String forest;
797 struct GUID guid;
798 struct dom_sid2 *sid;/* [unique] */
799 struct netr_BinaryString unknown1[4];
800 uint32_t unknown[4];
803 struct netr_DomainInfo1 {
804 struct netr_DomainTrustInfo domaininfo;
805 uint32_t num_trusts;
806 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
807 uint32_t unknown[14];
810 union netr_DomainInfo {
811 struct netr_DomainInfo1 *info1;/* [unique,case] */
814 struct netr_CryptPassword {
815 uint8_t data[512];
816 uint32_t length;
817 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
819 struct netr_DsRAddressToSitenamesWCtr {
820 uint32_t count;
821 struct lsa_String *sitename;/* [unique,size_is(count)] */
824 struct netr_DsRAddress {
825 uint8_t *buffer;/* [unique,size_is(size)] */
826 uint32_t size;
829 /* bitmap netr_TrustFlags */
830 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
831 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
832 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
833 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
834 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
835 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
837 enum netr_TrustType
838 #ifndef USE_UINT_ENUMS
840 NETR_TRUST_TYPE_DOWNLEVEL=1,
841 NETR_TRUST_TYPE_UPLEVEL=2,
842 NETR_TRUST_TYPE_MIT=3,
843 NETR_TRUST_TYPE_DCE=4
845 #else
846 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
847 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
848 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
849 #define NETR_TRUST_TYPE_MIT ( 3 )
850 #define NETR_TRUST_TYPE_DCE ( 4 )
851 #endif
854 /* bitmap netr_TrustAttributes */
855 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
856 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
857 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
858 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
859 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
860 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
861 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
863 struct netr_DomainTrust {
864 const char *netbios_name;/* [unique,charset(UTF16)] */
865 const char *dns_name;/* [unique,charset(UTF16)] */
866 uint32_t trust_flags;
867 uint32_t parent_index;
868 enum netr_TrustType trust_type;
869 uint32_t trust_attributes;
870 struct dom_sid2 *sid;/* [unique] */
871 struct GUID guid;
874 struct netr_DomainTrustList {
875 uint32_t count;
876 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
879 struct netr_DsRAddressToSitenamesExWCtr {
880 uint32_t count;
881 struct lsa_String *sitename;/* [unique,size_is(count)] */
882 struct lsa_String *subnetname;/* [unique,size_is(count)] */
885 struct DcSitesCtr {
886 uint32_t num_sites;
887 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
891 struct netr_LogonUasLogon {
892 struct {
893 const char *server_name;/* [unique,charset(UTF16)] */
894 const char *account_name;/* [charset(UTF16)] */
895 const char *workstation;/* [charset(UTF16)] */
896 } in;
898 struct {
899 struct netr_UasInfo *info;/* [ref] */
900 WERROR result;
901 } out;
906 struct netr_LogonUasLogoff {
907 struct {
908 const char *server_name;/* [unique,charset(UTF16)] */
909 const char *account_name;/* [charset(UTF16)] */
910 const char *workstation;/* [charset(UTF16)] */
911 } in;
913 struct {
914 struct netr_UasLogoffInfo *info;/* [ref] */
915 WERROR result;
916 } out;
921 struct netr_LogonSamLogon {
922 struct {
923 const char *server_name;/* [unique,charset(UTF16)] */
924 const char *computer_name;/* [unique,charset(UTF16)] */
925 struct netr_Authenticator *credential;/* [unique] */
926 enum netr_LogonLevel logon_level;
927 union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
928 uint16_t validation_level;
929 struct netr_Authenticator *return_authenticator;/* [unique] */
930 } in;
932 struct {
933 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
934 uint8_t *authoritative;/* [ref] */
935 struct netr_Authenticator *return_authenticator;/* [unique] */
936 NTSTATUS result;
937 } out;
942 struct netr_LogonSamLogoff {
943 struct {
944 const char *server_name;/* [unique,charset(UTF16)] */
945 const char *computer_name;/* [unique,charset(UTF16)] */
946 struct netr_Authenticator *credential;/* [unique] */
947 enum netr_LogonLevel logon_level;
948 union netr_LogonInfo logon;/* [switch_is(logon_level)] */
949 struct netr_Authenticator *return_authenticator;/* [unique] */
950 } in;
952 struct {
953 struct netr_Authenticator *return_authenticator;/* [unique] */
954 NTSTATUS result;
955 } out;
960 struct netr_ServerReqChallenge {
961 struct {
962 const char *server_name;/* [unique,charset(UTF16)] */
963 const char *computer_name;/* [charset(UTF16)] */
964 struct netr_Credential *credentials;/* [ref] */
965 } in;
967 struct {
968 struct netr_Credential *return_credentials;/* [ref] */
969 NTSTATUS result;
970 } out;
975 struct netr_ServerAuthenticate {
976 struct {
977 const char *server_name;/* [unique,charset(UTF16)] */
978 const char *account_name;/* [charset(UTF16)] */
979 enum netr_SchannelType secure_channel_type;
980 const char *computer_name;/* [charset(UTF16)] */
981 struct netr_Credential *credentials;/* [ref] */
982 } in;
984 struct {
985 struct netr_Credential *return_credentials;/* [ref] */
986 NTSTATUS result;
987 } out;
992 struct netr_ServerPasswordSet {
993 struct {
994 const char *server_name;/* [unique,charset(UTF16)] */
995 const char *account_name;/* [charset(UTF16)] */
996 enum netr_SchannelType secure_channel_type;
997 const char *computer_name;/* [charset(UTF16)] */
998 struct netr_Authenticator *credential;/* [ref] */
999 struct samr_Password *new_password;/* [ref] */
1000 } in;
1002 struct {
1003 struct netr_Authenticator *return_authenticator;/* [ref] */
1004 NTSTATUS result;
1005 } out;
1010 struct netr_DatabaseDeltas {
1011 struct {
1012 const char *logon_server;/* [charset(UTF16)] */
1013 const char *computername;/* [charset(UTF16)] */
1014 struct netr_Authenticator *credential;/* [ref] */
1015 enum netr_SamDatabaseID database_id;
1016 uint32_t preferredmaximumlength;
1017 struct netr_Authenticator *return_authenticator;/* [ref] */
1018 uint64_t *sequence_num;/* [ref] */
1019 } in;
1021 struct {
1022 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1023 struct netr_Authenticator *return_authenticator;/* [ref] */
1024 uint64_t *sequence_num;/* [ref] */
1025 NTSTATUS result;
1026 } out;
1031 struct netr_DatabaseSync {
1032 struct {
1033 const char *logon_server;/* [charset(UTF16)] */
1034 const char *computername;/* [charset(UTF16)] */
1035 struct netr_Authenticator credential;
1036 enum netr_SamDatabaseID database_id;
1037 uint32_t preferredmaximumlength;
1038 struct netr_Authenticator *return_authenticator;/* [ref] */
1039 uint32_t *sync_context;/* [ref] */
1040 } in;
1042 struct {
1043 struct netr_DELTA_ENUM_ARRAY *delta_enum_array;/* [ref] */
1044 struct netr_Authenticator *return_authenticator;/* [ref] */
1045 uint32_t *sync_context;/* [ref] */
1046 NTSTATUS result;
1047 } out;
1052 struct netr_AccountDeltas {
1053 struct {
1054 const char *logon_server;/* [unique,charset(UTF16)] */
1055 const char *computername;/* [charset(UTF16)] */
1056 struct netr_Authenticator credential;
1057 struct netr_UAS_INFO_0 uas;
1058 uint32_t count;
1059 uint32_t level;
1060 uint32_t buffersize;
1061 struct netr_Authenticator *return_authenticator;/* [ref] */
1062 } in;
1064 struct {
1065 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1066 uint32_t *count_returned;/* [ref] */
1067 uint32_t *total_entries;/* [ref] */
1068 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1069 struct netr_Authenticator *return_authenticator;/* [ref] */
1070 NTSTATUS result;
1071 } out;
1076 struct netr_AccountSync {
1077 struct {
1078 const char *logon_server;/* [unique,charset(UTF16)] */
1079 const char *computername;/* [charset(UTF16)] */
1080 struct netr_Authenticator credential;
1081 uint32_t reference;
1082 uint32_t level;
1083 uint32_t buffersize;
1084 struct netr_Authenticator *return_authenticator;/* [ref] */
1085 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1086 } in;
1088 struct {
1089 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1090 uint32_t *count_returned;/* [ref] */
1091 uint32_t *total_entries;/* [ref] */
1092 uint32_t *next_reference;/* [ref] */
1093 struct netr_Authenticator *return_authenticator;/* [ref] */
1094 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1095 NTSTATUS result;
1096 } out;
1101 struct netr_GetDcName {
1102 struct {
1103 const char *logon_server;/* [charset(UTF16)] */
1104 const char *domainname;/* [unique,charset(UTF16)] */
1105 } in;
1107 struct {
1108 const char **dcname;/* [ref,charset(UTF16)] */
1109 WERROR result;
1110 } out;
1115 struct netr_LogonControl {
1116 struct {
1117 const char *logon_server;/* [unique,charset(UTF16)] */
1118 enum netr_LogonControlCode function_code;
1119 uint32_t level;
1120 } in;
1122 struct {
1123 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1124 WERROR result;
1125 } out;
1130 struct netr_GetAnyDCName {
1131 struct {
1132 const char *logon_server;/* [unique,charset(UTF16)] */
1133 const char *domainname;/* [unique,charset(UTF16)] */
1134 } in;
1136 struct {
1137 const char **dcname;/* [ref,charset(UTF16)] */
1138 WERROR result;
1139 } out;
1144 struct netr_LogonControl2 {
1145 struct {
1146 const char *logon_server;/* [unique,charset(UTF16)] */
1147 enum netr_LogonControlCode function_code;
1148 uint32_t level;
1149 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1150 } in;
1152 struct {
1153 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1154 WERROR result;
1155 } out;
1160 struct netr_ServerAuthenticate2 {
1161 struct {
1162 const char *server_name;/* [unique,charset(UTF16)] */
1163 const char *account_name;/* [charset(UTF16)] */
1164 enum netr_SchannelType secure_channel_type;
1165 const char *computer_name;/* [charset(UTF16)] */
1166 struct netr_Credential *credentials;/* [ref] */
1167 uint32_t *negotiate_flags;/* [ref] */
1168 } in;
1170 struct {
1171 struct netr_Credential *return_credentials;/* [ref] */
1172 uint32_t *negotiate_flags;/* [ref] */
1173 NTSTATUS result;
1174 } out;
1179 struct netr_DatabaseSync2 {
1180 struct {
1181 const char *logon_server;/* [charset(UTF16)] */
1182 const char *computername;/* [charset(UTF16)] */
1183 struct netr_Authenticator *credential;/* [ref] */
1184 enum netr_SamDatabaseID database_id;
1185 uint16_t restart_state;
1186 uint32_t preferredmaximumlength;
1187 struct netr_Authenticator *return_authenticator;/* [ref] */
1188 uint32_t *sync_context;/* [ref] */
1189 } in;
1191 struct {
1192 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1193 struct netr_Authenticator *return_authenticator;/* [ref] */
1194 uint32_t *sync_context;/* [ref] */
1195 NTSTATUS result;
1196 } out;
1201 struct netr_DatabaseRedo {
1202 struct {
1203 const char *logon_server;/* [charset(UTF16)] */
1204 const char *computername;/* [charset(UTF16)] */
1205 struct netr_Authenticator *credential;/* [ref] */
1206 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1207 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->flags))] */
1208 struct netr_Authenticator *return_authenticator;/* [ref] */
1209 } in;
1211 struct {
1212 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1213 struct netr_Authenticator *return_authenticator;/* [ref] */
1214 NTSTATUS result;
1215 } out;
1220 struct netr_LogonControl2Ex {
1221 struct {
1222 const char *logon_server;/* [unique,charset(UTF16)] */
1223 uint32_t function_code;
1224 uint32_t level;
1225 union netr_CONTROL_DATA_INFORMATION data;/* [switch_is(function_code)] */
1226 } in;
1228 struct {
1229 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1230 WERROR result;
1231 } out;
1236 struct netr_NetrEnumerateTrustedDomains {
1237 struct {
1238 const char *server_name;/* [unique,charset(UTF16)] */
1239 } in;
1241 struct {
1242 struct netr_Blob *trusted_domains_blob;/* [ref] */
1243 WERROR result;
1244 } out;
1249 struct netr_DsRGetDCName {
1250 struct {
1251 const char *server_unc;/* [unique,charset(UTF16)] */
1252 const char *domain_name;/* [unique,charset(UTF16)] */
1253 struct GUID *domain_guid;/* [unique] */
1254 struct GUID *site_guid;/* [unique] */
1255 uint32_t flags;
1256 } in;
1258 struct {
1259 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1260 WERROR result;
1261 } out;
1266 struct netr_LogonGetCapabilities {
1267 struct {
1268 const char *server_name;/* [charset(UTF16)] */
1269 const char *computer_name;/* [unique,charset(UTF16)] */
1270 struct netr_Authenticator *credential;/* [ref] */
1271 uint32_t query_level;
1272 struct netr_Authenticator *return_authenticator;/* [ref] */
1273 } in;
1275 struct {
1276 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1277 struct netr_Authenticator *return_authenticator;/* [ref] */
1278 NTSTATUS result;
1279 } out;
1284 struct netr_NETRLOGONSETSERVICEBITS {
1285 struct {
1286 WERROR result;
1287 } out;
1292 struct netr_LogonGetTrustRid {
1293 struct {
1294 const char *server_name;/* [unique,charset(UTF16)] */
1295 const char *domain_name;/* [unique,charset(UTF16)] */
1296 } in;
1298 struct {
1299 uint32_t *rid;/* [ref] */
1300 WERROR result;
1301 } out;
1306 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1307 struct {
1308 WERROR result;
1309 } out;
1314 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1315 struct {
1316 WERROR result;
1317 } out;
1322 struct netr_ServerAuthenticate3 {
1323 struct {
1324 const char *server_name;/* [unique,charset(UTF16)] */
1325 const char *account_name;/* [charset(UTF16)] */
1326 enum netr_SchannelType secure_channel_type;
1327 const char *computer_name;/* [charset(UTF16)] */
1328 struct netr_Credential *credentials;/* [ref] */
1329 uint32_t *negotiate_flags;/* [ref] */
1330 } in;
1332 struct {
1333 uint32_t *rid;/* [ref] */
1334 struct netr_Credential *credentials;/* [ref] */
1335 uint32_t *negotiate_flags;/* [ref] */
1336 NTSTATUS result;
1337 } out;
1342 struct netr_DsRGetDCNameEx {
1343 struct {
1344 const char *server_unc;/* [unique,charset(UTF16)] */
1345 const char *domain_name;/* [unique,charset(UTF16)] */
1346 struct GUID *domain_guid;/* [unique] */
1347 const char *site_name;/* [unique,charset(UTF16)] */
1348 uint32_t flags;
1349 } in;
1351 struct {
1352 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1353 WERROR result;
1354 } out;
1359 struct netr_DsRGetSiteName {
1360 struct {
1361 const char *computer_name;/* [unique,charset(UTF16)] */
1362 } in;
1364 struct {
1365 const char **site;/* [ref,charset(UTF16)] */
1366 WERROR result;
1367 } out;
1372 struct netr_LogonGetDomainInfo {
1373 struct {
1374 const char *server_name;/* [charset(UTF16)] */
1375 const char *computer_name;/* [unique,charset(UTF16)] */
1376 struct netr_Authenticator *credential;/* [ref] */
1377 uint32_t level;
1378 union netr_DomainQuery query;/* [switch_is(level)] */
1379 struct netr_Authenticator *return_authenticator;/* [ref] */
1380 } in;
1382 struct {
1383 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1384 struct netr_Authenticator *return_authenticator;/* [ref] */
1385 NTSTATUS result;
1386 } out;
1391 struct netr_ServerPasswordSet2 {
1392 struct {
1393 const char *server_name;/* [unique,charset(UTF16)] */
1394 const char *account_name;/* [charset(UTF16)] */
1395 enum netr_SchannelType secure_channel_type;
1396 const char *computer_name;/* [charset(UTF16)] */
1397 struct netr_Authenticator *credential;/* [ref] */
1398 struct netr_CryptPassword *new_password;/* [ref] */
1399 } in;
1401 struct {
1402 struct netr_Authenticator *return_authenticator;/* [ref] */
1403 NTSTATUS result;
1404 } out;
1409 struct netr_ServerPasswordGet {
1410 struct {
1411 const char *server_name;/* [unique,charset(UTF16)] */
1412 const char *account_name;/* [charset(UTF16)] */
1413 enum netr_SchannelType secure_channel_type;
1414 const char *computer_name;/* [charset(UTF16)] */
1415 struct netr_Authenticator *credential;/* [ref] */
1416 } in;
1418 struct {
1419 struct netr_Authenticator *return_authenticator;/* [ref] */
1420 struct samr_Password *password;/* [ref] */
1421 WERROR result;
1422 } out;
1427 struct netr_NETRLOGONSENDTOSAM {
1428 struct {
1429 WERROR result;
1430 } out;
1435 struct netr_DsRAddressToSitenamesW {
1436 struct {
1437 const char *server_name;/* [unique,charset(UTF16)] */
1438 uint32_t count;/* [range(0,32000)] */
1439 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1440 } in;
1442 struct {
1443 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1444 WERROR result;
1445 } out;
1450 struct netr_DsRGetDCNameEx2 {
1451 struct {
1452 const char *server_unc;/* [unique,charset(UTF16)] */
1453 const char *client_account;/* [unique,charset(UTF16)] */
1454 uint32_t mask;
1455 const char *domain_name;/* [unique,charset(UTF16)] */
1456 struct GUID *domain_guid;/* [unique] */
1457 const char *site_name;/* [unique,charset(UTF16)] */
1458 uint32_t flags;
1459 } in;
1461 struct {
1462 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1463 WERROR result;
1464 } out;
1469 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1470 struct {
1471 WERROR result;
1472 } out;
1477 struct netr_NetrEnumerateTrustedDomainsEx {
1478 struct {
1479 const char *server_name;/* [unique,charset(UTF16)] */
1480 } in;
1482 struct {
1483 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1484 WERROR result;
1485 } out;
1490 struct netr_DsRAddressToSitenamesExW {
1491 struct {
1492 const char *server_name;/* [unique,charset(UTF16)] */
1493 uint32_t count;/* [range(0,32000)] */
1494 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1495 } in;
1497 struct {
1498 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1499 WERROR result;
1500 } out;
1505 struct netr_DsrGetDcSiteCoverageW {
1506 struct {
1507 const char *server_name;/* [unique,charset(UTF16)] */
1508 } in;
1510 struct {
1511 struct DcSitesCtr *ctr;/* [ref] */
1512 WERROR result;
1513 } out;
1518 struct netr_LogonSamLogonEx {
1519 struct {
1520 const char *server_name;/* [unique,charset(UTF16)] */
1521 const char *computer_name;/* [unique,charset(UTF16)] */
1522 enum netr_LogonLevel logon_level;
1523 union netr_LogonInfo *logon;/* [ref,switch_is(logon_level)] */
1524 uint16_t validation_level;
1525 uint32_t *flags;/* [ref] */
1526 } in;
1528 struct {
1529 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1530 uint8_t *authoritative;/* [ref] */
1531 uint32_t *flags;/* [ref] */
1532 NTSTATUS result;
1533 } out;
1538 struct netr_DsrEnumerateDomainTrusts {
1539 struct {
1540 const char *server_name;/* [unique,charset(UTF16)] */
1541 uint32_t trust_flags;
1542 } in;
1544 struct {
1545 struct netr_DomainTrustList *trusts;/* [ref] */
1546 WERROR result;
1547 } out;
1552 struct netr_DsrDeregisterDNSHostRecords {
1553 struct {
1554 const char *server_name;/* [unique,charset(UTF16)] */
1555 const char *domain;/* [unique,charset(UTF16)] */
1556 struct GUID *domain_guid;/* [unique] */
1557 struct GUID *dsa_guid;/* [unique] */
1558 const char *dns_host;/* [ref,charset(UTF16)] */
1559 } in;
1561 struct {
1562 WERROR result;
1563 } out;
1568 struct netr_ServerTrustPasswordsGet {
1569 struct {
1570 const char *server_name;/* [unique,charset(UTF16)] */
1571 const char *account_name;/* [charset(UTF16)] */
1572 enum netr_SchannelType secure_channel_type;
1573 const char *computer_name;/* [charset(UTF16)] */
1574 struct netr_Authenticator *credential;/* [ref] */
1575 } in;
1577 struct {
1578 struct netr_Authenticator *return_authenticator;/* [ref] */
1579 struct samr_Password *password;/* [ref] */
1580 struct samr_Password *password2;/* [ref] */
1581 NTSTATUS result;
1582 } out;
1587 struct netr_DsRGetForestTrustInformation {
1588 struct {
1589 const char *server_name;/* [unique,charset(UTF16)] */
1590 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1591 uint32_t flags;
1592 } in;
1594 struct {
1595 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1596 WERROR result;
1597 } out;
1602 struct netr_GetForestTrustInformation {
1603 struct {
1604 const char *server_name;/* [unique,charset(UTF16)] */
1605 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1606 struct netr_Authenticator *credential;/* [ref] */
1607 uint32_t flags;
1608 } in;
1610 struct {
1611 struct netr_Authenticator *return_authenticator;/* [ref] */
1612 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1613 WERROR result;
1614 } out;
1619 struct netr_LogonSamLogonWithFlags {
1620 struct {
1621 const char *server_name;/* [unique,charset(UTF16)] */
1622 const char *computer_name;/* [unique,charset(UTF16)] */
1623 struct netr_Authenticator *credential;/* [unique] */
1624 enum netr_LogonLevel logon_level;
1625 union netr_LogonInfo logon;/* [switch_is(logon_level)] */
1626 uint16_t validation_level;
1627 struct netr_Authenticator *return_authenticator;/* [unique] */
1628 uint32_t *flags;/* [ref] */
1629 } in;
1631 struct {
1632 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1633 uint8_t *authoritative;/* [ref] */
1634 struct netr_Authenticator *return_authenticator;/* [unique] */
1635 uint32_t *flags;/* [ref] */
1636 NTSTATUS result;
1637 } out;
1642 struct netr_NETRSERVERGETTRUSTINFO {
1643 struct {
1644 WERROR result;
1645 } out;
1649 #endif /* _HEADER_netlogon */