2005-09-04 06:57:45 +08:00
|
|
|
/*
|
|
|
|
* Copyright (C) 2004 Jeff Dike (jdike@karaya.com)
|
|
|
|
* Licensed under the GPL
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef AIO_H__
|
|
|
|
#define AIO_H__
|
|
|
|
|
|
|
|
enum aio_type { AIO_READ, AIO_WRITE, AIO_MMAP };
|
|
|
|
|
|
|
|
struct aio_thread_reply {
|
|
|
|
void *data;
|
|
|
|
int err;
|
|
|
|
};
|
|
|
|
|
|
|
|
struct aio_context {
|
|
|
|
int reply_fd;
|
|
|
|
struct aio_context *next;
|
|
|
|
};
|
|
|
|
|
|
|
|
#define INIT_AIO_CONTEXT { .reply_fd = -1, \
|
|
|
|
.next = NULL }
|
|
|
|
|
2005-10-11 11:10:32 +08:00
|
|
|
extern int submit_aio(enum aio_type type, int fd, char *buf, int len,
|
|
|
|
unsigned long long offset, int reply_fd,
|
|
|
|
struct aio_context *aio);
|
2005-09-04 06:57:45 +08:00
|
|
|
|
|
|
|
#endif
|