OSDN Git Service

(split) LDP: Release pages for LDP v3.39.
[linuxjm/LDP_man-pages.git] / release / man3 / aio_write.3
index 1b490e9..a2a6cf2 100644 (file)
 .\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
 .\" USA.
 .\"
-.\" Japanese Version Copyright (c) 2004 Yuichi SATO
-.\"         all rights reserved.
-.\" Translated Sat Jul 10 03:54:47 JST 2004
-.\"         by Yuichi SATO <ysato444@yahoo.co.jp>
+.\"*******************************************************************
 .\"
-.TH AIO_WRITE 3 2003-11-14  "" "Linux Programmer's Manual"
+.\" This file was generated with po4a. Translate the source file.
+.\"
+.\"*******************************************************************
+.TH AIO_WRITE 3 2010\-10\-02 "" "Linux Programmer's Manual"
 .SH 名前
 aio_write \- 非同期で書き込む
 .SH 書式
-.B "#include <aio.h>"
+\fB#include <aio.h>\fP
 .sp
-.BI "int aio_write(struct aiocb *" aiocbp );
+\fBint aio_write(struct aiocb *\fP\fIaiocbp\fP\fB);\fP
 .sp
 \fI\-lrt\fP でリンクする。
 .SH 説明
-.BR aio_write ()
-関数は非同期の "n = write(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)
-を使って取得できる。
+\fBaio_write\fP() 関数は、\fIaiocbp\fP が指すバッファに記載された I/O リクエストを
+キューに入れる。この関数は \fBwrite\fP(2) の非同期版である。
+呼び出し
+
+    write(fd, buf, count)
+
+の各引き数は \fIaiocb\fP が指す構造体の \fIaio_fildes\fP, \fIaio_buf\fP, \fIaio_nbytes\fP
+に (この順序で) 対応する (\fIaiocb\fP 構造体の説明は \fBaio\fP(7) を参照)。
 .LP
-.B O_APPEND
-が設定されない場合、カレントのファイル位置に関係なく、
-データは絶対ファイルオフセット
-.I aiocbp\->aio_offset
-を開始点として書き込まれる。
-.B O_APPEND
-が設定されている場合、データはファイルの終端に書き込まれる。
-このリクエストの後の、カレントのファイル位置は規定されていない。
+\fBO_APPEND\fP が設定されない場合、カレントのファイルオフセットに関係なく、
+データは絶対ファイルオフセット \fIaiocbp\->aio_offset\fP を開始点として書き込まれる。
+\fBO_APPEND\fP が設定されている場合、データはファイルの末尾に、
+\fBaio_write\fP() の呼び出しが行われたのと同じ順序で書き込まれる。
+この呼び出しの後のカレントのファイルオフセットは規定されていない。
 .LP
 「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」
-ということである。
\91¼ã\81³å\87ºã\81\97ã\81\8bã\82\89æ\88»ã\81£ã\81\9fæ\99\82ã\81«ã\80\81æ\9b¸ã\81\8dè¾¼ã\81¿ã\81¯å®\8cäº\86ã\81\97ã\81¦ã\81\84ã\82\8bã\81\8bã\82\82ç\9f¥ã\82\8cã\81ªã\81\84ã\81\97ã\80\81
-å®\8cäº\86ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\81\8bã\82\82ç\9f¥ã\82\8cã\81ªã\81\84
-.BR aio_error (3)
-を使うことで完了したかをテストできる
+ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れないし、
®\8cäº\86ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\81\8bã\82\82ç\9f¥ã\82\8cã\81ªã\81\84ã\80\82 \fBaio_error\fP(3) ã\82\92使ã\81\86ã\81\93ã\81¨ã\81§å®\8cäº\86ã\81\97ã\81\9fã\81\8bã\82\92ã\83\86ã\82¹ã\83\88ã\81§ã\81\8dã\82\8bã\80\82
+å®\8cäº\86ã\81\97ã\81\9f I/O æ\93\8dä½\9cã\81®è¿\94ã\82\8aå\80¤ã\81¯ \fBaio_return\fP(3) ã\81§å\8f\96å¾\97ã\81§ã\81\8dã\82\8b
+\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)
-で報告されるだろう。
+成功した場合、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
-.B EAGAIN
+.TP 
+\fBEAGAIN\fP
 リソースが足りない。
-.TP
-.B EBADF
-.I aio_fildes
-は書き込みのためにオープンされた有効なファイルディスクリプタでない。
-.TP
-.B EFBIG
-ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。
-しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。
-.TP
-.B EINVAL
-.IR aio_offset ,
-.IR aio_reqprio ,
-.I aio_nbytes
-のうち 1 つ以上が無効である。
-.TP
-.B ENOSYS
+.TP 
+\fBEBADF\fP
+\fIaio_fildes\fP が書き込みのためにオープンされた有効なファイルディスクリプタではない。
+.TP 
+\fBEFBIG\fP
+ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。 しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。
+.TP 
+\fBEINVAL\fP
+\fIaio_offset\fP, \fIaio_reqprio\fP, \fIaio_nbytes\fP のうち 1 つ以上が無効である。
+.TP 
+\fBENOSYS\fP
 この関数がサポートされていない。
+.SH バージョン
+The \fBaio_write\fP() 関数は glibc 2.1 以降で利用できる。
 .SH 準拠
-POSIX.1-2001.
+POSIX.1\-2001, POSIX.1\-2008.
 .SH 注意
-使用する前に制御ブロックを 0 にしておくのは、よい考えである。
-この制御ブロックは、読み込み操作が進行している間は変更すべきでない。
-読み込まれるバッファ領域は
-.\" または操作の制御ブロックは
-操作の最中にアクセスすべきではない。
-さもないと起こる結果が不定になる。
+.\" or the control block of the operation
+使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロックは、読み込み操作が進行している間は変更すべきでない。
+読み込まれるバッファ領域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。
 これに含まれるメモリ領域は、有効なままにしなければならない。
+
+同じ \fIaiocb\fP 構造体を指定して同時に複数の I/O 操作を行った場合、
+どのような結果になるかは不定である。
 .SH 関連項目
-.BR aio_cancel (3),
-.BR aio_error (3),
-.BR aio_fsync (3),
-.BR aio_read (3),
-.BR aio_return (3),
-.BR aio_suspend (3)
+\fBaio_cancel\fP(3), \fBaio_error\fP(3), \fBaio_fsync\fP(3), \fBaio_read\fP(3),
+\fBaio_return\fP(3), \fBaio_suspend\fP(3), \fBlio_listio\fP(3), \fBaio\fP(7)