1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
|
.TH io_queue_init 3 2017-12-10 "Linux" "Linux AIO"
.SH NAME
io_queue_init \- Initialize asynchronous io state machine
.SH SYNOPSIS
.nf
.B #include <errno.h>
.br
.sp
.B #include <libaio.h>
.br
.sp
.BI "int io_queue_init(int " maxevents ", io_context_t *" ctx ");"
.sp
.fi
.SH DESCRIPTION
.BR io_queue_init ()
attempts to create an aio context capable of receiving at least
.I maxevents
events.
.I ctx
must point to an aio context that already exists and must be initialized
to
.B 0
before the call.
If the operation is successful,
.I *cxtp
is filled with the resulting handle.
.SH "RETURN VALUES"
On success,
.BR io_queue_init ()
returns
.BR 0 .
Otherwise, -error is return, where
error is one of the Exxx values defined in the
.B ERRORS
section.
.SH ERRORS
.TP
.B EFAULT
.I iocbs
referenced data outside of the program's accessible address space.
.TP
.B EINVAL
.I maxevents
is <=
.B 0
or
.IR ctx
is an invalid memory location.
.TP
.B ENOSYS
Not implemented.
.TP
.B EAGAIN
.IR "maxevents > max_aio_reqs"
where
.I max_aio_reqs
is a tunable value.
.SH "SEE ALSO"
.BR io (3),
.BR io_cancel (3),
.BR io_fsync (3),
.BR io_getevents (3),
.BR io_prep_fsync (3),
.BR io_prep_pread (3),
.BR io_prep_pwrite (3),
.BR io_queue_release (3),
.BR io_queue_run (3),
.BR io_queue_wait (3),
.BR io_set_callback (3),
.BR io_submit (3),
.BR errno (3).
|