summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source4/librpc/ndr/libndr.h9
-rw-r--r--source4/librpc/rpc/dcerpc.c4
-rw-r--r--source4/librpc/rpc/dcerpc.h14
-rw-r--r--source4/librpc/rpc/dcerpc_util.c4
-rw-r--r--source4/librpc/tools/ndrdump.c4
-rw-r--r--source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm2
-rw-r--r--source4/rpc_server/remote/dcesrv_remote.c2
-rw-r--r--source4/scripting/ejs/smbcalls_rpc.c4
8 files changed, 20 insertions, 23 deletions
diff --git a/source4/librpc/ndr/libndr.h b/source4/librpc/ndr/libndr.h
index 93da5b02d5..16d215e053 100644
--- a/source4/librpc/ndr/libndr.h
+++ b/source4/librpc/ndr/libndr.h
@@ -290,6 +290,15 @@ typedef void (*ndr_print_function_t)(struct ndr_print *, const char *, int, cons
extern const struct ndr_syntax_id ndr_transfer_syntax;
extern const struct ndr_syntax_id ndr64_transfer_syntax;
+struct ndr_interface_call {
+ const char *name;
+ size_t struct_size;
+ ndr_push_flags_fn_t ndr_push;
+ ndr_pull_flags_fn_t ndr_pull;
+ ndr_print_function_t ndr_print;
+ BOOL async;
+};
+
/* FIXME: Use represent_as instead */
struct dom_sid;
NTSTATUS ndr_push_dom_sid2(struct ndr_push *ndr, int ndr_flags, const struct dom_sid *sid);
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index a687df86b0..1560719bb8 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1317,7 +1317,7 @@ struct rpc_request *dcerpc_ndr_request_send(struct dcerpc_pipe *p,
TALLOC_CTX *mem_ctx,
void *r)
{
- const struct dcerpc_interface_call *call;
+ const struct ndr_interface_call *call;
struct ndr_push *push;
NTSTATUS status;
DATA_BLOB request;
@@ -1391,7 +1391,7 @@ _PUBLIC_ NTSTATUS dcerpc_ndr_request_recv(struct rpc_request *req)
void *r = req->ndr.struct_ptr;
uint32_t opnum = req->ndr.opnum;
const struct dcerpc_interface_table *table = req->ndr.table;
- const struct dcerpc_interface_call *call = &table->calls[opnum];
+ const struct ndr_interface_call *call = &table->calls[opnum];
/* make sure the recv code doesn't free the request, as we
need to grab the flags element before it is freed */
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h
index 362c0f9c25..29f1ad013c 100644
--- a/source4/librpc/rpc/dcerpc.h
+++ b/source4/librpc/rpc/dcerpc.h
@@ -158,18 +158,6 @@ struct dcerpc_pipe {
/* this triggers the DCERPC_PFC_FLAG_CONC_MPX flag in the bind request */
#define DCERPC_CONCURRENT_MULTIPLEX (1<<19)
-/*
- this is used to find pointers to calls
-*/
-struct dcerpc_interface_call {
- const char *name;
- size_t struct_size;
- ndr_push_flags_fn_t ndr_push;
- ndr_pull_flags_fn_t ndr_pull;
- ndr_print_function_t ndr_print;
- BOOL async;
-};
-
struct dcerpc_endpoint_list {
uint32_t count;
const char * const *names;
@@ -185,7 +173,7 @@ struct dcerpc_interface_table {
struct ndr_syntax_id syntax_id;
const char *helpstring;
uint32_t num_calls;
- const struct dcerpc_interface_call *calls;
+ const struct ndr_interface_call *calls;
const struct dcerpc_endpoint_list *endpoints;
const struct dcerpc_authservice_list *authservices;
};
diff --git a/source4/librpc/rpc/dcerpc_util.c b/source4/librpc/rpc/dcerpc_util.c
index 3e18a66af5..684dd3d56b 100644
--- a/source4/librpc/rpc/dcerpc_util.c
+++ b/source4/librpc/rpc/dcerpc_util.c
@@ -33,8 +33,8 @@
/*
find a dcerpc call on an interface by name
*/
-const struct dcerpc_interface_call *dcerpc_iface_find_call(const struct dcerpc_interface_table *iface,
- const char *name)
+const struct ndr_interface_call *dcerpc_iface_find_call(const struct dcerpc_interface_table *iface,
+ const char *name)
{
int i;
for (i=0;i<iface->num_calls;i++) {
diff --git a/source4/librpc/tools/ndrdump.c b/source4/librpc/tools/ndrdump.c
index 6616ba0778..b7db31733c 100644
--- a/source4/librpc/tools/ndrdump.c
+++ b/source4/librpc/tools/ndrdump.c
@@ -27,7 +27,7 @@
#include "librpc/rpc/dcerpc_table.h"
#endif
-static const struct dcerpc_interface_call *find_function(
+static const struct ndr_interface_call *find_function(
const struct dcerpc_interface_table *p,
const char *function)
{
@@ -133,7 +133,7 @@ const struct dcerpc_interface_table *load_iface_from_plugin(const char *plugin,
int main(int argc, const char *argv[])
{
const struct dcerpc_interface_table *p = NULL;
- const struct dcerpc_interface_call *f;
+ const struct ndr_interface_call *f;
const char *pipe_name, *function, *inout, *filename;
uint8_t *data;
size_t size;
diff --git a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
index 73ff28eed0..51273104aa 100644
--- a/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
+++ b/source4/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm
@@ -2281,7 +2281,7 @@ sub FunctionTable($$)
return if ($#{$interface->{FUNCTIONS}}+1 == 0);
return unless defined ($interface->{PROPERTIES}->{uuid});
- $self->pidl("static const struct dcerpc_interface_call $interface->{NAME}\_calls[] = {");
+ $self->pidl("static const struct ndr_interface_call $interface->{NAME}\_calls[] = {");
foreach my $d (@{$interface->{FUNCTIONS}}) {
next if not defined($d->{OPNUM});
$self->pidl("\t{");
diff --git a/source4/rpc_server/remote/dcesrv_remote.c b/source4/rpc_server/remote/dcesrv_remote.c
index 2071aa2199..4e65684c22 100644
--- a/source4/rpc_server/remote/dcesrv_remote.c
+++ b/source4/rpc_server/remote/dcesrv_remote.c
@@ -156,7 +156,7 @@ static NTSTATUS remote_op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_CT
struct dcesrv_remote_private *private = dce_call->context->private;
uint16_t opnum = dce_call->pkt.u.request.opnum;
const struct dcerpc_interface_table *table = dce_call->context->iface->private;
- const struct dcerpc_interface_call *call;
+ const struct ndr_interface_call *call;
const char *name;
name = table->calls[opnum].name;
diff --git a/source4/scripting/ejs/smbcalls_rpc.c b/source4/scripting/ejs/smbcalls_rpc.c
index 8fdb7d1414..854a42e5fb 100644
--- a/source4/scripting/ejs/smbcalls_rpc.c
+++ b/source4/scripting/ejs/smbcalls_rpc.c
@@ -182,7 +182,7 @@ static int ejs_irpc_call(int eid, struct MprVar *io,
NTSTATUS status;
void *ptr;
struct ejs_rpc *ejs;
- const struct dcerpc_interface_call *call;
+ const struct ndr_interface_call *call;
struct ejs_irpc_connection *p;
struct irpc_request **reqs;
int i, count;
@@ -285,7 +285,7 @@ done:
void *ptr;
struct rpc_request *req;
struct ejs_rpc *ejs;
- const struct dcerpc_interface_call *call;
+ const struct ndr_interface_call *call;
if (argc != 1 || argv[0]->type != MPR_TYPE_OBJECT) {
ejsSetErrorMsg(eid, "rpc_call invalid arguments");