summaryrefslogtreecommitdiff
path: root/source4/librpc/rpc
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-06-24 01:18:56 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:18:44 -0500
commit152a6a00c31f52d14a63bfc977ac54713c56c9cd (patch)
tree82a0b1a45404f08f32b647a47b7c332469650fc8 /source4/librpc/rpc
parentd60b11c1f0151dbd758b896ba2934a8efa4ada75 (diff)
downloadsamba-152a6a00c31f52d14a63bfc977ac54713c56c9cd.tar.gz
samba-152a6a00c31f52d14a63bfc977ac54713c56c9cd.tar.bz2
samba-152a6a00c31f52d14a63bfc977ac54713c56c9cd.zip
r7865: changed pidl to take a "const void *" instead of a "void *" for the
structure in ndr_push_*() and ndr_print_*(). The push and print functions really should not modify the structure. metze, to make this work I had to change your spoolss hand marshaller. Can you please check it is OK? I think that the IN and OUT sides of that function are not ever called on the same structure, so I think that attempt at remembering the value by assigning to r->in._offered was not doing anything anyway, but please correct me if I have misunderstood it. If you really do need to remember something on those structures I'd suggest the ndr_token_store() and ndr_token_retrieve() functions, which are used by pidl for just this sort of thing. (This used to be commit eee528be97fa43ca53bdc5652b4d29a0a2caf563)
Diffstat (limited to 'source4/librpc/rpc')
-rw-r--r--source4/librpc/rpc/dcerpc.c4
-rw-r--r--source4/librpc/rpc/dcerpc.h6
2 files changed, 5 insertions, 5 deletions
diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c
index bd4756cb21..d253fcaacc 100644
--- a/source4/librpc/rpc/dcerpc.c
+++ b/source4/librpc/rpc/dcerpc.c
@@ -1069,8 +1069,8 @@ static NTSTATUS dcerpc_ndr_validate_in(struct dcerpc_connection *c,
TALLOC_CTX *mem_ctx,
DATA_BLOB blob,
size_t struct_size,
- NTSTATUS (*ndr_push)(struct ndr_push *, int, void *),
- NTSTATUS (*ndr_pull)(struct ndr_pull *, int, void *))
+ ndr_push_flags_fn_t ndr_push,
+ ndr_pull_flags_fn_t ndr_pull)
{
void *st;
struct ndr_pull *pull;
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h
index 3b1cc20bca..c5b0ad159b 100644
--- a/source4/librpc/rpc/dcerpc.h
+++ b/source4/librpc/rpc/dcerpc.h
@@ -142,9 +142,9 @@ struct dcerpc_pipe {
struct dcerpc_interface_call {
const char *name;
size_t struct_size;
- NTSTATUS (*ndr_push)(struct ndr_push *, int , void *);
- NTSTATUS (*ndr_pull)(struct ndr_pull *, int , void *);
- void (*ndr_print)(struct ndr_print *, const char *, int, void *);
+ ndr_push_flags_fn_t ndr_push;
+ ndr_pull_flags_fn_t ndr_pull;
+ ndr_print_function_t ndr_print;
};
struct dcerpc_endpoint_list {