1 /* header auto-generated by pidl */
5 #include "librpc/gen_ndr/security.h"
9 #define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
10 #define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
11 #define MAX_REF_DOMAINS ( LSA_REF_DOMAIN_LIST_MULTIPLIER )
12 #define MAX_LOOKUP_SIDS ( 0x5000 )
13 #define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
15 uint16_t length
;/* [value(2*strlen_m(string))] */
16 uint16_t size
;/* [value(2*strlen_m(string))] */
17 const char *string
;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
18 }/* [public,noejs] */;
20 struct lsa_StringLarge
{
21 uint16_t length
;/* [value(2*strlen_m(string))] */
22 uint16_t size
;/* [value(2*strlen_m_term(string))] */
23 const char *string
;/* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
28 struct lsa_String
*names
;/* [unique,size_is(count)] */
31 struct lsa_AsciiString
{
32 uint16_t length
;/* [value(strlen_m(string))] */
33 uint16_t size
;/* [value(strlen_m(string))] */
34 const char *string
;/* [unique,charset(DOS),length_is(length),size_is(size)] */
37 struct lsa_AsciiStringLarge
{
38 uint16_t length
;/* [value(strlen_m(string))] */
39 uint16_t size
;/* [value(strlen_m_term(string))] */
40 const char *string
;/* [unique,charset(DOS),length_is(length),size_is(size)] */
43 struct lsa_BinaryString
{
46 uint16_t *array
;/* [unique,length_is(length/2),size_is(size/2)] */
54 struct lsa_PrivEntry
{
55 struct lsa_StringLarge name
;
59 struct lsa_PrivArray
{
61 struct lsa_PrivEntry
*privs
;/* [unique,size_is(count)] */
66 uint16_t impersonation_level
;
68 uint8_t effective_only
;
71 struct lsa_ObjectAttribute
{
73 uint8_t *root_dir
;/* [unique] */
74 const char *object_name
;/* [unique,charset(UTF16)] */
76 struct security_descriptor
*sec_desc
;/* [unique] */
77 struct lsa_QosInfo
*sec_qos
;/* [unique] */
80 /* bitmap lsa_PolicyAccessMask */
81 #define LSA_POLICY_VIEW_LOCAL_INFORMATION ( 0x00000001 )
82 #define LSA_POLICY_VIEW_AUDIT_INFORMATION ( 0x00000002 )
83 #define LSA_POLICY_GET_PRIVATE_INFORMATION ( 0x00000004 )
84 #define LSA_POLICY_TRUST_ADMIN ( 0x00000008 )
85 #define LSA_POLICY_CREATE_ACCOUNT ( 0x00000010 )
86 #define LSA_POLICY_CREATE_SECRET ( 0x00000020 )
87 #define LSA_POLICY_CREATE_PRIVILEGE ( 0x00000040 )
88 #define LSA_POLICY_SET_DEFAULT_QUOTA_LIMITS ( 0x00000080 )
89 #define LSA_POLICY_SET_AUDIT_REQUIREMENTS ( 0x00000100 )
90 #define LSA_POLICY_AUDIT_LOG_ADMIN ( 0x00000200 )
91 #define LSA_POLICY_SERVER_ADMIN ( 0x00000400 )
92 #define LSA_POLICY_LOOKUP_NAMES ( 0x00000800 )
94 struct lsa_AuditLogInfo
{
95 uint32_t percent_full
;
97 NTTIME retention_time
;
98 uint8_t shutdown_in_progress
;
99 NTTIME time_to_shutdown
;
100 uint32_t next_audit_record
;
104 enum lsa_PolicyAuditPolicy
105 #ifndef USE_UINT_ENUMS
107 LSA_AUDIT_POLICY_NONE
=0,
108 LSA_AUDIT_POLICY_SUCCESS
=1,
109 LSA_AUDIT_POLICY_FAILURE
=2,
110 LSA_AUDIT_POLICY_ALL
=(LSA_AUDIT_POLICY_SUCCESS
|LSA_AUDIT_POLICY_FAILURE
),
111 LSA_AUDIT_POLICY_CLEAR
=4
114 { __donnot_use_enum_lsa_PolicyAuditPolicy
=0x7FFFFFFF}
115 #define LSA_AUDIT_POLICY_NONE ( 0 )
116 #define LSA_AUDIT_POLICY_SUCCESS ( 1 )
117 #define LSA_AUDIT_POLICY_FAILURE ( 2 )
118 #define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
119 #define LSA_AUDIT_POLICY_CLEAR ( 4 )
123 enum lsa_PolicyAuditEventType
124 #ifndef USE_UINT_ENUMS
126 LSA_AUDIT_CATEGORY_SYSTEM
=0,
127 LSA_AUDIT_CATEGORY_LOGON
=1,
128 LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS
=2,
129 LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS
=3,
130 LSA_AUDIT_CATEGORY_PROCCESS_TRACKING
=4,
131 LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES
=5,
132 LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT
=6,
133 LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS
=7,
134 LSA_AUDIT_CATEGORY_ACCOUNT_LOGON
=8
137 { __donnot_use_enum_lsa_PolicyAuditEventType
=0x7FFFFFFF}
138 #define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
139 #define LSA_AUDIT_CATEGORY_LOGON ( 1 )
140 #define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
141 #define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
142 #define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
143 #define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
144 #define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
145 #define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
146 #define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
150 struct lsa_AuditEventsInfo
{
151 uint32_t auditing_mode
;
152 enum lsa_PolicyAuditPolicy
*settings
;/* [unique,size_is(count)] */
156 struct lsa_DomainInfo
{
157 struct lsa_StringLarge name
;
158 struct dom_sid2
*sid
;/* [unique] */
161 struct lsa_PDAccountInfo
{
162 struct lsa_String name
;
165 struct lsa_ServerRole
{
170 struct lsa_ReplicaSourceInfo
{
171 struct lsa_String source
;
172 struct lsa_String account
;
175 struct lsa_DefaultQuotaInfo
{
177 uint32_t non_paged_pool
;
184 struct lsa_ModificationInfo
{
185 uint64_t modified_id
;
186 NTTIME db_create_time
;
189 struct lsa_AuditFullSetInfo
{
190 uint8_t shutdown_on_full
;
193 struct lsa_AuditFullQueryInfo
{
195 uint8_t shutdown_on_full
;
199 struct lsa_DnsDomainInfo
{
200 struct lsa_StringLarge name
;
201 struct lsa_StringLarge dns_domain
;
202 struct lsa_StringLarge dns_forest
;
203 struct GUID domain_guid
;
204 struct dom_sid2
*sid
;/* [unique] */
208 #ifndef USE_UINT_ENUMS
210 LSA_POLICY_INFO_AUDIT_LOG
=1,
211 LSA_POLICY_INFO_AUDIT_EVENTS
=2,
212 LSA_POLICY_INFO_DOMAIN
=3,
213 LSA_POLICY_INFO_PD
=4,
214 LSA_POLICY_INFO_ACCOUNT_DOMAIN
=5,
215 LSA_POLICY_INFO_ROLE
=6,
216 LSA_POLICY_INFO_REPLICA
=7,
217 LSA_POLICY_INFO_QUOTA
=8,
218 LSA_POLICY_INFO_DB
=9,
219 LSA_POLICY_INFO_AUDIT_FULL_SET
=10,
220 LSA_POLICY_INFO_AUDIT_FULL_QUERY
=11,
221 LSA_POLICY_INFO_DNS
=12
224 { __donnot_use_enum_lsa_PolicyInfo
=0x7FFFFFFF}
225 #define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
226 #define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
227 #define LSA_POLICY_INFO_DOMAIN ( 3 )
228 #define LSA_POLICY_INFO_PD ( 4 )
229 #define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
230 #define LSA_POLICY_INFO_ROLE ( 6 )
231 #define LSA_POLICY_INFO_REPLICA ( 7 )
232 #define LSA_POLICY_INFO_QUOTA ( 8 )
233 #define LSA_POLICY_INFO_DB ( 9 )
234 #define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
235 #define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
236 #define LSA_POLICY_INFO_DNS ( 12 )
240 union lsa_PolicyInformation
{
241 struct lsa_AuditLogInfo audit_log
;/* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
242 struct lsa_AuditEventsInfo audit_events
;/* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
243 struct lsa_DomainInfo domain
;/* [case(LSA_POLICY_INFO_DOMAIN)] */
244 struct lsa_PDAccountInfo pd
;/* [case(LSA_POLICY_INFO_PD)] */
245 struct lsa_DomainInfo account_domain
;/* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
246 struct lsa_ServerRole role
;/* [case(LSA_POLICY_INFO_ROLE)] */
247 struct lsa_ReplicaSourceInfo replica
;/* [case(LSA_POLICY_INFO_REPLICA)] */
248 struct lsa_DefaultQuotaInfo quota
;/* [case(LSA_POLICY_INFO_QUOTA)] */
249 struct lsa_ModificationInfo db
;/* [case(LSA_POLICY_INFO_DB)] */
250 struct lsa_AuditFullSetInfo auditfullset
;/* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
251 struct lsa_AuditFullQueryInfo auditfullquery
;/* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
252 struct lsa_DnsDomainInfo dns
;/* [case(LSA_POLICY_INFO_DNS)] */
253 }/* [switch_type(uint16)] */;
256 struct dom_sid2
*sid
;/* [unique] */
259 struct lsa_SidArray
{
260 uint32_t num_sids
;/* [range(0,1000)] */
261 struct lsa_SidPtr
*sids
;/* [unique,size_is(num_sids)] */
264 struct lsa_DomainList
{
266 struct lsa_DomainInfo
*domains
;/* [unique,size_is(count)] */
270 #ifndef USE_UINT_ENUMS
284 { __donnot_use_enum_lsa_SidType
=0x7FFFFFFF}
285 #define SID_NAME_USE_NONE ( 0 )
286 #define SID_NAME_USER ( 1 )
287 #define SID_NAME_DOM_GRP ( 2 )
288 #define SID_NAME_DOMAIN ( 3 )
289 #define SID_NAME_ALIAS ( 4 )
290 #define SID_NAME_WKN_GRP ( 5 )
291 #define SID_NAME_DELETED ( 6 )
292 #define SID_NAME_INVALID ( 7 )
293 #define SID_NAME_UNKNOWN ( 8 )
294 #define SID_NAME_COMPUTER ( 9 )
298 struct lsa_TranslatedSid
{
299 enum lsa_SidType sid_type
;
304 struct lsa_TransSidArray
{
305 uint32_t count
;/* [range(0,1000)] */
306 struct lsa_TranslatedSid
*sids
;/* [unique,size_is(count)] */
309 struct lsa_RefDomainList
{
310 uint32_t count
;/* [range(0,1000)] */
311 struct lsa_DomainInfo
*domains
;/* [unique,size_is(count)] */
315 enum lsa_LookupNamesLevel
316 #ifndef USE_UINT_ENUMS
318 LSA_LOOKUP_NAMES_ALL
=1,
319 LSA_LOOKUP_NAMES_DOMAINS_ONLY
=2,
320 LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY
=3,
321 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY
=4,
322 LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY
=5,
323 LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2
=6
326 { __donnot_use_enum_lsa_LookupNamesLevel
=0x7FFFFFFF}
327 #define LSA_LOOKUP_NAMES_ALL ( 1 )
328 #define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
329 #define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
330 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
331 #define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
332 #define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
336 struct lsa_TranslatedName
{
337 enum lsa_SidType sid_type
;
338 struct lsa_String name
;
342 struct lsa_TransNameArray
{
343 uint32_t count
;/* [range(0,1000)] */
344 struct lsa_TranslatedName
*names
;/* [unique,size_is(count)] */
347 struct lsa_LUIDAttribute
{
348 struct lsa_LUID luid
;
352 struct lsa_PrivilegeSet
{
353 uint32_t count
;/* [range(0,1000)] */
355 struct lsa_LUIDAttribute
*set
;/* [size_is(count)] */
358 struct lsa_DATA_BUF
{
361 uint8_t *data
;/* [unique,length_is(length),size_is(size)] */
362 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
364 struct lsa_DATA_BUF2
{
365 uint32_t size
;/* [range(0,65536)] */
366 uint8_t *data
;/* [unique,size_is(size)] */
367 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
369 enum lsa_TrustDomInfoEnum
370 #ifndef USE_UINT_ENUMS
372 LSA_TRUSTED_DOMAIN_INFO_NAME
=1,
373 LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO
=2,
374 LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET
=3,
375 LSA_TRUSTED_DOMAIN_INFO_PASSWORD
=4,
376 LSA_TRUSTED_DOMAIN_INFO_BASIC
=5,
377 LSA_TRUSTED_DOMAIN_INFO_INFO_EX
=6,
378 LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO
=7,
379 LSA_TRUSTED_DOMAIN_INFO_FULL_INFO
=8,
380 LSA_TRUSTED_DOMAIN_INFO_11
=11,
381 LSA_TRUSTED_DOMAIN_INFO_INFO_ALL
=12
384 { __donnot_use_enum_lsa_TrustDomInfoEnum
=0x7FFFFFFF}
385 #define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
386 #define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO ( 2 )
387 #define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
388 #define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
389 #define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
390 #define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
391 #define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
392 #define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
393 #define LSA_TRUSTED_DOMAIN_INFO_11 ( 11 )
394 #define LSA_TRUSTED_DOMAIN_INFO_INFO_ALL ( 12 )
398 struct lsa_TrustDomainInfoName
{
399 struct lsa_StringLarge netbios_name
;
402 struct lsa_TrustDomainInfoPosixOffset
{
403 uint32_t posix_offset
;
406 struct lsa_TrustDomainInfoPassword
{
407 struct lsa_DATA_BUF
*password
;/* [unique] */
408 struct lsa_DATA_BUF
*old_password
;/* [unique] */
411 struct lsa_TrustDomainInfoBasic
{
412 struct lsa_String netbios_name
;
413 struct dom_sid2
*sid
;/* [unique] */
416 struct lsa_TrustDomainInfoInfoEx
{
417 struct lsa_StringLarge domain_name
;
418 struct lsa_StringLarge netbios_name
;
419 struct dom_sid2
*sid
;/* [unique] */
420 uint32_t trust_direction
;
422 uint32_t trust_attributes
;
425 struct lsa_TrustDomainInfoBuffer
{
426 NTTIME last_update_time
;
427 uint32_t secret_type
;
428 struct lsa_DATA_BUF2 data
;
431 struct lsa_TrustDomainInfoAuthInfo
{
432 uint32_t incoming_count
;
433 struct lsa_TrustDomainInfoBuffer
*incoming_current_auth_info
;/* [unique] */
434 struct lsa_TrustDomainInfoBuffer
*incoming_previous_auth_info
;/* [unique] */
435 uint32_t outgoing_count
;
436 struct lsa_TrustDomainInfoBuffer
*outgoing_current_auth_info
;/* [unique] */
437 struct lsa_TrustDomainInfoBuffer
*outgoing_previous_auth_info
;/* [unique] */
440 struct lsa_TrustDomainInfoFullInfo
{
441 struct lsa_TrustDomainInfoInfoEx info_ex
;
442 struct lsa_TrustDomainInfoPosixOffset posix_offset
;
443 struct lsa_TrustDomainInfoAuthInfo auth_info
;
446 struct lsa_TrustDomainInfo11
{
447 struct lsa_TrustDomainInfoInfoEx info_ex
;
448 struct lsa_DATA_BUF2 data1
;
451 struct lsa_TrustDomainInfoInfoAll
{
452 struct lsa_TrustDomainInfoInfoEx info_ex
;
453 struct lsa_DATA_BUF2 data1
;
454 struct lsa_TrustDomainInfoPosixOffset posix_offset
;
455 struct lsa_TrustDomainInfoAuthInfo auth_info
;
458 union lsa_TrustedDomainInfo
{
459 struct lsa_TrustDomainInfoName name
;/* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
460 struct lsa_TrustDomainInfoPosixOffset posix_offset
;/* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
461 struct lsa_TrustDomainInfoPassword password
;/* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
462 struct lsa_TrustDomainInfoBasic info_basic
;/* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
463 struct lsa_TrustDomainInfoInfoEx info_ex
;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
464 struct lsa_TrustDomainInfoAuthInfo auth_info
;/* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
465 struct lsa_TrustDomainInfoFullInfo full_info
;/* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
466 struct lsa_TrustDomainInfo11 info11
;/* [case(LSA_TRUSTED_DOMAIN_INFO_11)] */
467 struct lsa_TrustDomainInfoInfoAll info_all
;/* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */
468 }/* [switch_type(lsa_TrustDomInfoEnum)] */;
470 struct lsa_DATA_BUF_PTR
{
471 struct lsa_DATA_BUF
*buf
;/* [unique] */
474 struct lsa_RightAttribute
{
475 const char *name
;/* [unique,charset(UTF16)] */
478 struct lsa_RightSet
{
479 uint32_t count
;/* [range(0,256)] */
480 struct lsa_StringLarge
*names
;/* [unique,size_is(count)] */
483 struct lsa_DomainListEx
{
485 struct lsa_TrustDomainInfoInfoEx
*domains
;/* [unique,size_is(count)] */
488 struct lsa_DomainInfoKerberos
{
489 uint32_t enforce_restrictions
;
490 uint64_t service_tkt_lifetime
;
491 uint64_t user_tkt_lifetime
;
492 uint64_t user_tkt_renewaltime
;
497 struct lsa_DomainInfoEfs
{
499 uint8_t *efs_blob
;/* [unique,size_is(blob_size)] */
502 enum lsa_DomainInfoEnum
503 #ifndef USE_UINT_ENUMS
505 LSA_DOMAIN_INFO_POLICY_EFS
=2,
506 LSA_DOMAIN_INFO_POLICY_KERBEROS
=3
509 { __donnot_use_enum_lsa_DomainInfoEnum
=0x7FFFFFFF}
510 #define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
511 #define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
515 union lsa_DomainInformationPolicy
{
516 struct lsa_DomainInfoEfs efs_info
;/* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
517 struct lsa_DomainInfoKerberos kerberos_info
;/* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
518 }/* [switch_type(uint16)] */;
520 struct lsa_TranslatedName2
{
521 enum lsa_SidType sid_type
;
522 struct lsa_String name
;
527 struct lsa_TransNameArray2
{
528 uint32_t count
;/* [range(0,1000)] */
529 struct lsa_TranslatedName2
*names
;/* [unique,size_is(count)] */
532 struct lsa_TranslatedSid2
{
533 enum lsa_SidType sid_type
;
539 struct lsa_TransSidArray2
{
540 uint32_t count
;/* [range(0,1000)] */
541 struct lsa_TranslatedSid2
*sids
;/* [unique,size_is(count)] */
544 struct lsa_TranslatedSid3
{
545 enum lsa_SidType sid_type
;
546 struct dom_sid2
*sid
;/* [unique] */
551 struct lsa_TransSidArray3
{
552 uint32_t count
;/* [range(0,1000)] */
553 struct lsa_TranslatedSid3
*sids
;/* [unique,size_is(count)] */
556 struct lsa_ForestTrustBinaryData
{
557 uint32_t length
;/* [range(0,131072)] */
558 uint8_t *data
;/* [unique,size_is(length)] */
561 struct lsa_ForestTrustDomainInfo
{
562 struct dom_sid2
*domain_sid
;/* [unique] */
563 struct lsa_StringLarge dns_domain_name
;
564 struct lsa_StringLarge netbios_domain_name
;
567 union lsa_ForestTrustData
{
568 struct lsa_String top_level_name
;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
569 struct lsa_StringLarge top_level_name_ex
;/* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
570 struct lsa_ForestTrustDomainInfo domain_info
;/* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
571 struct lsa_ForestTrustBinaryData data
;/* [default] */
572 }/* [switch_type(uint32)] */;
574 enum lsa_ForestTrustRecordType
575 #ifndef USE_UINT_ENUMS
577 LSA_FOREST_TRUST_TOP_LEVEL_NAME
=0,
578 LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX
=1,
579 LSA_FOREST_TRUST_DOMAIN_INFO
=2,
580 LSA_FOREST_TRUST_RECORD_TYPE_LAST
=3
583 { __donnot_use_enum_lsa_ForestTrustRecordType
=0x7FFFFFFF}
584 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
585 #define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
586 #define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
587 #define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
591 struct lsa_ForestTrustRecord
{
593 enum lsa_ForestTrustRecordType level
;
595 union lsa_ForestTrustData forest_trust_data
;/* [switch_is(level)] */
598 struct lsa_ForestTrustInformation
{
599 uint32_t count
;/* [range(0,4000)] */
600 struct lsa_ForestTrustRecord
**entries
;/* [unique,size_is(count)] */
606 struct policy_handle
*handle
;/* [ref] */
610 struct policy_handle
*handle
;/* [ref] */
619 struct policy_handle
*handle
;/* [ref] */
629 struct lsa_EnumPrivs
{
631 struct policy_handle
*handle
;/* [ref] */
633 uint32_t *resume_handle
;/* [ref] */
637 struct lsa_PrivArray
*privs
;/* [ref] */
638 uint32_t *resume_handle
;/* [ref] */
645 struct lsa_QuerySecurity
{
647 struct policy_handle
*handle
;/* [ref] */
652 struct sec_desc_buf
**sdbuf
;/* [ref] */
659 struct lsa_SetSecObj
{
661 struct policy_handle
*handle
;/* [ref] */
663 struct sec_desc_buf
*sdbuf
;/* [ref] */
673 struct lsa_ChangePassword
{
681 struct lsa_OpenPolicy
{
683 uint16_t *system_name
;/* [unique] */
684 struct lsa_ObjectAttribute
*attr
;/* [ref] */
685 uint32_t access_mask
;
689 struct policy_handle
*handle
;/* [ref] */
696 struct lsa_QueryInfoPolicy
{
698 struct policy_handle
*handle
;/* [ref] */
699 enum lsa_PolicyInfo level
;
703 union lsa_PolicyInformation
**info
;/* [ref,switch_is(level)] */
710 struct lsa_SetInfoPolicy
{
712 struct policy_handle
*handle
;/* [ref] */
713 enum lsa_PolicyInfo level
;
714 union lsa_PolicyInformation
*info
;/* [ref,switch_is(level)] */
724 struct lsa_ClearAuditLog
{
732 struct lsa_CreateAccount
{
734 struct policy_handle
*handle
;/* [ref] */
735 struct dom_sid2
*sid
;/* [ref] */
736 uint32_t access_mask
;
740 struct policy_handle
*acct_handle
;/* [ref] */
747 struct lsa_EnumAccounts
{
749 struct policy_handle
*handle
;/* [ref] */
750 uint32_t num_entries
;/* [range(0,8192)] */
751 uint32_t *resume_handle
;/* [ref] */
755 struct lsa_SidArray
*sids
;/* [ref] */
756 uint32_t *resume_handle
;/* [ref] */
763 struct lsa_CreateTrustedDomain
{
765 struct policy_handle
*handle
;/* [ref] */
766 struct lsa_DomainInfo
*info
;/* [ref] */
767 uint32_t access_mask
;
771 struct policy_handle
*trustdom_handle
;/* [ref] */
778 struct lsa_EnumTrustDom
{
780 struct policy_handle
*handle
;/* [ref] */
782 uint32_t *resume_handle
;/* [ref] */
786 struct lsa_DomainList
*domains
;/* [ref] */
787 uint32_t *resume_handle
;/* [ref] */
794 struct lsa_LookupNames
{
796 struct policy_handle
*handle
;/* [ref] */
797 uint32_t num_names
;/* [range(0,1000)] */
798 struct lsa_String
*names
;/* [size_is(num_names)] */
799 enum lsa_LookupNamesLevel level
;
800 struct lsa_TransSidArray
*sids
;/* [ref] */
801 uint32_t *count
;/* [ref] */
805 struct lsa_RefDomainList
**domains
;/* [ref] */
806 struct lsa_TransSidArray
*sids
;/* [ref] */
807 uint32_t *count
;/* [ref] */
814 struct lsa_LookupSids
{
816 struct policy_handle
*handle
;/* [ref] */
817 struct lsa_SidArray
*sids
;/* [ref] */
819 struct lsa_TransNameArray
*names
;/* [ref] */
820 uint32_t *count
;/* [ref] */
824 struct lsa_RefDomainList
**domains
;/* [ref] */
825 struct lsa_TransNameArray
*names
;/* [ref] */
826 uint32_t *count
;/* [ref] */
833 struct lsa_CreateSecret
{
835 struct policy_handle
*handle
;/* [ref] */
836 struct lsa_String name
;
837 uint32_t access_mask
;
841 struct policy_handle
*sec_handle
;/* [ref] */
848 struct lsa_OpenAccount
{
850 struct policy_handle
*handle
;/* [ref] */
851 struct dom_sid2
*sid
;/* [ref] */
852 uint32_t access_mask
;
856 struct policy_handle
*acct_handle
;/* [ref] */
863 struct lsa_EnumPrivsAccount
{
865 struct policy_handle
*handle
;/* [ref] */
869 struct lsa_PrivilegeSet
**privs
;/* [ref] */
876 struct lsa_AddPrivilegesToAccount
{
878 struct policy_handle
*handle
;/* [ref] */
879 struct lsa_PrivilegeSet
*privs
;/* [ref] */
889 struct lsa_RemovePrivilegesFromAccount
{
891 struct policy_handle
*handle
;/* [ref] */
893 struct lsa_PrivilegeSet
*privs
;/* [unique] */
903 struct lsa_GetQuotasForAccount
{
911 struct lsa_SetQuotasForAccount
{
919 struct lsa_GetSystemAccessAccount
{
921 struct policy_handle
*handle
;/* [ref] */
925 uint32_t *access_mask
;/* [ref] */
932 struct lsa_SetSystemAccessAccount
{
934 struct policy_handle
*handle
;/* [ref] */
935 uint32_t access_mask
;
945 struct lsa_OpenTrustedDomain
{
947 struct policy_handle
*handle
;/* [ref] */
948 struct dom_sid2
*sid
;/* [ref] */
949 uint32_t access_mask
;
953 struct policy_handle
*trustdom_handle
;/* [ref] */
960 struct lsa_QueryTrustedDomainInfo
{
962 struct policy_handle
*trustdom_handle
;/* [ref] */
963 enum lsa_TrustDomInfoEnum level
;
967 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
974 struct lsa_SetInformationTrustedDomain
{
982 struct lsa_OpenSecret
{
984 struct policy_handle
*handle
;/* [ref] */
985 struct lsa_String name
;
986 uint32_t access_mask
;
990 struct policy_handle
*sec_handle
;/* [ref] */
997 struct lsa_SetSecret
{
999 struct policy_handle
*sec_handle
;/* [ref] */
1000 struct lsa_DATA_BUF
*new_val
;/* [unique] */
1001 struct lsa_DATA_BUF
*old_val
;/* [unique] */
1011 struct lsa_QuerySecret
{
1013 struct policy_handle
*sec_handle
;/* [ref] */
1014 struct lsa_DATA_BUF_PTR
*new_val
;/* [unique] */
1015 NTTIME
*new_mtime
;/* [unique] */
1016 struct lsa_DATA_BUF_PTR
*old_val
;/* [unique] */
1017 NTTIME
*old_mtime
;/* [unique] */
1021 struct lsa_DATA_BUF_PTR
*new_val
;/* [unique] */
1022 NTTIME
*new_mtime
;/* [unique] */
1023 struct lsa_DATA_BUF_PTR
*old_val
;/* [unique] */
1024 NTTIME
*old_mtime
;/* [unique] */
1031 struct lsa_LookupPrivValue
{
1033 struct policy_handle
*handle
;/* [ref] */
1034 struct lsa_String
*name
;/* [ref] */
1038 struct lsa_LUID
*luid
;/* [ref] */
1045 struct lsa_LookupPrivName
{
1047 struct policy_handle
*handle
;/* [ref] */
1048 struct lsa_LUID
*luid
;/* [ref] */
1052 struct lsa_StringLarge
**name
;/* [ref] */
1059 struct lsa_LookupPrivDisplayName
{
1061 struct policy_handle
*handle
;/* [ref] */
1062 struct lsa_String
*name
;/* [ref] */
1063 uint16_t language_id
;
1064 uint16_t language_id_sys
;
1068 struct lsa_StringLarge
**disp_name
;/* [ref] */
1069 uint16_t *returned_language_id
;/* [ref] */
1076 struct lsa_DeleteObject
{
1078 struct policy_handle
*handle
;/* [ref] */
1082 struct policy_handle
*handle
;/* [ref] */
1089 struct lsa_EnumAccountsWithUserRight
{
1091 struct policy_handle
*handle
;/* [ref] */
1092 struct lsa_String
*name
;/* [unique] */
1096 struct lsa_SidArray
*sids
;/* [ref] */
1103 struct lsa_EnumAccountRights
{
1105 struct policy_handle
*handle
;/* [ref] */
1106 struct dom_sid2
*sid
;/* [ref] */
1110 struct lsa_RightSet
*rights
;/* [ref] */
1117 struct lsa_AddAccountRights
{
1119 struct policy_handle
*handle
;/* [ref] */
1120 struct dom_sid2
*sid
;/* [ref] */
1121 struct lsa_RightSet
*rights
;/* [ref] */
1131 struct lsa_RemoveAccountRights
{
1133 struct policy_handle
*handle
;/* [ref] */
1134 struct dom_sid2
*sid
;/* [ref] */
1136 struct lsa_RightSet
*rights
;/* [ref] */
1146 struct lsa_QueryTrustedDomainInfoBySid
{
1148 struct policy_handle
*handle
;/* [ref] */
1149 struct dom_sid2
*dom_sid
;/* [ref] */
1150 enum lsa_TrustDomInfoEnum level
;
1154 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
1161 struct lsa_SetTrustedDomainInfo
{
1169 struct lsa_DeleteTrustedDomain
{
1171 struct policy_handle
*handle
;/* [ref] */
1172 struct dom_sid2
*dom_sid
;/* [ref] */
1182 struct lsa_StorePrivateData
{
1190 struct lsa_RetrievePrivateData
{
1198 struct lsa_OpenPolicy2
{
1200 const char *system_name
;/* [unique,charset(UTF16)] */
1201 struct lsa_ObjectAttribute
*attr
;/* [ref] */
1202 uint32_t access_mask
;
1206 struct policy_handle
*handle
;/* [ref] */
1213 struct lsa_GetUserName
{
1215 const char *system_name
;/* [unique,charset(UTF16)] */
1216 struct lsa_String
**account_name
;/* [ref] */
1217 struct lsa_String
**authority_name
;/* [unique] */
1221 struct lsa_String
**account_name
;/* [ref] */
1222 struct lsa_String
**authority_name
;/* [unique] */
1229 struct lsa_QueryInfoPolicy2
{
1231 struct policy_handle
*handle
;/* [ref] */
1232 enum lsa_PolicyInfo level
;
1236 union lsa_PolicyInformation
**info
;/* [ref,switch_is(level)] */
1243 struct lsa_SetInfoPolicy2
{
1245 struct policy_handle
*handle
;/* [ref] */
1246 enum lsa_PolicyInfo level
;
1247 union lsa_PolicyInformation
*info
;/* [ref,switch_is(level)] */
1257 struct lsa_QueryTrustedDomainInfoByName
{
1259 struct policy_handle
*handle
;/* [ref] */
1260 struct lsa_String
*trusted_domain
;/* [ref] */
1261 enum lsa_TrustDomInfoEnum level
;
1265 union lsa_TrustedDomainInfo
**info
;/* [ref,switch_is(level)] */
1272 struct lsa_SetTrustedDomainInfoByName
{
1274 struct policy_handle
*handle
;/* [ref] */
1275 struct lsa_String trusted_domain
;
1276 enum lsa_TrustDomInfoEnum level
;
1277 union lsa_TrustedDomainInfo
*info
;/* [unique,switch_is(level)] */
1287 struct lsa_EnumTrustedDomainsEx
{
1289 struct policy_handle
*handle
;/* [ref] */
1291 uint32_t *resume_handle
;/* [ref] */
1295 struct lsa_DomainListEx
*domains
;/* [ref] */
1296 uint32_t *resume_handle
;/* [ref] */
1303 struct lsa_CreateTrustedDomainEx
{
1311 struct lsa_CloseTrustedDomainEx
{
1313 struct policy_handle
*handle
;/* [ref] */
1317 struct policy_handle
*handle
;/* [ref] */
1324 struct lsa_QueryDomainInformationPolicy
{
1326 struct policy_handle
*handle
;/* [ref] */
1331 union lsa_DomainInformationPolicy
**info
;/* [ref,switch_is(level)] */
1338 struct lsa_SetDomainInformationPolicy
{
1340 struct policy_handle
*handle
;/* [ref] */
1342 union lsa_DomainInformationPolicy
*info
;/* [unique,switch_is(level)] */
1352 struct lsa_OpenTrustedDomainByName
{
1354 struct policy_handle
*handle
;/* [ref] */
1355 struct lsa_String name
;
1356 uint32_t access_mask
;
1360 struct policy_handle
*trustdom_handle
;/* [ref] */
1367 struct lsa_TestCall
{
1375 struct lsa_LookupSids2
{
1377 struct policy_handle
*handle
;/* [ref] */
1378 struct lsa_SidArray
*sids
;/* [ref] */
1382 struct lsa_TransNameArray2
*names
;/* [ref] */
1383 uint32_t *count
;/* [ref] */
1387 struct lsa_RefDomainList
**domains
;/* [ref] */
1388 struct lsa_TransNameArray2
*names
;/* [ref] */
1389 uint32_t *count
;/* [ref] */
1396 struct lsa_LookupNames2
{
1398 struct policy_handle
*handle
;/* [ref] */
1399 uint32_t num_names
;/* [range(0,1000)] */
1400 struct lsa_String
*names
;/* [size_is(num_names)] */
1401 enum lsa_LookupNamesLevel level
;
1404 struct lsa_TransSidArray2
*sids
;/* [ref] */
1405 uint32_t *count
;/* [ref] */
1409 struct lsa_RefDomainList
**domains
;/* [ref] */
1410 struct lsa_TransSidArray2
*sids
;/* [ref] */
1411 uint32_t *count
;/* [ref] */
1418 struct lsa_CreateTrustedDomainEx2
{
1426 struct lsa_CREDRWRITE
{
1434 struct lsa_CREDRREAD
{
1442 struct lsa_CREDRENUMERATE
{
1450 struct lsa_CREDRWRITEDOMAINCREDENTIALS
{
1458 struct lsa_CREDRREADDOMAINCREDENTIALS
{
1466 struct lsa_CREDRDELETE
{
1474 struct lsa_CREDRGETTARGETINFO
{
1482 struct lsa_CREDRPROFILELOADED
{
1490 struct lsa_LookupNames3
{
1492 struct policy_handle
*handle
;/* [ref] */
1493 uint32_t num_names
;/* [range(0,1000)] */
1494 struct lsa_String
*names
;/* [size_is(num_names)] */
1495 enum lsa_LookupNamesLevel level
;
1498 struct lsa_TransSidArray3
*sids
;/* [ref] */
1499 uint32_t *count
;/* [ref] */
1503 struct lsa_RefDomainList
**domains
;/* [ref] */
1504 struct lsa_TransSidArray3
*sids
;/* [ref] */
1505 uint32_t *count
;/* [ref] */
1512 struct lsa_CREDRGETSESSIONTYPES
{
1520 struct lsa_LSARREGISTERAUDITEVENT
{
1528 struct lsa_LSARGENAUDITEVENT
{
1536 struct lsa_LSARUNREGISTERAUDITEVENT
{
1544 struct lsa_lsaRQueryForestTrustInformation
{
1546 struct policy_handle
*handle
;/* [ref] */
1547 struct lsa_String
*trusted_domain_name
;/* [ref] */
1552 struct lsa_ForestTrustInformation
**forest_trust_info
;/* [ref] */
1559 struct lsa_LSARSETFORESTTRUSTINFORMATION
{
1567 struct lsa_CREDRRENAME
{
1575 struct lsa_LookupSids3
{
1577 struct lsa_SidArray
*sids
;/* [ref] */
1581 struct lsa_TransNameArray2
*names
;/* [ref] */
1582 uint32_t *count
;/* [ref] */
1586 struct lsa_RefDomainList
**domains
;/* [ref] */
1587 struct lsa_TransNameArray2
*names
;/* [ref] */
1588 uint32_t *count
;/* [ref] */
1595 struct lsa_LookupNames4
{
1597 uint32_t num_names
;/* [range(0,1000)] */
1598 struct lsa_String
*names
;/* [size_is(num_names)] */
1599 enum lsa_LookupNamesLevel level
;
1602 struct lsa_TransSidArray3
*sids
;/* [ref] */
1603 uint32_t *count
;/* [ref] */
1607 struct lsa_RefDomainList
**domains
;/* [ref] */
1608 struct lsa_TransSidArray3
*sids
;/* [ref] */
1609 uint32_t *count
;/* [ref] */
1616 struct lsa_LSAROPENPOLICYSCE
{
1624 struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE
{
1632 struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE
{
1640 struct lsa_LSARADTREPORTSECURITYEVENT
{
1647 #endif /* _HEADER_lsarpc */