io_setup - Create an asynchronous I/O context
Author
#include <libaio.h>
int io_setup (int maxevents, io_context_t *ctxp);
io_setup creates an asynchronous I/O context capable of receiving at least maxevents. ctxp must not point to an AIO context that already exists, and must be initialized to 0 prior to the call. On successful creation of the AIO context, *ctxp is filled in with the resulting handle.
io_setup returns 0 on success; otherwise, one of the errors listed in the "Errors" section is returned.
EINVAL ctxp is not initialized, or the specified maxevents exceeds internal limits. maxevents should be greater than 0.
EFAULT An invalid pointer is passed for ctxp.
ENOMEM Insufficient kernel resources are available.
EAGAIN The specified maxevents exceeds the users limit of available events.
ENOSYS io_setup is not implemented on this architecture.
io_setup is Linux specific and should not be used in programs that are intended to be portable.
The asynchronous I/O system calls first appeared in Linux 2.5, August 2002.
io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2).
The asynchronous I/O system calls were written by Benjamin LaHaise.
Kent Yoder.
| Linux 2.4 | IO_SETUP (2) | 2003-02-21 |