xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/aio_abi.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef __LINUX__AIO_ABI_H
8*8d67ca89SAndroid Build Coastguard Worker #define __LINUX__AIO_ABI_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/fs.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <asm/byteorder.h>
12*8d67ca89SAndroid Build Coastguard Worker typedef __kernel_ulong_t aio_context_t;
13*8d67ca89SAndroid Build Coastguard Worker enum {
14*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_PREAD = 0,
15*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_PWRITE = 1,
16*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_FSYNC = 2,
17*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_FDSYNC = 3,
18*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_POLL = 5,
19*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_NOOP = 6,
20*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_PREADV = 7,
21*8d67ca89SAndroid Build Coastguard Worker   IOCB_CMD_PWRITEV = 8,
22*8d67ca89SAndroid Build Coastguard Worker };
23*8d67ca89SAndroid Build Coastguard Worker #define IOCB_FLAG_RESFD (1 << 0)
24*8d67ca89SAndroid Build Coastguard Worker #define IOCB_FLAG_IOPRIO (1 << 1)
25*8d67ca89SAndroid Build Coastguard Worker struct io_event {
26*8d67ca89SAndroid Build Coastguard Worker   __u64 data;
27*8d67ca89SAndroid Build Coastguard Worker   __u64 obj;
28*8d67ca89SAndroid Build Coastguard Worker   __s64 res;
29*8d67ca89SAndroid Build Coastguard Worker   __s64 res2;
30*8d67ca89SAndroid Build Coastguard Worker };
31*8d67ca89SAndroid Build Coastguard Worker struct iocb {
32*8d67ca89SAndroid Build Coastguard Worker   __u64 aio_data;
33*8d67ca89SAndroid Build Coastguard Worker #if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
34*8d67ca89SAndroid Build Coastguard Worker   __u32 aio_key;
35*8d67ca89SAndroid Build Coastguard Worker   __kernel_rwf_t aio_rw_flags;
36*8d67ca89SAndroid Build Coastguard Worker #elif defined(__BYTE_ORDER)?__BYTE_ORDER==__BIG_ENDIAN:defined(__BIG_ENDIAN)
37*8d67ca89SAndroid Build Coastguard Worker   __kernel_rwf_t aio_rw_flags;
38*8d67ca89SAndroid Build Coastguard Worker   __u32 aio_key;
39*8d67ca89SAndroid Build Coastguard Worker #else
40*8d67ca89SAndroid Build Coastguard Worker #error edit for your odd byteorder .
41*8d67ca89SAndroid Build Coastguard Worker #endif
42*8d67ca89SAndroid Build Coastguard Worker   __u16 aio_lio_opcode;
43*8d67ca89SAndroid Build Coastguard Worker   __s16 aio_reqprio;
44*8d67ca89SAndroid Build Coastguard Worker   __u32 aio_fildes;
45*8d67ca89SAndroid Build Coastguard Worker   __u64 aio_buf;
46*8d67ca89SAndroid Build Coastguard Worker   __u64 aio_nbytes;
47*8d67ca89SAndroid Build Coastguard Worker   __s64 aio_offset;
48*8d67ca89SAndroid Build Coastguard Worker   __u64 aio_reserved2;
49*8d67ca89SAndroid Build Coastguard Worker   __u32 aio_flags;
50*8d67ca89SAndroid Build Coastguard Worker   __u32 aio_resfd;
51*8d67ca89SAndroid Build Coastguard Worker };
52*8d67ca89SAndroid Build Coastguard Worker #undef IFBIG
53*8d67ca89SAndroid Build Coastguard Worker #undef IFLITTLE
54*8d67ca89SAndroid Build Coastguard Worker #endif
55