diff options
author | Miklos Szeredi <miklos@szeredi.hu> | 2006-06-28 14:51:20 +0000 |
---|---|---|
committer | Miklos Szeredi <miklos@szeredi.hu> | 2006-06-28 14:51:20 +0000 |
commit | b052a1a1b894c4bcd9b4e70dfceb70e340bbb781 (patch) | |
tree | ac61aed756ee93a115a84ee89bd8eb2f45e8d46d /kernel/fuse_kernel.h | |
parent | 55a84101bd2d2426168ee18914f6874e042ab1e6 (diff) | |
download | libfuse-b052a1a1b894c4bcd9b4e70dfceb70e340bbb781.tar.gz |
file locking
Diffstat (limited to 'kernel/fuse_kernel.h')
-rw-r--r-- | kernel/fuse_kernel.h | 35 |
1 files changed, 30 insertions, 5 deletions
diff --git a/kernel/fuse_kernel.h b/kernel/fuse_kernel.h index bd37693..179c7eb 100644 --- a/kernel/fuse_kernel.h +++ b/kernel/fuse_kernel.h @@ -43,19 +43,20 @@ #define __s32 int32_t #else #include <asm/types.h> +#include <linux/major.h> #endif /** Version number of this interface */ #define FUSE_KERNEL_VERSION 7 /** Minor version number of this interface */ -#define FUSE_KERNEL_MINOR_VERSION 6 +#define FUSE_KERNEL_MINOR_VERSION 7 /** The node ID of the root inode */ #define FUSE_ROOT_ID 1 /** The major number of the fuse character device */ -#define FUSE_MAJOR 10 +#define FUSE_MAJOR MISC_MAJOR /** The minor number of the fuse character device */ #define FUSE_MINOR 229 @@ -93,6 +94,13 @@ struct fuse_kstatfs { __u32 spare[6]; }; +struct fuse_file_lock { + __u64 start; + __u64 end; + __u32 type; + __u32 pid; /* tgid */ +}; + /** * Bitmasks for fuse_setattr_in.valid */ @@ -117,6 +125,7 @@ struct fuse_kstatfs { * INIT request/reply flags */ #define FUSE_ASYNC_READ (1 << 0) +#define FUSE_POSIX_LOCKS (1 << 1) enum fuse_opcode { FUSE_LOOKUP = 1, @@ -147,11 +156,12 @@ enum fuse_opcode { FUSE_READDIR = 28, FUSE_RELEASEDIR = 29, FUSE_FSYNCDIR = 30, + FUSE_GETLK = 31, + FUSE_SETLK = 32, + FUSE_SETLKW = 33, FUSE_ACCESS = 34, FUSE_CREATE = 35, - - /* Keep at the end: */ - FUSE_MAXOP + FUSE_INTERRUPT = 36, }; /* The read buffer is required to be at least 8k, but may be much larger */ @@ -237,6 +247,7 @@ struct fuse_flush_in { __u64 fh; __u32 flush_flags; __u32 padding; + __u64 lock_owner; }; struct fuse_read_in { @@ -285,6 +296,16 @@ struct fuse_getxattr_out { __u32 padding; }; +struct fuse_lk_in { + __u64 fh; + __u64 owner; + struct fuse_file_lock lk; +}; + +struct fuse_lk_out { + struct fuse_file_lock lk; +}; + struct fuse_access_in { __u32 mask; __u32 padding; @@ -306,6 +327,10 @@ struct fuse_init_out { __u32 max_write; }; +struct fuse_interrupt_in { + __u64 unique; +}; + struct fuse_in_header { __u32 len; __u32 opcode; |