diff options
author | Volker Lendecke <vlendec@samba.org> | 2005-11-02 05:34:17 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:45:41 -0500 |
commit | 66d3ee9ccb9807ca443962ef2a887627505c537c (patch) | |
tree | 44802dcc76d9271d0ba02408c9fd87423623cf7e /source4/librpc/rpc/dcerpc.h | |
parent | 66caa3234d14321b579e5d8befa3a12579c6a68e (diff) | |
download | samba-66d3ee9ccb9807ca443962ef2a887627505c537c.tar.gz samba-66d3ee9ccb9807ca443962ef2a887627505c537c.tar.xz samba-66d3ee9ccb9807ca443962ef2a887627505c537c.zip |
r11473: Based on work by Jelmer, implement the [async] flag for rpc requests. If it's
not there (it's not yet on *any* call... :-)), the rpc client strictly
sequences calls to an rpc pipe. Might need some more work on the exact
sequencing semantics when a pipe with both sync and async calls is actually
deployed, but I want it in for winbind simplification.
Volker
(This used to be commit b8f324e4f000971b7dafc263c16dd4af958ee7f9)
Diffstat (limited to 'source4/librpc/rpc/dcerpc.h')
-rw-r--r-- | source4/librpc/rpc/dcerpc.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source4/librpc/rpc/dcerpc.h b/source4/librpc/rpc/dcerpc.h index c5b0ad159b..85fd36f066 100644 --- a/source4/librpc/rpc/dcerpc.h +++ b/source4/librpc/rpc/dcerpc.h @@ -69,9 +69,12 @@ struct dcerpc_connection { void (*recv_data)(struct dcerpc_connection *, DATA_BLOB *, NTSTATUS status); } transport; - /* pending requests */ + /* Requests that have been sent, waiting for a reply */ struct rpc_request *pending; + /* Sync requests waiting to be shipped */ + struct rpc_request *request_queue; + /* private pointer for pending full requests */ void *full_request_private; @@ -145,6 +148,7 @@ struct dcerpc_interface_call { 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 { @@ -204,6 +208,11 @@ struct rpc_request { uint_t flags; uint32_t fault_code; + const struct GUID *object; + uint16_t opnum; + DATA_BLOB request_data; + BOOL async_call; + /* use by the ndr level async recv call */ struct { const struct dcerpc_interface_table *table; |