r19847: add idl for DsRemoveDSServer(), this is used when a server unbecomes a DC
authorStefan Metzmacher <metze@samba.org>
Wed, 22 Nov 2006 18:40:27 +0000 (18:40 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:28:25 +0000 (14:28 -0500)
metze
(This used to be commit df133cd22a350d422c49844e50a67f4cc1fb61e4)

source4/librpc/idl/drsuapi.idl
source4/rpc_server/drsuapi/dcesrv_drsuapi.c

index 0504c0d442786a65111ba05283a92a094c9cdb42..a01e082267ccaaef635514a72ca965d88a80e667 100644 (file)
@@ -945,7 +945,30 @@ interface drsuapi
 
        /*****************/
         /* Function 0x0e */
-       WERROR DRSUAPI_REMOVE_DS_SERVER();
+       typedef struct {
+               [charset(UTF16),string] uint16 *server_dn;
+               [charset(UTF16),string] uint16 *domain_dn;
+               uint32 unknown; /* 0x000000001 */
+       } drsuapi_DsRemoveDSServerRequest1;
+
+       typedef [switch_type(int32)] union {
+               [case(1)] drsuapi_DsRemoveDSServerRequest1 req1;
+       } drsuapi_DsRemoveDSServerRequest;
+
+       typedef struct {
+               WERROR status;
+       } drsuapi_DsRemoveDSServerResult1;
+
+       typedef [switch_type(int32)] union {
+               [case(1)] drsuapi_DsRemoveDSServerResult1 res1;
+       } drsuapi_DsRemoveDSServerResult;
+
+       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
+               );
 
        /*****************/
         /* Function 0x0f */
index 1eb106066bafdb50e474e185d9f42b0b05acf9e0..1773c6162937cdbd9e8f9a17a65a57dc01f9c435 100644 (file)
@@ -327,10 +327,10 @@ static WERROR drsuapi_DsWriteAccountSpn(struct dcesrv_call_state *dce_call, TALL
 
 
 /* 
-  DRSUAPI_REMOVE_DS_SERVER 
+  drsuapi_DsRemoveDSServer
 */
-static WERROR DRSUAPI_REMOVE_DS_SERVER(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
-                      struct DRSUAPI_REMOVE_DS_SERVER *r)
+static WERROR drsuapi_DsRemoveDSServer(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx,
+                                      struct drsuapi_DsRemoveDSServer *r)
 {
        DCESRV_FAULT(DCERPC_FAULT_OP_RNG_ERROR);
 }