aio.h - asynchronous input and output (REALTIME)
[AIO] #include <aio.h>
The <aio.h> header shall define the aiocb structure which shall include at least the following members:
int aio_fildes File descriptor. off_t aio_offset File offset. volatile void *aio_buf Location of buffer. size_t aio_nbytes Length of transfer. int aio_reqprio Request priority offset. struct sigevent aio_sigevent Signal number and value. int aio_lio_opcode Operation to be performed.This header shall also include the following constants:
- AIO_ALLDONE
- A return value indicating that none of the requested operations could be canceled since they are already complete.
- AIO_CANCELED
- A return value indicating that all requested operations have been canceled.
- AIO_NOTCANCELED
- A return value indicating that some of the requested operations could not be canceled since they are in progress.
- LIO_NOP
- A lio_listio() element operation option indicating that no transfer is requested.
- LIO_NOWAIT
- A lio_listio() synchronization operation indicating that the calling thread is to continue execution while the lio_listio() operation is being performed, and no notification is given when the operation is complete.
- LIO_READ
- A lio_listio() element operation option requesting a read.
- LIO_WAIT
- A lio_listio() synchronization operation indicating that the calling thread is to suspend until the lio_listio() operation is complete.
- LIO_WRITE
- A lio_listio() element operation option requesting a write.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
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);Inclusion of the <aio.h> header may make visible symbols defined in the headers <fcntl.h>, <signal.h>, <sys/types.h>, and <time.h>.
None.
None.
None.
<fcntl.h>, <signal.h>, <sys/types.h>, <time.h>, the System Interfaces volume of IEEE Std 1003.1-2001, fsync(), lseek(), read(), write()
First released in Issue 5. Included for alignment with the POSIX Realtime Extension.
The <aio.h> header is marked as part of the Asynchronous Input and Output option.
The description of the constants is expanded.
The restrict keyword is added to the prototype for lio_listio().