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