DOKK / manpages / debian 11 / libaio-dev / io_queue_init.3.en
io_queue_init(3) Linux AIO io_queue_init(3)

io_queue_init - Initialize asynchronous io state machine

#include <errno.h>

#include <libaio.h>

int io_queue_init(int maxevents, io_context_t *ctx);

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.

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

iocbs referenced data outside of the program's accessible address space.
maxevents is <= 0 or ctx is an invalid memory location.
Not implemented.
maxevents > max_aio_reqs where max_aio_reqs is a tunable value.

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

2019-07-23 Linux