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_LOOKUP_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 MAX_SAM_ENTRIES_W2K ( 0x400 )
37 #define MAX_SAM_ENTRIES_W95 ( 50 )
38 #define SAMR_ENUM_USERS_MULTIPLIER ( 54 )
39 #define PASS_MUST_CHANGE_AT_NEXT_LOGON ( 0x01 )
40 #define PASS_DONT_CHANGE_AT_NEXT_LOGON ( 0x00 )
41 /* bitmap samr_AcctFlags */
42 #define ACB_DISABLED ( 0x00000001 )
43 #define ACB_HOMDIRREQ ( 0x00000002 )
44 #define ACB_PWNOTREQ ( 0x00000004 )
45 #define ACB_TEMPDUP ( 0x00000008 )
46 #define ACB_NORMAL ( 0x00000010 )
47 #define ACB_MNS ( 0x00000020 )
48 #define ACB_DOMTRUST ( 0x00000040 )
49 #define ACB_WSTRUST ( 0x00000080 )
50 #define ACB_SVRTRUST ( 0x00000100 )
51 #define ACB_PWNOEXP ( 0x00000200 )
52 #define ACB_AUTOLOCK ( 0x00000400 )
53 #define ACB_ENC_TXT_PWD_ALLOWED ( 0x00000800 )
54 #define ACB_SMARTCARD_REQUIRED ( 0x00001000 )
55 #define ACB_TRUSTED_FOR_DELEGATION ( 0x00002000 )
56 #define ACB_NOT_DELEGATED ( 0x00004000 )
57 #define ACB_USE_DES_KEY_ONLY ( 0x00008000 )
58 #define ACB_DONT_REQUIRE_PREAUTH ( 0x00010000 )
59 #define ACB_PW_EXPIRED ( 0x00020000 )
60 #define ACB_NO_AUTH_DATA_REQD ( 0x00080000 )
62 /* bitmap samr_ConnectAccessMask */
63 #define SAMR_ACCESS_CONNECT_TO_SERVER ( 0x00000001 )
64 #define SAMR_ACCESS_SHUTDOWN_SERVER ( 0x00000002 )
65 #define SAMR_ACCESS_INITIALIZE_SERVER ( 0x00000004 )
66 #define SAMR_ACCESS_CREATE_DOMAIN ( 0x00000008 )
67 #define SAMR_ACCESS_ENUM_DOMAINS ( 0x00000010 )
68 #define SAMR_ACCESS_LOOKUP_DOMAIN ( 0x00000020 )
70 /* bitmap samr_UserAccessMask */
71 #define SAMR_USER_ACCESS_GET_NAME_ETC ( 0x00000001 )
72 #define SAMR_USER_ACCESS_GET_LOCALE ( 0x00000002 )
73 #define SAMR_USER_ACCESS_SET_LOC_COM ( 0x00000004 )
74 #define SAMR_USER_ACCESS_GET_LOGONINFO ( 0x00000008 )
75 #define SAMR_USER_ACCESS_GET_ATTRIBUTES ( 0x00000010 )
76 #define SAMR_USER_ACCESS_SET_ATTRIBUTES ( 0x00000020 )
77 #define SAMR_USER_ACCESS_CHANGE_PASSWORD ( 0x00000040 )
78 #define SAMR_USER_ACCESS_SET_PASSWORD ( 0x00000080 )
79 #define SAMR_USER_ACCESS_GET_GROUPS ( 0x00000100 )
80 #define SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP ( 0x00000200 )
81 #define SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP ( 0x00000400 )
83 /* bitmap samr_DomainAccessMask */
84 #define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 ( 0x00000001 )
85 #define SAMR_DOMAIN_ACCESS_SET_INFO_1 ( 0x00000002 )
86 #define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 ( 0x00000004 )
87 #define SAMR_DOMAIN_ACCESS_SET_INFO_2 ( 0x00000008 )
88 #define SAMR_DOMAIN_ACCESS_CREATE_USER ( 0x00000010 )
89 #define SAMR_DOMAIN_ACCESS_CREATE_GROUP ( 0x00000020 )
90 #define SAMR_DOMAIN_ACCESS_CREATE_ALIAS ( 0x00000040 )
91 #define SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS ( 0x00000080 )
92 #define SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS ( 0x00000100 )
93 #define SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT ( 0x00000200 )
94 #define SAMR_DOMAIN_ACCESS_SET_INFO_3 ( 0x00000400 )
96 /* bitmap samr_GroupAccessMask */
97 #define SAMR_GROUP_ACCESS_LOOKUP_INFO ( 0x00000001 )
98 #define SAMR_GROUP_ACCESS_SET_INFO ( 0x00000002 )
99 #define SAMR_GROUP_ACCESS_ADD_MEMBER ( 0x00000004 )
100 #define SAMR_GROUP_ACCESS_REMOVE_MEMBER ( 0x00000008 )
101 #define SAMR_GROUP_ACCESS_GET_MEMBERS ( 0x00000010 )
103 /* bitmap samr_AliasAccessMask */
104 #define SAMR_ALIAS_ACCESS_ADD_MEMBER ( 0x00000001 )
105 #define SAMR_ALIAS_ACCESS_REMOVE_MEMBER ( 0x00000002 )
106 #define SAMR_ALIAS_ACCESS_GET_MEMBERS ( 0x00000004 )
107 #define SAMR_ALIAS_ACCESS_LOOKUP_INFO ( 0x00000008 )
108 #define SAMR_ALIAS_ACCESS_SET_INFO ( 0x00000010 )
110 struct samr_SamEntry
{
112 struct lsa_String name
;
115 struct samr_SamArray
{
117 struct samr_SamEntry
*entries
;/* [unique,size_is(count)] */
121 #ifndef USE_UINT_ENUMS
123 SAMR_ROLE_STANDALONE
=0,
124 SAMR_ROLE_DOMAIN_MEMBER
=1,
125 SAMR_ROLE_DOMAIN_BDC
=2,
126 SAMR_ROLE_DOMAIN_PDC
=3
129 { __donnot_use_enum_samr_Role
=0x7FFFFFFF}
130 #define SAMR_ROLE_STANDALONE ( 0 )
131 #define SAMR_ROLE_DOMAIN_MEMBER ( 1 )
132 #define SAMR_ROLE_DOMAIN_BDC ( 2 )
133 #define SAMR_ROLE_DOMAIN_PDC ( 3 )
137 /* bitmap samr_PasswordProperties */
138 #define DOMAIN_PASSWORD_COMPLEX ( 0x00000001 )
139 #define DOMAIN_PASSWORD_NO_ANON_CHANGE ( 0x00000002 )
140 #define DOMAIN_PASSWORD_NO_CLEAR_CHANGE ( 0x00000004 )
141 #define DOMAIN_PASSWORD_LOCKOUT_ADMINS ( 0x00000008 )
142 #define DOMAIN_PASSWORD_STORE_CLEARTEXT ( 0x00000010 )
143 #define DOMAIN_REFUSE_PASSWORD_CHANGE ( 0x00000020 )
145 struct samr_DomInfo1
{
146 uint16_t min_password_length
;
147 uint16_t password_history_length
;
148 uint32_t password_properties
;
149 int64_t max_password_age
;
150 int64_t min_password_age
;
153 struct samr_DomInfo2
{
154 NTTIME force_logoff_time
;
155 struct lsa_String comment
;
156 struct lsa_String domain_name
;
157 struct lsa_String primary
;
158 uint64_t sequence_num
;
164 uint32_t num_aliases
;
167 struct samr_DomInfo3
{
168 NTTIME force_logoff_time
;
171 struct samr_DomInfo4
{
172 struct lsa_String comment
;
175 struct samr_DomInfo5
{
176 struct lsa_String domain_name
;
179 struct samr_DomInfo6
{
180 struct lsa_String primary
;
183 struct samr_DomInfo7
{
187 struct samr_DomInfo8
{
188 uint64_t sequence_num
;
189 NTTIME domain_create_time
;
192 struct samr_DomInfo9
{
196 struct samr_DomInfo11
{
197 struct samr_DomInfo2 info2
;
198 uint64_t lockout_duration
;
199 uint64_t lockout_window
;
200 uint16_t lockout_threshold
;
203 struct samr_DomInfo12
{
204 uint64_t lockout_duration
;
205 uint64_t lockout_window
;
206 uint16_t lockout_threshold
;
209 struct samr_DomInfo13
{
210 uint64_t sequence_num
;
211 NTTIME domain_create_time
;
212 uint64_t modified_count_at_last_promotion
;
215 union samr_DomainInfo
{
216 struct samr_DomInfo1 info1
;/* [case] */
217 struct samr_DomInfo2 info2
;/* [case(2)] */
218 struct samr_DomInfo3 info3
;/* [case(3)] */
219 struct samr_DomInfo4 info4
;/* [case(4)] */
220 struct samr_DomInfo5 info5
;/* [case(5)] */
221 struct samr_DomInfo6 info6
;/* [case(6)] */
222 struct samr_DomInfo7 info7
;/* [case(7)] */
223 struct samr_DomInfo8 info8
;/* [case(8)] */
224 struct samr_DomInfo9 info9
;/* [case(9)] */
225 struct samr_DomInfo11 info11
;/* [case(11)] */
226 struct samr_DomInfo12 info12
;/* [case(12)] */
227 struct samr_DomInfo13 info13
;/* [case(13)] */
228 }/* [switch_type(uint16)] */;
231 uint32_t count
;/* [range(0,1024)] */
232 uint32_t *ids
;/* [unique,size_is(count)] */
235 /* bitmap samr_GroupAttrs */
236 #define SE_GROUP_MANDATORY ( 0x00000001 )
237 #define SE_GROUP_ENABLED_BY_DEFAULT ( 0x00000002 )
238 #define SE_GROUP_ENABLED ( 0x00000004 )
239 #define SE_GROUP_OWNER ( 0x00000008 )
240 #define SE_GROUP_USE_FOR_DENY_ONLY ( 0x00000010 )
241 #define SE_GROUP_RESOURCE ( 0x20000000 )
242 #define SE_GROUP_LOGON_ID ( 0xC0000000 )
244 struct samr_GroupInfoAll
{
245 struct lsa_String name
;
247 uint32_t num_members
;
248 struct lsa_String description
;
251 struct samr_GroupInfoAttributes
{
255 struct samr_GroupInfoDescription
{
256 struct lsa_String description
;
259 enum samr_GroupInfoEnum
260 #ifndef USE_UINT_ENUMS
264 GROUPINFOATTRIBUTES
=3,
265 GROUPINFODESCRIPTION
=4,
269 { __donnot_use_enum_samr_GroupInfoEnum
=0x7FFFFFFF}
270 #define GROUPINFOALL ( 1 )
271 #define GROUPINFONAME ( 2 )
272 #define GROUPINFOATTRIBUTES ( 3 )
273 #define GROUPINFODESCRIPTION ( 4 )
274 #define GROUPINFOALL2 ( 5 )
278 union samr_GroupInfo
{
279 struct samr_GroupInfoAll all
;/* [case(GROUPINFOALL)] */
280 struct lsa_String name
;/* [case(GROUPINFONAME)] */
281 struct samr_GroupInfoAttributes attributes
;/* [case(GROUPINFOATTRIBUTES)] */
282 struct lsa_String description
;/* [case(GROUPINFODESCRIPTION)] */
283 struct samr_GroupInfoAll all2
;/* [case(GROUPINFOALL2)] */
284 }/* [switch_type(samr_GroupInfoEnum)] */;
286 struct samr_RidTypeArray
{
288 uint32_t *rids
;/* [unique,size_is(count)] */
289 uint32_t *types
;/* [unique,size_is(count)] */
292 struct samr_AliasInfoAll
{
293 struct lsa_String name
;
294 uint32_t num_members
;
295 struct lsa_String description
;
298 enum samr_AliasInfoEnum
299 #ifndef USE_UINT_ENUMS
303 ALIASINFODESCRIPTION
=3
306 { __donnot_use_enum_samr_AliasInfoEnum
=0x7FFFFFFF}
307 #define ALIASINFOALL ( 1 )
308 #define ALIASINFONAME ( 2 )
309 #define ALIASINFODESCRIPTION ( 3 )
313 union samr_AliasInfo
{
314 struct samr_AliasInfoAll all
;/* [case(ALIASINFOALL)] */
315 struct lsa_String name
;/* [case(ALIASINFONAME)] */
316 struct lsa_String description
;/* [case(ALIASINFODESCRIPTION)] */
317 }/* [switch_type(samr_AliasInfoEnum)] */;
319 struct samr_UserInfo1
{
320 struct lsa_String account_name
;
321 struct lsa_String full_name
;
322 uint32_t primary_gid
;
323 struct lsa_String description
;
324 struct lsa_String comment
;
327 struct samr_UserInfo2
{
328 struct lsa_String comment
;
329 struct lsa_String unknown
;
330 uint16_t country_code
;
334 struct samr_LogonHours
{
335 uint16_t units_per_week
;
336 uint8_t *bits
;/* [unique,length_is(units_per_week/8),size_is(1260)] */
337 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
339 struct samr_UserInfo3
{
340 struct lsa_String account_name
;
341 struct lsa_String full_name
;
343 uint32_t primary_gid
;
344 struct lsa_String home_directory
;
345 struct lsa_String home_drive
;
346 struct lsa_String logon_script
;
347 struct lsa_String profile_path
;
348 struct lsa_String workstations
;
351 NTTIME last_password_change
;
352 NTTIME allow_password_change
;
353 NTTIME force_password_change
;
354 struct samr_LogonHours logon_hours
;
355 uint16_t bad_password_count
;
356 uint16_t logon_count
;
360 struct samr_UserInfo4
{
361 struct samr_LogonHours logon_hours
;
364 struct samr_UserInfo5
{
365 struct lsa_String account_name
;
366 struct lsa_String full_name
;
368 uint32_t primary_gid
;
369 struct lsa_String home_directory
;
370 struct lsa_String home_drive
;
371 struct lsa_String logon_script
;
372 struct lsa_String profile_path
;
373 struct lsa_String description
;
374 struct lsa_String workstations
;
377 struct samr_LogonHours logon_hours
;
378 uint16_t bad_password_count
;
379 uint16_t logon_count
;
380 NTTIME last_password_change
;
385 struct samr_UserInfo6
{
386 struct lsa_String account_name
;
387 struct lsa_String full_name
;
390 struct samr_UserInfo7
{
391 struct lsa_String account_name
;
394 struct samr_UserInfo8
{
395 struct lsa_String full_name
;
398 struct samr_UserInfo9
{
399 uint32_t primary_gid
;
402 struct samr_UserInfo10
{
403 struct lsa_String home_directory
;
404 struct lsa_String home_drive
;
407 struct samr_UserInfo11
{
408 struct lsa_String logon_script
;
411 struct samr_UserInfo12
{
412 struct lsa_String profile_path
;
415 struct samr_UserInfo13
{
416 struct lsa_String description
;
419 struct samr_UserInfo14
{
420 struct lsa_String workstations
;
423 struct samr_UserInfo16
{
427 struct samr_UserInfo17
{
431 struct samr_Password
{
433 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
435 struct samr_UserInfo18
{
436 struct samr_Password nt_pwd
;
437 struct samr_Password lm_pwd
;
438 uint8_t nt_pwd_active
;
439 uint8_t lm_pwd_active
;
440 uint8_t password_expired
;
443 struct samr_UserInfo20
{
444 struct lsa_BinaryString parameters
;
447 /* bitmap samr_FieldsPresent */
448 #define SAMR_FIELD_ACCOUNT_NAME ( 0x00000001 )
449 #define SAMR_FIELD_FULL_NAME ( 0x00000002 )
450 #define SAMR_FIELD_RID ( 0x00000004 )
451 #define SAMR_FIELD_PRIMARY_GID ( 0x00000008 )
452 #define SAMR_FIELD_DESCRIPTION ( 0x00000010 )
453 #define SAMR_FIELD_COMMENT ( 0x00000020 )
454 #define SAMR_FIELD_HOME_DIRECTORY ( 0x00000040 )
455 #define SAMR_FIELD_HOME_DRIVE ( 0x00000080 )
456 #define SAMR_FIELD_LOGON_SCRIPT ( 0x00000100 )
457 #define SAMR_FIELD_PROFILE_PATH ( 0x00000200 )
458 #define SAMR_FIELD_WORKSTATIONS ( 0x00000400 )
459 #define SAMR_FIELD_LAST_LOGON ( 0x00000800 )
460 #define SAMR_FIELD_LAST_LOGOFF ( 0x00001000 )
461 #define SAMR_FIELD_LOGON_HOURS ( 0x00002000 )
462 #define SAMR_FIELD_BAD_PWD_COUNT ( 0x00004000 )
463 #define SAMR_FIELD_NUM_LOGONS ( 0x00008000 )
464 #define SAMR_FIELD_ALLOW_PWD_CHANGE ( 0x00010000 )
465 #define SAMR_FIELD_FORCE_PWD_CHANGE ( 0x00020000 )
466 #define SAMR_FIELD_LAST_PWD_CHANGE ( 0x00040000 )
467 #define SAMR_FIELD_ACCT_EXPIRY ( 0x00080000 )
468 #define SAMR_FIELD_ACCT_FLAGS ( 0x00100000 )
469 #define SAMR_FIELD_PARAMETERS ( 0x00200000 )
470 #define SAMR_FIELD_COUNTRY_CODE ( 0x00400000 )
471 #define SAMR_FIELD_CODE_PAGE ( 0x00800000 )
472 #define SAMR_FIELD_NT_PASSWORD_PRESENT ( 0x01000000 )
473 #define SAMR_FIELD_LM_PASSWORD_PRESENT ( 0x02000000 )
474 #define SAMR_FIELD_PRIVATE_DATA ( 0x04000000 )
475 #define SAMR_FIELD_EXPIRED_FLAG ( 0x08000000 )
476 #define SAMR_FIELD_SEC_DESC ( 0x10000000 )
477 #define SAMR_FIELD_OWF_PWD ( 0x20000000 )
479 struct samr_UserInfo21
{
482 NTTIME last_password_change
;
484 NTTIME allow_password_change
;
485 NTTIME force_password_change
;
486 struct lsa_String account_name
;
487 struct lsa_String full_name
;
488 struct lsa_String home_directory
;
489 struct lsa_String home_drive
;
490 struct lsa_String logon_script
;
491 struct lsa_String profile_path
;
492 struct lsa_String description
;
493 struct lsa_String workstations
;
494 struct lsa_String comment
;
495 struct lsa_BinaryString parameters
;
496 struct lsa_BinaryString lm_owf_password
;
497 struct lsa_BinaryString nt_owf_password
;
498 struct lsa_String unknown3
;
500 uint8_t *buffer
;/* [unique,size_is(buf_count)] */
502 uint32_t primary_gid
;
504 uint32_t fields_present
;
505 struct samr_LogonHours logon_hours
;
506 uint16_t bad_password_count
;
507 uint16_t logon_count
;
508 uint16_t country_code
;
510 uint8_t lm_password_set
;
511 uint8_t nt_password_set
;
512 uint8_t password_expired
;
516 struct samr_CryptPassword
{
518 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
520 struct samr_UserInfo23
{
521 struct samr_UserInfo21 info
;
522 struct samr_CryptPassword password
;
525 struct samr_UserInfo24
{
526 struct samr_CryptPassword password
;
527 uint8_t password_expired
;
530 struct samr_CryptPasswordEx
{
532 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
534 struct samr_UserInfo25
{
535 struct samr_UserInfo21 info
;
536 struct samr_CryptPasswordEx password
;
539 struct samr_UserInfo26
{
540 struct samr_CryptPasswordEx password
;
541 uint8_t password_expired
;
544 union samr_UserInfo
{
545 struct samr_UserInfo1 info1
;/* [case] */
546 struct samr_UserInfo2 info2
;/* [case(2)] */
547 struct samr_UserInfo3 info3
;/* [case(3)] */
548 struct samr_UserInfo4 info4
;/* [case(4)] */
549 struct samr_UserInfo5 info5
;/* [case(5)] */
550 struct samr_UserInfo6 info6
;/* [case(6)] */
551 struct samr_UserInfo7 info7
;/* [case(7)] */
552 struct samr_UserInfo8 info8
;/* [case(8)] */
553 struct samr_UserInfo9 info9
;/* [case(9)] */
554 struct samr_UserInfo10 info10
;/* [case(10)] */
555 struct samr_UserInfo11 info11
;/* [case(11)] */
556 struct samr_UserInfo12 info12
;/* [case(12)] */
557 struct samr_UserInfo13 info13
;/* [case(13)] */
558 struct samr_UserInfo14 info14
;/* [case(14)] */
559 struct samr_UserInfo16 info16
;/* [case(16)] */
560 struct samr_UserInfo17 info17
;/* [case(17)] */
561 struct samr_UserInfo18 info18
;/* [case(18)] */
562 struct samr_UserInfo20 info20
;/* [case(20)] */
563 struct samr_UserInfo21 info21
;/* [case(21)] */
564 struct samr_UserInfo23 info23
;/* [case(23)] */
565 struct samr_UserInfo24 info24
;/* [case(24)] */
566 struct samr_UserInfo25 info25
;/* [case(25)] */
567 struct samr_UserInfo26 info26
;/* [case(26)] */
568 }/* [switch_type(uint16)] */;
570 struct samr_RidWithAttribute
{
575 struct samr_RidWithAttributeArray
{
577 struct samr_RidWithAttribute
*rids
;/* [unique,size_is(count)] */
580 struct samr_DispEntryGeneral
{
584 struct lsa_String account_name
;
585 struct lsa_String description
;
586 struct lsa_String full_name
;
589 struct samr_DispInfoGeneral
{
591 struct samr_DispEntryGeneral
*entries
;/* [unique,size_is(count)] */
594 struct samr_DispEntryFull
{
598 struct lsa_String account_name
;
599 struct lsa_String description
;
602 struct samr_DispInfoFull
{
604 struct samr_DispEntryFull
*entries
;/* [unique,size_is(count)] */
607 struct samr_DispEntryFullGroup
{
611 struct lsa_String account_name
;
612 struct lsa_String description
;
615 struct samr_DispInfoFullGroups
{
617 struct samr_DispEntryFullGroup
*entries
;/* [unique,size_is(count)] */
620 struct samr_DispEntryAscii
{
622 struct lsa_AsciiStringLarge account_name
;
625 struct samr_DispInfoAscii
{
627 struct samr_DispEntryAscii
*entries
;/* [unique,size_is(count)] */
630 union samr_DispInfo
{
631 struct samr_DispInfoGeneral info1
;/* [case] */
632 struct samr_DispInfoFull info2
;/* [case(2)] */
633 struct samr_DispInfoFullGroups info3
;/* [case(3)] */
634 struct samr_DispInfoAscii info4
;/* [case(4)] */
635 struct samr_DispInfoAscii info5
;/* [case(5)] */
636 }/* [switch_type(uint16)] */;
639 uint16_t min_password_length
;
640 uint32_t password_properties
;
643 enum samr_ConnectVersion
644 #ifndef USE_UINT_ENUMS
646 SAMR_CONNECT_PRE_W2K
=1,
648 SAMR_CONNECT_AFTER_W2K
=3
651 { __donnot_use_enum_samr_ConnectVersion
=0x7FFFFFFF}
652 #define SAMR_CONNECT_PRE_W2K ( 1 )
653 #define SAMR_CONNECT_W2K ( 2 )
654 #define SAMR_CONNECT_AFTER_W2K ( 3 )
658 enum samr_RejectReason
;
660 struct samr_ChangeReject
{
661 enum samr_RejectReason reason
;
666 struct samr_ConnectInfo1
{
667 enum samr_ConnectVersion client_version
;
671 union samr_ConnectInfo
{
672 struct samr_ConnectInfo1 info1
;/* [case] */
675 /* bitmap samr_ValidateFieldsPresent */
676 #define SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET ( 0x00000001 )
677 #define SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME ( 0x00000002 )
678 #define SAMR_VALIDATE_FIELD_LOCKOUT_TIME ( 0x00000004 )
679 #define SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT ( 0x00000008 )
680 #define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH ( 0x00000010 )
681 #define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY ( 0x00000020 )
683 enum samr_ValidatePasswordLevel
684 #ifndef USE_UINT_ENUMS
686 NetValidateAuthentication
=1,
687 NetValidatePasswordChange
=2,
688 NetValidatePasswordReset
=3
691 { __donnot_use_enum_samr_ValidatePasswordLevel
=0x7FFFFFFF}
692 #define NetValidateAuthentication ( 1 )
693 #define NetValidatePasswordChange ( 2 )
694 #define NetValidatePasswordReset ( 3 )
698 enum samr_ValidationStatus
699 #ifndef USE_UINT_ENUMS
701 SAMR_VALIDATION_STATUS_SUCCESS
=0,
702 SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE
=1,
703 SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT
=2,
704 SAMR_VALIDATION_STATUS_BAD_PASSWORD
=4,
705 SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT
=5,
706 SAMR_VALIDATION_STATUS_PWD_TOO_SHORT
=6,
707 SAMR_VALIDATION_STATUS_PWD_TOO_LONG
=7,
708 SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH
=8,
709 SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT
=9
712 { __donnot_use_enum_samr_ValidationStatus
=0x7FFFFFFF}
713 #define SAMR_VALIDATION_STATUS_SUCCESS ( 0 )
714 #define SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE ( 1 )
715 #define SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT ( 2 )
716 #define SAMR_VALIDATION_STATUS_BAD_PASSWORD ( 4 )
717 #define SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT ( 5 )
718 #define SAMR_VALIDATION_STATUS_PWD_TOO_SHORT ( 6 )
719 #define SAMR_VALIDATION_STATUS_PWD_TOO_LONG ( 7 )
720 #define SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH ( 8 )
721 #define SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT ( 9 )
725 struct samr_ValidationBlob
{
727 uint8_t *data
;/* [unique,size_is(length)] */
730 struct samr_ValidatePasswordInfo
{
731 uint32_t fields_present
;
732 NTTIME last_password_change
;
733 NTTIME bad_password_time
;
735 uint32_t bad_pwd_count
;
736 uint32_t pwd_history_len
;
737 struct samr_ValidationBlob
*pwd_history
;/* [unique,size_is(pwd_history_len)] */
740 struct samr_ValidatePasswordRepCtr
{
741 struct samr_ValidatePasswordInfo info
;
742 enum samr_ValidationStatus status
;
745 union samr_ValidatePasswordRep
{
746 struct samr_ValidatePasswordRepCtr ctr1
;/* [case] */
747 struct samr_ValidatePasswordRepCtr ctr2
;/* [case(2)] */
748 struct samr_ValidatePasswordRepCtr ctr3
;/* [case(3)] */
749 }/* [switch_type(uint16)] */;
751 struct samr_ValidatePasswordReq3
{
752 struct samr_ValidatePasswordInfo info
;
753 struct lsa_StringLarge password
;
754 struct lsa_StringLarge account
;
755 struct samr_ValidationBlob hash
;
756 uint8_t pwd_must_change_at_next_logon
;
757 uint8_t clear_lockout
;
760 struct samr_ValidatePasswordReq2
{
761 struct samr_ValidatePasswordInfo info
;
762 struct lsa_StringLarge password
;
763 struct lsa_StringLarge account
;
764 struct samr_ValidationBlob hash
;
765 uint8_t password_matched
;
768 struct samr_ValidatePasswordReq1
{
769 struct samr_ValidatePasswordInfo info
;
770 uint8_t password_matched
;
773 union samr_ValidatePasswordReq
{
774 struct samr_ValidatePasswordReq1 req1
;/* [case] */
775 struct samr_ValidatePasswordReq2 req2
;/* [case(2)] */
776 struct samr_ValidatePasswordReq3 req3
;/* [case(3)] */
777 }/* [switch_type(uint16)] */;
780 struct samr_Connect
{
782 uint16_t *system_name
;/* [unique] */
783 uint32_t access_mask
;
787 struct policy_handle
*connect_handle
;/* [ref] */
796 struct policy_handle
*handle
;/* [ref] */
800 struct policy_handle
*handle
;/* [ref] */
807 struct samr_SetSecurity
{
809 struct policy_handle
*handle
;/* [ref] */
811 struct sec_desc_buf
*sdbuf
;/* [ref] */
821 struct samr_QuerySecurity
{
823 struct policy_handle
*handle
;/* [ref] */
828 struct sec_desc_buf
**sdbuf
;/* [ref] */
835 struct samr_Shutdown
{
837 struct policy_handle
*connect_handle
;/* [ref] */
847 struct samr_LookupDomain
{
849 struct policy_handle
*connect_handle
;/* [ref] */
850 struct lsa_String
*domain_name
;/* [ref] */
854 struct dom_sid2
**sid
;/* [ref] */
861 struct samr_EnumDomains
{
863 struct policy_handle
*connect_handle
;/* [ref] */
865 uint32_t *resume_handle
;/* [ref] */
869 struct samr_SamArray
**sam
;/* [ref] */
870 uint32_t *num_entries
;/* [ref] */
871 uint32_t *resume_handle
;/* [ref] */
878 struct samr_OpenDomain
{
880 struct policy_handle
*connect_handle
;/* [ref] */
881 uint32_t access_mask
;
882 struct dom_sid2
*sid
;/* [ref] */
886 struct policy_handle
*domain_handle
;/* [ref] */
893 struct samr_QueryDomainInfo
{
895 struct policy_handle
*domain_handle
;/* [ref] */
900 union samr_DomainInfo
**info
;/* [ref,switch_is(level)] */
907 struct samr_SetDomainInfo
{
909 struct policy_handle
*domain_handle
;/* [ref] */
911 union samr_DomainInfo
*info
;/* [ref,switch_is(level)] */
921 struct samr_CreateDomainGroup
{
923 struct policy_handle
*domain_handle
;/* [ref] */
924 struct lsa_String
*name
;/* [ref] */
925 uint32_t access_mask
;
929 struct policy_handle
*group_handle
;/* [ref] */
930 uint32_t *rid
;/* [ref] */
937 struct samr_EnumDomainGroups
{
939 struct policy_handle
*domain_handle
;/* [ref] */
941 uint32_t *resume_handle
;/* [ref] */
945 struct samr_SamArray
**sam
;/* [ref] */
946 uint32_t *num_entries
;/* [ref] */
947 uint32_t *resume_handle
;/* [ref] */
954 struct samr_CreateUser
{
956 struct policy_handle
*domain_handle
;/* [ref] */
957 struct lsa_String
*account_name
;/* [ref] */
958 uint32_t access_mask
;
962 struct policy_handle
*user_handle
;/* [ref] */
963 uint32_t *rid
;/* [ref] */
970 struct samr_EnumDomainUsers
{
972 struct policy_handle
*domain_handle
;/* [ref] */
975 uint32_t *resume_handle
;/* [ref] */
979 struct samr_SamArray
**sam
;/* [ref] */
980 uint32_t *num_entries
;/* [ref] */
981 uint32_t *resume_handle
;/* [ref] */
988 struct samr_CreateDomAlias
{
990 struct policy_handle
*domain_handle
;/* [ref] */
991 struct lsa_String
*alias_name
;/* [ref] */
992 uint32_t access_mask
;
996 struct policy_handle
*alias_handle
;/* [ref] */
997 uint32_t *rid
;/* [ref] */
1004 struct samr_EnumDomainAliases
{
1006 struct policy_handle
*domain_handle
;/* [ref] */
1008 uint32_t *resume_handle
;/* [ref] */
1012 struct samr_SamArray
**sam
;/* [ref] */
1013 uint32_t *num_entries
;/* [ref] */
1014 uint32_t *resume_handle
;/* [ref] */
1021 struct samr_GetAliasMembership
{
1023 struct policy_handle
*domain_handle
;/* [ref] */
1024 struct lsa_SidArray
*sids
;/* [ref] */
1028 struct samr_Ids
*rids
;/* [ref] */
1035 struct samr_LookupNames
{
1037 struct policy_handle
*domain_handle
;/* [ref] */
1038 uint32_t num_names
;/* [range(0,1000)] */
1039 struct lsa_String
*names
;/* [length_is(num_names),size_is(1000)] */
1043 struct samr_Ids
*rids
;/* [ref] */
1044 struct samr_Ids
*types
;/* [ref] */
1051 struct samr_LookupRids
{
1053 struct policy_handle
*domain_handle
;/* [ref] */
1054 uint32_t num_rids
;/* [range(0,1000)] */
1055 uint32_t *rids
;/* [length_is(num_rids),size_is(1000)] */
1059 struct lsa_Strings
*names
;/* [ref] */
1060 struct samr_Ids
*types
;/* [ref] */
1067 struct samr_OpenGroup
{
1069 struct policy_handle
*domain_handle
;/* [ref] */
1070 uint32_t access_mask
;
1075 struct policy_handle
*group_handle
;/* [ref] */
1082 struct samr_QueryGroupInfo
{
1084 struct policy_handle
*group_handle
;/* [ref] */
1085 enum samr_GroupInfoEnum level
;
1089 union samr_GroupInfo
**info
;/* [ref,switch_is(level)] */
1096 struct samr_SetGroupInfo
{
1098 struct policy_handle
*group_handle
;/* [ref] */
1099 enum samr_GroupInfoEnum level
;
1100 union samr_GroupInfo
*info
;/* [ref,switch_is(level)] */
1110 struct samr_AddGroupMember
{
1112 struct policy_handle
*group_handle
;/* [ref] */
1124 struct samr_DeleteDomainGroup
{
1126 struct policy_handle
*group_handle
;/* [ref] */
1130 struct policy_handle
*group_handle
;/* [ref] */
1137 struct samr_DeleteGroupMember
{
1139 struct policy_handle
*group_handle
;/* [ref] */
1150 struct samr_QueryGroupMember
{
1152 struct policy_handle
*group_handle
;/* [ref] */
1156 struct samr_RidTypeArray
**rids
;/* [ref] */
1163 struct samr_SetMemberAttributesOfGroup
{
1165 struct policy_handle
*group_handle
;/* [ref] */
1177 struct samr_OpenAlias
{
1179 struct policy_handle
*domain_handle
;/* [ref] */
1180 uint32_t access_mask
;
1185 struct policy_handle
*alias_handle
;/* [ref] */
1192 struct samr_QueryAliasInfo
{
1194 struct policy_handle
*alias_handle
;/* [ref] */
1195 enum samr_AliasInfoEnum level
;
1199 union samr_AliasInfo
**info
;/* [ref,switch_is(level)] */
1206 struct samr_SetAliasInfo
{
1208 struct policy_handle
*alias_handle
;/* [ref] */
1209 enum samr_AliasInfoEnum level
;
1210 union samr_AliasInfo
*info
;/* [ref,switch_is(level)] */
1220 struct samr_DeleteDomAlias
{
1222 struct policy_handle
*alias_handle
;/* [ref] */
1226 struct policy_handle
*alias_handle
;/* [ref] */
1233 struct samr_AddAliasMember
{
1235 struct policy_handle
*alias_handle
;/* [ref] */
1236 struct dom_sid2
*sid
;/* [ref] */
1246 struct samr_DeleteAliasMember
{
1248 struct policy_handle
*alias_handle
;/* [ref] */
1249 struct dom_sid2
*sid
;/* [ref] */
1259 struct samr_GetMembersInAlias
{
1261 struct policy_handle
*alias_handle
;/* [ref] */
1265 struct lsa_SidArray
*sids
;/* [ref] */
1272 struct samr_OpenUser
{
1274 struct policy_handle
*domain_handle
;/* [ref] */
1275 uint32_t access_mask
;
1280 struct policy_handle
*user_handle
;/* [ref] */
1287 struct samr_DeleteUser
{
1289 struct policy_handle
*user_handle
;/* [ref] */
1293 struct policy_handle
*user_handle
;/* [ref] */
1300 struct samr_QueryUserInfo
{
1302 struct policy_handle
*user_handle
;/* [ref] */
1307 union samr_UserInfo
**info
;/* [ref,switch_is(level)] */
1314 struct samr_SetUserInfo
{
1316 struct policy_handle
*user_handle
;/* [ref] */
1318 union samr_UserInfo
*info
;/* [ref,switch_is(level)] */
1328 struct samr_ChangePasswordUser
{
1330 struct policy_handle
*user_handle
;/* [ref] */
1332 struct samr_Password
*old_lm_crypted
;/* [unique] */
1333 struct samr_Password
*new_lm_crypted
;/* [unique] */
1335 struct samr_Password
*old_nt_crypted
;/* [unique] */
1336 struct samr_Password
*new_nt_crypted
;/* [unique] */
1337 uint8_t cross1_present
;
1338 struct samr_Password
*nt_cross
;/* [unique] */
1339 uint8_t cross2_present
;
1340 struct samr_Password
*lm_cross
;/* [unique] */
1350 struct samr_GetGroupsForUser
{
1352 struct policy_handle
*user_handle
;/* [ref] */
1356 struct samr_RidWithAttributeArray
**rids
;/* [ref] */
1363 struct samr_QueryDisplayInfo
{
1365 struct policy_handle
*domain_handle
;/* [ref] */
1368 uint32_t max_entries
;
1373 uint32_t *total_size
;/* [ref] */
1374 uint32_t *returned_size
;/* [ref] */
1375 union samr_DispInfo
*info
;/* [ref,switch_is(level)] */
1382 struct samr_GetDisplayEnumerationIndex
{
1384 struct policy_handle
*domain_handle
;/* [ref] */
1386 struct lsa_String
*name
;/* [ref] */
1390 uint32_t *idx
;/* [ref] */
1397 struct samr_TestPrivateFunctionsDomain
{
1399 struct policy_handle
*domain_handle
;/* [ref] */
1409 struct samr_TestPrivateFunctionsUser
{
1411 struct policy_handle
*user_handle
;/* [ref] */
1421 struct samr_GetUserPwInfo
{
1423 struct policy_handle
*user_handle
;/* [ref] */
1427 struct samr_PwInfo
*info
;/* [ref] */
1434 struct samr_RemoveMemberFromForeignDomain
{
1436 struct policy_handle
*domain_handle
;/* [ref] */
1437 struct dom_sid2
*sid
;/* [ref] */
1447 struct samr_QueryDomainInfo2
{
1449 struct policy_handle
*domain_handle
;/* [ref] */
1454 union samr_DomainInfo
**info
;/* [ref,switch_is(level)] */
1461 struct samr_QueryUserInfo2
{
1463 struct policy_handle
*user_handle
;/* [ref] */
1468 union samr_UserInfo
**info
;/* [ref,switch_is(level)] */
1475 struct samr_QueryDisplayInfo2
{
1477 struct policy_handle
*domain_handle
;/* [ref] */
1480 uint32_t max_entries
;
1485 uint32_t *total_size
;/* [ref] */
1486 uint32_t *returned_size
;/* [ref] */
1487 union samr_DispInfo
*info
;/* [ref,switch_is(level)] */
1494 struct samr_GetDisplayEnumerationIndex2
{
1496 struct policy_handle
*domain_handle
;/* [ref] */
1498 struct lsa_String
*name
;/* [ref] */
1502 uint32_t *idx
;/* [ref] */
1509 struct samr_CreateUser2
{
1511 struct policy_handle
*domain_handle
;/* [ref] */
1512 struct lsa_String
*account_name
;/* [ref] */
1513 uint32_t acct_flags
;
1514 uint32_t access_mask
;
1518 struct policy_handle
*user_handle
;/* [ref] */
1519 uint32_t *access_granted
;/* [ref] */
1520 uint32_t *rid
;/* [ref] */
1527 struct samr_QueryDisplayInfo3
{
1529 struct policy_handle
*domain_handle
;/* [ref] */
1532 uint32_t max_entries
;
1537 uint32_t *total_size
;/* [ref] */
1538 uint32_t *returned_size
;/* [ref] */
1539 union samr_DispInfo
*info
;/* [ref,switch_is(level)] */
1546 struct samr_AddMultipleMembersToAlias
{
1548 struct policy_handle
*alias_handle
;/* [ref] */
1549 struct lsa_SidArray
*sids
;/* [ref] */
1559 struct samr_RemoveMultipleMembersFromAlias
{
1561 struct policy_handle
*alias_handle
;/* [ref] */
1562 struct lsa_SidArray
*sids
;/* [ref] */
1572 struct samr_OemChangePasswordUser2
{
1574 struct lsa_AsciiString
*server
;/* [unique] */
1575 struct lsa_AsciiString
*account
;/* [ref] */
1576 struct samr_CryptPassword
*password
;/* [unique] */
1577 struct samr_Password
*hash
;/* [unique] */
1587 struct samr_ChangePasswordUser2
{
1589 struct lsa_String
*server
;/* [unique] */
1590 struct lsa_String
*account
;/* [ref] */
1591 struct samr_CryptPassword
*nt_password
;/* [unique] */
1592 struct samr_Password
*nt_verifier
;/* [unique] */
1594 struct samr_CryptPassword
*lm_password
;/* [unique] */
1595 struct samr_Password
*lm_verifier
;/* [unique] */
1605 struct samr_GetDomPwInfo
{
1607 struct lsa_String
*domain_name
;/* [unique] */
1611 struct samr_PwInfo
*info
;/* [ref] */
1618 struct samr_Connect2
{
1620 const char *system_name
;/* [unique,charset(UTF16)] */
1621 uint32_t access_mask
;
1625 struct policy_handle
*connect_handle
;/* [ref] */
1632 struct samr_SetUserInfo2
{
1634 struct policy_handle
*user_handle
;/* [ref] */
1636 union samr_UserInfo
*info
;/* [ref,switch_is(level)] */
1646 struct samr_SetBootKeyInformation
{
1648 struct policy_handle
*connect_handle
;/* [ref] */
1661 struct samr_GetBootKeyInformation
{
1663 struct policy_handle
*domain_handle
;/* [ref] */
1667 uint32_t *unknown
;/* [ref] */
1674 struct samr_Connect3
{
1676 const char *system_name
;/* [unique,charset(UTF16)] */
1678 uint32_t access_mask
;
1682 struct policy_handle
*connect_handle
;/* [ref] */
1689 struct samr_Connect4
{
1691 const char *system_name
;/* [unique,charset(UTF16)] */
1692 enum samr_ConnectVersion client_version
;
1693 uint32_t access_mask
;
1697 struct policy_handle
*connect_handle
;/* [ref] */
1704 struct samr_ChangePasswordUser3
{
1706 struct lsa_String
*server
;/* [unique] */
1707 struct lsa_String
*account
;/* [ref] */
1708 struct samr_CryptPassword
*nt_password
;/* [unique] */
1709 struct samr_Password
*nt_verifier
;/* [unique] */
1711 struct samr_CryptPassword
*lm_password
;/* [unique] */
1712 struct samr_Password
*lm_verifier
;/* [unique] */
1713 struct samr_CryptPassword
*password3
;/* [unique] */
1717 struct samr_DomInfo1
**dominfo
;/* [ref] */
1718 struct samr_ChangeReject
**reject
;/* [ref] */
1725 struct samr_Connect5
{
1727 const char *system_name
;/* [unique,charset(UTF16)] */
1728 uint32_t access_mask
;
1730 union samr_ConnectInfo
*info_in
;/* [ref,switch_is(level_in)] */
1734 uint32_t *level_out
;/* [ref] */
1735 union samr_ConnectInfo
*info_out
;/* [ref,switch_is(*level_out)] */
1736 struct policy_handle
*connect_handle
;/* [ref] */
1743 struct samr_RidToSid
{
1745 struct policy_handle
*domain_handle
;/* [ref] */
1750 struct dom_sid2
*sid
;/* [ref] */
1757 struct samr_SetDsrmPassword
{
1759 struct lsa_String
*name
;/* [unique] */
1761 struct samr_Password
*hash
;/* [unique] */
1771 struct samr_ValidatePassword
{
1773 enum samr_ValidatePasswordLevel level
;
1774 union samr_ValidatePasswordReq
*req
;/* [ref,switch_is(level)] */
1778 union samr_ValidatePasswordRep
**rep
;/* [ref,switch_is(level)] */
1784 #endif /* _HEADER_samr */