1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/misc.h"
6 #include "librpc/gen_ndr/lsa.h"
7 #include "librpc/gen_ndr/security.h"
11 #define SAMR_ACCESS_ALL_ACCESS ( 0x0000003F )
12 #define GENERIC_RIGHTS_SAM_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ACCESS_ALL_ACCESS) )
13 #define GENERIC_RIGHTS_SAM_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ACCESS_ENUM_DOMAINS) )
14 #define GENERIC_RIGHTS_SAM_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ACCESS_CREATE_DOMAIN|SAMR_ACCESS_INITIALIZE_SERVER|SAMR_ACCESS_SHUTDOWN_SERVER) )
15 #define GENERIC_RIGHTS_SAM_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ACCESS_OPEN_DOMAIN|SAMR_ACCESS_CONNECT_TO_SERVER) )
16 #define SAMR_USER_ACCESS_ALL_ACCESS ( 0x000007FF )
17 #define GENERIC_RIGHTS_USER_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_USER_ACCESS_ALL_ACCESS) )
18 #define GENERIC_RIGHTS_USER_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP|SAMR_USER_ACCESS_GET_GROUPS|SAMR_USER_ACCESS_GET_ATTRIBUTES|SAMR_USER_ACCESS_GET_LOGONINFO|SAMR_USER_ACCESS_GET_LOCALE) )
19 #define GENERIC_RIGHTS_USER_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_USER_ACCESS_CHANGE_PASSWORD|SAMR_USER_ACCESS_SET_LOC_COM|SAMR_USER_ACCESS_SET_ATTRIBUTES|SAMR_USER_ACCESS_SET_PASSWORD|SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP) )
20 #define GENERIC_RIGHTS_USER_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_USER_ACCESS_CHANGE_PASSWORD|SAMR_USER_ACCESS_GET_NAME_ETC) )
21 #define SAMR_DOMAIN_ACCESS_ALL_ACCESS ( 0x000007FF )
22 #define GENERIC_RIGHTS_DOMAIN_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_DOMAIN_ACCESS_ALL_ACCESS) )
23 #define GENERIC_RIGHTS_DOMAIN_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS|SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2) )
24 #define GENERIC_RIGHTS_DOMAIN_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_DOMAIN_ACCESS_SET_INFO_3|SAMR_DOMAIN_ACCESS_CREATE_ALIAS|SAMR_DOMAIN_ACCESS_CREATE_GROUP|SAMR_DOMAIN_ACCESS_CREATE_USER|SAMR_DOMAIN_ACCESS_SET_INFO_2|SAMR_DOMAIN_ACCESS_SET_INFO_1) )
25 #define GENERIC_RIGHTS_DOMAIN_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT|SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS|SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1) )
26 #define SAMR_GROUP_ACCESS_ALL_ACCESS ( 0x0000001F )
27 #define GENERIC_RIGHTS_GROUP_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_GROUP_ACCESS_ALL_ACCESS) )
28 #define GENERIC_RIGHTS_GROUP_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_GROUP_ACCESS_GET_MEMBERS) )
29 #define GENERIC_RIGHTS_GROUP_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_GROUP_ACCESS_REMOVE_MEMBER|SAMR_GROUP_ACCESS_ADD_MEMBER|SAMR_GROUP_ACCESS_SET_INFO) )
30 #define GENERIC_RIGHTS_GROUP_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_GROUP_ACCESS_LOOKUP_INFO) )
31 #define SAMR_ALIAS_ACCESS_ALL_ACCESS ( 0x0000001F )
32 #define GENERIC_RIGHTS_ALIAS_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ALIAS_ACCESS_ALL_ACCESS) )
33 #define GENERIC_RIGHTS_ALIAS_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ALIAS_ACCESS_GET_MEMBERS) )
34 #define GENERIC_RIGHTS_ALIAS_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ALIAS_ACCESS_REMOVE_MEMBER|SAMR_ALIAS_ACCESS_ADD_MEMBER|SAMR_ALIAS_ACCESS_SET_INFO) )
35 #define GENERIC_RIGHTS_ALIAS_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ALIAS_ACCESS_LOOKUP_INFO) )
36 #define SAMR_ENUM_USERS_MULTIPLIER ( 54 )
37 #define PASS_MUST_CHANGE_AT_NEXT_LOGON ( 0x01 )
38 #define PASS_DONT_CHANGE_AT_NEXT_LOGON ( 0x00 )
39 enum netr_SamDatabaseID
40 #ifndef USE_UINT_ENUMS
42 SAM_DATABASE_DOMAIN=0,
43 SAM_DATABASE_BUILTIN=1,
47 { __donnot_use_enum_netr_SamDatabaseID=0x7FFFFFFF}
48 #define SAM_DATABASE_DOMAIN ( 0 )
49 #define SAM_DATABASE_BUILTIN ( 1 )
50 #define SAM_DATABASE_PRIVS ( 2 )
54 enum samr_RejectReason
55 #ifndef USE_UINT_ENUMS
58 SAMR_REJECT_TOO_SHORT=1,
59 SAMR_REJECT_IN_HISTORY=2,
60 SAMR_REJECT_COMPLEXITY=5
63 { __donnot_use_enum_samr_RejectReason=0x7FFFFFFF}
64 #define SAMR_REJECT_OTHER ( 0 )
65 #define SAMR_REJECT_TOO_SHORT ( 1 )
66 #define SAMR_REJECT_IN_HISTORY ( 2 )
67 #define SAMR_REJECT_COMPLEXITY ( 5 )
71 /* bitmap samr_AcctFlags */
72 #define ACB_DISABLED ( 0x00000001 )
73 #define ACB_HOMDIRREQ ( 0x00000002 )
74 #define ACB_PWNOTREQ ( 0x00000004 )
75 #define ACB_TEMPDUP ( 0x00000008 )
76 #define ACB_NORMAL ( 0x00000010 )
77 #define ACB_MNS ( 0x00000020 )
78 #define ACB_DOMTRUST ( 0x00000040 )
79 #define ACB_WSTRUST ( 0x00000080 )
80 #define ACB_SVRTRUST ( 0x00000100 )
81 #define ACB_PWNOEXP ( 0x00000200 )
82 #define ACB_AUTOLOCK ( 0x00000400 )
83 #define ACB_ENC_TXT_PWD_ALLOWED ( 0x00000800 )
84 #define ACB_SMARTCARD_REQUIRED ( 0x00001000 )
85 #define ACB_TRUSTED_FOR_DELEGATION ( 0x00002000 )
86 #define ACB_NOT_DELEGATED ( 0x00004000 )
87 #define ACB_USE_DES_KEY_ONLY ( 0x00008000 )
88 #define ACB_DONT_REQUIRE_PREAUTH ( 0x00010000 )
89 #define ACB_PW_EXPIRED ( 0x00020000 )
90 #define ACB_NO_AUTH_DATA_REQD ( 0x00080000 )
92 /* bitmap samr_ConnectAccessMask */
93 #define SAMR_ACCESS_CONNECT_TO_SERVER ( 0x00000001 )
94 #define SAMR_ACCESS_SHUTDOWN_SERVER ( 0x00000002 )
95 #define SAMR_ACCESS_INITIALIZE_SERVER ( 0x00000004 )
96 #define SAMR_ACCESS_CREATE_DOMAIN ( 0x00000008 )
97 #define SAMR_ACCESS_ENUM_DOMAINS ( 0x00000010 )
98 #define SAMR_ACCESS_OPEN_DOMAIN ( 0x00000020 )
100 /* bitmap samr_UserAccessMask */
101 #define SAMR_USER_ACCESS_GET_NAME_ETC ( 0x00000001 )
102 #define SAMR_USER_ACCESS_GET_LOCALE ( 0x00000002 )
103 #define SAMR_USER_ACCESS_SET_LOC_COM ( 0x00000004 )
104 #define SAMR_USER_ACCESS_GET_LOGONINFO ( 0x00000008 )
105 #define SAMR_USER_ACCESS_GET_ATTRIBUTES ( 0x00000010 )
106 #define SAMR_USER_ACCESS_SET_ATTRIBUTES ( 0x00000020 )
107 #define SAMR_USER_ACCESS_CHANGE_PASSWORD ( 0x00000040 )
108 #define SAMR_USER_ACCESS_SET_PASSWORD ( 0x00000080 )
109 #define SAMR_USER_ACCESS_GET_GROUPS ( 0x00000100 )
110 #define SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP ( 0x00000200 )
111 #define SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP ( 0x00000400 )
113 /* bitmap samr_DomainAccessMask */
114 #define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 ( 0x00000001 )
115 #define SAMR_DOMAIN_ACCESS_SET_INFO_1 ( 0x00000002 )
116 #define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 ( 0x00000004 )
117 #define SAMR_DOMAIN_ACCESS_SET_INFO_2 ( 0x00000008 )
118 #define SAMR_DOMAIN_ACCESS_CREATE_USER ( 0x00000010 )
119 #define SAMR_DOMAIN_ACCESS_CREATE_GROUP ( 0x00000020 )
120 #define SAMR_DOMAIN_ACCESS_CREATE_ALIAS ( 0x00000040 )
121 #define SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS ( 0x00000080 )
122 #define SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS ( 0x00000100 )
123 #define SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT ( 0x00000200 )
124 #define SAMR_DOMAIN_ACCESS_SET_INFO_3 ( 0x00000400 )
126 /* bitmap samr_GroupAccessMask */
127 #define SAMR_GROUP_ACCESS_LOOKUP_INFO ( 0x00000001 )
128 #define SAMR_GROUP_ACCESS_SET_INFO ( 0x00000002 )
129 #define SAMR_GROUP_ACCESS_ADD_MEMBER ( 0x00000004 )
130 #define SAMR_GROUP_ACCESS_REMOVE_MEMBER ( 0x00000008 )
131 #define SAMR_GROUP_ACCESS_GET_MEMBERS ( 0x00000010 )
133 /* bitmap samr_AliasAccessMask */
134 #define SAMR_ALIAS_ACCESS_ADD_MEMBER ( 0x00000001 )
135 #define SAMR_ALIAS_ACCESS_REMOVE_MEMBER ( 0x00000002 )
136 #define SAMR_ALIAS_ACCESS_GET_MEMBERS ( 0x00000004 )
137 #define SAMR_ALIAS_ACCESS_LOOKUP_INFO ( 0x00000008 )
138 #define SAMR_ALIAS_ACCESS_SET_INFO ( 0x00000010 )
140 struct samr_SamEntry {
142 struct lsa_String name;
145 struct samr_SamArray {
147 struct samr_SamEntry *entries;/* [unique,size_is(count)] */
151 #ifndef USE_UINT_ENUMS
153 SAMR_ROLE_STANDALONE=0,
154 SAMR_ROLE_DOMAIN_MEMBER=1,
155 SAMR_ROLE_DOMAIN_BDC=2,
156 SAMR_ROLE_DOMAIN_PDC=3
159 { __donnot_use_enum_samr_Role=0x7FFFFFFF}
160 #define SAMR_ROLE_STANDALONE ( 0 )
161 #define SAMR_ROLE_DOMAIN_MEMBER ( 1 )
162 #define SAMR_ROLE_DOMAIN_BDC ( 2 )
163 #define SAMR_ROLE_DOMAIN_PDC ( 3 )
167 /* bitmap samr_PasswordProperties */
168 #define DOMAIN_PASSWORD_COMPLEX ( 0x00000001 )
169 #define DOMAIN_PASSWORD_NO_ANON_CHANGE ( 0x00000002 )
170 #define DOMAIN_PASSWORD_NO_CLEAR_CHANGE ( 0x00000004 )
171 #define DOMAIN_PASSWORD_LOCKOUT_ADMINS ( 0x00000008 )
172 #define DOMAIN_PASSWORD_STORE_CLEARTEXT ( 0x00000010 )
173 #define DOMAIN_REFUSE_PASSWORD_CHANGE ( 0x00000020 )
175 struct samr_DomInfo1 {
176 uint16_t min_password_length;
177 uint16_t password_history_length;
178 uint32_t password_properties;
179 int64_t max_password_age;
180 int64_t min_password_age;
183 struct samr_DomGeneralInformation {
184 NTTIME force_logoff_time;
185 struct lsa_String oem_information;
186 struct lsa_String domain_name;
187 struct lsa_String primary;
188 uint64_t sequence_num;
194 uint32_t num_aliases;
197 struct samr_DomInfo3 {
198 NTTIME force_logoff_time;
201 struct samr_DomOEMInformation {
202 struct lsa_String oem_information;
205 struct samr_DomInfo5 {
206 struct lsa_String domain_name;
209 struct samr_DomInfo6 {
210 struct lsa_String primary;
213 struct samr_DomInfo7 {
217 struct samr_DomInfo8 {
218 uint64_t sequence_num;
219 NTTIME domain_create_time;
222 struct samr_DomInfo9 {
226 struct samr_DomGeneralInformation2 {
227 struct samr_DomGeneralInformation general;
228 uint64_t lockout_duration;
229 uint64_t lockout_window;
230 uint16_t lockout_threshold;
233 struct samr_DomInfo12 {
234 uint64_t lockout_duration;
235 uint64_t lockout_window;
236 uint16_t lockout_threshold;
239 struct samr_DomInfo13 {
240 uint64_t sequence_num;
241 NTTIME domain_create_time;
246 union samr_DomainInfo {
247 struct samr_DomInfo1 info1;/* [case] */
248 struct samr_DomGeneralInformation general;/* [case(2)] */
249 struct samr_DomInfo3 info3;/* [case(3)] */
250 struct samr_DomOEMInformation oem;/* [case(4)] */
251 struct samr_DomInfo5 info5;/* [case(5)] */
252 struct samr_DomInfo6 info6;/* [case(6)] */
253 struct samr_DomInfo7 info7;/* [case(7)] */
254 struct samr_DomInfo8 info8;/* [case(8)] */
255 struct samr_DomInfo9 info9;/* [case(9)] */
256 struct samr_DomGeneralInformation2 general2;/* [case(11)] */
257 struct samr_DomInfo12 info12;/* [case(12)] */
258 struct samr_DomInfo13 info13;/* [case(13)] */
259 }/* [switch_type(uint16)] */;
262 uint32_t count;/* [range(0,1024)] */
263 uint32_t *ids;/* [unique,size_is(count)] */
266 /* bitmap samr_GroupAttrs */
267 #define SE_GROUP_MANDATORY ( 0x00000001 )
268 #define SE_GROUP_ENABLED_BY_DEFAULT ( 0x00000002 )
269 #define SE_GROUP_ENABLED ( 0x00000004 )
270 #define SE_GROUP_OWNER ( 0x00000008 )
271 #define SE_GROUP_USE_FOR_DENY_ONLY ( 0x00000010 )
272 #define SE_GROUP_RESOURCE ( 0x20000000 )
273 #define SE_GROUP_LOGON_ID ( 0xC0000000 )
275 struct samr_GroupInfoAll {
276 struct lsa_String name;
278 uint32_t num_members;
279 struct lsa_String description;
282 struct samr_GroupInfoAttributes {
286 struct samr_GroupInfoDescription {
287 struct lsa_String description;
290 enum samr_GroupInfoEnum
291 #ifndef USE_UINT_ENUMS
295 GROUPINFOATTRIBUTES=3,
296 GROUPINFODESCRIPTION=4,
300 { __donnot_use_enum_samr_GroupInfoEnum=0x7FFFFFFF}
301 #define GROUPINFOALL ( 1 )
302 #define GROUPINFONAME ( 2 )
303 #define GROUPINFOATTRIBUTES ( 3 )
304 #define GROUPINFODESCRIPTION ( 4 )
305 #define GROUPINFOALL2 ( 5 )
309 union samr_GroupInfo {
310 struct samr_GroupInfoAll all;/* [case(GROUPINFOALL)] */
311 struct lsa_String name;/* [case(GROUPINFONAME)] */
312 struct samr_GroupInfoAttributes attributes;/* [case(GROUPINFOATTRIBUTES)] */
313 struct lsa_String description;/* [case(GROUPINFODESCRIPTION)] */
314 struct samr_GroupInfoAll all2;/* [case(GROUPINFOALL2)] */
315 }/* [switch_type(samr_GroupInfoEnum)] */;
317 struct samr_RidTypeArray {
319 uint32_t *rids;/* [unique,size_is(count)] */
320 uint32_t *types;/* [unique,size_is(count)] */
323 struct samr_AliasInfoAll {
324 struct lsa_String name;
325 uint32_t num_members;
326 struct lsa_String description;
329 enum samr_AliasInfoEnum
330 #ifndef USE_UINT_ENUMS
334 ALIASINFODESCRIPTION=3
337 { __donnot_use_enum_samr_AliasInfoEnum=0x7FFFFFFF}
338 #define ALIASINFOALL ( 1 )
339 #define ALIASINFONAME ( 2 )
340 #define ALIASINFODESCRIPTION ( 3 )
344 union samr_AliasInfo {
345 struct samr_AliasInfoAll all;/* [case(ALIASINFOALL)] */
346 struct lsa_String name;/* [case(ALIASINFONAME)] */
347 struct lsa_String description;/* [case(ALIASINFODESCRIPTION)] */
348 }/* [switch_type(samr_AliasInfoEnum)] */;
350 struct samr_UserInfo1 {
351 struct lsa_String account_name;
352 struct lsa_String full_name;
353 uint32_t primary_gid;
354 struct lsa_String description;
355 struct lsa_String comment;
358 struct samr_UserInfo2 {
359 struct lsa_String comment;
360 struct lsa_String unknown;
361 uint16_t country_code;
365 struct samr_LogonHours {
366 uint16_t units_per_week;
367 uint8_t *bits;/* [unique,length_is(units_per_week/8),size_is(1260)] */
368 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
370 struct samr_UserInfo3 {
371 struct lsa_String account_name;
372 struct lsa_String full_name;
374 uint32_t primary_gid;
375 struct lsa_String home_directory;
376 struct lsa_String home_drive;
377 struct lsa_String logon_script;
378 struct lsa_String profile_path;
379 struct lsa_String workstations;
382 NTTIME last_password_change;
383 NTTIME allow_password_change;
384 NTTIME force_password_change;
385 struct samr_LogonHours logon_hours;
386 uint16_t bad_password_count;
387 uint16_t logon_count;
391 struct samr_UserInfo4 {
392 struct samr_LogonHours logon_hours;
395 struct samr_UserInfo5 {
396 struct lsa_String account_name;
397 struct lsa_String full_name;
399 uint32_t primary_gid;
400 struct lsa_String home_directory;
401 struct lsa_String home_drive;
402 struct lsa_String logon_script;
403 struct lsa_String profile_path;
404 struct lsa_String description;
405 struct lsa_String workstations;
408 struct samr_LogonHours logon_hours;
409 uint16_t bad_password_count;
410 uint16_t logon_count;
411 NTTIME last_password_change;
416 struct samr_UserInfo6 {
417 struct lsa_String account_name;
418 struct lsa_String full_name;
421 struct samr_UserInfo7 {
422 struct lsa_String account_name;
425 struct samr_UserInfo8 {
426 struct lsa_String full_name;
429 struct samr_UserInfo9 {
430 uint32_t primary_gid;
433 struct samr_UserInfo10 {
434 struct lsa_String home_directory;
435 struct lsa_String home_drive;
438 struct samr_UserInfo11 {
439 struct lsa_String logon_script;
442 struct samr_UserInfo12 {
443 struct lsa_String profile_path;
446 struct samr_UserInfo13 {
447 struct lsa_String description;
450 struct samr_UserInfo14 {
451 struct lsa_String workstations;
454 struct samr_UserInfo16 {
458 struct samr_UserInfo17 {
462 struct samr_Password {
464 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
466 struct samr_UserInfo18 {
467 struct samr_Password lm_pwd;
468 struct samr_Password nt_pwd;
469 uint8_t lm_pwd_active;
470 uint8_t nt_pwd_active;
473 struct samr_UserInfo20 {
474 struct lsa_BinaryString parameters;
477 /* bitmap samr_FieldsPresent */
478 #define SAMR_FIELD_ACCOUNT_NAME ( 0x00000001 )
479 #define SAMR_FIELD_FULL_NAME ( 0x00000002 )
480 #define SAMR_FIELD_RID ( 0x00000004 )
481 #define SAMR_FIELD_PRIMARY_GID ( 0x00000008 )
482 #define SAMR_FIELD_DESCRIPTION ( 0x00000010 )
483 #define SAMR_FIELD_COMMENT ( 0x00000020 )
484 #define SAMR_FIELD_HOME_DIRECTORY ( 0x00000040 )
485 #define SAMR_FIELD_HOME_DRIVE ( 0x00000080 )
486 #define SAMR_FIELD_LOGON_SCRIPT ( 0x00000100 )
487 #define SAMR_FIELD_PROFILE_PATH ( 0x00000200 )
488 #define SAMR_FIELD_WORKSTATIONS ( 0x00000400 )
489 #define SAMR_FIELD_LAST_LOGON ( 0x00000800 )
490 #define SAMR_FIELD_LAST_LOGOFF ( 0x00001000 )
491 #define SAMR_FIELD_LOGON_HOURS ( 0x00002000 )
492 #define SAMR_FIELD_BAD_PWD_COUNT ( 0x00004000 )
493 #define SAMR_FIELD_NUM_LOGONS ( 0x00008000 )
494 #define SAMR_FIELD_ALLOW_PWD_CHANGE ( 0x00010000 )
495 #define SAMR_FIELD_FORCE_PWD_CHANGE ( 0x00020000 )
496 #define SAMR_FIELD_LAST_PWD_CHANGE ( 0x00040000 )
497 #define SAMR_FIELD_ACCT_EXPIRY ( 0x00080000 )
498 #define SAMR_FIELD_ACCT_FLAGS ( 0x00100000 )
499 #define SAMR_FIELD_PARAMETERS ( 0x00200000 )
500 #define SAMR_FIELD_COUNTRY_CODE ( 0x00400000 )
501 #define SAMR_FIELD_CODE_PAGE ( 0x00800000 )
502 #define SAMR_FIELD_PASSWORD ( 0x01000000 )
503 #define SAMR_FIELD_PASSWORD2 ( 0x02000000 )
504 #define SAMR_FIELD_PRIVATE_DATA ( 0x04000000 )
505 #define SAMR_FIELD_EXPIRED_FLAG ( 0x08000000 )
506 #define SAMR_FIELD_SEC_DESC ( 0x10000000 )
507 #define SAMR_FIELD_OWF_PWD ( 0x20000000 )
509 struct samr_UserInfo21 {
512 NTTIME last_password_change;
514 NTTIME allow_password_change;
515 NTTIME force_password_change;
516 struct lsa_String account_name;
517 struct lsa_String full_name;
518 struct lsa_String home_directory;
519 struct lsa_String home_drive;
520 struct lsa_String logon_script;
521 struct lsa_String profile_path;
522 struct lsa_String description;
523 struct lsa_String workstations;
524 struct lsa_String comment;
525 struct lsa_BinaryString parameters;
526 struct lsa_String unknown1;
527 struct lsa_String unknown2;
528 struct lsa_String unknown3;
530 uint8_t *buffer;/* [unique,size_is(buf_count)] */
532 uint32_t primary_gid;
534 uint32_t fields_present;
535 struct samr_LogonHours logon_hours;
536 uint16_t bad_password_count;
537 uint16_t logon_count;
538 uint16_t country_code;
540 uint8_t nt_password_set;
541 uint8_t lm_password_set;
542 uint8_t password_expired;
546 struct samr_CryptPassword {
548 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
550 struct samr_UserInfo23 {
551 struct samr_UserInfo21 info;
552 struct samr_CryptPassword password;
555 struct samr_UserInfo24 {
556 struct samr_CryptPassword password;
557 uint8_t password_expired;
560 struct samr_CryptPasswordEx {
562 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
564 struct samr_UserInfo25 {
565 struct samr_UserInfo21 info;
566 struct samr_CryptPasswordEx password;
569 struct samr_UserInfo26 {
570 struct samr_CryptPasswordEx password;
571 uint8_t password_expired;
574 union samr_UserInfo {
575 struct samr_UserInfo1 info1;/* [case] */
576 struct samr_UserInfo2 info2;/* [case(2)] */
577 struct samr_UserInfo3 info3;/* [case(3)] */
578 struct samr_UserInfo4 info4;/* [case(4)] */
579 struct samr_UserInfo5 info5;/* [case(5)] */
580 struct samr_UserInfo6 info6;/* [case(6)] */
581 struct samr_UserInfo7 info7;/* [case(7)] */
582 struct samr_UserInfo8 info8;/* [case(8)] */
583 struct samr_UserInfo9 info9;/* [case(9)] */
584 struct samr_UserInfo10 info10;/* [case(10)] */
585 struct samr_UserInfo11 info11;/* [case(11)] */
586 struct samr_UserInfo12 info12;/* [case(12)] */
587 struct samr_UserInfo13 info13;/* [case(13)] */
588 struct samr_UserInfo14 info14;/* [case(14)] */
589 struct samr_UserInfo16 info16;/* [case(16)] */
590 struct samr_UserInfo17 info17;/* [case(17)] */
591 struct samr_UserInfo18 info18;/* [case(18)] */
592 struct samr_UserInfo20 info20;/* [case(20)] */
593 struct samr_UserInfo21 info21;/* [case(21)] */
594 struct samr_UserInfo23 info23;/* [case(23)] */
595 struct samr_UserInfo24 info24;/* [case(24)] */
596 struct samr_UserInfo25 info25;/* [case(25)] */
597 struct samr_UserInfo26 info26;/* [case(26)] */
598 }/* [switch_type(uint16)] */;
600 struct samr_RidWithAttribute {
605 struct samr_RidWithAttributeArray {
607 struct samr_RidWithAttribute *rids;/* [unique,size_is(count)] */
610 struct samr_DispEntryGeneral {
614 struct lsa_String account_name;
615 struct lsa_String description;
616 struct lsa_String full_name;
619 struct samr_DispInfoGeneral {
621 struct samr_DispEntryGeneral *entries;/* [unique,size_is(count)] */
624 struct samr_DispEntryFull {
628 struct lsa_String account_name;
629 struct lsa_String description;
632 struct samr_DispInfoFull {
634 struct samr_DispEntryFull *entries;/* [unique,size_is(count)] */
637 struct samr_DispEntryFullGroup {
641 struct lsa_String account_name;
642 struct lsa_String description;
645 struct samr_DispInfoFullGroups {
647 struct samr_DispEntryFullGroup *entries;/* [unique,size_is(count)] */
650 struct samr_DispEntryAscii {
652 struct lsa_AsciiStringLarge account_name;
655 struct samr_DispInfoAscii {
657 struct samr_DispEntryAscii *entries;/* [unique,size_is(count)] */
660 union samr_DispInfo {
661 struct samr_DispInfoGeneral info1;/* [case] */
662 struct samr_DispInfoFull info2;/* [case(2)] */
663 struct samr_DispInfoFullGroups info3;/* [case(3)] */
664 struct samr_DispInfoAscii info4;/* [case(4)] */
665 struct samr_DispInfoAscii info5;/* [case(5)] */
666 }/* [switch_type(uint16)] */;
669 uint16_t min_password_length;
670 uint32_t password_properties;
673 enum samr_ConnectVersion
674 #ifndef USE_UINT_ENUMS
676 SAMR_CONNECT_PRE_W2K=1,
678 SAMR_CONNECT_AFTER_W2K=3
681 { __donnot_use_enum_samr_ConnectVersion=0x7FFFFFFF}
682 #define SAMR_CONNECT_PRE_W2K ( 1 )
683 #define SAMR_CONNECT_W2K ( 2 )
684 #define SAMR_CONNECT_AFTER_W2K ( 3 )
688 enum samr_RejectReason;
690 struct samr_ChangeReject {
691 enum samr_RejectReason reason;
696 struct samr_ConnectInfo1 {
697 enum samr_ConnectVersion client_version;
701 union samr_ConnectInfo {
702 struct samr_ConnectInfo1 info1;/* [case] */
705 /* bitmap samr_ValidateFieldsPresent */
706 #define SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET ( 0x00000001 )
707 #define SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME ( 0x00000002 )
708 #define SAMR_VALIDATE_FIELD_LOCKOUT_TIME ( 0x00000004 )
709 #define SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT ( 0x00000008 )
710 #define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH ( 0x00000010 )
711 #define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY ( 0x00000020 )
713 enum samr_ValidatePasswordLevel
714 #ifndef USE_UINT_ENUMS
716 NetValidateAuthentication=1,
717 NetValidatePasswordChange=2,
718 NetValidatePasswordReset=3
721 { __donnot_use_enum_samr_ValidatePasswordLevel=0x7FFFFFFF}
722 #define NetValidateAuthentication ( 1 )
723 #define NetValidatePasswordChange ( 2 )
724 #define NetValidatePasswordReset ( 3 )
728 enum samr_ValidationStatus
729 #ifndef USE_UINT_ENUMS
731 SAMR_VALIDATION_STATUS_SUCCESS=0,
732 SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=1,
733 SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=2,
734 SAMR_VALIDATION_STATUS_BAD_PASSWORD=4,
735 SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=5,
736 SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=6,
737 SAMR_VALIDATION_STATUS_PWD_TOO_LONG=7,
738 SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=8,
739 SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=9
742 { __donnot_use_enum_samr_ValidationStatus=0x7FFFFFFF}
743 #define SAMR_VALIDATION_STATUS_SUCCESS ( 0 )
744 #define SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE ( 1 )
745 #define SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT ( 2 )
746 #define SAMR_VALIDATION_STATUS_BAD_PASSWORD ( 4 )
747 #define SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT ( 5 )
748 #define SAMR_VALIDATION_STATUS_PWD_TOO_SHORT ( 6 )
749 #define SAMR_VALIDATION_STATUS_PWD_TOO_LONG ( 7 )
750 #define SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH ( 8 )
751 #define SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT ( 9 )
755 struct samr_ValidationBlob {
757 uint8_t *data;/* [unique,size_is(length)] */
760 struct samr_ValidatePasswordInfo {
761 uint32_t fields_present;
762 NTTIME last_password_change;
763 NTTIME bad_password_time;
765 uint32_t bad_pwd_count;
766 uint32_t pwd_history_len;
767 struct samr_ValidationBlob *pwd_history;/* [unique,size_is(pwd_history_len)] */
770 struct samr_ValidatePasswordRepCtr {
771 struct samr_ValidatePasswordInfo info;
772 enum samr_ValidationStatus status;
775 union samr_ValidatePasswordRep {
776 struct samr_ValidatePasswordRepCtr ctr1;/* [case] */
777 struct samr_ValidatePasswordRepCtr ctr2;/* [case(2)] */
778 struct samr_ValidatePasswordRepCtr ctr3;/* [case(3)] */
779 }/* [switch_type(uint16)] */;
781 struct samr_ValidatePasswordReq3 {
782 struct samr_ValidatePasswordInfo info;
783 struct lsa_StringLarge password;
784 struct lsa_StringLarge account;
785 struct samr_ValidationBlob hash;
786 uint8_t pwd_must_change_at_next_logon;
787 uint8_t clear_lockout;
790 struct samr_ValidatePasswordReq2 {
791 struct samr_ValidatePasswordInfo info;
792 struct lsa_StringLarge password;
793 struct lsa_StringLarge account;
794 struct samr_ValidationBlob hash;
795 uint8_t password_matched;
798 struct samr_ValidatePasswordReq1 {
799 struct samr_ValidatePasswordInfo info;
800 uint8_t password_matched;
803 union samr_ValidatePasswordReq {
804 struct samr_ValidatePasswordReq1 req1;/* [case] */
805 struct samr_ValidatePasswordReq2 req2;/* [case(2)] */
806 struct samr_ValidatePasswordReq3 req3;/* [case(3)] */
807 }/* [switch_type(uint16)] */;
810 struct samr_Connect {
812 uint16_t *system_name;/* [unique] */
813 uint32_t access_mask;
817 struct policy_handle *connect_handle;/* [ref] */
826 struct policy_handle *handle;/* [ref] */
830 struct policy_handle *handle;/* [ref] */
837 struct samr_SetSecurity {
839 struct policy_handle *handle;/* [ref] */
841 struct sec_desc_buf *sdbuf;/* [ref] */
851 struct samr_QuerySecurity {
853 struct policy_handle *handle;/* [ref] */
858 struct sec_desc_buf **sdbuf;/* [ref] */
865 struct samr_Shutdown {
867 struct policy_handle *connect_handle;/* [ref] */
877 struct samr_LookupDomain {
879 struct policy_handle *connect_handle;/* [ref] */
880 struct lsa_String *domain_name;/* [ref] */
884 struct dom_sid2 **sid;/* [ref] */
891 struct samr_EnumDomains {
893 struct policy_handle *connect_handle;/* [ref] */
895 uint32_t *resume_handle;/* [ref] */
899 struct samr_SamArray **sam;/* [ref] */
900 uint32_t *num_entries;/* [ref] */
901 uint32_t *resume_handle;/* [ref] */
908 struct samr_OpenDomain {
910 struct policy_handle *connect_handle;/* [ref] */
911 uint32_t access_mask;
912 struct dom_sid2 *sid;/* [ref] */
916 struct policy_handle *domain_handle;/* [ref] */
923 struct samr_QueryDomainInfo {
925 struct policy_handle *domain_handle;/* [ref] */
930 union samr_DomainInfo **info;/* [ref,switch_is(level)] */
937 struct samr_SetDomainInfo {
939 struct policy_handle *domain_handle;/* [ref] */
941 union samr_DomainInfo *info;/* [ref,switch_is(level)] */
951 struct samr_CreateDomainGroup {
953 struct policy_handle *domain_handle;/* [ref] */
954 struct lsa_String *name;/* [ref] */
955 uint32_t access_mask;
959 struct policy_handle *group_handle;/* [ref] */
960 uint32_t *rid;/* [ref] */
967 struct samr_EnumDomainGroups {
969 struct policy_handle *domain_handle;/* [ref] */
971 uint32_t *resume_handle;/* [ref] */
975 struct samr_SamArray **sam;/* [ref] */
976 uint32_t *num_entries;/* [ref] */
977 uint32_t *resume_handle;/* [ref] */
984 struct samr_CreateUser {
986 struct policy_handle *domain_handle;/* [ref] */
987 struct lsa_String *account_name;/* [ref] */
988 uint32_t access_mask;
992 struct policy_handle *user_handle;/* [ref] */
993 uint32_t *rid;/* [ref] */
1000 struct samr_EnumDomainUsers {
1002 struct policy_handle *domain_handle;/* [ref] */
1003 uint32_t acct_flags;
1005 uint32_t *resume_handle;/* [ref] */
1009 struct samr_SamArray **sam;/* [ref] */
1010 uint32_t *num_entries;/* [ref] */
1011 uint32_t *resume_handle;/* [ref] */
1018 struct samr_CreateDomAlias {
1020 struct policy_handle *domain_handle;/* [ref] */
1021 struct lsa_String *alias_name;/* [ref] */
1022 uint32_t access_mask;
1026 struct policy_handle *alias_handle;/* [ref] */
1027 uint32_t *rid;/* [ref] */
1034 struct samr_EnumDomainAliases {
1036 struct policy_handle *domain_handle;/* [ref] */
1038 uint32_t *resume_handle;/* [ref] */
1042 struct samr_SamArray **sam;/* [ref] */
1043 uint32_t *num_entries;/* [ref] */
1044 uint32_t *resume_handle;/* [ref] */
1051 struct samr_GetAliasMembership {
1053 struct policy_handle *domain_handle;/* [ref] */
1054 struct lsa_SidArray *sids;/* [ref] */
1058 struct samr_Ids *rids;/* [ref] */
1065 struct samr_LookupNames {
1067 struct policy_handle *domain_handle;/* [ref] */
1068 uint32_t num_names;/* [range(0,1000)] */
1069 struct lsa_String *names;/* [length_is(num_names),size_is(1000)] */
1073 struct samr_Ids *rids;/* [ref] */
1074 struct samr_Ids *types;/* [ref] */
1081 struct samr_LookupRids {
1083 struct policy_handle *domain_handle;/* [ref] */
1084 uint32_t num_rids;/* [range(0,1000)] */
1085 uint32_t *rids;/* [length_is(num_rids),size_is(1000)] */
1089 struct lsa_Strings *names;/* [ref] */
1090 struct samr_Ids *types;/* [ref] */
1097 struct samr_OpenGroup {
1099 struct policy_handle *domain_handle;/* [ref] */
1100 uint32_t access_mask;
1105 struct policy_handle *group_handle;/* [ref] */
1112 struct samr_QueryGroupInfo {
1114 struct policy_handle *group_handle;/* [ref] */
1115 enum samr_GroupInfoEnum level;
1119 union samr_GroupInfo **info;/* [ref,switch_is(level)] */
1126 struct samr_SetGroupInfo {
1128 struct policy_handle *group_handle;/* [ref] */
1129 enum samr_GroupInfoEnum level;
1130 union samr_GroupInfo *info;/* [ref,switch_is(level)] */
1140 struct samr_AddGroupMember {
1142 struct policy_handle *group_handle;/* [ref] */
1154 struct samr_DeleteDomainGroup {
1156 struct policy_handle *group_handle;/* [ref] */
1160 struct policy_handle *group_handle;/* [ref] */
1167 struct samr_DeleteGroupMember {
1169 struct policy_handle *group_handle;/* [ref] */
1180 struct samr_QueryGroupMember {
1182 struct policy_handle *group_handle;/* [ref] */
1186 struct samr_RidTypeArray **rids;/* [ref] */
1193 struct samr_SetMemberAttributesOfGroup {
1195 struct policy_handle *group_handle;/* [ref] */
1207 struct samr_OpenAlias {
1209 struct policy_handle *domain_handle;/* [ref] */
1210 uint32_t access_mask;
1215 struct policy_handle *alias_handle;/* [ref] */
1222 struct samr_QueryAliasInfo {
1224 struct policy_handle *alias_handle;/* [ref] */
1225 enum samr_AliasInfoEnum level;
1229 union samr_AliasInfo **info;/* [ref,switch_is(level)] */
1236 struct samr_SetAliasInfo {
1238 struct policy_handle *alias_handle;/* [ref] */
1239 enum samr_AliasInfoEnum level;
1240 union samr_AliasInfo *info;/* [ref,switch_is(level)] */
1250 struct samr_DeleteDomAlias {
1252 struct policy_handle *alias_handle;/* [ref] */
1256 struct policy_handle *alias_handle;/* [ref] */
1263 struct samr_AddAliasMember {
1265 struct policy_handle *alias_handle;/* [ref] */
1266 struct dom_sid2 *sid;/* [ref] */
1276 struct samr_DeleteAliasMember {
1278 struct policy_handle *alias_handle;/* [ref] */
1279 struct dom_sid2 *sid;/* [ref] */
1289 struct samr_GetMembersInAlias {
1291 struct policy_handle *alias_handle;/* [ref] */
1295 struct lsa_SidArray *sids;/* [ref] */
1302 struct samr_OpenUser {
1304 struct policy_handle *domain_handle;/* [ref] */
1305 uint32_t access_mask;
1310 struct policy_handle *user_handle;/* [ref] */
1317 struct samr_DeleteUser {
1319 struct policy_handle *user_handle;/* [ref] */
1323 struct policy_handle *user_handle;/* [ref] */
1330 struct samr_QueryUserInfo {
1332 struct policy_handle *user_handle;/* [ref] */
1337 union samr_UserInfo **info;/* [ref,switch_is(level)] */
1344 struct samr_SetUserInfo {
1346 struct policy_handle *user_handle;/* [ref] */
1348 union samr_UserInfo *info;/* [ref,switch_is(level)] */
1358 struct samr_ChangePasswordUser {
1360 struct policy_handle *user_handle;/* [ref] */
1362 struct samr_Password *old_lm_crypted;/* [unique] */
1363 struct samr_Password *new_lm_crypted;/* [unique] */
1365 struct samr_Password *old_nt_crypted;/* [unique] */
1366 struct samr_Password *new_nt_crypted;/* [unique] */
1367 uint8_t cross1_present;
1368 struct samr_Password *nt_cross;/* [unique] */
1369 uint8_t cross2_present;
1370 struct samr_Password *lm_cross;/* [unique] */
1380 struct samr_GetGroupsForUser {
1382 struct policy_handle *user_handle;/* [ref] */
1386 struct samr_RidWithAttributeArray **rids;/* [ref] */
1393 struct samr_QueryDisplayInfo {
1395 struct policy_handle *domain_handle;/* [ref] */
1398 uint32_t max_entries;
1403 uint32_t *total_size;/* [ref] */
1404 uint32_t *returned_size;/* [ref] */
1405 union samr_DispInfo *info;/* [ref,switch_is(level)] */
1412 struct samr_GetDisplayEnumerationIndex {
1414 struct policy_handle *domain_handle;/* [ref] */
1416 struct lsa_String *name;/* [ref] */
1420 uint32_t *idx;/* [ref] */
1427 struct samr_TestPrivateFunctionsDomain {
1429 struct policy_handle *domain_handle;/* [ref] */
1439 struct samr_TestPrivateFunctionsUser {
1441 struct policy_handle *user_handle;/* [ref] */
1451 struct samr_GetUserPwInfo {
1453 struct policy_handle *user_handle;/* [ref] */
1457 struct samr_PwInfo *info;/* [ref] */
1464 struct samr_RemoveMemberFromForeignDomain {
1466 struct policy_handle *domain_handle;/* [ref] */
1467 struct dom_sid2 *sid;/* [ref] */
1477 struct samr_QueryDomainInfo2 {
1479 struct policy_handle *domain_handle;/* [ref] */
1484 union samr_DomainInfo **info;/* [ref,switch_is(level)] */
1491 struct samr_QueryUserInfo2 {
1493 struct policy_handle *user_handle;/* [ref] */
1498 union samr_UserInfo **info;/* [ref,switch_is(level)] */
1505 struct samr_QueryDisplayInfo2 {
1507 struct policy_handle *domain_handle;/* [ref] */
1510 uint32_t max_entries;
1515 uint32_t *total_size;/* [ref] */
1516 uint32_t *returned_size;/* [ref] */
1517 union samr_DispInfo *info;/* [ref,switch_is(level)] */
1524 struct samr_GetDisplayEnumerationIndex2 {
1526 struct policy_handle *domain_handle;/* [ref] */
1528 struct lsa_String *name;/* [ref] */
1532 uint32_t *idx;/* [ref] */
1539 struct samr_CreateUser2 {
1541 struct policy_handle *domain_handle;/* [ref] */
1542 struct lsa_String *account_name;/* [ref] */
1543 uint32_t acct_flags;
1544 uint32_t access_mask;
1548 struct policy_handle *user_handle;/* [ref] */
1549 uint32_t *access_granted;/* [ref] */
1550 uint32_t *rid;/* [ref] */
1557 struct samr_QueryDisplayInfo3 {
1559 struct policy_handle *domain_handle;/* [ref] */
1562 uint32_t max_entries;
1567 uint32_t *total_size;/* [ref] */
1568 uint32_t *returned_size;/* [ref] */
1569 union samr_DispInfo *info;/* [ref,switch_is(level)] */
1576 struct samr_AddMultipleMembersToAlias {
1578 struct policy_handle *alias_handle;/* [ref] */
1579 struct lsa_SidArray *sids;/* [ref] */
1589 struct samr_RemoveMultipleMembersFromAlias {
1591 struct policy_handle *alias_handle;/* [ref] */
1592 struct lsa_SidArray *sids;/* [ref] */
1602 struct samr_OemChangePasswordUser2 {
1604 struct lsa_AsciiString *server;/* [unique] */
1605 struct lsa_AsciiString *account;/* [ref] */
1606 struct samr_CryptPassword *password;/* [unique] */
1607 struct samr_Password *hash;/* [unique] */
1617 struct samr_ChangePasswordUser2 {
1619 struct lsa_String *server;/* [unique] */
1620 struct lsa_String *account;/* [ref] */
1621 struct samr_CryptPassword *nt_password;/* [unique] */
1622 struct samr_Password *nt_verifier;/* [unique] */
1624 struct samr_CryptPassword *lm_password;/* [unique] */
1625 struct samr_Password *lm_verifier;/* [unique] */
1635 struct samr_GetDomPwInfo {
1637 struct lsa_String *domain_name;/* [unique] */
1641 struct samr_PwInfo *info;/* [ref] */
1648 struct samr_Connect2 {
1650 const char *system_name;/* [unique,charset(UTF16)] */
1651 uint32_t access_mask;
1655 struct policy_handle *connect_handle;/* [ref] */
1662 struct samr_SetUserInfo2 {
1664 struct policy_handle *user_handle;/* [ref] */
1666 union samr_UserInfo *info;/* [ref,switch_is(level)] */
1676 struct samr_SetBootKeyInformation {
1678 struct policy_handle *connect_handle;/* [ref] */
1691 struct samr_GetBootKeyInformation {
1693 struct policy_handle *domain_handle;/* [ref] */
1697 uint32_t *unknown;/* [ref] */
1704 struct samr_Connect3 {
1706 const char *system_name;/* [unique,charset(UTF16)] */
1708 uint32_t access_mask;
1712 struct policy_handle *connect_handle;/* [ref] */
1719 struct samr_Connect4 {
1721 const char *system_name;/* [unique,charset(UTF16)] */
1722 enum samr_ConnectVersion client_version;
1723 uint32_t access_mask;
1727 struct policy_handle *connect_handle;/* [ref] */
1734 struct samr_ChangePasswordUser3 {
1736 struct lsa_String *server;/* [unique] */
1737 struct lsa_String *account;/* [ref] */
1738 struct samr_CryptPassword *nt_password;/* [unique] */
1739 struct samr_Password *nt_verifier;/* [unique] */
1741 struct samr_CryptPassword *lm_password;/* [unique] */
1742 struct samr_Password *lm_verifier;/* [unique] */
1743 struct samr_CryptPassword *password3;/* [unique] */
1747 struct samr_DomInfo1 **dominfo;/* [ref] */
1748 struct samr_ChangeReject **reject;/* [ref] */
1755 struct samr_Connect5 {
1757 const char *system_name;/* [unique,charset(UTF16)] */
1758 uint32_t access_mask;
1760 union samr_ConnectInfo *info_in;/* [ref,switch_is(level_in)] */
1764 uint32_t *level_out;/* [ref] */
1765 union samr_ConnectInfo *info_out;/* [ref,switch_is(*level_out)] */
1766 struct policy_handle *connect_handle;/* [ref] */
1773 struct samr_RidToSid {
1775 struct policy_handle *domain_handle;/* [ref] */
1780 struct dom_sid2 **sid;/* [ref] */
1787 struct samr_SetDsrmPassword {
1789 struct lsa_String *name;/* [unique] */
1791 struct samr_Password *hash;/* [unique] */
1801 struct samr_ValidatePassword {
1803 enum samr_ValidatePasswordLevel level;
1804 union samr_ValidatePasswordReq *req;/* [ref,switch_is(level)] */
1808 union samr_ValidatePasswordRep **rep;/* [ref,switch_is(level)] */
1814 #endif /* _HEADER_samr */