Name

io_setup — create an asynchronous I/O context

Synopsis

#include <libaio.h>
int io_setup( unsigned   nr_events,
  aio_context_t *  ctxp);
[Note] Note

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.79 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/.


  Copyright (C) 2003 Free Software Foundation, Inc.
This file is distributed according to the GNU General Public License.
See the file COPYING in the top level source directory for details.