mirror of
https://github.com/libfuse/libfuse.git
synced 2024-11-23 04:04:31 +08:00
8a3746fe0e
It does not have an in-argument.
419 lines
13 KiB
Plaintext
419 lines
13 KiB
Plaintext
List of libfuse operations with their in/out arguments, created with
|
|
help of chatgpt. As of kernel 6.9 (protocol 7.40). The list
|
|
was only partly human verified - use with care.
|
|
|
|
1. FUSE_LOOKUP (1)
|
|
- in_args[0]: Variable (up to PATH_MAX for the file name)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
2. FUSE_FORGET (2)
|
|
- in_args[0]: Size of fuse_forget_in (typically 8 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
3. FUSE_GETATTR (3)
|
|
- in_args[0]: Size of fuse_getattr_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_attr_out (typically 96 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
4. FUSE_SETATTR (4)
|
|
- in_args[0]: Size of fuse_setattr_in (typically 32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_attr_out (typically 96 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
5. FUSE_READLINK (5)
|
|
- in_args[0]: Not used
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (size of the link target path)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
6. FUSE_SYMLINK (6)
|
|
- in_args[0]: Variable (new link file name, up to PATH_MAX)
|
|
- in_args[1]: Variable (target path for the symlink, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
7. Unused (7)
|
|
|
|
8. FUSE_MKNOD (8)
|
|
- in_args[0]: Size of fuse_mknod_in (24 bytes)
|
|
- in_args[1]: Variable (file name, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
9. FUSE_MKDIR (9)
|
|
- in_args[0]: Size of fuse_mkdir_in (16 bytes)
|
|
- in_args[1]: Variable (directory name, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
10. FUSE_UNLINK (10)
|
|
- in_args[0]: Variable (file name, up to PATH_MAX)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
11. FUSE_RMDIR (11)
|
|
- in_args[0]: Variable (directory name, up to PATH_MAX)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
12. FUSE_RENAME (12)
|
|
- in_args[0]: Size of fuse_rename_in (24 bytes)
|
|
- in_args[1]: Variable (old path, up to PATH_MAX)
|
|
- in_args[2]: Variable (new path, up to PATH_MAX)
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
13. FUSE_LINK (13)
|
|
- in_args[0]: Size of fuse_link_in (16 bytes)
|
|
- in_args[1]: Variable (new link path, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
14. FUSE_OPEN (14)
|
|
- in_args[0]: Size of fuse_open_in (8 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_open_out (24 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
15. FUSE_READ (15)
|
|
- in_args[0]: Size of fuse_read_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (data read from the file)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
16. FUSE_WRITE (16)
|
|
- in_args[0]: Size of fuse_write_in (32 bytes)
|
|
- in_args[1]: Variable (data to write)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_write_out (24 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
17. FUSE_STATFS (17)
|
|
- in_args[0]: Size of fuse_statfs_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_statfs_out (typically 96 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
18. FUSE_RELEASE (18)
|
|
- in_args[0]: Size of fuse_release_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
19. Unused (19)
|
|
|
|
20. FUSE_FSYNC (20)
|
|
- in_args[0]: Size of fuse_fsync_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
21. FUSE_SETXATTR (21)
|
|
- in_args[0]: Size of fuse_setxattr_in (24 bytes)
|
|
- in_args[1]: Variable (name of attribute, up to 255 bytes)
|
|
- in_args[2]: Variable (value of attribute)
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
- When FUSE_SETXATTR_EXT is not set: Size of fuse_setxattr_in is 16 bytes (FUSE_COMPAT_SETXATTR_IN_SIZE).
|
|
|
|
22. FUSE_GETXATTR (22)
|
|
- in_args[0]: Size of fuse_getxattr_in (24 bytes)
|
|
- in_args[1]: Variable (name of attribute, up to 255 bytes)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (value of the attribute)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
23. FUSE_LISTXATTR (23)
|
|
- in_args[0]: Size of fuse_getxattr_in (24 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (list of attribute names, each up to 255 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
24. FUSE_REMOVEXATTR (24)
|
|
- in_args[0]: Variable (name of attribute, up to 255 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
25. FUSE_FLUSH (25)
|
|
- in_args[0]: Size of fuse_flush_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
26. FUSE_INIT (26)
|
|
- in_args[0]: Size of fuse_init_in (64 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_init_out (typically 80 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
- Flags:
|
|
- FUSE_SECURITY_CTX
|
|
- FUSE_CREATE_SUPP_GROUP
|
|
- FUSE_SETXATTR_EXT
|
|
- FUSE_COMPAT_SETXATTR_IN_SIZE
|
|
- Additional flags may include FUSE_ASYNC_READ, FUSE_POSIX_LOCKS, FUSE_FILE_OPS, etc.
|
|
|
|
27. FUSE_OPENDIR (27)
|
|
- in_args[0]: Size of fuse_open_in (8 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_open_out (24 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
28. FUSE_READDIR (28)
|
|
- in_args[0]: Size of fuse_read_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (directory entries)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
29. FUSE_RELEASEDIR (29)
|
|
- in_args[0]: Size of fuse_release_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
30. FUSE_FSYNCDIR (30)
|
|
- in_args[0]: Size of fuse_fsync_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
31. FUSE_GETLK (31)
|
|
- in_args[0]: Size of fuse_lk_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_lk_out (typically 32 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
32. FUSE_SETLK (32)
|
|
- in_args[0]: Size of fuse_lk_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
33. FUSE_SETLKW (33)
|
|
- in_args[0]: Size of fuse_lk_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
34. FUSE_ACCESS (34)
|
|
- in_args[0]: Size of fuse_access_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
35. FUSE_CREATE (35)
|
|
- in_args[0]: Size of fuse_create_in (16 bytes)
|
|
- in_args[1]: Variable (file name, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Size of fuse_open_out (24 bytes)
|
|
- out_args[2]: Not used
|
|
- When FUSE_SECURITY_CTX is set (fc->init_security): Additional security context included in in_args and/or out_args.
|
|
- When FUSE_CREATE_SUPP_GROUP is set (fc->create_supp_group): Additional supplementary group information included in in_args.
|
|
|
|
36. FUSE_INTERRUPT (36)
|
|
- in_args[0]: Size of fuse_interrupt_in (8 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
37. FUSE_BMAP (37)
|
|
- in_args[0]: Size of fuse_bmap_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_bmap_out (16 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
38. FUSE_DESTROY (38)
|
|
- in_args[0]: Not used
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
39. FUSE_IOCTL (39)
|
|
- in_args[0]: Size of fuse_ioctl_in (64 bytes)
|
|
- in_args[1]: Variable (ioctl command data)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_ioctl_out (32 bytes)
|
|
- out_args[1]: Variable (data returned by the ioctl command)
|
|
- out_args[2]: Not used
|
|
|
|
40. FUSE_POLL (40)
|
|
- in_args[0]: Size of fuse_poll_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_poll_out (16 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
41. FUSE_NOTIFY_REPLY (41)
|
|
- in_args[0]: Variable (reply data)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
42. FUSE_BATCH_FORGET (42)
|
|
- in_args[0]: Variable (size depends on the number of forget requests)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
43. FUSE_FALLOCATE (43)
|
|
- in_args[0]: Size of fuse_fallocate_in (24 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
44. FUSE_READDIRPLUS (44)
|
|
- in_args[0]: Size of fuse_read_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Variable (directory entries)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
45. FUSE_RENAME2 (45)
|
|
- in_args[0]: Size of fuse_rename2_in (32 bytes)
|
|
- in_args[1]: Variable (old path, up to PATH_MAX)
|
|
- in_args[2]: Variable (new path, up to PATH_MAX)
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
46. FUSE_LSEEK (46)
|
|
- in_args[0]: Size of fuse_lseek_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_lseek_out (16 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
47. FUSE_COPY_FILE_RANGE (47)
|
|
- in_args[0]: Size of fuse_copy_file_range_in (48 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_write_out (24 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
48. FUSE_SETUPMAPPING (48)
|
|
- in_args[0]: Size of fuse_setupmapping_in (32 bytes)
|
|
- in_args[1]: Variable (data to map)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
49. FUSE_REMOVEMAPPING (49)
|
|
- in_args[0]: Variable (size depends on the number of mappings to remove)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
50. FUSE_SYNCFS (50)
|
|
- in_args[0]: Size of fuse_syncfs_in (16 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Not used
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|
|
|
|
51. FUSE_TMPFILE (51)
|
|
- in_args[0]: Size of fuse_create_in (16 bytes)
|
|
- in_args[1]: Variable (file name, up to PATH_MAX)
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_entry_out (typically 128 bytes)
|
|
- out_args[1]: Size of fuse_open_out (24 bytes)
|
|
- out_args[2]: Not used
|
|
- When FUSE_SECURITY_CTX is set (fc->init_security): Additional security context included in in_args and/or out_args.
|
|
- When FUSE_CREATE_SUPP_GROUP is set (fc->create_supp_group): Additional supplementary group information included in in_args.
|
|
|
|
52. FUSE_STATX (52)
|
|
- in_args[0]: Size of fuse_statx_in (32 bytes)
|
|
- in_args[1]: Not used
|
|
- in_args[2]: Not used
|
|
- out_args[0]: Size of fuse_statx_out (typically 256 bytes)
|
|
- out_args[1]: Not used
|
|
- out_args[2]: Not used
|