aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/fuse.h2
-rw-r--r--include/linux/fuse.h14
2 files changed, 16 insertions, 0 deletions
diff --git a/include/fuse.h b/include/fuse.h
index bafa182..46fc87b 100644
--- a/include/fuse.h
+++ b/include/fuse.h
@@ -13,6 +13,7 @@
#include <sys/types.h>
#include <sys/stat.h>
+#include <sys/statfs.h>
#include <utime.h>
/* ----------------------------------------------------------- *
@@ -81,6 +82,7 @@ struct fuse_operations {
int (*open) (const char *, int);
int (*read) (const char *, char *, size_t, off_t);
int (*write) (const char *, const char *, size_t, off_t);
+ int (*statfs) (struct statfs *);
};
/** Extra context that may be needed by some filesystems */
diff --git a/include/linux/fuse.h b/include/linux/fuse.h
index 53cb3f0..40f3950 100644
--- a/include/linux/fuse.h
+++ b/include/linux/fuse.h
@@ -83,6 +83,7 @@ enum fuse_opcode {
FUSE_OPEN = 14,
FUSE_READ = 15,
FUSE_WRITE = 16,
+ FUSE_STATFS = 17,
};
/* Conservative buffer size for the client */
@@ -156,6 +157,19 @@ struct fuse_write_in {
char buf[0];
};
+typedef struct fuse_statfs {
+ long block_size;
+ long blocks;
+ long blocks_free;
+ long files;
+ long files_free;
+ long namelen;
+} fuse_statfs_t;
+
+struct fuse_statfs_out {
+ struct fuse_statfs st;
+};
+
struct fuse_in_header {
int unique;
enum fuse_opcode opcode;