Linux Blog

IO_SETUP

Section: Linux Programmer's Manual (2)
Updated: 2003-02-21
Index Return to Main Contents
 

NAME

io_setup - create an asynchronous I/O context  

SYNOPSIS

#include <libaio.h>

int 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; 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)


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
VERSIONS
CONFORMING TO
SEE ALSO