1
/* header auto-generated by pidl */
5
#include "libcli/util/ntstatus.h"
7
#include "librpc/gen_ndr/misc.h"
8
#include "librpc/gen_ndr/lsa.h"
9
#include "librpc/gen_ndr/security.h"
13
#define SAMR_ACCESS_ALL_ACCESS ( 0x0000003F )
14
#define GENERIC_RIGHTS_SAM_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ACCESS_ALL_ACCESS) )
15
#define GENERIC_RIGHTS_SAM_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ACCESS_ENUM_DOMAINS) )
16
#define GENERIC_RIGHTS_SAM_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ACCESS_CREATE_DOMAIN|SAMR_ACCESS_INITIALIZE_SERVER|SAMR_ACCESS_SHUTDOWN_SERVER) )
17
#define GENERIC_RIGHTS_SAM_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ACCESS_LOOKUP_DOMAIN|SAMR_ACCESS_CONNECT_TO_SERVER) )
18
#define SAMR_USER_ACCESS_ALL_ACCESS ( 0x000007FF )
19
#define GENERIC_RIGHTS_USER_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_USER_ACCESS_ALL_ACCESS) )
20
#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) )
21
#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) )
22
#define GENERIC_RIGHTS_USER_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_USER_ACCESS_CHANGE_PASSWORD|SAMR_USER_ACCESS_GET_NAME_ETC) )
23
#define SAMR_DOMAIN_ACCESS_ALL_ACCESS ( 0x000007FF )
24
#define GENERIC_RIGHTS_DOMAIN_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_DOMAIN_ACCESS_ALL_ACCESS) )
25
#define GENERIC_RIGHTS_DOMAIN_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS|SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2) )
26
#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) )
27
#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) )
28
#define SAMR_GROUP_ACCESS_ALL_ACCESS ( 0x0000001F )
29
#define GENERIC_RIGHTS_GROUP_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_GROUP_ACCESS_ALL_ACCESS) )
30
#define GENERIC_RIGHTS_GROUP_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_GROUP_ACCESS_GET_MEMBERS) )
31
#define GENERIC_RIGHTS_GROUP_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_GROUP_ACCESS_REMOVE_MEMBER|SAMR_GROUP_ACCESS_ADD_MEMBER|SAMR_GROUP_ACCESS_SET_INFO) )
32
#define GENERIC_RIGHTS_GROUP_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_GROUP_ACCESS_LOOKUP_INFO) )
33
#define SAMR_ALIAS_ACCESS_ALL_ACCESS ( 0x0000001F )
34
#define GENERIC_RIGHTS_ALIAS_ALL_ACCESS ( (STANDARD_RIGHTS_REQUIRED_ACCESS|SAMR_ALIAS_ACCESS_ALL_ACCESS) )
35
#define GENERIC_RIGHTS_ALIAS_READ ( (STANDARD_RIGHTS_READ_ACCESS|SAMR_ALIAS_ACCESS_GET_MEMBERS) )
36
#define GENERIC_RIGHTS_ALIAS_WRITE ( (STANDARD_RIGHTS_WRITE_ACCESS|SAMR_ALIAS_ACCESS_REMOVE_MEMBER|SAMR_ALIAS_ACCESS_ADD_MEMBER|SAMR_ALIAS_ACCESS_SET_INFO) )
37
#define GENERIC_RIGHTS_ALIAS_EXECUTE ( (STANDARD_RIGHTS_EXECUTE_ACCESS|SAMR_ALIAS_ACCESS_LOOKUP_INFO) )
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
enum netr_SamDatabaseID
42
#ifndef USE_UINT_ENUMS
44
SAM_DATABASE_DOMAIN=(int)(0),
45
SAM_DATABASE_BUILTIN=(int)(1),
46
SAM_DATABASE_PRIVS=(int)(2)
49
{ __donnot_use_enum_netr_SamDatabaseID=0x7FFFFFFF}
50
#define SAM_DATABASE_DOMAIN ( 0 )
51
#define SAM_DATABASE_BUILTIN ( 1 )
52
#define SAM_DATABASE_PRIVS ( 2 )
56
enum samr_RejectReason
57
#ifndef USE_UINT_ENUMS
59
SAMR_REJECT_OTHER=(int)(0),
60
SAMR_REJECT_TOO_SHORT=(int)(1),
61
SAMR_REJECT_IN_HISTORY=(int)(2),
62
SAMR_REJECT_COMPLEXITY=(int)(5)
65
{ __donnot_use_enum_samr_RejectReason=0x7FFFFFFF}
66
#define SAMR_REJECT_OTHER ( 0 )
67
#define SAMR_REJECT_TOO_SHORT ( 1 )
68
#define SAMR_REJECT_IN_HISTORY ( 2 )
69
#define SAMR_REJECT_COMPLEXITY ( 5 )
73
/* bitmap samr_AcctFlags */
74
#define ACB_DISABLED ( 0x00000001 )
75
#define ACB_HOMDIRREQ ( 0x00000002 )
76
#define ACB_PWNOTREQ ( 0x00000004 )
77
#define ACB_TEMPDUP ( 0x00000008 )
78
#define ACB_NORMAL ( 0x00000010 )
79
#define ACB_MNS ( 0x00000020 )
80
#define ACB_DOMTRUST ( 0x00000040 )
81
#define ACB_WSTRUST ( 0x00000080 )
82
#define ACB_SVRTRUST ( 0x00000100 )
83
#define ACB_PWNOEXP ( 0x00000200 )
84
#define ACB_AUTOLOCK ( 0x00000400 )
85
#define ACB_ENC_TXT_PWD_ALLOWED ( 0x00000800 )
86
#define ACB_SMARTCARD_REQUIRED ( 0x00001000 )
87
#define ACB_TRUSTED_FOR_DELEGATION ( 0x00002000 )
88
#define ACB_NOT_DELEGATED ( 0x00004000 )
89
#define ACB_USE_DES_KEY_ONLY ( 0x00008000 )
90
#define ACB_DONT_REQUIRE_PREAUTH ( 0x00010000 )
91
#define ACB_PW_EXPIRED ( 0x00020000 )
92
#define ACB_NO_AUTH_DATA_REQD ( 0x00080000 )
94
/* bitmap samr_ConnectAccessMask */
95
#define SAMR_ACCESS_CONNECT_TO_SERVER ( 0x00000001 )
96
#define SAMR_ACCESS_SHUTDOWN_SERVER ( 0x00000002 )
97
#define SAMR_ACCESS_INITIALIZE_SERVER ( 0x00000004 )
98
#define SAMR_ACCESS_CREATE_DOMAIN ( 0x00000008 )
99
#define SAMR_ACCESS_ENUM_DOMAINS ( 0x00000010 )
100
#define SAMR_ACCESS_LOOKUP_DOMAIN ( 0x00000020 )
102
/* bitmap samr_UserAccessMask */
103
#define SAMR_USER_ACCESS_GET_NAME_ETC ( 0x00000001 )
104
#define SAMR_USER_ACCESS_GET_LOCALE ( 0x00000002 )
105
#define SAMR_USER_ACCESS_SET_LOC_COM ( 0x00000004 )
106
#define SAMR_USER_ACCESS_GET_LOGONINFO ( 0x00000008 )
107
#define SAMR_USER_ACCESS_GET_ATTRIBUTES ( 0x00000010 )
108
#define SAMR_USER_ACCESS_SET_ATTRIBUTES ( 0x00000020 )
109
#define SAMR_USER_ACCESS_CHANGE_PASSWORD ( 0x00000040 )
110
#define SAMR_USER_ACCESS_SET_PASSWORD ( 0x00000080 )
111
#define SAMR_USER_ACCESS_GET_GROUPS ( 0x00000100 )
112
#define SAMR_USER_ACCESS_GET_GROUP_MEMBERSHIP ( 0x00000200 )
113
#define SAMR_USER_ACCESS_CHANGE_GROUP_MEMBERSHIP ( 0x00000400 )
115
/* bitmap samr_DomainAccessMask */
116
#define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_1 ( 0x00000001 )
117
#define SAMR_DOMAIN_ACCESS_SET_INFO_1 ( 0x00000002 )
118
#define SAMR_DOMAIN_ACCESS_LOOKUP_INFO_2 ( 0x00000004 )
119
#define SAMR_DOMAIN_ACCESS_SET_INFO_2 ( 0x00000008 )
120
#define SAMR_DOMAIN_ACCESS_CREATE_USER ( 0x00000010 )
121
#define SAMR_DOMAIN_ACCESS_CREATE_GROUP ( 0x00000020 )
122
#define SAMR_DOMAIN_ACCESS_CREATE_ALIAS ( 0x00000040 )
123
#define SAMR_DOMAIN_ACCESS_LOOKUP_ALIAS ( 0x00000080 )
124
#define SAMR_DOMAIN_ACCESS_ENUM_ACCOUNTS ( 0x00000100 )
125
#define SAMR_DOMAIN_ACCESS_OPEN_ACCOUNT ( 0x00000200 )
126
#define SAMR_DOMAIN_ACCESS_SET_INFO_3 ( 0x00000400 )
128
/* bitmap samr_GroupAccessMask */
129
#define SAMR_GROUP_ACCESS_LOOKUP_INFO ( 0x00000001 )
130
#define SAMR_GROUP_ACCESS_SET_INFO ( 0x00000002 )
131
#define SAMR_GROUP_ACCESS_ADD_MEMBER ( 0x00000004 )
132
#define SAMR_GROUP_ACCESS_REMOVE_MEMBER ( 0x00000008 )
133
#define SAMR_GROUP_ACCESS_GET_MEMBERS ( 0x00000010 )
135
/* bitmap samr_AliasAccessMask */
136
#define SAMR_ALIAS_ACCESS_ADD_MEMBER ( 0x00000001 )
137
#define SAMR_ALIAS_ACCESS_REMOVE_MEMBER ( 0x00000002 )
138
#define SAMR_ALIAS_ACCESS_GET_MEMBERS ( 0x00000004 )
139
#define SAMR_ALIAS_ACCESS_LOOKUP_INFO ( 0x00000008 )
140
#define SAMR_ALIAS_ACCESS_SET_INFO ( 0x00000010 )
142
struct samr_SamEntry {
144
struct lsa_String name;
147
struct samr_SamArray {
149
struct samr_SamEntry *entries;/* [unique,size_is(count)] */
152
enum samr_DomainInfoClass
153
#ifndef USE_UINT_ENUMS
155
DomainPasswordInformation=(int)(1),
156
DomainGeneralInformation=(int)(2),
157
DomainLogoffInformation=(int)(3),
158
DomainOemInformation=(int)(4),
159
DomainNameInformation=(int)(5),
160
DomainReplicationInformation=(int)(6),
161
DomainServerRoleInformation=(int)(7),
162
DomainModifiedInformation=(int)(8),
163
DomainStateInformation=(int)(9),
164
DomainUasInformation=(int)(10),
165
DomainGeneralInformation2=(int)(11),
166
DomainLockoutInformation=(int)(12),
167
DomainModifiedInformation2=(int)(13)
170
{ __donnot_use_enum_samr_DomainInfoClass=0x7FFFFFFF}
171
#define DomainPasswordInformation ( 1 )
172
#define DomainGeneralInformation ( 2 )
173
#define DomainLogoffInformation ( 3 )
174
#define DomainOemInformation ( 4 )
175
#define DomainNameInformation ( 5 )
176
#define DomainReplicationInformation ( 6 )
177
#define DomainServerRoleInformation ( 7 )
178
#define DomainModifiedInformation ( 8 )
179
#define DomainStateInformation ( 9 )
180
#define DomainUasInformation ( 10 )
181
#define DomainGeneralInformation2 ( 11 )
182
#define DomainLockoutInformation ( 12 )
183
#define DomainModifiedInformation2 ( 13 )
188
#ifndef USE_UINT_ENUMS
190
SAMR_ROLE_STANDALONE=(int)(0),
191
SAMR_ROLE_DOMAIN_MEMBER=(int)(1),
192
SAMR_ROLE_DOMAIN_BDC=(int)(2),
193
SAMR_ROLE_DOMAIN_PDC=(int)(3)
196
{ __donnot_use_enum_samr_Role=0x7FFFFFFF}
197
#define SAMR_ROLE_STANDALONE ( 0 )
198
#define SAMR_ROLE_DOMAIN_MEMBER ( 1 )
199
#define SAMR_ROLE_DOMAIN_BDC ( 2 )
200
#define SAMR_ROLE_DOMAIN_PDC ( 3 )
204
/* bitmap samr_PasswordProperties */
205
#define DOMAIN_PASSWORD_COMPLEX ( 0x00000001 )
206
#define DOMAIN_PASSWORD_NO_ANON_CHANGE ( 0x00000002 )
207
#define DOMAIN_PASSWORD_NO_CLEAR_CHANGE ( 0x00000004 )
208
#define DOMAIN_PASSWORD_LOCKOUT_ADMINS ( 0x00000008 )
209
#define DOMAIN_PASSWORD_STORE_CLEARTEXT ( 0x00000010 )
210
#define DOMAIN_REFUSE_PASSWORD_CHANGE ( 0x00000020 )
212
enum samr_DomainServerState
213
#ifndef USE_UINT_ENUMS
215
DOMAIN_SERVER_ENABLED=(int)(1),
216
DOMAIN_SERVER_DISABLED=(int)(2)
219
{ __donnot_use_enum_samr_DomainServerState=0x7FFFFFFF}
220
#define DOMAIN_SERVER_ENABLED ( 1 )
221
#define DOMAIN_SERVER_DISABLED ( 2 )
225
struct samr_DomInfo1 {
226
uint16_t min_password_length;
227
uint16_t password_history_length;
228
uint32_t password_properties;
229
int64_t max_password_age;
230
int64_t min_password_age;
233
struct samr_DomGeneralInformation {
234
NTTIME force_logoff_time;
235
struct lsa_String oem_information;
236
struct lsa_String domain_name;
237
struct lsa_String primary;
238
uint64_t sequence_num;
239
enum samr_DomainServerState domain_server_state;
244
uint32_t num_aliases;
247
struct samr_DomInfo3 {
248
NTTIME force_logoff_time;
251
struct samr_DomOEMInformation {
252
struct lsa_String oem_information;
255
struct samr_DomInfo5 {
256
struct lsa_String domain_name;
259
struct samr_DomInfo6 {
260
struct lsa_String primary;
263
struct samr_DomInfo7 {
267
struct samr_DomInfo8 {
268
uint64_t sequence_num;
269
NTTIME domain_create_time;
272
struct samr_DomInfo9 {
273
enum samr_DomainServerState domain_server_state;
276
struct samr_DomGeneralInformation2 {
277
struct samr_DomGeneralInformation general;
278
uint64_t lockout_duration;
279
uint64_t lockout_window;
280
uint16_t lockout_threshold;
283
struct samr_DomInfo12 {
284
uint64_t lockout_duration;
285
uint64_t lockout_window;
286
uint16_t lockout_threshold;
289
struct samr_DomInfo13 {
290
uint64_t sequence_num;
291
NTTIME domain_create_time;
292
uint64_t modified_count_at_last_promotion;
295
union samr_DomainInfo {
296
struct samr_DomInfo1 info1;/* [case] */
297
struct samr_DomGeneralInformation general;/* [case(2)] */
298
struct samr_DomInfo3 info3;/* [case(3)] */
299
struct samr_DomOEMInformation oem;/* [case(4)] */
300
struct samr_DomInfo5 info5;/* [case(5)] */
301
struct samr_DomInfo6 info6;/* [case(6)] */
302
struct samr_DomInfo7 info7;/* [case(7)] */
303
struct samr_DomInfo8 info8;/* [case(8)] */
304
struct samr_DomInfo9 info9;/* [case(9)] */
305
struct samr_DomGeneralInformation2 general2;/* [case(11)] */
306
struct samr_DomInfo12 info12;/* [case(12)] */
307
struct samr_DomInfo13 info13;/* [case(13)] */
308
}/* [switch_type(uint16)] */;
311
uint32_t count;/* [range(0,1024)] */
312
uint32_t *ids;/* [unique,size_is(count)] */
315
/* bitmap samr_GroupAttrs */
316
#define SE_GROUP_MANDATORY ( 0x00000001 )
317
#define SE_GROUP_ENABLED_BY_DEFAULT ( 0x00000002 )
318
#define SE_GROUP_ENABLED ( 0x00000004 )
319
#define SE_GROUP_OWNER ( 0x00000008 )
320
#define SE_GROUP_USE_FOR_DENY_ONLY ( 0x00000010 )
321
#define SE_GROUP_RESOURCE ( 0x20000000 )
322
#define SE_GROUP_LOGON_ID ( 0xC0000000 )
324
struct samr_GroupInfoAll {
325
struct lsa_String name;
327
uint32_t num_members;
328
struct lsa_String description;
331
struct samr_GroupInfoAttributes {
335
struct samr_GroupInfoDescription {
336
struct lsa_String description;
339
enum samr_GroupInfoEnum
340
#ifndef USE_UINT_ENUMS
342
GROUPINFOALL=(int)(1),
343
GROUPINFONAME=(int)(2),
344
GROUPINFOATTRIBUTES=(int)(3),
345
GROUPINFODESCRIPTION=(int)(4),
346
GROUPINFOALL2=(int)(5)
349
{ __donnot_use_enum_samr_GroupInfoEnum=0x7FFFFFFF}
350
#define GROUPINFOALL ( 1 )
351
#define GROUPINFONAME ( 2 )
352
#define GROUPINFOATTRIBUTES ( 3 )
353
#define GROUPINFODESCRIPTION ( 4 )
354
#define GROUPINFOALL2 ( 5 )
358
union samr_GroupInfo {
359
struct samr_GroupInfoAll all;/* [case(GROUPINFOALL)] */
360
struct lsa_String name;/* [case(GROUPINFONAME)] */
361
struct samr_GroupInfoAttributes attributes;/* [case(GROUPINFOATTRIBUTES)] */
362
struct lsa_String description;/* [case(GROUPINFODESCRIPTION)] */
363
struct samr_GroupInfoAll all2;/* [case(GROUPINFOALL2)] */
364
}/* [switch_type(samr_GroupInfoEnum)] */;
366
struct samr_RidTypeArray {
368
uint32_t *rids;/* [unique,size_is(count)] */
369
uint32_t *types;/* [unique,size_is(count)] */
372
struct samr_AliasInfoAll {
373
struct lsa_String name;
374
uint32_t num_members;
375
struct lsa_String description;
378
enum samr_AliasInfoEnum
379
#ifndef USE_UINT_ENUMS
381
ALIASINFOALL=(int)(1),
382
ALIASINFONAME=(int)(2),
383
ALIASINFODESCRIPTION=(int)(3)
386
{ __donnot_use_enum_samr_AliasInfoEnum=0x7FFFFFFF}
387
#define ALIASINFOALL ( 1 )
388
#define ALIASINFONAME ( 2 )
389
#define ALIASINFODESCRIPTION ( 3 )
393
union samr_AliasInfo {
394
struct samr_AliasInfoAll all;/* [case(ALIASINFOALL)] */
395
struct lsa_String name;/* [case(ALIASINFONAME)] */
396
struct lsa_String description;/* [case(ALIASINFODESCRIPTION)] */
397
}/* [switch_type(samr_AliasInfoEnum)] */;
399
enum samr_UserInfoLevel
400
#ifndef USE_UINT_ENUMS
402
UserGeneralInformation=(int)(1),
403
UserPreferencesInformation=(int)(2),
404
UserLogonInformation=(int)(3),
405
UserLogonHoursInformation=(int)(4),
406
UserAccountInformation=(int)(5),
407
UserNameInformation=(int)(6),
408
UserAccountNameInformation=(int)(7),
409
UserFullNameInformation=(int)(8),
410
UserPrimaryGroupInformation=(int)(9),
411
UserHomeInformation=(int)(10),
412
UserScriptInformation=(int)(11),
413
UserProfileInformation=(int)(12),
414
UserAdminCommentInformation=(int)(13),
415
UserWorkStationsInformation=(int)(14),
416
UserControlInformation=(int)(16),
417
UserExpiresInformation=(int)(17),
418
UserInternal1Information=(int)(18),
419
UserParametersInformation=(int)(20),
420
UserAllInformation=(int)(21),
421
UserInternal4Information=(int)(23),
422
UserInternal5Information=(int)(24),
423
UserInternal4InformationNew=(int)(25),
424
UserInternal5InformationNew=(int)(26)
427
{ __donnot_use_enum_samr_UserInfoLevel=0x7FFFFFFF}
428
#define UserGeneralInformation ( 1 )
429
#define UserPreferencesInformation ( 2 )
430
#define UserLogonInformation ( 3 )
431
#define UserLogonHoursInformation ( 4 )
432
#define UserAccountInformation ( 5 )
433
#define UserNameInformation ( 6 )
434
#define UserAccountNameInformation ( 7 )
435
#define UserFullNameInformation ( 8 )
436
#define UserPrimaryGroupInformation ( 9 )
437
#define UserHomeInformation ( 10 )
438
#define UserScriptInformation ( 11 )
439
#define UserProfileInformation ( 12 )
440
#define UserAdminCommentInformation ( 13 )
441
#define UserWorkStationsInformation ( 14 )
442
#define UserControlInformation ( 16 )
443
#define UserExpiresInformation ( 17 )
444
#define UserInternal1Information ( 18 )
445
#define UserParametersInformation ( 20 )
446
#define UserAllInformation ( 21 )
447
#define UserInternal4Information ( 23 )
448
#define UserInternal5Information ( 24 )
449
#define UserInternal4InformationNew ( 25 )
450
#define UserInternal5InformationNew ( 26 )
454
struct samr_UserInfo1 {
455
struct lsa_String account_name;
456
struct lsa_String full_name;
457
uint32_t primary_gid;
458
struct lsa_String description;
459
struct lsa_String comment;
462
struct samr_UserInfo2 {
463
struct lsa_String comment;
464
struct lsa_String unknown;
465
uint16_t country_code;
469
struct samr_LogonHours {
470
uint16_t units_per_week;
471
uint8_t *bits;/* [unique,length_is(units_per_week/8),size_is(1260)] */
472
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
474
struct samr_UserInfo3 {
475
struct lsa_String account_name;
476
struct lsa_String full_name;
478
uint32_t primary_gid;
479
struct lsa_String home_directory;
480
struct lsa_String home_drive;
481
struct lsa_String logon_script;
482
struct lsa_String profile_path;
483
struct lsa_String workstations;
486
NTTIME last_password_change;
487
NTTIME allow_password_change;
488
NTTIME force_password_change;
489
struct samr_LogonHours logon_hours;
490
uint16_t bad_password_count;
491
uint16_t logon_count;
495
struct samr_UserInfo4 {
496
struct samr_LogonHours logon_hours;
499
struct samr_UserInfo5 {
500
struct lsa_String account_name;
501
struct lsa_String full_name;
503
uint32_t primary_gid;
504
struct lsa_String home_directory;
505
struct lsa_String home_drive;
506
struct lsa_String logon_script;
507
struct lsa_String profile_path;
508
struct lsa_String description;
509
struct lsa_String workstations;
512
struct samr_LogonHours logon_hours;
513
uint16_t bad_password_count;
514
uint16_t logon_count;
515
NTTIME last_password_change;
520
struct samr_UserInfo6 {
521
struct lsa_String account_name;
522
struct lsa_String full_name;
525
struct samr_UserInfo7 {
526
struct lsa_String account_name;
529
struct samr_UserInfo8 {
530
struct lsa_String full_name;
533
struct samr_UserInfo9 {
534
uint32_t primary_gid;
537
struct samr_UserInfo10 {
538
struct lsa_String home_directory;
539
struct lsa_String home_drive;
542
struct samr_UserInfo11 {
543
struct lsa_String logon_script;
546
struct samr_UserInfo12 {
547
struct lsa_String profile_path;
550
struct samr_UserInfo13 {
551
struct lsa_String description;
554
struct samr_UserInfo14 {
555
struct lsa_String workstations;
558
struct samr_UserInfo16 {
562
struct samr_UserInfo17 {
566
struct samr_Password {
568
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
570
struct samr_UserInfo18 {
571
struct samr_Password nt_pwd;
572
struct samr_Password lm_pwd;
573
uint8_t nt_pwd_active;
574
uint8_t lm_pwd_active;
575
uint8_t password_expired;
578
struct samr_UserInfo20 {
579
struct lsa_BinaryString parameters;
582
/* bitmap samr_FieldsPresent */
583
#define SAMR_FIELD_ACCOUNT_NAME ( 0x00000001 )
584
#define SAMR_FIELD_FULL_NAME ( 0x00000002 )
585
#define SAMR_FIELD_RID ( 0x00000004 )
586
#define SAMR_FIELD_PRIMARY_GID ( 0x00000008 )
587
#define SAMR_FIELD_DESCRIPTION ( 0x00000010 )
588
#define SAMR_FIELD_COMMENT ( 0x00000020 )
589
#define SAMR_FIELD_HOME_DIRECTORY ( 0x00000040 )
590
#define SAMR_FIELD_HOME_DRIVE ( 0x00000080 )
591
#define SAMR_FIELD_LOGON_SCRIPT ( 0x00000100 )
592
#define SAMR_FIELD_PROFILE_PATH ( 0x00000200 )
593
#define SAMR_FIELD_WORKSTATIONS ( 0x00000400 )
594
#define SAMR_FIELD_LAST_LOGON ( 0x00000800 )
595
#define SAMR_FIELD_LAST_LOGOFF ( 0x00001000 )
596
#define SAMR_FIELD_LOGON_HOURS ( 0x00002000 )
597
#define SAMR_FIELD_BAD_PWD_COUNT ( 0x00004000 )
598
#define SAMR_FIELD_NUM_LOGONS ( 0x00008000 )
599
#define SAMR_FIELD_ALLOW_PWD_CHANGE ( 0x00010000 )
600
#define SAMR_FIELD_FORCE_PWD_CHANGE ( 0x00020000 )
601
#define SAMR_FIELD_LAST_PWD_CHANGE ( 0x00040000 )
602
#define SAMR_FIELD_ACCT_EXPIRY ( 0x00080000 )
603
#define SAMR_FIELD_ACCT_FLAGS ( 0x00100000 )
604
#define SAMR_FIELD_PARAMETERS ( 0x00200000 )
605
#define SAMR_FIELD_COUNTRY_CODE ( 0x00400000 )
606
#define SAMR_FIELD_CODE_PAGE ( 0x00800000 )
607
#define SAMR_FIELD_NT_PASSWORD_PRESENT ( 0x01000000 )
608
#define SAMR_FIELD_LM_PASSWORD_PRESENT ( 0x02000000 )
609
#define SAMR_FIELD_PRIVATE_DATA ( 0x04000000 )
610
#define SAMR_FIELD_EXPIRED_FLAG ( 0x08000000 )
611
#define SAMR_FIELD_SEC_DESC ( 0x10000000 )
612
#define SAMR_FIELD_OWF_PWD ( 0x20000000 )
614
struct samr_UserInfo21 {
617
NTTIME last_password_change;
619
NTTIME allow_password_change;
620
NTTIME force_password_change;
621
struct lsa_String account_name;
622
struct lsa_String full_name;
623
struct lsa_String home_directory;
624
struct lsa_String home_drive;
625
struct lsa_String logon_script;
626
struct lsa_String profile_path;
627
struct lsa_String description;
628
struct lsa_String workstations;
629
struct lsa_String comment;
630
struct lsa_BinaryString parameters;
631
struct lsa_BinaryString lm_owf_password;
632
struct lsa_BinaryString nt_owf_password;
633
struct lsa_String unknown3;
635
uint8_t *buffer;/* [unique,size_is(buf_count)] */
637
uint32_t primary_gid;
639
uint32_t fields_present;
640
struct samr_LogonHours logon_hours;
641
uint16_t bad_password_count;
642
uint16_t logon_count;
643
uint16_t country_code;
645
uint8_t lm_password_set;
646
uint8_t nt_password_set;
647
uint8_t password_expired;
651
struct samr_CryptPassword {
653
}/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
655
struct samr_UserInfo23 {
656
struct samr_UserInfo21 info;
657
struct samr_CryptPassword password;
660
struct samr_UserInfo24 {
661
struct samr_CryptPassword password;
662
uint8_t password_expired;
665
struct samr_CryptPasswordEx {
667
}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
669
struct samr_UserInfo25 {
670
struct samr_UserInfo21 info;
671
struct samr_CryptPasswordEx password;
674
struct samr_UserInfo26 {
675
struct samr_CryptPasswordEx password;
676
uint8_t password_expired;
679
union samr_UserInfo {
680
struct samr_UserInfo1 info1;/* [case] */
681
struct samr_UserInfo2 info2;/* [case(2)] */
682
struct samr_UserInfo3 info3;/* [case(3)] */
683
struct samr_UserInfo4 info4;/* [case(4)] */
684
struct samr_UserInfo5 info5;/* [case(5)] */
685
struct samr_UserInfo6 info6;/* [case(6)] */
686
struct samr_UserInfo7 info7;/* [case(7)] */
687
struct samr_UserInfo8 info8;/* [case(8)] */
688
struct samr_UserInfo9 info9;/* [case(9)] */
689
struct samr_UserInfo10 info10;/* [case(10)] */
690
struct samr_UserInfo11 info11;/* [case(11)] */
691
struct samr_UserInfo12 info12;/* [case(12)] */
692
struct samr_UserInfo13 info13;/* [case(13)] */
693
struct samr_UserInfo14 info14;/* [case(14)] */
694
struct samr_UserInfo16 info16;/* [case(16)] */
695
struct samr_UserInfo17 info17;/* [case(17)] */
696
struct samr_UserInfo18 info18;/* [case(18)] */
697
struct samr_UserInfo20 info20;/* [case(20)] */
698
struct samr_UserInfo21 info21;/* [case(21)] */
699
struct samr_UserInfo23 info23;/* [case(23)] */
700
struct samr_UserInfo24 info24;/* [case(24)] */
701
struct samr_UserInfo25 info25;/* [case(25)] */
702
struct samr_UserInfo26 info26;/* [case(26)] */
703
}/* [switch_type(uint16)] */;
705
struct samr_RidWithAttribute {
710
struct samr_RidWithAttributeArray {
712
struct samr_RidWithAttribute *rids;/* [unique,size_is(count)] */
715
struct samr_DispEntryGeneral {
719
struct lsa_String account_name;
720
struct lsa_String description;
721
struct lsa_String full_name;
724
struct samr_DispInfoGeneral {
726
struct samr_DispEntryGeneral *entries;/* [unique,size_is(count)] */
729
struct samr_DispEntryFull {
733
struct lsa_String account_name;
734
struct lsa_String description;
737
struct samr_DispInfoFull {
739
struct samr_DispEntryFull *entries;/* [unique,size_is(count)] */
742
struct samr_DispEntryFullGroup {
746
struct lsa_String account_name;
747
struct lsa_String description;
750
struct samr_DispInfoFullGroups {
752
struct samr_DispEntryFullGroup *entries;/* [unique,size_is(count)] */
755
struct samr_DispEntryAscii {
757
struct lsa_AsciiStringLarge account_name;
760
struct samr_DispInfoAscii {
762
struct samr_DispEntryAscii *entries;/* [unique,size_is(count)] */
765
union samr_DispInfo {
766
struct samr_DispInfoGeneral info1;/* [case] */
767
struct samr_DispInfoFull info2;/* [case(2)] */
768
struct samr_DispInfoFullGroups info3;/* [case(3)] */
769
struct samr_DispInfoAscii info4;/* [case(4)] */
770
struct samr_DispInfoAscii info5;/* [case(5)] */
771
}/* [switch_type(uint16)] */;
774
uint16_t min_password_length;
775
uint32_t password_properties;
778
enum samr_ConnectVersion
779
#ifndef USE_UINT_ENUMS
781
SAMR_CONNECT_PRE_W2K=(int)(1),
782
SAMR_CONNECT_W2K=(int)(2),
783
SAMR_CONNECT_AFTER_W2K=(int)(3)
786
{ __donnot_use_enum_samr_ConnectVersion=0x7FFFFFFF}
787
#define SAMR_CONNECT_PRE_W2K ( 1 )
788
#define SAMR_CONNECT_W2K ( 2 )
789
#define SAMR_CONNECT_AFTER_W2K ( 3 )
793
struct samr_ChangeReject {
794
enum samr_RejectReason reason;
799
struct samr_ConnectInfo1 {
800
enum samr_ConnectVersion client_version;
804
union samr_ConnectInfo {
805
struct samr_ConnectInfo1 info1;/* [case] */
808
/* bitmap samr_ValidateFieldsPresent */
809
#define SAMR_VALIDATE_FIELD_PASSWORD_LAST_SET ( 0x00000001 )
810
#define SAMR_VALIDATE_FIELD_BAD_PASSWORD_TIME ( 0x00000002 )
811
#define SAMR_VALIDATE_FIELD_LOCKOUT_TIME ( 0x00000004 )
812
#define SAMR_VALIDATE_FIELD_BAD_PASSWORD_COUNT ( 0x00000008 )
813
#define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY_LENGTH ( 0x00000010 )
814
#define SAMR_VALIDATE_FIELD_PASSWORD_HISTORY ( 0x00000020 )
816
enum samr_ValidatePasswordLevel
817
#ifndef USE_UINT_ENUMS
819
NetValidateAuthentication=(int)(1),
820
NetValidatePasswordChange=(int)(2),
821
NetValidatePasswordReset=(int)(3)
824
{ __donnot_use_enum_samr_ValidatePasswordLevel=0x7FFFFFFF}
825
#define NetValidateAuthentication ( 1 )
826
#define NetValidatePasswordChange ( 2 )
827
#define NetValidatePasswordReset ( 3 )
831
enum samr_ValidationStatus
832
#ifndef USE_UINT_ENUMS
834
SAMR_VALIDATION_STATUS_SUCCESS=(int)(0),
835
SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE=(int)(1),
836
SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT=(int)(2),
837
SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED=(int)(3),
838
SAMR_VALIDATION_STATUS_BAD_PASSWORD=(int)(4),
839
SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT=(int)(5),
840
SAMR_VALIDATION_STATUS_PWD_TOO_SHORT=(int)(6),
841
SAMR_VALIDATION_STATUS_PWD_TOO_LONG=(int)(7),
842
SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH=(int)(8),
843
SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT=(int)(9),
844
SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR=(int)(10)
847
{ __donnot_use_enum_samr_ValidationStatus=0x7FFFFFFF}
848
#define SAMR_VALIDATION_STATUS_SUCCESS ( 0 )
849
#define SAMR_VALIDATION_STATUS_PASSWORD_MUST_CHANGE ( 1 )
850
#define SAMR_VALIDATION_STATUS_ACCOUNT_LOCKED_OUT ( 2 )
851
#define SAMR_VALIDATION_STATUS_PASSWORD_EXPIRED ( 3 )
852
#define SAMR_VALIDATION_STATUS_BAD_PASSWORD ( 4 )
853
#define SAMR_VALIDATION_STATUS_PWD_HISTORY_CONFLICT ( 5 )
854
#define SAMR_VALIDATION_STATUS_PWD_TOO_SHORT ( 6 )
855
#define SAMR_VALIDATION_STATUS_PWD_TOO_LONG ( 7 )
856
#define SAMR_VALIDATION_STATUS_NOT_COMPLEX_ENOUGH ( 8 )
857
#define SAMR_VALIDATION_STATUS_PASSWORD_TOO_RECENT ( 9 )
858
#define SAMR_VALIDATION_STATUS_PASSWORD_FILTER_ERROR ( 10 )
862
struct samr_ValidationBlob {
864
uint8_t *data;/* [unique,size_is(length)] */
867
struct samr_ValidatePasswordInfo {
868
uint32_t fields_present;
869
NTTIME last_password_change;
870
NTTIME bad_password_time;
872
uint32_t bad_pwd_count;
873
uint32_t pwd_history_len;
874
struct samr_ValidationBlob *pwd_history;/* [unique,size_is(pwd_history_len)] */
877
struct samr_ValidatePasswordRepCtr {
878
struct samr_ValidatePasswordInfo info;
879
enum samr_ValidationStatus status;
882
union samr_ValidatePasswordRep {
883
struct samr_ValidatePasswordRepCtr ctr1;/* [case] */
884
struct samr_ValidatePasswordRepCtr ctr2;/* [case(2)] */
885
struct samr_ValidatePasswordRepCtr ctr3;/* [case(3)] */
886
}/* [switch_type(uint16)] */;
888
struct samr_ValidatePasswordReq3 {
889
struct samr_ValidatePasswordInfo info;
890
struct lsa_StringLarge password;
891
struct lsa_StringLarge account;
892
struct samr_ValidationBlob hash;
893
uint8_t pwd_must_change_at_next_logon;
894
uint8_t clear_lockout;
897
struct samr_ValidatePasswordReq2 {
898
struct samr_ValidatePasswordInfo info;
899
struct lsa_StringLarge password;
900
struct lsa_StringLarge account;
901
struct samr_ValidationBlob hash;
902
uint8_t password_matched;
905
struct samr_ValidatePasswordReq1 {
906
struct samr_ValidatePasswordInfo info;
907
uint8_t password_matched;
910
union samr_ValidatePasswordReq {
911
struct samr_ValidatePasswordReq1 req1;/* [case] */
912
struct samr_ValidatePasswordReq2 req2;/* [case(2)] */
913
struct samr_ValidatePasswordReq3 req3;/* [case(3)] */
914
}/* [switch_type(uint16)] */;
917
struct samr_Connect {
919
uint16_t *system_name;/* [unique] */
920
uint32_t access_mask;
924
struct policy_handle *connect_handle;/* [ref] */
933
struct policy_handle *handle;/* [ref] */
937
struct policy_handle *handle;/* [ref] */
944
struct samr_SetSecurity {
946
struct policy_handle *handle;/* [ref] */
948
struct sec_desc_buf *sdbuf;/* [ref] */
958
struct samr_QuerySecurity {
960
struct policy_handle *handle;/* [ref] */
965
struct sec_desc_buf **sdbuf;/* [ref] */
972
struct samr_Shutdown {
974
struct policy_handle *connect_handle;/* [ref] */
984
struct samr_LookupDomain {
986
struct policy_handle *connect_handle;/* [ref] */
987
struct lsa_String *domain_name;/* [ref] */
991
struct dom_sid2 **sid;/* [ref] */
998
struct samr_EnumDomains {
1000
struct policy_handle *connect_handle;/* [ref] */
1002
uint32_t *resume_handle;/* [ref] */
1006
struct samr_SamArray **sam;/* [ref] */
1007
uint32_t *num_entries;/* [ref] */
1008
uint32_t *resume_handle;/* [ref] */
1015
struct samr_OpenDomain {
1017
struct policy_handle *connect_handle;/* [ref] */
1018
uint32_t access_mask;
1019
struct dom_sid2 *sid;/* [ref] */
1023
struct policy_handle *domain_handle;/* [ref] */
1030
struct samr_QueryDomainInfo {
1032
struct policy_handle *domain_handle;/* [ref] */
1033
enum samr_DomainInfoClass level;
1037
union samr_DomainInfo **info;/* [ref,switch_is(level)] */
1044
struct samr_SetDomainInfo {
1046
struct policy_handle *domain_handle;/* [ref] */
1047
enum samr_DomainInfoClass level;
1048
union samr_DomainInfo *info;/* [ref,switch_is(level)] */
1058
struct samr_CreateDomainGroup {
1060
struct policy_handle *domain_handle;/* [ref] */
1061
struct lsa_String *name;/* [ref] */
1062
uint32_t access_mask;
1066
struct policy_handle *group_handle;/* [ref] */
1067
uint32_t *rid;/* [ref] */
1074
struct samr_EnumDomainGroups {
1076
struct policy_handle *domain_handle;/* [ref] */
1078
uint32_t *resume_handle;/* [ref] */
1082
struct samr_SamArray **sam;/* [ref] */
1083
uint32_t *num_entries;/* [ref] */
1084
uint32_t *resume_handle;/* [ref] */
1091
struct samr_CreateUser {
1093
struct policy_handle *domain_handle;/* [ref] */
1094
struct lsa_String *account_name;/* [ref] */
1095
uint32_t access_mask;
1099
struct policy_handle *user_handle;/* [ref] */
1100
uint32_t *rid;/* [ref] */
1107
struct samr_EnumDomainUsers {
1109
struct policy_handle *domain_handle;/* [ref] */
1110
uint32_t acct_flags;
1112
uint32_t *resume_handle;/* [ref] */
1116
struct samr_SamArray **sam;/* [ref] */
1117
uint32_t *num_entries;/* [ref] */
1118
uint32_t *resume_handle;/* [ref] */
1125
struct samr_CreateDomAlias {
1127
struct policy_handle *domain_handle;/* [ref] */
1128
struct lsa_String *alias_name;/* [ref] */
1129
uint32_t access_mask;
1133
struct policy_handle *alias_handle;/* [ref] */
1134
uint32_t *rid;/* [ref] */
1141
struct samr_EnumDomainAliases {
1143
struct policy_handle *domain_handle;/* [ref] */
1145
uint32_t *resume_handle;/* [ref] */
1149
struct samr_SamArray **sam;/* [ref] */
1150
uint32_t *num_entries;/* [ref] */
1151
uint32_t *resume_handle;/* [ref] */
1158
struct samr_GetAliasMembership {
1160
struct policy_handle *domain_handle;/* [ref] */
1161
struct lsa_SidArray *sids;/* [ref] */
1165
struct samr_Ids *rids;/* [ref] */
1172
struct samr_LookupNames {
1174
struct policy_handle *domain_handle;/* [ref] */
1175
uint32_t num_names;/* [range(0,1000)] */
1176
struct lsa_String *names;/* [length_is(num_names),size_is(1000)] */
1180
struct samr_Ids *rids;/* [ref] */
1181
struct samr_Ids *types;/* [ref] */
1188
struct samr_LookupRids {
1190
struct policy_handle *domain_handle;/* [ref] */
1191
uint32_t num_rids;/* [range(0,1000)] */
1192
uint32_t *rids;/* [length_is(num_rids),size_is(1000)] */
1196
struct lsa_Strings *names;/* [ref] */
1197
struct samr_Ids *types;/* [ref] */
1204
struct samr_OpenGroup {
1206
struct policy_handle *domain_handle;/* [ref] */
1207
uint32_t access_mask;
1212
struct policy_handle *group_handle;/* [ref] */
1219
struct samr_QueryGroupInfo {
1221
struct policy_handle *group_handle;/* [ref] */
1222
enum samr_GroupInfoEnum level;
1226
union samr_GroupInfo **info;/* [ref,switch_is(level)] */
1233
struct samr_SetGroupInfo {
1235
struct policy_handle *group_handle;/* [ref] */
1236
enum samr_GroupInfoEnum level;
1237
union samr_GroupInfo *info;/* [ref,switch_is(level)] */
1247
struct samr_AddGroupMember {
1249
struct policy_handle *group_handle;/* [ref] */
1261
struct samr_DeleteDomainGroup {
1263
struct policy_handle *group_handle;/* [ref] */
1267
struct policy_handle *group_handle;/* [ref] */
1274
struct samr_DeleteGroupMember {
1276
struct policy_handle *group_handle;/* [ref] */
1287
struct samr_QueryGroupMember {
1289
struct policy_handle *group_handle;/* [ref] */
1293
struct samr_RidTypeArray **rids;/* [ref] */
1300
struct samr_SetMemberAttributesOfGroup {
1302
struct policy_handle *group_handle;/* [ref] */
1314
struct samr_OpenAlias {
1316
struct policy_handle *domain_handle;/* [ref] */
1317
uint32_t access_mask;
1322
struct policy_handle *alias_handle;/* [ref] */
1329
struct samr_QueryAliasInfo {
1331
struct policy_handle *alias_handle;/* [ref] */
1332
enum samr_AliasInfoEnum level;
1336
union samr_AliasInfo **info;/* [ref,switch_is(level)] */
1343
struct samr_SetAliasInfo {
1345
struct policy_handle *alias_handle;/* [ref] */
1346
enum samr_AliasInfoEnum level;
1347
union samr_AliasInfo *info;/* [ref,switch_is(level)] */
1357
struct samr_DeleteDomAlias {
1359
struct policy_handle *alias_handle;/* [ref] */
1363
struct policy_handle *alias_handle;/* [ref] */
1370
struct samr_AddAliasMember {
1372
struct policy_handle *alias_handle;/* [ref] */
1373
struct dom_sid2 *sid;/* [ref] */
1383
struct samr_DeleteAliasMember {
1385
struct policy_handle *alias_handle;/* [ref] */
1386
struct dom_sid2 *sid;/* [ref] */
1396
struct samr_GetMembersInAlias {
1398
struct policy_handle *alias_handle;/* [ref] */
1402
struct lsa_SidArray *sids;/* [ref] */
1409
struct samr_OpenUser {
1411
struct policy_handle *domain_handle;/* [ref] */
1412
uint32_t access_mask;
1417
struct policy_handle *user_handle;/* [ref] */
1424
struct samr_DeleteUser {
1426
struct policy_handle *user_handle;/* [ref] */
1430
struct policy_handle *user_handle;/* [ref] */
1437
struct samr_QueryUserInfo {
1439
struct policy_handle *user_handle;/* [ref] */
1440
enum samr_UserInfoLevel level;
1444
union samr_UserInfo **info;/* [ref,switch_is(level)] */
1451
struct samr_SetUserInfo {
1453
struct policy_handle *user_handle;/* [ref] */
1454
enum samr_UserInfoLevel level;
1455
union samr_UserInfo *info;/* [ref,switch_is(level)] */
1465
struct samr_ChangePasswordUser {
1467
struct policy_handle *user_handle;/* [ref] */
1469
struct samr_Password *old_lm_crypted;/* [unique] */
1470
struct samr_Password *new_lm_crypted;/* [unique] */
1472
struct samr_Password *old_nt_crypted;/* [unique] */
1473
struct samr_Password *new_nt_crypted;/* [unique] */
1474
uint8_t cross1_present;
1475
struct samr_Password *nt_cross;/* [unique] */
1476
uint8_t cross2_present;
1477
struct samr_Password *lm_cross;/* [unique] */
1487
struct samr_GetGroupsForUser {
1489
struct policy_handle *user_handle;/* [ref] */
1493
struct samr_RidWithAttributeArray **rids;/* [ref] */
1500
struct samr_QueryDisplayInfo {
1502
struct policy_handle *domain_handle;/* [ref] */
1505
uint32_t max_entries;
1510
uint32_t *total_size;/* [ref] */
1511
uint32_t *returned_size;/* [ref] */
1512
union samr_DispInfo *info;/* [ref,switch_is(level)] */
1519
struct samr_GetDisplayEnumerationIndex {
1521
struct policy_handle *domain_handle;/* [ref] */
1523
struct lsa_String *name;/* [ref] */
1527
uint32_t *idx;/* [ref] */
1534
struct samr_TestPrivateFunctionsDomain {
1536
struct policy_handle *domain_handle;/* [ref] */
1546
struct samr_TestPrivateFunctionsUser {
1548
struct policy_handle *user_handle;/* [ref] */
1558
struct samr_GetUserPwInfo {
1560
struct policy_handle *user_handle;/* [ref] */
1564
struct samr_PwInfo *info;/* [ref] */
1571
struct samr_RemoveMemberFromForeignDomain {
1573
struct policy_handle *domain_handle;/* [ref] */
1574
struct dom_sid2 *sid;/* [ref] */
1584
struct samr_QueryDomainInfo2 {
1586
struct policy_handle *domain_handle;/* [ref] */
1587
enum samr_DomainInfoClass level;
1591
union samr_DomainInfo **info;/* [ref,switch_is(level)] */
1598
struct samr_QueryUserInfo2 {
1600
struct policy_handle *user_handle;/* [ref] */
1601
enum samr_UserInfoLevel level;
1605
union samr_UserInfo **info;/* [ref,switch_is(level)] */
1612
struct samr_QueryDisplayInfo2 {
1614
struct policy_handle *domain_handle;/* [ref] */
1617
uint32_t max_entries;
1622
uint32_t *total_size;/* [ref] */
1623
uint32_t *returned_size;/* [ref] */
1624
union samr_DispInfo *info;/* [ref,switch_is(level)] */
1631
struct samr_GetDisplayEnumerationIndex2 {
1633
struct policy_handle *domain_handle;/* [ref] */
1635
struct lsa_String *name;/* [ref] */
1639
uint32_t *idx;/* [ref] */
1646
struct samr_CreateUser2 {
1648
struct policy_handle *domain_handle;/* [ref] */
1649
struct lsa_String *account_name;/* [ref] */
1650
uint32_t acct_flags;
1651
uint32_t access_mask;
1655
struct policy_handle *user_handle;/* [ref] */
1656
uint32_t *access_granted;/* [ref] */
1657
uint32_t *rid;/* [ref] */
1664
struct samr_QueryDisplayInfo3 {
1666
struct policy_handle *domain_handle;/* [ref] */
1669
uint32_t max_entries;
1674
uint32_t *total_size;/* [ref] */
1675
uint32_t *returned_size;/* [ref] */
1676
union samr_DispInfo *info;/* [ref,switch_is(level)] */
1683
struct samr_AddMultipleMembersToAlias {
1685
struct policy_handle *alias_handle;/* [ref] */
1686
struct lsa_SidArray *sids;/* [ref] */
1696
struct samr_RemoveMultipleMembersFromAlias {
1698
struct policy_handle *alias_handle;/* [ref] */
1699
struct lsa_SidArray *sids;/* [ref] */
1709
struct samr_OemChangePasswordUser2 {
1711
struct lsa_AsciiString *server;/* [unique] */
1712
struct lsa_AsciiString *account;/* [ref] */
1713
struct samr_CryptPassword *password;/* [unique] */
1714
struct samr_Password *hash;/* [unique] */
1724
struct samr_ChangePasswordUser2 {
1726
struct lsa_String *server;/* [unique] */
1727
struct lsa_String *account;/* [ref] */
1728
struct samr_CryptPassword *nt_password;/* [unique] */
1729
struct samr_Password *nt_verifier;/* [unique] */
1731
struct samr_CryptPassword *lm_password;/* [unique] */
1732
struct samr_Password *lm_verifier;/* [unique] */
1742
struct samr_GetDomPwInfo {
1744
struct lsa_String *domain_name;/* [unique] */
1748
struct samr_PwInfo *info;/* [ref] */
1755
struct samr_Connect2 {
1757
const char *system_name;/* [unique,charset(UTF16)] */
1758
uint32_t access_mask;
1762
struct policy_handle *connect_handle;/* [ref] */
1769
struct samr_SetUserInfo2 {
1771
struct policy_handle *user_handle;/* [ref] */
1772
enum samr_UserInfoLevel level;
1773
union samr_UserInfo *info;/* [ref,switch_is(level)] */
1783
struct samr_SetBootKeyInformation {
1785
struct policy_handle *connect_handle;/* [ref] */
1798
struct samr_GetBootKeyInformation {
1800
struct policy_handle *domain_handle;/* [ref] */
1804
uint32_t *unknown;/* [ref] */
1811
struct samr_Connect3 {
1813
const char *system_name;/* [unique,charset(UTF16)] */
1815
uint32_t access_mask;
1819
struct policy_handle *connect_handle;/* [ref] */
1826
struct samr_Connect4 {
1828
const char *system_name;/* [unique,charset(UTF16)] */
1829
enum samr_ConnectVersion client_version;
1830
uint32_t access_mask;
1834
struct policy_handle *connect_handle;/* [ref] */
1841
struct samr_ChangePasswordUser3 {
1843
struct lsa_String *server;/* [unique] */
1844
struct lsa_String *account;/* [ref] */
1845
struct samr_CryptPassword *nt_password;/* [unique] */
1846
struct samr_Password *nt_verifier;/* [unique] */
1848
struct samr_CryptPassword *lm_password;/* [unique] */
1849
struct samr_Password *lm_verifier;/* [unique] */
1850
struct samr_CryptPassword *password3;/* [unique] */
1854
struct samr_DomInfo1 **dominfo;/* [ref] */
1855
struct samr_ChangeReject **reject;/* [ref] */
1862
struct samr_Connect5 {
1864
const char *system_name;/* [unique,charset(UTF16)] */
1865
uint32_t access_mask;
1867
union samr_ConnectInfo *info_in;/* [ref,switch_is(level_in)] */
1871
uint32_t *level_out;/* [ref] */
1872
union samr_ConnectInfo *info_out;/* [ref,switch_is(*level_out)] */
1873
struct policy_handle *connect_handle;/* [ref] */
1880
struct samr_RidToSid {
1882
struct policy_handle *domain_handle;/* [ref] */
1887
struct dom_sid2 **sid;/* [ref] */
1894
struct samr_SetDsrmPassword {
1896
struct lsa_String *name;/* [unique] */
1898
struct samr_Password *hash;/* [unique] */
1908
struct samr_ValidatePassword {
1910
enum samr_ValidatePasswordLevel level;
1911
union samr_ValidatePasswordReq *req;/* [ref,switch_is(level)] */
1915
union samr_ValidatePasswordRep **rep;/* [ref,switch_is(level)] */
1921
#endif /* _HEADER_samr */