blob: c92bc8f11be4d6ec36d9f4a9e6164ea832cfc81e [file] [log] [blame]
Dan Albert287553d2017-02-16 10:47:51 -08001/****************************************************************************
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 ****************************************************************************
11 ****************************************************************************/
12#ifndef __LINUX__AIO_ABI_H
13#define __LINUX__AIO_ABI_H
14
15#include <asm/byteorder.h>
16
17typedef unsigned long aio_context_t;
18
19enum {
20 IOCB_CMD_PREAD = 0,
21 IOCB_CMD_PWRITE = 1,
22 IOCB_CMD_FSYNC = 2,
23 IOCB_CMD_FDSYNC = 3,
24
25 IOCB_CMD_NOOP = 6,
26};
27
28struct io_event {
29 __u64 data;
30 __u64 obj;
31 __s64 res;
32 __s64 res2;
33};
34
35#ifdef __LITTLE_ENDIAN
36#define PADDED(x,y) x, y
37#elif defined(__BIG_ENDIAN)
38#define PADDED(x,y) y, x
39#else
40#error edit for your odd byteorder.
41#endif
42
43struct iocb {
44
45 __u64 aio_data;
46 __u32 PADDED(aio_key, aio_reserved1);
47
48 __u16 aio_lio_opcode;
49 __s16 aio_reqprio;
50 __u32 aio_fildes;
51
52 __u64 aio_buf;
53 __u64 aio_nbytes;
54 __s64 aio_offset;
55
56 __u64 aio_reserved2;
57 __u64 aio_reserved3;
58};
59
60#undef IFBIG
61#undef IFLITTLE
62
63#endif
64