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