root/librpc/gen_ndr/drsuapi.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/security.h"
   8 #include "librpc/gen_ndr/misc.h"
   9 #include "librpc/gen_ndr/samr.h"
  10 #ifndef _HEADER_drsuapi
  11 #define _HEADER_drsuapi
  12 
  13 #define DRSUAPI_DS_BIND_GUID    ( "e24d201a-4fd6-11d1-a3da-0000f875ae0d" )
  14 #define DRSUAPI_DS_BIND_GUID_W2K        ( "6abec3d1-3054-41c8-a362-5a0c5b7d5d71" )
  15 #define DRSUAPI_DS_BIND_GUID_W2K3       ( "6afab99c-6e26-464a-975f-f58f105218bc" )
  16 #define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR   ( 0x1 )
  17 #define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID       ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
  18 /* bitmap drsuapi_SupportedExtensions */
  19 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
  20 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
  21 #define DRSUAPI_SUPPORTED_EXTENSION_REMOVEAPI ( 0x00000004 )
  22 #define DRSUAPI_SUPPORTED_EXTENSION_MOVEREQ_V2 ( 0x00000008 )
  23 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
  24 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
  25 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
  26 #define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
  27 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
  28 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
  29 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
  30 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V2 ( 0x00000800 )
  31 #define DRSUAPI_SUPPORTED_EXTENSION_INSTANCE_TYPE_NOT_REQ_ON_MOD ( 0x00001000 )
  32 #define DRSUAPI_SUPPORTED_EXTENSION_CRYPTO_BIND ( 0x00002000 )
  33 #define DRSUAPI_SUPPORTED_EXTENSION_GET_REPL_INFO ( 0x00004000 )
  34 #define DRSUAPI_SUPPORTED_EXTENSION_STRONG_ENCRYPTION ( 0x00008000 )
  35 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V01 ( 0x00010000 )
  36 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
  37 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
  38 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
  39 #define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
  40 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
  41 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
  42 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
  43 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V8 ( 0x01000000 )
  44 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V5 ( 0x02000000 )
  45 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V6 ( 0x04000000 )
  46 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRYREPLY_V3 ( 0x08000000 )
  47 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
  48 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
  49 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
  50 #define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
  51 #define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
  52 #define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
  53 
  54 /* bitmap drsuapi_SupportedExtensionsExt */
  55 #define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
  56 #define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
  57 
  58 struct drsuapi_DsBindInfo24 {
  59         uint32_t supported_extensions;
  60         struct GUID site_guid;
  61         uint32_t pid;
  62 };
  63 
  64 struct drsuapi_DsBindInfo28 {
  65         uint32_t supported_extensions;
  66         struct GUID site_guid;
  67         uint32_t pid;
  68         uint32_t repl_epoch;
  69 };
  70 
  71 struct drsuapi_DsBindInfo48 {
  72         uint32_t supported_extensions;
  73         struct GUID site_guid;
  74         uint32_t pid;
  75         uint32_t repl_epoch;
  76         uint32_t supported_extensions_ext;
  77         struct GUID config_dn_guid;
  78 };
  79 
  80 struct drsuapi_DsBindInfoFallBack {
  81         DATA_BLOB info;/* [flag(LIBNDR_FLAG_REMAINING)] */
  82 };
  83 
  84 union drsuapi_DsBindInfo {
  85         struct drsuapi_DsBindInfo24 info24;/* [subcontext(4),case(24)] */
  86         struct drsuapi_DsBindInfo28 info28;/* [subcontext(4),case(28)] */
  87         struct drsuapi_DsBindInfo48 info48;/* [subcontext(4),case(48)] */
  88         struct drsuapi_DsBindInfoFallBack FallBack;/* [subcontext(4),default] */
  89 }/* [nodiscriminant] */;
  90 
  91 struct drsuapi_DsBindInfoCtr {
  92         uint32_t length;/* [range(1,10000)] */
  93         union drsuapi_DsBindInfo info;/* [switch_is(length)] */
  94 };
  95 
  96 struct drsuapi_DsReplicaObjectIdentifier {
  97         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier(r,ndr->iconv_convenience,ndr->flags)-4)] */
  98         uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
  99         struct GUID guid;
 100         struct dom_sid28 sid;
 101         uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
 102         const char *dn;/* [charset(UTF16),size_is(__ndr_size_dn+1)] */
 103 }/* [gensize,public] */;
 104 
 105 /* bitmap drsuapi_DsReplicaSyncOptions */
 106 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
 107 #define DRSUAPI_DS_REPLICA_SYNC_WRITEABLE ( 0x00000002 )
 108 #define DRSUAPI_DS_REPLICA_SYNC_PERIODIC ( 0x00000004 )
 109 #define DRSUAPI_DS_REPLICA_SYNC_INTERSITE_MESSAGING ( 0x00000008 )
 110 #define DRSUAPI_DS_REPLICA_SYNC_ALL_SOURCES ( 0x00000010 )
 111 #define DRSUAPI_DS_REPLICA_SYNC_FULL ( 0x00000020 )
 112 #define DRSUAPI_DS_REPLICA_SYNC_URGENT ( 0x00000040 )
 113 #define DRSUAPI_DS_REPLICA_SYNC_NO_DISCARD ( 0x00000080 )
 114 #define DRSUAPI_DS_REPLICA_SYNC_FORCE ( 0x00000100 )
 115 #define DRSUAPI_DS_REPLICA_SYNC_ADD_REFERENCE ( 0x00000200 )
 116 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_COMPLETED ( 0x00000400 )
 117 #define DRSUAPI_DS_REPLICA_SYNC_TWO_WAY ( 0x00000800 )
 118 #define DRSUAPI_DS_REPLICA_SYNC_NEVER_NOTIFY ( 0x00001000 )
 119 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL ( 0x00002000 )
 120 #define DRSUAPI_DS_REPLICA_SYNC_USE_COMPRESSION ( 0x00004000 )
 121 #define DRSUAPI_DS_REPLICA_SYNC_ABANDONED ( 0x00008000 )
 122 #define DRSUAPI_DS_REPLICA_SYNC_INITIAL_IN_PROGRESS ( 0x00010000 )
 123 #define DRSUAPI_DS_REPLICA_SYNC_PARTIAL_ATTRIBUTE_SET ( 0x00020000 )
 124 #define DRSUAPI_DS_REPLICA_SYNC_REQUEUE ( 0x00040000 )
 125 #define DRSUAPI_DS_REPLICA_SYNC_NOTIFICATION ( 0x00080000 )
 126 #define DRSUAPI_DS_REPLICA_SYNC_ASYNCHRONOUS_REPLICA ( 0x00100000 )
 127 #define DRSUAPI_DS_REPLICA_SYNC_CRITICAL ( 0x00200000 )
 128 #define DRSUAPI_DS_REPLICA_SYNC_FULL_IN_PROGRESS ( 0x00400000 )
 129 #define DRSUAPI_DS_REPLICA_SYNC_PREEMPTED ( 0x00800000 )
 130 
 131 struct drsuapi_DsReplicaSyncRequest1 {
 132         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
 133         struct GUID source_dsa_guid;
 134         const char * other_info;/* [unique,flag(LIBNDR_FLAG_STR_ASCII|LIBNDR_FLAG_STR_NULLTERM)] */
 135         uint32_t options;
 136 };
 137 
 138 union drsuapi_DsReplicaSyncRequest {
 139         struct drsuapi_DsReplicaSyncRequest1 req1;/* [case] */
 140 }/* [switch_type(int32)] */;
 141 
 142 struct drsuapi_DsReplicaHighWaterMark {
 143         uint64_t tmp_highest_usn;
 144         uint64_t reserved_usn;
 145         uint64_t highest_usn;
 146 }/* [public] */;
 147 
 148 struct drsuapi_DsReplicaCursor {
 149         struct GUID source_dsa_invocation_id;
 150         uint64_t highest_usn;
 151 }/* [public] */;
 152 
 153 struct drsuapi_DsReplicaCursorCtrEx {
 154         uint32_t version;/* [value] */
 155         uint32_t reserved1;/* [value(0)] */
 156         uint32_t count;/* [range(0,0x100000)] */
 157         uint32_t reserved2;/* [value(0)] */
 158         struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
 159 };
 160 
 161 /* bitmap drsuapi_DsReplicaNeighbourFlags */
 162 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
 163 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
 164 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
 165 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
 166 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
 167 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
 168 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
 169 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
 170 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
 171 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
 172 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
 173 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
 174 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
 175 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
 176 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
 177 
 178 enum drsuapi_DsExtendedOperation
 179 #ifndef USE_UINT_ENUMS
 180  {
 181         DRSUAPI_EXOP_NONE=0x00000000,
 182         DRSUAPI_EXOP_FSMO_REQ_ROLE=0x00000001,
 183         DRSUAPI_EXOP_FSMO_RID_ALLOC=0x00000002,
 184         DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=0x00000003,
 185         DRSUAPI_EXOP_FSMO_REQ_PDC=0x00000004,
 186         DRSUAPI_EXOP_FSMO_ABANDON_ROLE=0x00000005,
 187         DRSUAPI_EXOP_REPL_OBJ=0x00000006,
 188         DRSUAPI_EXOP_REPL_SECRET=0x00000007
 189 }
 190 #else
 191  { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
 192 #define DRSUAPI_EXOP_NONE ( 0x00000000 )
 193 #define DRSUAPI_EXOP_FSMO_REQ_ROLE ( 0x00000001 )
 194 #define DRSUAPI_EXOP_FSMO_RID_ALLOC ( 0x00000002 )
 195 #define DRSUAPI_EXOP_FSMO_RID_REQ_ROLE ( 0x00000003 )
 196 #define DRSUAPI_EXOP_FSMO_REQ_PDC ( 0x00000004 )
 197 #define DRSUAPI_EXOP_FSMO_ABANDON_ROLE ( 0x00000005 )
 198 #define DRSUAPI_EXOP_REPL_OBJ ( 0x00000006 )
 199 #define DRSUAPI_EXOP_REPL_SECRET ( 0x00000007 )
 200 #endif
 201 ;
 202 
 203 enum drsuapi_DsExtendedError
 204 #ifndef USE_UINT_ENUMS
 205  {
 206         DRSUAPI_EXOP_ERR_NONE=0x00000000,
 207         DRSUAPI_EXOP_ERR_SUCCESS=0x00000001,
 208         DRSUAPI_EXOP_ERR_UNKNOWN_OP=0x00000002,
 209         DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=0x00000003,
 210         DRSUAPI_EXOP_ERR_UPDATE_ERR=0x00000004,
 211         DRSUAPI_EXOP_ERR_EXCEPTION=0x00000005,
 212         DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=0x00000006,
 213         DRSUAPI_EXOP_ERR_RID_ALLOC=0x00000007,
 214         DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=0x00000008,
 215         DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=0x00000009,
 216         DRSUAPI_EXOP_ERR_MISMATCH=0x0000000A,
 217         DRSUAPI_EXOP_ERR_COULDNT_CONTACT=0x0000000B,
 218         DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=0x0000000C,
 219         DRSUAPI_EXOP_ERR_DIR_ERROR=0x0000000D,
 220         DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=0x0000000E,
 221         DRSUAPI_EXOP_ERR_ACCESS_DENIED=0x0000000F,
 222         DRSUAPI_EXOP_ERR_PARAM_ERROR=0x00000010
 223 }
 224 #else
 225  { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
 226 #define DRSUAPI_EXOP_ERR_NONE ( 0x00000000 )
 227 #define DRSUAPI_EXOP_ERR_SUCCESS ( 0x00000001 )
 228 #define DRSUAPI_EXOP_ERR_UNKNOWN_OP ( 0x00000002 )
 229 #define DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER ( 0x00000003 )
 230 #define DRSUAPI_EXOP_ERR_UPDATE_ERR ( 0x00000004 )
 231 #define DRSUAPI_EXOP_ERR_EXCEPTION ( 0x00000005 )
 232 #define DRSUAPI_EXOP_ERR_UNKNOWN_CALLER ( 0x00000006 )
 233 #define DRSUAPI_EXOP_ERR_RID_ALLOC ( 0x00000007 )
 234 #define DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED ( 0x00000008 )
 235 #define DRSUAPI_EXOP_ERR_FMSO_PENDING_OP ( 0x00000009 )
 236 #define DRSUAPI_EXOP_ERR_MISMATCH ( 0x0000000A )
 237 #define DRSUAPI_EXOP_ERR_COULDNT_CONTACT ( 0x0000000B )
 238 #define DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES ( 0x0000000C )
 239 #define DRSUAPI_EXOP_ERR_DIR_ERROR ( 0x0000000D )
 240 #define DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS ( 0x0000000E )
 241 #define DRSUAPI_EXOP_ERR_ACCESS_DENIED ( 0x0000000F )
 242 #define DRSUAPI_EXOP_ERR_PARAM_ERROR ( 0x00000010 )
 243 #endif
 244 ;
 245 
 246 struct drsuapi_DsGetNCChangesRequest5 {
 247         struct GUID destination_dsa_guid;
 248         struct GUID source_dsa_invocation_id;
 249         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 250         struct drsuapi_DsReplicaHighWaterMark highwatermark;
 251         struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
 252         uint32_t replica_flags;
 253         uint32_t max_object_count;
 254         uint32_t max_ndr_size;
 255         enum drsuapi_DsExtendedOperation extended_op;
 256         uint64_t fsmo_info;
 257 };
 258 
 259 struct drsuapi_DsReplicaOID {
 260         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
 261         const char *oid;/* [unique,charset(DOS),size_is(__ndr_size)] */
 262 }/* [nopush,nopull] */;
 263 
 264 struct drsuapi_DsReplicaOIDMapping {
 265         uint32_t id_prefix;
 266         struct drsuapi_DsReplicaOID oid;
 267 };
 268 
 269 struct drsuapi_DsReplicaOIDMapping_Ctr {
 270         uint32_t num_mappings;/* [range(0,0x100000)] */
 271         struct drsuapi_DsReplicaOIDMapping *mappings;/* [unique,size_is(num_mappings)] */
 272 }/* [public] */;
 273 
 274 enum drsuapi_DsObjectClassId
 275 #ifndef USE_UINT_ENUMS
 276  {
 277         DRSUAPI_OBJECTCLASS_top=0x00010000,
 278         DRSUAPI_OBJECTCLASS_classSchema=0x0003000d,
 279         DRSUAPI_OBJECTCLASS_attributeSchema=0x0003000e
 280 }
 281 #else
 282  { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
 283 #define DRSUAPI_OBJECTCLASS_top ( 0x00010000 )
 284 #define DRSUAPI_OBJECTCLASS_classSchema ( 0x0003000d )
 285 #define DRSUAPI_OBJECTCLASS_attributeSchema ( 0x0003000e )
 286 #endif
 287 ;
 288 
 289 enum drsuapi_DsAttributeId
 290 #ifndef USE_UINT_ENUMS
 291  {
 292         DRSUAPI_ATTRIBUTE_objectClass=0x00000000,
 293         DRSUAPI_ATTRIBUTE_description=0x0000000d,
 294         DRSUAPI_ATTRIBUTE_member=0x0000001f,
 295         DRSUAPI_ATTRIBUTE_instanceType=0x00020001,
 296         DRSUAPI_ATTRIBUTE_whenCreated=0x00020002,
 297         DRSUAPI_ATTRIBUTE_hasMasterNCs=0x0002000e,
 298         DRSUAPI_ATTRIBUTE_governsID=0x00020016,
 299         DRSUAPI_ATTRIBUTE_attributeID=0x0002001e,
 300         DRSUAPI_ATTRIBUTE_attributeSyntax=0x00020020,
 301         DRSUAPI_ATTRIBUTE_isSingleValued=0x00020021,
 302         DRSUAPI_ATTRIBUTE_rangeLower=0x00020022,
 303         DRSUAPI_ATTRIBUTE_rangeUpper=0x00020023,
 304         DRSUAPI_ATTRIBUTE_dMDLocation=0x00020024,
 305         DRSUAPI_ATTRIBUTE_objectVersion=0x0002004c,
 306         DRSUAPI_ATTRIBUTE_invocationId=0x00020073,
 307         DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=0x000200a9,
 308         DRSUAPI_ATTRIBUTE_adminDisplayName=0x000200c2,
 309         DRSUAPI_ATTRIBUTE_adminDescription=0x000200e2,
 310         DRSUAPI_ATTRIBUTE_oMSyntax=0x000200e7,
 311         DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=0x00020119,
 312         DRSUAPI_ATTRIBUTE_searchFlags=0x0002014e,
 313         DRSUAPI_ATTRIBUTE_lDAPDisplayName=0x000201cc,
 314         DRSUAPI_ATTRIBUTE_name=0x00090001,
 315         DRSUAPI_ATTRIBUTE_userAccountControl=0x00090008,
 316         DRSUAPI_ATTRIBUTE_currentValue=0x0009001b,
 317         DRSUAPI_ATTRIBUTE_homeDirectory=0x0009002c,
 318         DRSUAPI_ATTRIBUTE_homeDrive=0x0009002d,
 319         DRSUAPI_ATTRIBUTE_scriptPath=0x0009003e,
 320         DRSUAPI_ATTRIBUTE_profilePath=0x0009008b,
 321         DRSUAPI_ATTRIBUTE_objectSid=0x00090092,
 322         DRSUAPI_ATTRIBUTE_schemaIDGUID=0x00090094,
 323         DRSUAPI_ATTRIBUTE_dBCSPwd=0x00090037,
 324         DRSUAPI_ATTRIBUTE_logonHours=0x00090040,
 325         DRSUAPI_ATTRIBUTE_userWorkstations=0x00090056,
 326         DRSUAPI_ATTRIBUTE_unicodePwd=0x0009005a,
 327         DRSUAPI_ATTRIBUTE_ntPwdHistory=0x0009005e,
 328         DRSUAPI_ATTRIBUTE_priorValue=0x00090064,
 329         DRSUAPI_ATTRIBUTE_supplementalCredentials=0x0009007d,
 330         DRSUAPI_ATTRIBUTE_trustAuthIncoming=0x00090081,
 331         DRSUAPI_ATTRIBUTE_trustAuthOutgoing=0x00090087,
 332         DRSUAPI_ATTRIBUTE_lmPwdHistory=0x000900a0,
 333         DRSUAPI_ATTRIBUTE_sAMAccountName=0x000900dd,
 334         DRSUAPI_ATTRIBUTE_sAMAccountType=0x0009012e,
 335         DRSUAPI_ATTRIBUTE_fSMORoleOwner=0x00090171,
 336         DRSUAPI_ATTRIBUTE_systemFlags=0x00090177,
 337         DRSUAPI_ATTRIBUTE_serverReference=0x00090203,
 338         DRSUAPI_ATTRIBUTE_serverReferenceBL=0x00090204,
 339         DRSUAPI_ATTRIBUTE_initialAuthIncoming=0x0009021b,
 340         DRSUAPI_ATTRIBUTE_initialAuthOutgoing=0x0009021c,
 341         DRSUAPI_ATTRIBUTE_wellKnownObjects=0x0009026a,
 342         DRSUAPI_ATTRIBUTE_dNSHostName=0x0009026b,
 343         DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=0x0009027f,
 344         DRSUAPI_ATTRIBUTE_userPrincipalName=0x00090290,
 345         DRSUAPI_ATTRIBUTE_groupType=0x000902ee,
 346         DRSUAPI_ATTRIBUTE_servicePrincipalName=0x00090303,
 347         DRSUAPI_ATTRIBUTE_objectCategory=0x0009030e,
 348         DRSUAPI_ATTRIBUTE_gPLink=0x0009037b,
 349         DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=0x000905b3,
 350         DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=0x000906f6,
 351         DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=0x0009071c,
 352         DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=0x0009072c
 353 }
 354 #else
 355  { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
 356 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
 357 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
 358 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
 359 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
 360 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
 361 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
 362 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
 363 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
 364 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
 365 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
 366 #define DRSUAPI_ATTRIBUTE_rangeLower ( 0x00020022 )
 367 #define DRSUAPI_ATTRIBUTE_rangeUpper ( 0x00020023 )
 368 #define DRSUAPI_ATTRIBUTE_dMDLocation ( 0x00020024 )
 369 #define DRSUAPI_ATTRIBUTE_objectVersion ( 0x0002004c )
 370 #define DRSUAPI_ATTRIBUTE_invocationId ( 0x00020073 )
 371 #define DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly ( 0x000200a9 )
 372 #define DRSUAPI_ATTRIBUTE_adminDisplayName ( 0x000200c2 )
 373 #define DRSUAPI_ATTRIBUTE_adminDescription ( 0x000200e2 )
 374 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
 375 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
 376 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
 377 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
 378 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
 379 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
 380 #define DRSUAPI_ATTRIBUTE_currentValue ( 0x0009001b )
 381 #define DRSUAPI_ATTRIBUTE_homeDirectory ( 0x0009002c )
 382 #define DRSUAPI_ATTRIBUTE_homeDrive ( 0x0009002d )
 383 #define DRSUAPI_ATTRIBUTE_scriptPath ( 0x0009003e )
 384 #define DRSUAPI_ATTRIBUTE_profilePath ( 0x0009008b )
 385 #define DRSUAPI_ATTRIBUTE_objectSid ( 0x00090092 )
 386 #define DRSUAPI_ATTRIBUTE_schemaIDGUID ( 0x00090094 )
 387 #define DRSUAPI_ATTRIBUTE_dBCSPwd ( 0x00090037 )
 388 #define DRSUAPI_ATTRIBUTE_logonHours ( 0x00090040 )
 389 #define DRSUAPI_ATTRIBUTE_userWorkstations ( 0x00090056 )
 390 #define DRSUAPI_ATTRIBUTE_unicodePwd ( 0x0009005a )
 391 #define DRSUAPI_ATTRIBUTE_ntPwdHistory ( 0x0009005e )
 392 #define DRSUAPI_ATTRIBUTE_priorValue ( 0x00090064 )
 393 #define DRSUAPI_ATTRIBUTE_supplementalCredentials ( 0x0009007d )
 394 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
 395 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
 396 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
 397 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
 398 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
 399 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
 400 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
 401 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
 402 #define DRSUAPI_ATTRIBUTE_serverReferenceBL ( 0x00090204 )
 403 #define DRSUAPI_ATTRIBUTE_initialAuthIncoming ( 0x0009021b )
 404 #define DRSUAPI_ATTRIBUTE_initialAuthOutgoing ( 0x0009021c )
 405 #define DRSUAPI_ATTRIBUTE_wellKnownObjects ( 0x0009026a )
 406 #define DRSUAPI_ATTRIBUTE_dNSHostName ( 0x0009026b )
 407 #define DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet ( 0x0009027f )
 408 #define DRSUAPI_ATTRIBUTE_userPrincipalName ( 0x00090290 )
 409 #define DRSUAPI_ATTRIBUTE_groupType ( 0x000902ee )
 410 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
 411 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
 412 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
 413 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
 414 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
 415 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
 416 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
 417 #endif
 418 ;
 419 
 420 struct drsuapi_DsPartialAttributeSet {
 421         uint32_t version;/* [value] */
 422         uint32_t reserved1;/* [value(0)] */
 423         uint32_t num_attids;/* [range(1,0x100000)] */
 424         enum drsuapi_DsAttributeId *attids;/* [size_is(num_attids)] */
 425 };
 426 
 427 struct drsuapi_DsGetNCChangesRequest8 {
 428         struct GUID destination_dsa_guid;
 429         struct GUID source_dsa_invocation_id;
 430         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 431         struct drsuapi_DsReplicaHighWaterMark highwatermark;
 432         struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
 433         uint32_t replica_flags;
 434         uint32_t max_object_count;
 435         uint32_t max_ndr_size;
 436         enum drsuapi_DsExtendedOperation extended_op;
 437         uint64_t fsmo_info;
 438         struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
 439         struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
 440         struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
 441 };
 442 
 443 union drsuapi_DsGetNCChangesRequest {
 444         struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
 445         struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
 446 }/* [switch_type(int32)] */;
 447 
 448 struct drsuapi_DsReplicaCursor2 {
 449         struct GUID source_dsa_invocation_id;
 450         uint64_t highest_usn;
 451         NTTIME last_sync_success;
 452 }/* [public] */;
 453 
 454 struct drsuapi_DsReplicaCursor2CtrEx {
 455         uint32_t version;/* [value(2)] */
 456         uint32_t reserved1;/* [value(0)] */
 457         uint32_t count;/* [range(0,0x100000)] */
 458         uint32_t reserved2;/* [value(0)] */
 459         struct drsuapi_DsReplicaCursor2 *cursors;/* [size_is(count)] */
 460 };
 461 
 462 struct drsuapi_DsAttributeValue {
 463         uint32_t __ndr_size;/* [value(ndr_size_DATA_BLOB(0,blob,0)),range(0,10485760)] */
 464         DATA_BLOB *blob;/* [unique] */
 465 };
 466 
 467 struct drsuapi_DsAttributeValueCtr {
 468         uint32_t num_values;/* [range(0,10485760)] */
 469         struct drsuapi_DsAttributeValue *values;/* [unique,size_is(num_values)] */
 470 };
 471 
 472 struct drsuapi_DsReplicaObjectIdentifier3 {
 473         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3(r,ndr->iconv_convenience,ndr->flags))] */
 474         uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
 475         struct GUID guid;
 476         struct dom_sid28 sid;
 477         uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
 478         const char *dn;/* [charset(UTF16)] */
 479 }/* [gensize,public] */;
 480 
 481 struct drsuapi_DsReplicaObjectIdentifier3Binary {
 482         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->iconv_convenience,ndr->flags))] */
 483         uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
 484         struct GUID guid;
 485         struct dom_sid28 sid;
 486         uint32_t __ndr_size_dn;/* [value(strlen_m(dn))] */
 487         const char *dn;/* [charset(UTF16)] */
 488         uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
 489         DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
 490 }/* [gensize,public] */;
 491 
 492 struct drsuapi_DsReplicaAttribute {
 493         enum drsuapi_DsAttributeId attid;
 494         struct drsuapi_DsAttributeValueCtr value_ctr;
 495 }/* [public] */;
 496 
 497 struct drsuapi_DsReplicaAttributeCtr {
 498         uint32_t num_attributes;/* [range(0,1048576)] */
 499         struct drsuapi_DsReplicaAttribute *attributes;/* [unique,size_is(num_attributes)] */
 500 };
 501 
 502 /* bitmap drsuapi_DsReplicaObjectFlags */
 503 #define DRSUAPI_DS_REPLICA_OBJECT_FROM_MASTER ( 0x00000001 )
 504 #define DRSUAPI_DS_REPLICA_OBJECT_DYNAMIC ( 0x00000002 )
 505 #define DRSUAPI_DS_REPLICA_OBJECT_REMOTE_MODIFY ( 0x00010000 )
 506 
 507 struct drsuapi_DsReplicaObject {
 508         struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
 509         uint32_t flags;
 510         struct drsuapi_DsReplicaAttributeCtr attribute_ctr;
 511 }/* [public] */;
 512 
 513 struct drsuapi_DsReplicaMetaData {
 514         uint32_t version;
 515         NTTIME originating_change_time;
 516         struct GUID originating_invocation_id;
 517         uint64_t originating_usn;
 518 };
 519 
 520 struct drsuapi_DsReplicaMetaDataCtr {
 521         uint32_t count;/* [range(0,1048576)] */
 522         struct drsuapi_DsReplicaMetaData *meta_data;/* [size_is(count)] */
 523 }/* [public] */;
 524 
 525 struct drsuapi_DsReplicaObjectListItemEx {
 526         struct drsuapi_DsReplicaObjectListItemEx *next_object;/* [unique] */
 527         struct drsuapi_DsReplicaObject object;
 528         uint32_t is_nc_prefix;
 529         struct GUID *parent_object_guid;/* [unique] */
 530         struct drsuapi_DsReplicaMetaDataCtr *meta_data_ctr;/* [unique] */
 531 }/* [noprint,public] */;
 532 
 533 struct drsuapi_DsGetNCChangesCtr1 {
 534         struct GUID source_dsa_guid;
 535         struct GUID source_dsa_invocation_id;
 536         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
 537         struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
 538         struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
 539         struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
 540         struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
 541         enum drsuapi_DsExtendedError extended_ret;
 542         uint32_t object_count;
 543         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr1(r,ndr->iconv_convenience,ndr->flags)+55)] */
 544         struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
 545         uint32_t more_data;
 546 }/* [gensize,public] */;
 547 
 548 /* bitmap drsuapi_DsLinkedAttributeFlags */
 549 #define DRSUAPI_DS_LINKED_ATTRIBUTE_FLAG_ACTIVE ( 0x00000001 )
 550 
 551 struct drsuapi_DsReplicaLinkedAttribute {
 552         struct drsuapi_DsReplicaObjectIdentifier *identifier;/* [unique] */
 553         enum drsuapi_DsAttributeId attid;
 554         struct drsuapi_DsAttributeValue value;
 555         uint32_t flags;
 556         NTTIME originating_add_time;
 557         struct drsuapi_DsReplicaMetaData meta_data;
 558 }/* [public] */;
 559 
 560 struct drsuapi_DsGetNCChangesCtr6 {
 561         struct GUID source_dsa_guid;
 562         struct GUID source_dsa_invocation_id;
 563         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [unique] */
 564         struct drsuapi_DsReplicaHighWaterMark old_highwatermark;
 565         struct drsuapi_DsReplicaHighWaterMark new_highwatermark;
 566         struct drsuapi_DsReplicaCursor2CtrEx *uptodateness_vector;/* [unique] */
 567         struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
 568         enum drsuapi_DsExtendedError extended_ret;
 569         uint32_t object_count;
 570         uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsGetNCChangesCtr6(r,ndr->iconv_convenience,ndr->flags)+55)] */
 571         struct drsuapi_DsReplicaObjectListItemEx *first_object;/* [unique] */
 572         uint32_t more_data;
 573         uint32_t nc_object_count;
 574         uint32_t nc_linked_attributes_count;
 575         uint32_t linked_attributes_count;/* [range(0,1048576)] */
 576         struct drsuapi_DsReplicaLinkedAttribute *linked_attributes;/* [unique,size_is(linked_attributes_count)] */
 577         WERROR drs_error;
 578 }/* [gensize,public] */;
 579 
 580 struct drsuapi_DsGetNCChangesCtr1TS {
 581         struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [subcontext(0xFFFFFC01)] */
 582 }/* [public] */;
 583 
 584 struct drsuapi_DsGetNCChangesCtr6TS {
 585         struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [subcontext(0xFFFFFC01)] */
 586 }/* [public] */;
 587 
 588 struct drsuapi_DsGetNCChangesMSZIPCtr1 {
 589         uint32_t decompressed_length;
 590         uint32_t compressed_length;
 591         struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
 592 }/* [nopush] */;
 593 
 594 struct drsuapi_DsGetNCChangesMSZIPCtr6 {
 595         uint32_t decompressed_length;
 596         uint32_t compressed_length;
 597         struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_MSZIP,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
 598 }/* [nopush] */;
 599 
 600 struct drsuapi_DsGetNCChangesXPRESSCtr1 {
 601         uint32_t decompressed_length;
 602         uint32_t compressed_length;
 603         struct drsuapi_DsGetNCChangesCtr1TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
 604 }/* [nopush] */;
 605 
 606 struct drsuapi_DsGetNCChangesXPRESSCtr6 {
 607         uint32_t decompressed_length;
 608         uint32_t compressed_length;
 609         struct drsuapi_DsGetNCChangesCtr6TS *ts;/* [unique,compression(NDR_COMPRESSION_XPRESS,compressed_length,decompressed_length),subcontext_size(compressed_length),subcontext(4)] */
 610 }/* [nopush] */;
 611 
 612 enum drsuapi_DsGetNCChangesCompressionType
 613 #ifndef USE_UINT_ENUMS
 614  {
 615         DRSUAPI_COMPRESSION_TYPE_MSZIP=2,
 616         DRSUAPI_COMPRESSION_TYPE_XPRESS=3
 617 }
 618 #else
 619  { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
 620 #define DRSUAPI_COMPRESSION_TYPE_MSZIP ( 2 )
 621 #define DRSUAPI_COMPRESSION_TYPE_XPRESS ( 3 )
 622 #endif
 623 ;
 624 
 625 union drsuapi_DsGetNCChangesCompressedCtr {
 626         struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
 627         struct drsuapi_DsGetNCChangesMSZIPCtr6 mszip6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_MSZIP<<16))] */
 628         struct drsuapi_DsGetNCChangesXPRESSCtr1 xpress1;/* [case(1|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
 629         struct drsuapi_DsGetNCChangesXPRESSCtr6 xpress6;/* [case(6|(DRSUAPI_COMPRESSION_TYPE_XPRESS<<16))] */
 630 }/* [nodiscriminant,flag(LIBNDR_PRINT_ARRAY_HEX)] */;
 631 
 632 struct drsuapi_DsGetNCChangesCtr2 {
 633         struct drsuapi_DsGetNCChangesMSZIPCtr1 mszip1;
 634 };
 635 
 636 struct drsuapi_DsGetNCChangesCtr7 {
 637         int32_t level;/* [range(0,6)] */
 638         enum drsuapi_DsGetNCChangesCompressionType type;/* [range(2,3)] */
 639         union drsuapi_DsGetNCChangesCompressedCtr ctr;/* [switch_is(level|(type<<16))] */
 640 };
 641 
 642 union drsuapi_DsGetNCChangesCtr {
 643         struct drsuapi_DsGetNCChangesCtr1 ctr1;/* [case] */
 644         struct drsuapi_DsGetNCChangesCtr2 ctr2;/* [case(2)] */
 645         struct drsuapi_DsGetNCChangesCtr6 ctr6;/* [case(6)] */
 646         struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
 647 }/* [switch_type(int32)] */;
 648 
 649 /* bitmap drsuapi_DsReplicaUpdateRefsOptions */
 650 #define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
 651 #define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000002 )
 652 #define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
 653 #define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
 654 #define DRSUAPI_DS_REPLICA_UPDATE_0x00000010 ( 0x00000010 )
 655 
 656 struct drsuapi_DsReplicaUpdateRefsRequest1 {
 657         struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
 658         const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
 659         struct GUID dest_dsa_guid;
 660         uint32_t options;
 661 };
 662 
 663 union drsuapi_DsReplicaUpdateRefsRequest {
 664         struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
 665 }/* [switch_type(int32)] */;
 666 
 667 /* bitmap drsuapi_DsReplicaAddOptions */
 668 #define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
 669 #define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
 670 
 671 /* bitmap drsuapi_DsReplicaDeleteOptions */
 672 #define DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
 673 #define DRSUAPI_DS_REPLICA_DELETE_WRITEABLE ( 0x00000002 )
 674 
 675 /* bitmap drsuapi_DsReplicaModifyOptions */
 676 #define DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION ( 0x00000001 )
 677 #define DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE ( 0x00000002 )
 678 
 679 enum drsuapi_DsMembershipType
 680 #ifndef USE_UINT_ENUMS
 681  {
 682         DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=1,
 683         DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=2,
 684         DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=3,
 685         DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=4,
 686         DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=5,
 687         DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=6,
 688         DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=7
 689 }
 690 #else
 691  { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
 692 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS ( 1 )
 693 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS ( 2 )
 694 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS ( 3 )
 695 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2 ( 4 )
 696 #define DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS ( 5 )
 697 #define DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS ( 6 )
 698 #define DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2 ( 7 )
 699 #endif
 700 ;
 701 
 702 struct drsuapi_DsGetMembershipsCtr1 {
 703         NTSTATUS status;
 704         uint32_t num_memberships;/* [range(0,10000)] */
 705         uint32_t num_sids;/* [range(0,10000)] */
 706         struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(num_memberships)] */
 707         uint32_t *group_attrs;/* [unique,size_is(num_memberships)] */
 708         struct dom_sid28 **sids;/* [unique,size_is(num_sids)] */
 709 };
 710 
 711 union drsuapi_DsGetMembershipsCtr {
 712         struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
 713 }/* [switch_type(int32)] */;
 714 
 715 struct drsuapi_DsGetMembershipsRequest1 {
 716         uint32_t count;/* [range(1,10000)] */
 717         struct drsuapi_DsReplicaObjectIdentifier **info_array;/* [unique,size_is(count)] */
 718         uint32_t flags;
 719         enum drsuapi_DsMembershipType type;
 720         struct drsuapi_DsReplicaObjectIdentifier *domain;/* [unique] */
 721 };
 722 
 723 union drsuapi_DsGetMembershipsRequest {
 724         struct drsuapi_DsGetMembershipsRequest1 req1;/* [case] */
 725 }/* [switch_type(int32)] */;
 726 
 727 struct drsuapi_DsGetNT4ChangeLogRequest1 {
 728         uint32_t unknown1;
 729         uint32_t unknown2;
 730         uint32_t length;/* [range(0,0x00A00000)] */
 731         uint8_t *data;/* [unique,size_is(length)] */
 732 };
 733 
 734 union drsuapi_DsGetNT4ChangeLogRequest {
 735         struct drsuapi_DsGetNT4ChangeLogRequest1 req1;/* [case] */
 736 }/* [switch_type(uint32)] */;
 737 
 738 struct drsuapi_DsGetNT4ChangeLogInfo1 {
 739         uint32_t length1;/* [range(0,0x00A00000)] */
 740         uint32_t length2;/* [range(0,0x00A00000)] */
 741         uint64_t unknown1;
 742         NTTIME time2;
 743         uint64_t unknown3;
 744         NTTIME time4;
 745         uint64_t unknown5;
 746         NTTIME time6;
 747         NTSTATUS status;
 748         uint8_t *data1;/* [unique,size_is(length1)] */
 749         uint8_t *data2;/* [unique,size_is(length2)] */
 750 };
 751 
 752 union drsuapi_DsGetNT4ChangeLogInfo {
 753         struct drsuapi_DsGetNT4ChangeLogInfo1 info1;/* [case] */
 754 }/* [switch_type(uint32)] */;
 755 
 756 enum drsuapi_DsNameStatus
 757 #ifndef USE_UINT_ENUMS
 758  {
 759         DRSUAPI_DS_NAME_STATUS_OK=0,
 760         DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=1,
 761         DRSUAPI_DS_NAME_STATUS_NOT_FOUND=2,
 762         DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=3,
 763         DRSUAPI_DS_NAME_STATUS_NO_MAPPING=4,
 764         DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=5,
 765         DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=6,
 766         DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=7
 767 }
 768 #else
 769  { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
 770 #define DRSUAPI_DS_NAME_STATUS_OK ( 0 )
 771 #define DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR ( 1 )
 772 #define DRSUAPI_DS_NAME_STATUS_NOT_FOUND ( 2 )
 773 #define DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE ( 3 )
 774 #define DRSUAPI_DS_NAME_STATUS_NO_MAPPING ( 4 )
 775 #define DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY ( 5 )
 776 #define DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING ( 6 )
 777 #define DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL ( 7 )
 778 #endif
 779 ;
 780 
 781 enum drsuapi_DsNameFlags
 782 #ifndef USE_UINT_ENUMS
 783  {
 784         DRSUAPI_DS_NAME_FLAG_NO_FLAGS=0x0,
 785         DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=0x1,
 786         DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=0x2,
 787         DRSUAPI_DS_NAME_FLAG_GCVERIFY=0x4,
 788         DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=0x8
 789 }
 790 #else
 791  { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
 792 #define DRSUAPI_DS_NAME_FLAG_NO_FLAGS ( 0x0 )
 793 #define DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY ( 0x1 )
 794 #define DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC ( 0x2 )
 795 #define DRSUAPI_DS_NAME_FLAG_GCVERIFY ( 0x4 )
 796 #define DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL ( 0x8 )
 797 #endif
 798 ;
 799 
 800 enum drsuapi_DsNameFormat
 801 #ifndef USE_UINT_ENUMS
 802  {
 803         DRSUAPI_DS_NAME_FORMAT_UNKNOWN=0,
 804         DRSUAPI_DS_NAME_FORMAT_FQDN_1779=1,
 805         DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=2,
 806         DRSUAPI_DS_NAME_FORMAT_DISPLAY=3,
 807         DRSUAPI_DS_NAME_FORMAT_GUID=6,
 808         DRSUAPI_DS_NAME_FORMAT_CANONICAL=7,
 809         DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=8,
 810         DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=9,
 811         DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=10,
 812         DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=11,
 813         DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=12
 814 }
 815 #else
 816  { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
 817 #define DRSUAPI_DS_NAME_FORMAT_UNKNOWN ( 0 )
 818 #define DRSUAPI_DS_NAME_FORMAT_FQDN_1779 ( 1 )
 819 #define DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT ( 2 )
 820 #define DRSUAPI_DS_NAME_FORMAT_DISPLAY ( 3 )
 821 #define DRSUAPI_DS_NAME_FORMAT_GUID ( 6 )
 822 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL ( 7 )
 823 #define DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL ( 8 )
 824 #define DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX ( 9 )
 825 #define DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL ( 10 )
 826 #define DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY ( 11 )
 827 #define DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN ( 12 )
 828 #endif
 829 ;
 830 
 831 struct drsuapi_DsNameString {
 832         const char *str;/* [unique,charset(UTF16)] */
 833 };
 834 
 835 struct drsuapi_DsNameRequest1 {
 836         uint32_t codepage;
 837         uint32_t language;
 838         enum drsuapi_DsNameFlags format_flags;
 839         enum drsuapi_DsNameFormat format_offered;
 840         enum drsuapi_DsNameFormat format_desired;
 841         uint32_t count;/* [range(1,10000)] */
 842         struct drsuapi_DsNameString *names;/* [unique,size_is(count)] */
 843 };
 844 
 845 union drsuapi_DsNameRequest {
 846         struct drsuapi_DsNameRequest1 req1;/* [case] */
 847 }/* [switch_type(int32)] */;
 848 
 849 struct drsuapi_DsNameInfo1 {
 850         enum drsuapi_DsNameStatus status;
 851         const char *dns_domain_name;/* [unique,charset(UTF16)] */
 852         const char *result_name;/* [unique,charset(UTF16)] */
 853 };
 854 
 855 struct drsuapi_DsNameCtr1 {
 856         uint32_t count;
 857         struct drsuapi_DsNameInfo1 *array;/* [unique,size_is(count)] */
 858 };
 859 
 860 union drsuapi_DsNameCtr {
 861         struct drsuapi_DsNameCtr1 *ctr1;/* [unique,case] */
 862 }/* [switch_type(int32)] */;
 863 
 864 enum drsuapi_DsSpnOperation
 865 #ifndef USE_UINT_ENUMS
 866  {
 867         DRSUAPI_DS_SPN_OPERATION_ADD=0,
 868         DRSUAPI_DS_SPN_OPERATION_REPLACE=1,
 869         DRSUAPI_DS_SPN_OPERATION_DELETE=2
 870 }
 871 #else
 872  { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
 873 #define DRSUAPI_DS_SPN_OPERATION_ADD ( 0 )
 874 #define DRSUAPI_DS_SPN_OPERATION_REPLACE ( 1 )
 875 #define DRSUAPI_DS_SPN_OPERATION_DELETE ( 2 )
 876 #endif
 877 ;
 878 
 879 struct drsuapi_DsWriteAccountSpnRequest1 {
 880         enum drsuapi_DsSpnOperation operation;
 881         uint32_t unknown1;
 882         const char *object_dn;/* [unique,charset(UTF16)] */
 883         uint32_t count;/* [range(0,10000)] */
 884         struct drsuapi_DsNameString *spn_names;/* [unique,size_is(count)] */
 885 };
 886 
 887 union drsuapi_DsWriteAccountSpnRequest {
 888         struct drsuapi_DsWriteAccountSpnRequest1 req1;/* [case] */
 889 }/* [switch_type(int32)] */;
 890 
 891 struct drsuapi_DsWriteAccountSpnResult1 {
 892         WERROR status;
 893 };
 894 
 895 union drsuapi_DsWriteAccountSpnResult {
 896         struct drsuapi_DsWriteAccountSpnResult1 res1;/* [case] */
 897 }/* [switch_type(int32)] */;
 898 
 899 struct drsuapi_DsRemoveDSServerRequest1 {
 900         const char *server_dn;/* [unique,charset(UTF16)] */
 901         const char *domain_dn;/* [unique,charset(UTF16)] */
 902         uint32_t commit;
 903 };
 904 
 905 union drsuapi_DsRemoveDSServerRequest {
 906         struct drsuapi_DsRemoveDSServerRequest1 req1;/* [case] */
 907 }/* [switch_type(int32)] */;
 908 
 909 struct drsuapi_DsRemoveDSServerResult1 {
 910         uint32_t last_dc_in_domain;
 911 };
 912 
 913 union drsuapi_DsRemoveDSServerResult {
 914         struct drsuapi_DsRemoveDSServerResult1 res1;/* [case] */
 915 }/* [switch_type(int32)] */;
 916 
 917 struct drsuapi_DsGetDCInfoRequest1 {
 918         const char *domain_name;/* [unique,charset(UTF16)] */
 919         int32_t level;
 920 };
 921 
 922 union drsuapi_DsGetDCInfoRequest {
 923         struct drsuapi_DsGetDCInfoRequest1 req1;/* [case] */
 924 }/* [switch_type(int32)] */;
 925 
 926 struct drsuapi_DsGetDCInfo1 {
 927         const char *netbios_name;/* [unique,charset(UTF16)] */
 928         const char *dns_name;/* [unique,charset(UTF16)] */
 929         const char *site_name;/* [unique,charset(UTF16)] */
 930         const char *computer_dn;/* [unique,charset(UTF16)] */
 931         const char *server_dn;/* [unique,charset(UTF16)] */
 932         uint32_t is_pdc;
 933         uint32_t is_enabled;
 934 };
 935 
 936 struct drsuapi_DsGetDCInfoCtr1 {
 937         uint32_t count;/* [range(0,10000)] */
 938         struct drsuapi_DsGetDCInfo1 *array;/* [unique,size_is(count)] */
 939 };
 940 
 941 struct drsuapi_DsGetDCInfo2 {
 942         const char *netbios_name;/* [unique,charset(UTF16)] */
 943         const char *dns_name;/* [unique,charset(UTF16)] */
 944         const char *site_name;/* [unique,charset(UTF16)] */
 945         const char *site_dn;/* [unique,charset(UTF16)] */
 946         const char *computer_dn;/* [unique,charset(UTF16)] */
 947         const char *server_dn;/* [unique,charset(UTF16)] */
 948         const char *ntds_dn;/* [unique,charset(UTF16)] */
 949         uint32_t is_pdc;
 950         uint32_t is_enabled;
 951         uint32_t is_gc;
 952         struct GUID site_guid;
 953         struct GUID computer_guid;
 954         struct GUID server_guid;
 955         struct GUID ntds_guid;
 956 };
 957 
 958 struct drsuapi_DsGetDCInfoCtr2 {
 959         uint32_t count;/* [range(0,10000)] */
 960         struct drsuapi_DsGetDCInfo2 *array;/* [unique,size_is(count)] */
 961 };
 962 
 963 struct drsuapi_DsGetDCInfo3 {
 964         const char *netbios_name;/* [unique,charset(UTF16)] */
 965         const char *dns_name;/* [unique,charset(UTF16)] */
 966         const char *site_name;/* [unique,charset(UTF16)] */
 967         const char *site_dn;/* [unique,charset(UTF16)] */
 968         const char *computer_dn;/* [unique,charset(UTF16)] */
 969         const char *server_dn;/* [unique,charset(UTF16)] */
 970         const char *ntds_dn;/* [unique,charset(UTF16)] */
 971         uint32_t is_pdc;
 972         uint32_t is_enabled;
 973         uint32_t is_gc;
 974         uint32_t is_rodc;
 975         struct GUID site_guid;
 976         struct GUID computer_guid;
 977         struct GUID server_guid;
 978         struct GUID ntds_guid;
 979 };
 980 
 981 struct drsuapi_DsGetDCInfoCtr3 {
 982         uint32_t count;/* [range(0,10000)] */
 983         struct drsuapi_DsGetDCInfo3 *array;/* [unique,size_is(count)] */
 984 };
 985 
 986 struct drsuapi_DsGetDCConnection01 {
 987         const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
 988         uint32_t unknown2;
 989         uint32_t connection_time;
 990         uint32_t unknown4;
 991         uint32_t unknown5;
 992         uint32_t unknown6;
 993         const char *client_account;/* [unique,charset(UTF16)] */
 994 };
 995 
 996 struct drsuapi_DsGetDCConnectionCtr01 {
 997         uint32_t count;/* [range(0,10000)] */
 998         struct drsuapi_DsGetDCConnection01 *array;/* [unique,size_is(count)] */
 999 };
1000 
1001 enum drsuapi_DsGetDCInfoCtrLevels
1002 #ifndef USE_UINT_ENUMS
1003  {
1004         DRSUAPI_DC_INFO_CTR_1=1,
1005         DRSUAPI_DC_INFO_CTR_2=2,
1006         DRSUAPI_DC_INFO_CTR_3=3,
1007         DRSUAPI_DC_CONNECTION_CTR_01=-1
1008 }
1009 #else
1010  { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
1011 #define DRSUAPI_DC_INFO_CTR_1 ( 1 )
1012 #define DRSUAPI_DC_INFO_CTR_2 ( 2 )
1013 #define DRSUAPI_DC_INFO_CTR_3 ( 3 )
1014 #define DRSUAPI_DC_CONNECTION_CTR_01 ( -1 )
1015 #endif
1016 ;
1017 
1018 union drsuapi_DsGetDCInfoCtr {
1019         struct drsuapi_DsGetDCInfoCtr1 ctr1;/* [case(DRSUAPI_DC_INFO_CTR_1)] */
1020         struct drsuapi_DsGetDCInfoCtr2 ctr2;/* [case(DRSUAPI_DC_INFO_CTR_2)] */
1021         struct drsuapi_DsGetDCInfoCtr3 ctr3;/* [case(DRSUAPI_DC_INFO_CTR_3)] */
1022         struct drsuapi_DsGetDCConnectionCtr01 ctr01;/* [case(DRSUAPI_DC_CONNECTION_CTR_01)] */
1023 }/* [switch_type(int32)] */;
1024 
1025 struct drsuapi_DsReplicaObjectListItem {
1026         struct drsuapi_DsReplicaObjectListItem *next_object;/* [unique] */
1027         struct drsuapi_DsReplicaObject object;
1028 }/* [noprint,public] */;
1029 
1030 struct drsuapi_DsAddEntryRequest2 {
1031         struct drsuapi_DsReplicaObjectListItem first_object;
1032 };
1033 
1034 union drsuapi_DsAddEntryRequest {
1035         struct drsuapi_DsAddEntryRequest2 req2;/* [case(2)] */
1036 }/* [switch_type(int32)] */;
1037 
1038 struct drsuapi_DsAddEntryErrorInfoX {
1039         uint32_t unknown1;
1040         WERROR status;
1041         uint32_t unknown2;
1042         uint16_t unknown3;
1043 };
1044 
1045 struct drsuapi_DsAddEntryExtraErrorBuffer {
1046         uint32_t size;/* [range(0,10485760)] */
1047         uint8_t *data;/* [unique,size_is(size)] */
1048 };
1049 
1050 struct drsuapi_DsAddEntryExtraError1 {
1051         struct drsuapi_DsAddEntryErrorInfoX error;
1052         enum drsuapi_DsAttributeId attid;
1053         uint32_t unknown2;
1054         struct drsuapi_DsAddEntryExtraErrorBuffer buffer;
1055 };
1056 
1057 struct drsuapi_DsAddEntryErrorListItem1 {
1058         struct drsuapi_DsAddEntryErrorListItem1 *next;/* [unique] */
1059         struct drsuapi_DsAddEntryExtraError1 error;
1060 };
1061 
1062 struct drsuapi_DsAddEntryErrorInfo1 {
1063         struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1064         WERROR status;
1065         struct drsuapi_DsAddEntryErrorListItem1 first;
1066 };
1067 
1068 union drsuapi_DsAddEntryErrorInfo {
1069         struct drsuapi_DsAddEntryErrorInfo1 error1;/* [case] */
1070         struct drsuapi_DsAddEntryErrorInfoX errorX;/* [case(4)] */
1071 }/* [switch_type(uint32)] */;
1072 
1073 struct drsuapi_DsAddEntryError1 {
1074         WERROR status;
1075         uint32_t level;
1076         union drsuapi_DsAddEntryErrorInfo *info;/* [unique,switch_is(level)] */
1077 };
1078 
1079 union drsuapi_DsAddEntryError {
1080         struct drsuapi_DsAddEntryError1 info1;/* [case] */
1081 }/* [switch_type(uint32)] */;
1082 
1083 struct drsuapi_DsReplicaObjectIdentifier2 {
1084         struct GUID guid;
1085         struct dom_sid28 sid;
1086 };
1087 
1088 struct drsuapi_DsAddEntryCtr2 {
1089         struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1090         uint32_t unknown1;
1091         struct drsuapi_DsAddEntryErrorInfoX error;
1092         uint32_t count;/* [range(0,10000)] */
1093         struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1094 };
1095 
1096 struct drsuapi_DsAddEntryCtr3 {
1097         struct drsuapi_DsReplicaObjectIdentifier *id;/* [unique] */
1098         uint32_t level;
1099         union drsuapi_DsAddEntryError *error;/* [unique,switch_is(level)] */
1100         uint32_t count;/* [range(0,10000)] */
1101         struct drsuapi_DsReplicaObjectIdentifier2 *objects;/* [unique,size_is(count)] */
1102 };
1103 
1104 union drsuapi_DsAddEntryCtr {
1105         struct drsuapi_DsAddEntryCtr2 ctr2;/* [case(2)] */
1106         struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
1107 }/* [switch_type(int32)] */;
1108 
1109 enum drsuapi_DsReplicaGetInfoLevel
1110 #ifndef USE_UINT_ENUMS
1111  {
1112         DRSUAPI_DS_REPLICA_GET_INFO=1,
1113         DRSUAPI_DS_REPLICA_GET_INFO2=2
1114 }
1115 #else
1116  { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
1117 #define DRSUAPI_DS_REPLICA_GET_INFO ( 1 )
1118 #define DRSUAPI_DS_REPLICA_GET_INFO2 ( 2 )
1119 #endif
1120 ;
1121 
1122 enum drsuapi_DsReplicaInfoType
1123 #ifndef USE_UINT_ENUMS
1124  {
1125         DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=0,
1126         DRSUAPI_DS_REPLICA_INFO_CURSORS=1,
1127         DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=2,
1128         DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=3,
1129         DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=4,
1130         DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=5,
1131         DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=6,
1132         DRSUAPI_DS_REPLICA_INFO_CURSORS2=7,
1133         DRSUAPI_DS_REPLICA_INFO_CURSORS3=8,
1134         DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=9,
1135         DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=10,
1136         DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=-2,
1137         DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=-4,
1138         DRSUAPI_DS_REPLICA_INFO_CURSORS05=-5,
1139         DRSUAPI_DS_REPLICA_INFO_06=-6
1140 }
1141 #else
1142  { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
1143 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS ( 0 )
1144 #define DRSUAPI_DS_REPLICA_INFO_CURSORS ( 1 )
1145 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA ( 2 )
1146 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES ( 3 )
1147 #define DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES ( 4 )
1148 #define DRSUAPI_DS_REPLICA_INFO_PENDING_OPS ( 5 )
1149 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA ( 6 )
1150 #define DRSUAPI_DS_REPLICA_INFO_CURSORS2 ( 7 )
1151 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
1152 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
1153 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
1154 #define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
1155 #define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
1156 #define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
1157 #define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
1158 #endif
1159 ;
1160 
1161 struct drsuapi_DsReplicaGetInfoRequest1 {
1162         enum drsuapi_DsReplicaInfoType info_type;
1163         const char *object_dn;/* [unique,charset(UTF16)] */
1164         struct GUID guid1;
1165 };
1166 
1167 struct drsuapi_DsReplicaGetInfoRequest2 {
1168         enum drsuapi_DsReplicaInfoType info_type;
1169         const char *object_dn;/* [unique,charset(UTF16)] */
1170         struct GUID guid1;
1171         uint32_t unknown1;
1172         const char *string1;/* [unique,charset(UTF16)] */
1173         const char *string2;/* [unique,charset(UTF16)] */
1174         uint32_t unknown2;
1175 };
1176 
1177 union drsuapi_DsReplicaGetInfoRequest {
1178         struct drsuapi_DsReplicaGetInfoRequest1 req1;/* [case(DRSUAPI_DS_REPLICA_GET_INFO)] */
1179         struct drsuapi_DsReplicaGetInfoRequest2 req2;/* [case(DRSUAPI_DS_REPLICA_GET_INFO2)] */
1180 }/* [switch_type(drsuapi_DsReplicaGetInfoLevel)] */;
1181 
1182 struct drsuapi_DsReplicaNeighbour {
1183         const char *naming_context_dn;/* [unique,charset(UTF16)] */
1184         const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1185         const char *source_dsa_address;/* [unique,charset(UTF16)] */
1186         const char *transport_obj_dn;/* [unique,charset(UTF16)] */
1187         uint32_t replica_flags;
1188         uint32_t reserved;
1189         struct GUID naming_context_obj_guid;
1190         struct GUID source_dsa_obj_guid;
1191         struct GUID source_dsa_invocation_id;
1192         struct GUID transport_obj_guid;
1193         uint64_t tmp_highest_usn;
1194         uint64_t highest_usn;
1195         NTTIME last_success;
1196         NTTIME last_attempt;
1197         WERROR result_last_attempt;
1198         uint32_t consecutive_sync_failures;
1199 };
1200 
1201 struct drsuapi_DsReplicaNeighbourCtr {
1202         uint32_t count;
1203         uint32_t reserved;
1204         struct drsuapi_DsReplicaNeighbour *array;/* [size_is(count)] */
1205 };
1206 
1207 struct drsuapi_DsReplicaCursorCtr {
1208         uint32_t count;
1209         uint32_t reserved;
1210         struct drsuapi_DsReplicaCursor *array;/* [size_is(count)] */
1211 };
1212 
1213 struct drsuapi_DsReplicaObjMetaData {
1214         const char *attribute_name;/* [unique,charset(UTF16)] */
1215         uint32_t version;
1216         NTTIME originating_change_time;
1217         struct GUID originating_invocation_id;
1218         uint64_t originating_usn;
1219         uint64_t local_usn;
1220 };
1221 
1222 struct drsuapi_DsReplicaObjMetaDataCtr {
1223         uint32_t count;
1224         uint32_t reserved;
1225         struct drsuapi_DsReplicaObjMetaData *array;/* [size_is(count)] */
1226 };
1227 
1228 struct drsuapi_DsReplicaKccDsaFailure {
1229         const char *dsa_obj_dn;/* [unique,charset(UTF16)] */
1230         struct GUID dsa_obj_guid;
1231         NTTIME first_failure;
1232         uint32_t num_failures;
1233         WERROR last_result;
1234 };
1235 
1236 struct drsuapi_DsReplicaKccDsaFailuresCtr {
1237         uint32_t count;
1238         uint32_t reserved;
1239         struct drsuapi_DsReplicaKccDsaFailure *array;/* [size_is(count)] */
1240 };
1241 
1242 enum drsuapi_DsReplicaOpType
1243 #ifndef USE_UINT_ENUMS
1244  {
1245         DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=0,
1246         DRSUAPI_DS_REPLICA_OP_TYPE_ADD=1,
1247         DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=2,
1248         DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=3,
1249         DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=4
1250 }
1251 #else
1252  { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
1253 #define DRSUAPI_DS_REPLICA_OP_TYPE_SYNC ( 0 )
1254 #define DRSUAPI_DS_REPLICA_OP_TYPE_ADD ( 1 )
1255 #define DRSUAPI_DS_REPLICA_OP_TYPE_DELETE ( 2 )
1256 #define DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY ( 3 )
1257 #define DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS ( 4 )
1258 #endif
1259 ;
1260 
1261 union drsuapi_DsRplicaOpOptions {
1262         uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
1263         uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
1264         uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
1265         uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
1266         uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
1267         uint32_t unknown;/* [default] */
1268 }/* [switch_type(drsuapi_DsReplicaOpType)] */;
1269 
1270 struct drsuapi_DsReplicaOp {
1271         NTTIME operation_start;
1272         uint32_t serial_num;
1273         uint32_t priority;
1274         enum drsuapi_DsReplicaOpType operation_type;
1275         union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
1276         const char *nc_dn;/* [unique,charset(UTF16)] */
1277         const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
1278         const char *remote_dsa_address;/* [unique,charset(UTF16)] */
1279         struct GUID nc_obj_guid;
1280         struct GUID remote_dsa_obj_guid;
1281 };
1282 
1283 struct drsuapi_DsReplicaOpCtr {
1284         NTTIME time;
1285         uint32_t count;
1286         struct drsuapi_DsReplicaOp *array;/* [size_is(count)] */
1287 };
1288 
1289 struct drsuapi_DsReplicaAttrValMetaData {
1290         const char *attribute_name;/* [unique,charset(UTF16)] */
1291         const char *object_dn;/* [unique,charset(UTF16)] */
1292         uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1293         DATA_BLOB *binary;/* [unique] */
1294         NTTIME deleted;
1295         NTTIME created;
1296         uint32_t version;
1297         NTTIME originating_change_time;
1298         struct GUID originating_invocation_id;
1299         uint64_t originating_usn;
1300         uint64_t local_usn;
1301 };
1302 
1303 struct drsuapi_DsReplicaAttrValMetaDataCtr {
1304         uint32_t count;
1305         int32_t enumeration_context;
1306         struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
1307 };
1308 
1309 struct drsuapi_DsReplicaCursor2Ctr {
1310         uint32_t count;
1311         int32_t enumeration_context;
1312         struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
1313 };
1314 
1315 struct drsuapi_DsReplicaCursor3 {
1316         struct GUID source_dsa_invocation_id;
1317         uint64_t highest_usn;
1318         NTTIME last_sync_success;
1319         const char *source_dsa_obj_dn;/* [unique,charset(UTF16)] */
1320 };
1321 
1322 struct drsuapi_DsReplicaCursor3Ctr {
1323         uint32_t count;
1324         int32_t enumeration_context;
1325         struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
1326 };
1327 
1328 struct drsuapi_DsReplicaObjMetaData2 {
1329         const char *attribute_name;/* [unique,charset(UTF16)] */
1330         uint32_t version;
1331         NTTIME originating_change_time;
1332         struct GUID originating_invocation_id;
1333         uint64_t originating_usn;
1334         uint64_t local_usn;
1335         const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1336 };
1337 
1338 struct drsuapi_DsReplicaObjMetaData2Ctr {
1339         uint32_t count;
1340         int32_t enumeration_context;
1341         struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
1342 };
1343 
1344 struct drsuapi_DsReplicaAttrValMetaData2 {
1345         const char *attribute_name;/* [unique,charset(UTF16)] */
1346         const char *object_dn;/* [unique,charset(UTF16)] */
1347         uint32_t __ndr_size_binary;/* [value(ndr_size_DATA_BLOB(0,binary,0))] */
1348         DATA_BLOB *binary;/* [unique] */
1349         NTTIME deleted;
1350         NTTIME created;
1351         uint32_t version;
1352         NTTIME originating_change_time;
1353         struct GUID originating_invocation_id;
1354         uint64_t originating_usn;
1355         uint64_t local_usn;
1356         const char *originating_dsa_dn;/* [unique,charset(UTF16)] */
1357 };
1358 
1359 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
1360         uint32_t count;
1361         int32_t enumeration_context;
1362         struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
1363 };
1364 
1365 struct drsuapi_DsReplicaConnection04 {
1366         uint64_t u1;
1367         uint32_t u2;
1368         uint32_t u3;
1369         struct GUID bind_guid;
1370         NTTIME bind_time;
1371         const char * client_ip_address;/* [flag(LIBNDR_FLAG_BIGENDIAN)] */
1372         uint32_t u5;
1373 };
1374 
1375 struct drsuapi_DsReplicaConnection04Ctr {
1376         uint32_t count;/* [range(0,10000)] */
1377         uint32_t reserved;
1378         struct drsuapi_DsReplicaConnection04 *array;/* [size_is(count)] */
1379 };
1380 
1381 struct drsuapi_DsReplica06 {
1382         const char *str1;/* [unique,charset(UTF16)] */
1383         uint32_t u1;
1384         uint32_t u2;
1385         uint32_t u3;
1386         uint32_t u4;
1387         uint32_t u5;
1388         uint64_t u6;
1389         uint32_t u7;
1390 };
1391 
1392 struct drsuapi_DsReplica06Ctr {
1393         uint32_t count;/* [range(0,256)] */
1394         uint32_t reserved;
1395         struct drsuapi_DsReplica06 *array;/* [size_is(count)] */
1396 };
1397 
1398 union drsuapi_DsReplicaInfo {
1399         struct drsuapi_DsReplicaNeighbourCtr *neighbours;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS)] */
1400         struct drsuapi_DsReplicaCursorCtr *cursors;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS)] */
1401         struct drsuapi_DsReplicaObjMetaDataCtr *objmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA)] */
1402         struct drsuapi_DsReplicaKccDsaFailuresCtr *connectfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES)] */
1403         struct drsuapi_DsReplicaKccDsaFailuresCtr *linkfailures;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES)] */
1404         struct drsuapi_DsReplicaOpCtr *pendingops;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_PENDING_OPS)] */
1405         struct drsuapi_DsReplicaAttrValMetaDataCtr *attrvalmetadata;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA)] */
1406         struct drsuapi_DsReplicaCursor2Ctr *cursors2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS2)] */
1407         struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
1408         struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
1409         struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
1410         struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
1411         struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
1412         struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
1413         struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
1414 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
1415 
1416 struct drsuapi_DsGetMemberships2Ctr1 {
1417         uint32_t num_entries;/* [range(0,10000)] */
1418         struct drsuapi_DsGetMembershipsCtr1 **ctrl_array;/* [unique,size_is(num_entries)] */
1419 };
1420 
1421 union drsuapi_DsGetMemberships2Ctr {
1422         struct drsuapi_DsGetMembershipsCtr1 ctr1;/* [case] */
1423 }/* [switch_type(int32)] */;
1424 
1425 struct drsuapi_DsGetMemberships2Request1 {
1426         uint32_t num_req;/* [range(1,10000)] */
1427         struct drsuapi_DsGetMembershipsRequest1 **req_array;/* [unique,size_is(num_req)] */
1428 };
1429 
1430 union drsuapi_DsGetMemberships2Request {
1431         struct drsuapi_DsGetMemberships2Request1 req1;/* [case] */
1432 }/* [switch_type(int32)] */;
1433 
1434 struct drsuapi_DsSiteCostInfo {
1435         WERROR error_code;
1436         uint32_t site_cost;
1437 };
1438 
1439 struct drsuapi_QuerySitesByCostCtr1 {
1440         uint32_t num_info;/* [range(0,10000)] */
1441         struct drsuapi_DsSiteCostInfo *info;/* [unique,size_is(num_info)] */
1442         uint32_t unknown;
1443 };
1444 
1445 union drsuapi_QuerySitesByCostCtr {
1446         struct drsuapi_QuerySitesByCostCtr1 ctr1;/* [case] */
1447 }/* [switch_type(int32)] */;
1448 
1449 struct drsuapi_QuerySitesByCostRequest1 {
1450         const char *site_from;/* [unique,charset(UTF16)] */
1451         uint32_t num_req;/* [range(1,10000)] */
1452         const char **site_to;/* [unique,charset(UTF16),size_is(num_req)] */
1453         uint32_t flags;
1454 };
1455 
1456 union drsuapi_QuerySitesByCostRequest {
1457         struct drsuapi_QuerySitesByCostRequest1 req1;/* [case] */
1458 }/* [switch_type(int32)] */;
1459 
1460 
1461 struct drsuapi_DsBind {
1462         struct {
1463                 struct GUID *bind_guid;/* [unique] */
1464                 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1465         } in;
1466 
1467         struct {
1468                 struct policy_handle *bind_handle;/* [ref] */
1469                 struct drsuapi_DsBindInfoCtr *bind_info;/* [unique] */
1470                 WERROR result;
1471         } out;
1472 
1473 };
1474 
1475 
1476 struct drsuapi_DsUnbind {
1477         struct {
1478                 struct policy_handle *bind_handle;/* [ref] */
1479         } in;
1480 
1481         struct {
1482                 struct policy_handle *bind_handle;/* [ref] */
1483                 WERROR result;
1484         } out;
1485 
1486 };
1487 
1488 
1489 struct drsuapi_DsReplicaSync {
1490         struct {
1491                 struct policy_handle *bind_handle;/* [ref] */
1492                 int32_t level;
1493                 union drsuapi_DsReplicaSyncRequest req;/* [switch_is(level)] */
1494         } in;
1495 
1496         struct {
1497                 WERROR result;
1498         } out;
1499 
1500 };
1501 
1502 
1503 struct drsuapi_DsGetNCChanges {
1504         struct {
1505                 struct policy_handle *bind_handle;/* [ref] */
1506                 int32_t level;
1507                 union drsuapi_DsGetNCChangesRequest *req;/* [ref,switch_is(level)] */
1508         } in;
1509 
1510         struct {
1511                 int32_t *level_out;/* [ref] */
1512                 union drsuapi_DsGetNCChangesCtr *ctr;/* [ref,switch_is(*level_out)] */
1513                 WERROR result;
1514         } out;
1515 
1516 };
1517 
1518 
1519 struct drsuapi_DsReplicaUpdateRefs {
1520         struct {
1521                 struct policy_handle *bind_handle;/* [ref] */
1522                 int32_t level;
1523                 union drsuapi_DsReplicaUpdateRefsRequest req;/* [switch_is(level)] */
1524         } in;
1525 
1526         struct {
1527                 WERROR result;
1528         } out;
1529 
1530 };
1531 
1532 
1533 struct DRSUAPI_REPLICA_ADD {
1534         struct {
1535                 WERROR result;
1536         } out;
1537 
1538 };
1539 
1540 
1541 struct DRSUAPI_REPLICA_DEL {
1542         struct {
1543                 WERROR result;
1544         } out;
1545 
1546 };
1547 
1548 
1549 struct DRSUAPI_REPLICA_MODIFY {
1550         struct {
1551                 WERROR result;
1552         } out;
1553 
1554 };
1555 
1556 
1557 struct DRSUAPI_VERIFY_NAMES {
1558         struct {
1559                 WERROR result;
1560         } out;
1561 
1562 };
1563 
1564 
1565 struct drsuapi_DsGetMemberships {
1566         struct {
1567                 struct policy_handle *bind_handle;/* [ref] */
1568                 int32_t level;
1569                 union drsuapi_DsGetMembershipsRequest *req;/* [ref,switch_is(level)] */
1570         } in;
1571 
1572         struct {
1573                 int32_t *level_out;/* [ref] */
1574                 union drsuapi_DsGetMembershipsCtr *ctr;/* [ref,switch_is(*level_out)] */
1575                 WERROR result;
1576         } out;
1577 
1578 };
1579 
1580 
1581 struct DRSUAPI_INTER_DOMAIN_MOVE {
1582         struct {
1583                 WERROR result;
1584         } out;
1585 
1586 };
1587 
1588 
1589 struct drsuapi_DsGetNT4ChangeLog {
1590         struct {
1591                 struct policy_handle *bind_handle;/* [ref] */
1592                 uint32_t level;
1593                 union drsuapi_DsGetNT4ChangeLogRequest *req;/* [ref,switch_is(level)] */
1594         } in;
1595 
1596         struct {
1597                 uint32_t *level_out;/* [ref] */
1598                 union drsuapi_DsGetNT4ChangeLogInfo *info;/* [ref,switch_is(*level_out)] */
1599                 WERROR result;
1600         } out;
1601 
1602 };
1603 
1604 
1605 struct drsuapi_DsCrackNames {
1606         struct {
1607                 struct policy_handle *bind_handle;/* [ref] */
1608                 int32_t level;
1609                 union drsuapi_DsNameRequest *req;/* [ref,switch_is(level)] */
1610         } in;
1611 
1612         struct {
1613                 int32_t *level_out;/* [ref] */
1614                 union drsuapi_DsNameCtr *ctr;/* [ref,switch_is(*level_out)] */
1615                 WERROR result;
1616         } out;
1617 
1618 };
1619 
1620 
1621 struct drsuapi_DsWriteAccountSpn {
1622         struct {
1623                 struct policy_handle *bind_handle;/* [ref] */
1624                 int32_t level;
1625                 union drsuapi_DsWriteAccountSpnRequest *req;/* [ref,switch_is(level)] */
1626         } in;
1627 
1628         struct {
1629                 int32_t *level_out;/* [ref] */
1630                 union drsuapi_DsWriteAccountSpnResult *res;/* [ref,switch_is(*level_out)] */
1631                 WERROR result;
1632         } out;
1633 
1634 };
1635 
1636 
1637 struct drsuapi_DsRemoveDSServer {
1638         struct {
1639                 struct policy_handle *bind_handle;/* [ref] */
1640                 int32_t level;
1641                 union drsuapi_DsRemoveDSServerRequest *req;/* [ref,switch_is(level)] */
1642         } in;
1643 
1644         struct {
1645                 int32_t *level_out;/* [ref] */
1646                 union drsuapi_DsRemoveDSServerResult *res;/* [ref,switch_is(*level_out)] */
1647                 WERROR result;
1648         } out;
1649 
1650 };
1651 
1652 
1653 struct DRSUAPI_REMOVE_DS_DOMAIN {
1654         struct {
1655                 WERROR result;
1656         } out;
1657 
1658 };
1659 
1660 
1661 struct drsuapi_DsGetDomainControllerInfo {
1662         struct {
1663                 struct policy_handle *bind_handle;/* [ref] */
1664                 int32_t level;
1665                 union drsuapi_DsGetDCInfoRequest *req;/* [ref,switch_is(level)] */
1666         } in;
1667 
1668         struct {
1669                 int32_t *level_out;/* [ref] */
1670                 union drsuapi_DsGetDCInfoCtr *ctr;/* [ref,switch_is(*level_out)] */
1671                 WERROR result;
1672         } out;
1673 
1674 };
1675 
1676 
1677 struct drsuapi_DsAddEntry {
1678         struct {
1679                 struct policy_handle *bind_handle;/* [ref] */
1680                 int32_t level;
1681                 union drsuapi_DsAddEntryRequest *req;/* [ref,switch_is(level)] */
1682         } in;
1683 
1684         struct {
1685                 int32_t *level_out;/* [ref] */
1686                 union drsuapi_DsAddEntryCtr *ctr;/* [ref,switch_is(*level_out)] */
1687                 WERROR result;
1688         } out;
1689 
1690 };
1691 
1692 
1693 struct DRSUAPI_EXECUTE_KCC {
1694         struct {
1695                 WERROR result;
1696         } out;
1697 
1698 };
1699 
1700 
1701 struct drsuapi_DsReplicaGetInfo {
1702         struct {
1703                 struct policy_handle *bind_handle;/* [ref] */
1704                 enum drsuapi_DsReplicaGetInfoLevel level;
1705                 union drsuapi_DsReplicaGetInfoRequest *req;/* [ref,switch_is(level)] */
1706         } in;
1707 
1708         struct {
1709                 enum drsuapi_DsReplicaInfoType *info_type;/* [ref] */
1710                 union drsuapi_DsReplicaInfo *info;/* [ref,switch_is(*info_type)] */
1711                 WERROR result;
1712         } out;
1713 
1714 };
1715 
1716 
1717 struct DRSUAPI_ADD_SID_HISTORY {
1718         struct {
1719                 WERROR result;
1720         } out;
1721 
1722 };
1723 
1724 
1725 struct drsuapi_DsGetMemberships2 {
1726         struct {
1727                 struct policy_handle *bind_handle;/* [ref] */
1728                 int32_t level;
1729                 union drsuapi_DsGetMemberships2Request *req;/* [ref,switch_is(level)] */
1730         } in;
1731 
1732         struct {
1733                 int32_t *level_out;/* [ref] */
1734                 union drsuapi_DsGetMemberships2Ctr *ctr;/* [ref,switch_is(*level_out)] */
1735                 WERROR result;
1736         } out;
1737 
1738 };
1739 
1740 
1741 struct DRSUAPI_REPLICA_VERIFY_OBJECTS {
1742         struct {
1743                 WERROR result;
1744         } out;
1745 
1746 };
1747 
1748 
1749 struct DRSUAPI_GET_OBJECT_EXISTENCE {
1750         struct {
1751                 WERROR result;
1752         } out;
1753 
1754 };
1755 
1756 
1757 struct drsuapi_QuerySitesByCost {
1758         struct {
1759                 struct policy_handle *bind_handle;/* [ref] */
1760                 int32_t level;
1761                 union drsuapi_QuerySitesByCostRequest *req;/* [ref,switch_is(level)] */
1762         } in;
1763 
1764         struct {
1765                 int32_t *level_out;/* [ref] */
1766                 union drsuapi_QuerySitesByCostCtr *ctr;/* [ref,switch_is(*level_out)] */
1767                 WERROR result;
1768         } out;
1769 
1770 };
1771 
1772 #endif /* _HEADER_drsuapi */

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