aiocb
![]() |
![]() |
![]() |
![]() |
aiocb
Asynchronous I/O control block
Synopsis:
#include <aio.h>
struct aiocb {
int aio_fildes
off_t aio_offset
volatile void *aio_buf
size_t aio_nbytes
int aio_reqprio
struct sigevent aio_sigevent
int aio_lio_opcode
}
Description:
- aio_fildes
- The file descriptor to use in an asynchronous I/O operation.

The aio_* functions work with Transparent Distributed Processing; the file descriptor can be one that you've opened across Qnet. - aio_offset
- The file offset.
- aio_buf
- A pointer to a buffer.
- aio_nbytes
- The length of a transfer.
- aio_reqprio
- The request priority offset.
- aio_sigevent
- A pointer to a sigevent structure that specifies the signal number and value.
- aio_lio_opcode
- The operation to be performed; one of the following:
- 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.
Classification:
Caveats:
The first time you call an aio_* function, a thread pool is created, making your process multithreaded if it isn't already. The thread pool isn't destroyed until your process ends.
See also:
aio_cancel(), aio_error(), aio_fsync(), aio_read(), aio_return(), aio_suspend(), aio_write(), lio_listio()
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
