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 26
     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_PARALLEL_DIROPS (1 << 18)
    112 #define FUSE_HANDLE_KILLPRIV (1 << 19)
    113 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    114 #define FUSE_POSIX_ACL (1 << 20)
    115 #define CUSE_UNRESTRICTED_IOCTL (1 << 0)
    116 #define FUSE_RELEASE_FLUSH (1 << 0)
    117 #define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1)
    118 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    119 #define FUSE_GETATTR_FH (1 << 0)
    120 #define FUSE_LK_FLOCK (1 << 0)
    121 #define FUSE_WRITE_CACHE (1 << 0)
    122 #define FUSE_WRITE_LOCKOWNER (1 << 1)
    123 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    124 #define FUSE_READ_LOCKOWNER (1 << 1)
    125 #define FUSE_IOCTL_COMPAT (1 << 0)
    126 #define FUSE_IOCTL_UNRESTRICTED (1 << 1)
    127 #define FUSE_IOCTL_RETRY (1 << 2)
    128 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    129 #define FUSE_IOCTL_32BIT (1 << 3)
    130 #define FUSE_IOCTL_DIR (1 << 4)
    131 #define FUSE_IOCTL_MAX_IOV 256
    132 #define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
    133 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    134 enum fuse_opcode {
    135   FUSE_LOOKUP = 1,
    136   FUSE_FORGET = 2,
    137   FUSE_GETATTR = 3,
    138 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    139   FUSE_SETATTR = 4,
    140   FUSE_READLINK = 5,
    141   FUSE_SYMLINK = 6,
    142   FUSE_MKNOD = 8,
    143 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    144   FUSE_MKDIR = 9,
    145   FUSE_UNLINK = 10,
    146   FUSE_RMDIR = 11,
    147   FUSE_RENAME = 12,
    148 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    149   FUSE_LINK = 13,
    150   FUSE_OPEN = 14,
    151   FUSE_READ = 15,
    152   FUSE_WRITE = 16,
    153 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    154   FUSE_STATFS = 17,
    155   FUSE_RELEASE = 18,
    156   FUSE_FSYNC = 20,
    157   FUSE_SETXATTR = 21,
    158 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    159   FUSE_GETXATTR = 22,
    160   FUSE_LISTXATTR = 23,
    161   FUSE_REMOVEXATTR = 24,
    162   FUSE_FLUSH = 25,
    163 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    164   FUSE_INIT = 26,
    165   FUSE_OPENDIR = 27,
    166   FUSE_READDIR = 28,
    167   FUSE_RELEASEDIR = 29,
    168 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    169   FUSE_FSYNCDIR = 30,
    170   FUSE_GETLK = 31,
    171   FUSE_SETLK = 32,
    172   FUSE_SETLKW = 33,
    173 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    174   FUSE_ACCESS = 34,
    175   FUSE_CREATE = 35,
    176   FUSE_INTERRUPT = 36,
    177   FUSE_BMAP = 37,
    178 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    179   FUSE_DESTROY = 38,
    180   FUSE_IOCTL = 39,
    181   FUSE_POLL = 40,
    182   FUSE_NOTIFY_REPLY = 41,
    183 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    184   FUSE_BATCH_FORGET = 42,
    185   FUSE_FALLOCATE = 43,
    186   FUSE_READDIRPLUS = 44,
    187   FUSE_RENAME2 = 45,
    188 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    189   FUSE_LSEEK = 46,
    190   CUSE_INIT = 4096,
    191 };
    192 enum fuse_notify_code {
    193 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    194   FUSE_NOTIFY_POLL = 1,
    195   FUSE_NOTIFY_INVAL_INODE = 2,
    196   FUSE_NOTIFY_INVAL_ENTRY = 3,
    197   FUSE_NOTIFY_STORE = 4,
    198 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    199   FUSE_NOTIFY_RETRIEVE = 5,
    200   FUSE_NOTIFY_DELETE = 6,
    201   FUSE_NOTIFY_CODE_MAX,
    202 };
    203 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    204 #define FUSE_MIN_READ_BUFFER 8192
    205 #define FUSE_COMPAT_ENTRY_OUT_SIZE 120
    206 struct fuse_entry_out {
    207   uint64_t nodeid;
    208 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    209   uint64_t generation;
    210   uint64_t entry_valid;
    211   uint64_t attr_valid;
    212   uint32_t entry_valid_nsec;
    213 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    214   uint32_t attr_valid_nsec;
    215   struct fuse_attr attr;
    216 };
    217 struct fuse_forget_in {
    218 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    219   uint64_t nlookup;
    220 };
    221 struct fuse_forget_one {
    222   uint64_t nodeid;
    223 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    224   uint64_t nlookup;
    225 };
    226 struct fuse_batch_forget_in {
    227   uint32_t count;
    228 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    229   uint32_t dummy;
    230 };
    231 struct fuse_getattr_in {
    232   uint32_t getattr_flags;
    233 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    234   uint32_t dummy;
    235   uint64_t fh;
    236 };
    237 #define FUSE_COMPAT_ATTR_OUT_SIZE 96
    238 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    239 struct fuse_attr_out {
    240   uint64_t attr_valid;
    241   uint32_t attr_valid_nsec;
    242   uint32_t dummy;
    243 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    244   struct fuse_attr attr;
    245 };
    246 #define FUSE_COMPAT_MKNOD_IN_SIZE 8
    247 struct fuse_mknod_in {
    248 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    249   uint32_t mode;
    250   uint32_t rdev;
    251   uint32_t umask;
    252   uint32_t padding;
    253 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    254 };
    255 struct fuse_mkdir_in {
    256   uint32_t mode;
    257   uint32_t umask;
    258 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    259 };
    260 struct fuse_rename_in {
    261   uint64_t newdir;
    262 };
    263 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    264 struct fuse_rename2_in {
    265   uint64_t newdir;
    266   uint32_t flags;
    267   uint32_t padding;
    268 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    269 };
    270 struct fuse_link_in {
    271   uint64_t oldnodeid;
    272 };
    273 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    274 struct fuse_setattr_in {
    275   uint32_t valid;
    276   uint32_t padding;
    277   uint64_t fh;
    278 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    279   uint64_t size;
    280   uint64_t lock_owner;
    281   uint64_t atime;
    282   uint64_t mtime;
    283 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    284   uint64_t ctime;
    285   uint32_t atimensec;
    286   uint32_t mtimensec;
    287   uint32_t ctimensec;
    288 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    289   uint32_t mode;
    290   uint32_t unused4;
    291   uint32_t uid;
    292   uint32_t gid;
    293 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    294   uint32_t unused5;
    295 };
    296 struct fuse_open_in {
    297   uint32_t flags;
    298 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    299   uint32_t unused;
    300 };
    301 struct fuse_create_in {
    302   uint32_t flags;
    303 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    304   uint32_t mode;
    305   uint32_t umask;
    306   uint32_t padding;
    307 };
    308 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    309 struct fuse_open_out {
    310   uint64_t fh;
    311   uint32_t open_flags;
    312   uint32_t padding;
    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 #define FUSE_DEV_IOC_CLONE _IOR(229, 0, uint32_t)
    596 struct fuse_lseek_in {
    597   uint64_t fh;
    598 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    599   uint64_t offset;
    600   uint32_t whence;
    601   uint32_t padding;
    602 };
    603 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    604 struct fuse_lseek_out {
    605   uint64_t offset;
    606 };
    607 #endif
    608 /* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
    609