from small one page howto to huge articles all in one place
Last additions:
May 25th. 2007:
April, 26th. 2006:
|
You are here: manpages
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
-
|