• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/router/samba-3.5.8/librpc/gen_ndr/
1/* header auto-generated by pidl */
2
3#include <stdint.h>
4
5#include "libcli/util/ntstatus.h"
6
7#include "librpc/gen_ndr/misc.h"
8#include "librpc/gen_ndr/lsa.h"
9#include "librpc/gen_ndr/samr.h"
10#include "librpc/gen_ndr/security.h"
11#include "librpc/gen_ndr/nbt.h"
12#define netr_DeltaEnum8Bit netr_DeltaEnum
13#define netr_SamDatabaseID8Bit netr_SamDatabaseID
14#ifndef _HEADER_netlogon
15#define _HEADER_netlogon
16
17#define NETLOGON_NEG_128BIT	( NETLOGON_NEG_STRONG_KEYS )
18#define NETLOGON_NEG_SCHANNEL	( NETLOGON_NEG_AUTHENTICATED_RPC )
19#define DSGETDC_VALID_FLAGS	( (DS_FORCE_REDISCOVERY|DS_DIRECTORY_SERVICE_REQUIRED|DS_DIRECTORY_SERVICE_PREFERRED|DS_GC_SERVER_REQUIRED|DS_PDC_REQUIRED|DS_BACKGROUND_ONLY|DS_IP_REQUIRED|DS_KDC_REQUIRED|DS_TIMESERV_REQUIRED|DS_WRITABLE_REQUIRED|DS_GOOD_TIMESERV_PREFERRED|DS_AVOID_SELF|DS_ONLY_LDAP_NEEDED|DS_IS_FLAT_NAME|DS_IS_DNS_NAME|DS_RETURN_FLAT_NAME|DS_RETURN_DNS_NAME) )
20#define NETLOGON_PASSWORD_VERSION_NUMBER_PRESENT	( 0x02231968 )
21#define DS_GFTI_UPDATE_TDO	( 0x1 )
22struct netr_UasInfo {
23	const char *account_name;/* [unique,charset(UTF16)] */
24	uint32_t priv;
25	uint32_t auth_flags;
26	uint32_t logon_count;
27	uint32_t bad_pw_count;
28	time_t last_logon;
29	time_t last_logoff;
30	time_t logoff_time;
31	time_t kickoff_time;
32	uint32_t password_age;
33	time_t pw_can_change;
34	time_t pw_must_change;
35	const char *computer;/* [unique,charset(UTF16)] */
36	const char *domain;/* [unique,charset(UTF16)] */
37	const char *script_path;/* [unique,charset(UTF16)] */
38	uint32_t unknown;
39};
40
41struct netr_UasLogoffInfo {
42	uint32_t duration;
43	uint16_t logon_count;
44};
45
46struct netr_AcctLockStr {
47	int64_t lockout_duration;
48	uint64_t reset_count;
49	uint32_t bad_attempt_lockout;
50	uint32_t dummy;
51}/* [public] */;
52
53/* bitmap netr_LogonParameterControl */
54#define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
55#define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
56#define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
57#define MSV1_0_DONT_TRY_GUEST_ACCOUNT ( 0x00000010 )
58#define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
59#define MSV1_0_RETURN_PASSWORD_EXPIRY ( 0x00000040 )
60#define MSV1_0_USE_CLIENT_CHALLENGE ( 0x00000080 )
61#define MSV1_0_TRY_GUEST_ACCOUNT_ONLY ( 0x00000100 )
62#define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
63#define MSV1_0_TRY_SPECIFIED_DOMAIN_ONLY ( 0x00000400 )
64#define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
65#define MSV1_0_DISABLE_PERSONAL_FALLBACK ( 0x00001000 )
66#define MSV1_0_ALLOW_FORCE_GUEST ( 0x00002000 )
67#define MSV1_0_CLEARTEXT_PASSWORD_SUPPLIED ( 0x00004000 )
68#define MSV1_0_USE_DOMAIN_FOR_ROUTING_ONLY ( 0x00008000 )
69#define MSV1_0_ALLOW_MSVCHAPV2 ( 0x00010000 )
70#define MSV1_0_S4U2SELF ( 0x00020000 )
71#define MSV1_0_CHECK_LOGONHOURS_FOR_S4U ( 0x00040000 )
72#define MSV1_0_SUBAUTHENTICATION_DLL_EX ( 0x00100000 )
73
74struct netr_IdentityInfo {
75	struct lsa_String domain_name;
76	uint32_t parameter_control;
77	uint32_t logon_id_low;
78	uint32_t logon_id_high;
79	struct lsa_String account_name;
80	struct lsa_String workstation;
81};
82
83struct netr_PasswordInfo {
84	struct netr_IdentityInfo identity_info;
85	struct samr_Password lmpassword;
86	struct samr_Password ntpassword;
87};
88
89struct netr_ChallengeResponse {
90	uint16_t length;
91	uint16_t size;/* [value(length)] */
92	uint8_t *data;/* [unique,length_is(length),size_is(length)] */
93}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
94
95struct netr_NetworkInfo {
96	struct netr_IdentityInfo identity_info;
97	uint8_t challenge[8];
98	struct netr_ChallengeResponse nt;
99	struct netr_ChallengeResponse lm;
100}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
101
102struct netr_GenericInfo {
103	struct netr_IdentityInfo identity_info;
104	struct lsa_String package_name;
105	uint32_t length;
106	uint8_t *data;/* [unique,size_is(length)] */
107}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
108
109enum netr_LogonInfoClass
110#ifndef USE_UINT_ENUMS
111 {
112	NetlogonInteractiveInformation=(int)(1),
113	NetlogonNetworkInformation=(int)(2),
114	NetlogonServiceInformation=(int)(3),
115	NetlogonGenericInformation=(int)(4),
116	NetlogonInteractiveTransitiveInformation=(int)(5),
117	NetlogonNetworkTransitiveInformation=(int)(6),
118	NetlogonServiceTransitiveInformation=(int)(7)
119}
120#else
121 { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
122#define NetlogonInteractiveInformation ( 1 )
123#define NetlogonNetworkInformation ( 2 )
124#define NetlogonServiceInformation ( 3 )
125#define NetlogonGenericInformation ( 4 )
126#define NetlogonInteractiveTransitiveInformation ( 5 )
127#define NetlogonNetworkTransitiveInformation ( 6 )
128#define NetlogonServiceTransitiveInformation ( 7 )
129#endif
130;
131
132union netr_LogonLevel {
133	struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
134	struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
135	struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
136}/* [public,switch_type(netr_LogonInfoClass)] */;
137
138struct netr_UserSessionKey {
139	uint8_t key[16];
140}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
141
142struct netr_LMSessionKey {
143	uint8_t key[8];
144}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
145
146/* bitmap netr_UserFlags */
147#define NETLOGON_GUEST ( 0x00000001 )
148#define NETLOGON_NOENCRYPTION ( 0x00000002 )
149#define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
150#define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
151#define NETLOGON_EXTRA_SIDS ( 0x00000020 )
152#define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
153#define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
154#define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
155#define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
156#define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
157#define NETLOGON_GRACE_LOGON ( 0x01000000 )
158
159struct netr_SamBaseInfo {
160	NTTIME last_logon;
161	NTTIME last_logoff;
162	NTTIME acct_expiry;
163	NTTIME last_password_change;
164	NTTIME allow_password_change;
165	NTTIME force_password_change;
166	struct lsa_String account_name;
167	struct lsa_String full_name;
168	struct lsa_String logon_script;
169	struct lsa_String profile_path;
170	struct lsa_String home_directory;
171	struct lsa_String home_drive;
172	uint16_t logon_count;
173	uint16_t bad_password_count;
174	uint32_t rid;
175	uint32_t primary_gid;
176	struct samr_RidWithAttributeArray groups;
177	uint32_t user_flags;
178	struct netr_UserSessionKey key;
179	struct lsa_StringLarge logon_server;
180	struct lsa_StringLarge domain;
181	struct dom_sid2 *domain_sid;/* [unique] */
182	struct netr_LMSessionKey LMSessKey;
183	uint32_t acct_flags;
184	uint32_t unknown[7];
185};
186
187struct netr_SamInfo2 {
188	struct netr_SamBaseInfo base;
189};
190
191struct netr_SidAttr {
192	struct dom_sid2 *sid;/* [unique] */
193	uint32_t attributes;
194};
195
196struct netr_SamInfo3 {
197	struct netr_SamBaseInfo base;
198	uint32_t sidcount;
199	struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
200}/* [public] */;
201
202struct netr_SamInfo6 {
203	struct netr_SamBaseInfo base;
204	uint32_t sidcount;
205	struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
206	struct lsa_String forest;
207	struct lsa_String principle;
208	uint32_t unknown4[20];
209};
210
211struct netr_PacInfo {
212	uint32_t pac_size;
213	uint8_t *pac;/* [unique,size_is(pac_size)] */
214	struct lsa_String logon_domain;
215	struct lsa_String logon_server;
216	struct lsa_String principal_name;
217	uint32_t auth_size;
218	uint8_t *auth;/* [unique,size_is(auth_size)] */
219	struct netr_UserSessionKey user_session_key;
220	uint32_t expansionroom[10];
221	struct lsa_String unknown1;
222	struct lsa_String unknown2;
223	struct lsa_String unknown3;
224	struct lsa_String unknown4;
225};
226
227struct netr_GenericInfo2 {
228	uint32_t length;
229	uint8_t *data;/* [unique,size_is(length)] */
230}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
231
232enum netr_ValidationInfoClass
233#ifndef USE_UINT_ENUMS
234 {
235	NetlogonValidationUasInfo=(int)(1),
236	NetlogonValidationSamInfo=(int)(2),
237	NetlogonValidationSamInfo2=(int)(3),
238	NetlogonValidationGenericInfo2=(int)(5),
239	NetlogonValidationSamInfo4=(int)(6)
240}
241#else
242 { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
243#define NetlogonValidationUasInfo ( 1 )
244#define NetlogonValidationSamInfo ( 2 )
245#define NetlogonValidationSamInfo2 ( 3 )
246#define NetlogonValidationGenericInfo2 ( 5 )
247#define NetlogonValidationSamInfo4 ( 6 )
248#endif
249;
250
251union netr_Validation {
252	struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
253	struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
254	struct netr_PacInfo *pac;/* [unique,case(4)] */
255	struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
256	struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
257}/* [public,switch_type(uint16)] */;
258
259struct netr_Credential {
260	uint8_t data[8];
261}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
262
263struct netr_Authenticator {
264	struct netr_Credential cred;
265	time_t timestamp;
266}/* [public] */;
267
268struct netr_DELTA_DELETE_USER {
269	const char *account_name;/* [unique,charset(UTF16)] */
270	struct lsa_String unknown1;
271	struct lsa_String unknown2;
272	struct lsa_String unknown3;
273	struct lsa_String unknown4;
274	uint32_t unknown5;
275	uint32_t unknown6;
276	uint32_t unknown7;
277	uint32_t unknown8;
278};
279
280struct netr_USER_KEY16 {
281	uint16_t length;
282	uint16_t size;/* [value(length)] */
283	uint32_t flags;
284	struct samr_Password pwd;
285};
286
287struct netr_PasswordHistory {
288	uint16_t nt_length;
289	uint16_t nt_size;/* [value(nt_length)] */
290	uint32_t nt_flags;
291	uint16_t lm_length;
292	uint16_t lm_size;/* [value(lm_length)] */
293	uint32_t lm_flags;
294	uint8_t *nt_history;
295	uint8_t *lm_history;
296};
297
298struct netr_USER_KEYS2 {
299	struct netr_USER_KEY16 lmpassword;
300	struct netr_USER_KEY16 ntpassword;
301	struct netr_PasswordHistory history;
302};
303
304struct netr_USER_KEY_UNION {
305	struct netr_USER_KEYS2 keys2;
306};
307
308struct netr_USER_KEYS {
309	uint32_t version;
310	struct netr_USER_KEY_UNION keys;
311}/* [public] */;
312
313struct netr_USER_PRIVATE_INFO {
314	uint8_t SensitiveDataFlag;
315	uint32_t DataLength;
316	uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
317};
318
319struct netr_DELTA_USER {
320	struct lsa_String account_name;
321	struct lsa_String full_name;
322	uint32_t rid;
323	uint32_t primary_gid;
324	struct lsa_String home_directory;
325	struct lsa_String home_drive;
326	struct lsa_String logon_script;
327	struct lsa_String description;
328	struct lsa_String workstations;
329	NTTIME last_logon;
330	NTTIME last_logoff;
331	struct samr_LogonHours logon_hours;
332	uint16_t bad_password_count;
333	uint16_t logon_count;
334	NTTIME last_password_change;
335	NTTIME acct_expiry;
336	uint32_t acct_flags;
337	struct samr_Password lmpassword;
338	struct samr_Password ntpassword;
339	uint8_t nt_password_present;
340	uint8_t lm_password_present;
341	uint8_t password_expired;
342	struct lsa_String comment;
343	struct lsa_BinaryString parameters;
344	uint16_t country_code;
345	uint16_t code_page;
346	struct netr_USER_PRIVATE_INFO user_private_info;
347	uint32_t SecurityInformation;
348	struct sec_desc_buf sdbuf;
349	struct lsa_String profile_path;
350	struct lsa_String unknown2;
351	struct lsa_String unknown3;
352	struct lsa_String unknown4;
353	uint32_t unknown5;
354	uint32_t unknown6;
355	uint32_t unknown7;
356	uint32_t unknown8;
357};
358
359struct netr_DELTA_DOMAIN {
360	struct lsa_String domain_name;
361	struct lsa_String oem_information;
362	int64_t force_logoff_time;
363	uint16_t min_password_length;
364	uint16_t password_history_length;
365	int64_t max_password_age;
366	int64_t min_password_age;
367	uint64_t sequence_num;
368	NTTIME domain_create_time;
369	uint32_t SecurityInformation;
370	struct sec_desc_buf sdbuf;
371	struct lsa_BinaryString account_lockout;
372	struct lsa_String unknown2;
373	struct lsa_String unknown3;
374	struct lsa_String unknown4;
375	uint32_t logon_to_chgpass;
376	uint32_t unknown6;
377	uint32_t unknown7;
378	uint32_t unknown8;
379};
380
381struct netr_DELTA_GROUP {
382	struct lsa_String group_name;
383	uint32_t rid;
384	uint32_t attributes;
385	struct lsa_String description;
386	uint32_t SecurityInformation;
387	struct sec_desc_buf sdbuf;
388	struct lsa_String unknown1;
389	struct lsa_String unknown2;
390	struct lsa_String unknown3;
391	struct lsa_String unknown4;
392	uint32_t unknown5;
393	uint32_t unknown6;
394	uint32_t unknown7;
395	uint32_t unknown8;
396};
397
398struct netr_DELTA_RENAME {
399	struct lsa_String OldName;
400	struct lsa_String NewName;
401	struct lsa_String unknown1;
402	struct lsa_String unknown2;
403	struct lsa_String unknown3;
404	struct lsa_String unknown4;
405	uint32_t unknown5;
406	uint32_t unknown6;
407	uint32_t unknown7;
408	uint32_t unknown8;
409};
410
411struct netr_DELTA_GROUP_MEMBER {
412	uint32_t *rids;/* [unique,size_is(num_rids)] */
413	uint32_t *attribs;/* [unique,size_is(num_rids)] */
414	uint32_t num_rids;
415	uint32_t unknown1;
416	uint32_t unknown2;
417	uint32_t unknown3;
418	uint32_t unknown4;
419};
420
421struct netr_DELTA_ALIAS {
422	struct lsa_String alias_name;
423	uint32_t rid;
424	uint32_t SecurityInformation;
425	struct sec_desc_buf sdbuf;
426	struct lsa_String description;
427	struct lsa_String unknown2;
428	struct lsa_String unknown3;
429	struct lsa_String unknown4;
430	uint32_t unknown5;
431	uint32_t unknown6;
432	uint32_t unknown7;
433	uint32_t unknown8;
434};
435
436struct netr_DELTA_ALIAS_MEMBER {
437	struct lsa_SidArray sids;
438	uint32_t unknown1;
439	uint32_t unknown2;
440	uint32_t unknown3;
441	uint32_t unknown4;
442};
443
444struct netr_QUOTA_LIMITS {
445	uint32_t pagedpoollimit;
446	uint32_t nonpagedpoollimit;
447	uint32_t minimumworkingsetsize;
448	uint32_t maximumworkingsetsize;
449	uint32_t pagefilelimit;
450	NTTIME timelimit;
451};
452
453struct netr_DELTA_POLICY {
454	uint32_t maxlogsize;
455	NTTIME auditretentionperiod;
456	uint8_t auditingmode;
457	uint32_t maxauditeventcount;
458	uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
459	struct lsa_String primary_domain_name;
460	struct dom_sid2 *sid;/* [unique] */
461	struct netr_QUOTA_LIMITS quota_limits;
462	uint64_t sequence_num;
463	NTTIME db_create_time;
464	uint32_t SecurityInformation;
465	struct sec_desc_buf sdbuf;
466	struct lsa_String unknown1;
467	struct lsa_String unknown2;
468	struct lsa_String unknown3;
469	struct lsa_String unknown4;
470	uint32_t unknown5;
471	uint32_t unknown6;
472	uint32_t unknown7;
473	uint32_t unknown8;
474};
475
476struct netr_DELTA_TRUSTED_DOMAIN {
477	struct lsa_String domain_name;
478	uint32_t num_controllers;
479	struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
480	uint32_t SecurityInformation;
481	struct sec_desc_buf sdbuf;
482	struct lsa_String unknown1;
483	struct lsa_String unknown2;
484	struct lsa_String unknown3;
485	struct lsa_String unknown4;
486	uint32_t posix_offset;
487	uint32_t unknown6;
488	uint32_t unknown7;
489	uint32_t unknown8;
490};
491
492struct netr_DELTA_DELETE_TRUST {
493	uint16_t unknown;
494};
495
496struct netr_DELTA_ACCOUNT {
497	uint32_t privilege_entries;
498	uint32_t privilege_control;
499	uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
500	struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
501	struct netr_QUOTA_LIMITS quotalimits;
502	uint32_t system_flags;
503	uint32_t SecurityInformation;
504	struct sec_desc_buf sdbuf;
505	struct lsa_String unknown1;
506	struct lsa_String unknown2;
507	struct lsa_String unknown3;
508	struct lsa_String unknown4;
509	uint32_t unknown5;
510	uint32_t unknown6;
511	uint32_t unknown7;
512	uint32_t unknown8;
513};
514
515struct netr_DELTA_DELETE_ACCOUNT {
516	uint16_t unknown;
517};
518
519struct netr_DELTA_DELETE_SECRET {
520	uint16_t unknown;
521};
522
523struct netr_CIPHER_VALUE {
524	uint32_t len;
525	uint32_t maxlen;
526	uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
527};
528
529struct netr_DELTA_SECRET {
530	struct netr_CIPHER_VALUE current_cipher;
531	NTTIME current_cipher_set_time;
532	struct netr_CIPHER_VALUE old_cipher;
533	NTTIME old_cipher_set_time;
534	uint32_t SecurityInformation;
535	struct sec_desc_buf sdbuf;
536	struct lsa_String unknown1;
537	struct lsa_String unknown2;
538	struct lsa_String unknown3;
539	struct lsa_String unknown4;
540	uint32_t unknown5;
541	uint32_t unknown6;
542	uint32_t unknown7;
543	uint32_t unknown8;
544};
545
546enum netr_DeltaEnum
547#ifndef USE_UINT_ENUMS
548 {
549	NETR_DELTA_DOMAIN=(int)(1),
550	NETR_DELTA_GROUP=(int)(2),
551	NETR_DELTA_DELETE_GROUP=(int)(3),
552	NETR_DELTA_RENAME_GROUP=(int)(4),
553	NETR_DELTA_USER=(int)(5),
554	NETR_DELTA_DELETE_USER=(int)(6),
555	NETR_DELTA_RENAME_USER=(int)(7),
556	NETR_DELTA_GROUP_MEMBER=(int)(8),
557	NETR_DELTA_ALIAS=(int)(9),
558	NETR_DELTA_DELETE_ALIAS=(int)(10),
559	NETR_DELTA_RENAME_ALIAS=(int)(11),
560	NETR_DELTA_ALIAS_MEMBER=(int)(12),
561	NETR_DELTA_POLICY=(int)(13),
562	NETR_DELTA_TRUSTED_DOMAIN=(int)(14),
563	NETR_DELTA_DELETE_TRUST=(int)(15),
564	NETR_DELTA_ACCOUNT=(int)(16),
565	NETR_DELTA_DELETE_ACCOUNT=(int)(17),
566	NETR_DELTA_SECRET=(int)(18),
567	NETR_DELTA_DELETE_SECRET=(int)(19),
568	NETR_DELTA_DELETE_GROUP2=(int)(20),
569	NETR_DELTA_DELETE_USER2=(int)(21),
570	NETR_DELTA_MODIFY_COUNT=(int)(22)
571}
572#else
573 { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
574#define NETR_DELTA_DOMAIN ( 1 )
575#define NETR_DELTA_GROUP ( 2 )
576#define NETR_DELTA_DELETE_GROUP ( 3 )
577#define NETR_DELTA_RENAME_GROUP ( 4 )
578#define NETR_DELTA_USER ( 5 )
579#define NETR_DELTA_DELETE_USER ( 6 )
580#define NETR_DELTA_RENAME_USER ( 7 )
581#define NETR_DELTA_GROUP_MEMBER ( 8 )
582#define NETR_DELTA_ALIAS ( 9 )
583#define NETR_DELTA_DELETE_ALIAS ( 10 )
584#define NETR_DELTA_RENAME_ALIAS ( 11 )
585#define NETR_DELTA_ALIAS_MEMBER ( 12 )
586#define NETR_DELTA_POLICY ( 13 )
587#define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
588#define NETR_DELTA_DELETE_TRUST ( 15 )
589#define NETR_DELTA_ACCOUNT ( 16 )
590#define NETR_DELTA_DELETE_ACCOUNT ( 17 )
591#define NETR_DELTA_SECRET ( 18 )
592#define NETR_DELTA_DELETE_SECRET ( 19 )
593#define NETR_DELTA_DELETE_GROUP2 ( 20 )
594#define NETR_DELTA_DELETE_USER2 ( 21 )
595#define NETR_DELTA_MODIFY_COUNT ( 22 )
596#endif
597;
598
599union netr_DELTA_UNION {
600	struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
601	struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
602	struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
603	struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
604	struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
605	struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
606	struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
607	struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
608	struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
609	struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
610	struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
611	struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
612	struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
613	struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
614	struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
615	struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
616	struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
617	struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
618	uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
619}/* [switch_type(netr_DeltaEnum)] */;
620
621union netr_DELTA_ID_UNION {
622	uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
623	struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
624	const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
625}/* [switch_type(netr_DeltaEnum)] */;
626
627struct netr_DELTA_ENUM {
628	enum netr_DeltaEnum delta_type;
629	union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
630	union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
631};
632
633struct netr_DELTA_ENUM_ARRAY {
634	uint32_t num_deltas;
635	struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
636};
637
638struct netr_UAS_INFO_0 {
639	uint8_t computer_name[16];
640	uint32_t timecreated;
641	uint32_t serial_number;
642}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
643
644struct netr_AccountBuffer {
645	DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
646};
647
648/* bitmap netr_InfoFlags */
649#define NETLOGON_REPLICATION_NEEDED ( 0x00000001 )
650#define NETLOGON_REPLICATION_IN_PROGRESS ( 0x00000002 )
651#define NETLOGON_FULL_SYNC_REPLICATION ( 0x00000004 )
652#define NETLOGON_REDO_NEEDED ( 0x00000008 )
653#define NETLOGON_HAS_IP ( 0x00000010 )
654#define NETLOGON_HAS_TIMESERV ( 0x00000020 )
655#define NETLOGON_DNS_UPDATE_FAILURE ( 0x00000040 )
656#define NETLOGON_VERIFY_STATUS_RETURNED ( 0x00000080 )
657
658struct netr_NETLOGON_INFO_1 {
659	uint32_t flags;
660	WERROR pdc_connection_status;
661};
662
663struct netr_NETLOGON_INFO_2 {
664	uint32_t flags;
665	WERROR pdc_connection_status;
666	const char *trusted_dc_name;/* [unique,charset(UTF16)] */
667	WERROR tc_connection_status;
668};
669
670struct netr_NETLOGON_INFO_3 {
671	uint32_t flags;
672	uint32_t logon_attempts;
673	uint32_t unknown1;
674	uint32_t unknown2;
675	uint32_t unknown3;
676	uint32_t unknown4;
677	uint32_t unknown5;
678};
679
680struct netr_NETLOGON_INFO_4 {
681	const char *trusted_dc_name;/* [unique,charset(UTF16)] */
682	const char *trusted_domain_name;/* [unique,charset(UTF16)] */
683};
684
685union netr_CONTROL_QUERY_INFORMATION {
686	struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
687	struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
688	struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
689	struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
690};
691
692enum netr_LogonControlCode
693#ifndef USE_UINT_ENUMS
694 {
695	NETLOGON_CONTROL_QUERY=(int)(0x00000001),
696	NETLOGON_CONTROL_REPLICATE=(int)(0x00000002),
697	NETLOGON_CONTROL_SYNCHRONIZE=(int)(0x00000003),
698	NETLOGON_CONTROL_PDC_REPLICATE=(int)(0x00000004),
699	NETLOGON_CONTROL_REDISCOVER=(int)(0x00000005),
700	NETLOGON_CONTROL_TC_QUERY=(int)(0x00000006),
701	NETLOGON_CONTROL_TRANSPORT_NOTIFY=(int)(0x00000007),
702	NETLOGON_CONTROL_FIND_USER=(int)(0x00000008),
703	NETLOGON_CONTROL_CHANGE_PASSWORD=(int)(0x00000009),
704	NETLOGON_CONTROL_TC_VERIFY=(int)(0x0000000A),
705	NETLOGON_CONTROL_FORCE_DNS_REG=(int)(0x0000000B),
706	NETLOGON_CONTROL_QUERY_DNS_REG=(int)(0x0000000C),
707	NETLOGON_CONTROL_BACKUP_CHANGE_LOG=(int)(0x0000FFFC),
708	NETLOGON_CONTROL_TRUNCATE_LOG=(int)(0x0000FFFD),
709	NETLOGON_CONTROL_SET_DBFLAG=(int)(0x0000FFFE),
710	NETLOGON_CONTROL_BREAKPOINT=(int)(0x0000FFFF)
711}
712#else
713 { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
714#define NETLOGON_CONTROL_QUERY ( 0x00000001 )
715#define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
716#define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
717#define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
718#define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
719#define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
720#define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
721#define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
722#define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
723#define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
724#define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
725#define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
726#define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
727#define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
728#define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
729#define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
730#endif
731;
732
733union netr_CONTROL_DATA_INFORMATION {
734	const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
735	const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
736	uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
737};
738
739/* bitmap netr_NegotiateFlags */
740#define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
741#define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
742#define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
743#define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
744#define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
745#define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
746#define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
747#define NETLOGON_NEG_REDO ( 0x00000080 )
748#define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
749#define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
750#define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
751#define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
752#define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
753#define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
754#define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
755#define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
756#define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
757#define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
758#define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
759#define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
760#define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
761#define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
762#define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
763#define NETLOGON_NEG_SUPPORTS_AES ( 0x01000000 )
764#define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
765#define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
766
767enum SyncStateEnum
768#ifndef USE_UINT_ENUMS
769 {
770	SYNCSTATE_NORMAL_STATE=(int)(0),
771	SYNCSTATE_DOMAIN_STATE=(int)(1),
772	SYNCSTATE_GROUP_STATE=(int)(2),
773	SYNCSTATE_UAS_BUILT_IN_GROUP_STATE=(int)(3),
774	SYNCSTATE_USER_STATE=(int)(4),
775	SYNCSTATE_GROUP_MEMBER_STATE=(int)(5),
776	SYNCSTATE_ALIAS_STATE=(int)(6),
777	SYNCSTATE_ALIAS_MEMBER_STATE=(int)(7),
778	SYNCSTATE_SAM_DONE_STATE=(int)(8)
779}
780#else
781 { __donnot_use_enum_SyncStateEnum=0x7FFFFFFF}
782#define SYNCSTATE_NORMAL_STATE ( 0 )
783#define SYNCSTATE_DOMAIN_STATE ( 1 )
784#define SYNCSTATE_GROUP_STATE ( 2 )
785#define SYNCSTATE_UAS_BUILT_IN_GROUP_STATE ( 3 )
786#define SYNCSTATE_USER_STATE ( 4 )
787#define SYNCSTATE_GROUP_MEMBER_STATE ( 5 )
788#define SYNCSTATE_ALIAS_STATE ( 6 )
789#define SYNCSTATE_ALIAS_MEMBER_STATE ( 7 )
790#define SYNCSTATE_SAM_DONE_STATE ( 8 )
791#endif
792;
793
794/* bitmap netr_ChangeLogFlags */
795#define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
796#define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
797#define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
798#define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
799#define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
800
801union netr_ChangeLogObject {
802	struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
803	const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2),case(NETR_CHANGELOG_NAME_INCLUDED)] */
804}/* [nodiscriminant] */;
805
806struct netr_ChangeLogEntry {
807	uint32_t serial_number1;
808	uint32_t serial_number2;
809	uint32_t object_rid;
810	uint16_t flags;
811	enum netr_SamDatabaseID8Bit db_index;
812	enum netr_DeltaEnum8Bit delta_type;
813	union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
814}/* [gensize,public] */;
815
816struct netr_Blob {
817	uint32_t length;
818	uint8_t *data;/* [unique,size_is(length)] */
819};
820
821/* bitmap netr_DsRGetDCName_flags */
822#define DS_FORCE_REDISCOVERY ( 0x00000001 )
823#define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
824#define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
825#define DS_GC_SERVER_REQUIRED ( 0x00000040 )
826#define DS_PDC_REQUIRED ( 0x00000080 )
827#define DS_BACKGROUND_ONLY ( 0x00000100 )
828#define DS_IP_REQUIRED ( 0x00000200 )
829#define DS_KDC_REQUIRED ( 0x00000400 )
830#define DS_TIMESERV_REQUIRED ( 0x00000800 )
831#define DS_WRITABLE_REQUIRED ( 0x00001000 )
832#define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
833#define DS_AVOID_SELF ( 0x00004000 )
834#define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
835#define DS_IS_FLAT_NAME ( 0x00010000 )
836#define DS_IS_DNS_NAME ( 0x00020000 )
837#define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
838#define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
839#define DS_WEB_SERVICE_REQUIRED ( 0x00100000 )
840#define DS_RETURN_DNS_NAME ( 0x40000000 )
841#define DS_RETURN_FLAT_NAME ( 0x80000000 )
842
843enum netr_DsRGetDCNameInfo_AddressType
844#ifndef USE_UINT_ENUMS
845 {
846	DS_ADDRESS_TYPE_INET=(int)(1),
847	DS_ADDRESS_TYPE_NETBIOS=(int)(2)
848}
849#else
850 { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
851#define DS_ADDRESS_TYPE_INET ( 1 )
852#define DS_ADDRESS_TYPE_NETBIOS ( 2 )
853#endif
854;
855
856/* bitmap netr_DsR_DcFlags */
857#define DS_SERVER_PDC ( NBT_SERVER_PDC )
858#define DS_SERVER_GC ( NBT_SERVER_GC )
859#define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
860#define DS_SERVER_DS ( NBT_SERVER_DS )
861#define DS_SERVER_KDC ( NBT_SERVER_KDC )
862#define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
863#define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
864#define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
865#define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
866#define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
867#define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
868#define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
869#define DS_DNS_CONTROLLER ( 0x20000000 )
870#define DS_DNS_DOMAIN ( 0x40000000 )
871#define DS_DNS_FOREST ( 0x80000000 )
872
873struct netr_DsRGetDCNameInfo {
874	const char *dc_unc;/* [unique,charset(UTF16)] */
875	const char *dc_address;/* [unique,charset(UTF16)] */
876	enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
877	struct GUID domain_guid;
878	const char *domain_name;/* [unique,charset(UTF16)] */
879	const char *forest_name;/* [unique,charset(UTF16)] */
880	uint32_t dc_flags;
881	const char *dc_site_name;/* [unique,charset(UTF16)] */
882	const char *client_site_name;/* [unique,charset(UTF16)] */
883}/* [public] */;
884
885union netr_Capabilities {
886	uint32_t server_capabilities;/* [case] */
887}/* [switch_type(uint32)] */;
888
889/* bitmap netr_TrustFlags */
890#define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
891#define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
892#define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
893#define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
894#define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
895#define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
896#define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
897#define NETR_TRUST_FLAG_AES ( 0x00000100 )
898
899/* bitmap netr_WorkstationFlags */
900#define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
901#define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
902
903/* bitmap netr_SuiteMask */
904#define NETR_VER_SUITE_BACKOFFICE ( 0x0004 )
905#define NETR_VER_SUITE_BLADE ( 0x0400 )
906#define NETR_VER_SUITE_COMPUTE_SERVER ( 0x4000 )
907#define NETR_VER_SUITE_DATACENTER ( 0x0080 )
908#define NETR_VER_SUITE_ENTERPRISE ( 0x0002 )
909#define NETR_VER_SUITE_EMBEDDEDNT ( 0x0040 )
910#define NETR_VER_SUITE_PERSONAL ( 0x0200 )
911#define NETR_VER_SUITE_SINGLEUSERTS ( 0x0100 )
912#define NETR_VER_SUITE_SMALLBUSINESS ( 0x0001 )
913#define NETR_VER_SUITE_SMALLBUSINESS_RESTRICTED ( 0x0020 )
914#define NETR_VER_SUITE_STORAGE_SERVER ( 0x2000 )
915#define NETR_VER_SUITE_TERMINAL ( 0x0010 )
916#define NETR_VER_SUITE_WH_SERVER ( 0x8000 )
917
918/* bitmap netr_ProductType */
919#define NETR_VER_NT_DOMAIN_CONTROLLER ( 0x02 )
920#define NETR_VER_NT_SERVER ( 0x03 )
921#define NETR_VER_NT_WORKSTATION ( 0x01 )
922
923struct netr_LsaPolicyInformation {
924	uint32_t policy_size;
925	uint8_t *policy;/* [unique,size_is(policy_size)] */
926};
927
928struct netr_OsVersionInfoEx {
929	uint32_t OSVersionInfoSize;/* [value(284)] */
930	uint32_t MajorVersion;
931	uint32_t MinorVersion;
932	uint32_t BuildNumber;
933	uint32_t PlatformId;
934	const char * CSDVersion;/* [subcontext_size(256),subcontext(0),flag(LIBNDR_FLAG_STR_NULLTERM|LIBNDR_FLAG_ALIGN2)] */
935	uint16_t ServicePackMajor;
936	uint16_t ServicePackMinor;
937	uint16_t SuiteMask;
938	uint8_t ProductType;
939	uint8_t Reserved;
940};
941
942struct netr_OsVersion {
943	uint32_t length;/* [value(142)] */
944	uint32_t dummy;/* [value(0)] */
945	uint32_t size;/* [value(142)] */
946	struct netr_OsVersionInfoEx os;
947};
948
949struct netr_OsVersionContainer {
950	uint16_t length;/* [value(os==NULL?0:284)] */
951	uint16_t size;/* [value(os==NULL?0:284)] */
952	struct netr_OsVersion *os;/* [unique] */
953};
954
955struct netr_WorkstationInformation {
956	struct netr_LsaPolicyInformation lsa_policy;
957	const char *dns_hostname;/* [unique,charset(UTF16)] */
958	const char *sitename;/* [unique,charset(UTF16)] */
959	const char *dummy1;/* [unique,charset(UTF16)] */
960	const char *dummy2;/* [unique,charset(UTF16)] */
961	const char *dummy3;/* [unique,charset(UTF16)] */
962	const char *dummy4;/* [unique,charset(UTF16)] */
963	struct netr_OsVersionContainer os_version;
964	struct lsa_String os_name;
965	struct lsa_String dummy_string3;
966	struct lsa_String dummy_string4;
967	uint32_t workstation_flags;
968	uint32_t dummy_long2;
969	uint32_t dummy_long3;
970	uint32_t dummy_long4;
971};
972
973union netr_WorkstationInfo {
974	struct netr_WorkstationInformation *workstation_info;/* [unique,case] */
975	struct netr_WorkstationInformation *lsa_policy_info;/* [unique,case(2)] */
976};
977
978struct netr_trust_extension {
979	uint32_t length;/* [value(8)] */
980	uint32_t dummy;/* [value(0)] */
981	uint32_t size;/* [value(8)] */
982	uint32_t flags;
983	uint32_t parent_index;
984	uint32_t trust_type;
985	uint32_t trust_attributes;
986};
987
988struct netr_trust_extension_container {
989	uint16_t length;
990	uint16_t size;/* [value(length)] */
991	struct netr_trust_extension *info;/* [unique] */
992};
993
994struct netr_OneDomainInfo {
995	struct lsa_StringLarge domainname;
996	struct lsa_StringLarge dns_domainname;
997	struct lsa_StringLarge dns_forestname;
998	struct GUID domain_guid;
999	struct dom_sid2 *domain_sid;/* [unique] */
1000	struct netr_trust_extension_container trust_extension;
1001	struct lsa_StringLarge dummy_string2;
1002	struct lsa_StringLarge dummy_string3;
1003	struct lsa_StringLarge dummy_string4;
1004	uint32_t dummy_long1;
1005	uint32_t dummy_long2;
1006	uint32_t dummy_long3;
1007	uint32_t dummy_long4;
1008};
1009
1010/* bitmap netr_SupportedEncTypes */
1011#define ENC_CRC32 ( 0x00000001 )
1012#define ENC_RSA_MD5 ( 0x00000002 )
1013#define ENC_RC4_HMAC_MD5 ( 0x00000004 )
1014#define ENC_HMAC_SHA1_96_AES128 ( 0x00000008 )
1015#define ENC_HMAC_SHA1_96_AES256 ( 0x00000010 )
1016
1017struct netr_DomainInformation {
1018	struct netr_OneDomainInfo primary_domain;
1019	uint32_t trusted_domain_count;
1020	struct netr_OneDomainInfo *trusted_domains;/* [unique,size_is(trusted_domain_count)] */
1021	struct netr_LsaPolicyInformation lsa_policy;
1022	struct lsa_StringLarge dns_hostname;
1023	struct lsa_StringLarge dummy_string2;
1024	struct lsa_StringLarge dummy_string3;
1025	struct lsa_StringLarge dummy_string4;
1026	uint32_t workstation_flags;
1027	uint32_t supported_enc_types;
1028	uint32_t dummy_long3;
1029	uint32_t dummy_long4;
1030};
1031
1032union netr_DomainInfo {
1033	struct netr_DomainInformation *domain_info;/* [unique,case] */
1034	struct netr_LsaPolicyInformation *lsa_policy_info;/* [unique,case(2)] */
1035};
1036
1037struct NL_PASSWORD_VERSION {
1038	uint32_t ReservedField;
1039	uint32_t PasswordVersionNumber;
1040	uint32_t PasswordVersionPresent;
1041};
1042
1043struct netr_CryptPassword {
1044	uint8_t data[512];
1045	uint32_t length;
1046}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
1047
1048struct netr_DsRAddressToSitenamesWCtr {
1049	uint32_t count;
1050	struct lsa_String *sitename;/* [unique,size_is(count)] */
1051};
1052
1053struct netr_DsRAddress {
1054	uint8_t *buffer;/* [unique,size_is(size)] */
1055	uint32_t size;
1056};
1057
1058enum netr_TrustType
1059#ifndef USE_UINT_ENUMS
1060 {
1061	NETR_TRUST_TYPE_DOWNLEVEL=(int)(1),
1062	NETR_TRUST_TYPE_UPLEVEL=(int)(2),
1063	NETR_TRUST_TYPE_MIT=(int)(3),
1064	NETR_TRUST_TYPE_DCE=(int)(4)
1065}
1066#else
1067 { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
1068#define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
1069#define NETR_TRUST_TYPE_UPLEVEL ( 2 )
1070#define NETR_TRUST_TYPE_MIT ( 3 )
1071#define NETR_TRUST_TYPE_DCE ( 4 )
1072#endif
1073;
1074
1075/* bitmap netr_TrustAttributes */
1076#define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
1077#define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
1078#define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
1079#define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
1080#define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
1081#define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
1082#define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
1083
1084struct netr_DomainTrust {
1085	const char *netbios_name;/* [unique,charset(UTF16)] */
1086	const char *dns_name;/* [unique,charset(UTF16)] */
1087	uint32_t trust_flags;
1088	uint32_t parent_index;
1089	enum netr_TrustType trust_type;
1090	uint32_t trust_attributes;
1091	struct dom_sid2 *sid;/* [unique] */
1092	struct GUID guid;
1093};
1094
1095struct netr_DomainTrustList {
1096	uint32_t count;
1097	struct netr_DomainTrust *array;/* [unique,size_is(count)] */
1098};
1099
1100struct netr_DsRAddressToSitenamesExWCtr {
1101	uint32_t count;
1102	struct lsa_String *sitename;/* [unique,size_is(count)] */
1103	struct lsa_String *subnetname;/* [unique,size_is(count)] */
1104};
1105
1106struct DcSitesCtr {
1107	uint32_t num_sites;
1108	struct lsa_String *sites;/* [unique,size_is(num_sites)] */
1109};
1110
1111struct netr_TrustInfo {
1112	uint32_t count;
1113	uint32_t *data;/* [unique,size_is(count)] */
1114	uint32_t entry_count;
1115	struct lsa_String *entries;/* [unique,size_is(count)] */
1116};
1117
1118
1119struct netr_LogonUasLogon {
1120	struct {
1121		const char *server_name;/* [unique,charset(UTF16)] */
1122		const char *account_name;/* [ref,charset(UTF16)] */
1123		const char *workstation;/* [ref,charset(UTF16)] */
1124	} in;
1125
1126	struct {
1127		struct netr_UasInfo **info;/* [ref] */
1128		WERROR result;
1129	} out;
1130
1131};
1132
1133
1134struct netr_LogonUasLogoff {
1135	struct {
1136		const char *server_name;/* [unique,charset(UTF16)] */
1137		const char *account_name;/* [ref,charset(UTF16)] */
1138		const char *workstation;/* [ref,charset(UTF16)] */
1139	} in;
1140
1141	struct {
1142		struct netr_UasLogoffInfo *info;/* [ref] */
1143		WERROR result;
1144	} out;
1145
1146};
1147
1148
1149struct netr_LogonSamLogon {
1150	struct {
1151		const char *server_name;/* [unique,charset(UTF16)] */
1152		const char *computer_name;/* [unique,charset(UTF16)] */
1153		struct netr_Authenticator *credential;/* [unique] */
1154		enum netr_LogonInfoClass logon_level;
1155		union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1156		uint16_t validation_level;
1157		struct netr_Authenticator *return_authenticator;/* [unique] */
1158	} in;
1159
1160	struct {
1161		union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1162		uint8_t *authoritative;/* [ref] */
1163		struct netr_Authenticator *return_authenticator;/* [unique] */
1164		NTSTATUS result;
1165	} out;
1166
1167};
1168
1169
1170struct netr_LogonSamLogoff {
1171	struct {
1172		const char *server_name;/* [unique,charset(UTF16)] */
1173		const char *computer_name;/* [unique,charset(UTF16)] */
1174		struct netr_Authenticator *credential;/* [unique] */
1175		enum netr_LogonInfoClass logon_level;
1176		union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1177		struct netr_Authenticator *return_authenticator;/* [unique] */
1178	} in;
1179
1180	struct {
1181		struct netr_Authenticator *return_authenticator;/* [unique] */
1182		NTSTATUS result;
1183	} out;
1184
1185};
1186
1187
1188struct netr_ServerReqChallenge {
1189	struct {
1190		const char *server_name;/* [unique,charset(UTF16)] */
1191		const char *computer_name;/* [ref,charset(UTF16)] */
1192		struct netr_Credential *credentials;/* [ref] */
1193	} in;
1194
1195	struct {
1196		struct netr_Credential *return_credentials;/* [ref] */
1197		NTSTATUS result;
1198	} out;
1199
1200};
1201
1202
1203struct netr_ServerAuthenticate {
1204	struct {
1205		const char *server_name;/* [unique,charset(UTF16)] */
1206		const char *account_name;/* [ref,charset(UTF16)] */
1207		enum netr_SchannelType secure_channel_type;
1208		const char *computer_name;/* [ref,charset(UTF16)] */
1209		struct netr_Credential *credentials;/* [ref] */
1210	} in;
1211
1212	struct {
1213		struct netr_Credential *return_credentials;/* [ref] */
1214		NTSTATUS result;
1215	} out;
1216
1217};
1218
1219
1220struct netr_ServerPasswordSet {
1221	struct {
1222		const char *server_name;/* [unique,charset(UTF16)] */
1223		const char *account_name;/* [ref,charset(UTF16)] */
1224		enum netr_SchannelType secure_channel_type;
1225		const char *computer_name;/* [ref,charset(UTF16)] */
1226		struct netr_Authenticator *credential;/* [ref] */
1227		struct samr_Password *new_password;/* [ref] */
1228	} in;
1229
1230	struct {
1231		struct netr_Authenticator *return_authenticator;/* [ref] */
1232		NTSTATUS result;
1233	} out;
1234
1235};
1236
1237
1238struct netr_DatabaseDeltas {
1239	struct {
1240		const char *logon_server;/* [ref,charset(UTF16)] */
1241		const char *computername;/* [ref,charset(UTF16)] */
1242		struct netr_Authenticator *credential;/* [ref] */
1243		enum netr_SamDatabaseID database_id;
1244		uint32_t preferredmaximumlength;
1245		struct netr_Authenticator *return_authenticator;/* [ref] */
1246		uint64_t *sequence_num;/* [ref] */
1247	} in;
1248
1249	struct {
1250		struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1251		struct netr_Authenticator *return_authenticator;/* [ref] */
1252		uint64_t *sequence_num;/* [ref] */
1253		NTSTATUS result;
1254	} out;
1255
1256};
1257
1258
1259struct netr_DatabaseSync {
1260	struct {
1261		const char *logon_server;/* [ref,charset(UTF16)] */
1262		const char *computername;/* [ref,charset(UTF16)] */
1263		struct netr_Authenticator *credential;/* [ref] */
1264		enum netr_SamDatabaseID database_id;
1265		uint32_t preferredmaximumlength;
1266		struct netr_Authenticator *return_authenticator;/* [ref] */
1267		uint32_t *sync_context;/* [ref] */
1268	} in;
1269
1270	struct {
1271		struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1272		struct netr_Authenticator *return_authenticator;/* [ref] */
1273		uint32_t *sync_context;/* [ref] */
1274		NTSTATUS result;
1275	} out;
1276
1277};
1278
1279
1280struct netr_AccountDeltas {
1281	struct {
1282		const char *logon_server;/* [unique,charset(UTF16)] */
1283		const char *computername;/* [ref,charset(UTF16)] */
1284		struct netr_Authenticator credential;
1285		struct netr_UAS_INFO_0 uas;
1286		uint32_t count;
1287		uint32_t level;
1288		uint32_t buffersize;
1289		struct netr_Authenticator *return_authenticator;/* [ref] */
1290	} in;
1291
1292	struct {
1293		struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1294		uint32_t *count_returned;/* [ref] */
1295		uint32_t *total_entries;/* [ref] */
1296		struct netr_UAS_INFO_0 *recordid;/* [ref] */
1297		struct netr_Authenticator *return_authenticator;/* [ref] */
1298		NTSTATUS result;
1299	} out;
1300
1301};
1302
1303
1304struct netr_AccountSync {
1305	struct {
1306		const char *logon_server;/* [unique,charset(UTF16)] */
1307		const char *computername;/* [ref,charset(UTF16)] */
1308		struct netr_Authenticator credential;
1309		uint32_t reference;
1310		uint32_t level;
1311		uint32_t buffersize;
1312		struct netr_Authenticator *return_authenticator;/* [ref] */
1313		struct netr_UAS_INFO_0 *recordid;/* [ref] */
1314	} in;
1315
1316	struct {
1317		struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1318		uint32_t *count_returned;/* [ref] */
1319		uint32_t *total_entries;/* [ref] */
1320		uint32_t *next_reference;/* [ref] */
1321		struct netr_Authenticator *return_authenticator;/* [ref] */
1322		struct netr_UAS_INFO_0 *recordid;/* [ref] */
1323		NTSTATUS result;
1324	} out;
1325
1326};
1327
1328
1329struct netr_GetDcName {
1330	struct {
1331		const char *logon_server;/* [ref,charset(UTF16)] */
1332		const char *domainname;/* [unique,charset(UTF16)] */
1333	} in;
1334
1335	struct {
1336		const char **dcname;/* [ref,charset(UTF16)] */
1337		WERROR result;
1338	} out;
1339
1340};
1341
1342
1343struct netr_LogonControl {
1344	struct {
1345		const char *logon_server;/* [unique,charset(UTF16)] */
1346		enum netr_LogonControlCode function_code;
1347		uint32_t level;
1348	} in;
1349
1350	struct {
1351		union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1352		WERROR result;
1353	} out;
1354
1355};
1356
1357
1358struct netr_GetAnyDCName {
1359	struct {
1360		const char *logon_server;/* [unique,charset(UTF16)] */
1361		const char *domainname;/* [unique,charset(UTF16)] */
1362	} in;
1363
1364	struct {
1365		const char **dcname;/* [ref,charset(UTF16)] */
1366		WERROR result;
1367	} out;
1368
1369};
1370
1371
1372struct netr_LogonControl2 {
1373	struct {
1374		const char *logon_server;/* [unique,charset(UTF16)] */
1375		enum netr_LogonControlCode function_code;
1376		uint32_t level;
1377		union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1378	} in;
1379
1380	struct {
1381		union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1382		WERROR result;
1383	} out;
1384
1385};
1386
1387
1388struct netr_ServerAuthenticate2 {
1389	struct {
1390		const char *server_name;/* [unique,charset(UTF16)] */
1391		const char *account_name;/* [ref,charset(UTF16)] */
1392		enum netr_SchannelType secure_channel_type;
1393		const char *computer_name;/* [ref,charset(UTF16)] */
1394		struct netr_Credential *credentials;/* [ref] */
1395		uint32_t *negotiate_flags;/* [ref] */
1396	} in;
1397
1398	struct {
1399		struct netr_Credential *return_credentials;/* [ref] */
1400		uint32_t *negotiate_flags;/* [ref] */
1401		NTSTATUS result;
1402	} out;
1403
1404};
1405
1406
1407struct netr_DatabaseSync2 {
1408	struct {
1409		const char *logon_server;/* [ref,charset(UTF16)] */
1410		const char *computername;/* [ref,charset(UTF16)] */
1411		struct netr_Authenticator *credential;/* [ref] */
1412		enum netr_SamDatabaseID database_id;
1413		enum SyncStateEnum restart_state;
1414		uint32_t preferredmaximumlength;
1415		struct netr_Authenticator *return_authenticator;/* [ref] */
1416		uint32_t *sync_context;/* [ref] */
1417	} in;
1418
1419	struct {
1420		struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1421		struct netr_Authenticator *return_authenticator;/* [ref] */
1422		uint32_t *sync_context;/* [ref] */
1423		NTSTATUS result;
1424	} out;
1425
1426};
1427
1428
1429struct netr_DatabaseRedo {
1430	struct {
1431		const char *logon_server;/* [ref,charset(UTF16)] */
1432		const char *computername;/* [ref,charset(UTF16)] */
1433		struct netr_Authenticator *credential;/* [ref] */
1434		struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1435		uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1436		struct netr_Authenticator *return_authenticator;/* [ref] */
1437	} in;
1438
1439	struct {
1440		struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1441		struct netr_Authenticator *return_authenticator;/* [ref] */
1442		NTSTATUS result;
1443	} out;
1444
1445};
1446
1447
1448struct netr_LogonControl2Ex {
1449	struct {
1450		const char *logon_server;/* [unique,charset(UTF16)] */
1451		enum netr_LogonControlCode function_code;
1452		uint32_t level;
1453		union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1454	} in;
1455
1456	struct {
1457		union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1458		WERROR result;
1459	} out;
1460
1461};
1462
1463
1464struct netr_NetrEnumerateTrustedDomains {
1465	struct {
1466		const char *server_name;/* [unique,charset(UTF16)] */
1467	} in;
1468
1469	struct {
1470		struct netr_Blob *trusted_domains_blob;/* [ref] */
1471		WERROR result;
1472	} out;
1473
1474};
1475
1476
1477struct netr_DsRGetDCName {
1478	struct {
1479		const char *server_unc;/* [unique,charset(UTF16)] */
1480		const char *domain_name;/* [unique,charset(UTF16)] */
1481		struct GUID *domain_guid;/* [unique] */
1482		struct GUID *site_guid;/* [unique] */
1483		uint32_t flags;
1484	} in;
1485
1486	struct {
1487		struct netr_DsRGetDCNameInfo **info;/* [ref] */
1488		WERROR result;
1489	} out;
1490
1491};
1492
1493
1494struct netr_LogonGetCapabilities {
1495	struct {
1496		const char *server_name;/* [ref,charset(UTF16)] */
1497		const char *computer_name;/* [unique,charset(UTF16)] */
1498		struct netr_Authenticator *credential;/* [ref] */
1499		uint32_t query_level;
1500		struct netr_Authenticator *return_authenticator;/* [ref] */
1501	} in;
1502
1503	struct {
1504		union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1505		struct netr_Authenticator *return_authenticator;/* [ref] */
1506		NTSTATUS result;
1507	} out;
1508
1509};
1510
1511
1512struct netr_NETRLOGONSETSERVICEBITS {
1513	struct {
1514		WERROR result;
1515	} out;
1516
1517};
1518
1519
1520struct netr_LogonGetTrustRid {
1521	struct {
1522		const char *server_name;/* [unique,charset(UTF16)] */
1523		const char *domain_name;/* [unique,charset(UTF16)] */
1524	} in;
1525
1526	struct {
1527		uint32_t *rid;/* [ref] */
1528		WERROR result;
1529	} out;
1530
1531};
1532
1533
1534struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1535	struct {
1536		WERROR result;
1537	} out;
1538
1539};
1540
1541
1542struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1543	struct {
1544		WERROR result;
1545	} out;
1546
1547};
1548
1549
1550struct netr_ServerAuthenticate3 {
1551	struct {
1552		const char *server_name;/* [unique,charset(UTF16)] */
1553		const char *account_name;/* [ref,charset(UTF16)] */
1554		enum netr_SchannelType secure_channel_type;
1555		const char *computer_name;/* [ref,charset(UTF16)] */
1556		struct netr_Credential *credentials;/* [ref] */
1557		uint32_t *negotiate_flags;/* [ref] */
1558	} in;
1559
1560	struct {
1561		struct netr_Credential *return_credentials;/* [ref] */
1562		uint32_t *rid;/* [ref] */
1563		uint32_t *negotiate_flags;/* [ref] */
1564		NTSTATUS result;
1565	} out;
1566
1567};
1568
1569
1570struct netr_DsRGetDCNameEx {
1571	struct {
1572		const char *server_unc;/* [unique,charset(UTF16)] */
1573		const char *domain_name;/* [unique,charset(UTF16)] */
1574		struct GUID *domain_guid;/* [unique] */
1575		const char *site_name;/* [unique,charset(UTF16)] */
1576		uint32_t flags;
1577	} in;
1578
1579	struct {
1580		struct netr_DsRGetDCNameInfo **info;/* [ref] */
1581		WERROR result;
1582	} out;
1583
1584};
1585
1586
1587struct netr_DsRGetSiteName {
1588	struct {
1589		const char *computer_name;/* [unique,charset(UTF16)] */
1590	} in;
1591
1592	struct {
1593		const char **site;/* [ref,charset(UTF16)] */
1594		WERROR result;
1595	} out;
1596
1597};
1598
1599
1600struct netr_LogonGetDomainInfo {
1601	struct {
1602		const char *server_name;/* [ref,charset(UTF16)] */
1603		const char *computer_name;/* [unique,charset(UTF16)] */
1604		struct netr_Authenticator *credential;/* [ref] */
1605		uint32_t level;
1606		union netr_WorkstationInfo *query;/* [ref,switch_is(level)] */
1607		struct netr_Authenticator *return_authenticator;/* [ref] */
1608	} in;
1609
1610	struct {
1611		union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1612		struct netr_Authenticator *return_authenticator;/* [ref] */
1613		NTSTATUS result;
1614	} out;
1615
1616};
1617
1618
1619struct netr_ServerPasswordSet2 {
1620	struct {
1621		const char *server_name;/* [unique,charset(UTF16)] */
1622		const char *account_name;/* [ref,charset(UTF16)] */
1623		enum netr_SchannelType secure_channel_type;
1624		const char *computer_name;/* [ref,charset(UTF16)] */
1625		struct netr_Authenticator *credential;/* [ref] */
1626		struct netr_CryptPassword *new_password;/* [ref] */
1627	} in;
1628
1629	struct {
1630		struct netr_Authenticator *return_authenticator;/* [ref] */
1631		NTSTATUS result;
1632	} out;
1633
1634};
1635
1636
1637struct netr_ServerPasswordGet {
1638	struct {
1639		const char *server_name;/* [unique,charset(UTF16)] */
1640		const char *account_name;/* [ref,charset(UTF16)] */
1641		enum netr_SchannelType secure_channel_type;
1642		const char *computer_name;/* [ref,charset(UTF16)] */
1643		struct netr_Authenticator *credential;/* [ref] */
1644	} in;
1645
1646	struct {
1647		struct netr_Authenticator *return_authenticator;/* [ref] */
1648		struct samr_Password *password;/* [ref] */
1649		WERROR result;
1650	} out;
1651
1652};
1653
1654
1655struct netr_NETRLOGONSENDTOSAM {
1656	struct {
1657		WERROR result;
1658	} out;
1659
1660};
1661
1662
1663struct netr_DsRAddressToSitenamesW {
1664	struct {
1665		const char *server_name;/* [unique,charset(UTF16)] */
1666		uint32_t count;/* [range(0,32000)] */
1667		struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1668	} in;
1669
1670	struct {
1671		struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1672		WERROR result;
1673	} out;
1674
1675};
1676
1677
1678struct netr_DsRGetDCNameEx2 {
1679	struct {
1680		const char *server_unc;/* [unique,charset(UTF16)] */
1681		const char *client_account;/* [unique,charset(UTF16)] */
1682		uint32_t mask;
1683		const char *domain_name;/* [unique,charset(UTF16)] */
1684		struct GUID *domain_guid;/* [unique] */
1685		const char *site_name;/* [unique,charset(UTF16)] */
1686		uint32_t flags;
1687	} in;
1688
1689	struct {
1690		struct netr_DsRGetDCNameInfo **info;/* [ref] */
1691		WERROR result;
1692	} out;
1693
1694};
1695
1696
1697struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1698	struct {
1699		WERROR result;
1700	} out;
1701
1702};
1703
1704
1705struct netr_NetrEnumerateTrustedDomainsEx {
1706	struct {
1707		const char *server_name;/* [unique,charset(UTF16)] */
1708	} in;
1709
1710	struct {
1711		struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1712		WERROR result;
1713	} out;
1714
1715};
1716
1717
1718struct netr_DsRAddressToSitenamesExW {
1719	struct {
1720		const char *server_name;/* [unique,charset(UTF16)] */
1721		uint32_t count;/* [range(0,32000)] */
1722		struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1723	} in;
1724
1725	struct {
1726		struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1727		WERROR result;
1728	} out;
1729
1730};
1731
1732
1733struct netr_DsrGetDcSiteCoverageW {
1734	struct {
1735		const char *server_name;/* [unique,charset(UTF16)] */
1736	} in;
1737
1738	struct {
1739		struct DcSitesCtr **ctr;/* [ref] */
1740		WERROR result;
1741	} out;
1742
1743};
1744
1745
1746struct netr_LogonSamLogonEx {
1747	struct {
1748		const char *server_name;/* [unique,charset(UTF16)] */
1749		const char *computer_name;/* [unique,charset(UTF16)] */
1750		enum netr_LogonInfoClass logon_level;
1751		union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1752		uint16_t validation_level;
1753		uint32_t *flags;/* [ref] */
1754	} in;
1755
1756	struct {
1757		union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1758		uint8_t *authoritative;/* [ref] */
1759		uint32_t *flags;/* [ref] */
1760		NTSTATUS result;
1761	} out;
1762
1763};
1764
1765
1766struct netr_DsrEnumerateDomainTrusts {
1767	struct {
1768		const char *server_name;/* [unique,charset(UTF16)] */
1769		uint32_t trust_flags;
1770	} in;
1771
1772	struct {
1773		struct netr_DomainTrustList *trusts;/* [ref] */
1774		WERROR result;
1775	} out;
1776
1777};
1778
1779
1780struct netr_DsrDeregisterDNSHostRecords {
1781	struct {
1782		const char *server_name;/* [unique,charset(UTF16)] */
1783		const char *domain;/* [unique,charset(UTF16)] */
1784		struct GUID *domain_guid;/* [unique] */
1785		struct GUID *dsa_guid;/* [unique] */
1786		const char *dns_host;/* [ref,charset(UTF16)] */
1787	} in;
1788
1789	struct {
1790		WERROR result;
1791	} out;
1792
1793};
1794
1795
1796struct netr_ServerTrustPasswordsGet {
1797	struct {
1798		const char *server_name;/* [unique,charset(UTF16)] */
1799		const char *account_name;/* [ref,charset(UTF16)] */
1800		enum netr_SchannelType secure_channel_type;
1801		const char *computer_name;/* [ref,charset(UTF16)] */
1802		struct netr_Authenticator *credential;/* [ref] */
1803	} in;
1804
1805	struct {
1806		struct netr_Authenticator *return_authenticator;/* [ref] */
1807		struct samr_Password *password;/* [ref] */
1808		struct samr_Password *password2;/* [ref] */
1809		NTSTATUS result;
1810	} out;
1811
1812};
1813
1814
1815struct netr_DsRGetForestTrustInformation {
1816	struct {
1817		const char *server_name;/* [unique,charset(UTF16)] */
1818		const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1819		uint32_t flags;
1820	} in;
1821
1822	struct {
1823		struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1824		WERROR result;
1825	} out;
1826
1827};
1828
1829
1830struct netr_GetForestTrustInformation {
1831	struct {
1832		const char *server_name;/* [unique,charset(UTF16)] */
1833		const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1834		struct netr_Authenticator *credential;/* [ref] */
1835		uint32_t flags;
1836	} in;
1837
1838	struct {
1839		struct netr_Authenticator *return_authenticator;/* [ref] */
1840		struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1841		WERROR result;
1842	} out;
1843
1844};
1845
1846
1847struct netr_LogonSamLogonWithFlags {
1848	struct {
1849		const char *server_name;/* [unique,charset(UTF16)] */
1850		const char *computer_name;/* [unique,charset(UTF16)] */
1851		struct netr_Authenticator *credential;/* [unique] */
1852		enum netr_LogonInfoClass logon_level;
1853		union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1854		uint16_t validation_level;
1855		struct netr_Authenticator *return_authenticator;/* [unique] */
1856		uint32_t *flags;/* [ref] */
1857	} in;
1858
1859	struct {
1860		union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1861		uint8_t *authoritative;/* [ref] */
1862		struct netr_Authenticator *return_authenticator;/* [unique] */
1863		uint32_t *flags;/* [ref] */
1864		NTSTATUS result;
1865	} out;
1866
1867};
1868
1869
1870struct netr_ServerGetTrustInfo {
1871	struct {
1872		const char *server_name;/* [unique,charset(UTF16)] */
1873		const char *account_name;/* [ref,charset(UTF16)] */
1874		enum netr_SchannelType secure_channel_type;
1875		const char *computer_name;/* [ref,charset(UTF16)] */
1876		struct netr_Authenticator *credential;/* [ref] */
1877	} in;
1878
1879	struct {
1880		struct netr_Authenticator *return_authenticator;/* [ref] */
1881		struct samr_Password *new_owf_password;/* [ref] */
1882		struct samr_Password *old_owf_password;/* [ref] */
1883		struct netr_TrustInfo **trust_info;/* [ref] */
1884		NTSTATUS result;
1885	} out;
1886
1887};
1888
1889#endif /* _HEADER_netlogon */
1890