s4/drs: add DRSUAPI_ATTRIBUTE_options attribute
[abartlet/samba.git/.git] / librpc / gen_ndr / drsuapi.h
index 971f16d70c5f0001313513bb54a1f4cf7eb7c44c..41f541a9c72cac3a9232489130634949b7f00caa 100644 (file)
 #define DRSUAPI_DS_BIND_GUID_W2K3      ( "6afab99c-6e26-464a-975f-f58f105218bc" )
 #define DRSUAPI_DS_MEMBERSHIP_FLAG_GROUP_ATTR  ( 0x1 )
 #define DRSUAPI_NTDSDSA_KRB5_SERVICE_GUID      ( "E3514235-4B06-11D1-AB04-00C04FC2DCD2" )
+/* bitmap drsuapi_DrsOptions */
+#define DRSUAPI_DRS_ASYNC_OP ( 0x00000001 )
+#define DRSUAPI_DRS_GETCHG_CHECK ( 0x00000002 )
+#define DRSUAPI_DRS_UPDATE_NOTIFICATION ( 0x00000002 )
+#define DRSUAPI_DRS_ADD_REF ( 0x00000004 )
+#define DRSUAPI_DRS_SYNC_ALL ( 0x00000008 )
+#define DRSUAPI_DRS_DEL_REF ( 0x00000008 )
+#define DRSUAPI_DRS_WRIT_REP ( 0x00000010 )
+#define DRSUAPI_DRS_INIT_SYNC ( 0x00000020 )
+#define DRSUAPI_DRS_PER_SYNC ( 0x00000040 )
+#define DRSUAPI_DRS_MAIL_REP ( 0x00000080 )
+#define DRSUAPI_DRS_ASYNC_REP ( 0x00000100 )
+#define DRSUAPI_DRS_IGNORE_ERROR ( 0x00000100 )
+#define DRSUAPI_DRS_TWOWAY_SYNC ( 0x00000200 )
+#define DRSUAPI_DRS_CRITICAL_ONLY ( 0x00000400 )
+#define DRSUAPI_DRS_GET_ANC ( 0x00000800 )
+#define DRSUAPI_DRS_GET_NC_SIZE ( 0x00001000 )
+#define DRSUAPI_DRS_LOCAL_ONLY ( 0x00001000 )
+#define DRSUAPI_DRS_NONGC_RO_REP ( 0x00002000 )
+#define DRSUAPI_DRS_SYNC_BYNAME ( 0x00004000 )
+#define DRSUAPI_DRS_REF_OK ( 0x00004000 )
+#define DRSUAPI_DRS_FULL_SYNC_NOW ( 0x00008000 )
+#define DRSUAPI_DRS_NO_SOURCE ( 0x00008000 )
+#define DRSUAPI_DRS_FULL_SYNC_IN_PROGRESS ( 0x00010000 )
+#define DRSUAPI_DRS_FULL_SYNC_PACKET ( 0x00020000 )
+#define DRSUAPI_DRS_SYNC_REQUEUE ( 0x00040000 )
+#define DRSUAPI_DRS_SYNC_URGENT ( 0x00080000 )
+#define DRSUAPI_DRS_REF_GCSPN ( 0x00100000 )
+#define DRSUAPI_DRS_NO_DISCARD ( 0x00100000 )
+#define DRSUAPI_DRS_NEVER_SYNCED ( 0x00200000 )
+#define DRSUAPI_DRS_SPECIAL_SECRET_PROCESSING ( 0x00400000 )
+#define DRSUAPI_DRS_INIT_SYNC_NOW ( 0x00800000 )
+#define DRSUAPI_DRS_PREEMPTED ( 0x01000000 )
+#define DRSUAPI_DRS_SYNC_FORCED ( 0x02000000 )
+#define DRSUAPI_DRS_DISABLE_AUTO_SYNC ( 0x04000000 )
+#define DRSUAPI_DRS_DISABLE_PERIODIC_SYNC ( 0x08000000 )
+#define DRSUAPI_DRS_USE_COMPRESSION ( 0x10000000 )
+#define DRSUAPI_DRS_NEVER_NOTIFY ( 0x20000000 )
+#define DRSUAPI_DRS_SYNC_PAS ( 0x40000000 )
+#define DRSUAPI_DRS_GET_ALL_GROUP_MEMBERSHIP ( 0x80000000 )
+
 /* bitmap drsuapi_SupportedExtensions */
 #define DRSUAPI_SUPPORTED_EXTENSION_BASE ( 0x00000001 )
 #define DRSUAPI_SUPPORTED_EXTENSION_ASYNC_REPLICATION ( 0x00000002 )
@@ -23,7 +64,7 @@
 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHG_COMPRESS ( 0x00000010 )
 #define DRSUAPI_SUPPORTED_EXTENSION_DCINFO_V1 ( 0x00000020 )
 #define DRSUAPI_SUPPORTED_EXTENSION_RESTORE_USN_OPTIMIZATION ( 0x00000040 )
-#define DRSUAPI_SUPPORTED_EXTENSION_00000080 ( 0x00000080 )
+#define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY ( 0x00000080 )
 #define DRSUAPI_SUPPORTED_EXTENSION_KCC_EXECUTE ( 0x00000100 )
 #define DRSUAPI_SUPPORTED_EXTENSION_ADDENTRY_V2 ( 0x00000200 )
 #define DRSUAPI_SUPPORTED_EXTENSION_LINKED_VALUE_REPLICATION ( 0x00000400 )
@@ -36,7 +77,7 @@
 #define DRSUAPI_SUPPORTED_EXTENSION_TRANSITIVE_MEMBERSHIP ( 0x00020000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_ADD_SID_HISTORY ( 0x00040000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_POST_BETA3 ( 0x00080000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_00100000 ( 0x00100000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V5 ( 0x00100000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_GET_MEMBERSHIPS2 ( 0x00200000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V6 ( 0x00400000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_NONDOMAIN_NCS ( 0x00800000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREPLY_V7 ( 0x08000000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_VERIFY_OBJECT ( 0x08000000 )
 #define DRSUAPI_SUPPORTED_EXTENSION_XPRESS_COMPRESS ( 0x10000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_20000000 ( 0x20000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_40000000 ( 0x40000000 )
-#define DRSUAPI_SUPPORTED_EXTENSION_80000000 ( 0x80000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_GETCHGREQ_V10 ( 0x20000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART2 ( 0x40000000 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RESERVED_PART3 ( 0x80000000 )
 
 /* bitmap drsuapi_SupportedExtensionsExt */
 #define DRSUAPI_SUPPORTED_EXTENSION_ADAM ( 0x00000001 )
 #define DRSUAPI_SUPPORTED_EXTENSION_LH_BETA2 ( 0x00000002 )
+#define DRSUAPI_SUPPORTED_EXTENSION_RECYCLE_BIN ( 0x00000004 )
 
 struct drsuapi_DsBindInfo24 {
        uint32_t supported_extensions;
@@ -158,34 +200,17 @@ struct drsuapi_DsReplicaCursorCtrEx {
        struct drsuapi_DsReplicaCursor *cursors;/* [size_is(count)] */
 };
 
-/* bitmap drsuapi_DsReplicaNeighbourFlags */
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_WRITEABLE ( 0x00000010 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_SYNC_ON_STARTUP ( 0x00000020 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DO_SCHEDULED_SYNCS ( 0x00000040 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_USE_ASYNC_INTERSIDE_TRANSPORT ( 0x00000080 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_RETURN_OBJECT_PARENTS ( 0x00000800 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_IN_PROGRESS ( 0x00001000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_NEXT_PACKET ( 0x00002000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PREEMPTED ( 0x01000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_CHANGE_NOTIFICATIONS ( 0x04000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_DISABLE_SCHEDULED_SYNC ( 0x08000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_COMPRESS_CHANGES ( 0x10000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_NO_CHANGE_NOTIFICATIONS ( 0x20000000 )
-#define DRSUAPI_DS_REPLICA_NEIGHBOUR_PARTIAL_ATTRIBUTE_SET ( 0x40000000 )
-
 enum drsuapi_DsExtendedOperation
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_EXOP_NONE=0x00000000,
-       DRSUAPI_EXOP_FSMO_REQ_ROLE=0x00000001,
-       DRSUAPI_EXOP_FSMO_RID_ALLOC=0x00000002,
-       DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=0x00000003,
-       DRSUAPI_EXOP_FSMO_REQ_PDC=0x00000004,
-       DRSUAPI_EXOP_FSMO_ABANDON_ROLE=0x00000005,
-       DRSUAPI_EXOP_REPL_OBJ=0x00000006,
-       DRSUAPI_EXOP_REPL_SECRET=0x00000007
+       DRSUAPI_EXOP_NONE=(int)(0x00000000),
+       DRSUAPI_EXOP_FSMO_REQ_ROLE=(int)(0x00000001),
+       DRSUAPI_EXOP_FSMO_RID_ALLOC=(int)(0x00000002),
+       DRSUAPI_EXOP_FSMO_RID_REQ_ROLE=(int)(0x00000003),
+       DRSUAPI_EXOP_FSMO_REQ_PDC=(int)(0x00000004),
+       DRSUAPI_EXOP_FSMO_ABANDON_ROLE=(int)(0x00000005),
+       DRSUAPI_EXOP_REPL_OBJ=(int)(0x00000006),
+       DRSUAPI_EXOP_REPL_SECRET=(int)(0x00000007)
 }
 #else
  { __donnot_use_enum_drsuapi_DsExtendedOperation=0x7FFFFFFF}
@@ -203,23 +228,23 @@ enum drsuapi_DsExtendedOperation
 enum drsuapi_DsExtendedError
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_EXOP_ERR_NONE=0x00000000,
-       DRSUAPI_EXOP_ERR_SUCCESS=0x00000001,
-       DRSUAPI_EXOP_ERR_UNKNOWN_OP=0x00000002,
-       DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=0x00000003,
-       DRSUAPI_EXOP_ERR_UPDATE_ERR=0x00000004,
-       DRSUAPI_EXOP_ERR_EXCEPTION=0x00000005,
-       DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=0x00000006,
-       DRSUAPI_EXOP_ERR_RID_ALLOC=0x00000007,
-       DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=0x00000008,
-       DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=0x00000009,
-       DRSUAPI_EXOP_ERR_MISMATCH=0x0000000A,
-       DRSUAPI_EXOP_ERR_COULDNT_CONTACT=0x0000000B,
-       DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=0x0000000C,
-       DRSUAPI_EXOP_ERR_DIR_ERROR=0x0000000D,
-       DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=0x0000000E,
-       DRSUAPI_EXOP_ERR_ACCESS_DENIED=0x0000000F,
-       DRSUAPI_EXOP_ERR_PARAM_ERROR=0x00000010
+       DRSUAPI_EXOP_ERR_NONE=(int)(0x00000000),
+       DRSUAPI_EXOP_ERR_SUCCESS=(int)(0x00000001),
+       DRSUAPI_EXOP_ERR_UNKNOWN_OP=(int)(0x00000002),
+       DRSUAPI_EXOP_ERR_FSMO_NOT_OWNER=(int)(0x00000003),
+       DRSUAPI_EXOP_ERR_UPDATE_ERR=(int)(0x00000004),
+       DRSUAPI_EXOP_ERR_EXCEPTION=(int)(0x00000005),
+       DRSUAPI_EXOP_ERR_UNKNOWN_CALLER=(int)(0x00000006),
+       DRSUAPI_EXOP_ERR_RID_ALLOC=(int)(0x00000007),
+       DRSUAPI_EXOP_ERR_FSMO_OWNER_DELETED=(int)(0x00000008),
+       DRSUAPI_EXOP_ERR_FMSO_PENDING_OP=(int)(0x00000009),
+       DRSUAPI_EXOP_ERR_MISMATCH=(int)(0x0000000A),
+       DRSUAPI_EXOP_ERR_COULDNT_CONTACT=(int)(0x0000000B),
+       DRSUAPI_EXOP_ERR_FSMO_REFUSING_ROLES=(int)(0x0000000C),
+       DRSUAPI_EXOP_ERR_DIR_ERROR=(int)(0x0000000D),
+       DRSUAPI_EXOP_ERR_FSMO_MISSING_SETTINGS=(int)(0x0000000E),
+       DRSUAPI_EXOP_ERR_ACCESS_DENIED=(int)(0x0000000F),
+       DRSUAPI_EXOP_ERR_PARAM_ERROR=(int)(0x00000010)
 }
 #else
  { __donnot_use_enum_drsuapi_DsExtendedError=0x7FFFFFFF}
@@ -257,9 +282,9 @@ struct drsuapi_DsGetNCChangesRequest5 {
 };
 
 struct drsuapi_DsReplicaOID {
-       uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaOID_oid(oid,0)),range(0,10000)] */
-       const char *oid;/* [unique,charset(DOS),size_is(__ndr_size)] */
-}/* [nopush,nopull] */;
+       uint32_t length;/* [range(0,10000)] */
+       uint8_t *binary_oid;/* [unique,size_is(length)] */
+}/* [noprint] */;
 
 struct drsuapi_DsReplicaOIDMapping {
        uint32_t id_prefix;
@@ -274,9 +299,9 @@ struct drsuapi_DsReplicaOIDMapping_Ctr {
 enum drsuapi_DsObjectClassId
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_OBJECTCLASS_top=0x00010000,
-       DRSUAPI_OBJECTCLASS_classSchema=0x0003000d,
-       DRSUAPI_OBJECTCLASS_attributeSchema=0x0003000e
+       DRSUAPI_OBJECTCLASS_top=(int)(0x00010000),
+       DRSUAPI_OBJECTCLASS_classSchema=(int)(0x0003000d),
+       DRSUAPI_OBJECTCLASS_attributeSchema=(int)(0x0003000e)
 }
 #else
  { __donnot_use_enum_drsuapi_DsObjectClassId=0x7FFFFFFF}
@@ -289,79 +314,86 @@ enum drsuapi_DsObjectClassId
 enum drsuapi_DsAttributeId
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_ATTRIBUTE_objectClass=0x00000000,
-       DRSUAPI_ATTRIBUTE_description=0x0000000d,
-       DRSUAPI_ATTRIBUTE_member=0x0000001f,
-       DRSUAPI_ATTRIBUTE_instanceType=0x00020001,
-       DRSUAPI_ATTRIBUTE_whenCreated=0x00020002,
-       DRSUAPI_ATTRIBUTE_possSuperiors=0x00020008,
-       DRSUAPI_ATTRIBUTE_hasMasterNCs=0x0002000e,
-       DRSUAPI_ATTRIBUTE_subClassOf=0x00020015,
-       DRSUAPI_ATTRIBUTE_governsID=0x00020016,
-       DRSUAPI_ATTRIBUTE_mustContain=0x00020018,
-       DRSUAPI_ATTRIBUTE_mayContain=0x00020019,
-       DRSUAPI_ATTRIBUTE_attributeID=0x0002001e,
-       DRSUAPI_ATTRIBUTE_attributeSyntax=0x00020020,
-       DRSUAPI_ATTRIBUTE_isSingleValued=0x00020021,
-       DRSUAPI_ATTRIBUTE_rangeLower=0x00020022,
-       DRSUAPI_ATTRIBUTE_rangeUpper=0x00020023,
-       DRSUAPI_ATTRIBUTE_dMDLocation=0x00020024,
-       DRSUAPI_ATTRIBUTE_objectVersion=0x0002004c,
-       DRSUAPI_ATTRIBUTE_invocationId=0x00020073,
-       DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=0x000200a9,
-       DRSUAPI_ATTRIBUTE_adminDisplayName=0x000200c2,
-       DRSUAPI_ATTRIBUTE_adminDescription=0x000200e2,
-       DRSUAPI_ATTRIBUTE_oMSyntax=0x000200e7,
-       DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=0x00020119,
-       DRSUAPI_ATTRIBUTE_searchFlags=0x0002014e,
-       DRSUAPI_ATTRIBUTE_auxiliaryClass=0x0002015f,
-       DRSUAPI_ATTRIBUTE_lDAPDisplayName=0x000201cc,
-       DRSUAPI_ATTRIBUTE_name=0x00090001,
-       DRSUAPI_ATTRIBUTE_userAccountControl=0x00090008,
-       DRSUAPI_ATTRIBUTE_currentValue=0x0009001b,
-       DRSUAPI_ATTRIBUTE_homeDirectory=0x0009002c,
-       DRSUAPI_ATTRIBUTE_homeDrive=0x0009002d,
-       DRSUAPI_ATTRIBUTE_scriptPath=0x0009003e,
-       DRSUAPI_ATTRIBUTE_profilePath=0x0009008b,
-       DRSUAPI_ATTRIBUTE_objectSid=0x00090092,
-       DRSUAPI_ATTRIBUTE_schemaIDGUID=0x00090094,
-       DRSUAPI_ATTRIBUTE_dBCSPwd=0x00090037,
-       DRSUAPI_ATTRIBUTE_logonHours=0x00090040,
-       DRSUAPI_ATTRIBUTE_userWorkstations=0x00090056,
-       DRSUAPI_ATTRIBUTE_unicodePwd=0x0009005a,
-       DRSUAPI_ATTRIBUTE_ntPwdHistory=0x0009005e,
-       DRSUAPI_ATTRIBUTE_priorValue=0x00090064,
-       DRSUAPI_ATTRIBUTE_supplementalCredentials=0x0009007d,
-       DRSUAPI_ATTRIBUTE_trustAuthIncoming=0x00090081,
-       DRSUAPI_ATTRIBUTE_trustAuthOutgoing=0x00090087,
-       DRSUAPI_ATTRIBUTE_lmPwdHistory=0x000900a0,
-       DRSUAPI_ATTRIBUTE_systemPossSuperiors=0x000900c3,
-       DRSUAPI_ATTRIBUTE_systemMayContain=0x000900c4,
-       DRSUAPI_ATTRIBUTE_systemMustContain=0x000900c5,
-       DRSUAPI_ATTRIBUTE_sAMAccountName=0x000900dd,
-       DRSUAPI_ATTRIBUTE_sAMAccountType=0x0009012e,
-       DRSUAPI_ATTRIBUTE_fSMORoleOwner=0x00090171,
-       DRSUAPI_ATTRIBUTE_systemFlags=0x00090177,
-       DRSUAPI_ATTRIBUTE_serverReference=0x00090203,
-       DRSUAPI_ATTRIBUTE_serverReferenceBL=0x00090204,
-       DRSUAPI_ATTRIBUTE_initialAuthIncoming=0x0009021b,
-       DRSUAPI_ATTRIBUTE_initialAuthOutgoing=0x0009021c,
-       DRSUAPI_ATTRIBUTE_wellKnownObjects=0x0009026a,
-       DRSUAPI_ATTRIBUTE_dNSHostName=0x0009026b,
-       DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=0x0009027f,
-       DRSUAPI_ATTRIBUTE_userPrincipalName=0x00090290,
-       DRSUAPI_ATTRIBUTE_groupType=0x000902ee,
-       DRSUAPI_ATTRIBUTE_servicePrincipalName=0x00090303,
-       DRSUAPI_ATTRIBUTE_objectCategory=0x0009030e,
-       DRSUAPI_ATTRIBUTE_gPLink=0x0009037b,
-       DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=0x000905b3,
-       DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=0x000906f6,
-       DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=0x0009071c,
-       DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=0x0009072c
+       DRSUAPI_ATTRIBUTE_objectClass=(int)(0x00000000),
+       DRSUAPI_ATTRIBUTE_cn=(int)(0x00000003),
+       DRSUAPI_ATTRIBUTE_description=(int)(0x0000000d),
+       DRSUAPI_ATTRIBUTE_member=(int)(0x0000001f),
+       DRSUAPI_ATTRIBUTE_instanceType=(int)(0x00020001),
+       DRSUAPI_ATTRIBUTE_whenCreated=(int)(0x00020002),
+       DRSUAPI_ATTRIBUTE_possSuperiors=(int)(0x00020008),
+       DRSUAPI_ATTRIBUTE_hasMasterNCs=(int)(0x0002000e),
+       DRSUAPI_ATTRIBUTE_subClassOf=(int)(0x00020015),
+       DRSUAPI_ATTRIBUTE_governsID=(int)(0x00020016),
+       DRSUAPI_ATTRIBUTE_mustContain=(int)(0x00020018),
+       DRSUAPI_ATTRIBUTE_mayContain=(int)(0x00020019),
+       DRSUAPI_ATTRIBUTE_rDNAttId=(int)(0x0002001A),
+       DRSUAPI_ATTRIBUTE_attributeID=(int)(0x0002001e),
+       DRSUAPI_ATTRIBUTE_attributeSyntax=(int)(0x00020020),
+       DRSUAPI_ATTRIBUTE_isSingleValued=(int)(0x00020021),
+       DRSUAPI_ATTRIBUTE_rangeLower=(int)(0x00020022),
+       DRSUAPI_ATTRIBUTE_rangeUpper=(int)(0x00020023),
+       DRSUAPI_ATTRIBUTE_dMDLocation=(int)(0x00020024),
+       DRSUAPI_ATTRIBUTE_objectVersion=(int)(0x0002004c),
+       DRSUAPI_ATTRIBUTE_invocationId=(int)(0x00020073),
+       DRSUAPI_ATTRIBUTE_showInAdvancedViewOnly=(int)(0x000200a9),
+       DRSUAPI_ATTRIBUTE_adminDisplayName=(int)(0x000200c2),
+       DRSUAPI_ATTRIBUTE_adminDescription=(int)(0x000200e2),
+       DRSUAPI_ATTRIBUTE_oMSyntax=(int)(0x000200e7),
+       DRSUAPI_ATTRIBUTE_ntSecurityDescriptor=(int)(0x00020119),
+       DRSUAPI_ATTRIBUTE_searchFlags=(int)(0x0002014e),
+       DRSUAPI_ATTRIBUTE_auxiliaryClass=(int)(0x0002015f),
+       DRSUAPI_ATTRIBUTE_lDAPDisplayName=(int)(0x000201cc),
+       DRSUAPI_ATTRIBUTE_name=(int)(0x00090001),
+       DRSUAPI_ATTRIBUTE_userAccountControl=(int)(0x00090008),
+       DRSUAPI_ATTRIBUTE_currentValue=(int)(0x0009001b),
+       DRSUAPI_ATTRIBUTE_homeDirectory=(int)(0x0009002c),
+       DRSUAPI_ATTRIBUTE_homeDrive=(int)(0x0009002d),
+       DRSUAPI_ATTRIBUTE_scriptPath=(int)(0x0009003e),
+       DRSUAPI_ATTRIBUTE_profilePath=(int)(0x0009008b),
+       DRSUAPI_ATTRIBUTE_objectSid=(int)(0x00090092),
+       DRSUAPI_ATTRIBUTE_schemaIDGUID=(int)(0x00090094),
+       DRSUAPI_ATTRIBUTE_dBCSPwd=(int)(0x00090037),
+       DRSUAPI_ATTRIBUTE_logonHours=(int)(0x00090040),
+       DRSUAPI_ATTRIBUTE_userWorkstations=(int)(0x00090056),
+       DRSUAPI_ATTRIBUTE_unicodePwd=(int)(0x0009005a),
+       DRSUAPI_ATTRIBUTE_ntPwdHistory=(int)(0x0009005e),
+       DRSUAPI_ATTRIBUTE_priorValue=(int)(0x00090064),
+       DRSUAPI_ATTRIBUTE_supplementalCredentials=(int)(0x0009007d),
+       DRSUAPI_ATTRIBUTE_trustAuthIncoming=(int)(0x00090081),
+       DRSUAPI_ATTRIBUTE_trustAuthOutgoing=(int)(0x00090087),
+       DRSUAPI_ATTRIBUTE_lmPwdHistory=(int)(0x000900a0),
+       DRSUAPI_ATTRIBUTE_systemPossSuperiors=(int)(0x000900c3),
+       DRSUAPI_ATTRIBUTE_systemMayContain=(int)(0x000900c4),
+       DRSUAPI_ATTRIBUTE_systemMustContain=(int)(0x000900c5),
+       DRSUAPI_ATTRIBUTE_systemAuxiliaryClass=(int)(0x000900c6),
+       DRSUAPI_ATTRIBUTE_sAMAccountName=(int)(0x000900dd),
+       DRSUAPI_ATTRIBUTE_sAMAccountType=(int)(0x0009012e),
+       DRSUAPI_ATTRIBUTE_options=(int)(0x00090133),
+       DRSUAPI_ATTRIBUTE_fSMORoleOwner=(int)(0x00090171),
+       DRSUAPI_ATTRIBUTE_systemFlags=(int)(0x00090177),
+       DRSUAPI_ATTRIBUTE_serverReference=(int)(0x00090203),
+       DRSUAPI_ATTRIBUTE_serverReferenceBL=(int)(0x00090204),
+       DRSUAPI_ATTRIBUTE_initialAuthIncoming=(int)(0x0009021b),
+       DRSUAPI_ATTRIBUTE_initialAuthOutgoing=(int)(0x0009021c),
+       DRSUAPI_ATTRIBUTE_wellKnownObjects=(int)(0x0009026a),
+       DRSUAPI_ATTRIBUTE_dNSHostName=(int)(0x0009026b),
+       DRSUAPI_ATTRIBUTE_isMemberOfPartialAttributeSet=(int)(0x0009027f),
+       DRSUAPI_ATTRIBUTE_userPrincipalName=(int)(0x00090290),
+       DRSUAPI_ATTRIBUTE_groupType=(int)(0x000902ee),
+       DRSUAPI_ATTRIBUTE_servicePrincipalName=(int)(0x00090303),
+       DRSUAPI_ATTRIBUTE_objectCategory=(int)(0x0009030e),
+       DRSUAPI_ATTRIBUTE_gPLink=(int)(0x0009037b),
+       DRSUAPI_ATTRIBUTE_transportAddressAttribute=(int)(0x0009037f),
+       DRSUAPI_ATTRIBUTE_msDS_Behavior_Version=(int)(0x000905b3),
+       DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber=(int)(0x000906f6),
+       DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs=(int)(0x0009071c),
+       DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs=(int)(0x0009072c),
+       DRSUAPI_ATTRIBUTE_NONE=(int)(0xFFFFFFFF)
 }
 #else
  { __donnot_use_enum_drsuapi_DsAttributeId=0x7FFFFFFF}
 #define DRSUAPI_ATTRIBUTE_objectClass ( 0x00000000 )
+#define DRSUAPI_ATTRIBUTE_cn ( 0x00000003 )
 #define DRSUAPI_ATTRIBUTE_description ( 0x0000000d )
 #define DRSUAPI_ATTRIBUTE_member ( 0x0000001f )
 #define DRSUAPI_ATTRIBUTE_instanceType ( 0x00020001 )
@@ -372,6 +404,7 @@ enum drsuapi_DsAttributeId
 #define DRSUAPI_ATTRIBUTE_governsID ( 0x00020016 )
 #define DRSUAPI_ATTRIBUTE_mustContain ( 0x00020018 )
 #define DRSUAPI_ATTRIBUTE_mayContain ( 0x00020019 )
+#define DRSUAPI_ATTRIBUTE_rDNAttId ( 0x0002001A )
 #define DRSUAPI_ATTRIBUTE_attributeID ( 0x0002001e )
 #define DRSUAPI_ATTRIBUTE_attributeSyntax ( 0x00020020 )
 #define DRSUAPI_ATTRIBUTE_isSingleValued ( 0x00020021 )
@@ -410,8 +443,10 @@ enum drsuapi_DsAttributeId
 #define DRSUAPI_ATTRIBUTE_systemPossSuperiors ( 0x000900c3 )
 #define DRSUAPI_ATTRIBUTE_systemMayContain ( 0x000900c4 )
 #define DRSUAPI_ATTRIBUTE_systemMustContain ( 0x000900c5 )
+#define DRSUAPI_ATTRIBUTE_systemAuxiliaryClass ( 0x000900c6 )
 #define DRSUAPI_ATTRIBUTE_sAMAccountName ( 0x000900dd )
 #define DRSUAPI_ATTRIBUTE_sAMAccountType ( 0x0009012e )
+#define DRSUAPI_ATTRIBUTE_options ( 0x00090133 )
 #define DRSUAPI_ATTRIBUTE_fSMORoleOwner ( 0x00090171 )
 #define DRSUAPI_ATTRIBUTE_systemFlags ( 0x00090177 )
 #define DRSUAPI_ATTRIBUTE_serverReference ( 0x00090203 )
@@ -426,10 +461,12 @@ enum drsuapi_DsAttributeId
 #define DRSUAPI_ATTRIBUTE_servicePrincipalName ( 0x00090303 )
 #define DRSUAPI_ATTRIBUTE_objectCategory ( 0x0009030e )
 #define DRSUAPI_ATTRIBUTE_gPLink ( 0x0009037b )
+#define DRSUAPI_ATTRIBUTE_transportAddressAttribute ( 0x0009037f )
 #define DRSUAPI_ATTRIBUTE_msDS_Behavior_Version ( 0x000905b3 )
 #define DRSUAPI_ATTRIBUTE_msDS_KeyVersionNumber ( 0x000906f6 )
 #define DRSUAPI_ATTRIBUTE_msDS_HasDomainNCs ( 0x0009071c )
 #define DRSUAPI_ATTRIBUTE_msDS_hasMasterNCs ( 0x0009072c )
+#define DRSUAPI_ATTRIBUTE_NONE ( 0xFFFFFFFF )
 #endif
 ;
 
@@ -513,7 +550,7 @@ struct drsuapi_DsReplicaObjectIdentifier3 {
 }/* [gensize,public] */;
 
 struct drsuapi_DsReplicaObjectIdentifier3Binary {
-       uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary(r,ndr->iconv_convenience,ndr->flags))] */
+       uint32_t __ndr_size;/* [value(ndr_size_drsuapi_DsReplicaObjectIdentifier3Binary_without_Binary(r,ndr->iconv_convenience,ndr->flags))] */
        uint32_t __ndr_size_sid;/* [value(ndr_size_dom_sid28(&sid,ndr->flags))] */
        struct GUID guid;
        struct dom_sid28 sid;
@@ -521,7 +558,7 @@ struct drsuapi_DsReplicaObjectIdentifier3Binary {
        const char *dn;/* [charset(UTF16)] */
        uint32_t __ndr_size_binary;/* [value(binary.length+4)] */
        DATA_BLOB binary;/* [flag(LIBNDR_FLAG_REMAINING)] */
-}/* [gensize,public] */;
+}/* [public] */;
 
 struct drsuapi_DsReplicaAttribute {
        enum drsuapi_DsAttributeId attid;
@@ -646,8 +683,8 @@ struct drsuapi_DsGetNCChangesXPRESSCtr6 {
 enum drsuapi_DsGetNCChangesCompressionType
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_COMPRESSION_TYPE_MSZIP=2,
-       DRSUAPI_COMPRESSION_TYPE_XPRESS=3
+       DRSUAPI_COMPRESSION_TYPE_MSZIP=(int)(2),
+       DRSUAPI_COMPRESSION_TYPE_XPRESS=(int)(3)
 }
 #else
  { __donnot_use_enum_drsuapi_DsGetNCChangesCompressionType=0x7FFFFFFF}
@@ -680,13 +717,6 @@ union drsuapi_DsGetNCChangesCtr {
        struct drsuapi_DsGetNCChangesCtr7 ctr7;/* [case(7)] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaUpdateRefsOptions */
-#define DRSUAPI_DS_REPLICA_UPDATE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_UPDATE_GETCHG_CHECK ( 0x00000002 )
-#define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
-#define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
-#define DRSUAPI_DS_REPLICA_UPDATE_WRITEABLE ( 0x00000010 )
-
 struct drsuapi_DsReplicaUpdateRefsRequest1 {
        struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
        const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
@@ -698,10 +728,6 @@ union drsuapi_DsReplicaUpdateRefsRequest {
        struct drsuapi_DsReplicaUpdateRefsRequest1 req1;/* [case] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaAddOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaAddRequest1 {
        struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
        const char *source_dsa_address;/* [unique,charset(UTF16)] */
@@ -723,10 +749,6 @@ union drsuapi_DsReplicaAddRequest {
        struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaDeleteOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaDelRequest1 {
        struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
        const char *source_dsa_address;/* [unique,charset(UTF16)] */
@@ -737,10 +759,6 @@ union drsuapi_DsReplicaDelRequest {
        struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
 }/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaModifyOptions */
-#define DRSUAPI_DS_REPLICA_ADD_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_ADD_WRITEABLE ( 0x00000002 )
-
 struct drsuapi_DsReplicaModRequest1 {
        struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
        struct GUID source_dra;
@@ -758,13 +776,13 @@ union drsuapi_DsReplicaModRequest {
 enum drsuapi_DsMembershipType
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=1,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=2,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=3,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=4,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=5,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=6,
-       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=7
+       DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_AND_DOMAIN_GROUPS=(int)(1),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS=(int)(2),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS=(int)(3),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_LOCAL_GROUPS2=(int)(4),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_UNIVERSAL_GROUPS=(int)(5),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_GROUPMEMBERS=(int)(6),
+       DRSUAPI_DS_MEMBERSHIP_TYPE_DOMAIN_GROUPS2=(int)(7)
 }
 #else
  { __donnot_use_enum_drsuapi_DsMembershipType=0x7FFFFFFF}
@@ -835,14 +853,14 @@ union drsuapi_DsGetNT4ChangeLogInfo {
 enum drsuapi_DsNameStatus
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_NAME_STATUS_OK=0,
-       DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=1,
-       DRSUAPI_DS_NAME_STATUS_NOT_FOUND=2,
-       DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=3,
-       DRSUAPI_DS_NAME_STATUS_NO_MAPPING=4,
-       DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=5,
-       DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=6,
-       DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=7
+       DRSUAPI_DS_NAME_STATUS_OK=(int)(0),
+       DRSUAPI_DS_NAME_STATUS_RESOLVE_ERROR=(int)(1),
+       DRSUAPI_DS_NAME_STATUS_NOT_FOUND=(int)(2),
+       DRSUAPI_DS_NAME_STATUS_NOT_UNIQUE=(int)(3),
+       DRSUAPI_DS_NAME_STATUS_NO_MAPPING=(int)(4),
+       DRSUAPI_DS_NAME_STATUS_DOMAIN_ONLY=(int)(5),
+       DRSUAPI_DS_NAME_STATUS_NO_SYNTACTICAL_MAPPING=(int)(6),
+       DRSUAPI_DS_NAME_STATUS_TRUST_REFERRAL=(int)(7)
 }
 #else
  { __donnot_use_enum_drsuapi_DsNameStatus=0x7FFFFFFF}
@@ -860,11 +878,11 @@ enum drsuapi_DsNameStatus
 enum drsuapi_DsNameFlags
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_NAME_FLAG_NO_FLAGS=0x0,
-       DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=0x1,
-       DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=0x2,
-       DRSUAPI_DS_NAME_FLAG_GCVERIFY=0x4,
-       DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=0x8
+       DRSUAPI_DS_NAME_FLAG_NO_FLAGS=(int)(0x0),
+       DRSUAPI_DS_NAME_FLAG_SYNTACTICAL_ONLY=(int)(0x1),
+       DRSUAPI_DS_NAME_FLAG_EVAL_AT_DC=(int)(0x2),
+       DRSUAPI_DS_NAME_FLAG_GCVERIFY=(int)(0x4),
+       DRSUAPI_DS_NAME_FLAG_TRUST_REFERRAL=(int)(0x8)
 }
 #else
  { __donnot_use_enum_drsuapi_DsNameFlags=0x7FFFFFFF}
@@ -879,17 +897,17 @@ enum drsuapi_DsNameFlags
 enum drsuapi_DsNameFormat
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_NAME_FORMAT_UNKNOWN=0,
-       DRSUAPI_DS_NAME_FORMAT_FQDN_1779=1,
-       DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=2,
-       DRSUAPI_DS_NAME_FORMAT_DISPLAY=3,
-       DRSUAPI_DS_NAME_FORMAT_GUID=6,
-       DRSUAPI_DS_NAME_FORMAT_CANONICAL=7,
-       DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=8,
-       DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=9,
-       DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=10,
-       DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=11,
-       DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=12
+       DRSUAPI_DS_NAME_FORMAT_UNKNOWN=(int)(0),
+       DRSUAPI_DS_NAME_FORMAT_FQDN_1779=(int)(1),
+       DRSUAPI_DS_NAME_FORMAT_NT4_ACCOUNT=(int)(2),
+       DRSUAPI_DS_NAME_FORMAT_DISPLAY=(int)(3),
+       DRSUAPI_DS_NAME_FORMAT_GUID=(int)(6),
+       DRSUAPI_DS_NAME_FORMAT_CANONICAL=(int)(7),
+       DRSUAPI_DS_NAME_FORMAT_USER_PRINCIPAL=(int)(8),
+       DRSUAPI_DS_NAME_FORMAT_CANONICAL_EX=(int)(9),
+       DRSUAPI_DS_NAME_FORMAT_SERVICE_PRINCIPAL=(int)(10),
+       DRSUAPI_DS_NAME_FORMAT_SID_OR_SID_HISTORY=(int)(11),
+       DRSUAPI_DS_NAME_FORMAT_DNS_DOMAIN=(int)(12)
 }
 #else
  { __donnot_use_enum_drsuapi_DsNameFormat=0x7FFFFFFF}
@@ -943,9 +961,9 @@ union drsuapi_DsNameCtr {
 enum drsuapi_DsSpnOperation
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_SPN_OPERATION_ADD=0,
-       DRSUAPI_DS_SPN_OPERATION_REPLACE=1,
-       DRSUAPI_DS_SPN_OPERATION_DELETE=2
+       DRSUAPI_DS_SPN_OPERATION_ADD=(int)(0),
+       DRSUAPI_DS_SPN_OPERATION_REPLACE=(int)(1),
+       DRSUAPI_DS_SPN_OPERATION_DELETE=(int)(2)
 }
 #else
  { __donnot_use_enum_drsuapi_DsSpnOperation=0x7FFFFFFF}
@@ -1080,10 +1098,10 @@ struct drsuapi_DsGetDCConnectionCtr01 {
 enum drsuapi_DsGetDCInfoCtrLevels
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DC_INFO_CTR_1=1,
-       DRSUAPI_DC_INFO_CTR_2=2,
-       DRSUAPI_DC_INFO_CTR_3=3,
-       DRSUAPI_DC_CONNECTION_CTR_01=-1
+       DRSUAPI_DC_INFO_CTR_1=(int)(1),
+       DRSUAPI_DC_INFO_CTR_2=(int)(2),
+       DRSUAPI_DC_INFO_CTR_3=(int)(3),
+       DRSUAPI_DC_CONNECTION_CTR_01=(int)(-1)
 }
 #else
  { __donnot_use_enum_drsuapi_DsGetDCInfoCtrLevels=0x7FFFFFFF}
@@ -1201,8 +1219,8 @@ union drsuapi_DsExecuteKCCRequest {
 enum drsuapi_DsReplicaGetInfoLevel
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_REPLICA_GET_INFO=1,
-       DRSUAPI_DS_REPLICA_GET_INFO2=2
+       DRSUAPI_DS_REPLICA_GET_INFO=(int)(1),
+       DRSUAPI_DS_REPLICA_GET_INFO2=(int)(2)
 }
 #else
  { __donnot_use_enum_drsuapi_DsReplicaGetInfoLevel=0x7FFFFFFF}
@@ -1214,21 +1232,21 @@ enum drsuapi_DsReplicaGetInfoLevel
 enum drsuapi_DsReplicaInfoType
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=0,
-       DRSUAPI_DS_REPLICA_INFO_CURSORS=1,
-       DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=2,
-       DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=3,
-       DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=4,
-       DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=5,
-       DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=6,
-       DRSUAPI_DS_REPLICA_INFO_CURSORS2=7,
-       DRSUAPI_DS_REPLICA_INFO_CURSORS3=8,
-       DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=9,
-       DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=10,
-       DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02=-2,
-       DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=-4,
-       DRSUAPI_DS_REPLICA_INFO_CURSORS05=-5,
-       DRSUAPI_DS_REPLICA_INFO_06=-6
+       DRSUAPI_DS_REPLICA_INFO_NEIGHBORS=(int)(0),
+       DRSUAPI_DS_REPLICA_INFO_CURSORS=(int)(1),
+       DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA=(int)(2),
+       DRSUAPI_DS_REPLICA_INFO_KCC_DSA_CONNECT_FAILURES=(int)(3),
+       DRSUAPI_DS_REPLICA_INFO_KCC_DSA_LINK_FAILURES=(int)(4),
+       DRSUAPI_DS_REPLICA_INFO_PENDING_OPS=(int)(5),
+       DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA=(int)(6),
+       DRSUAPI_DS_REPLICA_INFO_CURSORS2=(int)(7),
+       DRSUAPI_DS_REPLICA_INFO_CURSORS3=(int)(8),
+       DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2=(int)(9),
+       DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2=(int)(10),
+       DRSUAPI_DS_REPLICA_INFO_REPSTO=(int)(-2),
+       DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS=(int)(-4),
+       DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1=(int)(-5),
+       DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS=(int)(-6)
 }
 #else
  { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
@@ -1243,10 +1261,10 @@ enum drsuapi_DsReplicaInfoType
 #define DRSUAPI_DS_REPLICA_INFO_CURSORS3 ( 8 )
 #define DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2 ( 9 )
 #define DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2 ( 10 )
-#define DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02 ( -2 )
-#define DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04 ( -4 )
-#define DRSUAPI_DS_REPLICA_INFO_CURSORS05 ( -5 )
-#define DRSUAPI_DS_REPLICA_INFO_06 ( -6 )
+#define DRSUAPI_DS_REPLICA_INFO_REPSTO ( -2 )
+#define DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS ( -4 )
+#define DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1 ( -5 )
+#define DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS ( -6 )
 #endif
 ;
 
@@ -1260,10 +1278,10 @@ struct drsuapi_DsReplicaGetInfoRequest2 {
        enum drsuapi_DsReplicaInfoType info_type;
        const char *object_dn;/* [unique,charset(UTF16)] */
        struct GUID guid1;
-       uint32_t unknown1;
+       uint32_t flags;
        const char *string1;/* [unique,charset(UTF16)] */
        const char *string2;/* [unique,charset(UTF16)] */
-       uint32_t unknown2;
+       uint32_t enumeration_context;
 };
 
 union drsuapi_DsReplicaGetInfoRequest {
@@ -1334,11 +1352,11 @@ struct drsuapi_DsReplicaKccDsaFailuresCtr {
 enum drsuapi_DsReplicaOpType
 #ifndef USE_UINT_ENUMS
  {
-       DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=0,
-       DRSUAPI_DS_REPLICA_OP_TYPE_ADD=1,
-       DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=2,
-       DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=3,
-       DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=4
+       DRSUAPI_DS_REPLICA_OP_TYPE_SYNC=(int)(0),
+       DRSUAPI_DS_REPLICA_OP_TYPE_ADD=(int)(1),
+       DRSUAPI_DS_REPLICA_OP_TYPE_DELETE=(int)(2),
+       DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY=(int)(3),
+       DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS=(int)(4)
 }
 #else
  { __donnot_use_enum_drsuapi_DsReplicaOpType=0x7FFFFFFF}
@@ -1350,21 +1368,12 @@ enum drsuapi_DsReplicaOpType
 #endif
 ;
 
-union drsuapi_DsRplicaOpOptions {
-       uint32_t sync;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)] */
-       uint32_t add;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)] */
-       uint32_t op_delete;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)] */
-       uint32_t modify;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)] */
-       uint32_t update_refs;/* [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)] */
-       uint32_t unknown;/* [default] */
-}/* [switch_type(drsuapi_DsReplicaOpType)] */;
-
 struct drsuapi_DsReplicaOp {
        NTTIME operation_start;
        uint32_t serial_num;
        uint32_t priority;
        enum drsuapi_DsReplicaOpType operation_type;
-       union drsuapi_DsRplicaOpOptions options;/* [switch_is(operation_type)] */
+       uint32_t options;
        const char *nc_dn;/* [unique,charset(UTF16)] */
        const char *remote_dsa_obj_dn;/* [unique,charset(UTF16)] */
        const char *remote_dsa_address;/* [unique,charset(UTF16)] */
@@ -1394,13 +1403,13 @@ struct drsuapi_DsReplicaAttrValMetaData {
 
 struct drsuapi_DsReplicaAttrValMetaDataCtr {
        uint32_t count;
-       int32_t enumeration_context;
+       uint32_t enumeration_context;
        struct drsuapi_DsReplicaAttrValMetaData *array;/* [size_is(count)] */
 };
 
 struct drsuapi_DsReplicaCursor2Ctr {
        uint32_t count;
-       int32_t enumeration_context;
+       uint32_t enumeration_context;
        struct drsuapi_DsReplicaCursor2 *array;/* [size_is(count)] */
 };
 
@@ -1413,7 +1422,7 @@ struct drsuapi_DsReplicaCursor3 {
 
 struct drsuapi_DsReplicaCursor3Ctr {
        uint32_t count;
-       int32_t enumeration_context;
+       uint32_t enumeration_context;
        struct drsuapi_DsReplicaCursor3 *array;/* [size_is(count)] */
 };
 
@@ -1429,7 +1438,7 @@ struct drsuapi_DsReplicaObjMetaData2 {
 
 struct drsuapi_DsReplicaObjMetaData2Ctr {
        uint32_t count;
-       int32_t enumeration_context;
+       uint32_t enumeration_context;
        struct drsuapi_DsReplicaObjMetaData2 *array;/* [size_is(count)] */
 };
 
@@ -1450,7 +1459,7 @@ struct drsuapi_DsReplicaAttrValMetaData2 {
 
 struct drsuapi_DsReplicaAttrValMetaData2Ctr {
        uint32_t count;
-       int32_t enumeration_context;
+       uint32_t enumeration_context;
        struct drsuapi_DsReplicaAttrValMetaData2 *array;/* [size_is(count)] */
 };
 
@@ -1499,10 +1508,10 @@ union drsuapi_DsReplicaInfo {
        struct drsuapi_DsReplicaCursor3Ctr *cursors3;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS3)] */
        struct drsuapi_DsReplicaObjMetaData2Ctr *objmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_OBJ_METADATA2)] */
        struct drsuapi_DsReplicaAttrValMetaData2Ctr *attrvalmetadata2;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_ATTRIBUTE_VALUE_METADATA2)] */
-       struct drsuapi_DsReplicaNeighbourCtr *neighbours02;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_NEIGHBORS02)] */
-       struct drsuapi_DsReplicaConnection04Ctr *connections04;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04)] */
-       struct drsuapi_DsReplicaCursorCtrEx *cursors05;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CURSORS05)] */
-       struct drsuapi_DsReplica06Ctr *i06;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_06)] */
+       struct drsuapi_DsReplicaNeighbourCtr *repsto;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_REPSTO)] */
+       struct drsuapi_DsReplicaConnection04Ctr *clientctx;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_CLIENT_CONTEXTS)] */
+       struct drsuapi_DsReplicaCursorCtrEx *udv1;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_UPTODATE_VECTOR_V1)] */
+       struct drsuapi_DsReplica06Ctr *srvoutgoingcalls;/* [unique,case(DRSUAPI_DS_REPLICA_INFO_SERVER_OUTGOING_CALLS)] */
 }/* [switch_type(drsuapi_DsReplicaInfoType)] */;
 
 struct drsuapi_DsGetMemberships2Ctr1 {