summaryrefslogtreecommitdiff
path: root/source3/include/smb.h
diff options
context:
space:
mode:
authorStefan Metzmacher <metze@samba.org>2009-01-09 14:02:18 +0100
committerStefan Metzmacher <metze@samba.org>2009-01-22 12:37:29 +0100
commit196028ab7b578526179d4fcff42a5d73ba07ccbb (patch)
tree554ea6ba2d01138fc5f85ac746a8720150fe2cde /source3/include/smb.h
parent048f8dba141c2f9898aad67e09925f03394a946e (diff)
downloadsamba-196028ab7b578526179d4fcff42a5d73ba07ccbb.tar.gz
samba-196028ab7b578526179d4fcff42a5d73ba07ccbb.tar.bz2
samba-196028ab7b578526179d4fcff42a5d73ba07ccbb.zip
s3:smbd: restructure kernel oplocks code
This converts the irix oplocks code to use a fd event and removes the last special case for file descriptors for the main sys_select(). metze
Diffstat (limited to 'source3/include/smb.h')
-rw-r--r--source3/include/smb.h19
1 files changed, 13 insertions, 6 deletions
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 799ffe1a46..19d2208ada 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -1671,14 +1671,21 @@ enum smbd_capability {
LEASE_CAPABILITY
};
+struct kernel_oplocks_ops;
+struct kernel_oplocks {
+ const struct kernel_oplocks_ops *ops;
+ void *private_data;
+};
+
/* if a kernel does support oplocks then a structure of the following
typee is used to describe how to interact with the kernel */
-struct kernel_oplocks {
- files_struct * (*receive_message)(fd_set *fds);
- bool (*set_oplock)(files_struct *fsp, int oplock_type);
- void (*release_oplock)(files_struct *fsp);
- bool (*msg_waiting)(fd_set *fds);
- int notification_fd;
+struct kernel_oplocks_ops {
+ files_struct * (*receive_message)(struct kernel_oplocks *ctx);
+ bool (*set_oplock)(struct kernel_oplocks *ctx,
+ files_struct *fsp, int oplock_type);
+ void (*release_oplock)(struct kernel_oplocks *ctx,
+ files_struct *fsp);
+ bool (*msg_waiting)(struct kernel_oplocks *ctx);
};
#include "smb_macros.h"