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