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

NAME

       io_setup - Create an asynchronous I/O context

SYNOPSIS

       #include <linux/aio.h>

       long io_setup (unsigned nr_events, aio_context_t *ctxp);

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; otherwise, one of the errors listed in
       the "Errors" section is returned.

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.

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.