.TH io_queue_init 3 2019-07-23 "Linux" "Linux AIO" .SH NAME io_queue_init \- Initialize asynchronous io state machine .SH SYNOPSIS .nf .B #include .br .sp .B #include .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).