1 .\" Copyright (C) 2003 Free Software Foundation, Inc.
2 .\" This file is distributed according to the GNU General Public License.
3 .\" See the file COPYING in the top level source directory for details.
5 .\" .de Sh \" Subsection
13 .\" .de Sp \" Vertical space (when we can't use .PP)
17 .\" .de Ip \" List item
19 .\" .ie \n(.$>=3 .ne \$3
23 .\"*******************************************************************
25 .\" This file was generated with po4a. Translate the source file.
27 .\"*******************************************************************
28 .TH IO_SUBMIT 2 2008\-06\-18 Linux "Linux Programmer's Manual"
30 io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
35 .\" #include <linux/aio.h>
36 \fB#include <libaio.h>\fP
41 \fBint io_submit(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fInr\fP\fB, struct iocb **\fP\fIiocbpp\fP\fB);\fP
47 \fBio_submit\fP() は、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個の I/O リクエストを処理待ちとしてキューに追加する。
48 \fIiocbpp\fP は、AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の AIO 制御ブロックの配列になっていなければならない。
50 成功すると、 \fBio_submit\fP() は登録した \fIiocb\fP の個数を返す (\fInr\fP が 0 の場合は 0 を返す)。
51 失敗時の返り値については、「注意」の節を参照すること。
55 何個かの \fIiocb\fP をキューに入れるのに必要なリソースが得られない。
58 先頭の \fIiocb\fP に指定されたファイル・ディスクリプタが無効である。
61 データ構造の中に無効なデータを指しているものがある。
64 \fIctx_id\fP で指定された \fIaio_context\fP が無効である。 \fInr\fP が 0 未満である。 *iocbpp[0] の
65 \fIiocb\fP が適切に初期化されていないか、 指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して 無効である。
68 \fBio_submit\fP() はこのアーキテクチャでは実装されていない。
71 非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。
74 \fBio_submit\fP() は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
76 glibc はこのシステムコール用のラッパー関数を提供していない。
78 \fIlibaio\fP で \fBio_submit\fP() 用に提供されているラッパー関数は、エラーの通知が通常の C ライブラリの
79 慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。
80 \fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣習に したがってものとなり、エラーの場合には \-1 が返り、
81 \fIerrno\fP にエラーを示す (正の) 値が設定される。
83 \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2),
87 .\" The asynchronous I/O system calls were written by Benjamin LaHaise.