summaryrefslogtreecommitdiff
path: root/source4/smb_server/smb2/smb2_server.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2005-11-18 14:13:49 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:46:28 -0500
commit910d61bcd1fbfc6fc406d4384f305f5210e92d56 (patch)
tree3d988dc6ec062ef2a8a215253c19559cecd2fb0a /source4/smb_server/smb2/smb2_server.h
parent764dd6027b384640a075a9b56bc83e061ff9438e (diff)
downloadsamba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.tar.gz
samba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.tar.bz2
samba-910d61bcd1fbfc6fc406d4384f305f5210e92d56.zip
r11789: - add the start of a SMB2 server
- it does Negprot and SessionSetup yet the rest returns NT_STATUS_NOT_IMPLEMENTED - it's off by default, enable with: smbsrv:enable smb2 = yes - negotition in the SMB Negprot isn't supported yet - it's only tested with smbtorture SMB2-CONNECT not with vista as client metze (This used to be commit 08b31d5f618d2e416cb9812ad3a49754cd7212b8)
Diffstat (limited to 'source4/smb_server/smb2/smb2_server.h')
-rw-r--r--source4/smb_server/smb2/smb2_server.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/source4/smb_server/smb2/smb2_server.h b/source4/smb_server/smb2/smb2_server.h
new file mode 100644
index 0000000000..913c7f2eab
--- /dev/null
+++ b/source4/smb_server/smb2/smb2_server.h
@@ -0,0 +1,50 @@
+/*
+ Unix SMB2 implementation.
+
+ Copyright (C) Stefan Metzmacher 2005
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+*/
+
+/* the context for a single SMB2 request. This is passed to any request-context
+ functions */
+struct smb2srv_request {
+ /* the smbsrv_connection needs a list of requests queued for send */
+ struct smb2srv_request *next, *prev;
+
+ /* the server_context contains all context specific to this SMB socket */
+ struct smbsrv_connection *smb_conn;
+
+ /* the smbsrv_session for the request */
+ struct smbsrv_session *session;
+
+ /* the smbsrv_tcon for the request */
+ struct smbsrv_tcon *tcon;
+
+ /* the system time when the request arrived */
+ struct timeval request_time;
+
+ /* for matching request and reply */
+ uint64_t seqnum;
+
+ /* the status the backend returned */
+ NTSTATUS status;
+
+#define SMB2SRV_REQ_CTRL_FLAG_NOT_REPLY (1<<0)
+ uint32_t control_flags;
+
+ struct smb2_request_buffer in;
+ struct smb2_request_buffer out;
+};