aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux/fuse.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux/fuse.h')
-rw-r--r--include/uapi/linux/fuse.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/include/uapi/linux/fuse.h b/include/uapi/linux/fuse.h
index d8c713e148e3..5dc1fea49ecd 100644
--- a/include/uapi/linux/fuse.h
+++ b/include/uapi/linux/fuse.h
@@ -193,6 +193,7 @@ struct fuse_file_lock {
193#define FUSE_FLOCK_LOCKS (1 << 10) 193#define FUSE_FLOCK_LOCKS (1 << 10)
194#define FUSE_HAS_IOCTL_DIR (1 << 11) 194#define FUSE_HAS_IOCTL_DIR (1 << 11)
195#define FUSE_AUTO_INVAL_DATA (1 << 12) 195#define FUSE_AUTO_INVAL_DATA (1 << 12)
196#define FUSE_DO_READDIRPLUS (1 << 13)
196 197
197/** 198/**
198 * CUSE INIT request/reply flags 199 * CUSE INIT request/reply flags
@@ -299,6 +300,7 @@ enum fuse_opcode {
299 FUSE_NOTIFY_REPLY = 41, 300 FUSE_NOTIFY_REPLY = 41,
300 FUSE_BATCH_FORGET = 42, 301 FUSE_BATCH_FORGET = 42,
301 FUSE_FALLOCATE = 43, 302 FUSE_FALLOCATE = 43,
303 FUSE_READDIRPLUS = 44,
302 304
303 /* CUSE specific operations */ 305 /* CUSE specific operations */
304 CUSE_INIT = 4096, 306 CUSE_INIT = 4096,
@@ -630,6 +632,16 @@ struct fuse_dirent {
630#define FUSE_DIRENT_SIZE(d) \ 632#define FUSE_DIRENT_SIZE(d) \
631 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen) 633 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
632 634
635struct fuse_direntplus {
636 struct fuse_entry_out entry_out;
637 struct fuse_dirent dirent;
638};
639
640#define FUSE_NAME_OFFSET_DIRENTPLUS \
641 offsetof(struct fuse_direntplus, dirent.name)
642#define FUSE_DIRENTPLUS_SIZE(d) \
643 FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)
644
633struct fuse_notify_inval_inode_out { 645struct fuse_notify_inval_inode_out {
634 __u64 ino; 646 __u64 ino;
635 __s64 off; 647 __s64 off;