OSDN Git Service

c92bc8f11be4d6ec36d9f4a9e6164ea832cfc81e
[android-x86/prebuilt.git] / ndk / android-ndk-r4 / linux / platforms / android-5 / arch-arm / usr / include / linux / aio_abi.h
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  ****************************************************************************
11  ****************************************************************************/
12 #ifndef __LINUX__AIO_ABI_H
13 #define __LINUX__AIO_ABI_H
14
15 #include <asm/byteorder.h>
16
17 typedef unsigned long aio_context_t;
18
19 enum {
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
28 struct 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
43 struct 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