diff --git a/include/aio.h b/include/aio.h new file mode 100644 index 0000000..3590c83 --- /dev/null +++ b/include/aio.h @@ -0,0 +1,42 @@ +#ifndef _AIO_H +#define _AIO_H + +#include +#include +#include +#include +#include +#include + +struct aiocb { + int aio_fildes; + off_t aio_offset; + volatile void * aio_buf; + size_t aio_nbytes; + int aio_reqprio; + struct sigevent aio_sigevent; + int aio_lio_opcode; +}; + +#define AIO_ALLDONE 0 +#define AIO_CANCELLED 1 +#define AIO_NOTCANCELLED 2 + +#define LIO_NOP 1 +#define LIO_READ 2 +#define LIO_WRITE 3 + +#define LIO_NOWAIT 1 +#define LIO_WAIT 2 + +int aio_cancel(int, struct aiocb *); +int aio_error(const struct aiocb *); +int aio_fsync(int, struct aiocb *); +int aio_read(struct aiocb *); +ssize_t aio_return (struct aiocb *); +int aio_suspend(const struct aiocb * const [], int, const struct timespec *); +int aio_write(struct aiocb *); +int lio_listio(int, struct aiocb * restrict const [restrict], int, + struct sigevent * restrict); + +#endif \ No newline at end of file