s4-idl: get rid of the operation specific DRS options flags
[garming/samba-autobuild/.git] / librpc / gen_ndr / drsuapi.h
index 8f9b165631e0dc4cfdbc0a35399f89f493485cfa..6cc62a8e94ea0c36f6233ff296a0f5947ff713a7 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_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 )
@@ -163,11 +203,15 @@ struct drsuapi_DsReplicaCursorCtrEx {
 #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_ASYNC_REP ( 0x00000100 )
+#define DRSUAPI_DS_REPLICA_NEIGHBOUR_IGNORE_ERROR ( 0x00000100 )
 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_TWO_WAY_SYNC ( 0x00000200 )
+#define DRSUAPI_DS_REPLICA_NEIGHBOUR_CRITICAL_ONLY ( 0x00000400 )
 #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_FULL_IN_PROGRESS ( 0x00010000 )
+#define DRSUAPI_DS_REPLICA_NEIGHBOUR_FULL_SYNC_PACKET ( 0x00020000 )
 #define DRSUAPI_DS_REPLICA_NEIGHBOUR_NEVER_SYNCED ( 0x00200000 )
+#define DRSUAPI_DS_REPLICA_NEIGHBOUR_SPECIAL_SECRET_PROCESSING ( 0x00800000 )
 #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 )
@@ -178,14 +222,14 @@ struct drsuapi_DsReplicaCursorCtrEx {
 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 +247,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 +301,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 +318,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,77 +333,96 @@ 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_hasMasterNCs=0x0002000e,
-       DRSUAPI_ATTRIBUTE_governsID=0x00020016,
-       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_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_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_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 )
 #define DRSUAPI_ATTRIBUTE_whenCreated ( 0x00020002 )
+#define DRSUAPI_ATTRIBUTE_possSuperiors ( 0x00020008 )
 #define DRSUAPI_ATTRIBUTE_hasMasterNCs ( 0x0002000e )
+#define DRSUAPI_ATTRIBUTE_subClassOf ( 0x00020015 )
 #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 )
@@ -374,6 +437,7 @@ enum drsuapi_DsAttributeId
 #define DRSUAPI_ATTRIBUTE_oMSyntax ( 0x000200e7 )
 #define DRSUAPI_ATTRIBUTE_ntSecurityDescriptor ( 0x00020119 )
 #define DRSUAPI_ATTRIBUTE_searchFlags ( 0x0002014e )
+#define DRSUAPI_ATTRIBUTE_auxiliaryClass ( 0x0002015f )
 #define DRSUAPI_ATTRIBUTE_lDAPDisplayName ( 0x000201cc )
 #define DRSUAPI_ATTRIBUTE_name ( 0x00090001 )
 #define DRSUAPI_ATTRIBUTE_userAccountControl ( 0x00090008 )
@@ -394,6 +458,10 @@ enum drsuapi_DsAttributeId
 #define DRSUAPI_ATTRIBUTE_trustAuthIncoming ( 0x00090081 )
 #define DRSUAPI_ATTRIBUTE_trustAuthOutgoing ( 0x00090087 )
 #define DRSUAPI_ATTRIBUTE_lmPwdHistory ( 0x000900a0 )
+#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_fSMORoleOwner ( 0x00090171 )
@@ -410,10 +478,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
 ;
 
@@ -440,9 +510,27 @@ struct drsuapi_DsGetNCChangesRequest8 {
        struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
 };
 
+struct drsuapi_DsGetNCChangesRequest10 {
+       struct GUID destination_dsa_guid;
+       struct GUID source_dsa_invocation_id;
+       struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
+       struct drsuapi_DsReplicaHighWaterMark highwatermark;
+       struct drsuapi_DsReplicaCursorCtrEx *uptodateness_vector;/* [unique] */
+       uint32_t replica_flags;
+       uint32_t max_object_count;
+       uint32_t max_ndr_size;
+       enum drsuapi_DsExtendedOperation extended_op;
+       uint64_t fsmo_info;
+       struct drsuapi_DsPartialAttributeSet *partial_attribute_set;/* [unique] */
+       struct drsuapi_DsPartialAttributeSet *partial_attribute_set_ex;/* [unique] */
+       struct drsuapi_DsReplicaOIDMapping_Ctr mapping_ctr;
+       uint32_t more_flags;
+};
+
 union drsuapi_DsGetNCChangesRequest {
        struct drsuapi_DsGetNCChangesRequest5 req5;/* [case(5)] */
        struct drsuapi_DsGetNCChangesRequest8 req8;/* [case(8)] */
+       struct drsuapi_DsGetNCChangesRequest10 req10;/* [case(10)] */
 }/* [switch_type(int32)] */;
 
 struct drsuapi_DsReplicaCursor2 {
@@ -479,7 +567,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;
@@ -487,7 +575,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;
@@ -612,8 +700,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}
@@ -646,13 +734,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_WRITEABLE ( 0x00000002 )
-#define DRSUAPI_DS_REPLICA_UPDATE_ADD_REFERENCE ( 0x00000004 )
-#define DRSUAPI_DS_REPLICA_UPDATE_DELETE_REFERENCE ( 0x00000008 )
-#define DRSUAPI_DS_REPLICA_UPDATE_0x00000010 ( 0x00000010 )
-
 struct drsuapi_DsReplicaUpdateRefsRequest1 {
        struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
        const char *dest_dsa_dns_name;/* [ref,charset(DOS)] */
@@ -664,28 +745,61 @@ 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)] */
+       uint8_t schedule[84];
+       uint32_t options;
+};
+
+struct drsuapi_DsReplicaAddRequest2 {
+       struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
+       struct drsuapi_DsReplicaObjectIdentifier *source_dsa_dn;/* [unique] */
+       struct drsuapi_DsReplicaObjectIdentifier *transport_dn;/* [unique] */
+       const char *source_dsa_address;/* [unique,charset(UTF16)] */
+       uint8_t schedule[84];
+       uint32_t options;
+};
+
+union drsuapi_DsReplicaAddRequest {
+       struct drsuapi_DsReplicaAddRequest1 req1;/* [case] */
+       struct drsuapi_DsReplicaAddRequest2 req2;/* [case(2)] */
+}/* [switch_type(int32)] */;
+
+struct drsuapi_DsReplicaDelRequest1 {
+       struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
+       const char *source_dsa_address;/* [unique,charset(UTF16)] */
+       uint32_t options;
+};
+
+union drsuapi_DsReplicaDelRequest {
+       struct drsuapi_DsReplicaDelRequest1 req1;/* [case] */
+}/* [switch_type(int32)] */;
 
-/* bitmap drsuapi_DsReplicaDeleteOptions */
-#define DRSUAPI_DS_REPLICA_DELETE_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_DELETE_WRITEABLE ( 0x00000002 )
+struct drsuapi_DsReplicaModRequest1 {
+       struct drsuapi_DsReplicaObjectIdentifier *naming_context;/* [ref] */
+       struct GUID source_dra;
+       const char *source_dra_address;/* [unique,charset(UTF16)] */
+       uint8_t schedule[84];
+       uint32_t replica_flags;
+       uint32_t modify_fields;
+       uint32_t options;
+};
 
-/* bitmap drsuapi_DsReplicaModifyOptions */
-#define DRSUAPI_DS_REPLICA_MODIFY_ASYNCHRONOUS_OPERATION ( 0x00000001 )
-#define DRSUAPI_DS_REPLICA_MODIFY_WRITEABLE ( 0x00000002 )
+union drsuapi_DsReplicaModRequest {
+       struct drsuapi_DsReplicaModRequest1 req1;/* [case] */
+}/* [switch_type(int32)] */;
 
 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}
@@ -756,14 +870,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}
@@ -781,11 +895,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}
@@ -800,17 +914,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}
@@ -864,9 +978,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}
@@ -1001,10 +1115,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}
@@ -1106,11 +1220,24 @@ union drsuapi_DsAddEntryCtr {
        struct drsuapi_DsAddEntryCtr3 ctr3;/* [case(3)] */
 }/* [switch_type(int32)] */;
 
+/* bitmap drsuapi_DsExecuteKCCFlags */
+#define DRSUAPI_DS_EXECUTE_KCC_ASYNCHRONOUS_OPERATION ( 0x00000001 )
+#define DRSUAPI_DS_EXECUTE_KCC_DAMPED ( 0x00000002 )
+
+struct drsuapi_DsExecuteKCC1 {
+       uint32_t taskID;
+       uint32_t flags;
+};
+
+union drsuapi_DsExecuteKCCRequest {
+       struct drsuapi_DsExecuteKCC1 ctr1;/* [case] */
+}/* [switch_type(uint32)] */;
+
 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}
@@ -1122,21 +1249,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_NEIGHBORS02=(int)(-2),
+       DRSUAPI_DS_REPLICA_INFO_CONNECTIONS04=(int)(-4),
+       DRSUAPI_DS_REPLICA_INFO_CURSORS05=(int)(-5),
+       DRSUAPI_DS_REPLICA_INFO_06=(int)(-6)
 }
 #else
  { __donnot_use_enum_drsuapi_DsReplicaInfoType=0x7FFFFFFF}
@@ -1242,11 +1369,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}
@@ -1258,21 +1385,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)] */
@@ -1530,7 +1648,13 @@ struct drsuapi_DsReplicaUpdateRefs {
 };
 
 
-struct DRSUAPI_REPLICA_ADD {
+struct drsuapi_DsReplicaAdd {
+       struct {
+               struct policy_handle *bind_handle;/* [ref] */
+               int32_t level;
+               union drsuapi_DsReplicaAddRequest req;/* [switch_is(level)] */
+       } in;
+
        struct {
                WERROR result;
        } out;
@@ -1538,7 +1662,13 @@ struct DRSUAPI_REPLICA_ADD {
 };
 
 
-struct DRSUAPI_REPLICA_DEL {
+struct drsuapi_DsReplicaDel {
+       struct {
+               struct policy_handle *bind_handle;/* [ref] */
+               int32_t level;
+               union drsuapi_DsReplicaDelRequest req;/* [switch_is(level)] */
+       } in;
+
        struct {
                WERROR result;
        } out;
@@ -1546,7 +1676,13 @@ struct DRSUAPI_REPLICA_DEL {
 };
 
 
-struct DRSUAPI_REPLICA_MODIFY {
+struct drsuapi_DsReplicaMod {
+       struct {
+               struct policy_handle *bind_handle;/* [ref] */
+               int32_t level;
+               union drsuapi_DsReplicaModRequest req;/* [switch_is(level)] */
+       } in;
+
        struct {
                WERROR result;
        } out;
@@ -1690,7 +1826,13 @@ struct drsuapi_DsAddEntry {
 };
 
 
-struct DRSUAPI_EXECUTE_KCC {
+struct drsuapi_DsExecuteKCC {
+       struct {
+               struct policy_handle *bind_handle;/* [ref] */
+               uint32_t level;
+               union drsuapi_DsExecuteKCCRequest *req;/* [ref,switch_is(level)] */
+       } in;
+
        struct {
                WERROR result;
        } out;