[PATCH] simplify shmem_aops.set_page_dirty() method
[sfrench/cifs-2.6.git] / include / linux / fuse.h
index 8e4319614bef1e25d7aaaaefdabc0ac5c80f173b..534744efe30d764abaf8c8aa10baa03821153c24 100644 (file)
@@ -1,6 +1,6 @@
 /*
     FUSE: Filesystem in Userspace
-    Copyright (C) 2001-2005  Miklos Szeredi <miklos@szeredi.hu>
+    Copyright (C) 2001-2006  Miklos Szeredi <miklos@szeredi.hu>
 
     This program can be distributed under the terms of the GNU GPL.
     See the file COPYING.
@@ -15,7 +15,7 @@
 #define FUSE_KERNEL_VERSION 7
 
 /** Minor version number of this interface */
-#define FUSE_KERNEL_MINOR_VERSION 6
+#define FUSE_KERNEL_MINOR_VERSION 8
 
 /** The node ID of the root inode */
 #define FUSE_ROOT_ID 1
@@ -59,6 +59,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
  */
@@ -83,6 +90,12 @@ struct fuse_kstatfs {
  * INIT request/reply flags
  */
 #define FUSE_ASYNC_READ                (1 << 0)
+#define FUSE_POSIX_LOCKS       (1 << 1)
+
+/**
+ * Release flags
+ */
+#define FUSE_RELEASE_FLUSH     (1 << 0)
 
 enum fuse_opcode {
        FUSE_LOOKUP        = 1,
@@ -113,8 +126,14 @@ 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
+       FUSE_CREATE        = 35,
+       FUSE_INTERRUPT     = 36,
+       FUSE_BMAP          = 37,
+       FUSE_DESTROY       = 38,
 };
 
 /* The read buffer is required to be at least 8k, but may be much larger */
@@ -193,13 +212,15 @@ struct fuse_open_out {
 struct fuse_release_in {
        __u64   fh;
        __u32   flags;
-       __u32   padding;
+       __u32   release_flags;
+       __u64   lock_owner;
 };
 
 struct fuse_flush_in {
        __u64   fh;
-       __u32   flush_flags;
+       __u32   unused;
        __u32   padding;
+       __u64   lock_owner;
 };
 
 struct fuse_read_in {
@@ -248,6 +269,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;
@@ -269,6 +300,20 @@ struct fuse_init_out {
        __u32   max_write;
 };
 
+struct fuse_interrupt_in {
+       __u64   unique;
+};
+
+struct fuse_bmap_in {
+       __u64   block;
+       __u32   blocksize;
+       __u32   padding;
+};
+
+struct fuse_bmap_out {
+       __u64   block;
+};
+
 struct fuse_in_header {
        __u32   len;
        __u32   opcode;