io_queue_init (2)
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).