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 int reply_fd; 18 struct aio_context *next; 19 }; 20 21 #define INIT_AIO_CONTEXT { .reply_fd = -1, \ 22 .next = NULL } 23 24 extern int submit_aio(enum aio_type type, int fd, char *buf, int len, 25 unsigned long long offset, int reply_fd, 26 struct aio_context *aio); 27 28 #endif 29