summaryrefslogtreecommitdiff
path: root/source4/smbd/service.h
diff options
context:
space:
mode:
Diffstat (limited to 'source4/smbd/service.h')
-rw-r--r--source4/smbd/service.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/source4/smbd/service.h b/source4/smbd/service.h
index 88618964ce..e9ef0bff06 100644
--- a/source4/smbd/service.h
+++ b/source4/smbd/service.h
@@ -93,6 +93,19 @@ struct server_service {
struct server_context *srv_ctx;
};
+/* the concept of whether two operations are on the same server
+ connection or different connections is an important one in SMB, especially
+ for locking and share modes. We will use a servid_t to distinguish different
+ connections
+
+ this means that (for example) a unique open file is distinguished by the triple
+ of
+ servid_t server;
+ uint16 tid;
+ uint16 fnum;
+*/
+typedef uint32_t servid_t;
+
struct server_connection {
struct server_connection *next,*prev;
void *private_data;
@@ -104,6 +117,8 @@ struct server_connection {
time_t idle_time;
} event;
+ servid_t server_id;
+
struct socket_context *socket;
struct server_socket *server_socket;