#ifndef _AIO_H #define _AIO_H #ifdef __cplusplus extern "C" { #endif #include #include #include #define __NEED_ssize_t #define __NEED_off_t #include struct aiocb { int aio_fildes, aio_lio_opcode, aio_reqprio; volatile void *aio_buf; size_t aio_nbytes; struct sigevent aio_sigevent; void *__td; int __lock[2]; volatile int __err; ssize_t __ret; off_t aio_offset; void *__next, *__prev; char __dummy4[32-2*sizeof(void *)]; }; #define AIO_CANCELED 0 #define AIO_NOTCANCELED 1 #define AIO_ALLDONE 2 #define LIO_READ 0 #define LIO_WRITE 1 #define LIO_NOP 2 #define LIO_WAIT 0 #define LIO_NOWAIT 1 int aio_read(struct aiocb *); int aio_write(struct aiocb *); int aio_error(const struct aiocb *); ssize_t aio_return(struct aiocb *); int aio_cancel(int, struct aiocb *); int aio_suspend(const struct aiocb *const [], int, const struct timespec *); int aio_fsync(int, struct aiocb *); int lio_listio(int, struct aiocb *__restrict const *__restrict, int, struct sigevent *__restrict); #if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE) #define aiocb64 aiocb #define aio_read64 aio_read #define aio_write64 aio_write #define aio_error64 aio_error #define aio_return64 aio_return #define aio_cancel64 aio_cancel #define aio_suspend64 aio_suspend #define aio_fsync64 aio_fsync #define lio_listio64 lio_listio #define off64_t off_t #endif #ifdef __cplusplus } #endif #endif