diff options
Diffstat (limited to 'arch/um/include/aio.h')
-rw-r--r-- | arch/um/include/aio.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/arch/um/include/aio.h b/arch/um/include/aio.h new file mode 100644 index 000000000000..83f16877ab08 --- /dev/null +++ b/arch/um/include/aio.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2004 Jeff Dike (jdike@karaya.com) | ||
3 | * Licensed under the GPL | ||
4 | */ | ||
5 | |||
6 | #ifndef AIO_H__ | ||
7 | #define AIO_H__ | ||
8 | |||
9 | enum aio_type { AIO_READ, AIO_WRITE, AIO_MMAP }; | ||
10 | |||
11 | struct aio_thread_reply { | ||
12 | void *data; | ||
13 | int err; | ||
14 | }; | ||
15 | |||
16 | struct aio_context { | ||
17 | enum aio_type type; | ||
18 | int fd; | ||
19 | void *data; | ||
20 | int len; | ||
21 | unsigned long long offset; | ||
22 | int reply_fd; | ||
23 | struct aio_context *next; | ||
24 | }; | ||
25 | |||
26 | #define INIT_AIO(aio_type, aio_fd, aio_data, aio_len, aio_offset, \ | ||
27 | aio_reply_fd) \ | ||
28 | { .type = aio_type, \ | ||
29 | .fd = aio_fd, \ | ||
30 | .data = aio_data, \ | ||
31 | .len = aio_len, \ | ||
32 | .offset = aio_offset, \ | ||
33 | .reply_fd = aio_reply_fd } | ||
34 | |||
35 | #define INIT_AIO_CONTEXT { .reply_fd = -1, \ | ||
36 | .next = NULL } | ||
37 | |||
38 | extern int submit_aio(struct aio_context *aio); | ||
39 | |||
40 | #endif | ||