summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2003-11-09 07:24:06 +0000
committerAndrew Tridgell <tridge@samba.org>2003-11-09 07:24:06 +0000
commitadf6142953c4fa81493f133d45eb80d91b069e47 (patch)
treea8f1cef6b35073dbda2bcdfae046fe5f2a79c74e /source4/librpc/rpc
parentb7a6971ce10fb3934d907947562ab5032cb9dae9 (diff)
downloadsamba-adf6142953c4fa81493f133d45eb80d91b069e47.tar.gz
samba-adf6142953c4fa81493f133d45eb80d91b069e47.tar.bz2
samba-adf6142953c4fa81493f133d45eb80d91b069e47.zip
converted the rpcecho pipe to use IDL
(This used to be commit 1b7a7bc4641e4f0e604bc20699c094fa5f49315d)
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r--source4/librpc/rpc/rpc_echo.c129
1 files changed, 28 insertions, 101 deletions
diff --git a/source4/librpc/rpc/rpc_echo.c b/source4/librpc/rpc/rpc_echo.c
index d73f9bda9c..9cf81a23ac 100644
--- a/source4/librpc/rpc/rpc_echo.c
+++ b/source4/librpc/rpc/rpc_echo.c
@@ -22,116 +22,43 @@
#include "includes.h"
-/*
- addone interface
-*/
-NTSTATUS dcerpc_rpcecho_addone(struct dcerpc_pipe *p,
- int in_data, int *out_data)
+NTSTATUS dcerpc_echo_AddOne(struct dcerpc_pipe *p,
+ TALLOC_CTX *mem_ctx,
+ struct echo_AddOne *r)
{
- struct rpcecho_addone r;
- NTSTATUS status;
- TALLOC_CTX *mem_ctx;
-
- mem_ctx = talloc_init("dcerpc_rpcecho_addone");
- if (!mem_ctx) {
- return NT_STATUS_NO_MEMORY;
- }
-
- /* fill the .in side of the call */
- r.in.data = in_data;
-
- /* make the call */
- status = dcerpc_ndr_request(p, RPCECHO_CALL_ADDONE, mem_ctx,
- (ndr_push_fn_t) ndr_push_rpcecho_addone,
- (ndr_pull_fn_t) ndr_pull_rpcecho_addone,
- &r);
-
- /* and extract the .out parameters */
- *out_data = r.out.data;
-
- talloc_destroy(mem_ctx);
- return status;
+ return dcerpc_ndr_request(p, DCERPC_ECHO_ADDONE, mem_ctx,
+ (ndr_push_fn_t) ndr_push_echo_AddOne,
+ (ndr_pull_fn_t) ndr_pull_echo_AddOne,
+ r);
}
-/*
- echodata interface
-*/
-NTSTATUS dcerpc_rpcecho_echodata(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
- int len,
- const char *in_data,
- int *out_len,
- char **out_data)
+NTSTATUS dcerpc_echo_EchoData(struct dcerpc_pipe *p,
+ TALLOC_CTX *mem_ctx,
+ struct echo_EchoData *r)
{
- struct rpcecho_echodata r;
- NTSTATUS status;
-
- /* fill the .in side of the call */
- r.in.len = len;
- r.in.data = in_data;
-
- /* make the call */
- status = dcerpc_ndr_request(p, RPCECHO_CALL_ECHODATA, mem_ctx,
- (ndr_push_fn_t) ndr_push_rpcecho_echodata,
- (ndr_pull_fn_t) ndr_pull_rpcecho_echodata,
- &r);
-
- /* and extract the .out parameters */
- *out_len = r.out.len;
- *out_data = r.out.data;
-
- return status;
+ return dcerpc_ndr_request(p, DCERPC_ECHO_ECHODATA, mem_ctx,
+ (ndr_push_fn_t) ndr_push_echo_EchoData,
+ (ndr_pull_fn_t) ndr_pull_echo_EchoData,
+ r);
}
-/*
- sourcedata interface
-*/
-NTSTATUS dcerpc_rpcecho_sourcedata(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
- int len,
- int *out_len,
- char **out_data)
+NTSTATUS dcerpc_echo_SinkData(struct dcerpc_pipe *p,
+ TALLOC_CTX *mem_ctx,
+ struct echo_SinkData *r)
{
- struct rpcecho_sourcedata r;
- NTSTATUS status;
-
- /* fill the .in side of the call */
- r.in.len = len;
-
- /* make the call */
- status = dcerpc_ndr_request(p, RPCECHO_CALL_SOURCEDATA, mem_ctx,
- (ndr_push_fn_t) ndr_push_rpcecho_sourcedata,
- (ndr_pull_fn_t) ndr_pull_rpcecho_sourcedata,
- &r);
-
- /* and extract the .out parameters */
- *out_len = r.out.len;
- *out_data = r.out.data;
-
- return status;
+ return dcerpc_ndr_request(p, DCERPC_ECHO_SINKDATA, mem_ctx,
+ (ndr_push_fn_t) ndr_push_echo_SinkData,
+ (ndr_pull_fn_t) ndr_pull_echo_SinkData,
+ r);
}
-/*
- sinkdata interface
-*/
-NTSTATUS dcerpc_rpcecho_sinkdata(struct dcerpc_pipe *p,
- TALLOC_CTX *mem_ctx,
- int len,
- char *data)
+NTSTATUS dcerpc_echo_SourceData(struct dcerpc_pipe *p,
+ TALLOC_CTX *mem_ctx,
+ struct echo_SourceData *r)
{
- struct rpcecho_sinkdata r;
- NTSTATUS status;
-
- /* fill the .in side of the call */
- r.in.len = len;
- r.in.data = data;
-
- /* make the call */
- status = dcerpc_ndr_request(p, RPCECHO_CALL_SINKDATA, mem_ctx,
- (ndr_push_fn_t) ndr_push_rpcecho_sinkdata,
- (ndr_pull_fn_t) ndr_pull_rpcecho_sinkdata,
- &r);
-
- return status;
+ return dcerpc_ndr_request(p, DCERPC_ECHO_SOURCEDATA, mem_ctx,
+ (ndr_push_fn_t) ndr_push_echo_SourceData,
+ (ndr_pull_fn_t) ndr_pull_echo_SourceData,
+ r);
}