summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2006-11-22 18:40:27 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:28:25 -0500
commit9671a72a4c3e0950585575da72e2c740f294031c (patch)
tree68ab2001e5f57c9329ca937db09cfc2dbf616e8b
parent60b401efb9102c515f68e9fdde368db2eb59ab9e (diff)
downloadsamba-9671a72a4c3e0950585575da72e2c740f294031c.tar.gz
samba-9671a72a4c3e0950585575da72e2c740f294031c.tar.bz2
samba-9671a72a4c3e0950585575da72e2c740f294031c.zip
r19847: add idl for DsRemoveDSServer(), this is used when a server unbecomes a DC
metze (This used to be commit df133cd22a350d422c49844e50a67f4cc1fb61e4)
-rw-r--r--source4/librpc/idl/drsuapi.idl25
-rw-r--r--source4/rpc_server/drsuapi/dcesrv_drsuapi.c6
2 files changed, 27 insertions, 4 deletions
diff --git a/source4/librpc/idl/drsuapi.idl b/source4/librpc/idl/drsuapi.idl
index 0504c0d442..a01e082267 100644
--- a/source4/librpc/idl/drsuapi.idl
+++ b/source4/librpc/idl/drsuapi.idl
@@ -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 */
diff --git a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c
index 1eb106066b..1773c61629 100644
--- a/source4/rpc_server/drsuapi/dcesrv_drsuapi.c
+++ b/source4/rpc_server/drsuapi/dcesrv_drsuapi.c
@@ -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);
}