source: branches/samba-3.2.x/source/librpc/gen_ndr/netlogon.h

Last change on this file was 233, checked in by Herwig Bauernfeind, 16 years ago

Update 3.2 branch to 3.2.9

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