.\" Copyright (C) 2003 Free Software Foundation, Inc.
+.\"
+.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
.\" This file is distributed according to the GNU General Public License.
-.\" See the file COPYING in the top level source directory for details.
+.\" %%%LICENSE_END
.\"
-.\" .de Sh \" Subsection
-.\" .br
-.\" .if t .Sp
-.\" .ne 5
-.\" .PP
-.\" \fB\$1\fP
-.\" .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
-.\" ..
.\"*******************************************************************
.\"
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH IO_SUBMIT 2 2008\-06\-18 Linux "Linux Programmer's Manual"
+.TH IO_SUBMIT 2 2012\-07\-13 Linux "Linux Programmer's Manual"
.SH 名前
io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
.SH 書式
.nf
-.\" .ad l
-.\" .hy 0
-.\" #include <linux/aio.h>
-\fB#include <libaio.h>\fP
-.sp
-.\" .HP 16
-.\" .ad
-.\" .hy
+\fB#include <linux/aio_abi.h>\fP /* 必要な型の定義 */
+
\fBint io_submit(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fInr\fP\fB, struct iocb **\fP\fIiocbpp\fP\fB);\fP
-.sp
-\fI\-laio\fP とリンクする。
.fi
+
+\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
.SH 説明
.PP
-\fBio_submit\fP() は、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個の I/O リクエストを処理待ちとしてキューに追加する。
-\fIiocbpp\fP は、AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の AIO 制御ブロックの配列になっていなければならない。
+\fBio_submit\fP() システムコールは、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個
+の I/O リクエストを処理待ちとしてキューに追加する。 \fIiocbpp\fP 引き数は、
+AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の AIO 制御ブロックの
+配列になっていなければならない。
.SH 返り値
成功すると、 \fBio_submit\fP() は登録した \fIiocb\fP の個数を返す (\fInr\fP が 0 の場合は 0 を返す)。
失敗時の返り値については、「注意」の節を参照すること。
データ構造の中に無効なデータを指しているものがある。
.TP
\fBEINVAL\fP
-\fIctx_id\fP で指定された \fIaio_context\fP が無効である。 \fInr\fP が 0 未満である。 *iocbpp[0] の
-\fIiocb\fP が適切に初期化されていないか、 指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して 無効である。
+\fIctx_id\fP で指定された AIO コンテキストが無効である。 \fInr\fP が 0 未満で
+ある。 \fI*iocbpp[0]\fP の \fIiocb\fP が適切に初期化されていないか、
+指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して 無効
+である。
.TP
\fBENOSYS\fP
\fBio_submit\fP() はこのアーキテクチャでは実装されていない。
.SH バージョン
.PP
-非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。
+非同期 I/O システム・コールは Linux 2.5 で初めて登場した。
.SH 準拠
.PP
\fBio_submit\fP() は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
.SH 注意
-glibc はこのシステムコール用のラッパー関数を提供していない。
+.\" http://git.fedorahosted.org/git/?p=libaio.git
+glibc はこのシステムコールのラッパー関数を提供していない。
+\fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。
+しかし、たいていは、このシステムコールを呼び出したいのではなく、
+ \fIlibaio\fP が提供している \fBio_submit\fP ラッパー関数を呼び出したい
+場合がほとんどであろう。
-\fIlibaio\fP で \fBio_submit\fP() 用に提供されているラッパー関数は、エラーの通知が通常の C ライブラリの
-慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。
-\fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣習に したがってものとなり、エラーの場合には \-1 が返り、
-\fIerrno\fP にエラーを示す (正の) 値が設定される。
+.\" But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
+.\" the system call.
+\fIlibaio\fP のラッパー関数では \fIctx_id\fP 引き数に別の型
+(\fIio_context_t\fP) が使われることに注意すること。
+また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの
+慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列
+挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。
+\fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通
+知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 \fIerrno\fP
+にエラーを示す (正の) 値が設定される。
.SH 関連項目
-.\" .SH "NOTES"
-.\" .PP
-.\" The asynchronous I/O system calls were written by Benjamin LaHaise.
.\" .SH AUTHOR
.\" Kent Yoder.
\fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2),
\fBaio\fP(7)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。