io_setup

NAME

io_setup - Create an asynchronous I/O context

SYNOPSIS

#include <libaio.h>

int io_setup (int maxevents, io_context_t *ctxp);

DESCRIPTION

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.

RETURN VALUE

io_setup() returns 0 on success; otherwise, one of the errors listed in the "Errors" section is returned.

ERRORS

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 user's limit of available events.
ENOSYS
io_setup() is not implemented on this architecture.

CONFORMING TO

io_setup() is Linux specific and should not be used in programs that are intended to be portable.

VERSIONS

The asynchronous I/O system calls first appeared in Linux 2.5, August 2002.

SEE ALSO

io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2).

NOTES

The asynchronous I/O system calls were written by Benjamin LaHaise.

AUTHOR

Kent Yoder.