2006-09-08 18:28:06 +04:00
/* header auto-generated by pidl */
2007-02-16 17:50:57 +03:00
# include <stdint.h>
2006-11-07 02:20:35 +03:00
# include "librpc/gen_ndr/security.h"
2006-09-08 18:28:06 +04:00
# ifndef _HEADER_lsarpc
# define _HEADER_lsarpc
# define LSA_ENUM_TRUST_DOMAIN_MULTIPLIER ( 60 )
# define LSA_REF_DOMAIN_LIST_MULTIPLIER ( 32 )
# define LSA_ENUM_TRUST_DOMAIN_EX_MULTIPLIER ( 82 )
struct lsa_String {
2006-09-20 02:22:57 +04:00
uint16_t length ; /* [value(2*strlen_m(string))] */
uint16_t size ; /* [value(2*strlen_m(string))] */
const char * string ; /* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
2006-09-08 18:28:06 +04:00
} /* [public,noejs] */ ;
struct lsa_StringLarge {
2006-09-20 02:22:57 +04:00
uint16_t length ; /* [value(2*strlen_m(string))] */
uint16_t size ; /* [value(2*(strlen_m(string)+1))] */
const char * string ; /* [unique,charset(UTF16),length_is(length/2),size_is(size/2)] */
2006-09-08 18:28:06 +04:00
} /* [public] */ ;
struct lsa_Strings {
2006-09-20 02:22:57 +04:00
uint32_t count ;
struct lsa_String * names ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} /* [public] */ ;
struct lsa_AsciiString {
2006-09-20 02:22:57 +04:00
uint16_t length ; /* [value(strlen_m(string))] */
uint16_t size ; /* [value(strlen_m(string))] */
const char * string ; /* [unique,flag(LIBNDR_FLAG_STR_NOTERM|LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_SIZE4|LIBNDR_FLAG_STR_LEN4)] */
2006-09-08 18:28:06 +04:00
} /* [public] */ ;
struct lsa_LUID {
2006-09-20 02:22:57 +04:00
uint32_t low ;
uint32_t high ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_PrivEntry {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge name ;
struct lsa_LUID luid ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_PrivArray {
2006-09-20 02:22:57 +04:00
uint32_t count ;
struct lsa_PrivEntry * privs ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_QosInfo {
2006-09-20 02:22:57 +04:00
uint32_t len ;
uint16_t impersonation_level ;
uint8_t context_mode ;
uint8_t effective_only ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_ObjectAttribute {
2006-09-20 02:22:57 +04:00
uint32_t len ;
uint8_t * root_dir ; /* [unique] */
const char * object_name ; /* [unique,charset(UTF16)] */
uint32_t attributes ;
struct security_descriptor * sec_desc ; /* [unique] */
struct lsa_QosInfo * sec_qos ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_AuditLogInfo {
2006-09-20 02:22:57 +04:00
uint32_t percent_full ;
uint32_t log_size ;
NTTIME retention_time ;
uint8_t shutdown_in_progress ;
NTTIME time_to_shutdown ;
uint32_t next_audit_record ;
uint32_t unknown ;
2006-09-08 18:28:06 +04:00
} ;
2008-01-16 18:31:49 +03:00
enum lsa_PolicyAuditPolicy
# ifndef USE_UINT_ENUMS
{
LSA_AUDIT_POLICY_NONE = 0 ,
LSA_AUDIT_POLICY_SUCCESS = 1 ,
LSA_AUDIT_POLICY_FAILURE = 2 ,
LSA_AUDIT_POLICY_ALL = ( LSA_AUDIT_POLICY_SUCCESS | LSA_AUDIT_POLICY_FAILURE ) ,
LSA_AUDIT_POLICY_CLEAR = 4
}
# else
{ __donnot_use_enum_lsa_PolicyAuditPolicy = 0x7FFFFFFF }
# define LSA_AUDIT_POLICY_NONE ( 0 )
# define LSA_AUDIT_POLICY_SUCCESS ( 1 )
# define LSA_AUDIT_POLICY_FAILURE ( 2 )
# define LSA_AUDIT_POLICY_ALL ( (LSA_AUDIT_POLICY_SUCCESS|LSA_AUDIT_POLICY_FAILURE) )
# define LSA_AUDIT_POLICY_CLEAR ( 4 )
# endif
;
enum lsa_PolicyAuditEventType
# ifndef USE_UINT_ENUMS
{
LSA_AUDIT_CATEGORY_SYSTEM = 0 ,
LSA_AUDIT_CATEGORY_LOGON = 1 ,
LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS = 2 ,
LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS = 3 ,
LSA_AUDIT_CATEGORY_PROCCESS_TRACKING = 4 ,
LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES = 5 ,
LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT = 6 ,
LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS = 7 ,
LSA_AUDIT_CATEGORY_ACCOUNT_LOGON = 8
}
# else
{ __donnot_use_enum_lsa_PolicyAuditEventType = 0x7FFFFFFF }
# define LSA_AUDIT_CATEGORY_SYSTEM ( 0 )
# define LSA_AUDIT_CATEGORY_LOGON ( 1 )
# define LSA_AUDIT_CATEGORY_FILE_AND_OBJECT_ACCESS ( 2 )
# define LSA_AUDIT_CATEGORY_USE_OF_USER_RIGHTS ( 3 )
# define LSA_AUDIT_CATEGORY_PROCCESS_TRACKING ( 4 )
# define LSA_AUDIT_CATEGORY_SECURITY_POLICY_CHANGES ( 5 )
# define LSA_AUDIT_CATEGORY_ACCOUNT_MANAGEMENT ( 6 )
# define LSA_AUDIT_CATEGORY_DIRECTORY_SERVICE_ACCESS ( 7 )
# define LSA_AUDIT_CATEGORY_ACCOUNT_LOGON ( 8 )
# endif
;
2006-09-08 18:28:06 +04:00
struct lsa_AuditEventsInfo {
2006-09-20 02:22:57 +04:00
uint32_t auditing_mode ;
2008-01-16 18:31:49 +03:00
enum lsa_PolicyAuditPolicy * settings ; /* [unique,size_is(count)] */
2006-09-20 02:22:57 +04:00
uint32_t count ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DomainInfo {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge name ;
struct dom_sid2 * sid ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_PDAccountInfo {
2006-09-20 02:22:57 +04:00
struct lsa_String name ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_ServerRole {
2006-09-20 02:22:57 +04:00
uint16_t unknown ;
uint16_t role ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_ReplicaSourceInfo {
2006-09-20 02:22:57 +04:00
struct lsa_String source ;
struct lsa_String account ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DefaultQuotaInfo {
2006-09-20 02:22:57 +04:00
uint32_t paged_pool ;
uint32_t non_paged_pool ;
uint32_t min_wss ;
uint32_t max_wss ;
uint32_t pagefile ;
uint64_t unknown ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_ModificationInfo {
2006-09-20 02:22:57 +04:00
uint64_t modified_id ;
NTTIME db_create_time ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_AuditFullSetInfo {
2006-09-20 02:22:57 +04:00
uint8_t shutdown_on_full ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_AuditFullQueryInfo {
2006-09-20 02:22:57 +04:00
uint16_t unknown ;
uint8_t shutdown_on_full ;
uint8_t log_is_full ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DnsDomainInfo {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge name ;
struct lsa_StringLarge dns_domain ;
struct lsa_StringLarge dns_forest ;
struct GUID domain_guid ;
struct dom_sid2 * sid ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
2008-01-14 19:39:33 +03:00
enum lsa_PolicyInfo
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2008-01-13 03:22:23 +03:00
{
2006-09-08 18:28:06 +04:00
LSA_POLICY_INFO_AUDIT_LOG = 1 ,
LSA_POLICY_INFO_AUDIT_EVENTS = 2 ,
LSA_POLICY_INFO_DOMAIN = 3 ,
LSA_POLICY_INFO_PD = 4 ,
LSA_POLICY_INFO_ACCOUNT_DOMAIN = 5 ,
LSA_POLICY_INFO_ROLE = 6 ,
LSA_POLICY_INFO_REPLICA = 7 ,
LSA_POLICY_INFO_QUOTA = 8 ,
LSA_POLICY_INFO_DB = 9 ,
LSA_POLICY_INFO_AUDIT_FULL_SET = 10 ,
LSA_POLICY_INFO_AUDIT_FULL_QUERY = 11 ,
LSA_POLICY_INFO_DNS = 12
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2008-01-14 19:39:33 +03:00
{ __donnot_use_enum_lsa_PolicyInfo = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define LSA_POLICY_INFO_AUDIT_LOG ( 1 )
# define LSA_POLICY_INFO_AUDIT_EVENTS ( 2 )
# define LSA_POLICY_INFO_DOMAIN ( 3 )
# define LSA_POLICY_INFO_PD ( 4 )
# define LSA_POLICY_INFO_ACCOUNT_DOMAIN ( 5 )
# define LSA_POLICY_INFO_ROLE ( 6 )
# define LSA_POLICY_INFO_REPLICA ( 7 )
# define LSA_POLICY_INFO_QUOTA ( 8 )
# define LSA_POLICY_INFO_DB ( 9 )
# define LSA_POLICY_INFO_AUDIT_FULL_SET ( 10 )
# define LSA_POLICY_INFO_AUDIT_FULL_QUERY ( 11 )
# define LSA_POLICY_INFO_DNS ( 12 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-08 18:28:06 +04:00
union lsa_PolicyInformation {
2006-09-20 02:22:57 +04:00
struct lsa_AuditLogInfo audit_log ; /* [case(LSA_POLICY_INFO_AUDIT_LOG)] */
struct lsa_AuditEventsInfo audit_events ; /* [case(LSA_POLICY_INFO_AUDIT_EVENTS)] */
struct lsa_DomainInfo domain ; /* [case(LSA_POLICY_INFO_DOMAIN)] */
struct lsa_PDAccountInfo pd ; /* [case(LSA_POLICY_INFO_PD)] */
struct lsa_DomainInfo account_domain ; /* [case(LSA_POLICY_INFO_ACCOUNT_DOMAIN)] */
struct lsa_ServerRole role ; /* [case(LSA_POLICY_INFO_ROLE)] */
struct lsa_ReplicaSourceInfo replica ; /* [case(LSA_POLICY_INFO_REPLICA)] */
struct lsa_DefaultQuotaInfo quota ; /* [case(LSA_POLICY_INFO_QUOTA)] */
struct lsa_ModificationInfo db ; /* [case(LSA_POLICY_INFO_DB)] */
struct lsa_AuditFullSetInfo auditfullset ; /* [case(LSA_POLICY_INFO_AUDIT_FULL_SET)] */
struct lsa_AuditFullQueryInfo auditfullquery ; /* [case(LSA_POLICY_INFO_AUDIT_FULL_QUERY)] */
struct lsa_DnsDomainInfo dns ; /* [case(LSA_POLICY_INFO_DNS)] */
2006-09-08 18:28:06 +04:00
} /* [switch_type(uint16)] */ ;
struct lsa_SidPtr {
2006-09-20 02:22:57 +04:00
struct dom_sid2 * sid ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_SidArray {
2008-02-02 01:28:37 +03:00
uint32_t num_sids ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_SidPtr * sids ; /* [unique,size_is(num_sids)] */
2006-09-08 18:28:06 +04:00
} /* [public] */ ;
struct lsa_DomainList {
2006-09-20 02:22:57 +04:00
uint32_t count ;
struct lsa_DomainInfo * domains ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
2008-01-13 03:22:23 +03:00
enum lsa_SidType
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2008-01-13 03:22:23 +03:00
{
2006-09-08 18:28:06 +04:00
SID_NAME_USE_NONE = 0 ,
SID_NAME_USER = 1 ,
SID_NAME_DOM_GRP = 2 ,
SID_NAME_DOMAIN = 3 ,
SID_NAME_ALIAS = 4 ,
SID_NAME_WKN_GRP = 5 ,
SID_NAME_DELETED = 6 ,
SID_NAME_INVALID = 7 ,
SID_NAME_UNKNOWN = 8 ,
SID_NAME_COMPUTER = 9
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2008-01-13 03:22:23 +03:00
{ __donnot_use_enum_lsa_SidType = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define SID_NAME_USE_NONE ( 0 )
# define SID_NAME_USER ( 1 )
# define SID_NAME_DOM_GRP ( 2 )
# define SID_NAME_DOMAIN ( 3 )
# define SID_NAME_ALIAS ( 4 )
# define SID_NAME_WKN_GRP ( 5 )
# define SID_NAME_DELETED ( 6 )
# define SID_NAME_INVALID ( 7 )
# define SID_NAME_UNKNOWN ( 8 )
# define SID_NAME_COMPUTER ( 9 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-08 18:28:06 +04:00
struct lsa_TranslatedSid {
2006-09-20 02:22:57 +04:00
enum lsa_SidType sid_type ;
uint32_t rid ;
uint32_t sid_index ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TransSidArray {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_TranslatedSid * sids ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_RefDomainList {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_DomainInfo * domains ; /* [unique,size_is(count)] */
uint32_t max_size ;
2006-09-08 18:28:06 +04:00
} ;
2008-01-16 18:31:49 +03:00
enum lsa_LookupNamesLevel
# ifndef USE_UINT_ENUMS
{
LSA_LOOKUP_NAMES_ALL = 1 ,
LSA_LOOKUP_NAMES_DOMAINS_ONLY = 2 ,
LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY = 3 ,
LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY = 4 ,
LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY = 5 ,
LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 = 6
}
# else
{ __donnot_use_enum_lsa_LookupNamesLevel = 0x7FFFFFFF }
# define LSA_LOOKUP_NAMES_ALL ( 1 )
# define LSA_LOOKUP_NAMES_DOMAINS_ONLY ( 2 )
# define LSA_LOOKUP_NAMES_PRIMARY_DOMAIN_ONLY ( 3 )
# define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY ( 4 )
# define LSA_LOOKUP_NAMES_FOREST_TRUSTS_ONLY ( 5 )
# define LSA_LOOKUP_NAMES_UPLEVEL_TRUSTS_ONLY2 ( 6 )
# endif
;
2006-09-08 18:28:06 +04:00
struct lsa_TranslatedName {
2006-09-20 02:22:57 +04:00
enum lsa_SidType sid_type ;
struct lsa_String name ;
uint32_t sid_index ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TransNameArray {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_TranslatedName * names ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_LUIDAttribute {
2006-09-20 02:22:57 +04:00
struct lsa_LUID luid ;
uint32_t attribute ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_PrivilegeSet {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
uint32_t unknown ;
struct lsa_LUIDAttribute * set ; /* [size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DATA_BUF {
2006-09-20 02:22:57 +04:00
uint32_t length ;
uint32_t size ;
uint8_t * data ; /* [unique,length_is(length),size_is(size)] */
2006-09-08 18:28:06 +04:00
} /* [flag(LIBNDR_PRINT_ARRAY_HEX)] */ ;
struct lsa_DATA_BUF2 {
2008-02-02 01:28:37 +03:00
uint32_t size ; /* [range(0,65536)] */
2006-09-20 02:22:57 +04:00
uint8_t * data ; /* [unique,size_is(size)] */
2006-09-08 18:28:06 +04:00
} /* [flag(LIBNDR_PRINT_ARRAY_HEX)] */ ;
2008-01-13 03:22:23 +03:00
enum lsa_TrustDomInfoEnum
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2008-01-13 03:22:23 +03:00
{
2006-09-08 18:28:06 +04:00
LSA_TRUSTED_DOMAIN_INFO_NAME = 1 ,
LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO = 2 ,
LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET = 3 ,
LSA_TRUSTED_DOMAIN_INFO_PASSWORD = 4 ,
LSA_TRUSTED_DOMAIN_INFO_BASIC = 5 ,
LSA_TRUSTED_DOMAIN_INFO_INFO_EX = 6 ,
LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO = 7 ,
LSA_TRUSTED_DOMAIN_INFO_FULL_INFO = 8 ,
LSA_TRUSTED_DOMAIN_INFO_11 = 11 ,
LSA_TRUSTED_DOMAIN_INFO_INFO_ALL = 12
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2008-01-13 03:22:23 +03:00
{ __donnot_use_enum_lsa_TrustDomInfoEnum = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define LSA_TRUSTED_DOMAIN_INFO_NAME ( 1 )
# define LSA_TRUSTED_DOMAIN_INFO_CONTROLLERS_INFO ( 2 )
# define LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET ( 3 )
# define LSA_TRUSTED_DOMAIN_INFO_PASSWORD ( 4 )
# define LSA_TRUSTED_DOMAIN_INFO_BASIC ( 5 )
# define LSA_TRUSTED_DOMAIN_INFO_INFO_EX ( 6 )
# define LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO ( 7 )
# define LSA_TRUSTED_DOMAIN_INFO_FULL_INFO ( 8 )
# define LSA_TRUSTED_DOMAIN_INFO_11 ( 11 )
# define LSA_TRUSTED_DOMAIN_INFO_INFO_ALL ( 12 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-08 18:28:06 +04:00
struct lsa_TrustDomainInfoName {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge netbios_name ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoPosixOffset {
2006-09-20 02:22:57 +04:00
uint32_t posix_offset ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoPassword {
2006-09-20 02:22:57 +04:00
struct lsa_DATA_BUF * password ; /* [unique] */
struct lsa_DATA_BUF * old_password ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoBasic {
2006-09-20 02:22:57 +04:00
struct lsa_String netbios_name ;
struct dom_sid2 * sid ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoInfoEx {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge domain_name ;
struct lsa_StringLarge netbios_name ;
struct dom_sid2 * sid ; /* [unique] */
uint32_t trust_direction ;
uint32_t trust_type ;
uint32_t trust_attributes ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoBuffer {
2006-09-20 02:22:57 +04:00
NTTIME last_update_time ;
uint32_t secret_type ;
struct lsa_DATA_BUF2 data ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoAuthInfo {
2006-09-20 02:22:57 +04:00
uint32_t incoming_count ;
struct lsa_TrustDomainInfoBuffer * incoming_current_auth_info ; /* [unique] */
struct lsa_TrustDomainInfoBuffer * incoming_previous_auth_info ; /* [unique] */
uint32_t outgoing_count ;
struct lsa_TrustDomainInfoBuffer * outgoing_current_auth_info ; /* [unique] */
struct lsa_TrustDomainInfoBuffer * outgoing_previous_auth_info ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoFullInfo {
2006-09-20 02:22:57 +04:00
struct lsa_TrustDomainInfoInfoEx info_ex ;
struct lsa_TrustDomainInfoPosixOffset posix_offset ;
struct lsa_TrustDomainInfoAuthInfo auth_info ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfo11 {
2006-09-20 02:22:57 +04:00
struct lsa_TrustDomainInfoInfoEx info_ex ;
struct lsa_DATA_BUF2 data1 ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TrustDomainInfoInfoAll {
2006-09-20 02:22:57 +04:00
struct lsa_TrustDomainInfoInfoEx info_ex ;
struct lsa_DATA_BUF2 data1 ;
struct lsa_TrustDomainInfoPosixOffset posix_offset ;
struct lsa_TrustDomainInfoAuthInfo auth_info ;
2006-09-08 18:28:06 +04:00
} ;
union lsa_TrustedDomainInfo {
2006-09-20 02:22:57 +04:00
struct lsa_TrustDomainInfoName name ; /* [case(LSA_TRUSTED_DOMAIN_INFO_NAME)] */
struct lsa_TrustDomainInfoPosixOffset posix_offset ; /* [case(LSA_TRUSTED_DOMAIN_INFO_POSIX_OFFSET)] */
struct lsa_TrustDomainInfoPassword password ; /* [case(LSA_TRUSTED_DOMAIN_INFO_PASSWORD)] */
struct lsa_TrustDomainInfoBasic info_basic ; /* [case(LSA_TRUSTED_DOMAIN_INFO_BASIC)] */
struct lsa_TrustDomainInfoInfoEx info_ex ; /* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_EX)] */
struct lsa_TrustDomainInfoAuthInfo auth_info ; /* [case(LSA_TRUSTED_DOMAIN_INFO_AUTH_INFO)] */
struct lsa_TrustDomainInfoFullInfo full_info ; /* [case(LSA_TRUSTED_DOMAIN_INFO_FULL_INFO)] */
struct lsa_TrustDomainInfo11 info11 ; /* [case(LSA_TRUSTED_DOMAIN_INFO_11)] */
struct lsa_TrustDomainInfoInfoAll info_all ; /* [case(LSA_TRUSTED_DOMAIN_INFO_INFO_ALL)] */
2006-09-08 18:28:06 +04:00
} /* [switch_type(lsa_TrustDomInfoEnum)] */ ;
struct lsa_DATA_BUF_PTR {
2006-09-20 02:22:57 +04:00
struct lsa_DATA_BUF * buf ; /* [unique] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_RightAttribute {
2006-09-20 02:22:57 +04:00
const char * name ; /* [unique,charset(UTF16)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_RightSet {
2008-02-14 17:21:54 +03:00
uint32_t count ; /* [range(0,256)] */
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge * names ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DomainListEx {
2006-09-20 02:22:57 +04:00
uint32_t count ;
struct lsa_TrustDomainInfoInfoEx * domains ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DomainInfoKerberos {
2006-09-20 02:22:57 +04:00
uint32_t enforce_restrictions ;
uint64_t service_tkt_lifetime ;
uint64_t user_tkt_lifetime ;
uint64_t user_tkt_renewaltime ;
uint64_t clock_skew ;
uint64_t unknown6 ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_DomainInfoEfs {
2006-09-20 02:22:57 +04:00
uint32_t blob_size ;
uint8_t * efs_blob ; /* [unique,size_is(blob_size)] */
2006-09-08 18:28:06 +04:00
} ;
2008-01-13 03:22:23 +03:00
enum lsa_DomainInfoEnum
2007-02-07 02:02:27 +03:00
# ifndef USE_UINT_ENUMS
2008-01-13 03:22:23 +03:00
{
2006-09-08 18:28:06 +04:00
LSA_DOMAIN_INFO_POLICY_EFS = 2 ,
LSA_DOMAIN_INFO_POLICY_KERBEROS = 3
2007-02-27 20:17:16 +03:00
}
2007-02-07 02:02:27 +03:00
# else
2008-01-13 03:22:23 +03:00
{ __donnot_use_enum_lsa_DomainInfoEnum = 0x7FFFFFFF }
2007-02-07 02:02:27 +03:00
# define LSA_DOMAIN_INFO_POLICY_EFS ( 2 )
# define LSA_DOMAIN_INFO_POLICY_KERBEROS ( 3 )
# endif
2007-02-27 20:17:16 +03:00
;
2006-09-08 18:28:06 +04:00
union lsa_DomainInformationPolicy {
2006-09-20 02:22:57 +04:00
struct lsa_DomainInfoEfs efs_info ; /* [case(LSA_DOMAIN_INFO_POLICY_EFS)] */
struct lsa_DomainInfoKerberos kerberos_info ; /* [case(LSA_DOMAIN_INFO_POLICY_KERBEROS)] */
2006-09-08 18:28:06 +04:00
} /* [switch_type(uint16)] */ ;
struct lsa_TranslatedName2 {
2006-09-20 02:22:57 +04:00
enum lsa_SidType sid_type ;
struct lsa_String name ;
uint32_t sid_index ;
uint32_t unknown ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TransNameArray2 {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_TranslatedName2 * names ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TranslatedSid2 {
2006-09-20 02:22:57 +04:00
enum lsa_SidType sid_type ;
uint32_t rid ;
uint32_t sid_index ;
uint32_t unknown ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TransSidArray2 {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_TranslatedSid2 * sids ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TranslatedSid3 {
2006-09-20 02:22:57 +04:00
enum lsa_SidType sid_type ;
struct dom_sid2 * sid ; /* [unique] */
uint32_t sid_index ;
uint32_t unknown ;
2006-09-08 18:28:06 +04:00
} ;
struct lsa_TransSidArray3 {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_TranslatedSid3 * sids ; /* [unique,size_is(count)] */
2006-09-08 18:28:06 +04:00
} ;
2008-01-16 18:31:49 +03:00
struct lsa_ForestTrustBinaryData {
2008-02-02 01:28:37 +03:00
uint32_t length ; /* [range(0,131072)] */
2008-01-16 18:31:49 +03:00
uint8_t * data ; /* [unique,size_is(length)] */
} ;
struct lsa_ForestTrustDomainInfo {
struct dom_sid2 * domain_sid ; /* [unique] */
struct lsa_StringLarge dns_domain_name ;
struct lsa_StringLarge netbios_domain_name ;
} ;
union lsa_ForestTrustData {
struct lsa_String top_level_name ; /* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME)] */
struct lsa_StringLarge top_level_name_ex ; /* [case(LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX)] */
struct lsa_ForestTrustDomainInfo domain_info ; /* [case(LSA_FOREST_TRUST_DOMAIN_INFO)] */
struct lsa_ForestTrustBinaryData data ; /* [default] */
} /* [switch_type(uint32)] */ ;
enum lsa_ForestTrustRecordType
# ifndef USE_UINT_ENUMS
{
LSA_FOREST_TRUST_TOP_LEVEL_NAME = 0 ,
LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX = 1 ,
LSA_FOREST_TRUST_DOMAIN_INFO = 2 ,
LSA_FOREST_TRUST_RECORD_TYPE_LAST = 3
}
# else
{ __donnot_use_enum_lsa_ForestTrustRecordType = 0x7FFFFFFF }
# define LSA_FOREST_TRUST_TOP_LEVEL_NAME ( 0 )
# define LSA_FOREST_TRUST_TOP_LEVEL_NAME_EX ( 1 )
# define LSA_FOREST_TRUST_DOMAIN_INFO ( 2 )
# define LSA_FOREST_TRUST_RECORD_TYPE_LAST ( 3 )
# endif
;
struct lsa_ForestTrustRecord {
uint32_t flags ;
enum lsa_ForestTrustRecordType level ;
uint64_t unknown ;
union lsa_ForestTrustData forest_trust_data ; /* [switch_is(level)] */
} ;
struct lsa_ForestTrustInformation {
2008-02-02 01:28:37 +03:00
uint32_t count ; /* [range(0,4000)] */
2008-01-16 18:31:49 +03:00
struct lsa_ForestTrustRecord * * entries ; /* [unique,size_is(count)] */
} /* [public] */ ;
2006-09-08 18:28:06 +04:00
struct lsa_Close {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_Delete {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumPrivs {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t max_count ;
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_PrivArray * privs ; /* [ref] */
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_QuerySecurity {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t sec_info ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-04 23:12:12 +03:00
struct sec_desc_buf * * sdbuf ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetSecObj {
2008-02-05 00:04:36 +03:00
struct {
struct policy_handle * handle ; /* [ref] */
uint32_t sec_info ;
struct sec_desc_buf * sdbuf ; /* [ref] */
} in ;
2006-09-08 18:28:06 +04:00
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_ChangePassword {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenPolicy {
struct {
2006-09-20 02:22:57 +04:00
uint16_t * system_name ; /* [unique] */
struct lsa_ObjectAttribute * attr ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryInfoPolicy {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-01-14 19:39:33 +03:00
enum lsa_PolicyInfo level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-08 11:46:57 +03:00
union lsa_PolicyInformation * * info ; /* [ref,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetInfoPolicy {
2008-01-14 19:13:17 +03:00
struct {
struct policy_handle * handle ; /* [ref] */
2008-01-14 19:39:33 +03:00
enum lsa_PolicyInfo level ;
2008-01-14 19:13:17 +03:00
union lsa_PolicyInformation * info ; /* [ref,switch_is(level)] */
} in ;
2006-09-08 18:28:06 +04:00
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_ClearAuditLog {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CreateAccount {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-09 03:33:47 +03:00
struct policy_handle * acct_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumAccounts {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-02-02 01:28:37 +03:00
uint32_t num_entries ; /* [range(0,8192)] */
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_SidArray * sids ; /* [ref] */
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_CreateTrustedDomain {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_DomainInfo * info ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * trustdom_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumTrustDom {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-01-16 18:31:49 +03:00
uint32_t max_size ;
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_DomainList * domains ; /* [ref] */
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupNames {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-02-02 01:28:37 +03:00
uint32_t num_names ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_String * names ; /* [size_is(num_names)] */
2008-01-16 18:31:49 +03:00
enum lsa_LookupNamesLevel level ;
2007-02-16 17:50:57 +03:00
struct lsa_TransSidArray * sids ; /* [ref] */
2006-09-20 02:22:57 +04:00
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransSidArray * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupSids {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_SidArray * sids ; /* [ref] */
uint16_t level ;
2007-02-16 17:50:57 +03:00
struct lsa_TransNameArray * names ; /* [ref] */
2006-09-20 02:22:57 +04:00
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransNameArray * names ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_CreateSecret {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String name ;
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * sec_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenAccount {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-09 03:33:47 +03:00
struct policy_handle * acct_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumPrivsAccount {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-14 03:55:22 +03:00
struct lsa_PrivilegeSet * * privs ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_AddPrivilegesToAccount {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_PrivilegeSet * privs ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_RemovePrivilegesFromAccount {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint8_t remove_all ;
struct lsa_PrivilegeSet * privs ; /* [unique] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_GetQuotasForAccount {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_SetQuotasForAccount {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_GetSystemAccessAccount {
struct {
2008-02-09 00:54:28 +03:00
struct policy_handle * handle ; /* [ref] */
} in ;
struct {
uint32_t * access_mask ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetSystemAccessAccount {
2008-02-09 00:51:34 +03:00
struct {
struct policy_handle * handle ; /* [ref] */
uint32_t access_mask ;
} in ;
2006-09-08 18:28:06 +04:00
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenTrustedDomain {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * trustdom_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryTrustedDomainInfo {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * trustdom_handle ; /* [ref] */
enum lsa_TrustDomInfoEnum level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
union lsa_TrustedDomainInfo * info ; /* [unique,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetInformationTrustedDomain {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenSecret {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String name ;
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * sec_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetSecret {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * sec_handle ; /* [ref] */
struct lsa_DATA_BUF * new_val ; /* [unique] */
struct lsa_DATA_BUF * old_val ; /* [unique] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_QuerySecret {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * sec_handle ; /* [ref] */
struct lsa_DATA_BUF_PTR * new_val ; /* [unique] */
NTTIME * new_mtime ; /* [unique] */
struct lsa_DATA_BUF_PTR * old_val ; /* [unique] */
NTTIME * old_mtime ; /* [unique] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_DATA_BUF_PTR * new_val ; /* [unique] */
NTTIME * new_mtime ; /* [unique] */
struct lsa_DATA_BUF_PTR * old_val ; /* [unique] */
NTTIME * old_mtime ; /* [unique] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupPrivValue {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String * name ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_LUID * luid ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupPrivName {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_LUID * luid ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_StringLarge * name ; /* [unique] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupPrivDisplayName {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String * name ; /* [ref] */
2008-02-11 19:56:22 +03:00
uint16_t language_id ;
uint16_t language_id_sys ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-11 19:56:22 +03:00
struct lsa_StringLarge * * disp_name ; /* [ref] */
uint16_t * returned_language_id ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_DeleteObject {
struct {
2008-02-09 03:33:47 +03:00
struct policy_handle * handle ; /* [ref] */
2008-02-05 00:04:36 +03:00
} in ;
struct {
2008-02-09 03:33:47 +03:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumAccountsWithUserRight {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String * name ; /* [unique] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_SidArray * sids ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumAccountRights {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RightSet * rights ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_AddAccountRights {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
struct lsa_RightSet * rights ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_RemoveAccountRights {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * sid ; /* [ref] */
2008-02-14 17:21:54 +03:00
uint8_t remove_all ;
2006-09-20 02:22:57 +04:00
struct lsa_RightSet * rights ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryTrustedDomainInfoBySid {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * dom_sid ; /* [ref] */
enum lsa_TrustDomInfoEnum level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
union lsa_TrustedDomainInfo * info ; /* [unique,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetTrustedDomainInfo {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_DeleteTrustedDomain {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct dom_sid2 * dom_sid ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_StorePrivateData {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_RetrievePrivateData {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenPolicy2 {
struct {
2006-09-20 02:22:57 +04:00
const char * system_name ; /* [unique,charset(UTF16)] */
struct lsa_ObjectAttribute * attr ; /* [ref] */
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_GetUserName {
struct {
2006-09-20 02:22:57 +04:00
const char * system_name ; /* [unique,charset(UTF16)] */
2008-02-11 22:49:24 +03:00
struct lsa_String * * account_name ; /* [ref] */
struct lsa_String * * authority_name ; /* [unique] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-11 22:49:24 +03:00
struct lsa_String * * account_name ; /* [ref] */
struct lsa_String * * authority_name ; /* [unique] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryInfoPolicy2 {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-01-14 19:39:33 +03:00
enum lsa_PolicyInfo level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-08 11:46:57 +03:00
union lsa_PolicyInformation * * info ; /* [ref,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetInfoPolicy2 {
2008-01-14 19:13:17 +03:00
struct {
struct policy_handle * handle ; /* [ref] */
2008-01-14 19:39:33 +03:00
enum lsa_PolicyInfo level ;
2008-01-14 19:13:17 +03:00
union lsa_PolicyInformation * info ; /* [ref,switch_is(level)] */
} in ;
2006-09-08 18:28:06 +04:00
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryTrustedDomainInfoByName {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-02-09 00:57:47 +03:00
struct lsa_String * trusted_domain ; /* [ref] */
2006-09-20 02:22:57 +04:00
enum lsa_TrustDomInfoEnum level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2008-02-09 00:57:47 +03:00
union lsa_TrustedDomainInfo * info ; /* [ref,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetTrustedDomainInfoByName {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String trusted_domain ;
enum lsa_TrustDomInfoEnum level ;
union lsa_TrustedDomainInfo * info ; /* [unique,switch_is(level)] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_EnumTrustedDomainsEx {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint32_t max_size ;
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_DomainListEx * domains ; /* [ref] */
2007-02-16 17:50:57 +03:00
uint32_t * resume_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_CreateTrustedDomainEx {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CloseTrustedDomainEx {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_QueryDomainInformationPolicy {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint16_t level ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
union lsa_DomainInformationPolicy * info ; /* [unique,switch_is(level)] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_SetDomainInformationPolicy {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
uint16_t level ;
union lsa_DomainInformationPolicy * info ; /* [unique,switch_is(level)] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_OpenTrustedDomainByName {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String name ;
uint32_t access_mask ;
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * trustdom_handle ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_TestCall {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupSids2 {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
struct lsa_SidArray * sids ; /* [ref] */
uint16_t level ;
uint32_t unknown1 ;
uint32_t unknown2 ;
2007-02-16 17:50:57 +03:00
struct lsa_TransNameArray2 * names ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransNameArray2 * names ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupNames2 {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-02-02 01:28:37 +03:00
uint32_t num_names ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_String * names ; /* [size_is(num_names)] */
2008-01-16 18:31:49 +03:00
enum lsa_LookupNamesLevel level ;
2006-09-20 02:22:57 +04:00
uint32_t unknown1 ;
uint32_t unknown2 ;
2007-02-16 17:50:57 +03:00
struct lsa_TransSidArray2 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransSidArray2 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_CreateTrustedDomainEx2 {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRWRITE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRREAD {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRENUMERATE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRWRITEDOMAINCREDENTIALS {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRREADDOMAINCREDENTIALS {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRDELETE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRGETTARGETINFO {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRPROFILELOADED {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupNames3 {
struct {
2006-09-20 02:22:57 +04:00
struct policy_handle * handle ; /* [ref] */
2008-02-02 01:28:37 +03:00
uint32_t num_names ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_String * names ; /* [size_is(num_names)] */
2008-01-16 18:31:49 +03:00
enum lsa_LookupNamesLevel level ;
2006-09-20 02:22:57 +04:00
uint32_t unknown1 ;
uint32_t unknown2 ;
2007-02-16 17:50:57 +03:00
struct lsa_TransSidArray3 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransSidArray3 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRGETSESSIONTYPES {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARREGISTERAUDITEVENT {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARGENAUDITEVENT {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARUNREGISTERAUDITEVENT {
struct {
NTSTATUS result ;
} out ;
} ;
2008-01-16 18:31:49 +03:00
struct lsa_lsaRQueryForestTrustInformation {
2006-09-08 18:28:06 +04:00
struct {
2008-01-16 18:31:49 +03:00
struct policy_handle * handle ; /* [ref] */
struct lsa_String * trusted_domain_name ; /* [ref] */
uint16_t unknown ;
} in ;
struct {
struct lsa_ForestTrustInformation * * forest_trust_info ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARSETFORESTTRUSTINFORMATION {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_CREDRRENAME {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupSids3 {
struct {
2006-09-20 02:22:57 +04:00
struct lsa_SidArray * sids ; /* [ref] */
uint16_t level ;
uint32_t unknown1 ;
uint32_t unknown2 ;
2007-02-16 17:50:57 +03:00
struct lsa_TransNameArray2 * names ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransNameArray2 * names ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LookupNames4 {
struct {
2008-02-02 01:28:37 +03:00
uint32_t num_names ; /* [range(0,1000)] */
2006-09-20 02:22:57 +04:00
struct lsa_String * names ; /* [size_is(num_names)] */
2008-01-16 18:31:49 +03:00
enum lsa_LookupNamesLevel level ;
2006-09-20 02:22:57 +04:00
uint32_t unknown1 ;
uint32_t unknown2 ;
2007-02-16 17:50:57 +03:00
struct lsa_TransSidArray3 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
} in ;
struct {
2006-09-20 02:22:57 +04:00
struct lsa_RefDomainList * domains ; /* [unique] */
struct lsa_TransSidArray3 * sids ; /* [ref] */
uint32_t * count ; /* [ref] */
2006-09-08 18:28:06 +04:00
NTSTATUS result ;
} out ;
} ;
struct lsa_LSAROPENPOLICYSCE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARADTREGISTERSECURITYEVENTSOURCE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARADTUNREGISTERSECURITYEVENTSOURCE {
struct {
NTSTATUS result ;
} out ;
} ;
struct lsa_LSARADTREPORTSECURITYEVENT {
struct {
NTSTATUS result ;
} out ;
} ;
# endif /* _HEADER_lsarpc */