idl: removed the generated gen_ndr/ files from pidl
[kai/samba-autobuild/.git] / librpc / gen_ndr / srv_echo.c
diff --git a/librpc/gen_ndr/srv_echo.c b/librpc/gen_ndr/srv_echo.c
deleted file mode 100644 (file)
index b4c21dd..0000000
+++ /dev/null
@@ -1,914 +0,0 @@
-/*
- * Unix SMB/CIFS implementation.
- * server auto-generated by pidl. DO NOT MODIFY!
- */
-
-#include "includes.h"
-#include "../librpc/gen_ndr/srv_echo.h"
-
-static bool api_echo_AddOne(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_AddOne *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_ADDONE];
-
-       r = talloc(talloc_tos(), struct echo_AddOne);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_AddOne, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.out_data = talloc_zero(r, uint32_t);
-       if (r->out.out_data == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       _echo_AddOne(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_AddOne, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_EchoData(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_EchoData *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_ECHODATA];
-
-       r = talloc(talloc_tos(), struct echo_EchoData);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_EchoData, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.out_data = talloc_zero_array(r, uint8_t, r->in.len);
-       if (r->out.out_data == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       _echo_EchoData(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_EchoData, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_SinkData(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_SinkData *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_SINKDATA];
-
-       r = talloc(talloc_tos(), struct echo_SinkData);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_SinkData, r);
-       }
-
-       _echo_SinkData(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_SinkData, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_SourceData(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_SourceData *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_SOURCEDATA];
-
-       r = talloc(talloc_tos(), struct echo_SourceData);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_SourceData, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.data = talloc_zero_array(r, uint8_t, r->in.len);
-       if (r->out.data == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       _echo_SourceData(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_SourceData, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestCall(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestCall *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTCALL];
-
-       r = talloc(talloc_tos(), struct echo_TestCall);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestCall, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.s2 = talloc_zero(r, const char *);
-       if (r->out.s2 == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       _echo_TestCall(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestCall, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestCall2(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestCall2 *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTCALL2];
-
-       r = talloc(talloc_tos(), struct echo_TestCall2);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestCall2, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.info = talloc_zero(r, union echo_Info);
-       if (r->out.info == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       r->out.result = _echo_TestCall2(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestCall2, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestSleep(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestSleep *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTSLEEP];
-
-       r = talloc(talloc_tos(), struct echo_TestSleep);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestSleep, r);
-       }
-
-       r->out.result = _echo_TestSleep(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestSleep, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestEnum(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestEnum *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTENUM];
-
-       r = talloc(talloc_tos(), struct echo_TestEnum);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestEnum, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.foo1 = r->in.foo1;
-       r->out.foo2 = r->in.foo2;
-       r->out.foo3 = r->in.foo3;
-       _echo_TestEnum(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestEnum, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestSurrounding(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestSurrounding *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTSURROUNDING];
-
-       r = talloc(talloc_tos(), struct echo_TestSurrounding);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestSurrounding, r);
-       }
-
-       ZERO_STRUCT(r->out);
-       r->out.data = r->in.data;
-       _echo_TestSurrounding(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestSurrounding, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-static bool api_echo_TestDoublePointer(pipes_struct *p)
-{
-       const struct ndr_interface_call *call;
-       struct ndr_pull *pull;
-       struct ndr_push *push;
-       enum ndr_err_code ndr_err;
-       DATA_BLOB blob;
-       struct echo_TestDoublePointer *r;
-
-       call = &ndr_table_rpcecho.calls[NDR_ECHO_TESTDOUBLEPOINTER];
-
-       r = talloc(talloc_tos(), struct echo_TestDoublePointer);
-       if (r == NULL) {
-               return false;
-       }
-
-       if (!prs_data_blob(&p->in_data.data, &blob, r)) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull = ndr_pull_init_blob(&blob, r, NULL);
-       if (pull == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       pull->flags |= LIBNDR_FLAG_REF_ALLOC;
-       ndr_err = call->ndr_pull(pull, NDR_IN, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_IN_DEBUG(echo_TestDoublePointer, r);
-       }
-
-       r->out.result = _echo_TestDoublePointer(p, r);
-
-       if (p->rng_fault_state) {
-               talloc_free(r);
-               /* Return true here, srv_pipe_hnd.c will take care */
-               return true;
-       }
-
-       if (DEBUGLEVEL >= 10) {
-               NDR_PRINT_OUT_DEBUG(echo_TestDoublePointer, r);
-       }
-
-       push = ndr_push_init_ctx(r, NULL);
-       if (push == NULL) {
-               talloc_free(r);
-               return false;
-       }
-
-       ndr_err = call->ndr_push(push, NDR_OUT, r);
-       if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) {
-               talloc_free(r);
-               return false;
-       }
-
-       blob = ndr_push_blob(push);
-       if (!prs_copy_data_in(&p->out_data.rdata, (const char *)blob.data, (uint32_t)blob.length)) {
-               talloc_free(r);
-               return false;
-       }
-
-       talloc_free(r);
-
-       return true;
-}
-
-
-/* Tables */
-static struct api_struct api_rpcecho_cmds[] = 
-{
-       {"ECHO_ADDONE", NDR_ECHO_ADDONE, api_echo_AddOne},
-       {"ECHO_ECHODATA", NDR_ECHO_ECHODATA, api_echo_EchoData},
-       {"ECHO_SINKDATA", NDR_ECHO_SINKDATA, api_echo_SinkData},
-       {"ECHO_SOURCEDATA", NDR_ECHO_SOURCEDATA, api_echo_SourceData},
-       {"ECHO_TESTCALL", NDR_ECHO_TESTCALL, api_echo_TestCall},
-       {"ECHO_TESTCALL2", NDR_ECHO_TESTCALL2, api_echo_TestCall2},
-       {"ECHO_TESTSLEEP", NDR_ECHO_TESTSLEEP, api_echo_TestSleep},
-       {"ECHO_TESTENUM", NDR_ECHO_TESTENUM, api_echo_TestEnum},
-       {"ECHO_TESTSURROUNDING", NDR_ECHO_TESTSURROUNDING, api_echo_TestSurrounding},
-       {"ECHO_TESTDOUBLEPOINTER", NDR_ECHO_TESTDOUBLEPOINTER, api_echo_TestDoublePointer},
-};
-
-void rpcecho_get_pipe_fns(struct api_struct **fns, int *n_fns)
-{
-       *fns = api_rpcecho_cmds;
-       *n_fns = sizeof(api_rpcecho_cmds) / sizeof(struct api_struct);
-}
-
-NTSTATUS rpc_rpcecho_dispatch(struct rpc_pipe_client *cli, TALLOC_CTX *mem_ctx, const struct ndr_interface_table *table, uint32_t opnum, void *_r)
-{
-       if (cli->pipes_struct == NULL) {
-               return NT_STATUS_INVALID_PARAMETER;
-       }
-
-       switch (opnum)
-       {
-               case NDR_ECHO_ADDONE: {
-                       struct echo_AddOne *r = (struct echo_AddOne *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.out_data = talloc_zero(mem_ctx, uint32_t);
-                       if (r->out.out_data == NULL) {
-                               return NT_STATUS_NO_MEMORY;
-                       }
-
-                       _echo_AddOne(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_ECHODATA: {
-                       struct echo_EchoData *r = (struct echo_EchoData *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.out_data = talloc_zero_array(mem_ctx, uint8_t, r->in.len);
-                       if (r->out.out_data == NULL) {
-                               return NT_STATUS_NO_MEMORY;
-                       }
-
-                       _echo_EchoData(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_SINKDATA: {
-                       struct echo_SinkData *r = (struct echo_SinkData *)_r;
-                       _echo_SinkData(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_SOURCEDATA: {
-                       struct echo_SourceData *r = (struct echo_SourceData *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.data = talloc_zero_array(mem_ctx, uint8_t, r->in.len);
-                       if (r->out.data == NULL) {
-                               return NT_STATUS_NO_MEMORY;
-                       }
-
-                       _echo_SourceData(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTCALL: {
-                       struct echo_TestCall *r = (struct echo_TestCall *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.s2 = talloc_zero(mem_ctx, const char *);
-                       if (r->out.s2 == NULL) {
-                               return NT_STATUS_NO_MEMORY;
-                       }
-
-                       _echo_TestCall(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTCALL2: {
-                       struct echo_TestCall2 *r = (struct echo_TestCall2 *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.info = talloc_zero(mem_ctx, union echo_Info);
-                       if (r->out.info == NULL) {
-                               return NT_STATUS_NO_MEMORY;
-                       }
-
-                       r->out.result = _echo_TestCall2(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTSLEEP: {
-                       struct echo_TestSleep *r = (struct echo_TestSleep *)_r;
-                       r->out.result = _echo_TestSleep(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTENUM: {
-                       struct echo_TestEnum *r = (struct echo_TestEnum *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.foo1 = r->in.foo1;
-                       r->out.foo2 = r->in.foo2;
-                       r->out.foo3 = r->in.foo3;
-                       _echo_TestEnum(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTSURROUNDING: {
-                       struct echo_TestSurrounding *r = (struct echo_TestSurrounding *)_r;
-                       ZERO_STRUCT(r->out);
-                       r->out.data = r->in.data;
-                       _echo_TestSurrounding(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               case NDR_ECHO_TESTDOUBLEPOINTER: {
-                       struct echo_TestDoublePointer *r = (struct echo_TestDoublePointer *)_r;
-                       r->out.result = _echo_TestDoublePointer(cli->pipes_struct, r);
-                       return NT_STATUS_OK;
-               }
-
-               default:
-                       return NT_STATUS_NOT_IMPLEMENTED;
-       }
-}
-
-NTSTATUS rpc_rpcecho_init(void)
-{
-       return rpc_srv_register(SMB_RPC_INTERFACE_VERSION, "rpcecho", "rpcecho", &ndr_table_rpcecho, api_rpcecho_cmds, sizeof(api_rpcecho_cmds) / sizeof(struct api_struct));
-}