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 9enum aio_type { AIO_READ, AIO_WRITE, AIO_MMAP }; 10 11struct aio_thread_reply { 12 void *data; 13 int err; 14}; 15 16struct 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 24extern 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