root/librpc/gen_ndr/netlogon.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/lsa.h"
   9 #include "librpc/gen_ndr/samr.h"
  10 #include "librpc/gen_ndr/security.h"
  11 #include "librpc/gen_ndr/nbt.h"
  12 #define netr_DeltaEnum8Bit netr_DeltaEnum
  13 #define netr_SamDatabaseID8Bit netr_SamDatabaseID
  14 #ifndef _HEADER_netlogon
  15 #define _HEADER_netlogon
  16 
  17 #define NETLOGON_NEG_128BIT     ( NETLOGON_NEG_STRONG_KEYS )
  18 #define NETLOGON_NEG_SCHANNEL   ( NETLOGON_NEG_AUTHENTICATED_RPC )
  19 #define DSGETDC_VALID_FLAGS     ( (DS_FORCE_REDISCOVERY|DS_DIRECTORY_SERVICE_REQUIRED|DS_DIRECTORY_SERVICE_PREFERRED|DS_GC_SERVER_REQUIRED|DS_PDC_REQUIRED|DS_BACKGROUND_ONLY|DS_IP_REQUIRED|DS_KDC_REQUIRED|DS_TIMESERV_REQUIRED|DS_WRITABLE_REQUIRED|DS_GOOD_TIMESERV_PREFERRED|DS_AVOID_SELF|DS_ONLY_LDAP_NEEDED|DS_IS_FLAT_NAME|DS_IS_DNS_NAME|DS_RETURN_FLAT_NAME|DS_RETURN_DNS_NAME) )
  20 #define DS_GFTI_UPDATE_TDO      ( 0x1 )
  21 struct netr_UasInfo {
  22         const char *account_name;/* [unique,charset(UTF16)] */
  23         uint32_t priv;
  24         uint32_t auth_flags;
  25         uint32_t logon_count;
  26         uint32_t bad_pw_count;
  27         time_t last_logon;
  28         time_t last_logoff;
  29         time_t logoff_time;
  30         time_t kickoff_time;
  31         uint32_t password_age;
  32         time_t pw_can_change;
  33         time_t pw_must_change;
  34         const char *computer;/* [unique,charset(UTF16)] */
  35         const char *domain;/* [unique,charset(UTF16)] */
  36         const char *script_path;/* [unique,charset(UTF16)] */
  37         uint32_t unknown;
  38 };
  39 
  40 struct netr_UasLogoffInfo {
  41         uint32_t duration;
  42         uint16_t logon_count;
  43 };
  44 
  45 struct netr_AcctLockStr {
  46         int64_t lockout_duration;
  47         uint64_t reset_count;
  48         uint32_t bad_attempt_lockout;
  49         uint32_t dummy;
  50 }/* [public] */;
  51 
  52 /* bitmap netr_LogonParameterControl */
  53 #define MSV1_0_CLEARTEXT_PASSWORD_ALLOWED ( 0x00000002 )
  54 #define MSV1_0_UPDATE_LOGON_STATISTICS ( 0x00000004 )
  55 #define MSV1_0_RETURN_USER_PARAMETERS ( 0x00000008 )
  56 #define MSV1_0_ALLOW_SERVER_TRUST_ACCOUNT ( 0x00000020 )
  57 #define MSV1_0_RETURN_PROFILE_PATH ( 0x00000200 )
  58 #define MSV1_0_ALLOW_WORKSTATION_TRUST_ACCOUNT ( 0x00000800 )
  59 
  60 struct netr_IdentityInfo {
  61         struct lsa_String domain_name;
  62         uint32_t parameter_control;
  63         uint32_t logon_id_low;
  64         uint32_t logon_id_high;
  65         struct lsa_String account_name;
  66         struct lsa_String workstation;
  67 };
  68 
  69 struct netr_PasswordInfo {
  70         struct netr_IdentityInfo identity_info;
  71         struct samr_Password lmpassword;
  72         struct samr_Password ntpassword;
  73 };
  74 
  75 struct netr_ChallengeResponse {
  76         uint16_t length;
  77         uint16_t size;/* [value(length)] */
  78         uint8_t *data;/* [unique,length_is(length),size_is(length)] */
  79 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
  80 
  81 struct netr_NetworkInfo {
  82         struct netr_IdentityInfo identity_info;
  83         uint8_t challenge[8];
  84         struct netr_ChallengeResponse nt;
  85         struct netr_ChallengeResponse lm;
  86 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
  87 
  88 struct netr_GenericInfo {
  89         struct netr_IdentityInfo identity_info;
  90         struct lsa_String package_name;
  91         uint32_t length;
  92         uint8_t *data;/* [unique,size_is(length)] */
  93 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
  94 
  95 enum netr_LogonInfoClass
  96 #ifndef USE_UINT_ENUMS
  97  {
  98         NetlogonInteractiveInformation=1,
  99         NetlogonNetworkInformation=2,
 100         NetlogonServiceInformation=3,
 101         NetlogonGenericInformation=4,
 102         NetlogonInteractiveTransitiveInformation=5,
 103         NetlogonNetworkTransitiveInformation=6,
 104         NetlogonServiceTransitiveInformation=7
 105 }
 106 #else
 107  { __donnot_use_enum_netr_LogonInfoClass=0x7FFFFFFF}
 108 #define NetlogonInteractiveInformation ( 1 )
 109 #define NetlogonNetworkInformation ( 2 )
 110 #define NetlogonServiceInformation ( 3 )
 111 #define NetlogonGenericInformation ( 4 )
 112 #define NetlogonInteractiveTransitiveInformation ( 5 )
 113 #define NetlogonNetworkTransitiveInformation ( 6 )
 114 #define NetlogonServiceTransitiveInformation ( 7 )
 115 #endif
 116 ;
 117 
 118 union netr_LogonLevel {
 119         struct netr_PasswordInfo *password;/* [unique,case(NetlogonInteractiveInformation)] */
 120         struct netr_NetworkInfo *network;/* [unique,case(NetlogonNetworkInformation)] */
 121         struct netr_GenericInfo *generic;/* [unique,case(NetlogonGenericInformation)] */
 122 }/* [public,switch_type(netr_LogonInfoClass)] */;
 123 
 124 struct netr_UserSessionKey {
 125         uint8_t key[16];
 126 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 127 
 128 struct netr_LMSessionKey {
 129         uint8_t key[8];
 130 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 131 
 132 /* bitmap netr_UserFlags */
 133 #define NETLOGON_GUEST ( 0x00000001 )
 134 #define NETLOGON_NOENCRYPTION ( 0x00000002 )
 135 #define NETLOGON_CACHED_ACCOUNT ( 0x00000004 )
 136 #define NETLOGON_USED_LM_PASSWORD ( 0x00000008 )
 137 #define NETLOGON_EXTRA_SIDS ( 0x00000020 )
 138 #define NETLOGON_SUBAUTH_SESSION_KEY ( 0x00000040 )
 139 #define NETLOGON_SERVER_TRUST_ACCOUNT ( 0x00000080 )
 140 #define NETLOGON_NTLMV2_ENABLED ( 0x00000100 )
 141 #define NETLOGON_RESOURCE_GROUPS ( 0x00000200 )
 142 #define NETLOGON_PROFILE_PATH_RETURNED ( 0x00000400 )
 143 #define NETLOGON_GRACE_LOGON ( 0x01000000 )
 144 
 145 struct netr_SamBaseInfo {
 146         NTTIME last_logon;
 147         NTTIME last_logoff;
 148         NTTIME acct_expiry;
 149         NTTIME last_password_change;
 150         NTTIME allow_password_change;
 151         NTTIME force_password_change;
 152         struct lsa_String account_name;
 153         struct lsa_String full_name;
 154         struct lsa_String logon_script;
 155         struct lsa_String profile_path;
 156         struct lsa_String home_directory;
 157         struct lsa_String home_drive;
 158         uint16_t logon_count;
 159         uint16_t bad_password_count;
 160         uint32_t rid;
 161         uint32_t primary_gid;
 162         struct samr_RidWithAttributeArray groups;
 163         uint32_t user_flags;
 164         struct netr_UserSessionKey key;
 165         struct lsa_StringLarge logon_server;
 166         struct lsa_StringLarge domain;
 167         struct dom_sid2 *domain_sid;/* [unique] */
 168         struct netr_LMSessionKey LMSessKey;
 169         uint32_t acct_flags;
 170         uint32_t unknown[7];
 171 };
 172 
 173 struct netr_SamInfo2 {
 174         struct netr_SamBaseInfo base;
 175 };
 176 
 177 struct netr_SidAttr {
 178         struct dom_sid2 *sid;/* [unique] */
 179         uint32_t attributes;
 180 };
 181 
 182 struct netr_SamInfo3 {
 183         struct netr_SamBaseInfo base;
 184         uint32_t sidcount;
 185         struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
 186 }/* [public] */;
 187 
 188 struct netr_SamInfo6 {
 189         struct netr_SamBaseInfo base;
 190         uint32_t sidcount;
 191         struct netr_SidAttr *sids;/* [unique,size_is(sidcount)] */
 192         struct lsa_String forest;
 193         struct lsa_String principle;
 194         uint32_t unknown4[20];
 195 };
 196 
 197 struct netr_PacInfo {
 198         uint32_t pac_size;
 199         uint8_t *pac;/* [unique,size_is(pac_size)] */
 200         struct lsa_String logon_domain;
 201         struct lsa_String logon_server;
 202         struct lsa_String principal_name;
 203         uint32_t auth_size;
 204         uint8_t *auth;/* [unique,size_is(auth_size)] */
 205         struct netr_UserSessionKey user_session_key;
 206         uint32_t expansionroom[10];
 207         struct lsa_String unknown1;
 208         struct lsa_String unknown2;
 209         struct lsa_String unknown3;
 210         struct lsa_String unknown4;
 211 };
 212 
 213 struct netr_GenericInfo2 {
 214         uint32_t length;
 215         uint8_t *data;/* [unique,size_is(length)] */
 216 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 217 
 218 enum netr_ValidationInfoClass
 219 #ifndef USE_UINT_ENUMS
 220  {
 221         NetlogonValidationUasInfo=1,
 222         NetlogonValidationSamInfo=2,
 223         NetlogonValidationSamInfo2=3,
 224         NetlogonValidationGenericInfo2=5,
 225         NetlogonValidationSamInfo4=6
 226 }
 227 #else
 228  { __donnot_use_enum_netr_ValidationInfoClass=0x7FFFFFFF}
 229 #define NetlogonValidationUasInfo ( 1 )
 230 #define NetlogonValidationSamInfo ( 2 )
 231 #define NetlogonValidationSamInfo2 ( 3 )
 232 #define NetlogonValidationGenericInfo2 ( 5 )
 233 #define NetlogonValidationSamInfo4 ( 6 )
 234 #endif
 235 ;
 236 
 237 union netr_Validation {
 238         struct netr_SamInfo2 *sam2;/* [unique,case(NetlogonValidationSamInfo)] */
 239         struct netr_SamInfo3 *sam3;/* [unique,case(NetlogonValidationSamInfo2)] */
 240         struct netr_PacInfo *pac;/* [unique,case(4)] */
 241         struct netr_GenericInfo2 *generic;/* [unique,case(NetlogonValidationGenericInfo2)] */
 242         struct netr_SamInfo6 *sam6;/* [unique,case(NetlogonValidationSamInfo4)] */
 243 }/* [public,switch_type(uint16)] */;
 244 
 245 struct netr_Credential {
 246         uint8_t data[8];
 247 }/* [public,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 248 
 249 struct netr_Authenticator {
 250         struct netr_Credential cred;
 251         time_t timestamp;
 252 }/* [public] */;
 253 
 254 struct netr_DELTA_DELETE_USER {
 255         const char *account_name;/* [unique,charset(UTF16)] */
 256         struct lsa_String unknown1;
 257         struct lsa_String unknown2;
 258         struct lsa_String unknown3;
 259         struct lsa_String unknown4;
 260         uint32_t unknown5;
 261         uint32_t unknown6;
 262         uint32_t unknown7;
 263         uint32_t unknown8;
 264 };
 265 
 266 struct netr_USER_KEY16 {
 267         uint16_t length;
 268         uint16_t size;/* [value(length)] */
 269         uint32_t flags;
 270         struct samr_Password pwd;
 271 };
 272 
 273 struct netr_PasswordHistory {
 274         uint16_t nt_length;
 275         uint16_t nt_size;/* [value(nt_length)] */
 276         uint32_t nt_flags;
 277         uint16_t lm_length;
 278         uint16_t lm_size;/* [value(lm_length)] */
 279         uint32_t lm_flags;
 280         uint8_t *nt_history;
 281         uint8_t *lm_history;
 282 };
 283 
 284 struct netr_USER_KEYS2 {
 285         struct netr_USER_KEY16 lmpassword;
 286         struct netr_USER_KEY16 ntpassword;
 287         struct netr_PasswordHistory history;
 288 };
 289 
 290 struct netr_USER_KEY_UNION {
 291         struct netr_USER_KEYS2 keys2;
 292 };
 293 
 294 struct netr_USER_KEYS {
 295         uint32_t version;
 296         struct netr_USER_KEY_UNION keys;
 297 }/* [public] */;
 298 
 299 struct netr_USER_PRIVATE_INFO {
 300         uint8_t SensitiveDataFlag;
 301         uint32_t DataLength;
 302         uint8_t *SensitiveData;/* [unique,flag(LIBNDR_PRINT_ARRAY_HEX),size_is(DataLength)] */
 303 };
 304 
 305 struct netr_DELTA_USER {
 306         struct lsa_String account_name;
 307         struct lsa_String full_name;
 308         uint32_t rid;
 309         uint32_t primary_gid;
 310         struct lsa_String home_directory;
 311         struct lsa_String home_drive;
 312         struct lsa_String logon_script;
 313         struct lsa_String description;
 314         struct lsa_String workstations;
 315         NTTIME last_logon;
 316         NTTIME last_logoff;
 317         struct samr_LogonHours logon_hours;
 318         uint16_t bad_password_count;
 319         uint16_t logon_count;
 320         NTTIME last_password_change;
 321         NTTIME acct_expiry;
 322         uint32_t acct_flags;
 323         struct samr_Password lmpassword;
 324         struct samr_Password ntpassword;
 325         uint8_t nt_password_present;
 326         uint8_t lm_password_present;
 327         uint8_t password_expired;
 328         struct lsa_String comment;
 329         struct lsa_BinaryString parameters;
 330         uint16_t country_code;
 331         uint16_t code_page;
 332         struct netr_USER_PRIVATE_INFO user_private_info;
 333         uint32_t SecurityInformation;
 334         struct sec_desc_buf sdbuf;
 335         struct lsa_String profile_path;
 336         struct lsa_String unknown2;
 337         struct lsa_String unknown3;
 338         struct lsa_String unknown4;
 339         uint32_t unknown5;
 340         uint32_t unknown6;
 341         uint32_t unknown7;
 342         uint32_t unknown8;
 343 };
 344 
 345 struct netr_DELTA_DOMAIN {
 346         struct lsa_String domain_name;
 347         struct lsa_String oem_information;
 348         int64_t force_logoff_time;
 349         uint16_t min_password_length;
 350         uint16_t password_history_length;
 351         int64_t max_password_age;
 352         int64_t min_password_age;
 353         uint64_t sequence_num;
 354         NTTIME domain_create_time;
 355         uint32_t SecurityInformation;
 356         struct sec_desc_buf sdbuf;
 357         struct lsa_BinaryString account_lockout;
 358         struct lsa_String unknown2;
 359         struct lsa_String unknown3;
 360         struct lsa_String unknown4;
 361         uint32_t logon_to_chgpass;
 362         uint32_t unknown6;
 363         uint32_t unknown7;
 364         uint32_t unknown8;
 365 };
 366 
 367 struct netr_DELTA_GROUP {
 368         struct lsa_String group_name;
 369         uint32_t rid;
 370         uint32_t attributes;
 371         struct lsa_String description;
 372         uint32_t SecurityInformation;
 373         struct sec_desc_buf sdbuf;
 374         struct lsa_String unknown1;
 375         struct lsa_String unknown2;
 376         struct lsa_String unknown3;
 377         struct lsa_String unknown4;
 378         uint32_t unknown5;
 379         uint32_t unknown6;
 380         uint32_t unknown7;
 381         uint32_t unknown8;
 382 };
 383 
 384 struct netr_DELTA_RENAME {
 385         struct lsa_String OldName;
 386         struct lsa_String NewName;
 387         struct lsa_String unknown1;
 388         struct lsa_String unknown2;
 389         struct lsa_String unknown3;
 390         struct lsa_String unknown4;
 391         uint32_t unknown5;
 392         uint32_t unknown6;
 393         uint32_t unknown7;
 394         uint32_t unknown8;
 395 };
 396 
 397 struct netr_DELTA_GROUP_MEMBER {
 398         uint32_t *rids;/* [unique,size_is(num_rids)] */
 399         uint32_t *attribs;/* [unique,size_is(num_rids)] */
 400         uint32_t num_rids;
 401         uint32_t unknown1;
 402         uint32_t unknown2;
 403         uint32_t unknown3;
 404         uint32_t unknown4;
 405 };
 406 
 407 struct netr_DELTA_ALIAS {
 408         struct lsa_String alias_name;
 409         uint32_t rid;
 410         uint32_t SecurityInformation;
 411         struct sec_desc_buf sdbuf;
 412         struct lsa_String description;
 413         struct lsa_String unknown2;
 414         struct lsa_String unknown3;
 415         struct lsa_String unknown4;
 416         uint32_t unknown5;
 417         uint32_t unknown6;
 418         uint32_t unknown7;
 419         uint32_t unknown8;
 420 };
 421 
 422 struct netr_DELTA_ALIAS_MEMBER {
 423         struct lsa_SidArray sids;
 424         uint32_t unknown1;
 425         uint32_t unknown2;
 426         uint32_t unknown3;
 427         uint32_t unknown4;
 428 };
 429 
 430 struct netr_QUOTA_LIMITS {
 431         uint32_t pagedpoollimit;
 432         uint32_t nonpagedpoollimit;
 433         uint32_t minimumworkingsetsize;
 434         uint32_t maximumworkingsetsize;
 435         uint32_t pagefilelimit;
 436         NTTIME timelimit;
 437 };
 438 
 439 struct netr_DELTA_POLICY {
 440         uint32_t maxlogsize;
 441         NTTIME auditretentionperiod;
 442         uint8_t auditingmode;
 443         uint32_t maxauditeventcount;
 444         uint32_t *eventauditoptions;/* [unique,size_is(maxauditeventcount+1)] */
 445         struct lsa_String primary_domain_name;
 446         struct dom_sid2 *sid;/* [unique] */
 447         struct netr_QUOTA_LIMITS quota_limits;
 448         uint64_t sequence_num;
 449         NTTIME db_create_time;
 450         uint32_t SecurityInformation;
 451         struct sec_desc_buf sdbuf;
 452         struct lsa_String unknown1;
 453         struct lsa_String unknown2;
 454         struct lsa_String unknown3;
 455         struct lsa_String unknown4;
 456         uint32_t unknown5;
 457         uint32_t unknown6;
 458         uint32_t unknown7;
 459         uint32_t unknown8;
 460 };
 461 
 462 struct netr_DELTA_TRUSTED_DOMAIN {
 463         struct lsa_String domain_name;
 464         uint32_t num_controllers;
 465         struct lsa_String *controller_names;/* [unique,size_is(num_controllers)] */
 466         uint32_t SecurityInformation;
 467         struct sec_desc_buf sdbuf;
 468         struct lsa_String unknown1;
 469         struct lsa_String unknown2;
 470         struct lsa_String unknown3;
 471         struct lsa_String unknown4;
 472         uint32_t posix_offset;
 473         uint32_t unknown6;
 474         uint32_t unknown7;
 475         uint32_t unknown8;
 476 };
 477 
 478 struct netr_DELTA_DELETE_TRUST {
 479         uint16_t unknown;
 480 };
 481 
 482 struct netr_DELTA_ACCOUNT {
 483         uint32_t privilege_entries;
 484         uint32_t privilege_control;
 485         uint32_t *privilege_attrib;/* [unique,size_is(privilege_entries)] */
 486         struct lsa_String *privilege_name;/* [unique,size_is(privilege_entries)] */
 487         struct netr_QUOTA_LIMITS quotalimits;
 488         uint32_t system_flags;
 489         uint32_t SecurityInformation;
 490         struct sec_desc_buf sdbuf;
 491         struct lsa_String unknown1;
 492         struct lsa_String unknown2;
 493         struct lsa_String unknown3;
 494         struct lsa_String unknown4;
 495         uint32_t unknown5;
 496         uint32_t unknown6;
 497         uint32_t unknown7;
 498         uint32_t unknown8;
 499 };
 500 
 501 struct netr_DELTA_DELETE_ACCOUNT {
 502         uint16_t unknown;
 503 };
 504 
 505 struct netr_DELTA_DELETE_SECRET {
 506         uint16_t unknown;
 507 };
 508 
 509 struct netr_CIPHER_VALUE {
 510         uint32_t len;
 511         uint32_t maxlen;
 512         uint8_t *cipher_data;/* [unique,length_is(len),size_is(maxlen)] */
 513 };
 514 
 515 struct netr_DELTA_SECRET {
 516         struct netr_CIPHER_VALUE current_cipher;
 517         NTTIME current_cipher_set_time;
 518         struct netr_CIPHER_VALUE old_cipher;
 519         NTTIME old_cipher_set_time;
 520         uint32_t SecurityInformation;
 521         struct sec_desc_buf sdbuf;
 522         struct lsa_String unknown1;
 523         struct lsa_String unknown2;
 524         struct lsa_String unknown3;
 525         struct lsa_String unknown4;
 526         uint32_t unknown5;
 527         uint32_t unknown6;
 528         uint32_t unknown7;
 529         uint32_t unknown8;
 530 };
 531 
 532 enum netr_DeltaEnum
 533 #ifndef USE_UINT_ENUMS
 534  {
 535         NETR_DELTA_DOMAIN=1,
 536         NETR_DELTA_GROUP=2,
 537         NETR_DELTA_DELETE_GROUP=3,
 538         NETR_DELTA_RENAME_GROUP=4,
 539         NETR_DELTA_USER=5,
 540         NETR_DELTA_DELETE_USER=6,
 541         NETR_DELTA_RENAME_USER=7,
 542         NETR_DELTA_GROUP_MEMBER=8,
 543         NETR_DELTA_ALIAS=9,
 544         NETR_DELTA_DELETE_ALIAS=10,
 545         NETR_DELTA_RENAME_ALIAS=11,
 546         NETR_DELTA_ALIAS_MEMBER=12,
 547         NETR_DELTA_POLICY=13,
 548         NETR_DELTA_TRUSTED_DOMAIN=14,
 549         NETR_DELTA_DELETE_TRUST=15,
 550         NETR_DELTA_ACCOUNT=16,
 551         NETR_DELTA_DELETE_ACCOUNT=17,
 552         NETR_DELTA_SECRET=18,
 553         NETR_DELTA_DELETE_SECRET=19,
 554         NETR_DELTA_DELETE_GROUP2=20,
 555         NETR_DELTA_DELETE_USER2=21,
 556         NETR_DELTA_MODIFY_COUNT=22
 557 }
 558 #else
 559  { __donnot_use_enum_netr_DeltaEnum=0x7FFFFFFF}
 560 #define NETR_DELTA_DOMAIN ( 1 )
 561 #define NETR_DELTA_GROUP ( 2 )
 562 #define NETR_DELTA_DELETE_GROUP ( 3 )
 563 #define NETR_DELTA_RENAME_GROUP ( 4 )
 564 #define NETR_DELTA_USER ( 5 )
 565 #define NETR_DELTA_DELETE_USER ( 6 )
 566 #define NETR_DELTA_RENAME_USER ( 7 )
 567 #define NETR_DELTA_GROUP_MEMBER ( 8 )
 568 #define NETR_DELTA_ALIAS ( 9 )
 569 #define NETR_DELTA_DELETE_ALIAS ( 10 )
 570 #define NETR_DELTA_RENAME_ALIAS ( 11 )
 571 #define NETR_DELTA_ALIAS_MEMBER ( 12 )
 572 #define NETR_DELTA_POLICY ( 13 )
 573 #define NETR_DELTA_TRUSTED_DOMAIN ( 14 )
 574 #define NETR_DELTA_DELETE_TRUST ( 15 )
 575 #define NETR_DELTA_ACCOUNT ( 16 )
 576 #define NETR_DELTA_DELETE_ACCOUNT ( 17 )
 577 #define NETR_DELTA_SECRET ( 18 )
 578 #define NETR_DELTA_DELETE_SECRET ( 19 )
 579 #define NETR_DELTA_DELETE_GROUP2 ( 20 )
 580 #define NETR_DELTA_DELETE_USER2 ( 21 )
 581 #define NETR_DELTA_MODIFY_COUNT ( 22 )
 582 #endif
 583 ;
 584 
 585 union netr_DELTA_UNION {
 586         struct netr_DELTA_DOMAIN *domain;/* [unique,case(NETR_DELTA_DOMAIN)] */
 587         struct netr_DELTA_GROUP *group;/* [unique,case(NETR_DELTA_GROUP)] */
 588         struct netr_DELTA_RENAME *rename_group;/* [unique,case(NETR_DELTA_RENAME_GROUP)] */
 589         struct netr_DELTA_USER *user;/* [unique,case(NETR_DELTA_USER)] */
 590         struct netr_DELTA_RENAME *rename_user;/* [unique,case(NETR_DELTA_RENAME_USER)] */
 591         struct netr_DELTA_GROUP_MEMBER *group_member;/* [unique,case(NETR_DELTA_GROUP_MEMBER)] */
 592         struct netr_DELTA_ALIAS *alias;/* [unique,case(NETR_DELTA_ALIAS)] */
 593         struct netr_DELTA_RENAME *rename_alias;/* [unique,case(NETR_DELTA_RENAME_ALIAS)] */
 594         struct netr_DELTA_ALIAS_MEMBER *alias_member;/* [unique,case(NETR_DELTA_ALIAS_MEMBER)] */
 595         struct netr_DELTA_POLICY *policy;/* [unique,case(NETR_DELTA_POLICY)] */
 596         struct netr_DELTA_TRUSTED_DOMAIN *trusted_domain;/* [unique,case(NETR_DELTA_TRUSTED_DOMAIN)] */
 597         struct netr_DELTA_DELETE_TRUST delete_trust;/* [case(NETR_DELTA_DELETE_TRUST)] */
 598         struct netr_DELTA_ACCOUNT *account;/* [unique,case(NETR_DELTA_ACCOUNT)] */
 599         struct netr_DELTA_DELETE_ACCOUNT delete_account;/* [case(NETR_DELTA_DELETE_ACCOUNT)] */
 600         struct netr_DELTA_SECRET *secret;/* [unique,case(NETR_DELTA_SECRET)] */
 601         struct netr_DELTA_DELETE_SECRET delete_secret;/* [case(NETR_DELTA_DELETE_SECRET)] */
 602         struct netr_DELTA_DELETE_USER *delete_group;/* [unique,case(NETR_DELTA_DELETE_GROUP2)] */
 603         struct netr_DELTA_DELETE_USER *delete_user;/* [unique,case(NETR_DELTA_DELETE_USER2)] */
 604         uint64_t *modified_count;/* [unique,case(NETR_DELTA_MODIFY_COUNT)] */
 605 }/* [switch_type(netr_DeltaEnum)] */;
 606 
 607 union netr_DELTA_ID_UNION {
 608         uint32_t rid;/* [case(NETR_DELTA_DOMAIN)] */
 609         struct dom_sid2 *sid;/* [unique,case(NETR_DELTA_POLICY)] */
 610         const char *name;/* [unique,charset(UTF16),case(NETR_DELTA_SECRET)] */
 611 }/* [switch_type(netr_DeltaEnum)] */;
 612 
 613 struct netr_DELTA_ENUM {
 614         enum netr_DeltaEnum delta_type;
 615         union netr_DELTA_ID_UNION delta_id_union;/* [switch_is(delta_type)] */
 616         union netr_DELTA_UNION delta_union;/* [switch_is(delta_type)] */
 617 };
 618 
 619 struct netr_DELTA_ENUM_ARRAY {
 620         uint32_t num_deltas;
 621         struct netr_DELTA_ENUM *delta_enum;/* [unique,size_is(num_deltas)] */
 622 };
 623 
 624 struct netr_UAS_INFO_0 {
 625         uint8_t computer_name[16];
 626         uint32_t timecreated;
 627         uint32_t serial_number;
 628 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 629 
 630 struct netr_AccountBuffer {
 631         DATA_BLOB blob;/* [flag(LIBNDR_FLAG_REMAINING)] */
 632 };
 633 
 634 /* bitmap netr_InfoFlags */
 635 #define NETLOGON_CTRL_REPL_NEEDED ( 0x0001 )
 636 #define NETLOGON_CTRL_REPL_IN_PROGRESS ( 0x0002 )
 637 #define NETLOGON_CTRL_REPL_FULL_SYNC ( 0x0004 )
 638 
 639 struct netr_NETLOGON_INFO_1 {
 640         uint32_t flags;
 641         uint32_t pdc_connection_status;
 642 };
 643 
 644 struct netr_NETLOGON_INFO_2 {
 645         uint32_t flags;
 646         uint32_t pdc_connection_status;
 647         const char *trusted_dc_name;/* [unique,charset(UTF16)] */
 648         uint32_t tc_connection_status;
 649 };
 650 
 651 struct netr_NETLOGON_INFO_3 {
 652         uint32_t flags;
 653         uint32_t logon_attempts;
 654         uint32_t unknown1;
 655         uint32_t unknown2;
 656         uint32_t unknown3;
 657         uint32_t unknown4;
 658         uint32_t unknown5;
 659 };
 660 
 661 struct netr_NETLOGON_INFO_4 {
 662         const char *trusted_dc_name;/* [unique,charset(UTF16)] */
 663         const char *trusted_domain_name;/* [unique,charset(UTF16)] */
 664 };
 665 
 666 union netr_CONTROL_QUERY_INFORMATION {
 667         struct netr_NETLOGON_INFO_1 *info1;/* [unique,case] */
 668         struct netr_NETLOGON_INFO_2 *info2;/* [unique,case(2)] */
 669         struct netr_NETLOGON_INFO_3 *info3;/* [unique,case(3)] */
 670         struct netr_NETLOGON_INFO_4 *info4;/* [unique,case(4)] */
 671 };
 672 
 673 enum netr_LogonControlCode
 674 #ifndef USE_UINT_ENUMS
 675  {
 676         NETLOGON_CONTROL_QUERY=0x00000001,
 677         NETLOGON_CONTROL_REPLICATE=0x00000002,
 678         NETLOGON_CONTROL_SYNCHRONIZE=0x00000003,
 679         NETLOGON_CONTROL_PDC_REPLICATE=0x00000004,
 680         NETLOGON_CONTROL_REDISCOVER=0x00000005,
 681         NETLOGON_CONTROL_TC_QUERY=0x00000006,
 682         NETLOGON_CONTROL_TRANSPORT_NOTIFY=0x00000007,
 683         NETLOGON_CONTROL_FIND_USER=0x00000008,
 684         NETLOGON_CONTROL_CHANGE_PASSWORD=0x00000009,
 685         NETLOGON_CONTROL_TC_VERIFY=0x0000000A,
 686         NETLOGON_CONTROL_FORCE_DNS_REG=0x0000000B,
 687         NETLOGON_CONTROL_QUERY_DNS_REG=0x0000000C,
 688         NETLOGON_CONTROL_BACKUP_CHANGE_LOG=0x0000FFFC,
 689         NETLOGON_CONTROL_TRUNCATE_LOG=0x0000FFFD,
 690         NETLOGON_CONTROL_SET_DBFLAG=0x0000FFFE,
 691         NETLOGON_CONTROL_BREAKPOINT=0x0000FFFF
 692 }
 693 #else
 694  { __donnot_use_enum_netr_LogonControlCode=0x7FFFFFFF}
 695 #define NETLOGON_CONTROL_QUERY ( 0x00000001 )
 696 #define NETLOGON_CONTROL_REPLICATE ( 0x00000002 )
 697 #define NETLOGON_CONTROL_SYNCHRONIZE ( 0x00000003 )
 698 #define NETLOGON_CONTROL_PDC_REPLICATE ( 0x00000004 )
 699 #define NETLOGON_CONTROL_REDISCOVER ( 0x00000005 )
 700 #define NETLOGON_CONTROL_TC_QUERY ( 0x00000006 )
 701 #define NETLOGON_CONTROL_TRANSPORT_NOTIFY ( 0x00000007 )
 702 #define NETLOGON_CONTROL_FIND_USER ( 0x00000008 )
 703 #define NETLOGON_CONTROL_CHANGE_PASSWORD ( 0x00000009 )
 704 #define NETLOGON_CONTROL_TC_VERIFY ( 0x0000000A )
 705 #define NETLOGON_CONTROL_FORCE_DNS_REG ( 0x0000000B )
 706 #define NETLOGON_CONTROL_QUERY_DNS_REG ( 0x0000000C )
 707 #define NETLOGON_CONTROL_BACKUP_CHANGE_LOG ( 0x0000FFFC )
 708 #define NETLOGON_CONTROL_TRUNCATE_LOG ( 0x0000FFFD )
 709 #define NETLOGON_CONTROL_SET_DBFLAG ( 0x0000FFFE )
 710 #define NETLOGON_CONTROL_BREAKPOINT ( 0x0000FFFF )
 711 #endif
 712 ;
 713 
 714 union netr_CONTROL_DATA_INFORMATION {
 715         const char *domain;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_REDISCOVER)] */
 716         const char *user;/* [unique,charset(UTF16),case(NETLOGON_CONTROL_FIND_USER)] */
 717         uint32_t debug_level;/* [case(NETLOGON_CONTROL_SET_DBFLAG)] */
 718 };
 719 
 720 /* bitmap netr_NegotiateFlags */
 721 #define NETLOGON_NEG_ACCOUNT_LOCKOUT ( 0x00000001 )
 722 #define NETLOGON_NEG_PERSISTENT_SAMREPL ( 0x00000002 )
 723 #define NETLOGON_NEG_ARCFOUR ( 0x00000004 )
 724 #define NETLOGON_NEG_PROMOTION_COUNT ( 0x00000008 )
 725 #define NETLOGON_NEG_CHANGELOG_BDC ( 0x00000010 )
 726 #define NETLOGON_NEG_FULL_SYNC_REPL ( 0x00000020 )
 727 #define NETLOGON_NEG_MULTIPLE_SIDS ( 0x00000040 )
 728 #define NETLOGON_NEG_REDO ( 0x00000080 )
 729 #define NETLOGON_NEG_PASSWORD_CHANGE_REFUSAL ( 0x00000100 )
 730 #define NETLOGON_NEG_SEND_PASSWORD_INFO_PDC ( 0x00000200 )
 731 #define NETLOGON_NEG_GENERIC_PASSTHROUGH ( 0x00000400 )
 732 #define NETLOGON_NEG_CONCURRENT_RPC ( 0x00000800 )
 733 #define NETLOGON_NEG_AVOID_ACCOUNT_DB_REPL ( 0x00001000 )
 734 #define NETLOGON_NEG_AVOID_SECURITYAUTH_DB_REPL ( 0x00002000 )
 735 #define NETLOGON_NEG_STRONG_KEYS ( 0x00004000 )
 736 #define NETLOGON_NEG_TRANSITIVE_TRUSTS ( 0x00008000 )
 737 #define NETLOGON_NEG_DNS_DOMAIN_TRUSTS ( 0x00010000 )
 738 #define NETLOGON_NEG_PASSWORD_SET2 ( 0x00020000 )
 739 #define NETLOGON_NEG_GETDOMAININFO ( 0x00040000 )
 740 #define NETLOGON_NEG_CROSS_FOREST_TRUSTS ( 0x00080000 )
 741 #define NETLOGON_NEG_NEUTRALIZE_NT4_EMULATION ( 0x00100000 )
 742 #define NETLOGON_NEG_RODC_PASSTHROUGH ( 0x00200000 )
 743 #define NETLOGON_NEG_SUPPORTS_AES_SHA2 ( 0x00400000 )
 744 #define NETLOGON_NEG_AUTHENTICATED_RPC_LSASS ( 0x20000000 )
 745 #define NETLOGON_NEG_AUTHENTICATED_RPC ( 0x40000000 )
 746 
 747 /* bitmap netr_ChangeLogFlags */
 748 #define NETR_CHANGELOG_IMMEDIATE_REPL_REQUIRED ( 0x0001 )
 749 #define NETR_CHANGELOG_CHANGED_PASSWORD ( 0x0002 )
 750 #define NETR_CHANGELOG_SID_INCLUDED ( 0x0004 )
 751 #define NETR_CHANGELOG_NAME_INCLUDED ( 0x0008 )
 752 #define NETR_CHANGELOG_FIRST_PROMOTION_OBJ ( 0x0010 )
 753 
 754 union netr_ChangeLogObject {
 755         struct dom_sid object_sid;/* [case(NETR_CHANGELOG_SID_INCLUDED)] */
 756         const char * object_name;/* [flag(LIBNDR_FLAG_STR_NULLTERM),case(NETR_CHANGELOG_NAME_INCLUDED)] */
 757 }/* [nodiscriminant] */;
 758 
 759 struct netr_ChangeLogEntry {
 760         uint32_t serial_number1;
 761         uint32_t serial_number2;
 762         uint32_t object_rid;
 763         uint16_t flags;
 764         enum netr_SamDatabaseID8Bit db_index;
 765         enum netr_DeltaEnum8Bit delta_type;
 766         union netr_ChangeLogObject object;/* [switch_is(flags&(NETR_CHANGELOG_SID_INCLUDED|NETR_CHANGELOG_NAME_INCLUDED))] */
 767 }/* [gensize,public] */;
 768 
 769 struct netr_Blob {
 770         uint32_t length;
 771         uint8_t *data;/* [unique,size_is(length)] */
 772 };
 773 
 774 /* bitmap netr_DsRGetDCName_flags */
 775 #define DS_FORCE_REDISCOVERY ( 0x00000001 )
 776 #define DS_DIRECTORY_SERVICE_REQUIRED ( 0x00000010 )
 777 #define DS_DIRECTORY_SERVICE_PREFERRED ( 0x00000020 )
 778 #define DS_GC_SERVER_REQUIRED ( 0x00000040 )
 779 #define DS_PDC_REQUIRED ( 0x00000080 )
 780 #define DS_BACKGROUND_ONLY ( 0x00000100 )
 781 #define DS_IP_REQUIRED ( 0x00000200 )
 782 #define DS_KDC_REQUIRED ( 0x00000400 )
 783 #define DS_TIMESERV_REQUIRED ( 0x00000800 )
 784 #define DS_WRITABLE_REQUIRED ( 0x00001000 )
 785 #define DS_GOOD_TIMESERV_PREFERRED ( 0x00002000 )
 786 #define DS_AVOID_SELF ( 0x00004000 )
 787 #define DS_ONLY_LDAP_NEEDED ( 0x00008000 )
 788 #define DS_IS_FLAT_NAME ( 0x00010000 )
 789 #define DS_IS_DNS_NAME ( 0x00020000 )
 790 #define DS_TRY_NEXTCLOSEST_SITE ( 0x00040000 )
 791 #define DS_DIRECTORY_SERVICE_6_REQUIRED ( 0x00080000 )
 792 #define DS_RETURN_DNS_NAME ( 0x40000000 )
 793 #define DS_RETURN_FLAT_NAME ( 0x80000000 )
 794 
 795 enum netr_DsRGetDCNameInfo_AddressType
 796 #ifndef USE_UINT_ENUMS
 797  {
 798         DS_ADDRESS_TYPE_INET=1,
 799         DS_ADDRESS_TYPE_NETBIOS=2
 800 }
 801 #else
 802  { __donnot_use_enum_netr_DsRGetDCNameInfo_AddressType=0x7FFFFFFF}
 803 #define DS_ADDRESS_TYPE_INET ( 1 )
 804 #define DS_ADDRESS_TYPE_NETBIOS ( 2 )
 805 #endif
 806 ;
 807 
 808 /* bitmap netr_DsR_DcFlags */
 809 #define DS_SERVER_PDC ( NBT_SERVER_PDC )
 810 #define DS_SERVER_GC ( NBT_SERVER_GC )
 811 #define DS_SERVER_LDAP ( NBT_SERVER_LDAP )
 812 #define DS_SERVER_DS ( NBT_SERVER_DS )
 813 #define DS_SERVER_KDC ( NBT_SERVER_KDC )
 814 #define DS_SERVER_TIMESERV ( NBT_SERVER_TIMESERV )
 815 #define DS_SERVER_CLOSEST ( NBT_SERVER_CLOSEST )
 816 #define DS_SERVER_WRITABLE ( NBT_SERVER_WRITABLE )
 817 #define DS_SERVER_GOOD_TIMESERV ( NBT_SERVER_GOOD_TIMESERV )
 818 #define DS_SERVER_NDNC ( NBT_SERVER_NDNC )
 819 #define DS_SERVER_SELECT_SECRET_DOMAIN_6 ( NBT_SERVER_SELECT_SECRET_DOMAIN_6 )
 820 #define DS_SERVER_FULL_SECRET_DOMAIN_6 ( NBT_SERVER_FULL_SECRET_DOMAIN_6 )
 821 #define DS_DNS_CONTROLLER ( 0x20000000 )
 822 #define DS_DNS_DOMAIN ( 0x40000000 )
 823 #define DS_DNS_FOREST ( 0x80000000 )
 824 
 825 struct netr_DsRGetDCNameInfo {
 826         const char *dc_unc;/* [unique,charset(UTF16)] */
 827         const char *dc_address;/* [unique,charset(UTF16)] */
 828         enum netr_DsRGetDCNameInfo_AddressType dc_address_type;
 829         struct GUID domain_guid;
 830         const char *domain_name;/* [unique,charset(UTF16)] */
 831         const char *forest_name;/* [unique,charset(UTF16)] */
 832         uint32_t dc_flags;
 833         const char *dc_site_name;/* [unique,charset(UTF16)] */
 834         const char *client_site_name;/* [unique,charset(UTF16)] */
 835 }/* [public] */;
 836 
 837 union netr_Capabilities {
 838         uint32_t server_capabilities;/* [case] */
 839 }/* [switch_type(uint32)] */;
 840 
 841 /* bitmap netr_TrustFlags */
 842 #define NETR_TRUST_FLAG_IN_FOREST ( 0x00000001 )
 843 #define NETR_TRUST_FLAG_OUTBOUND ( 0x00000002 )
 844 #define NETR_TRUST_FLAG_TREEROOT ( 0x00000004 )
 845 #define NETR_TRUST_FLAG_PRIMARY ( 0x00000008 )
 846 #define NETR_TRUST_FLAG_NATIVE ( 0x00000010 )
 847 #define NETR_TRUST_FLAG_INBOUND ( 0x00000020 )
 848 #define NETR_TRUST_FLAG_MIT_KRB5 ( 0x00000080 )
 849 #define NETR_TRUST_FLAG_AES ( 0x00000100 )
 850 
 851 struct netr_DomainQuery1 {
 852         struct netr_Blob blob;
 853         const char *workstation_domain;/* [unique,charset(UTF16)] */
 854         const char *workstation_site;/* [unique,charset(UTF16)] */
 855         const char *unknown1;/* [unique,charset(UTF16)] */
 856         const char *unknown2;/* [unique,charset(UTF16)] */
 857         const char *unknown3;/* [unique,charset(UTF16)] */
 858         const char *unknown4;/* [unique,charset(UTF16)] */
 859         struct lsa_BinaryString blob2;
 860         struct lsa_String product;
 861         struct lsa_String unknown5;
 862         struct lsa_String unknown6;
 863         uint32_t unknown7[4];
 864 };
 865 
 866 union netr_DomainQuery {
 867         struct netr_DomainQuery1 *query1;/* [unique,case] */
 868 };
 869 
 870 struct netr_trust_extension {
 871         uint32_t length;/* [value(8)] */
 872         uint32_t dummy;/* [value(0)] */
 873         uint32_t size;/* [value(8)] */
 874         uint32_t flags;
 875         uint32_t parent_index;
 876         uint32_t trust_type;
 877         uint32_t trust_attributes;
 878 };
 879 
 880 struct netr_trust_extension_container {
 881         uint16_t length;
 882         uint16_t size;/* [value(length)] */
 883         struct netr_trust_extension *info;/* [unique] */
 884 };
 885 
 886 struct netr_DomainTrustInfo {
 887         struct lsa_String domainname;
 888         struct lsa_String fulldomainname;
 889         struct lsa_String forest;
 890         struct GUID guid;
 891         struct dom_sid2 *sid;/* [unique] */
 892         struct netr_trust_extension_container trust_extension;
 893         struct lsa_String dummystring[3];
 894         uint32_t dummy[4];
 895 };
 896 
 897 struct netr_LsaPolicyInfo {
 898         uint32_t policy_size;
 899         uint8_t *policy;/* [unique,size_is(policy_size)] */
 900 };
 901 
 902 /* bitmap netr_WorkstationFlags */
 903 #define NETR_WS_FLAG_HANDLES_INBOUND_TRUSTS ( 0x00000001 )
 904 #define NETR_WS_FLAG_HANDLES_SPN_UPDATE ( 0x00000002 )
 905 
 906 struct netr_DomainInfo1 {
 907         struct netr_DomainTrustInfo domaininfo;
 908         uint32_t num_trusts;
 909         struct netr_DomainTrustInfo *trusts;/* [unique,size_is(num_trusts)] */
 910         struct netr_LsaPolicyInfo lsa_policy;
 911         struct lsa_String dns_hostname;
 912         struct lsa_String dummystring[3];
 913         uint32_t workstation_flags;
 914         uint32_t supported_enc_types;
 915         uint32_t dummy[2];
 916 };
 917 
 918 union netr_DomainInfo {
 919         struct netr_DomainInfo1 *info1;/* [unique,case] */
 920         struct netr_DomainInfo1 *info2;/* [unique,case(2)] */
 921 };
 922 
 923 struct netr_CryptPassword {
 924         uint8_t data[512];
 925         uint32_t length;
 926 }/* [flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 927 
 928 struct netr_DsRAddressToSitenamesWCtr {
 929         uint32_t count;
 930         struct lsa_String *sitename;/* [unique,size_is(count)] */
 931 };
 932 
 933 struct netr_DsRAddress {
 934         uint8_t *buffer;/* [unique,size_is(size)] */
 935         uint32_t size;
 936 };
 937 
 938 enum netr_TrustType
 939 #ifndef USE_UINT_ENUMS
 940  {
 941         NETR_TRUST_TYPE_DOWNLEVEL=1,
 942         NETR_TRUST_TYPE_UPLEVEL=2,
 943         NETR_TRUST_TYPE_MIT=3,
 944         NETR_TRUST_TYPE_DCE=4
 945 }
 946 #else
 947  { __donnot_use_enum_netr_TrustType=0x7FFFFFFF}
 948 #define NETR_TRUST_TYPE_DOWNLEVEL ( 1 )
 949 #define NETR_TRUST_TYPE_UPLEVEL ( 2 )
 950 #define NETR_TRUST_TYPE_MIT ( 3 )
 951 #define NETR_TRUST_TYPE_DCE ( 4 )
 952 #endif
 953 ;
 954 
 955 /* bitmap netr_TrustAttributes */
 956 #define NETR_TRUST_ATTRIBUTE_NON_TRANSITIVE ( 0x00000001 )
 957 #define NETR_TRUST_ATTRIBUTE_UPLEVEL_ONLY ( 0x00000002 )
 958 #define NETR_TRUST_ATTRIBUTE_QUARANTINED_DOMAIN ( 0x00000004 )
 959 #define NETR_TRUST_ATTRIBUTE_FOREST_TRANSITIVE ( 0x00000008 )
 960 #define NETR_TRUST_ATTRIBUTE_CROSS_ORGANIZATION ( 0x00000010 )
 961 #define NETR_TRUST_ATTRIBUTE_WITHIN_FOREST ( 0x00000020 )
 962 #define NETR_TRUST_ATTRIBUTE_TREAT_AS_EXTERNAL ( 0x00000040 )
 963 
 964 struct netr_DomainTrust {
 965         const char *netbios_name;/* [unique,charset(UTF16)] */
 966         const char *dns_name;/* [unique,charset(UTF16)] */
 967         uint32_t trust_flags;
 968         uint32_t parent_index;
 969         enum netr_TrustType trust_type;
 970         uint32_t trust_attributes;
 971         struct dom_sid2 *sid;/* [unique] */
 972         struct GUID guid;
 973 };
 974 
 975 struct netr_DomainTrustList {
 976         uint32_t count;
 977         struct netr_DomainTrust *array;/* [unique,size_is(count)] */
 978 };
 979 
 980 struct netr_DsRAddressToSitenamesExWCtr {
 981         uint32_t count;
 982         struct lsa_String *sitename;/* [unique,size_is(count)] */
 983         struct lsa_String *subnetname;/* [unique,size_is(count)] */
 984 };
 985 
 986 struct DcSitesCtr {
 987         uint32_t num_sites;
 988         struct lsa_String *sites;/* [unique,size_is(num_sites)] */
 989 };
 990 
 991 struct netr_TrustInfo {
 992         uint32_t count;
 993         uint32_t *data;/* [unique,size_is(count)] */
 994         uint32_t entry_count;
 995         struct lsa_String *entries;/* [unique,size_is(count)] */
 996 };
 997 
 998 
 999 struct netr_LogonUasLogon {
1000         struct {
1001                 const char *server_name;/* [unique,charset(UTF16)] */
1002                 const char *account_name;/* [charset(UTF16)] */
1003                 const char *workstation;/* [charset(UTF16)] */
1004         } in;
1005 
1006         struct {
1007                 struct netr_UasInfo **info;/* [ref] */
1008                 WERROR result;
1009         } out;
1010 
1011 };
1012 
1013 
1014 struct netr_LogonUasLogoff {
1015         struct {
1016                 const char *server_name;/* [unique,charset(UTF16)] */
1017                 const char *account_name;/* [charset(UTF16)] */
1018                 const char *workstation;/* [charset(UTF16)] */
1019         } in;
1020 
1021         struct {
1022                 struct netr_UasLogoffInfo *info;/* [ref] */
1023                 WERROR result;
1024         } out;
1025 
1026 };
1027 
1028 
1029 struct netr_LogonSamLogon {
1030         struct {
1031                 const char *server_name;/* [unique,charset(UTF16)] */
1032                 const char *computer_name;/* [unique,charset(UTF16)] */
1033                 struct netr_Authenticator *credential;/* [unique] */
1034                 enum netr_LogonInfoClass logon_level;
1035                 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1036                 uint16_t validation_level;
1037                 struct netr_Authenticator *return_authenticator;/* [unique] */
1038         } in;
1039 
1040         struct {
1041                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1042                 uint8_t *authoritative;/* [ref] */
1043                 struct netr_Authenticator *return_authenticator;/* [unique] */
1044                 NTSTATUS result;
1045         } out;
1046 
1047 };
1048 
1049 
1050 struct netr_LogonSamLogoff {
1051         struct {
1052                 const char *server_name;/* [unique,charset(UTF16)] */
1053                 const char *computer_name;/* [unique,charset(UTF16)] */
1054                 struct netr_Authenticator *credential;/* [unique] */
1055                 enum netr_LogonInfoClass logon_level;
1056                 union netr_LogonLevel logon;/* [switch_is(logon_level)] */
1057                 struct netr_Authenticator *return_authenticator;/* [unique] */
1058         } in;
1059 
1060         struct {
1061                 struct netr_Authenticator *return_authenticator;/* [unique] */
1062                 NTSTATUS result;
1063         } out;
1064 
1065 };
1066 
1067 
1068 struct netr_ServerReqChallenge {
1069         struct {
1070                 const char *server_name;/* [unique,charset(UTF16)] */
1071                 const char *computer_name;/* [charset(UTF16)] */
1072                 struct netr_Credential *credentials;/* [ref] */
1073         } in;
1074 
1075         struct {
1076                 struct netr_Credential *return_credentials;/* [ref] */
1077                 NTSTATUS result;
1078         } out;
1079 
1080 };
1081 
1082 
1083 struct netr_ServerAuthenticate {
1084         struct {
1085                 const char *server_name;/* [unique,charset(UTF16)] */
1086                 const char *account_name;/* [charset(UTF16)] */
1087                 enum netr_SchannelType secure_channel_type;
1088                 const char *computer_name;/* [charset(UTF16)] */
1089                 struct netr_Credential *credentials;/* [ref] */
1090         } in;
1091 
1092         struct {
1093                 struct netr_Credential *return_credentials;/* [ref] */
1094                 NTSTATUS result;
1095         } out;
1096 
1097 };
1098 
1099 
1100 struct netr_ServerPasswordSet {
1101         struct {
1102                 const char *server_name;/* [unique,charset(UTF16)] */
1103                 const char *account_name;/* [charset(UTF16)] */
1104                 enum netr_SchannelType secure_channel_type;
1105                 const char *computer_name;/* [charset(UTF16)] */
1106                 struct netr_Authenticator *credential;/* [ref] */
1107                 struct samr_Password *new_password;/* [ref] */
1108         } in;
1109 
1110         struct {
1111                 struct netr_Authenticator *return_authenticator;/* [ref] */
1112                 NTSTATUS result;
1113         } out;
1114 
1115 };
1116 
1117 
1118 struct netr_DatabaseDeltas {
1119         struct {
1120                 const char *logon_server;/* [charset(UTF16)] */
1121                 const char *computername;/* [charset(UTF16)] */
1122                 struct netr_Authenticator *credential;/* [ref] */
1123                 enum netr_SamDatabaseID database_id;
1124                 uint32_t preferredmaximumlength;
1125                 struct netr_Authenticator *return_authenticator;/* [ref] */
1126                 uint64_t *sequence_num;/* [ref] */
1127         } in;
1128 
1129         struct {
1130                 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1131                 struct netr_Authenticator *return_authenticator;/* [ref] */
1132                 uint64_t *sequence_num;/* [ref] */
1133                 NTSTATUS result;
1134         } out;
1135 
1136 };
1137 
1138 
1139 struct netr_DatabaseSync {
1140         struct {
1141                 const char *logon_server;/* [charset(UTF16)] */
1142                 const char *computername;/* [charset(UTF16)] */
1143                 struct netr_Authenticator *credential;/* [ref] */
1144                 enum netr_SamDatabaseID database_id;
1145                 uint32_t preferredmaximumlength;
1146                 struct netr_Authenticator *return_authenticator;/* [ref] */
1147                 uint32_t *sync_context;/* [ref] */
1148         } in;
1149 
1150         struct {
1151                 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1152                 struct netr_Authenticator *return_authenticator;/* [ref] */
1153                 uint32_t *sync_context;/* [ref] */
1154                 NTSTATUS result;
1155         } out;
1156 
1157 };
1158 
1159 
1160 struct netr_AccountDeltas {
1161         struct {
1162                 const char *logon_server;/* [unique,charset(UTF16)] */
1163                 const char *computername;/* [charset(UTF16)] */
1164                 struct netr_Authenticator credential;
1165                 struct netr_UAS_INFO_0 uas;
1166                 uint32_t count;
1167                 uint32_t level;
1168                 uint32_t buffersize;
1169                 struct netr_Authenticator *return_authenticator;/* [ref] */
1170         } in;
1171 
1172         struct {
1173                 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1174                 uint32_t *count_returned;/* [ref] */
1175                 uint32_t *total_entries;/* [ref] */
1176                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1177                 struct netr_Authenticator *return_authenticator;/* [ref] */
1178                 NTSTATUS result;
1179         } out;
1180 
1181 };
1182 
1183 
1184 struct netr_AccountSync {
1185         struct {
1186                 const char *logon_server;/* [unique,charset(UTF16)] */
1187                 const char *computername;/* [charset(UTF16)] */
1188                 struct netr_Authenticator credential;
1189                 uint32_t reference;
1190                 uint32_t level;
1191                 uint32_t buffersize;
1192                 struct netr_Authenticator *return_authenticator;/* [ref] */
1193                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1194         } in;
1195 
1196         struct {
1197                 struct netr_AccountBuffer *buffer;/* [ref,subcontext(4)] */
1198                 uint32_t *count_returned;/* [ref] */
1199                 uint32_t *total_entries;/* [ref] */
1200                 uint32_t *next_reference;/* [ref] */
1201                 struct netr_Authenticator *return_authenticator;/* [ref] */
1202                 struct netr_UAS_INFO_0 *recordid;/* [ref] */
1203                 NTSTATUS result;
1204         } out;
1205 
1206 };
1207 
1208 
1209 struct netr_GetDcName {
1210         struct {
1211                 const char *logon_server;/* [charset(UTF16)] */
1212                 const char *domainname;/* [unique,charset(UTF16)] */
1213         } in;
1214 
1215         struct {
1216                 const char **dcname;/* [ref,charset(UTF16)] */
1217                 WERROR result;
1218         } out;
1219 
1220 };
1221 
1222 
1223 struct netr_LogonControl {
1224         struct {
1225                 const char *logon_server;/* [unique,charset(UTF16)] */
1226                 enum netr_LogonControlCode function_code;
1227                 uint32_t level;
1228         } in;
1229 
1230         struct {
1231                 union netr_CONTROL_QUERY_INFORMATION *info;/* [ref,switch_is(level)] */
1232                 WERROR result;
1233         } out;
1234 
1235 };
1236 
1237 
1238 struct netr_GetAnyDCName {
1239         struct {
1240                 const char *logon_server;/* [unique,charset(UTF16)] */
1241                 const char *domainname;/* [unique,charset(UTF16)] */
1242         } in;
1243 
1244         struct {
1245                 const char **dcname;/* [ref,charset(UTF16)] */
1246                 WERROR result;
1247         } out;
1248 
1249 };
1250 
1251 
1252 struct netr_LogonControl2 {
1253         struct {
1254                 const char *logon_server;/* [unique,charset(UTF16)] */
1255                 enum netr_LogonControlCode function_code;
1256                 uint32_t level;
1257                 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1258         } in;
1259 
1260         struct {
1261                 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1262                 WERROR result;
1263         } out;
1264 
1265 };
1266 
1267 
1268 struct netr_ServerAuthenticate2 {
1269         struct {
1270                 const char *server_name;/* [unique,charset(UTF16)] */
1271                 const char *account_name;/* [charset(UTF16)] */
1272                 enum netr_SchannelType secure_channel_type;
1273                 const char *computer_name;/* [charset(UTF16)] */
1274                 struct netr_Credential *credentials;/* [ref] */
1275                 uint32_t *negotiate_flags;/* [ref] */
1276         } in;
1277 
1278         struct {
1279                 struct netr_Credential *return_credentials;/* [ref] */
1280                 uint32_t *negotiate_flags;/* [ref] */
1281                 NTSTATUS result;
1282         } out;
1283 
1284 };
1285 
1286 
1287 struct netr_DatabaseSync2 {
1288         struct {
1289                 const char *logon_server;/* [charset(UTF16)] */
1290                 const char *computername;/* [charset(UTF16)] */
1291                 struct netr_Authenticator *credential;/* [ref] */
1292                 enum netr_SamDatabaseID database_id;
1293                 uint16_t restart_state;
1294                 uint32_t preferredmaximumlength;
1295                 struct netr_Authenticator *return_authenticator;/* [ref] */
1296                 uint32_t *sync_context;/* [ref] */
1297         } in;
1298 
1299         struct {
1300                 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1301                 struct netr_Authenticator *return_authenticator;/* [ref] */
1302                 uint32_t *sync_context;/* [ref] */
1303                 NTSTATUS result;
1304         } out;
1305 
1306 };
1307 
1308 
1309 struct netr_DatabaseRedo {
1310         struct {
1311                 const char *logon_server;/* [charset(UTF16)] */
1312                 const char *computername;/* [charset(UTF16)] */
1313                 struct netr_Authenticator *credential;/* [ref] */
1314                 struct netr_ChangeLogEntry change_log_entry;/* [subcontext_size(change_log_entry_size),subcontext(4)] */
1315                 uint32_t change_log_entry_size;/* [value(ndr_size_netr_ChangeLogEntry(&change_log_entry,ndr->iconv_convenience,ndr->flags))] */
1316                 struct netr_Authenticator *return_authenticator;/* [ref] */
1317         } in;
1318 
1319         struct {
1320                 struct netr_DELTA_ENUM_ARRAY **delta_enum_array;/* [ref] */
1321                 struct netr_Authenticator *return_authenticator;/* [ref] */
1322                 NTSTATUS result;
1323         } out;
1324 
1325 };
1326 
1327 
1328 struct netr_LogonControl2Ex {
1329         struct {
1330                 const char *logon_server;/* [unique,charset(UTF16)] */
1331                 enum netr_LogonControlCode function_code;
1332                 uint32_t level;
1333                 union netr_CONTROL_DATA_INFORMATION *data;/* [ref,switch_is(function_code)] */
1334         } in;
1335 
1336         struct {
1337                 union netr_CONTROL_QUERY_INFORMATION *query;/* [ref,switch_is(level)] */
1338                 WERROR result;
1339         } out;
1340 
1341 };
1342 
1343 
1344 struct netr_NetrEnumerateTrustedDomains {
1345         struct {
1346                 const char *server_name;/* [unique,charset(UTF16)] */
1347         } in;
1348 
1349         struct {
1350                 struct netr_Blob *trusted_domains_blob;/* [ref] */
1351                 WERROR result;
1352         } out;
1353 
1354 };
1355 
1356 
1357 struct netr_DsRGetDCName {
1358         struct {
1359                 const char *server_unc;/* [unique,charset(UTF16)] */
1360                 const char *domain_name;/* [unique,charset(UTF16)] */
1361                 struct GUID *domain_guid;/* [unique] */
1362                 struct GUID *site_guid;/* [unique] */
1363                 uint32_t flags;
1364         } in;
1365 
1366         struct {
1367                 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1368                 WERROR result;
1369         } out;
1370 
1371 };
1372 
1373 
1374 struct netr_LogonGetCapabilities {
1375         struct {
1376                 const char *server_name;/* [charset(UTF16)] */
1377                 const char *computer_name;/* [unique,charset(UTF16)] */
1378                 struct netr_Authenticator *credential;/* [ref] */
1379                 uint32_t query_level;
1380                 struct netr_Authenticator *return_authenticator;/* [ref] */
1381         } in;
1382 
1383         struct {
1384                 union netr_Capabilities *capabilities;/* [ref,switch_is(query_level)] */
1385                 struct netr_Authenticator *return_authenticator;/* [ref] */
1386                 NTSTATUS result;
1387         } out;
1388 
1389 };
1390 
1391 
1392 struct netr_NETRLOGONSETSERVICEBITS {
1393         struct {
1394                 WERROR result;
1395         } out;
1396 
1397 };
1398 
1399 
1400 struct netr_LogonGetTrustRid {
1401         struct {
1402                 const char *server_name;/* [unique,charset(UTF16)] */
1403                 const char *domain_name;/* [unique,charset(UTF16)] */
1404         } in;
1405 
1406         struct {
1407                 uint32_t *rid;/* [ref] */
1408                 WERROR result;
1409         } out;
1410 
1411 };
1412 
1413 
1414 struct netr_NETRLOGONCOMPUTESERVERDIGEST {
1415         struct {
1416                 WERROR result;
1417         } out;
1418 
1419 };
1420 
1421 
1422 struct netr_NETRLOGONCOMPUTECLIENTDIGEST {
1423         struct {
1424                 WERROR result;
1425         } out;
1426 
1427 };
1428 
1429 
1430 struct netr_ServerAuthenticate3 {
1431         struct {
1432                 const char *server_name;/* [unique,charset(UTF16)] */
1433                 const char *account_name;/* [charset(UTF16)] */
1434                 enum netr_SchannelType secure_channel_type;
1435                 const char *computer_name;/* [charset(UTF16)] */
1436                 struct netr_Credential *credentials;/* [ref] */
1437                 uint32_t *negotiate_flags;/* [ref] */
1438         } in;
1439 
1440         struct {
1441                 struct netr_Credential *return_credentials;/* [ref] */
1442                 uint32_t *rid;/* [ref] */
1443                 uint32_t *negotiate_flags;/* [ref] */
1444                 NTSTATUS result;
1445         } out;
1446 
1447 };
1448 
1449 
1450 struct netr_DsRGetDCNameEx {
1451         struct {
1452                 const char *server_unc;/* [unique,charset(UTF16)] */
1453                 const char *domain_name;/* [unique,charset(UTF16)] */
1454                 struct GUID *domain_guid;/* [unique] */
1455                 const char *site_name;/* [unique,charset(UTF16)] */
1456                 uint32_t flags;
1457         } in;
1458 
1459         struct {
1460                 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1461                 WERROR result;
1462         } out;
1463 
1464 };
1465 
1466 
1467 struct netr_DsRGetSiteName {
1468         struct {
1469                 const char *computer_name;/* [unique,charset(UTF16)] */
1470         } in;
1471 
1472         struct {
1473                 const char **site;/* [ref,charset(UTF16)] */
1474                 WERROR result;
1475         } out;
1476 
1477 };
1478 
1479 
1480 struct netr_LogonGetDomainInfo {
1481         struct {
1482                 const char *server_name;/* [charset(UTF16)] */
1483                 const char *computer_name;/* [unique,charset(UTF16)] */
1484                 struct netr_Authenticator *credential;/* [ref] */
1485                 uint32_t level;
1486                 union netr_DomainQuery query;/* [switch_is(level)] */
1487                 struct netr_Authenticator *return_authenticator;/* [ref] */
1488         } in;
1489 
1490         struct {
1491                 union netr_DomainInfo *info;/* [ref,switch_is(level)] */
1492                 struct netr_Authenticator *return_authenticator;/* [ref] */
1493                 NTSTATUS result;
1494         } out;
1495 
1496 };
1497 
1498 
1499 struct netr_ServerPasswordSet2 {
1500         struct {
1501                 const char *server_name;/* [unique,charset(UTF16)] */
1502                 const char *account_name;/* [charset(UTF16)] */
1503                 enum netr_SchannelType secure_channel_type;
1504                 const char *computer_name;/* [charset(UTF16)] */
1505                 struct netr_Authenticator *credential;/* [ref] */
1506                 struct netr_CryptPassword *new_password;/* [ref] */
1507         } in;
1508 
1509         struct {
1510                 struct netr_Authenticator *return_authenticator;/* [ref] */
1511                 NTSTATUS result;
1512         } out;
1513 
1514 };
1515 
1516 
1517 struct netr_ServerPasswordGet {
1518         struct {
1519                 const char *server_name;/* [unique,charset(UTF16)] */
1520                 const char *account_name;/* [charset(UTF16)] */
1521                 enum netr_SchannelType secure_channel_type;
1522                 const char *computer_name;/* [charset(UTF16)] */
1523                 struct netr_Authenticator *credential;/* [ref] */
1524         } in;
1525 
1526         struct {
1527                 struct netr_Authenticator *return_authenticator;/* [ref] */
1528                 struct samr_Password *password;/* [ref] */
1529                 WERROR result;
1530         } out;
1531 
1532 };
1533 
1534 
1535 struct netr_NETRLOGONSENDTOSAM {
1536         struct {
1537                 WERROR result;
1538         } out;
1539 
1540 };
1541 
1542 
1543 struct netr_DsRAddressToSitenamesW {
1544         struct {
1545                 const char *server_name;/* [unique,charset(UTF16)] */
1546                 uint32_t count;/* [range(0,32000)] */
1547                 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1548         } in;
1549 
1550         struct {
1551                 struct netr_DsRAddressToSitenamesWCtr **ctr;/* [ref] */
1552                 WERROR result;
1553         } out;
1554 
1555 };
1556 
1557 
1558 struct netr_DsRGetDCNameEx2 {
1559         struct {
1560                 const char *server_unc;/* [unique,charset(UTF16)] */
1561                 const char *client_account;/* [unique,charset(UTF16)] */
1562                 uint32_t mask;
1563                 const char *domain_name;/* [unique,charset(UTF16)] */
1564                 struct GUID *domain_guid;/* [unique] */
1565                 const char *site_name;/* [unique,charset(UTF16)] */
1566                 uint32_t flags;
1567         } in;
1568 
1569         struct {
1570                 struct netr_DsRGetDCNameInfo **info;/* [ref] */
1571                 WERROR result;
1572         } out;
1573 
1574 };
1575 
1576 
1577 struct netr_NETRLOGONGETTIMESERVICEPARENTDOMAIN {
1578         struct {
1579                 WERROR result;
1580         } out;
1581 
1582 };
1583 
1584 
1585 struct netr_NetrEnumerateTrustedDomainsEx {
1586         struct {
1587                 const char *server_name;/* [unique,charset(UTF16)] */
1588         } in;
1589 
1590         struct {
1591                 struct netr_DomainTrustList *dom_trust_list;/* [ref] */
1592                 WERROR result;
1593         } out;
1594 
1595 };
1596 
1597 
1598 struct netr_DsRAddressToSitenamesExW {
1599         struct {
1600                 const char *server_name;/* [unique,charset(UTF16)] */
1601                 uint32_t count;/* [range(0,32000)] */
1602                 struct netr_DsRAddress *addresses;/* [ref,size_is(count)] */
1603         } in;
1604 
1605         struct {
1606                 struct netr_DsRAddressToSitenamesExWCtr **ctr;/* [ref] */
1607                 WERROR result;
1608         } out;
1609 
1610 };
1611 
1612 
1613 struct netr_DsrGetDcSiteCoverageW {
1614         struct {
1615                 const char *server_name;/* [unique,charset(UTF16)] */
1616         } in;
1617 
1618         struct {
1619                 struct DcSitesCtr **ctr;/* [ref] */
1620                 WERROR result;
1621         } out;
1622 
1623 };
1624 
1625 
1626 struct netr_LogonSamLogonEx {
1627         struct {
1628                 const char *server_name;/* [unique,charset(UTF16)] */
1629                 const char *computer_name;/* [unique,charset(UTF16)] */
1630                 enum netr_LogonInfoClass logon_level;
1631                 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1632                 uint16_t validation_level;
1633                 uint32_t *flags;/* [ref] */
1634         } in;
1635 
1636         struct {
1637                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1638                 uint8_t *authoritative;/* [ref] */
1639                 uint32_t *flags;/* [ref] */
1640                 NTSTATUS result;
1641         } out;
1642 
1643 };
1644 
1645 
1646 struct netr_DsrEnumerateDomainTrusts {
1647         struct {
1648                 const char *server_name;/* [unique,charset(UTF16)] */
1649                 uint32_t trust_flags;
1650         } in;
1651 
1652         struct {
1653                 struct netr_DomainTrustList *trusts;/* [ref] */
1654                 WERROR result;
1655         } out;
1656 
1657 };
1658 
1659 
1660 struct netr_DsrDeregisterDNSHostRecords {
1661         struct {
1662                 const char *server_name;/* [unique,charset(UTF16)] */
1663                 const char *domain;/* [unique,charset(UTF16)] */
1664                 struct GUID *domain_guid;/* [unique] */
1665                 struct GUID *dsa_guid;/* [unique] */
1666                 const char *dns_host;/* [ref,charset(UTF16)] */
1667         } in;
1668 
1669         struct {
1670                 WERROR result;
1671         } out;
1672 
1673 };
1674 
1675 
1676 struct netr_ServerTrustPasswordsGet {
1677         struct {
1678                 const char *server_name;/* [unique,charset(UTF16)] */
1679                 const char *account_name;/* [charset(UTF16)] */
1680                 enum netr_SchannelType secure_channel_type;
1681                 const char *computer_name;/* [charset(UTF16)] */
1682                 struct netr_Authenticator *credential;/* [ref] */
1683         } in;
1684 
1685         struct {
1686                 struct netr_Authenticator *return_authenticator;/* [ref] */
1687                 struct samr_Password *password;/* [ref] */
1688                 struct samr_Password *password2;/* [ref] */
1689                 NTSTATUS result;
1690         } out;
1691 
1692 };
1693 
1694 
1695 struct netr_DsRGetForestTrustInformation {
1696         struct {
1697                 const char *server_name;/* [unique,charset(UTF16)] */
1698                 const char *trusted_domain_name;/* [unique,charset(UTF16)] */
1699                 uint32_t flags;
1700         } in;
1701 
1702         struct {
1703                 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1704                 WERROR result;
1705         } out;
1706 
1707 };
1708 
1709 
1710 struct netr_GetForestTrustInformation {
1711         struct {
1712                 const char *server_name;/* [unique,charset(UTF16)] */
1713                 const char *trusted_domain_name;/* [ref,charset(UTF16)] */
1714                 struct netr_Authenticator *credential;/* [ref] */
1715                 uint32_t flags;
1716         } in;
1717 
1718         struct {
1719                 struct netr_Authenticator *return_authenticator;/* [ref] */
1720                 struct lsa_ForestTrustInformation **forest_trust_info;/* [ref] */
1721                 WERROR result;
1722         } out;
1723 
1724 };
1725 
1726 
1727 struct netr_LogonSamLogonWithFlags {
1728         struct {
1729                 const char *server_name;/* [unique,charset(UTF16)] */
1730                 const char *computer_name;/* [unique,charset(UTF16)] */
1731                 struct netr_Authenticator *credential;/* [unique] */
1732                 enum netr_LogonInfoClass logon_level;
1733                 union netr_LogonLevel *logon;/* [ref,switch_is(logon_level)] */
1734                 uint16_t validation_level;
1735                 struct netr_Authenticator *return_authenticator;/* [unique] */
1736                 uint32_t *flags;/* [ref] */
1737         } in;
1738 
1739         struct {
1740                 union netr_Validation *validation;/* [ref,switch_is(validation_level)] */
1741                 uint8_t *authoritative;/* [ref] */
1742                 struct netr_Authenticator *return_authenticator;/* [unique] */
1743                 uint32_t *flags;/* [ref] */
1744                 NTSTATUS result;
1745         } out;
1746 
1747 };
1748 
1749 
1750 struct netr_ServerGetTrustInfo {
1751         struct {
1752                 const char *server_name;/* [unique,charset(UTF16)] */
1753                 const char *account_name;/* [ref,charset(UTF16)] */
1754                 enum netr_SchannelType secure_channel_type;
1755                 const char *computer_name;/* [ref,charset(UTF16)] */
1756                 struct netr_Authenticator *credential;/* [ref] */
1757         } in;
1758 
1759         struct {
1760                 struct netr_Authenticator *return_authenticator;/* [ref] */
1761                 struct samr_Password *new_owf_password;/* [ref] */
1762                 struct samr_Password *old_owf_password;/* [ref] */
1763                 struct netr_TrustInfo **trust_info;/* [ref] */
1764                 NTSTATUS result;
1765         } out;
1766 
1767 };
1768 
1769 #endif /* _HEADER_netlogon */

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