| /* | |
| * This file is auto-generated. Modifications will be lost. | |
| * | |
| * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/ | |
| * for more information. | |
| */ | |
| #ifndef __LINUX__AIO_ABI_H | |
| #define __LINUX__AIO_ABI_H | |
| #include <linux/types.h> | |
| #include <linux/fs.h> | |
| #include <asm/byteorder.h> | |
| typedef __kernel_ulong_t aio_context_t; | |
| enum { | |
| IOCB_CMD_PREAD = 0, | |
| IOCB_CMD_PWRITE = 1, | |
| IOCB_CMD_FSYNC = 2, | |
| IOCB_CMD_FDSYNC = 3, | |
| IOCB_CMD_POLL = 5, | |
| IOCB_CMD_NOOP = 6, | |
| IOCB_CMD_PREADV = 7, | |
| IOCB_CMD_PWRITEV = 8, | |
| }; | |
| #define IOCB_FLAG_RESFD (1 << 0) | |
| #define IOCB_FLAG_IOPRIO (1 << 1) | |
| struct io_event { | |
| __u64 data; | |
| __u64 obj; | |
| __s64 res; | |
| __s64 res2; | |
| }; | |
| struct iocb { | |
| __u64 aio_data; | |
| #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN) | |
| __u32 aio_key; | |
| __kernel_rwf_t aio_rw_flags; | |
| #elif defined(__BYTE_ORDER)?__BYTE_ORDER==__BIG_ENDIAN:defined(__BIG_ENDIAN) | |
| __kernel_rwf_t aio_rw_flags; | |
| __u32 aio_key; | |
| #else | |
| #error edit for your odd byteorder . | |
| #endif | |
| __u16 aio_lio_opcode; | |
| __s16 aio_reqprio; | |
| __u32 aio_fildes; | |
| __u64 aio_buf; | |
| __u64 aio_nbytes; | |
| __s64 aio_offset; | |
| __u64 aio_reserved2; | |
| __u32 aio_flags; | |
| __u32 aio_resfd; | |
| }; | |
| #undef IFBIG | |
| #undef IFLITTLE | |
| #endif |