root/librpc/gen_ndr/lsa.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   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 */

/* [<][>][^][v][top][bottom][index][help] */