From c1a2fd1cd15c55e73df6ab89db77aa2e7f83c346 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Sun, 13 Mar 2011 16:24:55 +0100 Subject: s4:librpc/rpc: finaly make struct rpc_request and enum rpc_request_state private metze Autobuild-User: Stefan Metzmacher Autobuild-Date: Sun Mar 13 17:46:02 CET 2011 on sn-devel-104 --- source4/librpc/rpc/dcerpc.c | 43 +++++++++++++++++++++++++++++++++++++++++++ source4/librpc/rpc/dcerpc.h | 44 +------------------------------------------- 2 files changed, 44 insertions(+), 43 deletions(-) (limited to 'source4/librpc') diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index bb7c4c536d5..cc728668667 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -33,6 +33,49 @@ #include "lib/util/tevent_ntstatus.h" #include "librpc/rpc/rpc_common.h" +enum rpc_request_state { + RPC_REQUEST_QUEUED, + RPC_REQUEST_PENDING, + RPC_REQUEST_DONE +}; + +/* + handle for an async dcerpc request +*/ +struct rpc_request { + struct rpc_request *next, *prev; + struct dcerpc_pipe *p; + NTSTATUS status; + uint32_t call_id; + enum rpc_request_state state; + DATA_BLOB payload; + uint32_t flags; + uint32_t fault_code; + + /* this is used to distinguish bind and alter_context requests + from normal requests */ + void (*recv_handler)(struct rpc_request *conn, + DATA_BLOB *blob, struct ncacn_packet *pkt); + + const struct GUID *object; + uint16_t opnum; + DATA_BLOB request_data; + bool ignore_timeout; + + /* use by the ndr level async recv call */ + struct { + const struct ndr_interface_table *table; + uint32_t opnum; + void *struct_ptr; + TALLOC_CTX *mem_ctx; + } ndr; + + struct { + void (*callback)(struct rpc_request *); + void *private_data; + } async; +}; + _PUBLIC_ NTSTATUS dcerpc_init(struct loadparm_context *lp_ctx) { return gensec_init(lp_ctx); diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h index a6ac8c37ebc..22f4b1e5941 100644 --- a/source4/librpc/rpc/dcerpc.h +++ b/source4/librpc/rpc/dcerpc.h @@ -53,6 +53,7 @@ struct dcecli_security { /* this holds the information that is not specific to a particular rpc context_id */ +struct rpc_request; struct dcecli_connection { uint32_t call_id; uint32_t srv_max_xmit_frag; @@ -190,49 +191,6 @@ struct dcerpc_pipe_connect { }; -enum rpc_request_state { - RPC_REQUEST_QUEUED, - RPC_REQUEST_PENDING, - RPC_REQUEST_DONE -}; - -/* - handle for an async dcerpc request -*/ -struct rpc_request { - struct rpc_request *next, *prev; - struct dcerpc_pipe *p; - NTSTATUS status; - uint32_t call_id; - enum rpc_request_state state; - DATA_BLOB payload; - uint32_t flags; - uint32_t fault_code; - - /* this is used to distinguish bind and alter_context requests - from normal requests */ - void (*recv_handler)(struct rpc_request *conn, - DATA_BLOB *blob, struct ncacn_packet *pkt); - - const struct GUID *object; - uint16_t opnum; - DATA_BLOB request_data; - bool ignore_timeout; - - /* use by the ndr level async recv call */ - struct { - const struct ndr_interface_table *table; - uint32_t opnum; - void *struct_ptr; - TALLOC_CTX *mem_ctx; - } ndr; - - struct { - void (*callback)(struct rpc_request *); - void *private_data; - } async; -}; - struct epm_tower; struct epm_floor; -- cgit