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

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

Update Samba 3.3 to 3.3.1

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