summaryrefslogtreecommitdiffstats
path: root/source3/include/smb.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-10-14 15:53:35 +0200
committerVolker Lendecke <vl@samba.org>2009-01-31 17:50:18 +0100
commitc2fe28ba598e7db2915b3bb5e7b8d281361a4c95 (patch)
treed753ce8b4d0d2a5df28f89adb3a136d5fb9ff0e6 /source3/include/smb.h
parentb797c056a60b519da6595ce728846dace5d1dfbd (diff)
downloadsamba-c2fe28ba598e7db2915b3bb5e7b8d281361a4c95.tar.gz
samba-c2fe28ba598e7db2915b3bb5e7b8d281361a4c95.tar.xz
samba-c2fe28ba598e7db2915b3bb5e7b8d281361a4c95.zip
Convert api_rpc_trans_reply to async np_*
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r--source3/include/smb.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index be6ccbf5979..491dd763ff4 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -624,7 +624,18 @@ struct smb_request {
uint16_t buflen;
const uint8_t *buf;
const uint8 *inbuf;
+
+ /*
+ * Async handling in the main smb processing loop is directed by
+ * outbuf: reply_xxx routines indicate sync behaviour by putting their
+ * reply into "outbuf". If they leave it as NULL, they take of it
+ * themselves, possibly later.
+ *
+ * If async handling is wanted, the reply_xxx routine must make sure
+ * that it talloc_move()s the smb_req somewhere else.
+ */
uint8 *outbuf;
+
size_t unread_bytes;
bool encrypted;
connection_struct *conn;
@@ -638,6 +649,11 @@ struct smb_request {
* Here we collect the outbufs from the chain handlers
*/
uint8_t *chain_outbuf;
+
+ /*
+ * state information for async smb handling
+ */
+ void *async_priv;
};
/* Defines for the sent_oplock_break field above. */