1 #ifndef _AIO_H 2 #define _AIO_H 3 4 #include <time.h> 5 #include <signal.h> 6 #include <sys/cdefs.h> 7 #include <sys/types.h> 8 9 __BEGIN_DECLS 10 11 struct aiocb { 12 int aio_fildes; 13 off_t aio_offset; 14 volatile void *aio_buf; 15 size_t aio_nbytes; 16 int aio_reqprio; 17 struct sigevent aio_sigevent; 18 int aio_lio_opcode; 19 }; 20 21 enum { 22 AIO_ALLDONE, 23 AIO_CANCELED, 24 AIO_NOTCANCELED, 25 }; 26 27 enum { 28 LIO_WAIT, 29 LIO_NOWAIT, 30 }; 31 32 enum { 33 LIO_NOP, 34 LIO_READ, 35 LIO_WRITE, 36 }; 37 38 int aio_read(struct aiocb *); 39 int aio_write(struct aiocb *); 40 int aio_fsync(int, struct aiocb *); 41 int aio_error(const struct aiocb *); 42 ssize_t aio_return(struct aiocb *); 43 int aio_suspend(const struct aiocb * const[], int, const struct timespec *); 44 int aio_cancel(int, struct aiocb *); 45 int lio_listio(int, struct aiocb *restrict const[restrict], int, 46 struct sigevent *restrict); 47 48 __END_DECLS 49 50 #endif 51 52