From 0bc56a2e5ffd0e65e4770e10c80d9fec02950b36 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Thu, 5 Jul 2007 16:26:27 +0000 Subject: r23724: Reduce access to the global inbuf a tiny bit. Add a struct smb_request that contains some of the fields from the SMB header, removing the need to access inbuf directly. This right now is used only in the open file code & friends, and creating that header is only done when needed. This needs more work, but it is a start. Jeremy, I'm only checking this into 3_0, please review before I merge it to _26. Volker (This used to be commit ca988f4e79e977160d82e86486972afd15d4acf5) --- source3/smbd/process.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'source3/smbd/process.c') diff --git a/source3/smbd/process.c b/source3/smbd/process.c index 3b922af51f..dd623e69a5 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -57,6 +57,18 @@ uint16 get_current_mid(void) return SVAL(InBuffer,smb_mid); } +/* + * Initialize a struct smb_request from an inbuf + */ + +void init_smb_request(struct smb_request *req, const uint8 *inbuf) +{ + req->flags2 = SVAL(inbuf, smb_flg2); + req->smbpid = SVAL(inbuf, smb_pid); + req->mid = SVAL(inbuf, smb_mid); + req->vuid = SVAL(inbuf, smb_uid); +} + /**************************************************************************** structure to hold a linked list of queued messages. for processing. -- cgit