AIO.H(7) Miscellaneous Information Manual AIO.H(7)

aio.hasynchronous input and output (REALTIME)


#include <aio.h>

The <aio.h> header shall define the 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:

A return value indicating that none of the requested operations could be canceled since they are already complete.
A return value indicating that all requested operations have been canceled.

A return value indicating that some of the requested operations could not be canceled since they are in progress.
A lio_listio () element operation option indicating that no transfer is requested.
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.
A lio_listio () element operation option requesting a read.
A lio_listio () synchronization operation indicating that the calling thread is to suspend until the lio_listio () operation is complete.
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 (“POSIX.1”), fsync(3), lseek(3), read(3), write(3)

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 keyword is added to the prototype for lio_listio(3).

footer end

December 6, 2001 posix.fail