OSDN Git Service

長音記号の修正を release に反映
[linuxjm/LDP_man-pages.git] / release / man3 / aio_read.3
index 56ebd28..dab887a 100644 (file)
@@ -1,5 +1,6 @@
 .\" Copyright (c) 2003 Andries Brouwer (aeb@cwi.nl)
 .\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
 .\" This is free documentation; you can redistribute it and/or
 .\" modify it under the terms of the GNU General Public License as
 .\" published by the Free Software Foundation; either version 2 of
 .\" GNU General Public License for more details.
 .\"
 .\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
+.\"
+.\"*******************************************************************
+.\"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
 .\"
 .\" Japanese Version Copyright (c) 2004 Yuichi SATO
 .\"         all rights reserved.
 .\" Translated Mon Jul  5 00:46:45 JST 2004
 .\"         by Yuichi SATO <ysato444@yahoo.co.jp>
+.\" Updated 2012-04-30, Akihiro MOTOKI <amotoki@gmail.com>
+.\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
 .\"
-.TH AIO_READ 3 2003-11-14  "" "Linux Programmer's Manual"
-.SH Ì¾Á°
-aio_read \- ÈóƱ´ü¤ÇÆɤ߹þ¤à
-.SH ½ñ¼°
-.B "#include <aio.h>"
+.TH AIO_READ 3 2012\-05\-08 "" "Linux Programmer's Manual"
+.SH 名前
+aio_read \- 非同期で読み込む
+.SH 書式
+\fB#include <aio.h>\fP
 .sp
-.BI "int aio_read(struct aiocb *" aiocbp );
+\fBint aio_read(struct aiocb *\fP\fIaiocbp\fP\fB);\fP
 .sp
-\fI\-lrt\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
-.SH ÀâÌÀ
-.BR aio_read ()
-´Ø¿ô¤ÏÈóƱ´ü¤Î "n = read(fd, buf, count)" ¤ò¥ê¥¯¥¨¥¹¥È¤¹¤ë¡£
-¤³¤³¤Ç fd, buf, count ¤Ï¡¢¤½¤ì¤¾¤ì
-.IR aiocbp\->aio_fildes ,
-.IR aiocbp\->aio_buf ,
-.I aiocbp\->aio_nbytes
-¤ÇÍ¿¤¨¤é¤ì¤ë¡£
-ÊÖ¤êÃÍ (return status) n ¤Ï¡¢´°Î»»þ¤Ë
-.BR aio_return (3)
-¤ò»È¤Ã¤Æ¼èÆÀ¤Ç¤­¤ë¡£
+\fI\-lrt\fP でリンクする。
+.SH 説明
+\fBaio_read\fP() 関数は、\fIaiocbp\fP が指すバッファーに記載された I/O リクエストを
+キューに入れる。この関数は \fBread\fP(2) の非同期版である。
+呼び出し
+
+    read(fd, buf, count)
+
+の各引き数は \fIaiocb\fP が指す構造体の \fIaio_fildes\fP, \fIaio_buf\fP, \fIaio_nbytes\fP
+に (この順序で) 対応する (\fIaiocb\fP 構造体の説明は \fBaio\fP(7) を参照)。
 .LP
-¥Ç¡¼¥¿¤Ï¡¢¥«¥ì¥ó¥È¤Î¥Õ¥¡¥¤¥ë°ÌÃ֤˴ط¸¤Ê¤¯¡¢ÀäÂÐ¥Õ¥¡¥¤¥ë¥ª¥Õ¥»¥Ã¥È
-.I aiocbp\->aio_offset
-¤ò³«»ÏÅÀ¤È¤·¤ÆÆɤ߹þ¤Þ¤ì¤ë¡£
-¤³¤Î¥ê¥¯¥¨¥¹¥È¸å¤Î¡¢¥«¥ì¥ó¥È¤Î¥Õ¥¡¥¤¥ë°ÌÃ֤ϵ¬Äꤵ¤ì¤Æ¤¤¤Ê¤¤¡£
+データの読み込みは、カレントのファイルオフセットに関係なく、
+絶対ファイルオフセット \fIaiocbp\->aio_offset\fP を開始点として行われる。
+呼び出しの後のカレントのファイルオフセットは規定されていない。
 .LP
-¡ÖÈóƱ´ü¡×¤È¤Ï¡Ö¥ê¥¯¥¨¥¹¥È¤¬¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤¿¤é¡¢¤³¤Î¸Æ¤Ó½Ð¤·¤Ï¤¹¤°¤ËÊÖ¤ë¡×
-¤È¤¤¤¦¤³¤È¤Ç¤¢¤ë¡£
-¸Æ¤Ó½Ð¤·¤«¤éÌá¤Ã¤¿»þ¤Ë¡¢Æɤ߹þ¤ß¤Ï´°Î»¤·¤Æ¤¤¤ë¤«¤âÃΤì¤Ê¤¤¤·¡¢
-´°Î»¤·¤Æ¤¤¤Ê¤¤¤«¤âÃΤì¤Ê¤¤¡£
-.BR aio_error (3)
-¤ò»È¤¦¤³¤È¤Ç´°Î»¤·¤¿¤«¤ò¥Æ¥¹¥È¤Ç¤­¤ë¡£
+「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」
+ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れないし、
+完了していないかも知れない。 \fBaio_error\fP(3) を使うことで完了したかをテストできる。
+完了した I/O 操作の返り値は \fBaio_return\fP(3) で取得できる。
+\fIaiocbp\->aio_sigevent\fP を適切に設定することで、
+I/O 完了の非同期通知は受けることもできる。詳細は \fBsigevent\fP(7) を参照。
 .LP
-.B _POSIX_PRIORITIZED_IO
-¤¬ÄêµÁ¤µ¤ì¤Æ¤¤¤Æ¡¢
-¤«¤Ä¥Õ¥¡¥¤¥ë¤¬¤³¤ì¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤ë¾ì¹ç¡¢
-ÈóƱ´üÁàºî¤Ï¸Æ¤Ó½Ð¤·¤¿¥×¥í¥»¥¹¤ÎÍ¥ÀèÅÙ¤«¤é
-.I aiocbp\->aio_reqprio
-¤ò°ú¤¤¤¿Í¥ÀèÅÙ¤ÇÅÐÏ¿ (submit) ¤µ¤ì¤ë¡£
+\fB_POSIX_PRIORITIZED_IO\fP が定義されていて、 かつファイルがこれをサポートしている場合、
+非同期操作は呼び出したプロセスの優先度から \fIaiocbp\->aio_reqprio\fP を引いた優先度で登録 (submit) される。
 .LP
-¥Õ¥£¡¼¥ë¥É
-.I aiocbp\->aio_lio_opcode
-¤Ï̵»ë¤µ¤ì¤ë¡£
+フィールド \fIaiocbp\->aio_lio_opcode\fP は無視される。
 .LP
-ºÇÂ祪¥Õ¥»¥Ã¥È¤òĶ¤¨¤¿Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤«¤é¤Ï¡¢²¿¤â¥Ç¡¼¥¿¤¬Æɤ߹þ¤Þ¤ì¤Ê¤¤¡£
-.SH ÊÖ¤êÃÍ
-À®¸ù¤·¤¿¾ì¹ç¡¢0 ¤¬ÊÖ¤µ¤ì¤ë¡£
-¥¨¥é¡¼¤Î¾ì¹ç¡¢¥ê¥¯¥¨¥¹¥È¤Ï¥­¥å¡¼¤ËÆþ¤ì¤é¤ì¤º¡¢
-\-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢
-.I errno
-¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£
-¥¨¥é¡¼¤ÏºÇ½é¤Ë¸¡ÃΤµ¤ì¤¿¸å¤Ç¡¢
-(¾õÂÖ \-1 ¤òÊÖ¤¹)
-.BR aio_return (3)
-¤È
-.RI ( errno
-¤Ç¼èÆÀ¤Ç¤­¤ë
-.B EBADF
-¤Î¤è¤¦¤Ê¥¨¥é¡¼¾õÂÖ¤òÊÖ¤¹)
-.BR aio_error (3)
-¤ÇÊó¹ð¤µ¤ì¤ë¤À¤í¤¦¡£
-.SH ¥¨¥é¡¼
-.TP
-.B EAGAIN
-¥ê¥½¡¼¥¹¤¬Â­¤ê¤Ê¤¤¡£
-.TP
-.B EBADF
-.I aio_fildes
-¤ÏÆɤ߹þ¤ß¤Î¤¿¤á¤Ë¥ª¡¼¥×¥ó¤µ¤ì¤¿Í­¸ú¤Ê¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤¤¡£
-.TP
-.B EINVAL
-.IR aio_offset ,
-.IR aio_reqprio ,
-.I aio_nbytes
-¤Î¤¦¤Á 1 ¤Ä°Ê¾å¤¬Ìµ¸ú¤Ç¤¢¤ë¡£
-.TP
-.B ENOSYS
-¤³¤Î´Ø¿ô¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
-.TP
-.B EOVERFLOW
-¥Õ¥¡¥¤¥ë¤¬Ä̾ï¤Î¥Õ¥¡¥¤¥ë¤Ç¤¢¤ê¡¢
-¥Õ¥¡¥¤¥ë¤Î½ªÃ¼¤ÎÁ°¤«¤éÆɤ߹þ¤ß¤ò³«»Ï¤·¤Æ¡¢
-¾¯¤Ê¤¯¤È¤â 1 ¥Ð¥¤¥È¤òÆɤ߹þ¤â¤¦¤È¤·¤¿¡£
-¤·¤«¤·³«»Ï°ÌÃÖ¤¬¤³¤Î¥Õ¥¡¥¤¥ë¤ÎºÇÂ祪¥Õ¥»¥Ã¥È¤òĶ¤¨¤Æ¤¤¤¿¡£
-.SH ½àµò
-POSIX.1-2001.
-.SH Ãí°Õ
-»ÈÍѤ¹¤ëÁ°¤ËÀ©¸æ¥Ö¥í¥Ã¥¯¤ò 0 ¤Ë¤·¤Æ¤ª¤¯¤Î¤Ï¡¢¤è¤¤¹Í¤¨¤Ç¤¢¤ë¡£
-¤³¤ÎÀ©¸æ¥Ö¥í¥Ã¥¯¤Ï¡¢Æɤ߹þ¤ßÁàºî¤¬¿Ê¹Ô¤·¤Æ¤¤¤ë´Ö¤ÏÊѹ¹¤¹¤Ù¤­¤Ç¤Ê¤¤¡£
-Æɤ߹þ¤Þ¤ì¤ë¥Ð¥Ã¥Õ¥¡Îΰè¤Ï
-.\" ¤Þ¤¿¤ÏÁàºî¤ÎÀ©¸æ¥Ö¥í¥Ã¥¯¤Ï
-Áàºî¤ÎºÇÃæ¤Ë¥¢¥¯¥»¥¹¤¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£
-¤µ¤â¤Ê¤¤¤Èµ¯¤³¤ë·ë²Ì¤¬ÉÔÄê¤Ë¤Ê¤ë¡£
-¤³¤ì¤Ë´Þ¤Þ¤ì¤ë¥á¥â¥êÎΰè¤Ï¡¢Í­¸ú¤Ê¤Þ¤Þ¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_return (3),
-.BR aio_suspend (3),
-.BR aio_write (3)
+最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。
+.SH 返り値
+成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、
+\-1 が返されて、 \fIerrno\fP が適切に設定される。 エラーは後でのみ検知された場合は、
+エラーは \fBaio_return\fP(3) と \fBaio_error\fP(3) 経由で報告されることになる
+(\fBaio_return\fP(3) は状態 \-1 を返し、\fBaio_error\fP(3) でエラー状態\(em
+\fIerrno\fP で取得できる \fBEBADF\fP のようなエラー状態が返される)。
+.SH エラー
+.TP 
+\fBEAGAIN\fP
+リソースが足りない。
+.TP 
+\fBEBADF\fP
+\fIaio_fildes\fP は読み込みのためにオープンされた有効なファイルディスクリプターでない。
+.TP 
+\fBEINVAL\fP
+\fIaio_offset\fP, \fIaio_reqprio\fP, \fIaio_nbytes\fP のうち 1 つ以上が無効である。
+.TP 
+\fBENOSYS\fP
+\fBaio_read\fP() は実装されていない。
+.TP 
+\fBEOVERFLOW\fP
+ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 少なくとも 1 バイトを読み込もうとした。
+しかし開始位置がこのファイルの最大オフセットを超えていた。
+.SH バージョン
+The \fBaio_read\fP() 関数は glibc 2.1 以降で利用できる。
+.SH 準拠
+POSIX.1\-2001, POSIX.1\-2008.
+.SH 注意
+.\" or the control block of the operation
+使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロックは、読み込み操作が進行している間は変更すべきでない。
+読み込まれるバッファー領域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。
+これに含まれるメモリー領域は、有効なままにしなければならない。
+
+同じ \fIaiocb\fP 構造体を指定して同時に複数の I/O 操作を行った場合、
+どのような結果になるかは不定である。
+.SH 例
+\fBaio\fP(7) を参照。
+.SH 関連項目
+\fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_return\fP(3),
+\fBaio_suspend\fP(3), \fBaio_write\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。