Node:Asynchronous Reads/Writes, Next:Status of AIO Operations, Up:Asynchronous I/O
int aio_read (struct aiocb *aiocbp) | Function |
This function initiates an asynchronous read operation. It
immediately returns after the operation was enqueued or when an
error was encountered.
The first If prioritized I/O is supported by the platform the
The calling process is notified about the termination of the read
request according to the When
If
When the sources are compiled with |
int aio_read64 (struct aiocb *aiocbp) | Function |
This function is similar to the aio_read function. The only
difference is that on 32 bit machines, the file descriptor should
be opened in the large file mode. Internally, aio_read64 uses
functionality equivalent to lseek64 (see File Position Primitive) to position the file descriptor correctly for the reading,
as opposed to lseek functionality used in aio_read .
When the sources are compiled with |
To write data asynchronously to a file, there exists an equivalent pair of functions with a very similar interface.
int aio_write (struct aiocb *aiocbp) | Function |
This function initiates an asynchronous write operation. The function
call immediately returns after the operation was enqueued or if before
this happens an error was encountered.
The first If prioritized I/O is supported by the platform, the
The calling process is notified about the termination of the read
request according to the When
In the case
When the sources are compiled with |
int aio_write64 (struct aiocb *aiocbp) | Function |
This function is similar to the aio_write function. The only
difference is that on 32 bit machines the file descriptor should
be opened in the large file mode. Internally aio_write64 uses
functionality equivalent to lseek64 (see File Position Primitive) to position the file descriptor correctly for the writing,
as opposed to lseek functionality used in aio_write .
When the sources are compiled with |
Besides these functions with the more or less traditional interface,
POSIX.1b also defines a function which can initiate more than one
operation at a time, and which can handle freely mixed read and write
operations. It is therefore similar to a combination of readv
and
writev
.
int lio_listio (int mode, struct aiocb *const list[], int nent, struct sigevent *sig) | Function |
The lio_listio function can be used to enqueue an arbitrary
number of read and write requests at one time. The requests can all be
meant for the same file, all for different files or every solution in
between.
The other members of each element of the array pointed to by
The mode argument determines how If mode is In case mode is Possible values for
If the mode parameter is When the sources are compiled with |
int lio_listio64 (int mode, struct aiocb *const list, int nent, struct sigevent *sig) | Function |
This function is similar to the lio_listio function. The only
difference is that on 32 bit machines, the file descriptor should
be opened in the large file mode. Internally, lio_listio64 uses
functionality equivalent to lseek64 (see File Position Primitive) to position the file descriptor correctly for the reading or
writing, as opposed to lseek functionality used in
lio_listio .
When the sources are compiled with |