s4-drsuapi: merge drsuapi_DsRemoveDSServer from s3 drsuapi idl.
[samba.git] / source4 / librpc / idl / drsuapi.idl
index a41bc9cf199f88306f1642b51e3787ccaddf5bd9..5b4132d279292ba9f963d6a8e11ece3059bc53a9 100644 (file)
@@ -808,9 +808,10 @@ interface drsuapi
 
        [todo] WERROR drsuapi_DsGetMemberships(
                [in] policy_handle *bind_handle,
-               [in,out] int32 level,
-               [in] [switch_is(level)] drsuapi_DsGetMembershipsRequest req,
-               [out] [switch_is(level)] drsuapi_DsGetMembershipsCtr ctr
+               [in] int32 level,
+               [in,ref] [switch_is(level)] drsuapi_DsGetMembershipsRequest *req,
+               [out,ref] int32 *level_out,
+               [out,ref] [switch_is(*level_out)] drsuapi_DsGetMembershipsCtr *ctr
                );
 
        /*****************/
@@ -850,9 +851,10 @@ interface drsuapi
 
        [todo] WERROR drsuapi_DsGetNT4ChangeLog(
                [in] policy_handle *bind_handle,
-               [in,out] uint32 level,
-               [in] [switch_is(level)] drsuapi_DsGetNT4ChangeLogRequest req,
-               [out] [switch_is(level)] drsuapi_DsGetNT4ChangeLogInfo info
+               [in] uint32 level,
+               [in,ref] [switch_is(level)] drsuapi_DsGetNT4ChangeLogRequest *req,
+               [out,ref] uint32 *level_out,
+               [out,ref] [switch_is(*level_out)] drsuapi_DsGetNT4ChangeLogInfo *info
                );
 
        /*****************/
@@ -987,9 +989,10 @@ interface drsuapi
 
        WERROR drsuapi_DsRemoveDSServer(
                [in] policy_handle *bind_handle,
-               [in,out] int32 level,
-               [in,switch_is(level)] drsuapi_DsRemoveDSServerRequest req,
-               [out,switch_is(level)] drsuapi_DsRemoveDSServerResult res
+               [in] int32 level,
+               [in,ref,switch_is(level)] drsuapi_DsRemoveDSServerRequest *req,
+               [out,ref] int32 *level_out,
+               [out,ref,switch_is(*level_out)] drsuapi_DsRemoveDSServerResult *res
                );
 
        /*****************/
@@ -1044,6 +1047,29 @@ interface drsuapi
                [size_is(count)] drsuapi_DsGetDCInfo2 *array;
        } drsuapi_DsGetDCInfoCtr2;
 
+       typedef struct {
+               [charset(UTF16),string] uint16 *netbios_name;
+               [charset(UTF16),string] uint16 *dns_name;
+               [charset(UTF16),string] uint16 *site_name;
+               [charset(UTF16),string] uint16 *site_dn;
+               [charset(UTF16),string] uint16 *computer_dn;
+               [charset(UTF16),string] uint16 *server_dn;
+               [charset(UTF16),string] uint16 *ntds_dn;
+               uint32 is_pdc;
+               uint32 is_enabled;
+               uint32 is_gc;
+               uint32 is_rodc;
+               GUID site_guid;
+               GUID computer_guid;
+               GUID server_guid;
+               GUID ntds_guid;
+       } drsuapi_DsGetDCInfo3;
+
+       typedef struct {
+               [range(0,10000)] uint32 count;
+               [size_is(count)] drsuapi_DsGetDCInfo3 *array;
+       } drsuapi_DsGetDCInfoCtr3;
+
        /*
         * this represents an active connection to the
         * Directory System Agent (DSA)
@@ -1075,12 +1101,14 @@ interface drsuapi
        typedef [v1_enum] enum {
                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_DsGetDCInfoCtrLevels;
 
         typedef [switch_type(int32)] union {
                [case(DRSUAPI_DC_INFO_CTR_1)]  drsuapi_DsGetDCInfoCtr1  ctr1;
                [case(DRSUAPI_DC_INFO_CTR_2)]  drsuapi_DsGetDCInfoCtr2  ctr2;
+               [case(DRSUAPI_DC_INFO_CTR_3)]  drsuapi_DsGetDCInfoCtr3  ctr3;
                [case(DRSUAPI_DC_CONNECTION_CTR_01)] drsuapi_DsGetDCConnectionCtr01 ctr01;
        } drsuapi_DsGetDCInfoCtr;
 
@@ -1205,9 +1233,10 @@ interface drsuapi
 
        [public] WERROR drsuapi_DsAddEntry(
                [in] policy_handle *bind_handle,
-               [in,out] int32 level,
-               [in,switch_is(level)] drsuapi_DsAddEntryRequest req,
-               [out,switch_is(level)] drsuapi_DsAddEntryCtr ctr
+               [in] int32 level,
+               [in,ref,switch_is(level)] drsuapi_DsAddEntryRequest *req,
+               [out,ref] int32 *level_out,
+               [out,ref,switch_is(*level_out)] drsuapi_DsAddEntryCtr *ctr
                );
 
        /*****************/
@@ -1331,7 +1360,7 @@ interface drsuapi
        typedef [switch_type(drsuapi_DsReplicaOpType)] union {
                [case(DRSUAPI_DS_REPLICA_OP_TYPE_SYNC)]         drsuapi_DsReplicaSyncOptions sync;
                [case(DRSUAPI_DS_REPLICA_OP_TYPE_ADD)]          drsuapi_DsReplicaAddOptions add;
-               [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)]       drsuapi_DsReplicaDeleteOptions delete;
+               [case(DRSUAPI_DS_REPLICA_OP_TYPE_DELETE)]       drsuapi_DsReplicaDeleteOptions op_delete;
                [case(DRSUAPI_DS_REPLICA_OP_TYPE_MODIFY)]       drsuapi_DsReplicaModifyOptions modify;
                [case(DRSUAPI_DS_REPLICA_OP_TYPE_UPDATE_REFS)]  drsuapi_DsReplicaUpdateRefsOptions update_refs;
                [default] uint32 unknown;
@@ -1486,9 +1515,9 @@ interface drsuapi
        WERROR drsuapi_DsReplicaGetInfo(
                [in] policy_handle *bind_handle,
                [in] drsuapi_DsReplicaGetInfoLevel level,
-               [in,switch_is(level)] drsuapi_DsReplicaGetInfoRequest req,
-               [out] drsuapi_DsReplicaInfoType info_type,
-               [out,switch_is(info_type)] drsuapi_DsReplicaInfo info
+               [in,ref,switch_is(level)] drsuapi_DsReplicaGetInfoRequest *req,
+               [out,ref] drsuapi_DsReplicaInfoType *info_type,
+               [out,ref,switch_is(*info_type)] drsuapi_DsReplicaInfo *info
                );
 
        /*****************/
@@ -1518,12 +1547,12 @@ interface drsuapi
 
        WERROR drsuapi_DsGetMemberships2(
                [in] policy_handle *bind_handle,
-               [in,out] int32 level,
-               [in] [switch_is(level)] drsuapi_DsGetMemberships2Request req,
-               [out] [switch_is(level)] drsuapi_DsGetMemberships2Ctr ctr
+               [in] int32 level,
+               [in,ref] [switch_is(level)] drsuapi_DsGetMemberships2Request *req,
+               [out,ref] int32 *level_out,
+               [out,ref] [switch_is(*level_out)] drsuapi_DsGetMemberships2Ctr *ctr
                );
 
-
        /*****************/
         /* Function 0x16 */
        [todo] WERROR DRSUAPI_REPLICA_VERIFY_OBJECTS();
@@ -1563,8 +1592,8 @@ interface drsuapi
        WERROR drsuapi_QuerySitesByCost(
                [in] policy_handle *bind_handle,
                [in] int32 level,
-               [in] [switch_is(level)] drsuapi_QuerySitesByCostRequest req,
-               [out] int32 level_out,
-               [out] [switch_is(level_out)] drsuapi_QuerySitesByCostCtr ctr
+               [in,ref] [switch_is(level)] drsuapi_QuerySitesByCostRequest *req,
+               [out,ref] int32 *level_out,
+               [out,ref] [switch_is(*level_out)] drsuapi_QuerySitesByCostCtr *ctr
        );
 }