Manpages

NAME

io_queue_init − Initialize asynchronous io state machine

SYNOPSIS

#include <errno.h>

#include <libaio.h>

int io_queue_init(int maxevents, io_context_t *ctx);

DESCRIPTION

io_queue_init Attempts to create an aio context capable of receiving at least maxevents events. ctx must point to an aio context that already exists and must be initialized to 0 before the call. If the operation is successful, *cxtp is filled with the resulting handle.

RETURN VALUES

On success, io_queue_init returns 0. Otherwise, -error is return, where error is one of the Exxx values defined in the Errors section.

ERRORS

EFAULT

iocbs referenced data outside of the program’s accessible address space.

EINVAL

maxevents is <= 0 or ctx is an invalid memory location.

ENOSYS

Not implemented.

EAGAIN

maxevents > max_aio_reqs where max_aio_reqs is a tunable value.

SEE ALSO

io(3), io_cancel(3), io_fsync(3), io_getevents(3), io_prep_fsync(3), io_prep_pread(3), io_prep_pwrite(3), io_queue_release(3), io_queue_run(3), io_queue_wait(3), io_set_callback(3), io_submit(3), errno(3).