OSDN Git Service

Revert the following change to correct the mail address of the committer
[linuxjm/jm.git] / manual / LDP_man-pages / release / man2 / io_submit.2
index cf9dbef..2964238 100644 (file)
 .\" 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
+.\"
+.\"*******************************************************************
+.\"
+.\" 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-27, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.\" .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
-.\" ..
-.TH IO_SUBMIT 2 2008-06-18 "Linux" "Linux Programmer's Manual"
-.SH Ì¾Á°
-io_submit \- ÈóƱ´ü I/O ¥Ö¥í¥Ã¥¯¤ò½èÍýÂÔ¤Á¥­¥å¡¼¤ËÅÐÏ¿¤¹¤ë
-.SH ½ñ¼°
+.TH IO_SUBMIT 2 2012\-07\-13 Linux "Linux Programmer's Manual"
+.SH 名前
+io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
+.SH 書式
 .nf
-.\" .ad l
-.\" .hy 0
-.B #include <libaio.h>
-.\" #include <linux/aio.h>
-.sp
-.\" .HP 16
-.BI "int io_submit(aio_context_t " ctx_id ", long " nr \
-", struct iocb **" iocbpp );
-.\" .ad
-.\" .hy
-.sp
-\fI\-laio\fP ¤È¥ê¥ó¥¯¤¹¤ë¡£
+\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
 .fi
-.SH ÀâÌÀ
+
+\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
+.SH 説明
 .PP
-.BR io_submit ()
-¤Ï¡¢AIO ¥³¥ó¥Æ¥­¥¹¥È \fIctx_id\fP ¤Ë \fInr\fP ¸Ä¤Î I/O
-¥ê¥¯¥¨¥¹¥È¤ò½èÍýÂÔ¤Á¤È¤·¤Æ¥­¥å¡¼¤ËÄɲ乤롣
-\fIiocbpp\fP ¤Ï¡¢AIO ¥³¥ó¥Æ¥­¥¹¥È \fIctx_id\fP ¤ËÅÐÏ¿¤µ¤ì¤ë \fInr\fP ¸Ä¤Î
-AIO À©¸æ¥Ö¥í¥Ã¥¯¤ÎÇÛÎó¤Ë¤Ê¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤¹¤ë¤È¡¢
-.BR io_submit ()
-¤ÏÅÐÏ¿¤·¤¿ \fIiocb\fP ¤Î¸Ä¿ô¤òÊÖ¤¹
-(\fInr\fP ¤¬ 0 ¤Î¾ì¹ç¤Ï 0 ¤òÊÖ¤¹)¡£
-¼ºÇÔ»þ¤ÎÊÖ¤êÃͤˤĤ¤¤Æ¤Ï¡¢¡ÖÃí°Õ¡×¤ÎÀá¤ò»²¾È¤¹¤ë¤³¤È¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EAGAIN
-²¿¸Ä¤«¤Î \fIiocb\fP ¤ò¥­¥å¡¼¤ËÆþ¤ì¤ë¤Î¤ËɬÍפʥ꥽¡¼¥¹¤¬ÆÀ¤é¤ì¤Ê¤¤¡£
-.TP
-.B EBADF
-ÀèƬ¤Î \fIiocb\fP ¤Ë»ØÄꤵ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬Ìµ¸ú¤Ç¤¢¤ë¡£
-.TP
-.B EFAULT
-¥Ç¡¼¥¿¹½Â¤¤ÎÃæ¤Ë̵¸ú¤Ê¥Ç¡¼¥¿¤ò»Ø¤·¤Æ¤¤¤ë¤â¤Î¤¬¤¢¤ë¡£
-.TP
-.B EINVAL
-\fIctx_id\fP ¤Ç»ØÄꤵ¤ì¤¿ \fIaio_context\fP ¤¬Ìµ¸ú¤Ç¤¢¤ë¡£
-\fInr\fP ¤¬ 0 Ì¤Ëþ¤Ç¤¢¤ë¡£
-*iocbpp[0] ¤Î \fIiocb\fP ¤¬Å¬Àڤ˽é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢
-»ØÄꤵ¤ì¤¿Áàºî¤¬¤½¤Î \fIiocb\fP Ãæ¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ËÂФ·¤Æ
-̵¸ú¤Ç¤¢¤ë¡£
-.TP
-.B ENOSYS
-.BR io_submit ()
-¤Ï¤³¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
-.SH ¥Ð¡¼¥¸¥ç¥ó
+\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 を返す)。
+失敗時の返り値については、「注意」の節を参照すること。
+.SH エラー
+.TP 
+\fBEAGAIN\fP
+何個かの \fIiocb\fP をキューに入れるのに必要なリソースが得られない。
+.TP 
+\fBEBADF\fP
+先頭の \fIiocb\fP に指定されたファイル・ディスクリプタが無効である。
+.TP 
+\fBEFAULT\fP
+データ構造の中に無効なデータを指しているものがある。
+.TP 
+\fBEINVAL\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 ¤Ç½é¤á¤ÆÅо줷¤¿¡£
-.SH ½àµò
+非同期 I/O システム・コールは Linux 2.5 で初めて登場した。
+.SH 準拠
 .PP
-.BR io_submit ()
-¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ê¡¢°Ü¿¢¤òÁÛÄꤷ¤¿¥×¥í¥°¥é¥à¤Ç
-»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-.SH Ãí°Õ
-glibc ¤Ï¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ëÍѤΥé¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£
+\fBio_submit\fP()  は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
+.SH 注意
+.\" http://git.fedorahosted.org/git/?p=libaio.git
+glibc はこのシステムコールのラッパー関数を提供していない。
+\fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。
+しかし、たいていは、このシステムコールを呼び出したいのではなく、
+ \fIlibaio\fP が提供している \fBio_submit\fP ラッパー関数を呼び出したい
+場合がほとんどであろう。
 
-.I libaio
-¤Ç
-.BR io_submit ()
-ÍѤËÄ󶡤µ¤ì¤Æ¤¤¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ï¡¢¥¨¥é¡¼¤ÎÄÌÃΤ¬Ä̾ï¤Î C ¥é¥¤¥Ö¥é¥ê¤Î
-´·½¬¤Ë¤·¤¿¤¬¤Ã¤Æ¤ª¤é¤º¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤ÏÉé¤Î¥¨¥é¡¼ÈÖ¹æ
-(¥¨¥é¡¼¤ÎÀá¤ËÎóµó¤µ¤ì¤Æ¤¤¤ëÃͤΰì¤Ä¤òÉé¤Ë¤·¤¿¤â¤Î) ¤¬ÊÖ¤êÃͤȤʤ롣
-.BR syscall (2)
-·Ðͳ¤Ç¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ë¤È¡¢ÊÖ¤êÃͤÏÄ̾ï¤Î¥¨¥é¡¼ÄÌÃΤδ·½¬¤Ë
-¤·¤¿¤¬¤Ã¤Æ¤â¤Î¤È¤Ê¤ê¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï \-1 ¤¬Ê֤ꡢ
-.I errno
-¤Ë¥¨¥é¡¼¤ò¼¨¤¹ (Àµ¤Î) Ãͤ¬ÀßÄꤵ¤ì¤ë¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR io_cancel (2),
-.BR io_destroy (2),
-.BR io_getevents (2),
-.BR io_setup (2)
-.\" .SH Ãí
-.\" .PP
-.\" ÈóƱ´ü I/O ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï Benjamin LaHaise ¤¬½ñ¤¤¤¿¡£
-.\" .SH Ãø¼Ô
+.\" 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 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.53 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。