29 lines
530 B
C
29 lines
530 B
C
|
/*
|
||
|
* 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 }
|
||
|
|
||
|
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);
|
||
|
|
||
|
#endif
|