1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
|
.\" Copyright (C) 2003 Free Software Foundation, Inc.
.\"
.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" This file is distributed according to the GNU General Public License.
.\" %%%LICENSE_END
.\"
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
.\"
.\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI, all rights reserved.
.\" Translated Mon Mar 8 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-03-25, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
.\" Updated 2013-07-15, Akihiro MOTOKI <amotoki@gmail.com>
.\"
.TH IO_SETUP 2 2013\-06\-21 Linux "Linux Programmer's Manual"
.SH 名前
io_setup \- 非同期 I/O コンテキストを作成する
.SH 書式
.nf
\fB#include <linux/aio_abi.h>\fP /* 必要な型の定義 */
\fBint io_setup(unsigned \fP\fInr_events\fP\fB, aio_context_t *\fP\fIctx_idp\fP\fB);\fP
.fi
\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
.SH 説明
.PP
\fBio_setup\fP() システムコールは、 \fInr_events\fP 個のイベントを
同時に実行に適した非同期 I/O (AIO) コンテキストの作成を行う。 \fIctx_idp\fP 引き数
は、すでに存在する AIO コンテキストを指していてはならず、
\fBio_setup\fP() の呼び出しの前に 0 に初期化されていなければならない。
AIO コンテキストの作成に成功すると、 \fI*ctx_idp\fP に作成された AIO
コンテキストへのポインターがセットされる。
.SH 返り値
成功した場合、 \fBio_setup\fP() は 0 を返す。 失敗時の返り値については、「注意」の節を参照すること。
.SH エラー
.TP
\fBEAGAIN\fP
指定された \fInr_events\fP がユーザーが使用できるイベント数の上限を越えている。イベント数の上限は
\fI/proc/sys/fs/aio\-max\-nr\fP で定義されている。
.TP
\fBEFAULT\fP
\fIctx_idp\fP に無効なポインターが指定されている。
.TP
\fBEINVAL\fP
\fIctx_idp\fP が初期化されていないか、指定された \fInr_events\fP が内部の
制限値を越えている。また、 \fInr_events\fP は 0 より大きい値に設定
すべきである。
.TP
\fBENOMEM\fP
必要なカーネルリソースを得られない。
.TP
\fBENOSYS\fP
\fBio_setup\fP() がこのアーキテクチャーでは実装されていない。
.SH バージョン
.PP
非同期 I/O システムコールは Linux 2.5 で初めて登場した。
.SH 準拠
.PP
\fBio_setup\fP() は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
.SH 注意
.\" http://git.fedorahosted.org/git/?p=libaio.git
glibc はこのシステムコールのラッパー関数を提供していない。
\fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。
しかし、たいていは、このシステムコールを呼び出したいのではなく、
\fIlibaio\fP が提供している \fBio_setup\fP ラッパー関数を呼び出したい
場合がほとんどであろう。
.\" But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
.\" the system call.
\fIlibaio\fP のラッパー関数では \fIctx_idp\fP 引き数に別の型
(\fIio_context_t\ *\fP) が使われることに注意すること。
また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの
慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列
挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。
\fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー
通知の慣習に したがってものとなり、エラーの場合には \-1 が返り、
\fIerrno\fP にエラーを示す (正の) 値が設定される。
.SH 関連項目
.\" .SH AUTHOR
.\" Kent Yoder.
\fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_submit\fP(2),
\fBaio\fP(7)
.SH この文書について
この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。
|