From 196028ab7b578526179d4fcff42a5d73ba07ccbb Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 9 Jan 2009 14:02:18 +0100 Subject: 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 --- source3/include/smb.h | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) (limited to 'source3/include/smb.h') 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" -- cgit