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.

Note: 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:

Classification:

POSIX 1003.1 AIO

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()