summaryrefslogtreecommitdiffstats
path: root/source3/include/client.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2011-08-12 14:50:09 +0200
committerStefan Metzmacher <metze@samba.org>2011-08-12 18:06:04 +0200
commitc485df9530fda65fb1a2142f53c60638d2ca1923 (patch)
treeec6cdf534838e86dbe3ab2a0904c9dc73f01c598 /source3/include/client.h
parent58003b5a77910ec54fd84f71a26e582af0f83e98 (diff)
downloadsamba-c485df9530fda65fb1a2142f53c60638d2ca1923.tar.gz
samba-c485df9530fda65fb1a2142f53c60638d2ca1923.tar.xz
samba-c485df9530fda65fb1a2142f53c60638d2ca1923.zip
s3:libsmb: abstract the incoming dispatch function via a function pointer
This will allow handling of SMB2 in future. metze
Diffstat (limited to 'source3/include/client.h')
-rw-r--r--source3/include/client.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/source3/include/client.h b/source3/include/client.h
index f44e52f8f6..79ce709069 100644
--- a/source3/include/client.h
+++ b/source3/include/client.h
@@ -128,6 +128,17 @@ struct cli_state {
struct tevent_req *read_smb_req;
struct tevent_queue *outgoing;
struct tevent_req **pending;
+ /*
+ * The incoming dispatch function should return:
+ * - NT_STATUS_RETRY, if more incoming PDUs are expected.
+ * - NT_STATUS_OK, if no more processing is desired, e.g.
+ * the dispatch function called
+ * tevent_req_done().
+ * - All other return values disconnect the connection.
+ */
+ NTSTATUS (*dispatch_incoming)(struct cli_state *cli,
+ TALLOC_CTX *frame,
+ uint8_t *inbuf);
} conn;
struct {