www.LinuxHowtos.org





io_setup

Section: System Calls (2)
Updated: 202-0-11
Index Return to Main Contents
 

NAME

io_setup - create an asynchronous I/O context  

LIBRARY

Standard C library (libc,~-lc)  

SYNOPSIS

#include <linux/aio_abi.h>
#include <sys/syscall.h>    /* Definition of SYS_* constants */
#include <unistd.h>
long~syscall(SYS_io_setup, unsigned int n, aio_context_t *ctx_idp);
 

DESCRIPTION

Note: you probably want to use the io_setup(3) wrapper function provided by libaio; see VERSIONS. The io_setup() system call creates an asynchronous I/O context suitable for concurrently processing n operations. The ctx_idp argument 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, *ctx_idp is filled in with the resulting handle.  

RETURN VALUE

On success, io_setup() returns 0. On error, -1 is returned, and errno is set to indicate the error.  

ERRORS

EAGAIN
The specified n exceeds the limit of available events, as defined in /proc/sys/fs/aio-max-nr (see proc_sys_fs(5)).
EFAULT
An invalid pointer is passed for ctx_idp.
EINVAL
*ctx_idp is not initialized to 0.
EINVAL
The specified n exceeds internal limits. n should be greater than 0.
ENOMEM
Insufficient kernel resources are available.
ENOSYS
io_setup() is not implemented on this architecture.
 

VERSIONS

libaio provides a wrapper function with the same name, but different prototype and return value. You probably want to use that wrapper.  

STANDARDS

Linux.  

HISTORY

Linux 2.5.  

SEE ALSO

io_cancel(2), io_destroy(2), io_getevents(2), io_submit(2), io_setup(3), aio(7)


 

Index

NAME
LIBRARY
SYNOPSIS
DESCRIPTION
RETURN VALUE
ERRORS
VERSIONS
STANDARDS
HISTORY
SEE ALSO