~zulcss/samba/server-dailies-3.4

« back to all changes in this revision

Viewing changes to librpc/gen_ndr/lsa.h

  • Committer: Chuck Short
  • Date: 2010-09-28 20:38:39 UTC
  • Revision ID: zulcss@ubuntu.com-20100928203839-pgjulytsi9ue63x1
Initial version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* header auto-generated by pidl */
 
2
 
 
3
#include <stdint.h>
 
4
 
 
5
#include "libcli/util/ntstatus.h"
 
6
 
 
7
#include "librpc/gen_ndr/misc.h"
 
8
#include "librpc/gen_ndr/security.h"
 
9
#ifndef _HEADER_lsarpc
 
10
#define _HEADER_lsarpc
 
11
 
 
12
#define LSA_POLICY_ALL_ACCESS   ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN|LSA_POLICY_LOOKUP_NAMES) )
 
13
#define LSA_POLICY_READ ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_VIEW_AUDIT_INFORMATION|LSA_POLICY_GET_PRIVATE_INFORMATION) )
 
14
#define LSA_POLICY_WRITE        ( (STANDARD_RIGHTS_READ_ACCESS|LSA_POLICY_TRUST_ADMIN|LSA_POLICY_CREATE_ACCOUNT|LSA_POLICY_CREATE_SECRET|LSA_POLICY_CREATE_PRIVILEGE|LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS|LSA_POLICY_SET_AUDIT_REQUIREMENTS|LSA_POLICY_AUDIT_LOG_ADMIN|LSA_POLICY_SERVER_ADMIN) )
 
15
#define LSA_POLICY_EXECUTE      ( (STANDARD_RIGHTS_EXECUTE_ACCESS|LSA_POLICY_VIEW_LOCAL_INFORMATION|LSA_POLICY_LOOKUP_NAMES) )
 
16
#define LSA_ACCOUNT_ALL_ACCESS  ( (STANDARD_RIGHTS_REQUIRED_ACCESS|LSA_ACCOUNT_VIEW|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
 
17
#define LSA_ACCOUNT_READ        ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_VIEW) )
 
18
#define LSA_ACCOUNT_WRITE       ( (STANDARD_RIGHTS_READ_ACCESS|LSA_ACCOUNT_ADJUST_PRIVILEGES|LSA_ACCOUNT_ADJUST_QUOTAS|LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS) )
 
19
#define LSA_ACCOUNT_EXECUTE     ( (STANDARD_RIGHTS_EXECUTE_ACCESS) )
 
20
#define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER        ( 60 )
 
21
#define LSA_REF_DOMAIN_LIST_MULTIPLIER  ( 32 )
 
22
#define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER     ( 82 )
 
23
#define LSA_CLIENT_REVISION_NO_DNS      ( 0x00000001 )
 
24
#define LSA_CLIENT_REVISION_DNS ( 0x00000002 )
 
25
#define LSA_LOOKUP_OPTIONS_NO_ISOLATED  ( 0x80000000 )
 
26
struct lsa_String {
 
27
        uint16_t length;/* [value(2*strlen_m(string))] */
 
28
        uint16_t size;/* [value(2*strlen_m(string))] */
 
29
        const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
 
30
}/* [public] */;
 
31
 
 
32
struct lsa_StringLarge {
 
33
        uint16_t length;/* [value(2*strlen_m(string))] */
 
34
        uint16_t size;/* [value(2*strlen_m_term(string))] */
 
35
        const char *string;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
 
36
}/* [public] */;
 
37
 
 
38
struct lsa_Strings {
 
39
        uint32_t count;
 
40
        struct lsa_String *names;/* [unique,size_is(count)] */
 
41
}/* [public] */;
 
42
 
 
43
struct lsa_AsciiString {
 
44
        uint16_t length;/* [value(strlen_m(string))] */
 
45
        uint16_t size;/* [value(strlen_m(string))] */
 
46
        const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
 
47
}/* [public] */;
 
48
 
 
49
struct lsa_AsciiStringLarge {
 
50
        uint16_t length;/* [value(strlen_m(string))] */
 
51
        uint16_t size;/* [value(strlen_m_term(string))] */
 
52
        const char *string;/* [unique,charset(DOS),length_is(length),size_is(size)] */
 
53
}/* [public] */;
 
54
 
 
55
struct lsa_BinaryString {
 
56
        uint16_t length;
 
57
        uint16_t size;
 
58
        uint16_t *array;/* [unique,length_is(length/2),size_is(size/2)] */
 
59
}/* [public] */;
 
60
 
 
61
struct lsa_LUID {
 
62
        uint32_t low;
 
63
        uint32_t high;
 
64
};
 
65
 
 
66
struct lsa_PrivEntry {
 
67
        struct lsa_StringLarge name;
 
68
        struct lsa_LUID luid;
 
69
};
 
70
 
 
71
struct lsa_PrivArray {
 
72
        uint32_t count;
 
73
        struct lsa_PrivEntry *privs;/* [unique,size_is(count)] */
 
74
};
 
75
 
 
76
struct lsa_QosInfo {
 
77
        uint32_t len;
 
78
        uint16_t impersonation_level;
 
79
        uint8_t context_mode;
 
80
        uint8_t effective_only;
 
81
};
 
82
 
 
83
struct lsa_ObjectAttribute {
 
84
        uint32_t len;
 
85
        uint8_t *root_dir;/* [unique] */
 
86
        const char *object_name;/* [unique,charset(UTF16)] */
 
87
        uint32_t attributes;
 
88
        struct security_descriptor *sec_desc;/* [unique] */
 
89
        struct lsa_QosInfo *sec_qos;/* [unique] */
 
90
};
 
91
 
 
92
/* bitmap lsa_PolicyAccessMask */
 
93
#define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
 
94
#define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
 
95
#define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
 
96
#define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
 
97
#define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
 
98
#define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
 
99
#define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
 
100
#define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
 
101
#define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
 
102
#define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
 
103
#define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
 
104
#define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
 
105
#define LSA_POLICY_NOTIFICATION ( 0x00001000 )
 
106
 
 
107
/* bitmap lsa_AccountAccessMask */
 
108
#define LSA_ACCOUNT_VIEW ( 0x00000001 )
 
109
#define LSA_ACCOUNT_ADJUST_PRIVILEGES ( 0x00000002 )
 
110
#define LSA_ACCOUNT_ADJUST_QUOTAS ( 0x00000004 )
 
111
#define LSA_ACCOUNT_ADJUST_SYSTEM_ACCESS ( 0x00000008 )
 
112
 
 
113
/* bitmap lsa_SecretAccessMask */
 
114
#define LSA_SECRET_SET_VALUE ( 0x00000001 )
 
115
#define LSA_SECRET_QUERY_VALUE ( 0x00000002 )
 
116
 
 
117
/* bitmap lsa_TrustedAccessMask */
 
118
#define LSA_TRUSTED_QUERY_DOMAIN_NAME ( 0x00000001 )
 
119
#define LSA_TRUSTED_QUERY_CONTROLLERS ( 0x00000002 )
 
120
#define LSA_TRUSTED_SET_CONTROLLERS ( 0x00000004 )
 
121
#define LSA_TRUSTED_QUERY_POSIX ( 0x00000008 )
 
122
#define LSA_TRUSTED_SET_POSIX ( 0x00000010 )
 
123
#define LSA_TRUSTED_SET_AUTH ( 0x00000020 )
 
124
#define LSA_TRUSTED_QUERY_AUTH ( 0x00000040 )
 
125
 
 
126
struct lsa_AuditLogInfo {
 
127
        uint32_t percent_full;
 
128
        uint32_t maximum_log_size;
 
129
        uint64_t retention_time;
 
130
        uint8_t shutdown_in_progress;
 
131
        uint64_t time_to_shutdown;
 
132
        uint32_t next_audit_record;
 
133
};
 
134
 
 
135
enum lsa_PolicyAuditPolicy
 
136
#ifndef USE_UINT_ENUMS
 
137
 {
 
138
        LSA_AUDIT_POLICY_NONE=0,
 
139
        LSA_AUDIT_POLICY_SUCCESS=1,
 
140
        LSA_AUDIT_POLICY_FAILURE=2,
 
141
        LSA_AUDIT_POLICY_ALL=(LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE),
 
142
        LSA_AUDIT_POLICY_CLEAR=4
 
143
}
 
144
#else
 
145
 { __donnot_use_enum_lsa_PolicyAuditPolicy=0x7FFFFFFF}
 
146
#define LSA_AUDIT_POLICY_NONE ( 0 )
 
147
#define LSA_AUDIT_POLICY_SUCCESS ( 1 )
 
148
#define LSA_AUDIT_POLICY_FAILURE ( 2 )
 
149
#define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
 
150
#define LSA_AUDIT_POLICY_CLEAR ( 4 )
 
151
#endif
 
152
;
 
153
 
 
154
enum lsa_PolicyAuditEventType
 
155
#ifndef USE_UINT_ENUMS
 
156
 {
 
157
        LSA_AUDIT_CATEGORY_SYSTEM=0,
 
158
        LSA_AUDIT_CATEGORY_LOGON=1,
 
159
        LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS=2,
 
160
        LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS=3,
 
161
        LSA_AUDIT_CATEGORY_PROCCESS_TRACKING=4,
 
162
        LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES=5,
 
163
        LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT=6,
 
164
        LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS=7,
 
165
        LSA_AUDIT_CATEGORY_ACCOUNT_LOGON=8
 
166
}
 
167
#else
 
168
 { __donnot_use_enum_lsa_PolicyAuditEventType=0x7FFFFFFF}
 
169
#define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
 
170
#define LSA_AUDIT_CATEGORY_LOGON ( 1 )
 
171
#define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
 
172
#define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
 
173
#define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
 
174
#define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
 
175
#define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
 
176
#define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
 
177
#define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
 
178
#endif
 
179
;
 
180
 
 
181
struct lsa_AuditEventsInfo {
 
182
        uint32_t auditing_mode;
 
183
        enum lsa_PolicyAuditPolicy *settings;/* [unique,size_is(count)] */
 
184
        uint32_t count;
 
185
};
 
186
 
 
187
struct lsa_DomainInfo {
 
188
        struct lsa_StringLarge name;
 
189
        struct dom_sid2 *sid;/* [unique] */
 
190
};
 
191
 
 
192
struct lsa_PDAccountInfo {
 
193
        struct lsa_String name;
 
194
};
 
195
 
 
196
enum lsa_Role
 
197
#ifndef USE_UINT_ENUMS
 
198
 {
 
199
        LSA_ROLE_BACKUP=2,
 
200
        LSA_ROLE_PRIMARY=3
 
201
}
 
202
#else
 
203
 { __donnot_use_enum_lsa_Role=0x7FFFFFFF}
 
204
#define LSA_ROLE_BACKUP ( 2 )
 
205
#define LSA_ROLE_PRIMARY ( 3 )
 
206
#endif
 
207
;
 
208
 
 
209
struct lsa_ServerRole {
 
210
        enum lsa_Role role;
 
211
};
 
212
 
 
213
struct lsa_ReplicaSourceInfo {
 
214
        struct lsa_String source;
 
215
        struct lsa_String account;
 
216
};
 
217
 
 
218
struct lsa_DefaultQuotaInfo {
 
219
        uint32_t paged_pool;
 
220
        uint32_t non_paged_pool;
 
221
        uint32_t min_wss;
 
222
        uint32_t max_wss;
 
223
        uint32_t pagefile;
 
224
        uint64_t unknown;
 
225
};
 
226
 
 
227
struct lsa_ModificationInfo {
 
228
        uint64_t modified_id;
 
229
        NTTIME db_create_time;
 
230
};
 
231
 
 
232
struct lsa_AuditFullSetInfo {
 
233
        uint8_t shutdown_on_full;
 
234
};
 
235
 
 
236
struct lsa_AuditFullQueryInfo {
 
237
        uint8_t shutdown_on_full;
 
238
        uint8_t log_is_full;
 
239
};
 
240
 
 
241
struct lsa_DnsDomainInfo {
 
242
        struct lsa_StringLarge name;
 
243
        struct lsa_StringLarge dns_domain;
 
244
        struct lsa_StringLarge dns_forest;
 
245
        struct GUID domain_guid;
 
246
        struct dom_sid2 *sid;/* [unique] */
 
247
};
 
248
 
 
249
enum lsa_PolicyInfo
 
250
#ifndef USE_UINT_ENUMS
 
251
 {
 
252
        LSA_POLICY_INFO_AUDIT_LOG=1,
 
253
        LSA_POLICY_INFO_AUDIT_EVENTS=2,
 
254
        LSA_POLICY_INFO_DOMAIN=3,
 
255
        LSA_POLICY_INFO_PD=4,
 
256
        LSA_POLICY_INFO_ACCOUNT_DOMAIN=5,
 
257
        LSA_POLICY_INFO_ROLE=6,
 
258
        LSA_POLICY_INFO_REPLICA=7,
 
259
        LSA_POLICY_INFO_QUOTA=8,
 
260
        LSA_POLICY_INFO_MOD=9,
 
261
        LSA_POLICY_INFO_AUDIT_FULL_SET=10,
 
262
        LSA_POLICY_INFO_AUDIT_FULL_QUERY=11,
 
263
        LSA_POLICY_INFO_DNS=12,
 
264
        LSA_POLICY_INFO_DNS_INT=13,
 
265
        LSA_POLICY_INFO_L_ACCOUNT_DOMAIN=14
 
266
}
 
267
#else
 
268
 { __donnot_use_enum_lsa_PolicyInfo=0x7FFFFFFF}
 
269
#define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
 
270
#define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
 
271
#define LSA_POLICY_INFO_DOMAIN ( 3 )
 
272
#define LSA_POLICY_INFO_PD ( 4 )
 
273
#define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
 
274
#define LSA_POLICY_INFO_ROLE ( 6 )
 
275
#define LSA_POLICY_INFO_REPLICA ( 7 )
 
276
#define LSA_POLICY_INFO_QUOTA ( 8 )
 
277
#define LSA_POLICY_INFO_MOD ( 9 )
 
278
#define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
 
279
#define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
 
280
#define LSA_POLICY_INFO_DNS ( 12 )
 
281
#define LSA_POLICY_INFO_DNS_INT ( 13 )
 
282
#define LSA_POLICY_INFO_L_ACCOUNT_DOMAIN ( 14 )
 
283
#endif
 
284
;
 
285
 
 
286
union lsa_PolicyInformation {
 
287
        struct lsa_AuditLogInfo audit_log;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
 
288
        struct lsa_AuditEventsInfo audit_events;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
 
289
        struct lsa_DomainInfo domain;/* [case(LSA_POLICY_INFO_DOMAIN)] */
 
290
        struct lsa_PDAccountInfo pd;/* [case(LSA_POLICY_INFO_PD)] */
 
291
        struct lsa_DomainInfo account_domain;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
 
292
        struct lsa_ServerRole role;/* [case(LSA_POLICY_INFO_ROLE)] */
 
293
        struct lsa_ReplicaSourceInfo replica;/* [case(LSA_POLICY_INFO_REPLICA)] */
 
294
        struct lsa_DefaultQuotaInfo quota;/* [case(LSA_POLICY_INFO_QUOTA)] */
 
295
        struct lsa_ModificationInfo mod;/* [case(LSA_POLICY_INFO_MOD)] */
 
296
        struct lsa_AuditFullSetInfo auditfullset;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
 
297
        struct lsa_AuditFullQueryInfo auditfullquery;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
 
298
        struct lsa_DnsDomainInfo dns;/* [case(LSA_POLICY_INFO_DNS)] */
 
299
        struct lsa_DomainInfo l_account_domain;/* [case(LSA_POLICY_INFO_L_ACCOUNT_DOMAIN)] */
 
300
}/* [switch_type(uint16)] */;
 
301
 
 
302
struct lsa_SidPtr {
 
303
        struct dom_sid2 *sid;/* [unique] */
 
304
};
 
305
 
 
306
struct lsa_SidArray {
 
307
        uint32_t num_sids;/* [range(0,1000)] */
 
308
        struct lsa_SidPtr *sids;/* [unique,size_is(num_sids)] */
 
309
}/* [public] */;
 
310
 
 
311
struct lsa_DomainList {
 
312
        uint32_t count;
 
313
        struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
 
314
};
 
315
 
 
316
enum lsa_SidType
 
317
#ifndef USE_UINT_ENUMS
 
318
 {
 
319
        SID_NAME_USE_NONE=0,
 
320
        SID_NAME_USER=1,
 
321
        SID_NAME_DOM_GRP=2,
 
322
        SID_NAME_DOMAIN=3,
 
323
        SID_NAME_ALIAS=4,
 
324
        SID_NAME_WKN_GRP=5,
 
325
        SID_NAME_DELETED=6,
 
326
        SID_NAME_INVALID=7,
 
327
        SID_NAME_UNKNOWN=8,
 
328
        SID_NAME_COMPUTER=9
 
329
}
 
330
#else
 
331
 { __donnot_use_enum_lsa_SidType=0x7FFFFFFF}
 
332
#define SID_NAME_USE_NONE ( 0 )
 
333
#define SID_NAME_USER ( 1 )
 
334
#define SID_NAME_DOM_GRP ( 2 )
 
335
#define SID_NAME_DOMAIN ( 3 )
 
336
#define SID_NAME_ALIAS ( 4 )
 
337
#define SID_NAME_WKN_GRP ( 5 )
 
338
#define SID_NAME_DELETED ( 6 )
 
339
#define SID_NAME_INVALID ( 7 )
 
340
#define SID_NAME_UNKNOWN ( 8 )
 
341
#define SID_NAME_COMPUTER ( 9 )
 
342
#endif
 
343
;
 
344
 
 
345
struct lsa_TranslatedSid {
 
346
        enum lsa_SidType sid_type;
 
347
        uint32_t rid;
 
348
        uint32_t sid_index;
 
349
};
 
350
 
 
351
struct lsa_TransSidArray {
 
352
        uint32_t count;/* [range(0,1000)] */
 
353
        struct lsa_TranslatedSid *sids;/* [unique,size_is(count)] */
 
354
};
 
355
 
 
356
struct lsa_RefDomainList {
 
357
        uint32_t count;/* [range(0,1000)] */
 
358
        struct lsa_DomainInfo *domains;/* [unique,size_is(count)] */
 
359
        uint32_t max_size;
 
360
};
 
361
 
 
362
enum lsa_LookupNamesLevel
 
363
#ifndef USE_UINT_ENUMS
 
364
 {
 
365
        LSA_LOOKUP_NAMES_ALL=1,
 
366
        LSA_LOOKUP_NAMES_DOMAINS_ONLY=2,
 
367
        LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY=3,
 
368
        LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY=4,
 
369
        LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY=5,
 
370
        LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2=6,
 
371
        LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC=7
 
372
}
 
373
#else
 
374
 { __donnot_use_enum_lsa_LookupNamesLevel=0x7FFFFFFF}
 
375
#define LSA_LOOKUP_NAMES_ALL ( 1 )
 
376
#define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
 
377
#define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
 
378
#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
 
379
#define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
 
380
#define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
 
381
#define LSA_LOOKUP_NAMES_RODC_REFERRAL_TO_FULL_DC ( 7 )
 
382
#endif
 
383
;
 
384
 
 
385
struct lsa_TranslatedName {
 
386
        enum lsa_SidType sid_type;
 
387
        struct lsa_String name;
 
388
        uint32_t sid_index;
 
389
};
 
390
 
 
391
struct lsa_TransNameArray {
 
392
        uint32_t count;/* [range(0,1000)] */
 
393
        struct lsa_TranslatedName *names;/* [unique,size_is(count)] */
 
394
};
 
395
 
 
396
struct lsa_LUIDAttribute {
 
397
        struct lsa_LUID luid;
 
398
        uint32_t attribute;
 
399
};
 
400
 
 
401
struct lsa_PrivilegeSet {
 
402
        uint32_t count;/* [range(0,1000)] */
 
403
        uint32_t unknown;
 
404
        struct lsa_LUIDAttribute *set;/* [size_is(count)] */
 
405
};
 
406
 
 
407
/* bitmap lsa_SystemAccessModeFlags */
 
408
#define LSA_POLICY_MODE_INTERACTIVE ( 0x00000001 )
 
409
#define LSA_POLICY_MODE_NETWORK ( 0x00000002 )
 
410
#define LSA_POLICY_MODE_BATCH ( 0x00000004 )
 
411
#define LSA_POLICY_MODE_SERVICE ( 0x00000010 )
 
412
#define LSA_POLICY_MODE_PROXY ( 0x00000020 )
 
413
#define LSA_POLICY_MODE_DENY_INTERACTIVE ( 0x00000040 )
 
414
#define LSA_POLICY_MODE_DENY_NETWORK ( 0x00000080 )
 
415
#define LSA_POLICY_MODE_DENY_BATCH ( 0x00000100 )
 
416
#define LSA_POLICY_MODE_DENY_SERVICE ( 0x00000200 )
 
417
#define LSA_POLICY_MODE_REMOTE_INTERACTIVE ( 0x00000400 )
 
418
#define LSA_POLICY_MODE_DENY_REMOTE_INTERACTIVE ( 0x00000800 )
 
419
#define LSA_POLICY_MODE_ALL ( 0x00000FF7 )
 
420
#define LSA_POLICY_MODE_ALL_NT4 ( 0x00000037 )
 
421
 
 
422
struct lsa_DATA_BUF {
 
423
        uint32_t length;
 
424
        uint32_t size;
 
425
        uint8_t *data;/* [unique,length_is(length),size_is(size)] */
 
426
}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
427
 
 
428
struct lsa_DATA_BUF2 {
 
429
        uint32_t size;/* [range(0,65536)] */
 
430
        uint8_t *data;/* [unique,size_is(size)] */
 
431
}/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 
432
 
 
433
enum lsa_TrustDomInfoEnum
 
434
#ifndef USE_UINT_ENUMS
 
435
 {
 
436
        LSA_TRUSTED_DOMAIN_INFO_NAME=1,
 
437
        LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS=2,
 
438
        LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET=3,
 
439
        LSA_TRUSTED_DOMAIN_INFO_PASSWORD=4,
 
440
        LSA_TRUSTED_DOMAIN_INFO_BASIC=5,
 
441
        LSA_TRUSTED_DOMAIN_INFO_INFO_EX=6,
 
442
        LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO=7,
 
443
        LSA_TRUSTED_DOMAIN_INFO_FULL_INFO=8,
 
444
        LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL=9,
 
445
        LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL=10,
 
446
        LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL=11,
 
447
        LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL=12,
 
448
        LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES=13
 
449
}
 
450
#else
 
451
 { __donnot_use_enum_lsa_TrustDomInfoEnum=0x7FFFFFFF}
 
452
#define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
 
453
#define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS ( 2 )
 
454
#define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
 
455
#define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
 
456
#define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
 
457
#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
 
458
#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
 
459
#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
 
460
#define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL ( 9 )
 
461
#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL ( 10 )
 
462
#define LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL ( 11 )
 
463
#define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL ( 12 )
 
464
#define LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES ( 13 )
 
465
#endif
 
466
;
 
467
 
 
468
/* bitmap lsa_TrustDirection */
 
469
#define LSA_TRUST_DIRECTION_INBOUND ( 0x00000001 )
 
470
#define LSA_TRUST_DIRECTION_OUTBOUND ( 0x00000002 )
 
471
 
 
472
enum lsa_TrustType
 
473
#ifndef USE_UINT_ENUMS
 
474
 {
 
475
        LSA_TRUST_TYPE_DOWNLEVEL=0x00000001,
 
476
        LSA_TRUST_TYPE_UPLEVEL=0x00000002,
 
477
        LSA_TRUST_TYPE_MIT=0x00000003
 
478
}
 
479
#else
 
480
 { __donnot_use_enum_lsa_TrustType=0x7FFFFFFF}
 
481
#define LSA_TRUST_TYPE_DOWNLEVEL ( 0x00000001 )
 
482
#define LSA_TRUST_TYPE_UPLEVEL ( 0x00000002 )
 
483
#define LSA_TRUST_TYPE_MIT ( 0x00000003 )
 
484
#endif
 
485
;
 
486
 
 
487
/* bitmap lsa_TrustAttributes */
 
488
#define LSA_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
 
489
#define LSA_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
 
490
#define LSA_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
 
491
#define LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
 
492
#define LSA_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
 
493
#define LSA_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
 
494
#define LSA_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
 
495
#define LSA_TRUST_ATTRIBUTE_USES_RC4_ENCRYPTION ( 0x00000080 )
 
496
 
 
497
struct lsa_TrustDomainInfoName {
 
498
        struct lsa_StringLarge netbios_name;
 
499
};
 
500
 
 
501
struct lsa_TrustDomainInfoControllers {
 
502
        uint32_t entries;
 
503
        struct lsa_StringLarge *netbios_names;/* [unique,size_is(entries)] */
 
504
};
 
505
 
 
506
struct lsa_TrustDomainInfoPosixOffset {
 
507
        uint32_t posix_offset;
 
508
};
 
509
 
 
510
struct lsa_TrustDomainInfoPassword {
 
511
        struct lsa_DATA_BUF *password;/* [unique] */
 
512
        struct lsa_DATA_BUF *old_password;/* [unique] */
 
513
};
 
514
 
 
515
struct lsa_TrustDomainInfoBasic {
 
516
        struct lsa_String netbios_name;
 
517
        struct dom_sid2 *sid;/* [unique] */
 
518
};
 
519
 
 
520
struct lsa_TrustDomainInfoInfoEx {
 
521
        struct lsa_StringLarge domain_name;
 
522
        struct lsa_StringLarge netbios_name;
 
523
        struct dom_sid2 *sid;/* [unique] */
 
524
        uint32_t trust_direction;
 
525
        enum lsa_TrustType trust_type;
 
526
        uint32_t trust_attributes;
 
527
};
 
528
 
 
529
enum lsa_TrustAuthType
 
530
#ifndef USE_UINT_ENUMS
 
531
 {
 
532
        TRUST_AUTH_TYPE_NONE=0,
 
533
        TRUST_AUTH_TYPE_NT4OWF=1,
 
534
        TRUST_AUTH_TYPE_CLEAR=2,
 
535
        TRUST_AUTH_TYPE_VERSION=3
 
536
}
 
537
#else
 
538
 { __donnot_use_enum_lsa_TrustAuthType=0x7FFFFFFF}
 
539
#define TRUST_AUTH_TYPE_NONE ( 0 )
 
540
#define TRUST_AUTH_TYPE_NT4OWF ( 1 )
 
541
#define TRUST_AUTH_TYPE_CLEAR ( 2 )
 
542
#define TRUST_AUTH_TYPE_VERSION ( 3 )
 
543
#endif
 
544
;
 
545
 
 
546
struct lsa_TrustDomainInfoBuffer {
 
547
        NTTIME last_update_time;
 
548
        enum lsa_TrustAuthType AuthType;
 
549
        struct lsa_DATA_BUF2 data;
 
550
};
 
551
 
 
552
struct lsa_TrustDomainInfoAuthInfo {
 
553
        uint32_t incoming_count;
 
554
        struct lsa_TrustDomainInfoBuffer *incoming_current_auth_info;/* [unique] */
 
555
        struct lsa_TrustDomainInfoBuffer *incoming_previous_auth_info;/* [unique] */
 
556
        uint32_t outgoing_count;
 
557
        struct lsa_TrustDomainInfoBuffer *outgoing_current_auth_info;/* [unique] */
 
558
        struct lsa_TrustDomainInfoBuffer *outgoing_previous_auth_info;/* [unique] */
 
559
};
 
560
 
 
561
struct lsa_TrustDomainInfoFullInfo {
 
562
        struct lsa_TrustDomainInfoInfoEx info_ex;
 
563
        struct lsa_TrustDomainInfoPosixOffset posix_offset;
 
564
        struct lsa_TrustDomainInfoAuthInfo auth_info;
 
565
};
 
566
 
 
567
struct lsa_TrustDomainInfoAuthInfoInternal {
 
568
        struct lsa_DATA_BUF2 auth_blob;
 
569
};
 
570
 
 
571
struct lsa_TrustDomainInfoFullInfoInternal {
 
572
        struct lsa_TrustDomainInfoInfoEx info_ex;
 
573
        struct lsa_TrustDomainInfoPosixOffset posix_offset;
 
574
        struct lsa_TrustDomainInfoAuthInfoInternal auth_info;
 
575
};
 
576
 
 
577
struct lsa_TrustDomainInfoInfoEx2Internal {
 
578
        struct lsa_TrustDomainInfoInfoEx info_ex;
 
579
        uint32_t forest_trust_length;
 
580
        uint8_t *forest_trust_data;/* [unique,size_is(forest_trust_length)] */
 
581
};
 
582
 
 
583
struct lsa_TrustDomainInfoFullInfo2Internal {
 
584
        struct lsa_TrustDomainInfoInfoEx2Internal info;
 
585
        struct lsa_TrustDomainInfoPosixOffset posix_offset;
 
586
        struct lsa_TrustDomainInfoAuthInfo auth_info;
 
587
};
 
588
 
 
589
struct lsa_TrustDomainInfoSupportedEncTypes {
 
590
        uint32_t enc_types;
 
591
};
 
592
 
 
593
union lsa_TrustedDomainInfo {
 
594
        struct lsa_TrustDomainInfoName name;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
 
595
        struct lsa_TrustDomainInfoControllers controllers;/* [case(LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS)] */
 
596
        struct lsa_TrustDomainInfoPosixOffset posix_offset;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
 
597
        struct lsa_TrustDomainInfoPassword password;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
 
598
        struct lsa_TrustDomainInfoBasic info_basic;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
 
599
        struct lsa_TrustDomainInfoInfoEx info_ex;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
 
600
        struct lsa_TrustDomainInfoAuthInfo auth_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
 
601
        struct lsa_TrustDomainInfoFullInfo full_info;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
 
602
        struct lsa_TrustDomainInfoAuthInfoInternal auth_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO_INTERNAL)] */
 
603
        struct lsa_TrustDomainInfoFullInfoInternal full_info_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_INTERNAL)] */
 
604
        struct lsa_TrustDomainInfoInfoEx2Internal info_ex2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX2_INTERNAL)] */
 
605
        struct lsa_TrustDomainInfoFullInfo2Internal full_info2_internal;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO_2_INTERNAL)] */
 
606
        struct lsa_TrustDomainInfoSupportedEncTypes enc_types;/* [case(LSA_TRUSTED_DOMAIN_SUPPORTED_ENCRTYPION_TYPES)] */
 
607
}/* [switch_type(lsa_TrustDomInfoEnum)] */;
 
608
 
 
609
struct lsa_DATA_BUF_PTR {
 
610
        struct lsa_DATA_BUF *buf;/* [unique] */
 
611
};
 
612
 
 
613
struct lsa_RightAttribute {
 
614
        const char *name;/* [unique,charset(UTF16)] */
 
615
};
 
616
 
 
617
struct lsa_RightSet {
 
618
        uint32_t count;/* [range(0,256)] */
 
619
        struct lsa_StringLarge *names;/* [unique,size_is(count)] */
 
620
};
 
621
 
 
622
struct lsa_DomainListEx {
 
623
        uint32_t count;
 
624
        struct lsa_TrustDomainInfoInfoEx *domains;/* [unique,size_is(count)] */
 
625
};
 
626
 
 
627
struct lsa_DomainInfoKerberos {
 
628
        uint32_t enforce_restrictions;
 
629
        uint64_t service_tkt_lifetime;
 
630
        uint64_t user_tkt_lifetime;
 
631
        uint64_t user_tkt_renewaltime;
 
632
        uint64_t clock_skew;
 
633
        uint64_t unknown6;
 
634
};
 
635
 
 
636
struct lsa_DomainInfoEfs {
 
637
        uint32_t blob_size;
 
638
        uint8_t *efs_blob;/* [unique,size_is(blob_size)] */
 
639
};
 
640
 
 
641
enum lsa_DomainInfoEnum
 
642
#ifndef USE_UINT_ENUMS
 
643
 {
 
644
        LSA_DOMAIN_INFO_POLICY_EFS=2,
 
645
        LSA_DOMAIN_INFO_POLICY_KERBEROS=3
 
646
}
 
647
#else
 
648
 { __donnot_use_enum_lsa_DomainInfoEnum=0x7FFFFFFF}
 
649
#define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
 
650
#define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
 
651
#endif
 
652
;
 
653
 
 
654
union lsa_DomainInformationPolicy {
 
655
        struct lsa_DomainInfoEfs efs_info;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
 
656
        struct lsa_DomainInfoKerberos kerberos_info;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
 
657
}/* [switch_type(uint16)] */;
 
658
 
 
659
struct lsa_TranslatedName2 {
 
660
        enum lsa_SidType sid_type;
 
661
        struct lsa_String name;
 
662
        uint32_t sid_index;
 
663
        uint32_t unknown;
 
664
};
 
665
 
 
666
struct lsa_TransNameArray2 {
 
667
        uint32_t count;/* [range(0,1000)] */
 
668
        struct lsa_TranslatedName2 *names;/* [unique,size_is(count)] */
 
669
};
 
670
 
 
671
struct lsa_TranslatedSid2 {
 
672
        enum lsa_SidType sid_type;
 
673
        uint32_t rid;
 
674
        uint32_t sid_index;
 
675
        uint32_t unknown;
 
676
};
 
677
 
 
678
struct lsa_TransSidArray2 {
 
679
        uint32_t count;/* [range(0,1000)] */
 
680
        struct lsa_TranslatedSid2 *sids;/* [unique,size_is(count)] */
 
681
};
 
682
 
 
683
struct lsa_TranslatedSid3 {
 
684
        enum lsa_SidType sid_type;
 
685
        struct dom_sid2 *sid;/* [unique] */
 
686
        uint32_t sid_index;
 
687
        uint32_t flags;
 
688
};
 
689
 
 
690
struct lsa_TransSidArray3 {
 
691
        uint32_t count;/* [range(0,1000)] */
 
692
        struct lsa_TranslatedSid3 *sids;/* [unique,size_is(count)] */
 
693
};
 
694
 
 
695
struct lsa_ForestTrustBinaryData {
 
696
        uint32_t length;/* [range(0,131072)] */
 
697
        uint8_t *data;/* [unique,size_is(length)] */
 
698
};
 
699
 
 
700
struct lsa_ForestTrustDomainInfo {
 
701
        struct dom_sid2 *domain_sid;/* [unique] */
 
702
        struct lsa_StringLarge dns_domain_name;
 
703
        struct lsa_StringLarge netbios_domain_name;
 
704
};
 
705
 
 
706
union lsa_ForestTrustData {
 
707
        struct lsa_String top_level_name;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
 
708
        struct lsa_StringLarge top_level_name_ex;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
 
709
        struct lsa_ForestTrustDomainInfo domain_info;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
 
710
        struct lsa_ForestTrustBinaryData data;/* [default] */
 
711
}/* [switch_type(uint32)] */;
 
712
 
 
713
enum lsa_ForestTrustRecordType
 
714
#ifndef USE_UINT_ENUMS
 
715
 {
 
716
        LSA_FOREST_TRUST_TOP_LEVEL_NAME=0,
 
717
        LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX=1,
 
718
        LSA_FOREST_TRUST_DOMAIN_INFO=2,
 
719
        LSA_FOREST_TRUST_RECORD_TYPE_LAST=3
 
720
}
 
721
#else
 
722
 { __donnot_use_enum_lsa_ForestTrustRecordType=0x7FFFFFFF}
 
723
#define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
 
724
#define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
 
725
#define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
 
726
#define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
 
727
#endif
 
728
;
 
729
 
 
730
struct lsa_ForestTrustRecord {
 
731
        uint32_t flags;
 
732
        enum lsa_ForestTrustRecordType level;
 
733
        uint64_t unknown;
 
734
        union lsa_ForestTrustData forest_trust_data;/* [switch_is(level)] */
 
735
};
 
736
 
 
737
struct lsa_ForestTrustInformation {
 
738
        uint32_t count;/* [range(0,4000)] */
 
739
        struct lsa_ForestTrustRecord **entries;/* [unique,size_is(count)] */
 
740
}/* [public] */;
 
741
 
 
742
 
 
743
struct lsa_Close {
 
744
        struct {
 
745
                struct policy_handle *handle;/* [ref] */
 
746
        } in;
 
747
 
 
748
        struct {
 
749
                struct policy_handle *handle;/* [ref] */
 
750
                NTSTATUS result;
 
751
        } out;
 
752
 
 
753
};
 
754
 
 
755
 
 
756
struct lsa_Delete {
 
757
        struct {
 
758
                struct policy_handle *handle;/* [ref] */
 
759
        } in;
 
760
 
 
761
        struct {
 
762
                NTSTATUS result;
 
763
        } out;
 
764
 
 
765
};
 
766
 
 
767
 
 
768
struct lsa_EnumPrivs {
 
769
        struct {
 
770
                struct policy_handle *handle;/* [ref] */
 
771
                uint32_t max_count;
 
772
                uint32_t *resume_handle;/* [ref] */
 
773
        } in;
 
774
 
 
775
        struct {
 
776
                struct lsa_PrivArray *privs;/* [ref] */
 
777
                uint32_t *resume_handle;/* [ref] */
 
778
                NTSTATUS result;
 
779
        } out;
 
780
 
 
781
};
 
782
 
 
783
 
 
784
struct lsa_QuerySecurity {
 
785
        struct {
 
786
                struct policy_handle *handle;/* [ref] */
 
787
                uint32_t sec_info;
 
788
        } in;
 
789
 
 
790
        struct {
 
791
                struct sec_desc_buf **sdbuf;/* [ref] */
 
792
                NTSTATUS result;
 
793
        } out;
 
794
 
 
795
};
 
796
 
 
797
 
 
798
struct lsa_SetSecObj {
 
799
        struct {
 
800
                struct policy_handle *handle;/* [ref] */
 
801
                uint32_t sec_info;
 
802
                struct sec_desc_buf *sdbuf;/* [ref] */
 
803
        } in;
 
804
 
 
805
        struct {
 
806
                NTSTATUS result;
 
807
        } out;
 
808
 
 
809
};
 
810
 
 
811
 
 
812
struct lsa_ChangePassword {
 
813
        struct {
 
814
                NTSTATUS result;
 
815
        } out;
 
816
 
 
817
};
 
818
 
 
819
 
 
820
struct lsa_OpenPolicy {
 
821
        struct {
 
822
                uint16_t *system_name;/* [unique] */
 
823
                struct lsa_ObjectAttribute *attr;/* [ref] */
 
824
                uint32_t access_mask;
 
825
        } in;
 
826
 
 
827
        struct {
 
828
                struct policy_handle *handle;/* [ref] */
 
829
                NTSTATUS result;
 
830
        } out;
 
831
 
 
832
};
 
833
 
 
834
 
 
835
struct lsa_QueryInfoPolicy {
 
836
        struct {
 
837
                struct policy_handle *handle;/* [ref] */
 
838
                enum lsa_PolicyInfo level;
 
839
        } in;
 
840
 
 
841
        struct {
 
842
                union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
 
843
                NTSTATUS result;
 
844
        } out;
 
845
 
 
846
};
 
847
 
 
848
 
 
849
struct lsa_SetInfoPolicy {
 
850
        struct {
 
851
                struct policy_handle *handle;/* [ref] */
 
852
                enum lsa_PolicyInfo level;
 
853
                union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
 
854
        } in;
 
855
 
 
856
        struct {
 
857
                NTSTATUS result;
 
858
        } out;
 
859
 
 
860
};
 
861
 
 
862
 
 
863
struct lsa_ClearAuditLog {
 
864
        struct {
 
865
                NTSTATUS result;
 
866
        } out;
 
867
 
 
868
};
 
869
 
 
870
 
 
871
struct lsa_CreateAccount {
 
872
        struct {
 
873
                struct policy_handle *handle;/* [ref] */
 
874
                struct dom_sid2 *sid;/* [ref] */
 
875
                uint32_t access_mask;
 
876
        } in;
 
877
 
 
878
        struct {
 
879
                struct policy_handle *acct_handle;/* [ref] */
 
880
                NTSTATUS result;
 
881
        } out;
 
882
 
 
883
};
 
884
 
 
885
 
 
886
struct lsa_EnumAccounts {
 
887
        struct {
 
888
                struct policy_handle *handle;/* [ref] */
 
889
                uint32_t num_entries;/* [range(0,8192)] */
 
890
                uint32_t *resume_handle;/* [ref] */
 
891
        } in;
 
892
 
 
893
        struct {
 
894
                struct lsa_SidArray *sids;/* [ref] */
 
895
                uint32_t *resume_handle;/* [ref] */
 
896
                NTSTATUS result;
 
897
        } out;
 
898
 
 
899
};
 
900
 
 
901
 
 
902
struct lsa_CreateTrustedDomain {
 
903
        struct {
 
904
                struct policy_handle *policy_handle;/* [ref] */
 
905
                struct lsa_DomainInfo *info;/* [ref] */
 
906
                uint32_t access_mask;
 
907
        } in;
 
908
 
 
909
        struct {
 
910
                struct policy_handle *trustdom_handle;/* [ref] */
 
911
                NTSTATUS result;
 
912
        } out;
 
913
 
 
914
};
 
915
 
 
916
 
 
917
struct lsa_EnumTrustDom {
 
918
        struct {
 
919
                struct policy_handle *handle;/* [ref] */
 
920
                uint32_t max_size;
 
921
                uint32_t *resume_handle;/* [ref] */
 
922
        } in;
 
923
 
 
924
        struct {
 
925
                struct lsa_DomainList *domains;/* [ref] */
 
926
                uint32_t *resume_handle;/* [ref] */
 
927
                NTSTATUS result;
 
928
        } out;
 
929
 
 
930
};
 
931
 
 
932
 
 
933
struct lsa_LookupNames {
 
934
        struct {
 
935
                struct policy_handle *handle;/* [ref] */
 
936
                uint32_t num_names;/* [range(0,1000)] */
 
937
                struct lsa_String *names;/* [size_is(num_names)] */
 
938
                enum lsa_LookupNamesLevel level;
 
939
                struct lsa_TransSidArray *sids;/* [ref] */
 
940
                uint32_t *count;/* [ref] */
 
941
        } in;
 
942
 
 
943
        struct {
 
944
                struct lsa_RefDomainList **domains;/* [ref] */
 
945
                struct lsa_TransSidArray *sids;/* [ref] */
 
946
                uint32_t *count;/* [ref] */
 
947
                NTSTATUS result;
 
948
        } out;
 
949
 
 
950
};
 
951
 
 
952
 
 
953
struct lsa_LookupSids {
 
954
        struct {
 
955
                struct policy_handle *handle;/* [ref] */
 
956
                struct lsa_SidArray *sids;/* [ref] */
 
957
                uint16_t level;
 
958
                struct lsa_TransNameArray *names;/* [ref] */
 
959
                uint32_t *count;/* [ref] */
 
960
        } in;
 
961
 
 
962
        struct {
 
963
                struct lsa_RefDomainList **domains;/* [ref] */
 
964
                struct lsa_TransNameArray *names;/* [ref] */
 
965
                uint32_t *count;/* [ref] */
 
966
                NTSTATUS result;
 
967
        } out;
 
968
 
 
969
};
 
970
 
 
971
 
 
972
struct lsa_CreateSecret {
 
973
        struct {
 
974
                struct policy_handle *handle;/* [ref] */
 
975
                struct lsa_String name;
 
976
                uint32_t access_mask;
 
977
        } in;
 
978
 
 
979
        struct {
 
980
                struct policy_handle *sec_handle;/* [ref] */
 
981
                NTSTATUS result;
 
982
        } out;
 
983
 
 
984
};
 
985
 
 
986
 
 
987
struct lsa_OpenAccount {
 
988
        struct {
 
989
                struct policy_handle *handle;/* [ref] */
 
990
                struct dom_sid2 *sid;/* [ref] */
 
991
                uint32_t access_mask;
 
992
        } in;
 
993
 
 
994
        struct {
 
995
                struct policy_handle *acct_handle;/* [ref] */
 
996
                NTSTATUS result;
 
997
        } out;
 
998
 
 
999
};
 
1000
 
 
1001
 
 
1002
struct lsa_EnumPrivsAccount {
 
1003
        struct {
 
1004
                struct policy_handle *handle;/* [ref] */
 
1005
        } in;
 
1006
 
 
1007
        struct {
 
1008
                struct lsa_PrivilegeSet **privs;/* [ref] */
 
1009
                NTSTATUS result;
 
1010
        } out;
 
1011
 
 
1012
};
 
1013
 
 
1014
 
 
1015
struct lsa_AddPrivilegesToAccount {
 
1016
        struct {
 
1017
                struct policy_handle *handle;/* [ref] */
 
1018
                struct lsa_PrivilegeSet *privs;/* [ref] */
 
1019
        } in;
 
1020
 
 
1021
        struct {
 
1022
                NTSTATUS result;
 
1023
        } out;
 
1024
 
 
1025
};
 
1026
 
 
1027
 
 
1028
struct lsa_RemovePrivilegesFromAccount {
 
1029
        struct {
 
1030
                struct policy_handle *handle;/* [ref] */
 
1031
                uint8_t remove_all;
 
1032
                struct lsa_PrivilegeSet *privs;/* [unique] */
 
1033
        } in;
 
1034
 
 
1035
        struct {
 
1036
                NTSTATUS result;
 
1037
        } out;
 
1038
 
 
1039
};
 
1040
 
 
1041
 
 
1042
struct lsa_GetQuotasForAccount {
 
1043
        struct {
 
1044
                NTSTATUS result;
 
1045
        } out;
 
1046
 
 
1047
};
 
1048
 
 
1049
 
 
1050
struct lsa_SetQuotasForAccount {
 
1051
        struct {
 
1052
                NTSTATUS result;
 
1053
        } out;
 
1054
 
 
1055
};
 
1056
 
 
1057
 
 
1058
struct lsa_GetSystemAccessAccount {
 
1059
        struct {
 
1060
                struct policy_handle *handle;/* [ref] */
 
1061
        } in;
 
1062
 
 
1063
        struct {
 
1064
                uint32_t *access_mask;/* [ref] */
 
1065
                NTSTATUS result;
 
1066
        } out;
 
1067
 
 
1068
};
 
1069
 
 
1070
 
 
1071
struct lsa_SetSystemAccessAccount {
 
1072
        struct {
 
1073
                struct policy_handle *handle;/* [ref] */
 
1074
                uint32_t access_mask;
 
1075
        } in;
 
1076
 
 
1077
        struct {
 
1078
                NTSTATUS result;
 
1079
        } out;
 
1080
 
 
1081
};
 
1082
 
 
1083
 
 
1084
struct lsa_OpenTrustedDomain {
 
1085
        struct {
 
1086
                struct policy_handle *handle;/* [ref] */
 
1087
                struct dom_sid2 *sid;/* [ref] */
 
1088
                uint32_t access_mask;
 
1089
        } in;
 
1090
 
 
1091
        struct {
 
1092
                struct policy_handle *trustdom_handle;/* [ref] */
 
1093
                NTSTATUS result;
 
1094
        } out;
 
1095
 
 
1096
};
 
1097
 
 
1098
 
 
1099
struct lsa_QueryTrustedDomainInfo {
 
1100
        struct {
 
1101
                struct policy_handle *trustdom_handle;/* [ref] */
 
1102
                enum lsa_TrustDomInfoEnum level;
 
1103
        } in;
 
1104
 
 
1105
        struct {
 
1106
                union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
 
1107
                NTSTATUS result;
 
1108
        } out;
 
1109
 
 
1110
};
 
1111
 
 
1112
 
 
1113
struct lsa_SetInformationTrustedDomain {
 
1114
        struct {
 
1115
                struct policy_handle *trustdom_handle;/* [ref] */
 
1116
                enum lsa_TrustDomInfoEnum level;
 
1117
                union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
 
1118
        } in;
 
1119
 
 
1120
        struct {
 
1121
                NTSTATUS result;
 
1122
        } out;
 
1123
 
 
1124
};
 
1125
 
 
1126
 
 
1127
struct lsa_OpenSecret {
 
1128
        struct {
 
1129
                struct policy_handle *handle;/* [ref] */
 
1130
                struct lsa_String name;
 
1131
                uint32_t access_mask;
 
1132
        } in;
 
1133
 
 
1134
        struct {
 
1135
                struct policy_handle *sec_handle;/* [ref] */
 
1136
                NTSTATUS result;
 
1137
        } out;
 
1138
 
 
1139
};
 
1140
 
 
1141
 
 
1142
struct lsa_SetSecret {
 
1143
        struct {
 
1144
                struct policy_handle *sec_handle;/* [ref] */
 
1145
                struct lsa_DATA_BUF *new_val;/* [unique] */
 
1146
                struct lsa_DATA_BUF *old_val;/* [unique] */
 
1147
        } in;
 
1148
 
 
1149
        struct {
 
1150
                NTSTATUS result;
 
1151
        } out;
 
1152
 
 
1153
};
 
1154
 
 
1155
 
 
1156
struct lsa_QuerySecret {
 
1157
        struct {
 
1158
                struct policy_handle *sec_handle;/* [ref] */
 
1159
                struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
 
1160
                NTTIME *new_mtime;/* [unique] */
 
1161
                struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
 
1162
                NTTIME *old_mtime;/* [unique] */
 
1163
        } in;
 
1164
 
 
1165
        struct {
 
1166
                struct lsa_DATA_BUF_PTR *new_val;/* [unique] */
 
1167
                NTTIME *new_mtime;/* [unique] */
 
1168
                struct lsa_DATA_BUF_PTR *old_val;/* [unique] */
 
1169
                NTTIME *old_mtime;/* [unique] */
 
1170
                NTSTATUS result;
 
1171
        } out;
 
1172
 
 
1173
};
 
1174
 
 
1175
 
 
1176
struct lsa_LookupPrivValue {
 
1177
        struct {
 
1178
                struct policy_handle *handle;/* [ref] */
 
1179
                struct lsa_String *name;/* [ref] */
 
1180
        } in;
 
1181
 
 
1182
        struct {
 
1183
                struct lsa_LUID *luid;/* [ref] */
 
1184
                NTSTATUS result;
 
1185
        } out;
 
1186
 
 
1187
};
 
1188
 
 
1189
 
 
1190
struct lsa_LookupPrivName {
 
1191
        struct {
 
1192
                struct policy_handle *handle;/* [ref] */
 
1193
                struct lsa_LUID *luid;/* [ref] */
 
1194
        } in;
 
1195
 
 
1196
        struct {
 
1197
                struct lsa_StringLarge **name;/* [ref] */
 
1198
                NTSTATUS result;
 
1199
        } out;
 
1200
 
 
1201
};
 
1202
 
 
1203
 
 
1204
struct lsa_LookupPrivDisplayName {
 
1205
        struct {
 
1206
                struct policy_handle *handle;/* [ref] */
 
1207
                struct lsa_String *name;/* [ref] */
 
1208
                uint16_t language_id;
 
1209
                uint16_t language_id_sys;
 
1210
        } in;
 
1211
 
 
1212
        struct {
 
1213
                struct lsa_StringLarge **disp_name;/* [ref] */
 
1214
                uint16_t *returned_language_id;/* [ref] */
 
1215
                NTSTATUS result;
 
1216
        } out;
 
1217
 
 
1218
};
 
1219
 
 
1220
 
 
1221
struct lsa_DeleteObject {
 
1222
        struct {
 
1223
                struct policy_handle *handle;/* [ref] */
 
1224
        } in;
 
1225
 
 
1226
        struct {
 
1227
                struct policy_handle *handle;/* [ref] */
 
1228
                NTSTATUS result;
 
1229
        } out;
 
1230
 
 
1231
};
 
1232
 
 
1233
 
 
1234
struct lsa_EnumAccountsWithUserRight {
 
1235
        struct {
 
1236
                struct policy_handle *handle;/* [ref] */
 
1237
                struct lsa_String *name;/* [unique] */
 
1238
        } in;
 
1239
 
 
1240
        struct {
 
1241
                struct lsa_SidArray *sids;/* [ref] */
 
1242
                NTSTATUS result;
 
1243
        } out;
 
1244
 
 
1245
};
 
1246
 
 
1247
 
 
1248
struct lsa_EnumAccountRights {
 
1249
        struct {
 
1250
                struct policy_handle *handle;/* [ref] */
 
1251
                struct dom_sid2 *sid;/* [ref] */
 
1252
        } in;
 
1253
 
 
1254
        struct {
 
1255
                struct lsa_RightSet *rights;/* [ref] */
 
1256
                NTSTATUS result;
 
1257
        } out;
 
1258
 
 
1259
};
 
1260
 
 
1261
 
 
1262
struct lsa_AddAccountRights {
 
1263
        struct {
 
1264
                struct policy_handle *handle;/* [ref] */
 
1265
                struct dom_sid2 *sid;/* [ref] */
 
1266
                struct lsa_RightSet *rights;/* [ref] */
 
1267
        } in;
 
1268
 
 
1269
        struct {
 
1270
                NTSTATUS result;
 
1271
        } out;
 
1272
 
 
1273
};
 
1274
 
 
1275
 
 
1276
struct lsa_RemoveAccountRights {
 
1277
        struct {
 
1278
                struct policy_handle *handle;/* [ref] */
 
1279
                struct dom_sid2 *sid;/* [ref] */
 
1280
                uint8_t remove_all;
 
1281
                struct lsa_RightSet *rights;/* [ref] */
 
1282
        } in;
 
1283
 
 
1284
        struct {
 
1285
                NTSTATUS result;
 
1286
        } out;
 
1287
 
 
1288
};
 
1289
 
 
1290
 
 
1291
struct lsa_QueryTrustedDomainInfoBySid {
 
1292
        struct {
 
1293
                struct policy_handle *handle;/* [ref] */
 
1294
                struct dom_sid2 *dom_sid;/* [ref] */
 
1295
                enum lsa_TrustDomInfoEnum level;
 
1296
        } in;
 
1297
 
 
1298
        struct {
 
1299
                union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
 
1300
                NTSTATUS result;
 
1301
        } out;
 
1302
 
 
1303
};
 
1304
 
 
1305
 
 
1306
struct lsa_SetTrustedDomainInfo {
 
1307
        struct {
 
1308
                struct policy_handle *handle;/* [ref] */
 
1309
                struct dom_sid2 *dom_sid;/* [ref] */
 
1310
                enum lsa_TrustDomInfoEnum level;
 
1311
                union lsa_TrustedDomainInfo *info;/* [ref,switch_is(level)] */
 
1312
        } in;
 
1313
 
 
1314
        struct {
 
1315
                NTSTATUS result;
 
1316
        } out;
 
1317
 
 
1318
};
 
1319
 
 
1320
 
 
1321
struct lsa_DeleteTrustedDomain {
 
1322
        struct {
 
1323
                struct policy_handle *handle;/* [ref] */
 
1324
                struct dom_sid2 *dom_sid;/* [ref] */
 
1325
        } in;
 
1326
 
 
1327
        struct {
 
1328
                NTSTATUS result;
 
1329
        } out;
 
1330
 
 
1331
};
 
1332
 
 
1333
 
 
1334
struct lsa_StorePrivateData {
 
1335
        struct {
 
1336
                NTSTATUS result;
 
1337
        } out;
 
1338
 
 
1339
};
 
1340
 
 
1341
 
 
1342
struct lsa_RetrievePrivateData {
 
1343
        struct {
 
1344
                NTSTATUS result;
 
1345
        } out;
 
1346
 
 
1347
};
 
1348
 
 
1349
 
 
1350
struct lsa_OpenPolicy2 {
 
1351
        struct {
 
1352
                const char *system_name;/* [unique,charset(UTF16)] */
 
1353
                struct lsa_ObjectAttribute *attr;/* [ref] */
 
1354
                uint32_t access_mask;
 
1355
        } in;
 
1356
 
 
1357
        struct {
 
1358
                struct policy_handle *handle;/* [ref] */
 
1359
                NTSTATUS result;
 
1360
        } out;
 
1361
 
 
1362
};
 
1363
 
 
1364
 
 
1365
struct lsa_GetUserName {
 
1366
        struct {
 
1367
                const char *system_name;/* [unique,charset(UTF16)] */
 
1368
                struct lsa_String **account_name;/* [ref] */
 
1369
                struct lsa_String **authority_name;/* [unique] */
 
1370
        } in;
 
1371
 
 
1372
        struct {
 
1373
                struct lsa_String **account_name;/* [ref] */
 
1374
                struct lsa_String **authority_name;/* [unique] */
 
1375
                NTSTATUS result;
 
1376
        } out;
 
1377
 
 
1378
};
 
1379
 
 
1380
 
 
1381
struct lsa_QueryInfoPolicy2 {
 
1382
        struct {
 
1383
                struct policy_handle *handle;/* [ref] */
 
1384
                enum lsa_PolicyInfo level;
 
1385
        } in;
 
1386
 
 
1387
        struct {
 
1388
                union lsa_PolicyInformation **info;/* [ref,switch_is(level)] */
 
1389
                NTSTATUS result;
 
1390
        } out;
 
1391
 
 
1392
};
 
1393
 
 
1394
 
 
1395
struct lsa_SetInfoPolicy2 {
 
1396
        struct {
 
1397
                struct policy_handle *handle;/* [ref] */
 
1398
                enum lsa_PolicyInfo level;
 
1399
                union lsa_PolicyInformation *info;/* [ref,switch_is(level)] */
 
1400
        } in;
 
1401
 
 
1402
        struct {
 
1403
                NTSTATUS result;
 
1404
        } out;
 
1405
 
 
1406
};
 
1407
 
 
1408
 
 
1409
struct lsa_QueryTrustedDomainInfoByName {
 
1410
        struct {
 
1411
                struct policy_handle *handle;/* [ref] */
 
1412
                struct lsa_String *trusted_domain;/* [ref] */
 
1413
                enum lsa_TrustDomInfoEnum level;
 
1414
        } in;
 
1415
 
 
1416
        struct {
 
1417
                union lsa_TrustedDomainInfo **info;/* [ref,switch_is(level)] */
 
1418
                NTSTATUS result;
 
1419
        } out;
 
1420
 
 
1421
};
 
1422
 
 
1423
 
 
1424
struct lsa_SetTrustedDomainInfoByName {
 
1425
        struct {
 
1426
                struct policy_handle *handle;/* [ref] */
 
1427
                struct lsa_String trusted_domain;
 
1428
                enum lsa_TrustDomInfoEnum level;
 
1429
                union lsa_TrustedDomainInfo *info;/* [unique,switch_is(level)] */
 
1430
        } in;
 
1431
 
 
1432
        struct {
 
1433
                NTSTATUS result;
 
1434
        } out;
 
1435
 
 
1436
};
 
1437
 
 
1438
 
 
1439
struct lsa_EnumTrustedDomainsEx {
 
1440
        struct {
 
1441
                struct policy_handle *handle;/* [ref] */
 
1442
                uint32_t max_size;
 
1443
                uint32_t *resume_handle;/* [ref] */
 
1444
        } in;
 
1445
 
 
1446
        struct {
 
1447
                struct lsa_DomainListEx *domains;/* [ref] */
 
1448
                uint32_t *resume_handle;/* [ref] */
 
1449
                NTSTATUS result;
 
1450
        } out;
 
1451
 
 
1452
};
 
1453
 
 
1454
 
 
1455
struct lsa_CreateTrustedDomainEx {
 
1456
        struct {
 
1457
                struct policy_handle *policy_handle;/* [ref] */
 
1458
                struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
 
1459
                struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
 
1460
                uint32_t access_mask;
 
1461
        } in;
 
1462
 
 
1463
        struct {
 
1464
                struct policy_handle *trustdom_handle;/* [ref] */
 
1465
                NTSTATUS result;
 
1466
        } out;
 
1467
 
 
1468
};
 
1469
 
 
1470
 
 
1471
struct lsa_CloseTrustedDomainEx {
 
1472
        struct {
 
1473
                struct policy_handle *handle;/* [ref] */
 
1474
        } in;
 
1475
 
 
1476
        struct {
 
1477
                struct policy_handle *handle;/* [ref] */
 
1478
                NTSTATUS result;
 
1479
        } out;
 
1480
 
 
1481
};
 
1482
 
 
1483
 
 
1484
struct lsa_QueryDomainInformationPolicy {
 
1485
        struct {
 
1486
                struct policy_handle *handle;/* [ref] */
 
1487
                uint16_t level;
 
1488
        } in;
 
1489
 
 
1490
        struct {
 
1491
                union lsa_DomainInformationPolicy **info;/* [ref,switch_is(level)] */
 
1492
                NTSTATUS result;
 
1493
        } out;
 
1494
 
 
1495
};
 
1496
 
 
1497
 
 
1498
struct lsa_SetDomainInformationPolicy {
 
1499
        struct {
 
1500
                struct policy_handle *handle;/* [ref] */
 
1501
                uint16_t level;
 
1502
                union lsa_DomainInformationPolicy *info;/* [unique,switch_is(level)] */
 
1503
        } in;
 
1504
 
 
1505
        struct {
 
1506
                NTSTATUS result;
 
1507
        } out;
 
1508
 
 
1509
};
 
1510
 
 
1511
 
 
1512
struct lsa_OpenTrustedDomainByName {
 
1513
        struct {
 
1514
                struct policy_handle *handle;/* [ref] */
 
1515
                struct lsa_String name;
 
1516
                uint32_t access_mask;
 
1517
        } in;
 
1518
 
 
1519
        struct {
 
1520
                struct policy_handle *trustdom_handle;/* [ref] */
 
1521
                NTSTATUS result;
 
1522
        } out;
 
1523
 
 
1524
};
 
1525
 
 
1526
 
 
1527
struct lsa_TestCall {
 
1528
        struct {
 
1529
                NTSTATUS result;
 
1530
        } out;
 
1531
 
 
1532
};
 
1533
 
 
1534
 
 
1535
struct lsa_LookupSids2 {
 
1536
        struct {
 
1537
                struct policy_handle *handle;/* [ref] */
 
1538
                struct lsa_SidArray *sids;/* [ref] */
 
1539
                uint16_t level;
 
1540
                uint32_t unknown1;
 
1541
                uint32_t unknown2;
 
1542
                struct lsa_TransNameArray2 *names;/* [ref] */
 
1543
                uint32_t *count;/* [ref] */
 
1544
        } in;
 
1545
 
 
1546
        struct {
 
1547
                struct lsa_RefDomainList **domains;/* [ref] */
 
1548
                struct lsa_TransNameArray2 *names;/* [ref] */
 
1549
                uint32_t *count;/* [ref] */
 
1550
                NTSTATUS result;
 
1551
        } out;
 
1552
 
 
1553
};
 
1554
 
 
1555
 
 
1556
struct lsa_LookupNames2 {
 
1557
        struct {
 
1558
                struct policy_handle *handle;/* [ref] */
 
1559
                uint32_t num_names;/* [range(0,1000)] */
 
1560
                struct lsa_String *names;/* [size_is(num_names)] */
 
1561
                enum lsa_LookupNamesLevel level;
 
1562
                uint32_t lookup_options;
 
1563
                uint32_t client_revision;
 
1564
                struct lsa_TransSidArray2 *sids;/* [ref] */
 
1565
                uint32_t *count;/* [ref] */
 
1566
        } in;
 
1567
 
 
1568
        struct {
 
1569
                struct lsa_RefDomainList **domains;/* [ref] */
 
1570
                struct lsa_TransSidArray2 *sids;/* [ref] */
 
1571
                uint32_t *count;/* [ref] */
 
1572
                NTSTATUS result;
 
1573
        } out;
 
1574
 
 
1575
};
 
1576
 
 
1577
 
 
1578
struct lsa_CreateTrustedDomainEx2 {
 
1579
        struct {
 
1580
                struct policy_handle *policy_handle;/* [ref] */
 
1581
                struct lsa_TrustDomainInfoInfoEx *info;/* [ref] */
 
1582
                struct lsa_TrustDomainInfoAuthInfoInternal *auth_info;/* [ref] */
 
1583
                uint32_t access_mask;
 
1584
        } in;
 
1585
 
 
1586
        struct {
 
1587
                struct policy_handle *trustdom_handle;/* [ref] */
 
1588
                NTSTATUS result;
 
1589
        } out;
 
1590
 
 
1591
};
 
1592
 
 
1593
 
 
1594
struct lsa_CREDRWRITE {
 
1595
        struct {
 
1596
                NTSTATUS result;
 
1597
        } out;
 
1598
 
 
1599
};
 
1600
 
 
1601
 
 
1602
struct lsa_CREDRREAD {
 
1603
        struct {
 
1604
                NTSTATUS result;
 
1605
        } out;
 
1606
 
 
1607
};
 
1608
 
 
1609
 
 
1610
struct lsa_CREDRENUMERATE {
 
1611
        struct {
 
1612
                NTSTATUS result;
 
1613
        } out;
 
1614
 
 
1615
};
 
1616
 
 
1617
 
 
1618
struct lsa_CREDRWRITEDOMAINCREDENTIALS {
 
1619
        struct {
 
1620
                NTSTATUS result;
 
1621
        } out;
 
1622
 
 
1623
};
 
1624
 
 
1625
 
 
1626
struct lsa_CREDRREADDOMAINCREDENTIALS {
 
1627
        struct {
 
1628
                NTSTATUS result;
 
1629
        } out;
 
1630
 
 
1631
};
 
1632
 
 
1633
 
 
1634
struct lsa_CREDRDELETE {
 
1635
        struct {
 
1636
                NTSTATUS result;
 
1637
        } out;
 
1638
 
 
1639
};
 
1640
 
 
1641
 
 
1642
struct lsa_CREDRGETTARGETINFO {
 
1643
        struct {
 
1644
                NTSTATUS result;
 
1645
        } out;
 
1646
 
 
1647
};
 
1648
 
 
1649
 
 
1650
struct lsa_CREDRPROFILELOADED {
 
1651
        struct {
 
1652
                NTSTATUS result;
 
1653
        } out;
 
1654
 
 
1655
};
 
1656
 
 
1657
 
 
1658
struct lsa_LookupNames3 {
 
1659
        struct {
 
1660
                struct policy_handle *handle;/* [ref] */
 
1661
                uint32_t num_names;/* [range(0,1000)] */
 
1662
                struct lsa_String *names;/* [size_is(num_names)] */
 
1663
                enum lsa_LookupNamesLevel level;
 
1664
                uint32_t lookup_options;
 
1665
                uint32_t client_revision;
 
1666
                struct lsa_TransSidArray3 *sids;/* [ref] */
 
1667
                uint32_t *count;/* [ref] */
 
1668
        } in;
 
1669
 
 
1670
        struct {
 
1671
                struct lsa_RefDomainList **domains;/* [ref] */
 
1672
                struct lsa_TransSidArray3 *sids;/* [ref] */
 
1673
                uint32_t *count;/* [ref] */
 
1674
                NTSTATUS result;
 
1675
        } out;
 
1676
 
 
1677
};
 
1678
 
 
1679
 
 
1680
struct lsa_CREDRGETSESSIONTYPES {
 
1681
        struct {
 
1682
                NTSTATUS result;
 
1683
        } out;
 
1684
 
 
1685
};
 
1686
 
 
1687
 
 
1688
struct lsa_LSARREGISTERAUDITEVENT {
 
1689
        struct {
 
1690
                NTSTATUS result;
 
1691
        } out;
 
1692
 
 
1693
};
 
1694
 
 
1695
 
 
1696
struct lsa_LSARGENAUDITEVENT {
 
1697
        struct {
 
1698
                NTSTATUS result;
 
1699
        } out;
 
1700
 
 
1701
};
 
1702
 
 
1703
 
 
1704
struct lsa_LSARUNREGISTERAUDITEVENT {
 
1705
        struct {
 
1706
                NTSTATUS result;
 
1707
        } out;
 
1708
 
 
1709
};
 
1710
 
 
1711
 
 
1712
struct lsa_lsaRQueryForestTrustInformation {
 
1713
        struct {
 
1714
                struct policy_handle *handle;/* [ref] */
 
1715
                struct lsa_String *trusted_domain_name;/* [ref] */
 
1716
                uint16_t unknown;
 
1717
        } in;
 
1718
 
 
1719
        struct {
 
1720
                struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
 
1721
                NTSTATUS result;
 
1722
        } out;
 
1723
 
 
1724
};
 
1725
 
 
1726
 
 
1727
struct lsa_LSARSETFORESTTRUSTINFORMATION {
 
1728
        struct {
 
1729
                NTSTATUS result;
 
1730
        } out;
 
1731
 
 
1732
};
 
1733
 
 
1734
 
 
1735
struct lsa_CREDRRENAME {
 
1736
        struct {
 
1737
                NTSTATUS result;
 
1738
        } out;
 
1739
 
 
1740
};
 
1741
 
 
1742
 
 
1743
struct lsa_LookupSids3 {
 
1744
        struct {
 
1745
                struct lsa_SidArray *sids;/* [ref] */
 
1746
                uint16_t level;
 
1747
                uint32_t unknown1;
 
1748
                uint32_t unknown2;
 
1749
                struct lsa_TransNameArray2 *names;/* [ref] */
 
1750
                uint32_t *count;/* [ref] */
 
1751
        } in;
 
1752
 
 
1753
        struct {
 
1754
                struct lsa_RefDomainList **domains;/* [ref] */
 
1755
                struct lsa_TransNameArray2 *names;/* [ref] */
 
1756
                uint32_t *count;/* [ref] */
 
1757
                NTSTATUS result;
 
1758
        } out;
 
1759
 
 
1760
};
 
1761
 
 
1762
 
 
1763
struct lsa_LookupNames4 {
 
1764
        struct {
 
1765
                uint32_t num_names;/* [range(0,1000)] */
 
1766
                struct lsa_String *names;/* [size_is(num_names)] */
 
1767
                enum lsa_LookupNamesLevel level;
 
1768
                uint32_t lookup_options;
 
1769
                uint32_t client_revision;
 
1770
                struct lsa_TransSidArray3 *sids;/* [ref] */
 
1771
                uint32_t *count;/* [ref] */
 
1772
        } in;
 
1773
 
 
1774
        struct {
 
1775
                struct lsa_RefDomainList **domains;/* [ref] */
 
1776
                struct lsa_TransSidArray3 *sids;/* [ref] */
 
1777
                uint32_t *count;/* [ref] */
 
1778
                NTSTATUS result;
 
1779
        } out;
 
1780
 
 
1781
};
 
1782
 
 
1783
 
 
1784
struct lsa_LSAROPENPOLICYSCE {
 
1785
        struct {
 
1786
                NTSTATUS result;
 
1787
        } out;
 
1788
 
 
1789
};
 
1790
 
 
1791
 
 
1792
struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
 
1793
        struct {
 
1794
                NTSTATUS result;
 
1795
        } out;
 
1796
 
 
1797
};
 
1798
 
 
1799
 
 
1800
struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
 
1801
        struct {
 
1802
                NTSTATUS result;
 
1803
        } out;
 
1804
 
 
1805
};
 
1806
 
 
1807
 
 
1808
struct lsa_LSARADTREPORTSECURITYEVENT {
 
1809
        struct {
 
1810
                NTSTATUS result;
 
1811
        } out;
 
1812
 
 
1813
};
 
1814
 
 
1815
#endif /* _HEADER_lsarpc */