aboutsummaryrefslogtreecommitdiffstats
path: root/sys/linux/fuse.txt
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2017-11-27 09:08:57 +0100
committerDmitry Vyukov <dvyukov@google.com>2017-11-27 09:08:57 +0100
commitbbe60f6cb6ca28bbe9f6a54e264d01dcb8f5940e (patch)
tree554390b48a0d1647b527ed708d87dd32ab8b1eb5 /sys/linux/fuse.txt
parent01b82d46ee52d4aeb1e1466e8d72f099354d465e (diff)
sys/linux: improve fuse descriptions
Diffstat (limited to 'sys/linux/fuse.txt')
-rw-r--r--sys/linux/fuse.txt93
1 files changed, 25 insertions, 68 deletions
diff --git a/sys/linux/fuse.txt b/sys/linux/fuse.txt
index 24e705438..e7fe9a1f1 100644
--- a/sys/linux/fuse.txt
+++ b/sys/linux/fuse.txt
@@ -10,64 +10,49 @@ resource fd_fuse[fd]
syz_fuse_mount(target ptr[in, filename], mode flags[fuse_mode], uid uid, gid gid, maxread intptr, flags flags[mount_flags]) fd_fuse
syz_fuseblk_mount(target ptr[in, filename], blkdev ptr[in, filename], mode flags[fuse_mode], uid uid, gid gid, maxread intptr, blksize intptr, flags flags[mount_flags]) fd_fuse
ioctl$FUSE_DEV_IOC_CLONE(fd fd_fuse, cmd const[FUSE_DEV_IOC_CLONE], arg ptr[in, fd_fuse])
-write$fuse_init(fd fd_fuse, arg ptr[in, fuse_init_out], len len[arg])
-write$fuse_interrupt(fd fd_fuse, arg ptr[in, fuse_interrupt_out], len len[arg])
-write$fuse_bmap(fd fd_fuse, arg ptr[in, fuse_bmap_out], len len[arg])
-write$fuse_ioctl(fd fd_fuse, arg ptr[in, fuse_ioctl_out], len len[arg])
-write$fuse_poll(fd fd_fuse, arg ptr[in, fuse_poll_out], len len[arg])
-write$fuse_notify_poll_wakeup(fd fd_fuse, arg ptr[in, fuse_notify_poll_wakeup_out], len len[arg])
-write$fuse_notify_inval_inode(fd fd_fuse, arg ptr[in, fuse_notify_inval_inode_out], len len[arg])
-write$fuse_notify_inval_entry(fd fd_fuse, arg ptr[in, fuse_notify_inval_entry_out], len len[arg])
-write$fuse_notify_delete(fd fd_fuse, arg ptr[in, fuse_notify_delete_out], len len[arg])
-write$fuse_notify_store(fd fd_fuse, arg ptr[in, fuse_notify_store_out], len len[arg])
-write$fuse_notify_retrieve(fd fd_fuse, arg ptr[in, fuse_notify_retrieve_out], len len[arg])
+write$fuse(fd fd_fuse, arg ptr[in, fuse_out], len bytesize[arg])
# 1 stands for default_permissions, 2 - allow_other
fuse_mode = 1, 2, S_IFREG, S_IFCHR, S_IFBLK, S_IFIFO, S_IFSOCK, S_IFLNK, S_IFDIR
-fuse_init_out {
+fuse_out {
len len[parent, int32]
- err int32
- unique int64
+ err int32[0:1]
+ unique int64[0:10]
+ data fuse_reply
+}
+
+fuse_reply [
+ random array[int8]
+ fuse_init_out fuse_init_out
+ fuse_bmap_out fuse_bmap_out
+ fuse_ioctl_out fuse_ioctl_out
+ fuse_poll_out fuse_poll_out
+ fuse_notify_poll_wakeup_out fuse_notify_poll_wakeup_out
+ fuse_notify_inval_inode_out fuse_notify_inval_inode_out
+ fuse_notify_inval_entry_out fuse_notify_inval_entry_out
+ fuse_notify_delete_out fuse_notify_delete_out
+ fuse_notify_store_out fuse_notify_store_out
+ fuse_notify_retrieve_out fuse_notify_retrieve_out
+] [varlen]
- maj int32
- min int32
+fuse_init_out {
+ maj const[FUSE_KERNEL_VERSION, int32]
+ min const[FUSE_KERNEL_MINOR_VERSION, int32]
readah int32
flags int32
backg int16
congest int16
maxwr int32
timegr int32
- unused0 const[0, int32]
- unused1 const[0, int32]
- unused2 const[0, int32]
- unused3 const[0, int32]
- unused4 const[0, int32]
- unused5 const[0, int32]
- unused6 const[0, int32]
- unused7 const[0, int32]
- unused8 const[0, int32]
-}
-
-fuse_interrupt_out {
- len len[parent, int32]
- err int32
- unique int64
+ unused0 array[const[0, int32], 9]
}
fuse_bmap_out {
- len len[parent, int32]
- err int32
- unique int64
-
block int64
}
fuse_ioctl_out {
- len len[parent, int32]
- err int32
- unique int64
-
res int32
flags int32
iniovs int32
@@ -75,66 +60,38 @@ fuse_ioctl_out {
}
fuse_poll_out {
- len len[parent, int32]
- err int32
- unique int64
-
revents int32
}
fuse_notify_poll_wakeup_out {
- len len[parent, int32]
- err int32
- unique const[0, int64]
-
kh int16
}
fuse_notify_inval_inode_out {
- len1 len[parent, int32]
- err int32
- unique const[0, int64]
-
ino int64
off int64
len2 int16
}
fuse_notify_inval_entry_out {
- len len[parent, int32]
- err int32
- unique const[0, int64]
-
par int64
namelen int32
}
fuse_notify_delete_out {
- len len[parent, int32]
- err int32
- unique const[0, int64]
-
par int64
child int64
namelen int32
}
fuse_notify_store_out {
- len len[parent, int32]
- err int32
- unique const[0, int64]
-
nodeid int64
off int64
size int32
}
fuse_notify_retrieve_out {
- len len[parent, int32]
- err int32
- unique1 const[0, int64]
-
- unique2 int64
+ unique2 int64[0:10]
nodeid int64
off int64
size int32