Attempt to fix the build
[Samba.git] / librpc / gen_ndr / netlogon.h
blob74f5c2b80118b8e4f0fb0be95ed6894aa53de1cb
1 /* header auto-generated by pidl */
3 #include <stdint.h>
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #include "librpc/gen_ndr/samr.h"
8 #include "librpc/gen_ndr/security.h"
9 #include "librpc/gen_ndr/nbt.h"
10 #define netr_DeltaEnum8Bit netr_DeltaEnum
11 #define netr_SamDatabaseID8Bit netr_SamDatabaseID
12 #ifndef _HEADER_netlogon
13 #define _HEADER_netlogon
15 #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) )
16 #define DS_GFTI_UPDATE_TDO ( 0x1 )
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 struct netr_GenericInfo {
85 struct netr_IdentityInfo identity_info;
86 struct lsa_String package_name;
87 uint32_t length;
88 uint8_t *data;/* [unique,size_is(length)] */
89 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
91 enum netr_LogonInfoClass
92 #ifndef USE_UINT_ENUMS
94 NetlogonInteractiveInformation=1,
95 NetlogonNetworkInformation=2,
96 NetlogonServiceInformation=3,
97 NetlogonGenericInformation=4,
98 NetlogonInteractiveTransitiveInformation=5,
99 NetlogonNetworkTransitiveInformation=6,
100 NetlogonServiceTransitiveInformation=7
102 #else
103 { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
104 #define NetlogonInteractiveInformation ( 1 )
105 #define NetlogonNetworkInformation ( 2 )
106 #define NetlogonServiceInformation ( 3 )
107 #define NetlogonGenericInformation ( 4 )
108 #define NetlogonInteractiveTransitiveInformation ( 5 )
109 #define NetlogonNetworkTransitiveInformation ( 6 )
110 #define NetlogonServiceTransitiveInformation ( 7 )
111 #endif
114 union netr_LogonLevel {
115 struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
116 struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
117 struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
118 }/* [public,switch_type(netr_LogonInfoClass)] */;
120 struct netr_UserSessionKey {
121 uint8_t key[16];
122 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
124 struct netr_LMSessionKey {
125 uint8_t key[8];
126 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
128 /* bitmap netr_UserFlags */
129 #define NETLOGON_GUEST ( 0x00000001 )
130 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
131 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
132 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
133 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
134 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
135 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
136 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
137 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
138 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
139 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
141 struct netr_SamBaseInfo {
142 NTTIME last_logon;
143 NTTIME last_logoff;
144 NTTIME acct_expiry;
145 NTTIME last_password_change;
146 NTTIME allow_password_change;
147 NTTIME force_password_change;
148 struct lsa_String account_name;
149 struct lsa_String full_name;
150 struct lsa_String logon_script;
151 struct lsa_String profile_path;
152 struct lsa_String home_directory;
153 struct lsa_String home_drive;
154 uint16_t logon_count;
155 uint16_t bad_password_count;
156 uint32_t rid;
157 uint32_t primary_gid;
158 struct samr_RidWithAttributeArray groups;
159 uint32_t user_flags;
160 struct netr_UserSessionKey key;
161 struct lsa_StringLarge logon_server;
162 struct lsa_StringLarge domain;
163 struct dom_sid2 *domain_sid;/* [unique] */
164 struct netr_LMSessionKey LMSessKey;
165 uint32_t acct_flags;
166 uint32_t unknown[7];
169 struct netr_SamInfo2 {
170 struct netr_SamBaseInfo base;
173 struct netr_SidAttr {
174 struct dom_sid2 *sid;/* [unique] */
175 uint32_t attributes;
178 struct netr_SamInfo3 {
179 struct netr_SamBaseInfo base;
180 uint32_t sidcount;
181 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
182 }/* [public] */;
184 struct netr_SamInfo6 {
185 struct netr_SamBaseInfo base;
186 uint32_t sidcount;
187 struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
188 struct lsa_String forest;
189 struct lsa_String principle;
190 uint32_t unknown4[20];
193 struct netr_PacInfo {
194 uint32_t pac_size;
195 uint8_t *pac;/* [unique,size_is(pac_size)] */
196 struct lsa_String logon_domain;
197 struct lsa_String logon_server;
198 struct lsa_String principal_name;
199 uint32_t auth_size;
200 uint8_t *auth;/* [unique,size_is(auth_size)] */
201 struct netr_UserSessionKey user_session_key;
202 uint32_t expansionroom[10];
203 struct lsa_String unknown1;
204 struct lsa_String unknown2;
205 struct lsa_String unknown3;
206 struct lsa_String unknown4;
209 struct netr_GenericInfo2 {
210 uint32_t length;
211 uint8_t *data;/* [unique,size_is(length)] */
212 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
214 enum netr_ValidationInfoClass
215 #ifndef USE_UINT_ENUMS
217 NetlogonValidationUasInfo=1,
218 NetlogonValidationSamInfo=2,
219 NetlogonValidationSamInfo2=3,
220 NetlogonValidationGenericInfo2=5,
221 NetlogonValidationSamInfo4=6
223 #else
224 { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
225 #define NetlogonValidationUasInfo ( 1 )
226 #define NetlogonValidationSamInfo ( 2 )
227 #define NetlogonValidationSamInfo2 ( 3 )
228 #define NetlogonValidationGenericInfo2 ( 5 )
229 #define NetlogonValidationSamInfo4 ( 6 )
230 #endif
233 union netr_Validation {
234 struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
235 struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
236 struct netr_PacInfo *pac;/* [unique,case(4)] */
237 struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
238 struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
239 }/* [public,switch_type(uint16)] */;
241 struct netr_Credential {
242 uint8_t data[8];
243 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
245 struct netr_Authenticator {
246 struct netr_Credential cred;
247 time_t timestamp;
248 }/* [public] */;
250 struct netr_DELTA_DELETE_USER {
251 const char *account_name;/* [unique,charset(UTF16)] */
252 struct lsa_String unknown1;
253 struct lsa_String unknown2;
254 struct lsa_String unknown3;
255 struct lsa_String unknown4;
256 uint32_t unknown5;
257 uint32_t unknown6;
258 uint32_t unknown7;
259 uint32_t unknown8;
262 struct netr_USER_KEY16 {
263 uint16_t length;
264 uint16_t size;/* [value(length)] */
265 uint32_t flags;
266 struct samr_Password pwd;
269 struct netr_PasswordHistory {
270 uint16_t nt_length;
271 uint16_t nt_size;/* [value(nt_length)] */
272 uint32_t nt_flags;
273 uint16_t lm_length;
274 uint16_t lm_size;/* [value(lm_length)] */
275 uint32_t lm_flags;
276 uint8_t *nt_history;
277 uint8_t *lm_history;
280 struct netr_USER_KEYS2 {
281 struct netr_USER_KEY16 lmpassword;
282 struct netr_USER_KEY16 ntpassword;
283 struct netr_PasswordHistory history;
286 struct netr_USER_KEY_UNION {
287 struct netr_USER_KEYS2 keys2;
290 struct netr_USER_KEYS {
291 uint32_t version;
292 struct netr_USER_KEY_UNION keys;
293 }/* [public] */;
295 struct netr_USER_PRIVATE_INFO {
296 uint8_t SensitiveDataFlag;
297 uint32_t DataLength;
298 uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
301 struct netr_DELTA_USER {
302 struct lsa_String account_name;
303 struct lsa_String full_name;
304 uint32_t rid;
305 uint32_t primary_gid;
306 struct lsa_String home_directory;
307 struct lsa_String home_drive;
308 struct lsa_String logon_script;
309 struct lsa_String description;
310 struct lsa_String workstations;
311 NTTIME last_logon;
312 NTTIME last_logoff;
313 struct samr_LogonHours logon_hours;
314 uint16_t bad_password_count;
315 uint16_t logon_count;
316 NTTIME last_password_change;
317 NTTIME acct_expiry;
318 uint32_t acct_flags;
319 struct samr_Password lmpassword;
320 struct samr_Password ntpassword;
321 uint8_t nt_password_present;
322 uint8_t lm_password_present;
323 uint8_t password_expired;
324 struct lsa_String comment;
325 struct lsa_BinaryString parameters;
326 uint16_t country_code;
327 uint16_t code_page;
328 struct netr_USER_PRIVATE_INFO user_private_info;
329 uint32_t SecurityInformation;
330 struct sec_desc_buf sdbuf;
331 struct lsa_String profile_path;
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_DOMAIN {
342 struct lsa_String domain_name;
343 struct lsa_String oem_information;
344 int64_t force_logoff_time;
345 uint16_t min_password_length;
346 uint16_t password_history_length;
347 int64_t max_password_age;
348 int64_t min_password_age;
349 uint64_t sequence_num;
350 NTTIME domain_create_time;
351 uint32_t SecurityInformation;
352 struct sec_desc_buf sdbuf;
353 struct lsa_BinaryString account_lockout;
354 struct lsa_String unknown2;
355 struct lsa_String unknown3;
356 struct lsa_String unknown4;
357 uint32_t logon_to_chgpass;
358 uint32_t unknown6;
359 uint32_t unknown7;
360 uint32_t unknown8;
363 struct netr_DELTA_GROUP {
364 struct lsa_String group_name;
365 uint32_t rid;
366 uint32_t attributes;
367 struct lsa_String description;
368 uint32_t SecurityInformation;
369 struct sec_desc_buf sdbuf;
370 struct lsa_String unknown1;
371 struct lsa_String unknown2;
372 struct lsa_String unknown3;
373 struct lsa_String unknown4;
374 uint32_t unknown5;
375 uint32_t unknown6;
376 uint32_t unknown7;
377 uint32_t unknown8;
380 struct netr_DELTA_RENAME {
381 struct lsa_String OldName;
382 struct lsa_String NewName;
383 struct lsa_String unknown1;
384 struct lsa_String unknown2;
385 struct lsa_String unknown3;
386 struct lsa_String unknown4;
387 uint32_t unknown5;
388 uint32_t unknown6;
389 uint32_t unknown7;
390 uint32_t unknown8;
393 struct netr_DELTA_GROUP_MEMBER {
394 uint32_t *rids;/* [unique,size_is(num_rids)] */
395 uint32_t *attribs;/* [unique,size_is(num_rids)] */
396 uint32_t num_rids;
397 uint32_t unknown1;
398 uint32_t unknown2;
399 uint32_t unknown3;
400 uint32_t unknown4;
403 struct netr_DELTA_ALIAS {
404 struct lsa_String alias_name;
405 uint32_t rid;
406 uint32_t SecurityInformation;
407 struct sec_desc_buf sdbuf;
408 struct lsa_String description;
409 struct lsa_String unknown2;
410 struct lsa_String unknown3;
411 struct lsa_String unknown4;
412 uint32_t unknown5;
413 uint32_t unknown6;
414 uint32_t unknown7;
415 uint32_t unknown8;
418 struct netr_DELTA_ALIAS_MEMBER {
419 struct lsa_SidArray sids;
420 uint32_t unknown1;
421 uint32_t unknown2;
422 uint32_t unknown3;
423 uint32_t unknown4;
426 struct netr_QUOTA_LIMITS {
427 uint32_t pagedpoollimit;
428 uint32_t nonpagedpoollimit;
429 uint32_t minimumworkingsetsize;
430 uint32_t maximumworkingsetsize;
431 uint32_t pagefilelimit;
432 NTTIME timelimit;
435 struct netr_DELTA_POLICY {
436 uint32_t maxlogsize;
437 NTTIME auditretentionperiod;
438 uint8_t auditingmode;
439 uint32_t maxauditeventcount;
440 uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
441 struct lsa_String primary_domain_name;
442 struct dom_sid2 *sid;/* [unique] */
443 struct netr_QUOTA_LIMITS quota_limits;
444 uint64_t sequence_num;
445 NTTIME db_create_time;
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_TRUSTED_DOMAIN {
459 struct lsa_String domain_name;
460 uint32_t num_controllers;
461 struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
462 uint32_t SecurityInformation;
463 struct sec_desc_buf sdbuf;
464 struct lsa_String unknown1;
465 struct lsa_String unknown2;
466 struct lsa_String unknown3;
467 struct lsa_String unknown4;
468 uint32_t posix_offset;
469 uint32_t unknown6;
470 uint32_t unknown7;
471 uint32_t unknown8;
474 struct netr_DELTA_DELETE_TRUST {
475 uint16_t unknown;
478 struct netr_DELTA_ACCOUNT {
479 uint32_t privilege_entries;
480 uint32_t privilege_control;
481 uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
482 struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
483 struct netr_QUOTA_LIMITS quotalimits;
484 uint32_t system_flags;
485 uint32_t SecurityInformation;
486 struct sec_desc_buf sdbuf;
487 struct lsa_String unknown1;
488 struct lsa_String unknown2;
489 struct lsa_String unknown3;
490 struct lsa_String unknown4;
491 uint32_t unknown5;
492 uint32_t unknown6;
493 uint32_t unknown7;
494 uint32_t unknown8;
497 struct netr_DELTA_DELETE_ACCOUNT {
498 uint16_t unknown;
501 struct netr_DELTA_DELETE_SECRET {
502 uint16_t unknown;
505 struct netr_CIPHER_VALUE {
506 uint32_t len;
507 uint32_t maxlen;
508 uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
511 struct netr_DELTA_SECRET {
512 struct netr_CIPHER_VALUE current_cipher;
513 NTTIME current_cipher_set_time;
514 struct netr_CIPHER_VALUE old_cipher;
515 NTTIME old_cipher_set_time;
516 uint32_t SecurityInformation;
517 struct sec_desc_buf sdbuf;
518 struct lsa_String unknown1;
519 struct lsa_String unknown2;
520 struct lsa_String unknown3;
521 struct lsa_String unknown4;
522 uint32_t unknown5;
523 uint32_t unknown6;
524 uint32_t unknown7;
525 uint32_t unknown8;
528 enum netr_DeltaEnum
529 #ifndef USE_UINT_ENUMS
531 NETR_DELTA_DOMAIN=1,
532 NETR_DELTA_GROUP=2,
533 NETR_DELTA_DELETE_GROUP=3,
534 NETR_DELTA_RENAME_GROUP=4,
535 NETR_DELTA_USER=5,
536 NETR_DELTA_DELETE_USER=6,
537 NETR_DELTA_RENAME_USER=7,
538 NETR_DELTA_GROUP_MEMBER=8,
539 NETR_DELTA_ALIAS=9,
540 NETR_DELTA_DELETE_ALIAS=10,
541 NETR_DELTA_RENAME_ALIAS=11,
542 NETR_DELTA_ALIAS_MEMBER=12,
543 NETR_DELTA_POLICY=13,
544 NETR_DELTA_TRUSTED_DOMAIN=14,
545 NETR_DELTA_DELETE_TRUST=15,
546 NETR_DELTA_ACCOUNT=16,
547 NETR_DELTA_DELETE_ACCOUNT=17,
548 NETR_DELTA_SECRET=18,
549 NETR_DELTA_DELETE_SECRET=19,
550 NETR_DELTA_DELETE_GROUP2=20,
551 NETR_DELTA_DELETE_USER2=21,
552 NETR_DELTA_MODIFY_COUNT=22
554 #else
555 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
556 #define NETR_DELTA_DOMAIN ( 1 )
557 #define NETR_DELTA_GROUP ( 2 )
558 #define NETR_DELTA_DELETE_GROUP ( 3 )
559 #define NETR_DELTA_RENAME_GROUP ( 4 )
560 #define NETR_DELTA_USER ( 5 )
561 #define NETR_DELTA_DELETE_USER ( 6 )
562 #define NETR_DELTA_RENAME_USER ( 7 )
563 #define NETR_DELTA_GROUP_MEMBER ( 8 )
564 #define NETR_DELTA_ALIAS ( 9 )
565 #define NETR_DELTA_DELETE_ALIAS ( 10 )
566 #define NETR_DELTA_RENAME_ALIAS ( 11 )
567 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
568 #define NETR_DELTA_POLICY ( 13 )
569 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
570 #define NETR_DELTA_DELETE_TRUST ( 15 )
571 #define NETR_DELTA_ACCOUNT ( 16 )
572 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
573 #define NETR_DELTA_SECRET ( 18 )
574 #define NETR_DELTA_DELETE_SECRET ( 19 )
575 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
576 #define NETR_DELTA_DELETE_USER2 ( 21 )
577 #define NETR_DELTA_MODIFY_COUNT ( 22 )
578 #endif
581 union netr_DELTA_UNION {
582 struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
583 struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
584 struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
585 struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
586 struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
587 struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
588 struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
589 struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
590 struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
591 struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
592 struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
593 struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
594 struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
595 struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
596 struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
597 struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
598 struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
599 struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
600 uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
601 }/* [switch_type(netr_DeltaEnum)] */;
603 union netr_DELTA_ID_UNION {
604 uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
605 struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
606 const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
607 }/* [switch_type(netr_DeltaEnum)] */;
609 struct netr_DELTA_ENUM {
610 enum netr_DeltaEnum delta_type;
611 union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
612 union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
615 struct netr_DELTA_ENUM_ARRAY {
616 uint32_t num_deltas;
617 struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
620 struct netr_UAS_INFO_0 {
621 uint8_t computer_name[16];
622 uint32_t timecreated;
623 uint32_t serial_number;
624 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
626 struct netr_AccountBuffer {
627 DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
630 /* bitmap netr_InfoFlags */
631 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
632 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
633 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
635 struct netr_NETLOGON_INFO_1 {
636 uint32_t flags;
637 uint32_t pdc_connection_status;
640 struct netr_NETLOGON_INFO_2 {
641 uint32_t flags;
642 uint32_t pdc_connection_status;
643 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
644 uint32_t tc_connection_status;
647 struct netr_NETLOGON_INFO_3 {
648 uint32_t flags;
649 uint32_t logon_attempts;
650 uint32_t unknown1;
651 uint32_t unknown2;
652 uint32_t unknown3;
653 uint32_t unknown4;
654 uint32_t unknown5;
657 struct netr_NETLOGON_INFO_4 {
658 const char *trusted_dc_name;/* [unique,charset(UTF16)] */
659 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
662 union netr_CONTROL_QUERY_INFORMATION {
663 struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
664 struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
665 struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
666 struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
669 enum netr_LogonControlCode
670 #ifndef USE_UINT_ENUMS
672 NETLOGON_CONTROL_QUERY=0x00000001,
673 NETLOGON_CONTROL_REPLICATE=0x00000002,
674 NETLOGON_CONTROL_SYNCHRONIZE=0x00000003,
675 NETLOGON_CONTROL_PDC_REPLICATE=0x00000004,
676 NETLOGON_CONTROL_REDISCOVER=0x00000005,
677 NETLOGON_CONTROL_TC_QUERY=0x00000006,
678 NETLOGON_CONTROL_TRANSPORT_NOTIFY=0x00000007,
679 NETLOGON_CONTROL_FIND_USER=0x00000008,
680 NETLOGON_CONTROL_CHANGE_PASSWORD=0x00000009,
681 NETLOGON_CONTROL_TC_VERIFY=0x0000000A,
682 NETLOGON_CONTROL_FORCE_DNS_REG=0x0000000B,
683 NETLOGON_CONTROL_QUERY_DNS_REG=0x0000000C,
684 NETLOGON_CONTROL_BACKUP_CHANGE_LOG=0x0000FFFC,
685 NETLOGON_CONTROL_TRUNCATE_LOG=0x0000FFFD,
686 NETLOGON_CONTROL_SET_DBFLAG=0x0000FFFE,
687 NETLOGON_CONTROL_BREAKPOINT=0x0000FFFF
689 #else
690 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
691 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
692 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
693 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
694 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
695 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
696 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
697 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
698 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
699 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
700 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
701 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
702 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
703 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
704 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
705 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
706 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
707 #endif
710 union netr_CONTROL_DATA_INFORMATION {
711 const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
712 const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
713 uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
716 /* bitmap netr_NegotiateFlags */
717 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
718 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
719 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
720 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
721 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
722 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
723 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
724 #define NETLOGON_NEG_REDO ( 0x00000080 )
725 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
726 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
727 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
728 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
729 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
730 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
731 #define NETLOGON_NEG_128BIT ( 0x00004000 )
732 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
733 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
734 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
735 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
736 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
737 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
738 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
739 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
740 #define NETLOGON_NEG_SCHANNEL ( 0x40000000 )
742 /* bitmap netr_ChangeLogFlags */
743 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
744 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
745 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
746 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
747 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
749 union netr_ChangeLogObject {
750 struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
751 const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
752 }/* [nodiscriminant] */;
754 struct netr_ChangeLogEntry {
755 uint32_t serial_number1;
756 uint32_t serial_number2;
757 uint32_t object_rid;
758 uint16_t flags;
759 enum netr_SamDatabaseID8Bit db_index;
760 enum netr_DeltaEnum8Bit delta_type;
761 union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
762 }/* [gensize,public] */;
764 struct netr_Blob {
765 uint32_t length;
766 uint8_t *data;/* [unique,size_is(length)] */
769 /* bitmap netr_DsRGetDCName_flags */
770 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
771 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
772 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
773 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
774 #define DS_PDC_REQUIRED ( 0x00000080 )
775 #define DS_BACKGROUND_ONLY ( 0x00000100 )
776 #define DS_IP_REQUIRED ( 0x00000200 )
777 #define DS_KDC_REQUIRED ( 0x00000400 )
778 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
779 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
780 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
781 #define DS_AVOID_SELF ( 0x00004000 )
782 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
783 #define DS_IS_FLAT_NAME ( 0x00010000 )
784 #define DS_IS_DNS_NAME ( 0x00020000 )
785 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
786 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
787 #define DS_RETURN_DNS_NAME ( 0x40000000 )
788 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
790 enum netr_DsRGetDCNameInfo_AddressType
791 #ifndef USE_UINT_ENUMS
793 DS_ADDRESS_TYPE_INET=1,
794 DS_ADDRESS_TYPE_NETBIOS=2
796 #else
797 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
798 #define DS_ADDRESS_TYPE_INET ( 1 )
799 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
800 #endif
803 /* bitmap netr_DsR_DcFlags */
804 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
805 #define DS_SERVER_GC ( NBT_SERVER_GC )
806 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
807 #define DS_SERVER_DS ( NBT_SERVER_DS )
808 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
809 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
810 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
811 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
812 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
813 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
814 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
815 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
816 #define DS_DNS_CONTROLLER ( 0x20000000 )
817 #define DS_DNS_DOMAIN ( 0x40000000 )
818 #define DS_DNS_FOREST ( 0x80000000 )
820 struct netr_DsRGetDCNameInfo {
821 const char *dc_unc;/* [unique,charset(UTF16)] */
822 const char *dc_address;/* [unique,charset(UTF16)] */
823 enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
824 struct GUID domain_guid;
825 const char *domain_name;/* [unique,charset(UTF16)] */
826 const char *forest_name;/* [unique,charset(UTF16)] */
827 uint32_t dc_flags;
828 const char *dc_site_name;/* [unique,charset(UTF16)] */
829 const char *client_site_name;/* [unique,charset(UTF16)] */
830 }/* [public] */;
832 /* bitmap netr_TrustFlags */
833 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
834 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
835 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
836 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
837 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
838 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
839 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
840 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
842 struct netr_DomainQuery1 {
843 struct netr_Blob blob;
844 const char *workstation_domain;/* [unique,charset(UTF16)] */
845 const char *workstation_site;/* [unique,charset(UTF16)] */
846 const char *unknown1;/* [unique,charset(UTF16)] */
847 const char *unknown2;/* [unique,charset(UTF16)] */
848 const char *unknown3;/* [unique,charset(UTF16)] */
849 const char *unknown4;/* [unique,charset(UTF16)] */
850 struct lsa_BinaryString blob2;
851 struct lsa_String product;
852 struct lsa_String unknown5;
853 struct lsa_String unknown6;
854 uint32_t unknown7[4];
857 union netr_DomainQuery {
858 struct netr_DomainQuery1 *query1;/* [unique,case] */
861 struct netr_trust_extension {
862 uint32_t length;/* [value(8)] */
863 uint32_t dummy;/* [value(0)] */
864 uint32_t size;/* [value(8)] */
865 uint32_t flags;
866 uint32_t parent_index;
867 uint32_t trust_type;
868 uint32_t trust_attributes;
871 struct netr_trust_extension_container {
872 uint16_t length;
873 uint16_t size;/* [value(length)] */
874 struct netr_trust_extension *info;/* [unique] */
877 struct netr_DomainTrustInfo {
878 struct lsa_String domainname;
879 struct lsa_String fulldomainname;
880 struct lsa_String forest;
881 struct GUID guid;
882 struct dom_sid2 *sid;/* [unique] */
883 struct netr_trust_extension_container trust_extension;
884 struct lsa_String dummystring[3];
885 uint32_t dummy[4];
888 struct netr_LsaPolicyInfo {
889 uint32_t policy_size;
890 uint8_t *policy;/* [unique,size_is(policy_size)] */
893 /* bitmap netr_WorkstationFlags */
894 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
895 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
897 struct netr_DomainInfo1 {
898 struct netr_DomainTrustInfo domaininfo;
899 uint32_t num_trusts;
900 struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
901 struct netr_LsaPolicyInfo lsa_policy;
902 struct lsa_String dns_hostname;
903 struct lsa_String dummystring[3];
904 uint32_t workstation_flags;
905 uint32_t supported_enc_types;
906 uint32_t dummy[2];
909 union netr_DomainInfo {
910 struct netr_DomainInfo1 *info1;/* [unique,case] */
911 struct netr_DomainInfo1 *info2;/* [unique,case(2)] */
914 struct netr_CryptPassword {
915 uint8_t data[512];
916 uint32_t length;
917 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
919 struct netr_DsRAddressToSitenamesWCtr {
920 uint32_t count;
921 struct lsa_String *sitename;/* [unique,size_is(count)] */
924 struct netr_DsRAddress {
925 uint8_t *buffer;/* [unique,size_is(size)] */
926 uint32_t size;
929 enum netr_TrustType
930 #ifndef USE_UINT_ENUMS
932 NETR_TRUST_TYPE_DOWNLEVEL=1,
933 NETR_TRUST_TYPE_UPLEVEL=2,
934 NETR_TRUST_TYPE_MIT=3,
935 NETR_TRUST_TYPE_DCE=4
937 #else
938 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
939 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
940 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
941 #define NETR_TRUST_TYPE_MIT ( 3 )
942 #define NETR_TRUST_TYPE_DCE ( 4 )
943 #endif
946 /* bitmap netr_TrustAttributes */
947 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
948 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
949 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
950 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
951 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
952 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
953 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
955 struct netr_DomainTrust {
956 const char *netbios_name;/* [unique,charset(UTF16)] */
957 const char *dns_name;/* [unique,charset(UTF16)] */
958 uint32_t trust_flags;
959 uint32_t parent_index;
960 enum netr_TrustType trust_type;
961 uint32_t trust_attributes;
962 struct dom_sid2 *sid;/* [unique] */
963 struct GUID guid;
966 struct netr_DomainTrustList {
967 uint32_t count;
968 struct netr_DomainTrust *array;/* [unique,size_is(count)] */
971 struct netr_DsRAddressToSitenamesExWCtr {
972 uint32_t count;
973 struct lsa_String *sitename;/* [unique,size_is(count)] */
974 struct lsa_String *subnetname;/* [unique,size_is(count)] */
977 struct DcSitesCtr {
978 uint32_t num_sites;
979 struct lsa_String *sites;/* [unique,size_is(num_sites)] */
982 struct netr_TrustInfo {
983 uint32_t count;
984 uint32_t *data;/* [unique,size_is(count)] */
985 uint32_t entry_count;
986 struct lsa_String *entries;/* [unique,size_is(count)] */
990 struct netr_LogonUasLogon {
991 struct {
992 const char *server_name;/* [unique,charset(UTF16)] */
993 const char *account_name;/* [charset(UTF16)] */
994 const char *workstation;/* [charset(UTF16)] */
995 } in;
997 struct {
998 struct netr_UasInfo **info;/* [ref] */
999 WERROR result;
1000 } out;
1005 struct netr_LogonUasLogoff {
1006 struct {
1007 const char *server_name;/* [unique,charset(UTF16)] */
1008 const char *account_name;/* [charset(UTF16)] */
1009 const char *workstation;/* [charset(UTF16)] */
1010 } in;
1012 struct {
1013 struct netr_UasLogoffInfo *info;/* [ref] */
1014 WERROR result;
1015 } out;
1020 struct netr_LogonSamLogon {
1021 struct {
1022 const char *server_name;/* [unique,charset(UTF16)] */
1023 const char *computer_name;/* [unique,charset(UTF16)] */
1024 struct netr_Authenticator *credential;/* [unique] */
1025 enum netr_LogonInfoClass logon_level;
1026 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1027 uint16_t validation_level;
1028 struct netr_Authenticator *return_authenticator;/* [unique] */
1029 } in;
1031 struct {
1032 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1033 uint8_t *authoritative;/* [ref] */
1034 struct netr_Authenticator *return_authenticator;/* [unique] */
1035 NTSTATUS result;
1036 } out;
1041 struct netr_LogonSamLogoff {
1042 struct {
1043 const char *server_name;/* [unique,charset(UTF16)] */
1044 const char *computer_name;/* [unique,charset(UTF16)] */
1045 struct netr_Authenticator *credential;/* [unique] */
1046 enum netr_LogonInfoClass logon_level;
1047 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1048 struct netr_Authenticator *return_authenticator;/* [unique] */
1049 } in;
1051 struct {
1052 struct netr_Authenticator *return_authenticator;/* [unique] */
1053 NTSTATUS result;
1054 } out;
1059 struct netr_ServerReqChallenge {
1060 struct {
1061 const char *server_name;/* [unique,charset(UTF16)] */
1062 const char *computer_name;/* [charset(UTF16)] */
1063 struct netr_Credential *credentials;/* [ref] */
1064 } in;
1066 struct {
1067 struct netr_Credential *return_credentials;/* [ref] */
1068 NTSTATUS result;
1069 } out;
1074 struct netr_ServerAuthenticate {
1075 struct {
1076 const char *server_name;/* [unique,charset(UTF16)] */
1077 const char *account_name;/* [charset(UTF16)] */
1078 enum netr_SchannelType secure_channel_type;
1079 const char *computer_name;/* [charset(UTF16)] */
1080 struct netr_Credential *credentials;/* [ref] */
1081 } in;
1083 struct {
1084 struct netr_Credential *return_credentials;/* [ref] */
1085 NTSTATUS result;
1086 } out;
1091 struct netr_ServerPasswordSet {
1092 struct {
1093 const char *server_name;/* [unique,charset(UTF16)] */
1094 const char *account_name;/* [charset(UTF16)] */
1095 enum netr_SchannelType secure_channel_type;
1096 const char *computer_name;/* [charset(UTF16)] */
1097 struct netr_Authenticator *credential;/* [ref] */
1098 struct samr_Password *new_password;/* [ref] */
1099 } in;
1101 struct {
1102 struct netr_Authenticator *return_authenticator;/* [ref] */
1103 NTSTATUS result;
1104 } out;
1109 struct netr_DatabaseDeltas {
1110 struct {
1111 const char *logon_server;/* [charset(UTF16)] */
1112 const char *computername;/* [charset(UTF16)] */
1113 struct netr_Authenticator *credential;/* [ref] */
1114 enum netr_SamDatabaseID database_id;
1115 uint32_t preferredmaximumlength;
1116 struct netr_Authenticator *return_authenticator;/* [ref] */
1117 uint64_t *sequence_num;/* [ref] */
1118 } in;
1120 struct {
1121 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1122 struct netr_Authenticator *return_authenticator;/* [ref] */
1123 uint64_t *sequence_num;/* [ref] */
1124 NTSTATUS result;
1125 } out;
1130 struct netr_DatabaseSync {
1131 struct {
1132 const char *logon_server;/* [charset(UTF16)] */
1133 const char *computername;/* [charset(UTF16)] */
1134 struct netr_Authenticator *credential;/* [ref] */
1135 enum netr_SamDatabaseID database_id;
1136 uint32_t preferredmaximumlength;
1137 struct netr_Authenticator *return_authenticator;/* [ref] */
1138 uint32_t *sync_context;/* [ref] */
1139 } in;
1141 struct {
1142 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1143 struct netr_Authenticator *return_authenticator;/* [ref] */
1144 uint32_t *sync_context;/* [ref] */
1145 NTSTATUS result;
1146 } out;
1151 struct netr_AccountDeltas {
1152 struct {
1153 const char *logon_server;/* [unique,charset(UTF16)] */
1154 const char *computername;/* [charset(UTF16)] */
1155 struct netr_Authenticator credential;
1156 struct netr_UAS_INFO_0 uas;
1157 uint32_t count;
1158 uint32_t level;
1159 uint32_t buffersize;
1160 struct netr_Authenticator *return_authenticator;/* [ref] */
1161 } in;
1163 struct {
1164 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1165 uint32_t *count_returned;/* [ref] */
1166 uint32_t *total_entries;/* [ref] */
1167 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1168 struct netr_Authenticator *return_authenticator;/* [ref] */
1169 NTSTATUS result;
1170 } out;
1175 struct netr_AccountSync {
1176 struct {
1177 const char *logon_server;/* [unique,charset(UTF16)] */
1178 const char *computername;/* [charset(UTF16)] */
1179 struct netr_Authenticator credential;
1180 uint32_t reference;
1181 uint32_t level;
1182 uint32_t buffersize;
1183 struct netr_Authenticator *return_authenticator;/* [ref] */
1184 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1185 } in;
1187 struct {
1188 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1189 uint32_t *count_returned;/* [ref] */
1190 uint32_t *total_entries;/* [ref] */
1191 uint32_t *next_reference;/* [ref] */
1192 struct netr_Authenticator *return_authenticator;/* [ref] */
1193 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1194 NTSTATUS result;
1195 } out;
1200 struct netr_GetDcName {
1201 struct {
1202 const char *logon_server;/* [charset(UTF16)] */
1203 const char *domainname;/* [unique,charset(UTF16)] */
1204 } in;
1206 struct {
1207 const char **dcname;/* [ref,charset(UTF16)] */
1208 WERROR result;
1209 } out;
1214 struct netr_LogonControl {
1215 struct {
1216 const char *logon_server;/* [unique,charset(UTF16)] */
1217 enum netr_LogonControlCode function_code;
1218 uint32_t level;
1219 } in;
1221 struct {
1222 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1223 WERROR result;
1224 } out;
1229 struct netr_GetAnyDCName {
1230 struct {
1231 const char *logon_server;/* [unique,charset(UTF16)] */
1232 const char *domainname;/* [unique,charset(UTF16)] */
1233 } in;
1235 struct {
1236 const char **dcname;/* [ref,charset(UTF16)] */
1237 WERROR result;
1238 } out;
1243 struct netr_LogonControl2 {
1244 struct {
1245 const char *logon_server;/* [unique,charset(UTF16)] */
1246 enum netr_LogonControlCode function_code;
1247 uint32_t level;
1248 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1249 } in;
1251 struct {
1252 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1253 WERROR result;
1254 } out;
1259 struct netr_ServerAuthenticate2 {
1260 struct {
1261 const char *server_name;/* [unique,charset(UTF16)] */
1262 const char *account_name;/* [charset(UTF16)] */
1263 enum netr_SchannelType secure_channel_type;
1264 const char *computer_name;/* [charset(UTF16)] */
1265 struct netr_Credential *credentials;/* [ref] */
1266 uint32_t *negotiate_flags;/* [ref] */
1267 } in;
1269 struct {
1270 struct netr_Credential *return_credentials;/* [ref] */
1271 uint32_t *negotiate_flags;/* [ref] */
1272 NTSTATUS result;
1273 } out;
1278 struct netr_DatabaseSync2 {
1279 struct {
1280 const char *logon_server;/* [charset(UTF16)] */
1281 const char *computername;/* [charset(UTF16)] */
1282 struct netr_Authenticator *credential;/* [ref] */
1283 enum netr_SamDatabaseID database_id;
1284 uint16_t restart_state;
1285 uint32_t preferredmaximumlength;
1286 struct netr_Authenticator *return_authenticator;/* [ref] */
1287 uint32_t *sync_context;/* [ref] */
1288 } in;
1290 struct {
1291 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1292 struct netr_Authenticator *return_authenticator;/* [ref] */
1293 uint32_t *sync_context;/* [ref] */
1294 NTSTATUS result;
1295 } out;
1300 struct netr_DatabaseRedo {
1301 struct {
1302 const char *logon_server;/* [charset(UTF16)] */
1303 const char *computername;/* [charset(UTF16)] */
1304 struct netr_Authenticator *credential;/* [ref] */
1305 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1306 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1307 struct netr_Authenticator *return_authenticator;/* [ref] */
1308 } in;
1310 struct {
1311 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1312 struct netr_Authenticator *return_authenticator;/* [ref] */
1313 NTSTATUS result;
1314 } out;
1319 struct netr_LogonControl2Ex {
1320 struct {
1321 const char *logon_server;/* [unique,charset(UTF16)] */
1322 enum netr_LogonControlCode function_code;
1323 uint32_t level;
1324 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1325 } in;
1327 struct {
1328 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1329 WERROR result;
1330 } out;
1335 struct netr_NetrEnumerateTrustedDomains {
1336 struct {
1337 const char *server_name;/* [unique,charset(UTF16)] */
1338 } in;
1340 struct {
1341 struct netr_Blob *trusted_domains_blob;/* [ref] */
1342 WERROR result;
1343 } out;
1348 struct netr_DsRGetDCName {
1349 struct {
1350 const char *server_unc;/* [unique,charset(UTF16)] */
1351 const char *domain_name;/* [unique,charset(UTF16)] */
1352 struct GUID *domain_guid;/* [unique] */
1353 struct GUID *site_guid;/* [unique] */
1354 uint32_t flags;
1355 } in;
1357 struct {
1358 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1359 WERROR result;
1360 } out;
1365 struct netr_NETRLOGONDUMMYROUTINE1 {
1366 struct {
1367 WERROR result;
1368 } out;
1373 struct netr_NETRLOGONSETSERVICEBITS {
1374 struct {
1375 WERROR result;
1376 } out;
1381 struct netr_LogonGetTrustRid {
1382 struct {
1383 const char *server_name;/* [unique,charset(UTF16)] */
1384 const char *domain_name;/* [unique,charset(UTF16)] */
1385 } in;
1387 struct {
1388 uint32_t *rid;/* [ref] */
1389 WERROR result;
1390 } out;
1395 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1396 struct {
1397 WERROR result;
1398 } out;
1403 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1404 struct {
1405 WERROR result;
1406 } out;
1411 struct netr_ServerAuthenticate3 {
1412 struct {
1413 const char *server_name;/* [unique,charset(UTF16)] */
1414 const char *account_name;/* [charset(UTF16)] */
1415 enum netr_SchannelType secure_channel_type;
1416 const char *computer_name;/* [charset(UTF16)] */
1417 struct netr_Credential *credentials;/* [ref] */
1418 uint32_t *negotiate_flags;/* [ref] */
1419 } in;
1421 struct {
1422 struct netr_Credential *return_credentials;/* [ref] */
1423 uint32_t *rid;/* [ref] */
1424 uint32_t *negotiate_flags;/* [ref] */
1425 NTSTATUS result;
1426 } out;
1431 struct netr_DsRGetDCNameEx {
1432 struct {
1433 const char *server_unc;/* [unique,charset(UTF16)] */
1434 const char *domain_name;/* [unique,charset(UTF16)] */
1435 struct GUID *domain_guid;/* [unique] */
1436 const char *site_name;/* [unique,charset(UTF16)] */
1437 uint32_t flags;
1438 } in;
1440 struct {
1441 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1442 WERROR result;
1443 } out;
1448 struct netr_DsRGetSiteName {
1449 struct {
1450 const char *computer_name;/* [unique,charset(UTF16)] */
1451 } in;
1453 struct {
1454 const char **site;/* [ref,charset(UTF16)] */
1455 WERROR result;
1456 } out;
1461 struct netr_LogonGetDomainInfo {
1462 struct {
1463 const char *server_name;/* [charset(UTF16)] */
1464 const char *computer_name;/* [unique,charset(UTF16)] */
1465 struct netr_Authenticator *credential;/* [ref] */
1466 uint32_t level;
1467 union netr_DomainQuery query;/* [switch_is(level)] */
1468 struct netr_Authenticator *return_authenticator;/* [ref] */
1469 } in;
1471 struct {
1472 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1473 struct netr_Authenticator *return_authenticator;/* [ref] */
1474 NTSTATUS result;
1475 } out;
1480 struct netr_ServerPasswordSet2 {
1481 struct {
1482 const char *server_name;/* [unique,charset(UTF16)] */
1483 const char *account_name;/* [charset(UTF16)] */
1484 enum netr_SchannelType secure_channel_type;
1485 const char *computer_name;/* [charset(UTF16)] */
1486 struct netr_Authenticator *credential;/* [ref] */
1487 struct netr_CryptPassword *new_password;/* [ref] */
1488 } in;
1490 struct {
1491 struct netr_Authenticator *return_authenticator;/* [ref] */
1492 NTSTATUS result;
1493 } out;
1498 struct netr_ServerPasswordGet {
1499 struct {
1500 const char *server_name;/* [unique,charset(UTF16)] */
1501 const char *account_name;/* [charset(UTF16)] */
1502 enum netr_SchannelType secure_channel_type;
1503 const char *computer_name;/* [charset(UTF16)] */
1504 struct netr_Authenticator *credential;/* [ref] */
1505 } in;
1507 struct {
1508 struct netr_Authenticator *return_authenticator;/* [ref] */
1509 struct samr_Password *password;/* [ref] */
1510 WERROR result;
1511 } out;
1516 struct netr_NETRLOGONSENDTOSAM {
1517 struct {
1518 WERROR result;
1519 } out;
1524 struct netr_DsRAddressToSitenamesW {
1525 struct {
1526 const char *server_name;/* [unique,charset(UTF16)] */
1527 uint32_t count;/* [range(0,32000)] */
1528 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1529 } in;
1531 struct {
1532 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1533 WERROR result;
1534 } out;
1539 struct netr_DsRGetDCNameEx2 {
1540 struct {
1541 const char *server_unc;/* [unique,charset(UTF16)] */
1542 const char *client_account;/* [unique,charset(UTF16)] */
1543 uint32_t mask;
1544 const char *domain_name;/* [unique,charset(UTF16)] */
1545 struct GUID *domain_guid;/* [unique] */
1546 const char *site_name;/* [unique,charset(UTF16)] */
1547 uint32_t flags;
1548 } in;
1550 struct {
1551 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1552 WERROR result;
1553 } out;
1558 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1559 struct {
1560 WERROR result;
1561 } out;
1566 struct netr_NetrEnumerateTrustedDomainsEx {
1567 struct {
1568 const char *server_name;/* [unique,charset(UTF16)] */
1569 } in;
1571 struct {
1572 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1573 WERROR result;
1574 } out;
1579 struct netr_DsRAddressToSitenamesExW {
1580 struct {
1581 const char *server_name;/* [unique,charset(UTF16)] */
1582 uint32_t count;/* [range(0,32000)] */
1583 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1584 } in;
1586 struct {
1587 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1588 WERROR result;
1589 } out;
1594 struct netr_DsrGetDcSiteCoverageW {
1595 struct {
1596 const char *server_name;/* [unique,charset(UTF16)] */
1597 } in;
1599 struct {
1600 struct DcSitesCtr **ctr;/* [ref] */
1601 WERROR result;
1602 } out;
1607 struct netr_LogonSamLogonEx {
1608 struct {
1609 const char *server_name;/* [unique,charset(UTF16)] */
1610 const char *computer_name;/* [unique,charset(UTF16)] */
1611 enum netr_LogonInfoClass logon_level;
1612 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1613 uint16_t validation_level;
1614 uint32_t *flags;/* [ref] */
1615 } in;
1617 struct {
1618 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1619 uint8_t *authoritative;/* [ref] */
1620 uint32_t *flags;/* [ref] */
1621 NTSTATUS result;
1622 } out;
1627 struct netr_DsrEnumerateDomainTrusts {
1628 struct {
1629 const char *server_name;/* [unique,charset(UTF16)] */
1630 uint32_t trust_flags;
1631 } in;
1633 struct {
1634 struct netr_DomainTrustList *trusts;/* [ref] */
1635 WERROR result;
1636 } out;
1641 struct netr_DsrDeregisterDNSHostRecords {
1642 struct {
1643 const char *server_name;/* [unique,charset(UTF16)] */
1644 const char *domain;/* [unique,charset(UTF16)] */
1645 struct GUID *domain_guid;/* [unique] */
1646 struct GUID *dsa_guid;/* [unique] */
1647 const char *dns_host;/* [ref,charset(UTF16)] */
1648 } in;
1650 struct {
1651 WERROR result;
1652 } out;
1657 struct netr_ServerTrustPasswordsGet {
1658 struct {
1659 const char *server_name;/* [unique,charset(UTF16)] */
1660 const char *account_name;/* [charset(UTF16)] */
1661 enum netr_SchannelType secure_channel_type;
1662 const char *computer_name;/* [charset(UTF16)] */
1663 struct netr_Authenticator *credential;/* [ref] */
1664 } in;
1666 struct {
1667 struct netr_Authenticator *return_authenticator;/* [ref] */
1668 struct samr_Password *password;/* [ref] */
1669 struct samr_Password *password2;/* [ref] */
1670 NTSTATUS result;
1671 } out;
1676 struct netr_DsRGetForestTrustInformation {
1677 struct {
1678 const char *server_name;/* [unique,charset(UTF16)] */
1679 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1680 uint32_t flags;
1681 } in;
1683 struct {
1684 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1685 WERROR result;
1686 } out;
1691 struct netr_GetForestTrustInformation {
1692 struct {
1693 const char *server_name;/* [unique,charset(UTF16)] */
1694 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1695 struct netr_Authenticator *credential;/* [ref] */
1696 uint32_t flags;
1697 } in;
1699 struct {
1700 struct netr_Authenticator *return_authenticator;/* [ref] */
1701 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1702 WERROR result;
1703 } out;
1708 struct netr_LogonSamLogonWithFlags {
1709 struct {
1710 const char *server_name;/* [unique,charset(UTF16)] */
1711 const char *computer_name;/* [unique,charset(UTF16)] */
1712 struct netr_Authenticator *credential;/* [unique] */
1713 enum netr_LogonInfoClass logon_level;
1714 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1715 uint16_t validation_level;
1716 struct netr_Authenticator *return_authenticator;/* [unique] */
1717 uint32_t *flags;/* [ref] */
1718 } in;
1720 struct {
1721 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1722 uint8_t *authoritative;/* [ref] */
1723 struct netr_Authenticator *return_authenticator;/* [unique] */
1724 uint32_t *flags;/* [ref] */
1725 NTSTATUS result;
1726 } out;
1731 struct netr_ServerGetTrustInfo {
1732 struct {
1733 const char *server_name;/* [unique,charset(UTF16)] */
1734 const char *account_name;/* [ref,charset(UTF16)] */
1735 enum netr_SchannelType secure_channel_type;
1736 const char *computer_name;/* [ref,charset(UTF16)] */
1737 struct netr_Authenticator *credential;/* [ref] */
1738 } in;
1740 struct {
1741 struct netr_Authenticator *return_authenticator;/* [ref] */
1742 struct samr_Password *new_owf_password;/* [ref] */
1743 struct samr_Password *old_owf_password;/* [ref] */
1744 struct netr_TrustInfo **trust_info;/* [ref] */
1745 NTSTATUS result;
1746 } out;
1750 #endif /* _HEADER_netlogon */