Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      2  ****************************************************************************
      3  ***
      4  ***   This header was automatically generated from a Linux kernel header
      5  ***   of the same name, to make information necessary for userspace to
      6  ***   call into the kernel available to libc.  It contains only constants,
      7  ***   structures, and macros generated from the original header, and thus,
      8  ***   contains no copyrightable information.
      9  ***
     10  ***   To edit the content of this header, modify the corresponding
     11  ***   source file (e.g. under external/kernel-headers/original/) then
     12  ***   run bionic/libc/kernel/tools/update_all.py
     13  ***
     14  ***   Any manual change here will be lost the next time this script will
     15  ***   be run. You've been warned!
     16  ***
     17  ****************************************************************************
     18  ****************************************************************************/
     19 #ifndef _LINUX_FUSE_H
     20 #define _LINUX_FUSE_H
     21 #include <stdint.h>
     22 #define FUSE_KERNEL_VERSION 7
     23 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     24 #define FUSE_KERNEL_MINOR_VERSION 23
     25 #define FUSE_ROOT_ID 1
     26 struct fuse_attr {
     27   uint64_t ino;
     28 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     29   uint64_t size;
     30   uint64_t blocks;
     31   uint64_t atime;
     32   uint64_t mtime;
     33 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     34   uint64_t ctime;
     35   uint32_t atimensec;
     36   uint32_t mtimensec;
     37   uint32_t ctimensec;
     38 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     39   uint32_t mode;
     40   uint32_t nlink;
     41   uint32_t uid;
     42   uint32_t gid;
     43 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     44   uint32_t rdev;
     45   uint32_t blksize;
     46   uint32_t padding;
     47 };
     48 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     49 struct fuse_kstatfs {
     50   uint64_t blocks;
     51   uint64_t bfree;
     52   uint64_t bavail;
     53 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     54   uint64_t files;
     55   uint64_t ffree;
     56   uint32_t bsize;
     57   uint32_t namelen;
     58 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     59   uint32_t frsize;
     60   uint32_t padding;
     61   uint32_t spare[6];
     62 };
     63 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     64 struct fuse_file_lock {
     65   uint64_t start;
     66   uint64_t end;
     67   uint32_t type;
     68 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     69   uint32_t pid;
     70 };
     71 #define FATTR_MODE (1 << 0)
     72 #define FATTR_UID (1 << 1)
     73 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     74 #define FATTR_GID (1 << 2)
     75 #define FATTR_SIZE (1 << 3)
     76 #define FATTR_ATIME (1 << 4)
     77 #define FATTR_MTIME (1 << 5)
     78 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     79 #define FATTR_FH (1 << 6)
     80 #define FATTR_ATIME_NOW (1 << 7)
     81 #define FATTR_MTIME_NOW (1 << 8)
     82 #define FATTR_LOCKOWNER (1 << 9)
     83 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     84 #define FOPEN_DIRECT_IO (1 << 0)
     85 #define FOPEN_KEEP_CACHE (1 << 1)
     86 #define FOPEN_NONSEEKABLE (1 << 2)
     87 #define FUSE_ASYNC_READ (1 << 0)
     88 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     89 #define FUSE_POSIX_LOCKS (1 << 1)
     90 #define FUSE_FILE_OPS (1 << 2)
     91 #define FUSE_ATOMIC_O_TRUNC (1 << 3)
     92 #define FUSE_EXPORT_SUPPORT (1 << 4)
     93 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     94 #define FUSE_BIG_WRITES (1 << 5)
     95 #define FUSE_DONT_MASK (1 << 6)
     96 #define FUSE_SPLICE_WRITE (1 << 7)
     97 #define FUSE_SPLICE_MOVE (1 << 8)
     98 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
     99 #define FUSE_SPLICE_READ (1 << 9)
    100 #define FUSE_FLOCK_LOCKS (1 << 10)
    101 #define FUSE_HAS_IOCTL_DIR (1 << 11)
    102 #define FUSE_AUTO_INVAL_DATA (1 << 12)
    103 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    104 #define FUSE_DO_READDIRPLUS (1 << 13)
    105 #define FUSE_READDIRPLUS_AUTO (1 << 14)
    106 #define FUSE_ASYNC_DIO (1 << 15)
    107 #define FUSE_WRITEBACK_CACHE (1 << 16)
    108 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    109 #define FUSE_SHORTCIRCUIT (1 << 31)
    110 #define CUSE_UNRESTRICTED_IOCTL (1 << 0)
    111 #define FUSE_RELEASE_FLUSH (1 << 0)
    112 #define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1)
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define FUSE_GETATTR_FH (1 << 0)
    115 #define FUSE_LK_FLOCK (1 << 0)
    116 #define FUSE_WRITE_CACHE (1 << 0)
    117 #define FUSE_WRITE_LOCKOWNER (1 << 1)
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define FUSE_READ_LOCKOWNER (1 << 1)
    120 #define FUSE_IOCTL_COMPAT (1 << 0)
    121 #define FUSE_IOCTL_UNRESTRICTED (1 << 1)
    122 #define FUSE_IOCTL_RETRY (1 << 2)
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define FUSE_IOCTL_32BIT (1 << 3)
    125 #define FUSE_IOCTL_DIR (1 << 4)
    126 #define FUSE_IOCTL_MAX_IOV 256
    127 #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 enum fuse_opcode {
    130   FUSE_LOOKUP = 1,
    131   FUSE_FORGET = 2,
    132   FUSE_GETATTR = 3,
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134   FUSE_SETATTR = 4,
    135   FUSE_READLINK = 5,
    136   FUSE_SYMLINK = 6,
    137   FUSE_MKNOD = 8,
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139   FUSE_MKDIR = 9,
    140   FUSE_UNLINK = 10,
    141   FUSE_RMDIR = 11,
    142   FUSE_RENAME = 12,
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   FUSE_LINK = 13,
    145   FUSE_OPEN = 14,
    146   FUSE_READ = 15,
    147   FUSE_WRITE = 16,
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   FUSE_STATFS = 17,
    150   FUSE_RELEASE = 18,
    151   FUSE_FSYNC = 20,
    152   FUSE_SETXATTR = 21,
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154   FUSE_GETXATTR = 22,
    155   FUSE_LISTXATTR = 23,
    156   FUSE_REMOVEXATTR = 24,
    157   FUSE_FLUSH = 25,
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   FUSE_INIT = 26,
    160   FUSE_OPENDIR = 27,
    161   FUSE_READDIR = 28,
    162   FUSE_RELEASEDIR = 29,
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164   FUSE_FSYNCDIR = 30,
    165   FUSE_GETLK = 31,
    166   FUSE_SETLK = 32,
    167   FUSE_SETLKW = 33,
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169   FUSE_ACCESS = 34,
    170   FUSE_CREATE = 35,
    171   FUSE_INTERRUPT = 36,
    172   FUSE_BMAP = 37,
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174   FUSE_DESTROY = 38,
    175   FUSE_IOCTL = 39,
    176   FUSE_POLL = 40,
    177   FUSE_NOTIFY_REPLY = 41,
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179   FUSE_BATCH_FORGET = 42,
    180   FUSE_FALLOCATE = 43,
    181   FUSE_READDIRPLUS = 44,
    182   FUSE_CANONICAL_PATH = 2016,
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184   CUSE_INIT = 4096,
    185 };
    186 enum fuse_notify_code {
    187   FUSE_NOTIFY_POLL = 1,
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189   FUSE_NOTIFY_INVAL_INODE = 2,
    190   FUSE_NOTIFY_INVAL_ENTRY = 3,
    191   FUSE_NOTIFY_STORE = 4,
    192   FUSE_NOTIFY_RETRIEVE = 5,
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194   FUSE_NOTIFY_DELETE = 6,
    195   FUSE_NOTIFY_CODE_MAX,
    196 };
    197 #define FUSE_MIN_READ_BUFFER 8192
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199 #define FUSE_COMPAT_ENTRY_OUT_SIZE 120
    200 struct fuse_entry_out {
    201   uint64_t nodeid;
    202   uint64_t generation;
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204   uint64_t entry_valid;
    205   uint64_t attr_valid;
    206   uint32_t entry_valid_nsec;
    207   uint32_t attr_valid_nsec;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209   struct fuse_attr attr;
    210 };
    211 struct fuse_forget_in {
    212   uint64_t nlookup;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214 };
    215 struct fuse_forget_one {
    216   uint64_t nodeid;
    217   uint64_t nlookup;
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219 };
    220 struct fuse_batch_forget_in {
    221   uint32_t count;
    222   uint32_t dummy;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224 };
    225 struct fuse_getattr_in {
    226   uint32_t getattr_flags;
    227   uint32_t dummy;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229   uint64_t fh;
    230 };
    231 #define FUSE_COMPAT_ATTR_OUT_SIZE 96
    232 struct fuse_attr_out {
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234   uint64_t attr_valid;
    235   uint32_t attr_valid_nsec;
    236   uint32_t dummy;
    237   struct fuse_attr attr;
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 };
    240 #define FUSE_COMPAT_MKNOD_IN_SIZE 8
    241 struct fuse_mknod_in {
    242   uint32_t mode;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244   uint32_t rdev;
    245   uint32_t umask;
    246   uint32_t padding;
    247 };
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249 struct fuse_mkdir_in {
    250   uint32_t mode;
    251   uint32_t umask;
    252 };
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 struct fuse_rename_in {
    255   uint64_t newdir;
    256 };
    257 struct fuse_link_in {
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259   uint64_t oldnodeid;
    260 };
    261 struct fuse_setattr_in {
    262   uint32_t valid;
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264   uint32_t padding;
    265   uint64_t fh;
    266   uint64_t size;
    267   uint64_t lock_owner;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269   uint64_t atime;
    270   uint64_t mtime;
    271   uint64_t unused2;
    272   uint32_t atimensec;
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274   uint32_t mtimensec;
    275   uint32_t unused3;
    276   uint32_t mode;
    277   uint32_t unused4;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279   uint32_t uid;
    280   uint32_t gid;
    281   uint32_t unused5;
    282 };
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284 struct fuse_open_in {
    285   uint32_t flags;
    286   uint32_t unused;
    287 };
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289 struct fuse_create_in {
    290   uint32_t flags;
    291   uint32_t mode;
    292   uint32_t umask;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294   uint32_t padding;
    295 };
    296 struct fuse_open_out {
    297   uint64_t fh;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299   uint32_t open_flags;
    300   union {
    301     int32_t lower_fd;
    302     uint32_t padding;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304   };
    305 };
    306 struct fuse_release_in {
    307   uint64_t fh;
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309   uint32_t flags;
    310   uint32_t release_flags;
    311   uint64_t lock_owner;
    312 };
    313 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    314 struct fuse_flush_in {
    315   uint64_t fh;
    316   uint32_t unused;
    317   uint32_t padding;
    318 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    319   uint64_t lock_owner;
    320 };
    321 struct fuse_read_in {
    322   uint64_t fh;
    323 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    324   uint64_t offset;
    325   uint32_t size;
    326   uint32_t read_flags;
    327   uint64_t lock_owner;
    328 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    329   uint32_t flags;
    330   uint32_t padding;
    331 };
    332 #define FUSE_COMPAT_WRITE_IN_SIZE 24
    333 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    334 struct fuse_write_in {
    335   uint64_t fh;
    336   uint64_t offset;
    337   uint32_t size;
    338 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    339   uint32_t write_flags;
    340   uint64_t lock_owner;
    341   uint32_t flags;
    342   uint32_t padding;
    343 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    344 };
    345 struct fuse_write_out {
    346   uint32_t size;
    347   uint32_t padding;
    348 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    349 };
    350 #define FUSE_COMPAT_STATFS_SIZE 48
    351 struct fuse_statfs_out {
    352   struct fuse_kstatfs st;
    353 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    354 };
    355 struct fuse_fsync_in {
    356   uint64_t fh;
    357   uint32_t fsync_flags;
    358 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    359   uint32_t padding;
    360 };
    361 struct fuse_setxattr_in {
    362   uint32_t size;
    363 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    364   uint32_t flags;
    365 };
    366 struct fuse_getxattr_in {
    367   uint32_t size;
    368 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    369   uint32_t padding;
    370 };
    371 struct fuse_getxattr_out {
    372   uint32_t size;
    373 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    374   uint32_t padding;
    375 };
    376 struct fuse_lk_in {
    377   uint64_t fh;
    378 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    379   uint64_t owner;
    380   struct fuse_file_lock lk;
    381   uint32_t lk_flags;
    382   uint32_t padding;
    383 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    384 };
    385 struct fuse_lk_out {
    386   struct fuse_file_lock lk;
    387 };
    388 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    389 struct fuse_access_in {
    390   uint32_t mask;
    391   uint32_t padding;
    392 };
    393 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    394 struct fuse_init_in {
    395   uint32_t major;
    396   uint32_t minor;
    397   uint32_t max_readahead;
    398 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    399   uint32_t flags;
    400 };
    401 struct fuse_init_out {
    402   uint32_t major;
    403 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    404   uint32_t minor;
    405   uint32_t max_readahead;
    406   uint32_t flags;
    407   uint16_t max_background;
    408 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    409   uint16_t congestion_threshold;
    410   uint32_t max_write;
    411 };
    412 #define CUSE_INIT_INFO_MAX 4096
    413 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    414 struct cuse_init_in {
    415   uint32_t major;
    416   uint32_t minor;
    417   uint32_t unused;
    418 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    419   uint32_t flags;
    420 };
    421 struct cuse_init_out {
    422   uint32_t major;
    423 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    424   uint32_t minor;
    425   uint32_t unused;
    426   uint32_t flags;
    427   uint32_t max_read;
    428 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    429   uint32_t max_write;
    430   uint32_t dev_major;
    431   uint32_t dev_minor;
    432   uint32_t spare[10];
    433 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    434 };
    435 struct fuse_interrupt_in {
    436   uint64_t unique;
    437 };
    438 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    439 struct fuse_bmap_in {
    440   uint64_t block;
    441   uint32_t blocksize;
    442   uint32_t padding;
    443 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    444 };
    445 struct fuse_bmap_out {
    446   uint64_t block;
    447 };
    448 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    449 struct fuse_ioctl_in {
    450   uint64_t fh;
    451   uint32_t flags;
    452   uint32_t cmd;
    453 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    454   uint64_t arg;
    455   uint32_t in_size;
    456   uint32_t out_size;
    457 };
    458 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    459 struct fuse_ioctl_iovec {
    460   uint64_t base;
    461   uint64_t len;
    462 };
    463 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    464 struct fuse_ioctl_out {
    465   int32_t result;
    466   uint32_t flags;
    467   uint32_t in_iovs;
    468 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    469   uint32_t out_iovs;
    470 };
    471 struct fuse_poll_in {
    472   uint64_t fh;
    473 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    474   uint64_t kh;
    475   uint32_t flags;
    476   uint32_t events;
    477 };
    478 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    479 struct fuse_poll_out {
    480   uint32_t revents;
    481   uint32_t padding;
    482 };
    483 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    484 struct fuse_notify_poll_wakeup_out {
    485   uint64_t kh;
    486 };
    487 struct fuse_fallocate_in {
    488 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    489   uint64_t fh;
    490   uint64_t offset;
    491   uint64_t length;
    492   uint32_t mode;
    493 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    494   uint32_t padding;
    495 };
    496 struct fuse_in_header {
    497   uint32_t len;
    498 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    499   uint32_t opcode;
    500   uint64_t unique;
    501   uint64_t nodeid;
    502   uint32_t uid;
    503 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    504   uint32_t gid;
    505   uint32_t pid;
    506   uint32_t padding;
    507 };
    508 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    509 struct fuse_out_header {
    510   uint32_t len;
    511   int32_t error;
    512   uint64_t unique;
    513 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    514 };
    515 struct fuse_dirent {
    516   uint64_t ino;
    517   uint64_t off;
    518 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    519   uint32_t namelen;
    520   uint32_t type;
    521   char name[];
    522 };
    523 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    524 #define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)
    525 #define FUSE_DIRENT_ALIGN(x) (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1))
    526 #define FUSE_DIRENT_SIZE(d) FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
    527 struct fuse_direntplus {
    528 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    529   struct fuse_entry_out entry_out;
    530   struct fuse_dirent dirent;
    531 };
    532 #define FUSE_NAME_OFFSET_DIRENTPLUS offsetof(struct fuse_direntplus, dirent.name)
    533 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    534 #define FUSE_DIRENTPLUS_SIZE(d) FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)
    535 struct fuse_notify_inval_inode_out {
    536   uint64_t ino;
    537   int64_t off;
    538 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    539   int64_t len;
    540 };
    541 struct fuse_notify_inval_entry_out {
    542   uint64_t parent;
    543 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    544   uint32_t namelen;
    545   uint32_t padding;
    546 };
    547 struct fuse_notify_delete_out {
    548 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    549   uint64_t parent;
    550   uint64_t child;
    551   uint32_t namelen;
    552   uint32_t padding;
    553 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    554 };
    555 struct fuse_notify_store_out {
    556   uint64_t nodeid;
    557   uint64_t offset;
    558 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    559   uint32_t size;
    560   uint32_t padding;
    561 };
    562 struct fuse_notify_retrieve_out {
    563 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    564   uint64_t notify_unique;
    565   uint64_t nodeid;
    566   uint64_t offset;
    567   uint32_t size;
    568 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    569   uint32_t padding;
    570 };
    571 struct fuse_notify_retrieve_in {
    572   uint64_t dummy1;
    573 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    574   uint64_t offset;
    575   uint32_t size;
    576   uint32_t dummy2;
    577   uint64_t dummy3;
    578 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    579   uint64_t dummy4;
    580 };
    581 #endif
    582