Provided by: manpages-dev_2.77-1_all bug

NAME

       io_setup - create an asynchronous I/O context

SYNOPSIS

       #include <libaio.h>

       int io_setup(unsigned nr_events, aio_context_t *ctxp);

       Link with -laio.

DESCRIPTION

       io_setup()  creates an asynchronous I/O context capable of receiving at
       least nr_events.  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;  on failure, it returns one of the
       errors listed under ERRORS.

ERRORS

       EINVAL ctxp is not initialized,  or  the  specified  nr_events  exceeds
              internal limits. nr_events should be greater than 0.

       EFAULT An invalid pointer is passed for ctxp.

       ENOMEM Insufficient kernel resources are available.

       EAGAIN The  specified  nr_events  exceeds the user’s limit of available
              events.

       ENOSYS io_setup() is not implemented on this architecture.

VERSIONS

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

CONFORMING TO

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

SEE ALSO

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

COLOPHON

       This page is part of release 2.77 of the Linux  man-pages  project.   A
       description  of  the project, and information about reporting bugs, can
       be found at http://www.kernel.org/doc/man-pages/.