summaryrefslogtreecommitdiff
path: root/source3/smbd/proto.h
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2012-02-28 00:19:48 +0100
committerVolker Lendecke <vl@samba.org>2012-03-10 15:34:11 +0100
commitc9870a62f5d8865e67ae519db3f8e890afb6ee70 (patch)
treeffdad08bf8cb9962d01a0d07abfaf1cd45d9ee73 /source3/smbd/proto.h
parent90b33a05e967e9e29c4584bed188ef6fa5a3fbf0 (diff)
downloadsamba-c9870a62f5d8865e67ae519db3f8e890afb6ee70.tar.gz
samba-c9870a62f5d8865e67ae519db3f8e890afb6ee70.tar.bz2
samba-c9870a62f5d8865e67ae519db3f8e890afb6ee70.zip
s3: Add a new set of andx chain handling routines
This is in preparation of getting rid of chain_reply.
Diffstat (limited to 'source3/smbd/proto.h')
-rw-r--r--source3/smbd/proto.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/source3/smbd/proto.h b/source3/smbd/proto.h
index e97a85d589..e5dd762663 100644
--- a/source3/smbd/proto.h
+++ b/source3/smbd/proto.h
@@ -785,6 +785,18 @@ void add_to_common_flags2(uint32 v);
void remove_from_common_flags2(uint32 v);
void construct_reply_common_req(struct smb_request *req, char *outbuf);
size_t req_wct_ofs(struct smb_request *req);
+bool smb1_is_chain(const uint8_t *buf);
+bool smb1_walk_chain(const uint8_t *buf,
+ bool (*fn)(uint8_t cmd,
+ uint8_t wct, const uint16_t *vwv,
+ uint16_t num_bytes, const uint8_t *bytes,
+ void *private_data),
+ void *private_data);
+unsigned smb1_chain_length(const uint8_t *buf);
+bool smb1_parse_chain(TALLOC_CTX *mem_ctx, const uint8_t *buf,
+ struct smbd_server_connection *sconn,
+ bool encrypted, uint32_t seqnum,
+ struct smb_request ***reqs, unsigned *num_reqs);
void chain_reply(struct smb_request *req);
bool req_is_in_chain(struct smb_request *req);
void smbd_process(struct tevent_context *ev_ctx,