2004-11-03 13:51:07 +00:00
|
|
|
.\" 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.
|
|
|
|
.\"
|
|
|
|
.de Sh \" Subsection
|
|
|
|
.br
|
|
|
|
.if t .Sp
|
|
|
|
.ne 5
|
|
|
|
.PP
|
|
|
|
\fB\\$1\fR
|
|
|
|
.PP
|
|
|
|
..
|
|
|
|
.de Sp \" Vertical space (when we can't use .PP)
|
|
|
|
.if t .sp .5v
|
|
|
|
.if n .sp
|
|
|
|
..
|
|
|
|
.de Ip \" List item
|
|
|
|
.br
|
|
|
|
.ie \\n(.$>=3 .ne \\$3
|
|
|
|
.el .ne 3
|
|
|
|
.IP "\\$1" \\$2
|
|
|
|
..
|
|
|
|
.TH "IO_SETUP" 2 "2003-02-21" "Linux 2.4" "Linux Programmer's Manual"
|
|
|
|
.SH NAME
|
|
|
|
io_setup \- Create an asynchronous I/O context
|
|
|
|
.SH "SYNOPSIS"
|
|
|
|
.ad l
|
|
|
|
.hy 0
|
|
|
|
|
|
|
|
#include <linux/aio.h>
|
|
|
|
.sp
|
|
|
|
.HP 15
|
|
|
|
long\ \fBio_setup\fR\ (unsigned\ \fInr_events\fR, aio_context_t\ \fI*ctxp\fR);
|
|
|
|
.ad
|
|
|
|
.hy
|
|
|
|
|
|
|
|
.SH "DESCRIPTION"
|
|
|
|
|
|
|
|
.PP
|
2005-10-19 06:54:38 +00:00
|
|
|
\fBio_setup\fR() creates an asynchronous I/O context capable of receiving
|
2004-11-03 13:51:07 +00:00
|
|
|
at least \fInr_events\fR.
|
|
|
|
\fIctxp\fR 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, \fI*ctxp\fR is filled in
|
|
|
|
with the resulting handle.
|
|
|
|
|
|
|
|
.SH "RETURN VALUE"
|
|
|
|
|
|
|
|
.PP
|
2005-10-19 06:54:38 +00:00
|
|
|
\fBio_setup\fR() returns 0 on success; otherwise, one of the errors
|
2004-11-03 13:51:07 +00:00
|
|
|
listed in the "Errors" section is returned.
|
|
|
|
|
|
|
|
.SH "ERRORS"
|
|
|
|
|
|
|
|
.TP
|
|
|
|
EINVAL
|
|
|
|
\fIctxp\fR is not initialized, or the specified \fInr_events\fR
|
|
|
|
exceeds internal limits. \fInr_events\fR should be greater than 0.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
EFAULT
|
|
|
|
An invalid pointer is passed for \fIctxp\fR.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
ENOMEM
|
|
|
|
Insufficient kernel resources are available.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
EAGAIN
|
|
|
|
The specified \fInr_events\fR exceeds the user's limit of available events.
|
|
|
|
|
|
|
|
.TP
|
|
|
|
ENOSYS
|
2005-10-19 06:54:38 +00:00
|
|
|
\fBio_setup\fR() is not implemented on this architecture.
|
2004-11-03 13:51:07 +00:00
|
|
|
|
|
|
|
.SH "CONFORMING TO"
|
|
|
|
|
|
|
|
.PP
|
2005-10-19 06:54:38 +00:00
|
|
|
\fBio_setup\fR() is Linux specific and should not be used in programs
|
2004-11-03 13:51:07 +00:00
|
|
|
that are intended to be portable.
|
|
|
|
|
|
|
|
.SH "VERSIONS"
|
|
|
|
|
|
|
|
.PP
|
|
|
|
The asynchronous I/O system calls first appeared in Linux 2.5, August 2002.
|
|
|
|
|
|
|
|
.SH "SEE ALSO"
|
|
|
|
|
|
|
|
.PP
|
|
|
|
\fBio_destroy\fR(2), \fBio_getevents\fR(2), \fBio_submit\fR(2), \fBio_cancel\fR(2).
|
|
|
|
|
|
|
|
.SH "NOTES"
|
|
|
|
|
|
|
|
.PP
|
|
|
|
The asynchronous I/O system calls were written by Benjamin LaHaise.
|
|
|
|
|
|
|
|
.SH AUTHOR
|
|
|
|
Kent Yoder.
|