# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
+# Translators:
msgid ""
msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2012-03-22 04:25+0900\n"
-"PO-Revision-Date: 2012-03-22 20:28+0900\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"Language: \n"
+"Project-Id-Version: man-pages-ja\n"
+"POT-Creation-Date: 2013-08-15 19:31+0900\n"
+"PO-Revision-Date: 2013-08-15 20:07+0900\n"
+"Last-Translator: Akihiro MOTOKI <amotoki@gmail.com>\n"
+"Language-Team: Japanese (http://www.transifex.net/projects/p/man-pages-ja/"
+"language/ja/)\n"
+"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
#. type: TH
-#: build/C/man7/aio.7:24
+#: build/C/man7/aio.7:26
#, no-wrap
msgid "AIO"
msgstr "AIO"
#. type: TH
-#: build/C/man7/aio.7:24 build/C/man3/aio_fsync.3:23
-#: build/C/man3/aio_suspend.3:24 build/C/man3/aio_write.3:23
+#: build/C/man7/aio.7:26
#, no-wrap
-msgid "2010-10-02"
-msgstr "2010-10-02"
+msgid "2012-08-05"
+msgstr "2012-08-05"
#. type: TH
-#: build/C/man7/aio.7:24 build/C/man3/aio_init.3:24
-#: build/C/man2/io_cancel.2:23 build/C/man2/io_destroy.2:23
-#: build/C/man2/io_getevents.2:23 build/C/man2/io_setup.2:23
-#: build/C/man2/io_submit.2:23
+#: build/C/man7/aio.7:26 build/C/man3/aio_init.3:26 build/C/man2/io_cancel.2:7
+#: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
+#: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
#, no-wrap
msgid "Linux"
msgstr "Linux"
#. type: TH
-#: build/C/man7/aio.7:24 build/C/man3/aio_cancel.3:23
-#: build/C/man3/aio_error.3:23 build/C/man3/aio_fsync.3:23
-#: build/C/man3/aio_init.3:24 build/C/man3/aio_read.3:23
-#: build/C/man3/aio_return.3:23 build/C/man3/aio_suspend.3:24
-#: build/C/man3/aio_write.3:23 build/C/man2/io_cancel.2:23
-#: build/C/man2/io_destroy.2:23 build/C/man2/io_getevents.2:23
-#: build/C/man2/io_setup.2:23 build/C/man2/io_submit.2:23
-#: build/C/man3/lio_listio.3:23
+#: build/C/man7/aio.7:26 build/C/man3/aio_cancel.3:24
+#: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
+#: build/C/man3/aio_init.3:26 build/C/man3/aio_read.3:24
+#: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
+#: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:7
+#: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
+#: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
+#: build/C/man3/lio_listio.3:24
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"
#. type: SH
-#: build/C/man7/aio.7:25 build/C/man3/aio_cancel.3:24
-#: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
-#: build/C/man3/aio_init.3:25 build/C/man3/aio_read.3:24
-#: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
-#: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:24
-#: build/C/man2/io_destroy.2:24 build/C/man2/io_getevents.2:24
-#: build/C/man2/io_setup.2:24 build/C/man2/io_submit.2:24
-#: build/C/man3/lio_listio.3:24
+#: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:25
+#: build/C/man3/aio_error.3:25 build/C/man3/aio_fsync.3:25
+#: build/C/man3/aio_init.3:27 build/C/man3/aio_read.3:25
+#: build/C/man3/aio_return.3:25 build/C/man3/aio_suspend.3:26
+#: build/C/man3/aio_write.3:25 build/C/man2/io_cancel.2:8
+#: build/C/man2/io_destroy.2:8 build/C/man2/io_getevents.2:8
+#: build/C/man2/io_setup.2:8 build/C/man2/io_submit.2:8
+#: build/C/man3/lio_listio.3:25
#, no-wrap
msgid "NAME"
msgstr "名前"
#. type: Plain text
-#: build/C/man7/aio.7:27
+#: build/C/man7/aio.7:29
msgid "aio - POSIX asynchronous I/O overview"
-msgstr ""
+msgstr "aio - POSIX 非同期 I/O の概要"
#. type: SH
-#: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:32
-#: build/C/man3/aio_error.3:32 build/C/man3/aio_fsync.3:32
-#: build/C/man3/aio_init.3:36 build/C/man3/aio_read.3:32
-#: build/C/man3/aio_return.3:32 build/C/man3/aio_suspend.3:38
-#: build/C/man3/aio_write.3:32 build/C/man2/io_cancel.2:42
-#: build/C/man2/io_destroy.2:40 build/C/man2/io_getevents.2:43
-#: build/C/man2/io_setup.2:40 build/C/man2/io_submit.2:41
-#: build/C/man3/lio_listio.3:35
+#: build/C/man7/aio.7:29 build/C/man3/aio_cancel.3:33
+#: build/C/man3/aio_error.3:33 build/C/man3/aio_fsync.3:33
+#: build/C/man3/aio_init.3:38 build/C/man3/aio_read.3:33
+#: build/C/man3/aio_return.3:33 build/C/man3/aio_suspend.3:39
+#: build/C/man3/aio_write.3:33 build/C/man2/io_cancel.2:20
+#: build/C/man2/io_destroy.2:19 build/C/man2/io_getevents.2:22
+#: build/C/man2/io_setup.2:19 build/C/man2/io_submit.2:20
+#: build/C/man3/lio_listio.3:36
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"
#. type: Plain text
-#: build/C/man7/aio.7:35
+#: build/C/man7/aio.7:37
msgid ""
"The POSIX asynchronous I/O (AIO) interface allows applications to initiate "
"one or more I/O operations that are performed asynchronously (i.e., in the "
"I/O operation in a variety of ways: by delivery of a signal, by "
"instantiation of a thread, or no notification at all."
msgstr ""
+"POSIX 非同期 (AIO) インターフェースを使うと、アプリケーションは、非同期\n"
+"に (つまり、バックグラウンドで) 実行されるI/O 操作を一つ以上発行できる\n"
+"ようになる。アプリケーションは I/O 操作の完了の通知方法を選択することが\n"
+"できる。選択できる通知方法は、シグナルの配送、スレッドの起動、通知を行\n"
+"わないである。"
#. type: Plain text
-#: build/C/man7/aio.7:37
+#: build/C/man7/aio.7:39
msgid "The POSIX AIO interface consists of the following functions:"
-msgstr ""
+msgstr "POSIX AIO インターフェースは以下の関数で構成されている。"
#. type: TP
-#: build/C/man7/aio.7:37
+#: build/C/man7/aio.7:39
#, no-wrap
msgid "B<aio_read>(3)"
msgstr "B<aio_read>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:42
+#: build/C/man7/aio.7:44
msgid "Enqueue a read request. This is the asynchronous analog of B<read>(2)."
msgstr ""
+"読み出しリクエストをキューに入れる。\n"
+"B<read>(2) の非同期版である。"
#. type: TP
-#: build/C/man7/aio.7:42
+#: build/C/man7/aio.7:44
#, no-wrap
msgid "B<aio_write>(3)"
msgstr "B<aio_write>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:47
+#: build/C/man7/aio.7:49
msgid ""
"Enqueue a write request. This is the asynchronous analog of B<write>(2)."
msgstr ""
+"書き込みリクエストをキューに入れる。\n"
+"B<write>(2) の非同期版である。"
#. type: TP
-#: build/C/man7/aio.7:47
+#: build/C/man7/aio.7:49
#, no-wrap
msgid "B<aio_fsync>(3)"
msgstr "B<aio_fsync>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:54
+#: build/C/man7/aio.7:56
msgid ""
"Enqueue a sync request for the I/O operations on a file descriptor. This is "
"the asynchronous analog of B<fsync>(2) and B<fdatasync>(2)."
msgstr ""
+"ファイルディスクリプタに対して行われた I/O 操作の\n"
+"同期 (sync) リクエストをキューに入れる。\n"
+"B<fsync>(2) や B<fdatasync>(2) の非同期版である。"
#. type: TP
-#: build/C/man7/aio.7:54
+#: build/C/man7/aio.7:56
#, no-wrap
msgid "B<aio_error>(3)"
msgstr "B<aio_error>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:57
+#: build/C/man7/aio.7:59
msgid "Obtain the error status of an enqueued I/O request."
-msgstr ""
+msgstr "キューに入れられた I/O リクエストのエラー状態を取得する。"
#. type: TP
-#: build/C/man7/aio.7:57
+#: build/C/man7/aio.7:59
#, no-wrap
msgid "B<aio_return>(3)"
msgstr "B<aio_return>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:60
+#: build/C/man7/aio.7:62
msgid "Obtain the return status of a completed I/O request."
-msgstr ""
+msgstr "完了した I/O リクエストの終了ステータスを取得する。"
#. type: TP
-#: build/C/man7/aio.7:60
+#: build/C/man7/aio.7:62
#, no-wrap
msgid "B<aio_suspend>(3)"
msgstr "B<aio_suspend>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:64
+#: build/C/man7/aio.7:66
msgid ""
"Suspend the caller until one or more of a specified set of I/O requests "
"completes."
msgstr ""
+"指定された I/O リクエストの集合 (要素は一つ以上) が完了するまで、\n"
+"呼び出し側の実行を停止 (suspend) する。"
#. type: TP
-#: build/C/man7/aio.7:64
+#: build/C/man7/aio.7:66
#, no-wrap
msgid "B<aio_cancel>(3)"
msgstr "B<aio_cancel>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:68
+#: build/C/man7/aio.7:70
msgid ""
"Attempt to cancel outstanding I/O requests on a specified file descriptor."
msgstr ""
+"指定されたファイルディスクリプタに関する\n"
+"完了していない I/O リクエストのキャンセルを試みる。"
#. type: TP
-#: build/C/man7/aio.7:68
+#: build/C/man7/aio.7:70
#, no-wrap
msgid "B<lio_listio>(3)"
msgstr "B<lio_listio>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:71
+#: build/C/man7/aio.7:73
msgid "Enqueue multiple I/O requests using a single function call."
-msgstr ""
+msgstr "一回の関数呼び出しで複数の I/O リクエストをキューに入れる。"
#. type: Plain text
-#: build/C/man7/aio.7:78
+#: build/C/man7/aio.7:80
msgid ""
"The I<aiocb> (\"asynchronous I/O control block\") structure defines "
"parameters that control an I/O operation. An argument of this type is "
"employed with all of the functions listed above. This structure has the "
"following form:"
msgstr ""
+"I<aiocb> (\"非同期 I/O 制御ブロック (asynchronous I/O control block)\")\n"
+"構造体は、I/O 操作を制御するパラメータを定義する。この型の引き数は上記\n"
+"の全ての関数で使用されている。この構造体は以下の通りである。"
#. type: Plain text
-#: build/C/man7/aio.7:82
+#: build/C/man7/aio.7:84
#, no-wrap
msgid "#include E<lt>aiocb.hE<gt>\n"
msgstr "#include E<lt>aiocb.hE<gt>\n"
#. type: Plain text
-#: build/C/man7/aio.7:85
+#: build/C/man7/aio.7:87
#, no-wrap
msgid ""
"struct aiocb {\n"
" /* The order of these fields is implementation-dependent */\n"
msgstr ""
+"struct aiocb {\n"
+" /* The order of these fields is implementation-dependent */\n"
#. type: Plain text
-#: build/C/man7/aio.7:94
+#: build/C/man7/aio.7:96
#, no-wrap
msgid ""
" int aio_fildes; /* File descriptor */\n"
" int aio_lio_opcode; /* Operation to be performed;\n"
" lio_listio() only */\n"
msgstr ""
+" int aio_fildes; /* File descriptor */\n"
+" off_t aio_offset; /* File offset */\n"
+" volatile void *aio_buf; /* Location of buffer */\n"
+" size_t aio_nbytes; /* Length of transfer */\n"
+" int aio_reqprio; /* Request priority */\n"
+" struct sigevent aio_sigevent; /* Notification method */\n"
+" int aio_lio_opcode; /* Operation to be performed;\n"
+" lio_listio() only */\n"
#. type: Plain text
-#: build/C/man7/aio.7:97
+#: build/C/man7/aio.7:99
#, no-wrap
msgid ""
" /* Various implementation-internal fields not shown */\n"
"};\n"
msgstr ""
+" /* Various implementation-internal fields not shown */\n"
+"};\n"
#. type: Plain text
-#: build/C/man7/aio.7:99
+#: build/C/man7/aio.7:101
#, no-wrap
msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
-msgstr ""
+msgstr "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
#. type: Plain text
-#: build/C/man7/aio.7:101
+#: build/C/man7/aio.7:103
#, no-wrap
msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
#. type: Plain text
-#: build/C/man7/aio.7:105
+#: build/C/man7/aio.7:107
msgid "The fields of this structure are as follows:"
-msgstr ""
+msgstr "この構造体のフィールドは以下の通りである。"
#. type: TP
-#: build/C/man7/aio.7:105
+#: build/C/man7/aio.7:107
#, no-wrap
msgid "I<aio_filedes>"
msgstr "I<aio_filedes>"
#. type: Plain text
-#: build/C/man7/aio.7:108
+#: build/C/man7/aio.7:110
msgid "The file descriptor on which the I/O operation is to be performed."
-msgstr ""
+msgstr "I/O 操作の実行対象となるファイルディスクリプタ。"
#. type: TP
-#: build/C/man7/aio.7:108
+#: build/C/man7/aio.7:110
#, no-wrap
msgid "I<aio_offset>"
msgstr "I<aio_offset>"
#. type: Plain text
-#: build/C/man7/aio.7:111
+#: build/C/man7/aio.7:113
msgid "This is the file offset at which the I/O operation is to be performed."
-msgstr ""
+msgstr "I/O 操作を行うファイルオフセットを示す。"
#. type: TP
-#: build/C/man7/aio.7:111
+#: build/C/man7/aio.7:113
#, no-wrap
msgid "I<aio_buf>"
msgstr "I<aio_buf>"
#. type: Plain text
-#: build/C/man7/aio.7:114
+#: build/C/man7/aio.7:116
msgid "This is the buffer used to transfer data for a read or write operation."
-msgstr ""
+msgstr "読み出し操作、書き込み操作でデータ転送に使用されるバッファ。"
#. type: TP
-#: build/C/man7/aio.7:114
+#: build/C/man7/aio.7:116
#, no-wrap
msgid "I<aio_nbytes>"
msgstr "I<aio_nbytes>"
#. type: Plain text
-#: build/C/man7/aio.7:118
+#: build/C/man7/aio.7:120
msgid "This is the size of the buffer pointed to by I<aio_buf>."
-msgstr ""
+msgstr "I<aio_buf> が指すバッファのサイズ。"
#. type: TP
-#: build/C/man7/aio.7:118
+#: build/C/man7/aio.7:120
#, no-wrap
msgid "I<aio_reqprio>"
msgstr "I<aio_reqprio>"
#. type: Plain text
-#: build/C/man7/aio.7:127
+#: build/C/man7/aio.7:129
msgid ""
"This field specifies a value that is subtracted from the calling thread's "
"real-time priority in order to determine the priority for execution of this "
"between 0 and the value returned by I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>. "
"This field is ignored for file synchronization operations."
msgstr ""
+"このフィールドでは、呼び出したスレッドのリアルタイム優先度から\n"
+"減算する値を指定する。この I/O リクエストの実行の優先度を\n"
+"決定するために使用される (B<pthread_setschedparam>(3) 参照)。\n"
+"指定する値は 0 と I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す値の間で\n"
+"なければならない。このフィールドは、ファイル同期操作では無視される。"
#. type: TP
-#: build/C/man7/aio.7:127
+#: build/C/man7/aio.7:129
#, no-wrap
msgid "I<aio_sigevent>"
msgstr "I<aio_sigevent>"
#. type: Plain text
-#: build/C/man7/aio.7:141
+#: build/C/man7/aio.7:143
msgid ""
"This field is a structure that specifies how the caller is to be notified "
"when the asynchronous I/O operation completes. Possible values for "
"I<aio_sigevent.sigev_notify> are B<SIGEV_NONE>, B<SIGEV_SIGNAL>, and "
"B<SIGEV_THREAD>. See B<sigevent>(7) for further details."
msgstr ""
+"このフィールドは、非同期 I/O 操作が完了した際に呼び出し側に\n"
+"どのように通知を行うかを指定する構造体である。\n"
+"I<aio_sigevent.sigev_notify> に指定できる値は、\n"
+"B<SIGEV_NONE>, B<SIGEV_SIGNAL>, B<SIGEV_THREAD> である。\n"
+"詳細は B<sigevent>(7) を参照。"
#. type: TP
-#: build/C/man7/aio.7:141
+#: build/C/man7/aio.7:143
#, no-wrap
msgid "I<aio_lio_opcode>"
msgstr "I<aio_lio_opcode>"
#. type: Plain text
-#: build/C/man7/aio.7:145
+#: build/C/man7/aio.7:147
msgid "The type of operation to be performed; used only for B<lio_listio>(3)."
msgstr ""
+"実行される操作の種別。\n"
+"B<lio_listio>(3) でのみ使用される。"
#. type: Plain text
-#: build/C/man7/aio.7:148
+#: build/C/man7/aio.7:150
msgid ""
"In addition to the standard functions listed above, the GNU C library "
"provides the following extension to the POSIX AIO API:"
msgstr ""
+"上記のリストにある標準の関数に加えて、GNU C ライブラリでは\n"
+"以下に示す POSIX AIO API に対する拡張が提供されている。"
#. type: TP
-#: build/C/man7/aio.7:148
+#: build/C/man7/aio.7:150
#, no-wrap
msgid "B<aio_init>(3)"
msgstr "B<aio_init>(3)"
#. type: Plain text
-#: build/C/man7/aio.7:151
+#: build/C/man7/aio.7:153
msgid ""
"Set parameters for tuning the behavior of the glibc POSIX AIO implementation."
-msgstr ""
-
-#. type: SH
-#: build/C/man7/aio.7:151 build/C/man3/aio_read.3:132
-#: build/C/man3/aio_suspend.3:104 build/C/man3/aio_write.3:137
-#: build/C/man2/io_cancel.2:78 build/C/man2/io_destroy.2:72
-#: build/C/man2/io_getevents.2:85 build/C/man2/io_setup.2:81
-#: build/C/man2/io_submit.2:83 build/C/man3/lio_listio.3:206
-#, no-wrap
-msgid "NOTES"
-msgstr "注意"
-
-#. type: Plain text
-#: build/C/man7/aio.7:158
-msgid ""
-"It is a good idea to zero out the control block buffer before use (see "
-"B<memset>(3)). The control block buffer and the buffer pointed to by "
-"I<aio_buf> must not be changed while the I/O operation is in progress. "
-"These buffers must remain valid until the I/O operation completes."
-msgstr ""
-
-#. type: Plain text
-#: build/C/man7/aio.7:162
-msgid ""
-"Simultaneous asynchronous read or write operations using the same I<aiocb> "
-"structure yield undefined results."
-msgstr ""
-
-#. http://lse.sourceforge.net/io/aio.html
-#. http://lse.sourceforge.net/io/aionotes.txt
-#. http://lwn.net/Articles/148755/
-#. type: Plain text
-#: build/C/man7/aio.7:180
-msgid ""
-"The current Linux POSIX AIO implementation is provided in userspace by "
-"glibc. This has a number of limitations, most notably that maintaining "
-"multiple threads to perform I/O operations is expensive and scales poorly. "
-"Work has been in progress for some time on a kernel state-machine-based "
-"implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
-"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
-"implementation hasn't yet matured to the point where the POSIX AIO "
-"implementation can be completely reimplemented using the kernel system calls."
-msgstr ""
+msgstr "glibc の POSIX AIO 実装の動作を調整するパラメータを設定する。"
#. type: SH
-#: build/C/man7/aio.7:180 build/C/man3/aio_cancel.3:87
-#: build/C/man3/aio_error.3:65 build/C/man3/aio_fsync.3:78
-#: build/C/man3/aio_read.3:102 build/C/man3/aio_return.3:62
-#: build/C/man3/aio_suspend.3:87 build/C/man3/aio_write.3:109
-#: build/C/man2/io_cancel.2:56 build/C/man2/io_destroy.2:53
-#: build/C/man2/io_getevents.2:60 build/C/man2/io_setup.2:54
-#: build/C/man2/io_submit.2:54 build/C/man3/lio_listio.3:145
+#: build/C/man7/aio.7:153 build/C/man3/aio_cancel.3:101
+#: build/C/man3/aio_error.3:66 build/C/man3/aio_fsync.3:79
+#: build/C/man3/aio_read.3:103 build/C/man3/aio_return.3:63
+#: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
+#: build/C/man2/io_cancel.2:42 build/C/man2/io_destroy.2:34
+#: build/C/man2/io_getevents.2:40 build/C/man2/io_setup.2:37
+#: build/C/man2/io_submit.2:37 build/C/man3/lio_listio.3:146
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man7/aio.7:181 build/C/man3/aio_error.3:66
-#: build/C/man3/aio_fsync.3:86 build/C/man3/aio_read.3:110
-#: build/C/man3/aio_return.3:63 build/C/man3/aio_write.3:121
-#: build/C/man2/io_cancel.2:63 build/C/man2/io_destroy.2:57
-#: build/C/man2/io_getevents.2:64 build/C/man2/io_setup.2:61
-#: build/C/man2/io_submit.2:64 build/C/man3/lio_listio.3:160
+#: build/C/man7/aio.7:154 build/C/man3/aio_error.3:67
+#: build/C/man3/aio_fsync.3:87 build/C/man3/aio_read.3:111
+#: build/C/man3/aio_return.3:64 build/C/man3/aio_write.3:122
+#: build/C/man2/io_cancel.2:49 build/C/man2/io_destroy.2:38
+#: build/C/man2/io_getevents.2:44 build/C/man2/io_setup.2:46
+#: build/C/man2/io_submit.2:47 build/C/man3/lio_listio.3:161
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
#. type: Plain text
-#: build/C/man7/aio.7:190
+#: build/C/man7/aio.7:163
msgid ""
"The I<aio_reqprio> field of the I<aiocb> structure was less than 0, or was "
"greater than the limit returned by the call I<sysconf(_SC_AIO_PRIO_DELTA_MAX)"
">."
msgstr ""
+"I<aiocb> 構造体の I<aio_reqprio> フィールドが、0 より小さいか、\n"
+"I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す上限よりも大きかった。"
#. type: SH
-#: build/C/man7/aio.7:190 build/C/man3/aio_cancel.3:92
-#: build/C/man3/aio_error.3:73 build/C/man3/aio_fsync.3:94
-#: build/C/man3/aio_init.3:91 build/C/man3/aio_read.3:126
-#: build/C/man3/aio_return.3:68 build/C/man3/aio_suspend.3:98
-#: build/C/man3/aio_write.3:131 build/C/man2/io_cancel.2:70
-#: build/C/man2/io_destroy.2:64 build/C/man2/io_getevents.2:77
-#: build/C/man2/io_setup.2:73 build/C/man2/io_submit.2:75
-#: build/C/man3/lio_listio.3:200
+#: build/C/man7/aio.7:163 build/C/man3/aio_cancel.3:110
+#: build/C/man3/aio_error.3:78 build/C/man3/aio_fsync.3:99
+#: build/C/man3/aio_init.3:93 build/C/man3/aio_read.3:128
+#: build/C/man3/aio_return.3:73 build/C/man3/aio_suspend.3:103
+#: build/C/man3/aio_write.3:133 build/C/man2/io_cancel.2:56
+#: build/C/man2/io_destroy.2:45 build/C/man2/io_getevents.2:57
+#: build/C/man2/io_setup.2:58 build/C/man2/io_submit.2:60
+#: build/C/man3/lio_listio.3:201
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"
#. type: Plain text
-#: build/C/man7/aio.7:192
+#: build/C/man7/aio.7:165
msgid "The POSIX AIO interfaces are provided by glibc since version 2.1."
msgstr ""
+"POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。"
#. type: SH
-#: build/C/man7/aio.7:192 build/C/man3/aio_cancel.3:96
-#: build/C/man3/aio_error.3:77 build/C/man3/aio_fsync.3:98
-#: build/C/man3/aio_init.3:95 build/C/man3/aio_read.3:130
-#: build/C/man3/aio_return.3:72 build/C/man3/aio_suspend.3:102
-#: build/C/man3/aio_write.3:135 build/C/man2/io_cancel.2:73
-#: build/C/man2/io_destroy.2:67 build/C/man2/io_getevents.2:80
-#: build/C/man2/io_setup.2:76 build/C/man2/io_submit.2:78
-#: build/C/man3/lio_listio.3:204
+#: build/C/man7/aio.7:165 build/C/man3/aio_cancel.3:114
+#: build/C/man3/aio_error.3:87 build/C/man3/aio_fsync.3:103
+#: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:132
+#: build/C/man3/aio_return.3:82 build/C/man3/aio_suspend.3:107
+#: build/C/man3/aio_write.3:137 build/C/man2/io_cancel.2:59
+#: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:60
+#: build/C/man2/io_setup.2:61 build/C/man2/io_submit.2:63
+#: build/C/man3/lio_listio.3:205
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
#. type: Plain text
-#: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:98
-#: build/C/man3/aio_error.3:79 build/C/man3/aio_fsync.3:100
-#: build/C/man3/aio_read.3:132 build/C/man3/aio_return.3:74
-#: build/C/man3/aio_suspend.3:104 build/C/man3/aio_write.3:137
-#: build/C/man3/lio_listio.3:206
+#: build/C/man7/aio.7:167 build/C/man3/aio_cancel.3:116
+#: build/C/man3/aio_error.3:89 build/C/man3/aio_fsync.3:105
+#: build/C/man3/aio_read.3:134 build/C/man3/aio_return.3:84
+#: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
+#: build/C/man3/lio_listio.3:207
msgid "POSIX.1-2001, POSIX.1-2008."
msgstr "POSIX.1-2001, POSIX.1-2008."
#. type: SH
-#: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:98
-#: build/C/man3/aio_error.3:79 build/C/man3/aio_read.3:144
-#: build/C/man3/aio_return.3:74
+#: build/C/man7/aio.7:167 build/C/man3/aio_read.3:134
+#: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
+#: build/C/man2/io_cancel.2:64 build/C/man2/io_destroy.2:53
+#: build/C/man2/io_getevents.2:65 build/C/man2/io_setup.2:66
+#: build/C/man2/io_submit.2:68 build/C/man3/lio_listio.3:207
+#, no-wrap
+msgid "NOTES"
+msgstr "注意"
+
+#. type: Plain text
+#: build/C/man7/aio.7:174
+msgid ""
+"It is a good idea to zero out the control block buffer before use (see "
+"B<memset>(3)). The control block buffer and the buffer pointed to by "
+"I<aio_buf> must not be changed while the I/O operation is in progress. "
+"These buffers must remain valid until the I/O operation completes."
+msgstr ""
+"使用前に制御ブロックバッファを 0 で埋めるのはよい考えである\n"
+"(B<memset>(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファと\n"
+"I<aio_buf> が指すバッファを変更してはならない。I/O 操作が完了するまで、\n"
+"これらのバッファは有効な状態に保たなければならない。"
+
+#. type: Plain text
+#: build/C/man7/aio.7:178
+msgid ""
+"Simultaneous asynchronous read or write operations using the same I<aiocb> "
+"structure yield undefined results."
+msgstr ""
+"同じ I<aiocb> 構造体を使って、同時に複数の非同期の読み出し操作や\n"
+"書き込み操作を行った場合に、どのような結果になるかは未定義である。"
+
+#. http://lse.sourceforge.net/io/aio.html
+#. http://lse.sourceforge.net/io/aionotes.txt
+#. http://lwn.net/Articles/148755/
+#. type: Plain text
+#: build/C/man7/aio.7:196
+msgid ""
+"The current Linux POSIX AIO implementation is provided in user space by "
+"glibc. This has a number of limitations, most notably that maintaining "
+"multiple threads to perform I/O operations is expensive and scales poorly. "
+"Work has been in progress for some time on a kernel state-machine-based "
+"implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
+"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
+"implementation hasn't yet matured to the point where the POSIX AIO "
+"implementation can be completely reimplemented using the kernel system calls."
+msgstr ""
+"現在の Linux では、POSIX AIO 実装は glibc によりユーザ空間で提供\n"
+"されている。このため、制限がいくつかあり、最も顕著なものは、I/O 操作を\n"
+"実行する複数のスレッドの管理コストが高く、スケーラビリティに欠けること\n"
+"である。しばらくの間、カーネルのステートマシンによる非同期 I/O の実装\n"
+"の作業が行われているが (B<io_submit>(2), B<io_setup>(2), \n"
+"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2) 参照)、\n"
+"この実装はまだ POSIX AIO 実装をカーネルシステムコールにより\n"
+"再実装するほど成熟したものてはない。"
+
+#. type: SH
+#: build/C/man7/aio.7:196 build/C/man3/aio_cancel.3:116
+#: build/C/man3/aio_error.3:89 build/C/man3/aio_read.3:146
+#: build/C/man3/aio_return.3:84
#, no-wrap
msgid "EXAMPLE"
msgstr "例"
#. type: Plain text
-#: build/C/man7/aio.7:207
+#: build/C/man7/aio.7:209
msgid ""
"The program below opens each of the files named in its command-line "
"arguments and queues a request on the resulting file descriptor using "
"After all I/O requests have completed, the program retrieves their status "
"using B<aio_return>(3)."
msgstr ""
+"下記のプログラムは、コマンドライン引き数で指定された名前のファイルを\n"
+"それぞれオープンし、得られたファイルディスクリプタに対するリクエストを\n"
+"B<aio_read>(3) を使ってキューに入れる。その後、このプログラムはループに\n"
+"入り、定期的に B<aio_error>(3) を使ってまだ実行中の各 I/O 操作を監視す\n"
+"る。各 I/O リクエストは、シグナルの配送による完了通知が行われるように設\n"
+"定される。全ての I/O リクエストが完了した後、B<aio_return>(3) を使って\n"
+"それぞれのステータスを取得する。"
#. type: Plain text
-#: build/C/man7/aio.7:213
+#: build/C/man7/aio.7:215
msgid ""
"The B<SIGQUIT> signal (generated by typing control-\\e) causes the program "
"to request cancellation of each of the outstanding requests using "
"B<aio_cancel>(3)."
msgstr ""
+"B<SIGQUIT> シグナル (control-\\e をタイプすると生成できる) を送ると、\n"
+"このプログラムは B<aio_cancel>(3) を使って\n"
+"完了していない各リクエストにキャンセル要求を送る。"
#. type: Plain text
-#: build/C/man7/aio.7:218
+#: build/C/man7/aio.7:220
msgid ""
"Here is an example of what we might see when running this program. In this "
"example, the program queues two requests to standard input, and these are "
"satisfied by two lines of input containing \"abc\" and \"x\"."
msgstr ""
+"以下はこのプログラムを実行した際の出力例である。\n"
+"この例では、標準入力に対して 2 つのリクエストを行い、\n"
+"\"abc\" と \"x\" という 2 行の入力を行っている。"
#. type: Plain text
-#: build/C/man7/aio.7:242
+#: build/C/man7/aio.7:244
#, no-wrap
msgid ""
"$ B<./a.out /dev/stdin /dev/stdin>\n"
" for request 0 (descriptor 3): 4\n"
" for request 1 (descriptor 4): 2\n"
msgstr ""
+"$ B<./a.out /dev/stdin /dev/stdin>\n"
+"opened /dev/stdin on descriptor 3\n"
+"opened /dev/stdin on descriptor 4\n"
+"aio_error():\n"
+" for request 0 (descriptor 3): In progress\n"
+" for request 1 (descriptor 4): In progress\n"
+"B<abc>\n"
+"I/O completion signal received\n"
+"aio_error():\n"
+" for request 0 (descriptor 3): I/O succeeded\n"
+" for request 1 (descriptor 4): In progress\n"
+"aio_error():\n"
+" for request 1 (descriptor 4): In progress\n"
+"B<x>\n"
+"I/O completion signal received\n"
+"aio_error():\n"
+" for request 1 (descriptor 4): I/O succeeded\n"
+"All I/O requests completed\n"
+"aio_return():\n"
+" for request 0 (descriptor 3): 4\n"
+" for request 1 (descriptor 4): 2\n"
#. type: SS
-#: build/C/man7/aio.7:244
+#: build/C/man7/aio.7:246
#, no-wrap
msgid "Program source"
-msgstr ""
+msgstr "プログラムのソース"
#. type: Plain text
-#: build/C/man7/aio.7:253
+#: build/C/man7/aio.7:255
#, no-wrap
msgid ""
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>signal.hE<gt>\n"
#. type: Plain text
-#: build/C/man7/aio.7:255
+#: build/C/man7/aio.7:257
#, no-wrap
msgid "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
msgstr "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
#. type: Plain text
-#: build/C/man7/aio.7:257
+#: build/C/man7/aio.7:259
#, no-wrap
msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
#. type: Plain text
-#: build/C/man7/aio.7:259
+#: build/C/man7/aio.7:261
#, no-wrap
msgid "#define errMsg(msg) do { perror(msg); } while (0)\n"
msgstr "#define errMsg(msg) do { perror(msg); } while (0)\n"
#. type: Plain text
-#: build/C/man7/aio.7:266
+#: build/C/man7/aio.7:268
#, no-wrap
msgid ""
"struct ioRequest { /* Application-defined structure for tracking\n"
"};\n"
#. type: Plain text
-#: build/C/man7/aio.7:270
+#: build/C/man7/aio.7:272
#, no-wrap
msgid ""
"static volatile sig_atomic_t gotSIGQUIT = 0;\n"
" cancel all outstanding I/O requests */\n"
#. type: Plain text
-#: build/C/man7/aio.7:276
+#: build/C/man7/aio.7:278
#, no-wrap
msgid ""
"static void /* Handler for SIGQUIT */\n"
"}\n"
#. type: Plain text
-#: build/C/man7/aio.7:278
+#: build/C/man7/aio.7:280
#, no-wrap
msgid "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
msgstr "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
#. type: Plain text
-#: build/C/man7/aio.7:283
+#: build/C/man7/aio.7:285
#, no-wrap
msgid ""
"static void /* Handler for I/O completion signal */\n"
" write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
#. type: Plain text
-#: build/C/man7/aio.7:289
+#: build/C/man7/aio.7:291
#, no-wrap
msgid ""
" /* The corresponding ioRequest structure would be available as\n"
"}\n"
#. type: Plain text
-#: build/C/man7/aio.7:299
+#: build/C/man7/aio.7:301
#, no-wrap
msgid ""
"int\n"
" int openReqs; /* Number of I/O requests still in progress */\n"
#. type: Plain text
-#: build/C/man7/aio.7:305
+#: build/C/man7/aio.7:307
#, no-wrap
msgid ""
" if (argc E<lt> 2) {\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:307
+#: build/C/man7/aio.7:309
#, no-wrap
msgid " numReqs = argc - 1;\n"
msgstr " numReqs = argc - 1;\n"
#. type: Plain text
-#: build/C/man7/aio.7:309
+#: build/C/man7/aio.7:311
#, no-wrap
msgid " /* Allocate our arrays */\n"
msgstr " /* Allocate our arrays */\n"
#. type: Plain text
-#: build/C/man7/aio.7:313
+#: build/C/man7/aio.7:315
#, no-wrap
msgid ""
" ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
" errExit(\"calloc\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:317
+#: build/C/man7/aio.7:319
#, no-wrap
msgid ""
" aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
" errExit(\"calloc\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:319
+#: build/C/man7/aio.7:321
#, no-wrap
msgid " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
msgstr " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
#. type: Plain text
-#: build/C/man7/aio.7:322
+#: build/C/man7/aio.7:324
#, no-wrap
msgid ""
" sa.sa_flags = SA_RESTART;\n"
" sigemptyset(&sa.sa_mask);\n"
#. type: Plain text
-#: build/C/man7/aio.7:326
+#: build/C/man7/aio.7:328
#, no-wrap
msgid ""
" sa.sa_handler = quitHandler;\n"
" errExit(\"sigaction\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:331
+#: build/C/man7/aio.7:333
#, no-wrap
msgid ""
" sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
" errExit(\"sigaction\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:334
+#: build/C/man7/aio.7:336
#, no-wrap
msgid ""
" /* Open each file specified on the command line, and queue\n"
" a read request on the resulting file descriptor */\n"
#. type: Plain text
-#: build/C/man7/aio.7:339
+#: build/C/man7/aio.7:341
#, no-wrap
msgid ""
" for (j = 0; j E<lt> numReqs; j++) {\n"
" ioList[j].aiocbp = &aiocbList[j];\n"
#. type: Plain text
-#: build/C/man7/aio.7:345
+#: build/C/man7/aio.7:347
#, no-wrap
msgid ""
" ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
" ioList[j].aiocbp-E<gt>aio_fildes);\n"
#. type: Plain text
-#: build/C/man7/aio.7:349
+#: build/C/man7/aio.7:351
#, no-wrap
msgid ""
" ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
" errExit(\"malloc\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:357
+#: build/C/man7/aio.7:359
#, no-wrap
msgid ""
" ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
" &ioList[j];\n"
#. type: Plain text
-#: build/C/man7/aio.7:362
+#: build/C/man7/aio.7:364
#, no-wrap
msgid ""
" s = aio_read(ioList[j].aiocbp);\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:364
+#: build/C/man7/aio.7:366
#, no-wrap
msgid " openReqs = numReqs;\n"
msgstr " openReqs = numReqs;\n"
#. type: Plain text
-#: build/C/man7/aio.7:366
+#: build/C/man7/aio.7:368
#, no-wrap
msgid " /* Loop, monitoring status of I/O requests */\n"
msgstr " /* Loop, monitoring status of I/O requests */\n"
#. type: Plain text
-#: build/C/man7/aio.7:369
+#: build/C/man7/aio.7:371
#, no-wrap
msgid ""
" while (openReqs E<gt> 0) {\n"
" sleep(3); /* Delay between each monitoring step */\n"
#. type: Plain text
-#: build/C/man7/aio.7:371
+#: build/C/man7/aio.7:373
#, no-wrap
msgid " if (gotSIGQUIT) {\n"
msgstr " if (gotSIGQUIT) {\n"
#. type: Plain text
-#: build/C/man7/aio.7:375
+#: build/C/man7/aio.7:377
#, no-wrap
msgid ""
" /* On receipt of SIGQUIT, attempt to cancel each of the\n"
" from the cancellation requests */\n"
#. type: Plain text
-#: build/C/man7/aio.7:377
+#: build/C/man7/aio.7:379
#, no-wrap
msgid " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
msgstr " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:394
+#: build/C/man7/aio.7:396
#, no-wrap
msgid ""
" for (j = 0; j E<lt> numReqs; j++) {\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:397
+#: build/C/man7/aio.7:399
#, no-wrap
msgid ""
" gotSIGQUIT = 0;\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:400
+#: build/C/man7/aio.7:402
#, no-wrap
msgid ""
" /* Check the status of each I/O request that is still\n"
" in progress */\n"
#. type: Plain text
-#: build/C/man7/aio.7:407
+#: build/C/man7/aio.7:409
#, no-wrap
msgid ""
" printf(\"aio_error():\\en\");\n"
" ioList[j].status = aio_error(ioList[j].aiocbp);\n"
#. type: Plain text
-#: build/C/man7/aio.7:422
+#: build/C/man7/aio.7:424
#, no-wrap
msgid ""
" switch (ioList[j].status) {\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:428
+#: build/C/man7/aio.7:430
#, no-wrap
msgid ""
" if (ioList[j].status != EINPROGRESS)\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:430
+#: build/C/man7/aio.7:432
#, no-wrap
msgid " printf(\"All I/O requests completed\\en\");\n"
msgstr " printf(\"All I/O requests completed\\en\");\n"
#. type: Plain text
-#: build/C/man7/aio.7:432
+#: build/C/man7/aio.7:434
#, no-wrap
msgid " /* Check status return of all I/O requests */\n"
msgstr " /* Check status return of all I/O requests */\n"
#. type: Plain text
-#: build/C/man7/aio.7:436
+#: build/C/man7/aio.7:438
#, no-wrap
msgid ""
" printf(\"aio_return():\\en\");\n"
" ssize_t s;\n"
#. type: Plain text
-#: build/C/man7/aio.7:441
+#: build/C/man7/aio.7:443
#, no-wrap
msgid ""
" s = aio_return(ioList[j].aiocbp);\n"
" }\n"
#. type: Plain text
-#: build/C/man7/aio.7:444
+#: build/C/man7/aio.7:446
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
"}\n"
#. type: SH
-#: build/C/man7/aio.7:445 build/C/man3/aio_cancel.3:101
-#: build/C/man3/aio_error.3:82 build/C/man3/aio_fsync.3:100
-#: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:147
-#: build/C/man3/aio_return.3:77 build/C/man3/aio_suspend.3:124
-#: build/C/man3/aio_write.3:149 build/C/man2/io_cancel.2:94
-#: build/C/man2/io_destroy.2:88 build/C/man2/io_getevents.2:101
-#: build/C/man2/io_setup.2:97 build/C/man2/io_submit.2:99
-#: build/C/man3/lio_listio.3:218
+#: build/C/man7/aio.7:447 build/C/man3/aio_cancel.3:119
+#: build/C/man3/aio_error.3:92 build/C/man3/aio_fsync.3:105
+#: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:149
+#: build/C/man3/aio_return.3:87 build/C/man3/aio_suspend.3:129
+#: build/C/man3/aio_write.3:151 build/C/man2/io_cancel.2:94
+#: build/C/man2/io_destroy.2:83 build/C/man2/io_getevents.2:100
+#: build/C/man2/io_setup.2:96 build/C/man2/io_submit.2:98
+#: build/C/man3/lio_listio.3:219
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: Plain text
-#: build/C/man7/aio.7:460
+#: build/C/man7/aio.7:462
msgid ""
"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
"B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
-"B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
-"www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
+"B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
msgstr ""
"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
"B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
-"B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
-"www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
+"B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
+
+#. type: Plain text
+#: build/C/man7/aio.7:465
+msgid ""
+"E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
+"pdf> E<.UE>"
+msgstr ""
+"E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
+"pdf> E<.UE>"
#. type: SH
-#: build/C/man7/aio.7:460 build/C/man3/aio_cancel.3:110
-#: build/C/man3/aio_error.3:91 build/C/man3/aio_fsync.3:110
-#: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:156
-#: build/C/man3/aio_return.3:86 build/C/man3/aio_suspend.3:134
-#: build/C/man3/aio_write.3:158 build/C/man2/io_cancel.2:107
-#: build/C/man2/io_destroy.2:101 build/C/man2/io_getevents.2:116
-#: build/C/man2/io_setup.2:108 build/C/man2/io_submit.2:110
-#: build/C/man3/lio_listio.3:226
+#: build/C/man7/aio.7:465 build/C/man3/aio_cancel.3:128
+#: build/C/man3/aio_error.3:101 build/C/man3/aio_fsync.3:115
+#: build/C/man3/aio_init.3:101 build/C/man3/aio_read.3:158
+#: build/C/man3/aio_return.3:96 build/C/man3/aio_suspend.3:139
+#: build/C/man3/aio_write.3:160 build/C/man2/io_cancel.2:102
+#: build/C/man2/io_destroy.2:91 build/C/man2/io_getevents.2:110
+#: build/C/man2/io_setup.2:104 build/C/man2/io_submit.2:106
+#: build/C/man3/lio_listio.3:227
#, no-wrap
msgid "COLOPHON"
-msgstr ""
+msgstr "この文書について"
#. type: Plain text
-#: build/C/man7/aio.7:467 build/C/man3/aio_cancel.3:117
-#: build/C/man3/aio_error.3:98 build/C/man3/aio_fsync.3:117
-#: build/C/man3/aio_init.3:106 build/C/man3/aio_read.3:163
-#: build/C/man3/aio_return.3:93 build/C/man3/aio_suspend.3:141
-#: build/C/man3/aio_write.3:165 build/C/man2/io_cancel.2:114
-#: build/C/man2/io_destroy.2:108 build/C/man2/io_getevents.2:123
-#: build/C/man2/io_setup.2:115 build/C/man2/io_submit.2:117
-#: build/C/man3/lio_listio.3:233
+#: build/C/man7/aio.7:472 build/C/man3/aio_cancel.3:135
+#: build/C/man3/aio_error.3:108 build/C/man3/aio_fsync.3:122
+#: build/C/man3/aio_init.3:108 build/C/man3/aio_read.3:165
+#: build/C/man3/aio_return.3:103 build/C/man3/aio_suspend.3:146
+#: build/C/man3/aio_write.3:167 build/C/man2/io_cancel.2:109
+#: build/C/man2/io_destroy.2:98 build/C/man2/io_getevents.2:117
+#: build/C/man2/io_setup.2:111 build/C/man2/io_submit.2:113
+#: build/C/man3/lio_listio.3:234
msgid ""
-"This page is part of release 3.37 of the Linux I<man-pages> project. A "
+"This page is part of release 3.53 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
-"found at http://www.kernel.org/doc/man-pages/."
+"found at \\%http://www.kernel.org/doc/man-pages/."
msgstr ""
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.53 の一部\n"
+"である。プロジェクトの説明とバグ報告に関する情報は\n"
+"http://www.kernel.org/doc/man-pages/ に書かれている。"
#. type: TH
-#: build/C/man3/aio_cancel.3:23
+#: build/C/man3/aio_cancel.3:24
#, no-wrap
msgid "AIO_CANCEL"
msgstr "AIO_CANCEL"
#. type: TH
-#: build/C/man3/aio_cancel.3:23
-#, fuzzy, no-wrap
-#| msgid "2010-10-02"
-msgid "2011-10-04"
-msgstr "2010-10-02"
+#: build/C/man3/aio_cancel.3:24 build/C/man3/aio_fsync.3:24
+#: build/C/man3/aio_read.3:24 build/C/man3/aio_suspend.3:25
+#: build/C/man3/aio_write.3:24 build/C/man3/lio_listio.3:24
+#, no-wrap
+msgid "2012-05-08"
+msgstr "2012-05-08"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:26
+#: build/C/man3/aio_cancel.3:27
msgid "aio_cancel - cancel an outstanding asynchronous I/O request"
msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする"
#. type: SH
-#: build/C/man3/aio_cancel.3:26 build/C/man3/aio_error.3:26
-#: build/C/man3/aio_fsync.3:26 build/C/man3/aio_init.3:27
-#: build/C/man3/aio_read.3:26 build/C/man3/aio_return.3:26
-#: build/C/man3/aio_suspend.3:27 build/C/man3/aio_write.3:26
-#: build/C/man2/io_cancel.2:26 build/C/man2/io_destroy.2:26
-#: build/C/man2/io_getevents.2:26 build/C/man2/io_setup.2:26
-#: build/C/man2/io_submit.2:26 build/C/man3/lio_listio.3:26
+#: build/C/man3/aio_cancel.3:27 build/C/man3/aio_error.3:27
+#: build/C/man3/aio_fsync.3:27 build/C/man3/aio_init.3:29
+#: build/C/man3/aio_read.3:27 build/C/man3/aio_return.3:27
+#: build/C/man3/aio_suspend.3:28 build/C/man3/aio_write.3:27
+#: build/C/man2/io_cancel.2:10 build/C/man2/io_destroy.2:10
+#: build/C/man2/io_getevents.2:10 build/C/man2/io_setup.2:10
+#: build/C/man2/io_submit.2:10 build/C/man3/lio_listio.3:27
#, no-wrap
msgid "SYNOPSIS"
msgstr "書式"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:28 build/C/man3/aio_error.3:28
-#: build/C/man3/aio_fsync.3:28 build/C/man3/aio_read.3:28
-#: build/C/man3/aio_return.3:28 build/C/man3/aio_write.3:28
+#: build/C/man3/aio_cancel.3:29 build/C/man3/aio_error.3:29
+#: build/C/man3/aio_fsync.3:29 build/C/man3/aio_read.3:29
+#: build/C/man3/aio_return.3:29 build/C/man3/aio_write.3:29
msgid "B<#include E<lt>aio.hE<gt>>"
msgstr "B<#include E<lt>aio.hE<gt>>"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:30
+#: build/C/man3/aio_cancel.3:31
msgid "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
msgstr "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:32 build/C/man3/aio_error.3:32
-#: build/C/man3/aio_fsync.3:32 build/C/man3/aio_init.3:36
-#: build/C/man3/aio_read.3:32 build/C/man3/aio_return.3:32
-#: build/C/man3/aio_write.3:32
+#: build/C/man3/aio_cancel.3:33 build/C/man3/aio_error.3:33
+#: build/C/man3/aio_fsync.3:33 build/C/man3/aio_init.3:38
+#: build/C/man3/aio_read.3:33 build/C/man3/aio_return.3:33
+#: build/C/man3/aio_write.3:33
msgid "Link with I<-lrt>."
msgstr "I<-lrt> でリンクする。"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:50
-#, fuzzy
-#| msgid ""
-#| "The B<aio_cancel>() function attempts to cancel outstanding asynchronous "
-#| "I/O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all "
-#| "such requests are canceled. Otherwise, only the request described by the "
-#| "control block pointed to by I<aiocbp> is canceled."
+#: build/C/man3/aio_cancel.3:51
msgid ""
"The B<aio_cancel>() function attempts to cancel outstanding asynchronous I/"
"O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all such "
"block pointed to by I<aiocbp> is canceled. (See B<aio>(7) for a "
"description of the I<aiocb> structure.)"
msgstr ""
-"B<aio_cancel>() 関数は、ファイルディスクリプタ I<fd> についての完了していな"
-"い非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が NULL の場合、"
-"そのような全てのリクエストがキャンセルされる。 I<aiocbp> が NULL でない場"
-"合、 I<aiocbp> で指された制御ブロックで記述されたリクエストのみがキャンセルさ"
-"れる。"
+"B<aio_cancel>() 関数は、ファイルディスクリプタ I<fd> についての完了して\n"
+"いない非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が\n"
+"NULL の場合、そのような全てのリクエストがキャンセルされる。 I<aiocbp>\n"
+"が NULL でない場合、I<aiocbp> で指された制御ブロックで記述されたリクエ\n"
+"ストのみがキャンセルされる。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:63
+msgid ""
+"Normal asynchronous notification occurs for canceled requests (see B<aio>"
+"(7) and B<sigevent>(7)). The request return status (B<aio_return>(3)) is "
+"set to -1, and the request error status (B<aio_error>(3)) is set to "
+"B<ECANCELED>. The control block of requests that cannot be canceled is not "
+"changed."
+msgstr ""
+"キャンセルされたリクエストに対して、通常の非同期通知が起こる\n"
+"(B<aio>(7) と B<sigevent>(7) を参照)。\n"
+"リクエストの返り値 (B<aio_return>(3)) は -1 に設定され、\n"
+"リクエストのエラー状態 (B<aio_error>(3)) は B<ECANCELED> に設定される。\n"
+"キャンセルできないリクエストの制御ブロックは変更されない。"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:59
-#, fuzzy
-#| msgid ""
-#| "Normal asynchronous notification occurs for canceled requests. The "
-#| "request return status is set to -1, and the request error status is set "
-#| "to B<ECANCELED>. The control block of requests that cannot be canceled "
-#| "is not changed."
+#: build/C/man3/aio_cancel.3:70
msgid ""
-"Normal asynchronous notification occurs for canceled requests. The request "
-"return status (B<aio_return>(3)) is set to -1, and the request error status "
-"(B<aio_error>(3)) is set to B<ECANCELED>. The control block of requests "
-"that cannot be canceled is not changed."
+"If the request could not be canceled, then it will terminate in the usual "
+"way after performing the I/O operation. (In this case, B<aio_error>(3) "
+"will return the status B<EINPROGRESSS>.)"
msgstr ""
-"ã\82ã\83£ã\83³ã\82»ã\83«ã\81\95ã\82\8cã\81\9fã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\81«å¯¾ã\81\97ã\81¦ã\80\81é\80\9a常ã\81®é\9d\9eå\90\8cæ\9c\9fé\80\9aç\9f¥ã\81\8cèµ·ã\81\93ã\82\8bã\80\82 ã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\81®è¿\94"
-"り値は -1 に設定され、 リクエストのエラー状態は B<ECANCELED> に設定される。 "
-"キャンセルできなかったリクエストの制御ブロックは変更されない。"
+"ã\83ªã\82¯ã\82¨ã\82¹ã\83\88ã\81\8cã\82ã\83£ã\83³ã\82»ã\83«ã\81§ã\81\8dã\81ªã\81\84å ´å\90\88ã\81«ã\81¯ã\80\81\n"
+"B<aio_cancel>() は通常の I/O 操作の実行後と同じように終了する。\n"
+"(この場合、 B<aio_error>(3) はステータス B<EINPROGRESSS> を返す)。"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:66
+#: build/C/man3/aio_cancel.3:77
msgid ""
"If I<aiocbp> is not NULL, and I<fd> differs from the file descriptor with "
"which the asynchronous operation was initiated, unspecified results occur."
#. FreeBSD: not those on raw disk devices.
#. type: Plain text
-#: build/C/man3/aio_cancel.3:69
-#, fuzzy
-#| msgid "Which operations are cancellable is implementation-defined."
+#: build/C/man3/aio_cancel.3:80
msgid "Which operations are cancelable is implementation-defined."
msgstr "どの操作をキャンセルできるかは、実装定義である。"
#. type: SH
-#: build/C/man3/aio_cancel.3:69 build/C/man3/aio_error.3:43
-#: build/C/man3/aio_fsync.3:72 build/C/man3/aio_read.3:87
-#: build/C/man3/aio_return.3:48 build/C/man3/aio_suspend.3:79
-#: build/C/man3/aio_write.3:94 build/C/man2/io_cancel.2:51
-#: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:54
-#: build/C/man2/io_setup.2:49 build/C/man2/io_submit.2:48
-#: build/C/man3/lio_listio.3:107
+#: build/C/man3/aio_cancel.3:80 build/C/man3/aio_error.3:44
+#: build/C/man3/aio_fsync.3:73 build/C/man3/aio_read.3:88
+#: build/C/man3/aio_return.3:49 build/C/man3/aio_suspend.3:80
+#: build/C/man3/aio_write.3:95 build/C/man2/io_cancel.2:37
+#: build/C/man2/io_destroy.2:29 build/C/man2/io_getevents.2:34
+#: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:31
+#: build/C/man3/lio_listio.3:108
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"
#. type: Plain text
+#: build/C/man3/aio_cancel.3:84
+msgid "The B<aio_cancel>() function returns one of the following values:"
+msgstr "B<aio_cancel>() 関数は以下のいずれかの値を返す。"
+
+#. type: TP
+#: build/C/man3/aio_cancel.3:84
+#, no-wrap
+msgid "B<AIO_CANCELED>"
+msgstr "B<AIO_CANCELED>"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:87
+msgid "All requests were successfully canceled."
+msgstr "全てのリクエストが正常にキャンセルされた。"
+
+#. type: TP
#: build/C/man3/aio_cancel.3:87
-#, fuzzy
-#| msgid ""
-#| "This function returns B<AIO_CANCELED> if all requests were successfully "
-#| "canceled. It returns B<AIO_NOTCANCELED> when at least one of the "
-#| "requests specified was not canceled because it was in progress. In this "
-#| "case one may check the status of individual requests using B<aio_error>"
-#| "(3). This function returns B<AIO_ALLDONE> when all requests had been "
-#| "completed already before this call. When some error occurs, -1 is "
-#| "returned, and I<errno> is set appropriately."
-msgid ""
-"This function returns B<AIO_CANCELED> if all requests were successfully "
-"canceled. It returns B<AIO_NOTCANCELED> when at least one of the requests "
-"specified was not canceled because it was in progress. In this case one may "
-"check the status of individual requests using B<aio_error>(3). This "
-"function returns B<AIO_ALLDONE> if all requests had already been completed "
-"before this call. When some error occurs, -1 is returned, and I<errno> is "
-"set appropriately."
-msgstr ""
-"全てのリクエストのキャンセルが成功した場合、この関数は B<AIO_CANCELED> を返"
-"す。 指定されたリクエストのうち少なくとも 1 つが進行中であるために キャンセル"
-"できなかった場合は、 B<AIO_NOTCANCELED> が返される。 この場合は、 "
-"B<aio_error>(3) を使って個々のリクエストの状態をチェックすることができる。 "
-"呼び出される前に全てのリクエストが完了していた場合、 この関数は "
-"B<AIO_ALLDONE> を返す。 何らかのエラーが起こった場合は、-1 が返されて、 "
-"I<errno> が適切に設定される。"
+#, no-wrap
+msgid "B<AIO_NOTCANCELED>"
+msgstr "B<AIO_NOTCANCELED>"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:93
+msgid ""
+"At least one of the requests specified was not canceled because it was in "
+"progress. In this case, one may check the status of individual requests "
+"using B<aio_error>(3)."
+msgstr ""
+"指定されたリクエストのうち少なくとも一つが、実行中のため\n"
+"キャンセルできなかった。この場合には、B<aio_error>(3) を使って\n"
+"個々のリクエストの状態を確認できる。"
+
+#. type: TP
+#: build/C/man3/aio_cancel.3:93
+#, no-wrap
+msgid "B<AIO_ALLDONE>"
+msgstr "B<AIO_ALLDONE>"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:96
+msgid "All requests had already been completed before the call."
+msgstr "呼び出しの前に全てのリクエストがすでに完了していた。"
+
+#. type: TP
+#: build/C/man3/aio_cancel.3:96
+#, no-wrap
+msgid "-1"
+msgstr "-1"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:101
+msgid ""
+"An error occurred. The cause of the error can be found by inspecting "
+"I<errno>."
+msgstr ""
+"エラーが発生した。\n"
+"I<errno> を確認することでエラーの原因を知ることができる。"
#. type: TP
-#: build/C/man3/aio_cancel.3:88 build/C/man3/aio_fsync.3:82
-#: build/C/man3/aio_read.3:106 build/C/man3/aio_write.3:113
-#: build/C/man2/io_submit.2:58
+#: build/C/man3/aio_cancel.3:102 build/C/man3/aio_fsync.3:83
+#: build/C/man3/aio_read.3:107 build/C/man3/aio_write.3:114
+#: build/C/man2/io_submit.2:41
#, no-wrap
msgid "B<EBADF>"
msgstr "B<EBADF>"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:92
+#: build/C/man3/aio_cancel.3:106
msgid "I<fd> is not a valid file descriptor."
msgstr "I<fd> が有効なファイルディスクリプタでない。"
+#. type: TP
+#: build/C/man3/aio_cancel.3:106 build/C/man3/aio_error.3:74
+#: build/C/man3/aio_fsync.3:95 build/C/man3/aio_read.3:119
+#: build/C/man3/aio_return.3:69 build/C/man3/aio_suspend.3:99
+#: build/C/man3/aio_write.3:129 build/C/man2/io_cancel.2:52
+#: build/C/man2/io_destroy.2:41 build/C/man2/io_getevents.2:53
+#: build/C/man2/io_setup.2:54 build/C/man2/io_submit.2:56
+#, no-wrap
+msgid "B<ENOSYS>"
+msgstr "B<ENOSYS>"
+
#. type: Plain text
-#: build/C/man3/aio_cancel.3:96
+#: build/C/man3/aio_cancel.3:110
+msgid "B<aio_cancel>() is not implemented."
+msgstr "B<aio_cancel>() は実装されていない。"
+
+#. type: Plain text
+#: build/C/man3/aio_cancel.3:114
msgid "The B<aio_cancel>() function is available since glibc 2.1."
-msgstr ""
+msgstr "B<aio_cancel>() 関数は glibc 2.1 以降で利用できる。"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:101 build/C/man3/aio_error.3:82
-#: build/C/man3/aio_read.3:147 build/C/man3/aio_return.3:77
-#, fuzzy
-#| msgid "B<aio>(7)"
+#: build/C/man3/aio_cancel.3:119 build/C/man3/aio_error.3:92
+#: build/C/man3/aio_read.3:149 build/C/man3/aio_return.3:87
msgid "See B<aio>(7)."
-msgstr "B<aio>(7)"
+msgstr "B<aio>(7) を参照。"
#. type: Plain text
-#: build/C/man3/aio_cancel.3:110
-#, fuzzy
-#| msgid ""
-#| "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3)"
+#: build/C/man3/aio_cancel.3:128
msgid ""
"B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
msgstr ""
-"B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3)"
+"B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), \n"
+"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
#. type: TH
-#: build/C/man3/aio_error.3:23
+#: build/C/man3/aio_error.3:24
#, no-wrap
msgid "AIO_ERROR"
msgstr "AIO_ERROR"
#. type: TH
-#: build/C/man3/aio_error.3:23 build/C/man3/aio_read.3:23
-#: build/C/man3/aio_return.3:23
-#, fuzzy, no-wrap
-#| msgid "2010-10-02"
-msgid "2010-10-03"
-msgstr "2010-10-02"
+#: build/C/man3/aio_error.3:24 build/C/man3/aio_return.3:24
+#, no-wrap
+msgid "2013-07-04"
+msgstr "2013-07-04"
#. type: Plain text
-#: build/C/man3/aio_error.3:26
+#: build/C/man3/aio_error.3:27
msgid "aio_error - get error status of asynchronous I/O operation"
msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する"
#. type: Plain text
-#: build/C/man3/aio_error.3:30
+#: build/C/man3/aio_error.3:31
msgid "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
msgstr "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_error.3:43
-#, fuzzy
-#| msgid ""
-#| "The B<aio_error>() function returns the error status for the "
-#| "asynchronous I/O request with control block pointed to by I<aiocbp>."
+#: build/C/man3/aio_error.3:44
msgid ""
"The B<aio_error>() function returns the error status for the asynchronous I/"
"O request with control block pointed to by I<aiocbp>. (See B<aio>(7) for a "
"description of the I<aiocb> structure.)"
msgstr ""
-"B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
-"ストのエラー状態を返す。"
+"B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
+"ス\n"
+"トのエラー状態を返す。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
#. type: Plain text
-#: build/C/man3/aio_error.3:45
+#: build/C/man3/aio_error.3:46
msgid "This function returns one of the following:"
-msgstr ""
+msgstr "この関数の返り値は以下のいずれかである。"
#. type: IP
-#: build/C/man3/aio_error.3:45 build/C/man3/aio_error.3:49
-#: build/C/man3/aio_error.3:52 build/C/man3/aio_error.3:54
-#: build/C/man3/aio_suspend.3:42 build/C/man3/aio_suspend.3:46
-#: build/C/man3/aio_suspend.3:48
+#: build/C/man3/aio_error.3:46 build/C/man3/aio_error.3:50
+#: build/C/man3/aio_error.3:53 build/C/man3/aio_error.3:55
+#: build/C/man3/aio_suspend.3:43 build/C/man3/aio_suspend.3:47
+#: build/C/man3/aio_suspend.3:49
#, no-wrap
msgid "*"
-msgstr ""
+msgstr "*"
#. type: Plain text
-#: build/C/man3/aio_error.3:49
+#: build/C/man3/aio_error.3:50
msgid "B<EINPROGRESS>, if the request has not been completed yet."
-msgstr ""
+msgstr "B<EINPROGRESS> (リクエストがまだ完了していない場合)"
#. type: Plain text
-#: build/C/man3/aio_error.3:52
+#: build/C/man3/aio_error.3:53
msgid "B<ECANCELED>, if the request was canceled."
-msgstr ""
+msgstr "B<ECANCELED> (リクエストがキャンセルされた場合)"
#. type: Plain text
-#: build/C/man3/aio_error.3:54
+#: build/C/man3/aio_error.3:55
msgid "0, if the request completed successfully."
-msgstr ""
+msgstr "0 (リクエストが正常に完了した場合)"
#. type: Plain text
-#: build/C/man3/aio_error.3:65
+#: build/C/man3/aio_error.3:66
msgid ""
-"A positive error, if the asynchronous I/O operation failed. This is the "
-"same value that would have been stored in the I<errno> variable in the case "
-"of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or B<fdatasync>(2) "
-"call."
+"A positive error number, if the asynchronous I/O operation failed. This is "
+"the same value that would have been stored in the I<errno> variable in the "
+"case of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or B<fdatasync>"
+"(2) call."
msgstr ""
+"正のエラー番号 (非同期 I/O 命令が失敗した場合)。\n"
+"同期の B<read>(2), B<write>(2), B<fsync>(2), B<fdatasync>(2) の呼び出しの場合"
+"で\n"
+"I<errno> 変数に格納されるのと同じ値になる。"
#. type: Plain text
-#: build/C/man3/aio_error.3:73
+#: build/C/man3/aio_error.3:74
msgid ""
"I<aiocbp> does not point at a control block for an asynchronous I/O request "
"of which the return status (see B<aio_return>(3)) has not been retrieved "
"れていない非同期 I/O リクエストの制御ブロックを指していない。"
#. type: Plain text
-#: build/C/man3/aio_error.3:77
+#: build/C/man3/aio_error.3:78
+msgid "B<aio_error>() is not implemented."
+msgstr "B<aio_error>() は実装されていない。"
+
+#. type: Plain text
+#: build/C/man3/aio_error.3:82
msgid "The B<aio_error>() function is available since glibc 2.1."
-msgstr ""
+msgstr "B<aio_error>() 関数は glibc 2.1 以降で利用できる。"
+
+#. type: SH
+#: build/C/man3/aio_error.3:82 build/C/man3/aio_return.3:77
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/aio_error.3:83 build/C/man3/aio_return.3:78
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
#. type: Plain text
-#: build/C/man3/aio_error.3:91
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3)"
+#: build/C/man3/aio_error.3:87
+msgid "The B<aio_error>() function is thread-safe."
+msgstr "B<aio_error>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/aio_error.3:101
msgid ""
"B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
msgstr ""
"B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3)"
+"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
#. type: TH
-#: build/C/man3/aio_fsync.3:23
+#: build/C/man3/aio_fsync.3:24
#, no-wrap
msgid "AIO_FSYNC"
msgstr "AIO_FSYNC"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:26
+#: build/C/man3/aio_fsync.3:27
msgid "aio_fsync - asynchronous file synchronization"
msgstr "aio_fsync - 非同期ファイルを同期させる"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:30
+#: build/C/man3/aio_fsync.3:31
msgid "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
msgstr "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:43
-#, fuzzy
-#| msgid ""
-#| "The B<aio_fsync>() function does a sync on all outstanding asynchronous "
-#| "I/O operations associated with I<aiocbp-E<gt>aio_fildes>."
+#: build/C/man3/aio_fsync.3:44
msgid ""
"The B<aio_fsync>() function does a sync on all outstanding asynchronous I/O "
"operations associated with I<aiocbp-E<gt>aio_fildes>. (See B<aio>(7) for a "
"description of the I<aiocb> structure.)"
msgstr ""
-"B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ完"
-"了していない全ての非同期 I/O 操作を同期させる。"
+"B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ\n"
+"完了していない全ての非同期 I/O 操作を同期させる。\n"
+"(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:57
-#, fuzzy
-#| msgid ""
-#| "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
-#| "operations shall be completed as if by a call of B<fsync>(2), and if "
-#| "I<op> is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>"
-#| "(2). Note that this is a request only \\(em this call does not wait for "
-#| "I/O completion."
+#: build/C/man3/aio_fsync.3:58
msgid ""
"More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
"operations shall be completed as if by a call of B<fsync>(2), and if I<op> "
"is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>(2)."
msgstr ""
-"より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全て"
-"の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また "
-"I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版とな"
-"る。 この関数はリクエストを行うだけである点に注意すること \\(em この呼び出し"
-"は I/O の完了を待たない。"
+"より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全"
+"て\n"
+"の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また\n"
+"I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版となる。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:59
+#: build/C/man3/aio_fsync.3:60
msgid "Note that this is a request only; it does not wait for I/O completion."
msgstr ""
+"この関数はリクエストを行うだけである点に注意すること。\n"
+"I/O の完了の待ち合わせは行わない。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:72
-#, fuzzy
-#| msgid ""
-#| "Apart from I<aio_fildes> the only field in the structure pointed to by "
-#| "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
-#| "I<struct sigevent>) that indicates the desired type of asynchronous "
-#| "notification at completion. All other fields are ignored."
+#: build/C/man3/aio_fsync.3:73
msgid ""
"Apart from I<aio_fildes>, the only field in the structure pointed to by "
"I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
"desired type of asynchronous notification at completion. All other fields "
"are ignored."
msgstr ""
-"I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes> 以"
-"外に使用されるのは I<aio_sigevent> フィールド (I<struct sigevent>) のみであ"
-"る。 このフィールドは、完了時の非同期通知に使用したいタイプを示す。 その他の"
-"フィールドは無視される。"
+"I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes>\n"
+"以外に使用されるのは I<aio_sigevent> フィールド (I<sigevent> 構造体、説明は\n"
+"B<sigevent>(7) 参照) のみである。このフィールドは、完了時の非同期通知に使用\n"
+"ã\81\97ã\81\9fã\81\84ã\82¿ã\82¤ã\83\97ã\82\92示ã\81\99ã\80\82 ã\81\9dã\81®ä»\96ã\81®ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81¯ç\84¡è¦\96ã\81\95ã\82\8cã\82\8bã\80\82"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:78
+#: build/C/man3/aio_fsync.3:79
msgid ""
"On success (the sync request was successfully queued) this function returns "
"0. On error -1 is returned, and I<errno> is set appropriately."
"を返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
#. type: TP
-#: build/C/man3/aio_fsync.3:79 build/C/man3/aio_read.3:103
-#: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
-#: build/C/man2/io_cancel.2:57 build/C/man2/io_setup.2:55
-#: build/C/man2/io_submit.2:55 build/C/man3/lio_listio.3:149
-#: build/C/man3/lio_listio.3:152
+#: build/C/man3/aio_fsync.3:80 build/C/man3/aio_read.3:104
+#: build/C/man3/aio_suspend.3:89 build/C/man3/aio_write.3:111
+#: build/C/man2/io_cancel.2:43 build/C/man2/io_setup.2:38
+#: build/C/man2/io_submit.2:38 build/C/man3/lio_listio.3:150
+#: build/C/man3/lio_listio.3:153
#, no-wrap
msgid "B<EAGAIN>"
msgstr "B<EAGAIN>"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:82 build/C/man3/aio_read.3:106
-#: build/C/man3/aio_write.3:113 build/C/man3/lio_listio.3:152
+#: build/C/man3/aio_fsync.3:83 build/C/man3/aio_read.3:107
+#: build/C/man3/aio_write.3:114 build/C/man3/lio_listio.3:153
msgid "Out of resources."
msgstr "リソースが足りない。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:86 build/C/man3/aio_write.3:117
+#: build/C/man3/aio_fsync.3:87 build/C/man3/aio_write.3:118
msgid "I<aio_fildes> is not a valid file descriptor open for writing."
msgstr ""
"I<aio_fildes> が書き込みのためにオープンされた有効なファイルディスクリプタで"
"はない。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:94
-#, fuzzy
-#| msgid ""
-#| "No synchronized I/O for this file is supported, or I<op> is not B<O_SYNC> "
-#| "or B<O_DSYNC>."
+#: build/C/man3/aio_fsync.3:95
msgid ""
"Synchronized I/O is not supported for this file, or I<op> is not B<O_SYNC> "
"or B<O_DSYNC>."
msgstr ""
-"ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«å¯¾ã\81\99ã\82\8b同期 I/O がサポートされていない。\n"
+"ã\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81§ã\81¯同期 I/O がサポートされていない。\n"
"または I<op> が B<O_SYNC> でも B<O_DSYNC> でもない。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:98
+#: build/C/man3/aio_fsync.3:99
+msgid "B<aio_fsync>() is not implemented."
+msgstr "B<aio_fsync>() は実装されていない。"
+
+#. type: Plain text
+#: build/C/man3/aio_fsync.3:103
msgid "The B<aio_fsync>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_fsync>() 関数は glibc 2.1 以降で利用できる。"
#. type: Plain text
-#: build/C/man3/aio_fsync.3:110
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+#: build/C/man3/aio_fsync.3:115
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
"(7)"
msgstr ""
-"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+"B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
+"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
+"(7)"
#. type: TH
-#: build/C/man3/aio_init.3:24
+#: build/C/man3/aio_init.3:26
#, no-wrap
msgid "AIO_INIT"
msgstr "AIO_INIT"
#. type: TH
-#: build/C/man3/aio_init.3:24
+#: build/C/man3/aio_init.3:26
#, no-wrap
-msgid "2010-10-06"
-msgstr "2010-10-06"
+msgid "2012-04-26"
+msgstr "2012-04-26"
#. type: Plain text
-#: build/C/man3/aio_init.3:27
-msgid "aio_init - POSIX asynchronous I/O initialization"
-msgstr ""
+#: build/C/man3/aio_init.3:29
+msgid "aio_init - asynchronous I/O initialization"
+msgstr "aio_init - 非同期 I/O の初期化"
#. type: Plain text
-#: build/C/man3/aio_init.3:31
+#: build/C/man3/aio_init.3:33
#, no-wrap
msgid ""
"B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
"B<#include E<lt>aio.hE<gt>>\n"
#. type: Plain text
-#: build/C/man3/aio_init.3:33
+#: build/C/man3/aio_init.3:35
#, no-wrap
msgid "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
msgstr "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
#. type: Plain text
-#: build/C/man3/aio_init.3:43
+#: build/C/man3/aio_init.3:45
msgid ""
"The GNU-specific B<aio_init>() function allows the caller to provide tuning "
"hints to the glibc POSIX AIO implementation. Use of this function is "
"optional, but to be effective, it must be called before employing any other "
"functions in the POSIX AIO API."
msgstr ""
+"GNU 固有の B<aio_init>() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装"
+"に\n"
+"対して調整 (チューニング) のヒントを与えることができる。この関数は使用しな"
+"く\n"
+"てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前"
+"に\n"
+"呼び出さなければならない。"
#. type: Plain text
-#: build/C/man3/aio_init.3:47
+#: build/C/man3/aio_init.3:49
msgid ""
"The tuning information is provided in the buffer pointed to by the argument "
"I<init>. This buffer is a structure of the following form:"
msgstr ""
+"チューニングの情報は、引き数 I<init> が指すバッファで与える。\n"
+"このバッファは以下の形式の構造体である。"
#. type: Plain text
-#: build/C/man3/aio_init.3:62
+#: build/C/man3/aio_init.3:64
#, no-wrap
msgid ""
"struct aioinit {\n"
"};\n"
#. type: Plain text
-#: build/C/man3/aio_init.3:68
+#: build/C/man3/aio_init.3:70
msgid "The following fields are used in the I<aioinit> structure:"
-msgstr ""
+msgstr "I<aioinit> 構造体のフィールドのうち以下が使用される。"
#. type: TP
-#: build/C/man3/aio_init.3:68
+#: build/C/man3/aio_init.3:70
#, no-wrap
msgid "I<aio_threads>"
msgstr "I<aio_threads>"
#. type: Plain text
-#: build/C/man3/aio_init.3:76
+#: build/C/man3/aio_init.3:78
msgid ""
"This field specifies the maximum number of worker threads that may be used "
"by the implementation. If the number of outstanding I/O operations exceeds "
"becomes free. If this field is specified with a value less than 1, the "
"value 1 is used. The default value is 20."
msgstr ""
+"このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定す"
+"る。\n"
+"完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は\n"
+"空いたワーカースレッドができるまでキューに入る。\n"
+"このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。\n"
+"デフォルト値は 20 である。"
#. type: TP
-#: build/C/man3/aio_init.3:76
+#: build/C/man3/aio_init.3:78
#, no-wrap
msgid "I<aio_num>"
msgstr "I<aio_num>"
#. FIXME But, if aio_num > 32, the behavior looks strange. See
#. http://sourceware.org/bugzilla/show_bug.cgi?id=12083
#. type: Plain text
-#: build/C/man3/aio_init.3:85
+#: build/C/man3/aio_init.3:87
msgid ""
"This field should specify the maximum number of simultaneous I/O requests "
"that the caller expects to enqueue. If a value less than 32 is specified "
"for this field, it is rounded up to 32. The default value is 64."
msgstr ""
+"このフィールドは、呼び出し側がキューに入れる予定の\n"
+"同時 I/O リクエスト数の最大値を指定する。\n"
+"このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。\n"
+"デフォルト値は 64 である。"
#. type: TP
-#: build/C/man3/aio_init.3:85
+#: build/C/man3/aio_init.3:87
#, no-wrap
msgid "I<aio_idle_time>"
msgstr "I<aio_idle_time>"
#. type: Plain text
-#: build/C/man3/aio_init.3:91
+#: build/C/man3/aio_init.3:93
msgid ""
"This field specifies the amount of time in seconds that a worker thread "
"should wait for further requests before terminating, after having completed "
"a previous request. The default value is 1."
msgstr ""
+"このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してか"
+"ら、\n"
+"次のリクエストをどのくらい時間待つかを秒単位で指定する。\n"
+"指定した時間を経過しても次のリクエストがなければ、\n"
+"そのワーカースレッドは終了される。デフォルト値は 1 秒である。"
#. type: Plain text
-#: build/C/man3/aio_init.3:95
+#: build/C/man3/aio_init.3:97
msgid "The B<aio_init>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_init>() 関数は glibc 2.1 以降で利用できる。"
#. type: Plain text
-#: build/C/man3/aio_init.3:97
+#: build/C/man3/aio_init.3:99
msgid "This function is a GNU extension."
-msgstr ""
+msgstr "この関数は GNU による拡張である。"
#. type: Plain text
-#: build/C/man3/aio_init.3:99
+#: build/C/man3/aio_init.3:101
msgid "B<aio>(7)"
msgstr "B<aio>(7)"
#. type: TH
-#: build/C/man3/aio_read.3:23
+#: build/C/man3/aio_read.3:24
#, no-wrap
msgid "AIO_READ"
msgstr "AIO_READ"
#. type: Plain text
-#: build/C/man3/aio_read.3:26
+#: build/C/man3/aio_read.3:27
msgid "aio_read - asynchronous read"
msgstr "aio_read - 非同期で読み込む"
#. type: Plain text
-#: build/C/man3/aio_read.3:30
+#: build/C/man3/aio_read.3:31
msgid "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
msgstr "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_read.3:40
+#: build/C/man3/aio_read.3:41
msgid ""
"The B<aio_read>() function queues the I/O request described by the buffer "
"pointed to by I<aiocbp>. This function is the asynchronous analog of B<read>"
"(2). The arguments of the call"
msgstr ""
+"B<aio_read>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエストを\n"
+"キューに入れる。この関数は B<read>(2) の非同期版である。\n"
+"呼び出し"
#. type: Plain text
-#: build/C/man3/aio_read.3:42
+#: build/C/man3/aio_read.3:43
#, no-wrap
msgid " read(fd, buf, count)\n"
-msgstr ""
+msgstr " read(fd, buf, count)\n"
#. type: Plain text
-#: build/C/man3/aio_read.3:55 build/C/man3/aio_write.3:55
+#: build/C/man3/aio_read.3:56 build/C/man3/aio_write.3:56
msgid ""
"correspond (in order) to the fields I<aio_fildes>, I<aio_buf>, and "
"I<aio_nbytes> of the structure pointed to by I<aiocbp>. (See B<aio>(7) for "
"a description of the I<aiocb> structure.)"
msgstr ""
+"の各引き数は I<aiocb> が指す構造体の I<aio_fildes>, I<aio_buf>, "
+"I<aio_nbytes>\n"
+"に (この順序で) 対応する (I<aiocb> 構造体の説明は B<aio>(7) を参照)。"
#. type: Plain text
-#: build/C/man3/aio_read.3:61
-#, fuzzy
-#| msgid ""
-#| "The data is read starting at the absolute file offset I<aiocbp-"
-#| "E<gt>aio_offset>, regardless of the current file position. After this "
-#| "request, the value of the current file position is unspecified."
+#: build/C/man3/aio_read.3:62
msgid ""
"The data is read starting at the absolute file offset I<aiocbp-"
"E<gt>aio_offset>, regardless of the current file offset. After the call, "
"the value of the current file offset is unspecified."
msgstr ""
-"ã\83\87ã\83¼ã\82¿ã\81¯ã\80\81ã\82«ã\83¬ã\83³ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ä½\8dç½®ã\81«é\96¢ä¿\82ã\81ªã\81\8fã\80\81絶対ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88 I<aiocbp-"
-"E<gt>aio_offset> を開始点として読み込まれる。 このリクエスト後の、カレントの"
-"ファイル位置は規定されていない。"
+"ã\83\87ã\83¼ã\82¿ã\81®èªã\81¿è¾¼ã\81¿ã\81¯ã\80\81ã\82«ã\83¬ã\83³ã\83\88ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82ªã\83\95ã\82»ã\83\83ã\83\88ã\81«é\96¢ä¿\82ã\81ªã\81\8fã\80\81\n"
+"絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として行われる。\n"
+"呼び出しの後のカレントのファイルオフセットは規定されていない。"
#. type: Plain text
-#: build/C/man3/aio_read.3:74
-#, fuzzy
-#| msgid ""
-#| "The \"asynchronous\" means that this call returns as soon as the request "
-#| "has been enqueued; the read may or may not have completed when the call "
-#| "returns. One tests for completion using B<aio_error>(3)."
+#: build/C/man3/aio_read.3:75
msgid ""
"The \"asynchronous\" means that this call returns as soon as the request has "
"been enqueued; the read may or may not have completed when the call "
"returns. One tests for completion using B<aio_error>(3). The return status "
-"of a completed I/O operation can be obtained B<aio_return>(3). Asynchronous "
-"notification of I/O completion can be obtained by setting I<aiocbp-"
-"E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
+"of a completed I/O operation can be obtained by B<aio_return>(3). "
+"Asynchronous notification of I/O completion can be obtained by setting "
+"I<aiocbp-E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
msgstr ""
-"「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」 "
+"「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
+"る」\n"
"ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない"
-"し、 完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテ"
-"ストできる。"
+"し、\n"
+"完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
+"きる。\n"
+"完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
+"I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
+"I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
#. type: Plain text
-#: build/C/man3/aio_read.3:81 build/C/man3/aio_write.3:88
+#: build/C/man3/aio_read.3:82 build/C/man3/aio_write.3:89
msgid ""
"If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the "
"asynchronous operation is submitted at a priority equal to that of the "
"E<gt>aio_reqprio> を引いた優先度で登録 (submit) される。"
#. type: Plain text
-#: build/C/man3/aio_read.3:85 build/C/man3/aio_write.3:92
+#: build/C/man3/aio_read.3:86 build/C/man3/aio_write.3:93
msgid "The field I<aiocbp-E<gt>aio_lio_opcode> is ignored."
msgstr "フィールド I<aiocbp-E<gt>aio_lio_opcode> は無視される。"
#. type: Plain text
-#: build/C/man3/aio_read.3:87
+#: build/C/man3/aio_read.3:88
msgid "No data is read from a regular file beyond its maximum offset."
msgstr ""
"最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。"
#. type: Plain text
-#: build/C/man3/aio_read.3:102 build/C/man3/aio_write.3:109
-#, fuzzy
-#| msgid ""
-#| "On success, 0 is returned. On error the request is not enqueued, -1 is "
-#| "returned, and I<errno> is set appropriately. If an error is first "
-#| "detected later, it will be reported via B<aio_return>(3) (returns status "
-#| "-1) and B<aio_error>(3) (error status whatever one would have gotten in "
-#| "I<errno>, such as B<EBADF>)."
+#: build/C/man3/aio_read.3:103 build/C/man3/aio_write.3:110
msgid ""
"On success, 0 is returned. On error the request is not enqueued, -1 is "
-"returned, and I<errno> is set appropriately. If an error is only detected "
+"returned, and I<errno> is set appropriately. If an error is detected only "
"later, it will be reported via B<aio_return>(3) (returns status -1) and "
"B<aio_error>(3) (error status\\(emwhatever one would have gotten in "
"I<errno>, such as B<EBADF>)."
msgstr ""
-"成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、 "
-"-1 が返されて、 I<errno> が適切に設定される。 エラーは最初に検知された後で、 "
-"(状態 -1 を返す) B<aio_return>(3) と (I<errno> で取得できる B<EBADF> のよう"
-"なエラー状態を返す) B<aio_error>(3) で報告されるだろう。"
+"成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、\n"
+"-1 が返されて、 I<errno> が適切に設定される。 エラーは後でのみ検知された場合"
+"は、\n"
+"エラーは B<aio_return>(3) と B<aio_error>(3) 経由で報告されることになる\n"
+"(B<aio_return>(3) は状態 -1 を返し、B<aio_error>(3) でエラー状態\\(em\n"
+"I<errno> で取得できる B<EBADF> のようなエラー状態が返される)。"
#. type: Plain text
-#: build/C/man3/aio_read.3:110
+#: build/C/man3/aio_read.3:111
msgid "I<aio_fildes> is not a valid file descriptor open for reading."
msgstr ""
"I<aio_fildes> は読み込みのためにオープンされた有効なファイルディスクリプタで"
"ない。"
#. type: Plain text
-#: build/C/man3/aio_read.3:118
-#, fuzzy
-#| msgid ""
-#| "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
+#: build/C/man3/aio_read.3:119
msgid ""
"One or more of I<aio_offset>, I<aio_reqprio>, or I<aio_nbytes> are invalid."
msgstr ""
"I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
-#. type: TP
-#: build/C/man3/aio_read.3:118 build/C/man3/aio_write.3:128
-#: build/C/man2/io_cancel.2:66 build/C/man2/io_destroy.2:60
-#: build/C/man2/io_getevents.2:73 build/C/man2/io_setup.2:69
-#: build/C/man2/io_submit.2:71
-#, no-wrap
-msgid "B<ENOSYS>"
-msgstr "B<ENOSYS>"
-
#. type: Plain text
-#: build/C/man3/aio_read.3:121 build/C/man3/aio_write.3:131
-msgid "This function is not supported."
-msgstr "この関数がサポートされていない。"
+#: build/C/man3/aio_read.3:123
+msgid "B<aio_read>() is not implemented."
+msgstr "B<aio_read>() は実装されていない。"
#. type: TP
-#: build/C/man3/aio_read.3:121
+#: build/C/man3/aio_read.3:123
#, no-wrap
msgid "B<EOVERFLOW>"
msgstr "B<EOVERFLOW>"
#. type: Plain text
-#: build/C/man3/aio_read.3:126
+#: build/C/man3/aio_read.3:128
msgid ""
"The file is a regular file, we start reading before end-of-file and want at "
"least one byte, but the starting position is past the maximum offset for "
"フセットを超えていた。"
#. type: Plain text
-#: build/C/man3/aio_read.3:130
+#: build/C/man3/aio_read.3:132
msgid "The B<aio_read>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_read>() 関数は glibc 2.1 以降で利用できる。"
#. or the control block of the operation
#. type: Plain text
-#: build/C/man3/aio_read.3:140
-#, fuzzy
-#| msgid ""
-#| "It is a good idea to zero out the control block before use. This control "
-#| "block must not be changed while the read operation is in progress. The "
-#| "buffer area being read into must not be accessed during the operation or "
-#| "undefined results may occur. The memory areas involved must remain valid."
+#: build/C/man3/aio_read.3:142
msgid ""
"It is a good idea to zero out the control block before use. The control "
"block must not be changed while the read operation is in progress. The "
"これに含まれるメモリ領域は、有効なままにしなければならない。"
#. type: Plain text
-#: build/C/man3/aio_read.3:144 build/C/man3/aio_write.3:149
-#: build/C/man3/lio_listio.3:218
+#: build/C/man3/aio_read.3:146 build/C/man3/aio_write.3:151
+#: build/C/man3/lio_listio.3:219
msgid ""
"Simultaneous I/O operations specifying the same I<aiocb> structure produce "
"undefined results."
msgstr ""
+"同じ I<aiocb> 構造体を指定して同時に複数の I/O 操作を行った場合、\n"
+"どのような結果になるかは不定である。"
#. type: Plain text
-#: build/C/man3/aio_read.3:156
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+#: build/C/man3/aio_read.3:158
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
msgstr ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
#. type: TH
-#: build/C/man3/aio_return.3:23
+#: build/C/man3/aio_return.3:24
#, no-wrap
msgid "AIO_RETURN"
msgstr "AIO_RETURN"
#. type: Plain text
-#: build/C/man3/aio_return.3:26
+#: build/C/man3/aio_return.3:27
msgid "aio_return - get return status of asynchronous I/O operation"
msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する"
#. type: Plain text
-#: build/C/man3/aio_return.3:30
+#: build/C/man3/aio_return.3:31
msgid "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
msgstr "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_return.3:43
-#, fuzzy
-#| msgid ""
-#| "The B<aio_return>() function returns the final return status for the "
-#| "asynchronous I/O request with control block pointed to by I<aiocbp>."
+#: build/C/man3/aio_return.3:44
msgid ""
"The B<aio_return>() function returns the final return status for the "
"asynchronous I/O request with control block pointed to by I<aiocbp>. (See "
"B<aio>(7) for a description of the I<aiocb> structure.)"
msgstr ""
-"B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O リ"
-"クエストの最終的な返り値を返す。"
+"B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O\n"
+"リクエストの最終的な返り値を返す。\n"
+"(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
#. type: Plain text
-#: build/C/man3/aio_return.3:48
+#: build/C/man3/aio_return.3:49
msgid ""
"This function should be called only once for any given request, after "
"B<aio_error>(3) returns something other than B<EINPROGRESS>."
"リクエストに対して 1 回だけ呼ばれるべきである。"
#. type: Plain text
-#: build/C/man3/aio_return.3:57
-#, fuzzy
-#| msgid ""
-#| "If the asynchronous I/O operation has completed, this function returns "
-#| "the value that would have been returned in case of a synchronous I<read>, "
-#| "I<write>, or I<fsync> request. Otherwise the return value is undefined. "
-#| "On error, the error value is returned."
+#: build/C/man3/aio_return.3:58
msgid ""
"If the asynchronous I/O operation has completed, this function returns the "
"value that would have been returned in case of a synchronous B<read>(2), "
"B<write>(2), B<fsync>(2) or B<fdatasync>(2), call."
msgstr ""
-"非同期 I/O 操作が完了した場合、この関数は同期 I<read>, I<write>, I<fsync> リ"
-"クエストのときに返されるのと同じ値を返す。 それ以外の場合、返り値は未定義であ"
-"る。 エラーの場合、エラー値が返される。"
+"非同期 I/O 操作が完了した場合、この関数は、同期呼び出し B<read>(2),\n"
+"B<write>(2), B<fsync>(2), B<fdatasync>(2) が返すのと同じ値を返す。"
#. type: Plain text
-#: build/C/man3/aio_return.3:62
+#: build/C/man3/aio_return.3:63
msgid ""
"If the asynchronous I/O operation has not yet completed, the return value "
"and effect of B<aio_return>() are undefined."
msgstr ""
+"非同期 I/O 操作が完了していない場合、\n"
+"B<aio_return>() の返り値とその影響は不定である。"
#. type: Plain text
-#: build/C/man3/aio_return.3:68
+#: build/C/man3/aio_return.3:69
msgid ""
"I<aiocbp> does not point at a control block for an asynchronous I/O request "
"of which the return status has not been retrieved yet."
"クを指していない。"
#. type: Plain text
-#: build/C/man3/aio_return.3:72
+#: build/C/man3/aio_return.3:73
+msgid "B<aio_return>() is not implemented."
+msgstr "B<aio_return>() は実装されていない。"
+
+#. type: Plain text
+#: build/C/man3/aio_return.3:77
msgid "The B<aio_return>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_return>() 関数は glibc 2.1 以降で利用できる。"
#. type: Plain text
-#: build/C/man3/aio_return.3:86
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+#: build/C/man3/aio_return.3:82
+msgid "The B<aio_return>() function is thread-safe."
+msgstr "The B<aio_return>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/aio_return.3:96
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
msgstr ""
-"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
+"B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
#. type: TH
-#: build/C/man3/aio_suspend.3:24
+#: build/C/man3/aio_suspend.3:25
#, no-wrap
msgid "AIO_SUSPEND"
msgstr "AIO_SUSPEND"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:27
+#: build/C/man3/aio_suspend.3:28
msgid "aio_suspend - wait for asynchronous I/O operation or timeout"
msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:31 build/C/man3/lio_listio.3:29
+#: build/C/man3/aio_suspend.3:32 build/C/man3/lio_listio.3:30
#, no-wrap
msgid "B<#include E<lt>aio.hE<gt>>\n"
msgstr "B<#include E<lt>aio.hE<gt>>\n"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:33
-#, fuzzy, no-wrap
-#| msgid "B<int aio_suspend(const struct aiocb * const >I<cblist>B<[],>\n"
+#: build/C/man3/aio_suspend.3:34
+#, no-wrap
msgid "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
-msgstr "B<int aio_suspend(const struct aiocb * const >I<cblist>B<[],>\n"
+msgstr "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:35
-#, fuzzy, no-wrap
-#| msgid "B< int >I<n>B<, const struct timespec *>I<timeout>B<);>\n"
+#: build/C/man3/aio_suspend.3:36
+#, no-wrap
msgid "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
-msgstr "B< int >I<n>B<, const struct timespec *>I<timeout>B<);>\n"
+msgstr "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:37 build/C/man3/lio_listio.3:34
+#: build/C/man3/aio_suspend.3:38 build/C/man3/lio_listio.3:35
#, no-wrap
msgid "Link with I<-lrt>.\n"
msgstr "I<-lrt> でリンクする。\n"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:42
+#: build/C/man3/aio_suspend.3:43
msgid ""
"The B<aio_suspend>() function suspends the calling thread until one of the "
"following occurs:"
msgstr ""
+"B<aio_suspend>() 関数は、以下のいずれかが発生するまで\n"
+"呼び出したスレッドの実行を停止 (suspend) する。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:46
+#: build/C/man3/aio_suspend.3:47
msgid ""
"One or more of the asynchronous I/O requests in the list I<aiocb_list> has "
"completed."
msgstr ""
+"I<aiocb_list> リスト内の非同期 I/O リクエストのうち、少なくとも一つが完了し"
+"た。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:48
+#: build/C/man3/aio_suspend.3:49
msgid "A signal is delivered."
-msgstr ""
+msgstr "シグナルが配送された。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:55
+#: build/C/man3/aio_suspend.3:56
msgid ""
"I<timeout> is not NULL and the specified time interval has passed. (For "
"details of the I<timespec> structure, see B<nanosleep>(2).)"
msgstr ""
+"I<timeout> が NULL でない場合に、指定した時間が経過した\n"
+"(I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:73
-#, fuzzy
-#| msgid ""
-#| "Each item in the list must either be NULL (and then is ignored), or a "
-#| "pointer to a control block on which I/O was initiated using B<aio_read>"
-#| "(3), B<aio_write>(3), or B<lio_listio>(3)."
+#: build/C/man3/aio_suspend.3:74
msgid ""
"The I<nitems> argument specifies the number of items in I<aiocb_list>. Each "
"item in the list pointed to by I<aiocb_list> must be either NULL (and then "
"using B<aio_read>(3), B<aio_write>(3), or B<lio_listio>(3). (See B<aio>(7) "
"for a description of the I<aiocb> structure.)"
msgstr ""
-"リストの各アイテムは、NULL (これは無視される) か、 B<aio_read>(3), "
-"B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された制御ブロックへの"
-"ポインタでなければならない。"
+"I<nitems> 引き数は I<aiocb_list> の要素数を指定する。\n"
+"I<aiocb_list> が指すリストの各要素は、NULL (これは無視される) か、\n"
+"B<aio_read>(3), B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された\n"
+"制御ブロックへのポインタでなければならない。\n"
+"(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:79
-#, fuzzy
-#| msgid ""
-#| "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
-#| "timeout interval."
+#: build/C/man3/aio_suspend.3:80
msgid ""
"If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
"timeout interval (see B<clock_gettime>(3))."
msgstr ""
-"B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウトの"
-"間隔が計測される。"
+"B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウト"
+"の\n"
+"間隔が計測される (B<clock_gettime>(3) を参照)。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:87
-#, fuzzy
-#| msgid ""
-#| "If this function returns after completion of one of the indicated "
-#| "requests, it returns 0. Otherwise it returns -1 and sets I<errno> "
-#| "appropriately."
+#: build/C/man3/aio_suspend.3:88
msgid ""
"If this function returns after completion of one of the I/O requests "
"specified in I<aiocb_list>, 0 is returned. Otherwise, -1 is returned, and "
"I<errno> is set to indicate the error."
msgstr ""
-"指示されたリクエストの 1 つが完了した後にこの関数が返る場合は、0 を返す。 そ"
-"れ以外の場合は -1 を返して、 I<errno> を適切に設定する。"
+"I<aiocb_list> で指定された I/O リクエストの 1 つが完了した後に\n"
+"この関数が返った場合は、0 が返される。\n"
+"それ以外の場合は、 -1 が返り、 I<errno> にエラーを示す値に設定される。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:92
-#, fuzzy
-#| msgid ""
-#| "The call was ended by timeout, before any of the indicated operations had "
-#| "completed."
+#: build/C/man3/aio_suspend.3:93
msgid ""
"The call timed out before any of the indicated operations had completed."
-msgstr ""
-"指示された操作のどれも完了しないうちに、 この呼び出しがタイムアウトによって終"
-"了させられた。"
+msgstr "指示された操作のどれも完了しないうちに、呼び出しがタイムアウトした。"
#. type: TP
-#: build/C/man3/aio_suspend.3:92 build/C/man2/io_getevents.2:69
-#: build/C/man3/lio_listio.3:168
+#: build/C/man3/aio_suspend.3:93 build/C/man2/io_getevents.2:49
+#: build/C/man3/lio_listio.3:169
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:98
-#, fuzzy
-#| msgid ""
-#| "The call was ended by signal; see B<signal>(7). (Possibly the completion "
-#| "signal of one of the operations we were waiting for.)"
+#: build/C/man3/aio_suspend.3:99
msgid ""
"The call was ended by signal (possibly the completion signal of one of the "
"operations we were waiting for); see B<signal>(7)."
msgstr ""
-"この呼び出しがシグナルによって終了させられた。 B<signal>(7) 参照。 (このシグ"
-"ナルは、完了を待っていた操作のいずれかの完了シグナルの可能性もある。)"
+"この呼び出しがシグナルによって終了させられた (このシグナルは、完了を待ってい"
+"た\n"
+"操作のいずれかの完了シグナルの可能性もある)。B<signal>(7) 参照。"
+
+#. type: Plain text
+#: build/C/man3/aio_suspend.3:103
+msgid "B<aio_suspend>() is not implemented."
+msgstr "B<aio_suspend>() は実装されていない。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:102
+#: build/C/man3/aio_suspend.3:107
msgid "The B<aio_suspend>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_suspend>() 関数は glibc 2.1 以降で利用できる。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:108
+#: build/C/man3/aio_suspend.3:113
msgid ""
"One can achieve polling by using a non-NULL I<timeout> that specifies a zero "
"time interval."
"グを行うこともできる。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:114
+#: build/C/man3/aio_suspend.3:119
msgid ""
"If one or more of the asynchronous I/O operations specified in I<aiocb_list> "
"has already completed at the time of the call to B<aio_suspend>(), then the "
"call returns immediately."
msgstr ""
+"I<aiocb_list> リストで指定した非同期 I/O 操作のうち、\n"
+"B<aio_suspend>() を呼び出した時点ですでに完了したものがある場合、\n"
+"B<aio_suspend>() はすぐに返る。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:124
+#: build/C/man3/aio_suspend.3:129
msgid ""
"To determine which I/O operations have completed after a successful return "
"from B<aio_suspend>(), use B<aio_error>(3) to scan the list of I<aiocb> "
"structures pointed to by I<aiocb_list>."
msgstr ""
+"B<aio_suspend>() が成功で返った後でどの I/O 操作が完了したかを特定するに"
+"は、\n"
+"B<aio_error>(3) を使って I<aiocb_list> が指す I<aiocb> 構造体のリストを\n"
+"スキャンする。"
#. type: Plain text
-#: build/C/man3/aio_suspend.3:134
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-#| "B<aio_return>(3), B<aio_write>(3), B<time>(7)"
+#: build/C/man3/aio_suspend.3:139
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
"B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
msgstr ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-"B<aio_return>(3), B<aio_write>(3), B<time>(7)"
+"B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
#. type: TH
-#: build/C/man3/aio_write.3:23
+#: build/C/man3/aio_write.3:24
#, no-wrap
msgid "AIO_WRITE"
msgstr "AIO_WRITE"
#. type: Plain text
-#: build/C/man3/aio_write.3:26
+#: build/C/man3/aio_write.3:27
msgid "aio_write - asynchronous write"
msgstr "aio_write - 非同期で書き込む"
#. type: Plain text
-#: build/C/man3/aio_write.3:30
+#: build/C/man3/aio_write.3:31
msgid "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
msgstr "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
#. type: Plain text
-#: build/C/man3/aio_write.3:40
+#: build/C/man3/aio_write.3:41
msgid ""
"The B<aio_write>() function queues the I/O request described by the buffer "
-"pointed to by I<aiocb>. This function is the asynchronous analog of B<write>"
-"(2). The arguments of the call"
+"pointed to by I<aiocbp>. This function is the asynchronous analog of "
+"B<write>(2). The arguments of the call"
msgstr ""
+"B<aio_write>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエストを"
+"キューに入れる。この関数は B<write>(2) の非同期版である。\n"
+"呼び出し"
#. type: Plain text
-#: build/C/man3/aio_write.3:42
+#: build/C/man3/aio_write.3:43
#, no-wrap
msgid " write(fd, buf, count)\n"
-msgstr ""
+msgstr " write(fd, buf, count)\n"
#. type: Plain text
-#: build/C/man3/aio_write.3:68
-#, fuzzy
-#| msgid ""
-#| "If B<O_APPEND> is not set, the data is written starting at the absolute "
-#| "file offset I<aiocbp-E<gt>aio_offset>, regardless of the current file "
-#| "position. If B<O_APPEND> is set, the data is written at the end of the "
-#| "file. After this request, the value of the current file position is "
-#| "unspecified."
+#: build/C/man3/aio_write.3:69
msgid ""
"If B<O_APPEND> is not set, the data is written starting at the absolute file "
"offset I<aiocbp-E<gt>aio_offset>, regardless of the current file offset. If "
"as B<aio_write>() calls are made. After the call, the value of the current "
"file offset is unspecified."
msgstr ""
-"B<O_APPEND> が設定されない場合、カレントのファイル位置に関係なく、 データは絶"
-"対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込まれる。 "
-"B<O_APPEND> が設定されている場合、データはファイルの終端に書き込まれる。 この"
-"リクエストの後の、カレントのファイル位置は規定されていない。"
+"B<O_APPEND> が設定されない場合、カレントのファイルオフセットに関係なく、 \n"
+"データは絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込"
+"まれる。\n"
+"B<O_APPEND> が設定されている場合、データはファイルの末尾に、\n"
+"B<aio_write>() の呼び出しが行われたのと同じ順序で書き込まれる。\n"
+"この呼び出しの後のカレントのファイルオフセットは規定されていない。"
#. type: Plain text
-#: build/C/man3/aio_write.3:81
-#, fuzzy
-#| msgid ""
-#| "The \"asynchronous\" means that this call returns as soon as the request "
-#| "has been enqueued; the write may or may not have completed when the call "
-#| "returns. One tests for completion using B<aio_error>(3)."
+#: build/C/man3/aio_write.3:82
msgid ""
"The \"asynchronous\" means that this call returns as soon as the request has "
"been enqueued; the write may or may not have completed when the call "
"notification of I/O completion can be obtained by setting I<aiocbp-"
"E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
msgstr ""
-"「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」 "
+"「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
+"る」\n"
"ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れない"
-"し、 完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテ"
-"ストできる。"
+"し、\n"
+"完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
+"きる。\n"
+"完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
+"I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
+"I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
#. type: Plain text
-#: build/C/man3/aio_write.3:94
+#: build/C/man3/aio_write.3:95
msgid "No data is written to a regular file beyond its maximum offset."
msgstr "最大オフセットを超えた通常のファイルには、何もデータが書き込まれない。"
#. type: TP
-#: build/C/man3/aio_write.3:117
+#: build/C/man3/aio_write.3:118
#, no-wrap
msgid "B<EFBIG>"
msgstr "B<EFBIG>"
#. type: Plain text
-#: build/C/man3/aio_write.3:121
+#: build/C/man3/aio_write.3:122
msgid ""
"The file is a regular file, we want to write at least one byte, but the "
"starting position is at or beyond the maximum offset for this file."
"しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。"
#. type: Plain text
-#: build/C/man3/aio_write.3:128
+#: build/C/man3/aio_write.3:129
msgid ""
"One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
msgstr ""
"I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
#. type: Plain text
-#: build/C/man3/aio_write.3:135
+#: build/C/man3/aio_write.3:133
+msgid "B<aio_write>() is not implemented."
+msgstr "B<aio_write>() は実装されていない。"
+
+#. type: Plain text
+#: build/C/man3/aio_write.3:137
msgid "The B<aio_write>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<aio_write>() 関数は glibc 2.1 以降で利用できる。"
#. or the control block of the operation
#. type: Plain text
-#: build/C/man3/aio_write.3:145
-#, fuzzy
-#| msgid ""
-#| "It is a good idea to zero out the control block before use. This control "
-#| "block must not be changed while the write operation is in progress. The "
-#| "buffer area being written out must not be accessed during the operation "
-#| "or undefined results may occur. The memory areas involved must remain "
-#| "valid."
+#: build/C/man3/aio_write.3:147
msgid ""
"It is a good idea to zero out the control block before use. The control "
"block must not be changed while the write operation is in progress. The "
"これに含まれるメモリ領域は、有効なままにしなければならない。"
#. type: Plain text
-#: build/C/man3/aio_write.3:158
-#, fuzzy
-#| msgid ""
-#| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+#: build/C/man3/aio_write.3:160
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
"B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
msgstr ""
-"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
+"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
+"B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
#. type: TH
-#: build/C/man2/io_cancel.2:23
+#: build/C/man2/io_cancel.2:7
#, no-wrap
msgid "IO_CANCEL"
msgstr "IO_CANCEL"
#. type: TH
-#: build/C/man2/io_cancel.2:23 build/C/man2/io_destroy.2:23
-#: build/C/man2/io_setup.2:23 build/C/man2/io_submit.2:23
+#: build/C/man2/io_cancel.2:7
#, no-wrap
-msgid "2008-06-18"
-msgstr "2008-06-18"
+msgid "2013-04-10"
+msgstr "2013-04-10"
#. type: Plain text
-#: build/C/man2/io_cancel.2:26
+#: build/C/man2/io_cancel.2:10
msgid "io_cancel - cancel an outstanding asynchronous I/O operation"
msgstr "io_cancel - 未処理の非同期 I/O 操作の取り消し"
-#. .ad l
-#. .hy 0
-#. #include <linux/aio.h>
#. type: Plain text
-#: build/C/man2/io_cancel.2:33 build/C/man2/io_destroy.2:32
-#: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:32
+#: build/C/man2/io_cancel.2:13 build/C/man2/io_destroy.2:13
+#: build/C/man2/io_setup.2:13 build/C/man2/io_submit.2:13
#, no-wrap
-msgid "B<#include E<lt>libaio.hE<gt>>\n"
-msgstr "B<#include E<lt>libaio.hE<gt>>\n"
+msgid "B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
+msgstr "B<#include E<lt>linux/aio_abi.hE<gt>> /* 必要な型の定義 */\n"
-#. .HP 16
-#. .ad
-#. .hy
#. type: Plain text
-#: build/C/man2/io_cancel.2:39
+#: build/C/man2/io_cancel.2:16
#, no-wrap
msgid ""
"B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
"B< struct io_event *>I<result>B<);>\n"
#. type: Plain text
-#: build/C/man2/io_cancel.2:41 build/C/man2/io_destroy.2:39
-#: build/C/man2/io_getevents.2:42 build/C/man2/io_setup.2:39
-#: build/C/man2/io_submit.2:40
-#, no-wrap
-msgid "Link with I<-laio>.\n"
-msgstr "I<-laio> とリンクする。\n"
+#: build/C/man2/io_cancel.2:20 build/C/man2/io_destroy.2:19
+#: build/C/man2/io_getevents.2:22 build/C/man2/io_setup.2:19
+#: build/C/man2/io_submit.2:20
+msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
+msgstr ""
+"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
+"を参照。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:51
+#: build/C/man2/io_cancel.2:37
msgid ""
-"B<io_cancel>() attempts to cancel an asynchronous I/O operation previously "
-"submitted with B<io_submit>(2). I<ctx_id> is the AIO context ID of the "
-"operation to be canceled. If the AIO context is found, the event will be "
-"canceled and then copied into the memory pointed to by I<result> without "
-"being placed into the completion queue."
+"The B<io_cancel>() system call attempts to cancel an asynchronous I/O "
+"operation previously submitted with B<io_submit>(2). The I<iocb> argument "
+"describes the operation to be canceled and the I<ctx_id> argument is the AIO "
+"context to which the operation was submitted. If the operation is "
+"successfully canceled, the event will be copied into the memory pointed to "
+"by I<result> without being placed into the completion queue."
msgstr ""
-"B<io_cancel>() は、過去に B<io_submit>(2) を使って登録された非同期 I/O "
-"(AIO) 操作の取り消しを行おうとする。 I<ctx_id> は、取り消しを行う操作の AIO "
-"コンテキストの ID である。 指定した AIO コンテキストが見つかると、 対象のイベ"
-"ã\83³ã\83\88ã\81®å\8f\96ã\82\8aæ¶\88ã\81\97ã\81\8cè¡\8cã\82\8fã\82\8cã\80\81ã\81\9dã\81®å¾\8c I<result> ã\81§æ\8c\87ã\81\95ã\82\8cã\81\9fã\83¡ã\83¢ã\83ªã\81« ã\82³ã\83\94ã\83¼ã\81\95ã\82\8cã\82\8b (ã\81\93"
-"のとき、完了キューへの移動は行われない)。"
+"B<io_cancel>() システムコールは、過去に B<io_submit>(2) を使って登録された非"
+"同期 I/O (AIO) 操作の取り消しを行おうとする。 I<iocb> 引き数は取り消したい操"
+"作が示し、 I<ctx_id> 引き数は、取り消しを行う操作が登録された AIO コンテキス"
+"ã\83\88ã\81§ã\81\82ã\82\8bã\80\82æ\93\8dä½\9cã\81®å\8f\96ã\82\8aæ¶\88ã\81\97ã\81«æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81対象ã\81®ã\82¤ã\83\99ã\83³ã\83\88ã\81¯ I<result> ã\81§æ\8c\87ã\81\95ã\82\8cã\81\9fã\83¡"
+"ã\83¢ã\83ªã\81« ã\82³ã\83\94ã\83¼ã\81\95ã\82\8cã\82\8b (ã\81\93ã\81®ã\81¨ã\81\8dã\80\81å®\8cäº\86ã\82ã\83¥ã\83¼ã\81¸ã\81®ç§»å\8b\95ã\81¯è¡\8cã\82\8fã\82\8cã\81ªã\81\84)ã\80\82"
#. type: Plain text
-#: build/C/man2/io_cancel.2:56
+#: build/C/man2/io_cancel.2:42
msgid ""
"On success, B<io_cancel>() returns 0. For the failure return, see NOTES."
msgstr ""
"意」の節を参照すること。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:60
+#: build/C/man2/io_cancel.2:46
msgid "The I<iocb> specified was not canceled."
msgstr "指定された I<iocb> の取り消しが行われなかった。"
#. type: TP
-#: build/C/man2/io_cancel.2:60 build/C/man2/io_destroy.2:54
-#: build/C/man2/io_getevents.2:61 build/C/man2/io_setup.2:58
-#: build/C/man2/io_submit.2:61
+#: build/C/man2/io_cancel.2:46 build/C/man2/io_destroy.2:35
+#: build/C/man2/io_getevents.2:41 build/C/man2/io_setup.2:43
+#: build/C/man2/io_submit.2:44
#, no-wrap
msgid "B<EFAULT>"
msgstr "B<EFAULT>"
#. type: Plain text
-#: build/C/man2/io_cancel.2:63 build/C/man2/io_submit.2:64
+#: build/C/man2/io_cancel.2:49 build/C/man2/io_submit.2:47
msgid "One of the data structures points to invalid data."
msgstr "データ構造の中に無効なデータを指しているものがある。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:66
+#: build/C/man2/io_cancel.2:52 build/C/man2/io_destroy.2:41
msgid "The AIO context specified by I<ctx_id> is invalid."
msgstr "I<ctx_id> で指定された AIO コンテキストが無効である。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:70
+#: build/C/man2/io_cancel.2:56
msgid "B<io_cancel>() is not implemented on this architecture."
msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:73 build/C/man2/io_destroy.2:67
-#: build/C/man2/io_getevents.2:80 build/C/man2/io_setup.2:76
-#: build/C/man2/io_submit.2:78
-msgid ""
-"The asynchronous I/O system calls first appeared in Linux 2.5, August 2002."
-msgstr "非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。"
+#: build/C/man2/io_cancel.2:59 build/C/man2/io_destroy.2:48
+#: build/C/man2/io_getevents.2:60 build/C/man2/io_setup.2:61
+#: build/C/man2/io_submit.2:63
+msgid "The asynchronous I/O system calls first appeared in Linux 2.5."
+msgstr "非同期 I/O システム・コールは Linux 2.5 で初めて登場した。"
#. type: Plain text
-#: build/C/man2/io_cancel.2:78
+#: build/C/man2/io_cancel.2:64
msgid ""
"B<io_cancel>() is Linux-specific and should not be used in programs that "
"are intended to be portable."
"B<io_cancel>() は Linux 固有であり、移植を想定したプログラムで使用すべきでは"
"ない。"
+#. http://git.fedorahosted.org/git/?p=libaio.git
#. type: Plain text
-#: build/C/man2/io_cancel.2:80 build/C/man2/io_destroy.2:74
-#: build/C/man2/io_getevents.2:87 build/C/man2/io_setup.2:83
-#: build/C/man2/io_submit.2:85
-msgid "Glibc does not provide a wrapper function for this system call."
-msgstr "glibc はこのシステムコール用のラッパー関数を提供していない。"
+#: build/C/man2/io_cancel.2:73
+msgid ""
+"Glibc does not provide a wrapper function for this system call. You could "
+"invoke it using B<syscall>(2). But instead, you probably want to use the "
+"B<io_cancel>() wrapper function provided by I<libaio>."
+msgstr ""
+"glibc はこのシステムコールのラッパー関数を提供していない。\n"
+"B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
+"しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
+" I<libaio> が提供している B<io_cancel> ラッパー関数を呼び出したい\n"
+"場合がほとんどであろう。"
+#. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
+#. the system call.
#. type: Plain text
-#: build/C/man2/io_cancel.2:94
+#: build/C/man2/io_cancel.2:94 build/C/man2/io_destroy.2:83
+#: build/C/man2/io_getevents.2:95 build/C/man2/io_submit.2:98
msgid ""
-"The wrapper provided in I<libaio> for B<io_cancel>() does not follow the "
-"usual C library conventions for indicating error: on error it returns a "
-"negated error number (the negative of one of the values listed in ERRORS). "
-"If the system call is invoked via B<syscall>(2), then the return value "
-"follows the usual conventions for indicating an error: -1, with I<errno> set "
-"to a (positive) value that indicates the error."
+"Note that the I<libaio> wrapper function uses a different type "
+"(I<io_context_t>) for the I<ctx_id> argument. Note also that the I<libaio> "
+"wrapper does not follow the usual C library conventions for indicating "
+"errors: on error it returns a negated error number (the negative of one of "
+"the values listed in ERRORS). If the system call is invoked via B<syscall>"
+"(2), then the return value follows the usual conventions for indicating an "
+"error: -1, with I<errno> set to a (positive) value that indicates the error."
msgstr ""
-"I<libaio> で B<io_cancel>() 用に提供されているラッパー関数は、エラーの通知が"
-"通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
-"(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
-"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
-"習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
-"す (正の) 値が設定される。"
+"I<libaio> のラッパー関数では I<ctx_id> 引き数に別の型\n"
+"(I<io_context_t>) が使われることに注意すること。\n"
+"また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
+"慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
+"挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
+"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通\n"
+"知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno>\n"
+"にエラーを示す (正の) 値が設定される。"
-#. .SH "NOTES"
-#. .PP
-#. The asynchronous I/O system calls were written by Benjamin LaHaise.
#. .SH AUTHOR
#. Kent Yoder.
#. type: Plain text
-#: build/C/man2/io_cancel.2:107
+#: build/C/man2/io_cancel.2:102
msgid ""
"B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
"(7)"
"(7)"
#. type: TH
-#: build/C/man2/io_destroy.2:23
+#: build/C/man2/io_destroy.2:7
#, no-wrap
msgid "IO_DESTROY"
msgstr "IO_DESTROY"
+#. type: TH
+#: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
+#, no-wrap
+msgid "2013-04-08"
+msgstr "2013-04-08"
+
#. type: Plain text
-#: build/C/man2/io_destroy.2:26
+#: build/C/man2/io_destroy.2:10
msgid "io_destroy - destroy an asynchronous I/O context"
msgstr "io_destroy - 非同期 I/O コンテキストの消去"
-#. .HP 17
-#. .ad
-#. .hy
#. type: Plain text
-#: build/C/man2/io_destroy.2:37
+#: build/C/man2/io_destroy.2:15
#, no-wrap
-msgid "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
-msgstr "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
+msgid "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
+msgstr "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
#. type: Plain text
-#: build/C/man2/io_destroy.2:48
+#: build/C/man2/io_destroy.2:29
msgid ""
-"B<io_destroy>() removes the asynchronous I/O context from the list of I/O "
-"contexts and then destroys it. B<io_destroy>() can also cancel any "
-"outstanding asynchronous I/O actions on I<ctx> and block on completion."
+"The B<io_destroy>() system call will attempt to cancel all outstanding "
+"asynchronous I/O operations against I<ctx_id>, will block on the completion "
+"of all operations that could not be canceled, and will destroy the I<ctx_id>."
msgstr ""
-"B<io_destroy>() は、I/O コンテキストのリストから指定された非同期 I/O コンテ"
-"キストを削除した後、そのコンテキストを消去する。 B<io_destroy>() は、I<ctx> "
-"上に未処理の非同期 I/O 命令及び 完了キューのブロックの取り消しも行うことがで"
-"きる。"
+"B<io_destroy>() システムコールは、実行中の I<ctx_id> で指定された非同期 I/O "
+"操作をすべて取り消そうとし、取り消せなかったすべての操作が完了するまで停止 "
+"(block) し、その後 I<ctx_id> の削除を行う。"
#. type: Plain text
-#: build/C/man2/io_destroy.2:53
+#: build/C/man2/io_destroy.2:34
msgid ""
"On success, B<io_destroy>() returns 0. For the failure return, see NOTES."
msgstr ""
"意」の節を参照すること。"
#. type: Plain text
-#: build/C/man2/io_destroy.2:57
+#: build/C/man2/io_destroy.2:38
msgid "The context pointed to is invalid."
msgstr "データ構造の中に無効なデータを指しているものがある。"
#. type: Plain text
-#: build/C/man2/io_destroy.2:60
-msgid "The AIO context specified by I<ctx> is invalid."
-msgstr "I<ctx> で指定された AIO コンテキストが無効である。"
-
-#. type: Plain text
-#: build/C/man2/io_destroy.2:64
+#: build/C/man2/io_destroy.2:45
msgid "B<io_destroy>() is not implemented on this architecture."
msgstr "B<io_destroy>() はこのアーキテクチャでは実装されていない。"
#. type: Plain text
-#: build/C/man2/io_destroy.2:72
+#: build/C/man2/io_destroy.2:53
msgid ""
"B<io_destroy>() is Linux-specific and should not be used in programs that "
"are intended to be portable."
"B<io_destroy>() は Linux 固有であり、移植を想定したプログラムで使用すべきで"
"はない。"
+#. http://git.fedorahosted.org/git/?p=libaio.git
#. type: Plain text
-#: build/C/man2/io_destroy.2:88
+#: build/C/man2/io_destroy.2:62
msgid ""
-"The wrapper provided in I<libaio> for B<io_destroy>() does not follow the "
-"usual C library conventions for indicating error: on error it returns a "
-"negated error number (the negative of one of the values listed in ERRORS). "
-"If the system call is invoked via B<syscall>(2), then the return value "
-"follows the usual conventions for indicating an error: -1, with I<errno> set "
-"to a (positive) value that indicates the error."
+"Glibc does not provide a wrapper function for this system call. You could "
+"invoke it using B<syscall>(2). But instead, you probably want to use the "
+"B<io_destroy>() wrapper function provided by I<libaio>."
msgstr ""
-"I<libaio> で B<io_destroy>() 用に提供されているラッパー関数は、エラーの通知"
-"が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番"
-"号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
-"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
-"習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
-"す (正の) 値が設定される。"
+"glibc はこのシステムコールのラッパー関数を提供していない。\n"
+"B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
+"しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
+" I<libaio> が提供している B<io_destroy> ラッパー関数を呼び出したい\n"
+"場合がほとんどであろう。"
-#. .SH "NOTES"
-#. .PP
-#. The asynchronous I/O system calls were written by Benjamin LaHaise.
#. .SH AUTHOR
#. Kent Yoder.
#. type: Plain text
-#: build/C/man2/io_destroy.2:101
+#: build/C/man2/io_destroy.2:91
msgid ""
"B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
"(7)"
"(7)"
#. type: TH
-#: build/C/man2/io_getevents.2:23
+#: build/C/man2/io_getevents.2:7
#, no-wrap
msgid "IO_GETEVENTS"
msgstr "IO_GETEVENTS"
-#. type: TH
-#: build/C/man2/io_getevents.2:23
-#, no-wrap
-msgid "2008-07-04"
-msgstr "2008-07-04"
-
#. type: Plain text
-#: build/C/man2/io_getevents.2:26
+#: build/C/man2/io_getevents.2:10
msgid "io_getevents - read asynchronous I/O events from the completion queue"
msgstr "io_getevents - 完了キューから非同期 I/O イベントを読み出す"
-#. .ad l
-#. .hy 0
-#. #include <linux/aio.h>
#. type: Plain text
-#: build/C/man2/io_getevents.2:33
+#: build/C/man2/io_getevents.2:14
#, no-wrap
msgid ""
-"B<#include E<lt>linux/time.hE<gt>>\n"
-"B<#include E<lt>libaio.hE<gt>>\n"
+"B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
+"B<#include E<lt>linux/time.hE<gt>> /* Defines 'struct timespec' */\n"
msgstr ""
-"B<#include E<lt>linux/time.hE<gt>>\n"
-"B<#include E<lt>libaio.hE<gt>>\n"
+"B<#include E<lt>linux/aio_abi.hE<gt>> /* 必要な型の定義 */\n"
+"B<#include E<lt>linux/time.hE<gt>> /* 'struct timespec' の定義 */\n"
-#. .HP 19
-#. .ad
-#. .hy
#. type: Plain text
-#: build/C/man2/io_getevents.2:40
+#: build/C/man2/io_getevents.2:18
#, no-wrap
msgid ""
"B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
"B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
#. type: Plain text
-#: build/C/man2/io_getevents.2:54
+#: build/C/man2/io_getevents.2:34
msgid ""
-"B<io_getevents>() attempts to read at least I<min_nr> events and up to "
-"I<nr> events from the completion queue of the AIO context specified by "
-"I<ctx_id>. I<timeout> specifies the amount of time to wait for events, "
-"where a NULL timeout waits until at least I<min_nr> events have been seen. "
-"Note that I<timeout> is relative and will be updated if not NULL and the "
-"operation blocks."
+"The B<io_getevents>() system call attempts to read at least I<min_nr> "
+"events and up to I<nr> events from the completion queue of the AIO context "
+"specified by I<ctx_id>. The I<timeout> argument specifies the amount of "
+"time to wait for events, where a NULL timeout waits until at least I<min_nr> "
+"events have been seen. Note that I<timeout> is relative."
msgstr ""
-"B<io_getevents>() は、少なくとも I<min_nr> の、最大 I<nr> 個の イベントを、 "
-"I<ctx_id> で指定された AIO (非同期 I/O) コンテキストの 完了キューから読み出そ"
-"ã\81\86ã\81¨ã\81\99ã\82\8bã\80\82 I<timeout> ã\81¯ã\82¤ã\83\99ã\83³ã\83\88èªã\81¿å\87ºã\81\97ã\81®å¾\85ã\81¡æ\99\82é\96\93ã\81®å\90\88è¨\88ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 ã\82¿ã\82¤ã\83 ã\82¢"
-"ウトに NULL を指定した場合、少なくとも I<min_nr> 個のイベントが 読み出される"
-"まで待つことを意味する。 注意点を以下にあげる: I<timeout> は相対的な指定であ"
-"る。 NULL でない場合更新されることもありえる。 呼び出し元の動作は停止する。"
+"B<io_getevents>() システムコールは、少なくとも I<min_nr> の、最大\n"
+"I<nr> 個のイベントを、 I<ctx_id> 引き数で指定された AIO (非同期 I/O) \n"
+"ã\82³ã\83³ã\83\86ã\82ã\82¹ã\83\88ã\81® å®\8cäº\86ã\82ã\83¥ã\83¼ã\81\8bã\82\89èªã\81¿å\87ºã\81\9dã\81\86ã\81¨ã\81\99ã\82\8bã\80\82 I<timeout> ã\81¯ã\82¤ã\83\99ã\83³ã\83\88\n"
+"読み出しの待ち時間の合計を指定する。 タイムアウトに NULL を指定した場合、\n"
+"少なくとも I<min_nr> 個のイベントが 読み出されるまで待つことを意味する。\n"
+"注意点を以下にあげる: I<timeout> は相対的な指定である。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:60
+#: build/C/man2/io_getevents.2:40
msgid ""
"On success, B<io_getevents>() returns the number of events read: 0 if no "
"events are available, or less than I<min_nr> if the I<timeout> has elapsed. "
"ること。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:64
+#: build/C/man2/io_getevents.2:44
msgid "Either I<events> or I<timeout> is an invalid pointer."
msgstr "I<events> または I<timeout> が無効なポインタである。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:69
+#: build/C/man2/io_getevents.2:49
msgid ""
"I<ctx_id> is invalid. I<min_nr> is out of range or I<nr> is out of range."
msgstr ""
"る。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:73
+#: build/C/man2/io_getevents.2:53
msgid "Interrupted by a signal handler; see B<signal>(7)."
msgstr "シグナルハンドラにより割り込まれた。 B<signal>(7) 参照。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:77
+#: build/C/man2/io_getevents.2:57
msgid "B<io_getevents>() is not implemented on this architecture."
msgstr "B<io_getevents>() がこのアーキテクチャでは実装されていない。"
#. type: Plain text
-#: build/C/man2/io_getevents.2:85
+#: build/C/man2/io_getevents.2:65
msgid ""
"B<io_getevents>() is Linux-specific and should not be used in programs that "
"are intended to be portable."
"B<io_getevents>() は Linux 固有であり、移植を想定したプログラムで 使用すべき"
"ではない。"
+#. http://git.fedorahosted.org/git/?p=libaio.git
#. type: Plain text
-#: build/C/man2/io_getevents.2:101
+#: build/C/man2/io_getevents.2:74
msgid ""
-"The wrapper provided in I<libaio> for B<io_getevents>() does not follow the "
-"usual C library conventions for indicating error: on error it returns a "
-"negated error number (the negative of one of the values listed in ERRORS). "
-"If the system call is invoked via B<syscall>(2), then the return value "
-"follows the usual conventions for indicating an error: -1, with I<errno> set "
-"to a (positive) value that indicates the error."
+"Glibc does not provide a wrapper function for this system call. You could "
+"invoke it using B<syscall>(2). But instead, you probably want to use the "
+"B<io_getevents>() wrapper function provided by I<libaio>."
msgstr ""
-"I<libaio> で B<io_getevents>() 用に提供されているラッパー関数は、エラーの通"
-"知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー"
-"番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
-"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
-"習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
-"す (正の) 値が設定される。"
+"glibc はこのシステムコールのラッパー関数を提供していない。\n"
+"B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
+"しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
+" I<libaio> が提供している B<io_getevents> ラッパー関数を呼び出したい\n"
+"場合がほとんどであろう。"
+
+#. type: SH
+#: build/C/man2/io_getevents.2:95
+#, no-wrap
+msgid "BUGS"
+msgstr "バグ"
+
+#. type: Plain text
+#: build/C/man2/io_getevents.2:100
+msgid ""
+"An invalid I<ctx_id> may cause a segmentation fault instead of genenerating "
+"the error B<EINVAL>."
+msgstr ""
+"無効な I<ctx_id> を指定した場合、エラー B<EINVAL> が生成されず、セグメンテー"
+"ション違反 (segmentation fault) が発生する場合がある。"
-#. .SH "NOTES"
-#. .PP
-#. The asynchronous I/O system calls were written by Benjamin LaHaise.
#. .SH AUTHOR
#. Kent Yoder.
#. type: Plain text
-#: build/C/man2/io_getevents.2:116
+#: build/C/man2/io_getevents.2:110
msgid ""
"B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
"(7), B<time>(7)"
"(7), B<time>(7)"
#. type: TH
-#: build/C/man2/io_setup.2:23
+#: build/C/man2/io_setup.2:7
#, no-wrap
msgid "IO_SETUP"
msgstr "IO_SETUP"
+#. type: TH
+#: build/C/man2/io_setup.2:7
+#, no-wrap
+msgid "2013-06-21"
+msgstr "2013-06-21"
+
#. type: Plain text
-#: build/C/man2/io_setup.2:26
+#: build/C/man2/io_setup.2:10
msgid "io_setup - create an asynchronous I/O context"
msgstr "io_setup - 非同期 I/O コンテキストを作成する"
-#. .HP 15
-#. .ad
-#. .hy
#. type: Plain text
-#: build/C/man2/io_setup.2:37
+#: build/C/man2/io_setup.2:15
#, no-wrap
-msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
-msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
+msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
+msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
#. type: Plain text
-#: build/C/man2/io_setup.2:49
+#: build/C/man2/io_setup.2:32
msgid ""
-"B<io_setup>() creates an asynchronous I/O context capable of receiving at "
-"least I<nr_events>. I<ctxp> must not point to an AIO context that already "
-"exists, and must be initialized to 0 prior to the call. On successful "
-"creation of the AIO context, I<*ctxp> is filled in with the resulting handle."
+"The B<io_setup>() system call creates an asynchronous I/O context suitable "
+"for concurrently processing I<nr_events> operations. The I<ctx_idp> "
+"argument must not point to an AIO context that already exists, and must be "
+"initialized to 0 prior to the call. On successful creation of the AIO "
+"context, I<*ctx_idp> is filled in with the resulting handle."
msgstr ""
-"B<io_setup>() は、少なくとも I<nr_events> 個のイベントを受信可能な 非同期 I/"
-"O (AIO) コンテキストの作成を行う。 I<ctxp> は、すでに存在する AIO コンテキス"
-"トを指していてはならず、 B<io_setup>() の呼び出しの前に 0 に初期化されていな"
-"ければならない。 AIO コンテキストの作成に成功すると、I<*ctxp> に作成された "
-"AIO コンテキストへのポインタがセットされる。"
+"B<io_setup>() システムコールは、 I<nr_events> 個のイベントを\n"
+"同時に実行に適した非同期 I/O (AIO) コンテキストの作成を行う。 I<ctx_idp> 引き"
+"数\n"
+"は、すでに存在する AIO コンテキストを指していてはならず、\n"
+"B<io_setup>() の呼び出しの前に 0 に初期化されていなければならない。\n"
+"AIO コンテキストの作成に成功すると、 I<*ctx_idp> に作成された AIO \n"
+"コンテキストへのポインタがセットされる。"
#. type: Plain text
-#: build/C/man2/io_setup.2:54
+#: build/C/man2/io_setup.2:37
msgid ""
"On success, B<io_setup>() returns 0. For the failure return, see NOTES."
msgstr ""
"意」の節を参照すること。"
#. type: Plain text
-#: build/C/man2/io_setup.2:58
+#: build/C/man2/io_setup.2:43
msgid ""
-"The specified I<nr_events> exceeds the user's limit of available events."
+"The specified I<nr_events> exceeds the user's limit of available events, as "
+"defined in I</proc/sys/fs/aio-max-nr>."
msgstr ""
-"指定された I<nr_events> がユーザが使用できるイベント数の上限を越えている。"
+"指定された I<nr_events> がユーザが使用できるイベント数の上限を越えている。イ"
+"ベント数の上限は I</proc/sys/fs/aio-max-nr> で定義されている。"
#. type: Plain text
-#: build/C/man2/io_setup.2:61
-msgid "An invalid pointer is passed for I<ctxp>."
-msgstr "I<ctxp> に無効なポインタが指定されている。"
+#: build/C/man2/io_setup.2:46
+msgid "An invalid pointer is passed for I<ctx_idp>."
+msgstr "I<ctx_idp> に無効なポインタが指定されている。"
#. type: Plain text
-#: build/C/man2/io_setup.2:66
+#: build/C/man2/io_setup.2:51
msgid ""
-"I<ctxp> is not initialized, or the specified I<nr_events> exceeds internal "
-"limits. I<nr_events> should be greater than 0."
+"I<ctx_idp> is not initialized, or the specified I<nr_events> exceeds "
+"internal limits. I<nr_events> should be greater than 0."
msgstr ""
-"I<ctxp> が初期化されていないか、指定された I<nr_events> が 内部の制限値を越え"
-"ている。また、 I<nr_events> は 0 より大きい値に 設定すべきである。"
+"I<ctx_idp> が初期化されていないか、指定された I<nr_events> が内部の\n"
+"制限値を越えている。また、 I<nr_events> は 0 より大きい値に設定\n"
+"すべきである。"
#. type: TP
-#: build/C/man2/io_setup.2:66
+#: build/C/man2/io_setup.2:51
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"
#. type: Plain text
-#: build/C/man2/io_setup.2:69
+#: build/C/man2/io_setup.2:54
msgid "Insufficient kernel resources are available."
msgstr "必要なカーネル・リソースを得られない。"
#. type: Plain text
-#: build/C/man2/io_setup.2:73
+#: build/C/man2/io_setup.2:58
msgid "B<io_setup>() is not implemented on this architecture."
msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
#. type: Plain text
-#: build/C/man2/io_setup.2:81
+#: build/C/man2/io_setup.2:66
msgid ""
"B<io_setup>() is Linux-specific and should not be used in programs that are "
"intended to be portable."
"B<io_setup>() は Linux 固有であり、移植を想定したプログラムで 使用すべきでは"
"ない。"
+#. http://git.fedorahosted.org/git/?p=libaio.git
+#. type: Plain text
+#: build/C/man2/io_setup.2:75
+msgid ""
+"Glibc does not provide a wrapper function for this system call. You could "
+"invoke it using B<syscall>(2). But instead, you probably want to use the "
+"B<io_setup>() wrapper function provided by I<libaio>."
+msgstr ""
+"glibc はこのシステムコールのラッパー関数を提供していない。\n"
+"B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
+"しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
+" I<libaio> が提供している B<io_setup> ラッパー関数を呼び出したい\n"
+"場合がほとんどであろう。"
+
+#. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
+#. the system call.
#. type: Plain text
-#: build/C/man2/io_setup.2:97
+#: build/C/man2/io_setup.2:96
msgid ""
-"The wrapper provided in I<libaio> for B<io_setup>() does not follow the "
-"usual C library conventions for indicating error: on error it returns a "
-"negated error number (the negative of one of the values listed in ERRORS). "
-"If the system call is invoked via B<syscall>(2), then the return value "
-"follows the usual conventions for indicating an error: -1, with I<errno> set "
-"to a (positive) value that indicates the error."
+"Note that the I<libaio> wrapper function uses a different type "
+"(I<io_context_t\\ *>) for the I<ctx_idp> argument. Note also that the "
+"I<libaio> wrapper does not follow the usual C library conventions for "
+"indicating errors: on error it returns a negated error number (the negative "
+"of one of the values listed in ERRORS). If the system call is invoked via "
+"B<syscall>(2), then the return value follows the usual conventions for "
+"indicating an error: -1, with I<errno> set to a (positive) value that "
+"indicates the error."
msgstr ""
-"I<libaio> で B<io_setup>() 用に提供されているラッパー関数は、エラーの通知が"
-"通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
-"(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
-"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
-"習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
-"す (正の) 値が設定される。"
+"I<libaio> のラッパー関数では I<ctx_idp> 引き数に別の型\n"
+"(I<io_context_t\\ *>) が使われることに注意すること。\n"
+"また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
+"慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
+"挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
+"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー\n"
+"通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 \n"
+"I<errno> にエラーを示す (正の) 値が設定される。"
-#. .SH "NOTES"
-#. .PP
-#. The asynchronous I/O system calls were written by Benjamin LaHaise.
#. .SH AUTHOR
#. Kent Yoder.
#. type: Plain text
-#: build/C/man2/io_setup.2:108
+#: build/C/man2/io_setup.2:104
msgid ""
"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
"B<aio>(7)"
"B<aio>(7)"
#. type: TH
-#: build/C/man2/io_submit.2:23
+#: build/C/man2/io_submit.2:7
#, no-wrap
msgid "IO_SUBMIT"
msgstr "IO_SUBMIT"
+#. type: TH
+#: build/C/man2/io_submit.2:7
+#, no-wrap
+msgid "2012-07-13"
+msgstr "2012-07-13"
+
#. type: Plain text
-#: build/C/man2/io_submit.2:26
+#: build/C/man2/io_submit.2:10
msgid "io_submit - submit asynchronous I/O blocks for processing"
msgstr "io_submit - 非同期 I/O ブロックを処理待ちキューに登録する"
-#. .HP 16
-#. .ad
-#. .hy
#. type: Plain text
-#: build/C/man2/io_submit.2:38
+#: build/C/man2/io_submit.2:16
#, no-wrap
msgid "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
msgstr "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
#. type: Plain text
-#: build/C/man2/io_submit.2:48
+#: build/C/man2/io_submit.2:31
msgid ""
-"B<io_submit>() queues I<nr> I/O request blocks for processing in the AIO "
-"context I<ctx_id>. I<iocbpp> should be an array of I<nr> AIO control "
-"blocks, which will be submitted to context I<ctx_id>."
+"The B<io_submit>() system call queues I<nr> I/O request blocks for "
+"processing in the AIO context I<ctx_id>. The I<iocbpp> argument should be "
+"an array of I<nr> AIO control blocks, which will be submitted to context "
+"I<ctx_id>."
msgstr ""
-"B<io_submit>() は、AIO コンテキスト I<ctx_id> に I<nr> 個の I/O リクエストを"
-"処理待ちとしてキューに追加する。 I<iocbpp> は、AIO コンテキスト I<ctx_id> に"
-"登録される I<nr> 個の AIO 制御ブロックの配列になっていなければならない。"
+"B<io_submit>() システムコールは、AIO コンテキスト I<ctx_id> に I<nr> 個\n"
+"の I/O リクエストを処理待ちとしてキューに追加する。 I<iocbpp> 引き数は、\n"
+"AIO コンテキスト I<ctx_id> に登録される I<nr> 個の AIO 制御ブロックの\n"
+"配列になっていなければならない。"
#. type: Plain text
-#: build/C/man2/io_submit.2:54
+#: build/C/man2/io_submit.2:37
msgid ""
"On success, B<io_submit>() returns the number of I<iocb>s submitted (which "
"may be 0 if I<nr> is zero). For the failure return, see NOTES."
"合は 0 を返す)。 失敗時の返り値については、「注意」の節を参照すること。"
#. type: Plain text
-#: build/C/man2/io_submit.2:58
+#: build/C/man2/io_submit.2:41
msgid "Insufficient resources are available to queue any I<iocb>s."
msgstr "何個かの I<iocb> をキューに入れるのに必要なリソースが得られない。"
#. type: Plain text
-#: build/C/man2/io_submit.2:61
+#: build/C/man2/io_submit.2:44
msgid "The file descriptor specified in the first I<iocb> is invalid."
msgstr "先頭の I<iocb> に指定されたファイル・ディスクリプタが無効である。"
#. type: Plain text
-#: build/C/man2/io_submit.2:71
+#: build/C/man2/io_submit.2:56
msgid ""
-"The I<aio_context> specified by I<ctx_id> is invalid. I<nr> is less than "
-"0. The I<iocb> at *iocbpp[0] is not properly initialized, or the operation "
+"The AIO context specified by I<ctx_id> is invalid. I<nr> is less than 0. "
+"The I<iocb> at I<*iocbpp[0]> is not properly initialized, or the operation "
"specified is invalid for the file descriptor in the I<iocb>."
msgstr ""
-"I<ctx_id> で指定された I<aio_context> が無効である。 I<nr> が 0 未満である。 "
-"*iocbpp[0] の I<iocb> が適切に初期化されていないか、 指定された操作がその "
-"I<iocb> 中のファイル・ディスクリプタに対して 無効である。"
+"I<ctx_id> で指定された AIO コンテキストが無効である。 I<nr> が 0 未満で\n"
+"ある。 I<*iocbpp[0]> の I<iocb> が適切に初期化されていないか、\n"
+"指定された操作がその I<iocb> 中のファイル・ディスクリプタに対して 無効\n"
+"である。"
#. type: Plain text
-#: build/C/man2/io_submit.2:75
+#: build/C/man2/io_submit.2:60
msgid "B<io_submit>() is not implemented on this architecture."
msgstr "B<io_submit>() はこのアーキテクチャでは実装されていない。"
#. type: Plain text
-#: build/C/man2/io_submit.2:83
+#: build/C/man2/io_submit.2:68
msgid ""
"B<io_submit>() is Linux-specific and should not be used in programs that "
"are intended to be portable."
"B<io_submit>() は Linux 固有であり、移植を想定したプログラムで 使用すべきで"
"はない。"
+#. http://git.fedorahosted.org/git/?p=libaio.git
#. type: Plain text
-#: build/C/man2/io_submit.2:99
+#: build/C/man2/io_submit.2:77
msgid ""
-"The wrapper provided in I<libaio> for B<io_submit>() does not follow the "
-"usual C library conventions for indicating error: on error it returns a "
-"negated error number (the negative of one of the values listed in ERRORS). "
-"If the system call is invoked via B<syscall>(2), then the return value "
-"follows the usual conventions for indicating an error: -1, with I<errno> set "
-"to a (positive) value that indicates the error."
+"Glibc does not provide a wrapper function for this system call. You could "
+"invoke it using B<syscall>(2). But instead, you probably want to use the "
+"B<io_submit>() wrapper function provided by I<libaio>."
msgstr ""
-"I<libaio> で B<io_submit>() 用に提供されているラッパー関数は、エラーの通知が"
-"通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
-"(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
-"B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
-"習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
-"す (正の) 値が設定される。"
+"glibc はこのシステムコールのラッパー関数を提供していない。\n"
+"B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
+"しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
+" I<libaio> が提供している B<io_submit> ラッパー関数を呼び出したい\n"
+"場合がほとんどであろう。"
-#. .SH "NOTES"
-#. .PP
-#. The asynchronous I/O system calls were written by Benjamin LaHaise.
#. .SH AUTHOR
#. Kent Yoder.
#. type: Plain text
-#: build/C/man2/io_submit.2:110
+#: build/C/man2/io_submit.2:106
msgid ""
"B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
"(7)"
"(7)"
#. type: TH
-#: build/C/man3/lio_listio.3:23
+#: build/C/man3/lio_listio.3:24
#, no-wrap
msgid "LIO_LISTIO"
msgstr "LIO_LISTIO"
-#. type: TH
-#: build/C/man3/lio_listio.3:23
-#, no-wrap
-msgid "2010-10-20"
-msgstr "2010-10-20"
-
#. type: Plain text
-#: build/C/man3/lio_listio.3:26
+#: build/C/man3/lio_listio.3:27
msgid "lio_listio - initiate a list of I/O requests"
-msgstr ""
+msgstr "lio_listio - リストの I/O リクエストを開始する"
#. type: Plain text
-#: build/C/man3/lio_listio.3:32
+#: build/C/man3/lio_listio.3:33
#, no-wrap
msgid ""
"B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
"B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
#. type: Plain text
-#: build/C/man3/lio_listio.3:40
+#: build/C/man3/lio_listio.3:41
msgid ""
"The B<lio_listio>() function initiates the list of I/O operations described "
"by the array I<aiocb_list>."
msgstr ""
+"B<lio_listio>() 関数は、配列 I<aiocb_list> で指定された I/O 操作の\n"
+"リストをそれぞれ開始する。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:44
+#: build/C/man3/lio_listio.3:45
msgid "The I<mode> operation has one of the following values:"
-msgstr ""
+msgstr "I<mode> 引き数には以下のいずれかの値を指定する。"
#. type: TP
-#: build/C/man3/lio_listio.3:44
+#: build/C/man3/lio_listio.3:45
#, no-wrap
msgid "B<LIO_WAIT>"
msgstr "B<LIO_WAIT>"
#. type: Plain text
-#: build/C/man3/lio_listio.3:50
+#: build/C/man3/lio_listio.3:51
msgid ""
"The call blocks until all operations are complete. The I<sevp> argument is "
"ignored."
msgstr ""
+"全ての操作が完了するまで、呼び出しは停止 (block) する。\n"
+"I<sevp> 引き数は無視される。"
#. type: TP
-#: build/C/man3/lio_listio.3:50
+#: build/C/man3/lio_listio.3:51
#, no-wrap
msgid "B<LIO_NOWAIT>"
msgstr "B<LIO_NOWAIT>"
#. type: Plain text
-#: build/C/man3/lio_listio.3:62
+#: build/C/man3/lio_listio.3:63
msgid ""
"The I/O operations are queued for processing and the call returns "
-"immediately. When the I/O operations complete, asynchronous notification "
-"occurs, as specified by the I<sevp> argument; see B<sigevent>(7) for "
-"details. If I<sevp> is NULL, no asynchronous notification occurs."
+"immediately. When all of the I/O operations complete, asynchronous "
+"notification occurs, as specified by the I<sevp> argument; see B<sigevent>"
+"(7) for details. If I<sevp> is NULL, no asynchronous notification occurs."
msgstr ""
+"I/O 操作は処理を行うためのキューに入れられ、呼び出しは直ちに返る。\n"
+"全ての I/O 操作が完了すると、 I<sevp> 引き数で指定した非同期通知が\n"
+"行われる。詳細は B<sigevent>(7) を参照。I<sevp> が NULL の場合、\n"
+"非同期通知は行われない。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:76
+#: build/C/man3/lio_listio.3:77
msgid ""
"The I<aiocb_list> argument is an array of pointers to I<aiocb> structures "
"that describe I/O operations. These operations are executed in an "
"unspecified order. The I<nitems> argument specifies the size of the array "
"I<aiocb_list>. NULL pointers in I<aiocb_list> are ignored."
msgstr ""
+"I<aiocb_list> 引き数は、I/O 操作を指定する I<aiocb> 構造体へのポインタ\n"
+"の配列である。指定された操作の実行順序は規定されていない。\n"
+"I<nitems> 引き数は、配列 I<aiocb_list> の大きさを指定する。\n"
+"I<aiocb_list> 内の NULL ポインタは無視される。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:82
+#: build/C/man3/lio_listio.3:83
msgid ""
"In each control block in I<aiocb_list>, the I<aio_lio_opcode> field "
"specifies the I/O operation to be initiated, as follows:"
msgstr ""
+"I<aiocb_list> の各制御ブロックでは、\n"
+"I<aio_lio_opcode> フィールドで開始する I/O 操作を指定する。\n"
+"I<aio_lio_opcode> には以下の値が指定できる。"
#. type: TP
-#: build/C/man3/lio_listio.3:82
+#: build/C/man3/lio_listio.3:83
#, no-wrap
msgid "B<LIO_READ>"
msgstr "B<LIO_READ>"
#. type: Plain text
-#: build/C/man3/lio_listio.3:88
+#: build/C/man3/lio_listio.3:89
msgid ""
"Initiate a read operation. The operation is queued as for a call to "
"B<aio_read>(3) specifying this control block."
msgstr ""
+"読み出し操作を開始する。操作はキューに入れられ、\n"
+"この制御ブロックを指定して B<aio_read>(3) の呼び出しが行われる。"
#. type: TP
-#: build/C/man3/lio_listio.3:88
+#: build/C/man3/lio_listio.3:89
#, no-wrap
msgid "B<LIO_WRITE>"
msgstr "B<LIO_WRITE>"
#. type: Plain text
-#: build/C/man3/lio_listio.3:94
+#: build/C/man3/lio_listio.3:95
msgid ""
"Initiate a write operation. The operation is queued as for a call to "
"B<aio_write>(3) specifying this control block."
msgstr ""
+"書き込み操作を開始する。操作はキューに入れられ、\n"
+"この制御ブロックを指定して B<aio_write>(3) の呼び出しが行われる。"
#. type: TP
-#: build/C/man3/lio_listio.3:94
+#: build/C/man3/lio_listio.3:95
#, no-wrap
msgid "B<LIO_NOP>"
msgstr "B<LIO_NOP>"
#. type: Plain text
-#: build/C/man3/lio_listio.3:97
+#: build/C/man3/lio_listio.3:98
msgid "Ignore this control block."
-msgstr ""
+msgstr "この制御ブロックを無視する。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:107
+#: build/C/man3/lio_listio.3:108
msgid ""
"The remaining fields in each control block have the same meanings as for "
"B<aio_read>(3) and B<aio_write>(3). The I<aio_sigevent> fields of each "
"control block can be used to specify notifications for the individual I/O "
"operations (see B<sigevent>(7))."
msgstr ""
+"各制御ブロックの残りのフィールドは、\n"
+"B<aio_read>(3) や B<aio_write>(3) の場合と同じ意味を持つ。\n"
+"各制御ブロックの I<aio_sigevent> フィールドは、\n"
+"個々の I/O 操作で通知方法を指定するのに使用される\n"
+"(B<sigevent>(7) 参照)。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:117
+#: build/C/man3/lio_listio.3:118
msgid ""
"If I<mode> is B<LIO_NOWAIT>, B<lio_listio>() returns 0 if all I/O "
"operations are successfully queued. Otherwise, -1 is returned, and I<errno> "
"is set to indicate the error."
msgstr ""
+"I<mode> が B<LIO_NOWAIT> の場合、 B<lio_listio>() は全ての操作が\n"
+"正常にキューに入れられた場合に 0 を返す。\n"
+"そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:127
+#: build/C/man3/lio_listio.3:128
msgid ""
"If I<mode> is B<LIO_WAIT>, B<lio_listio>() returns 0 when all of the I/O "
"operations have completed successfully. Otherwise, -1 is returned, and "
"I<errno> is set to indicate the error."
msgstr ""
+"I<mode> が B<LIO_WAIT> の場合、 B<lio_listio>() は全ての操作が\n"
+"正常に完了した場合に 0 を返す。\n"
+"そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:145
+#: build/C/man3/lio_listio.3:146
msgid ""
"The return status from B<lio_listio>() provides information only about the "
"call itself, not about the individual I/O operations. One or more of the I/"
"operations can fail for the reasons described in B<aio_read>(3) and "
"B<aio_write>(3)."
msgstr ""
+"B<lio_listio>() の返り値から得られる情報は、関数呼び出し自体に関する\n"
+"ものだけであり、個々の I/O 操作に関する情報は得られない。\n"
+"個々の I/O 操作は失敗することがあるが、これにより他の I/O 操作が完了\n"
+"しなくなるといったことはない。 B<aio_error>(3) を使うと、\n"
+"I<aiocb_list> の個々の I/O 操作のステータスを知ることができる。\n"
+"ある I/O 操作が完了すると、その終了ステータスはB<aio_return>(3) を使う\n"
+"ことで取得できる。個々の I/O 操作は B<aio_read>(3) や B<aio_write>(3)\n"
+"に書かれている理由で失敗する場合がある。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:149
+#: build/C/man3/lio_listio.3:150
msgid "The B<lio_listio>() function may fail for the following reasons:"
-msgstr ""
+msgstr "B<lio_listio>() 関数は以下の理由で失敗する。"
#. Doesn't happen in glibc(?)
#. type: Plain text
-#: build/C/man3/lio_listio.3:160
+#: build/C/man3/lio_listio.3:161
msgid ""
"The number of I/O operations specified by I<nitems> would cause the limit "
"B<AIO_MAX> to be exceeded."
msgstr ""
+"I<nitems> で指定された数の I/O 操作を行うと、\n"
+"非同期 I/O 操作の数が上限 B<AIO_MAX> を超えてしまう状況であった。"
#. Doesn't happen in glibc(?)
#. type: Plain text
-#: build/C/man3/lio_listio.3:168
+#: build/C/man3/lio_listio.3:169
msgid "I<mode> is invalid, or I<nitems> exceeds the limit B<AIO_LISTIO_MAX>."
msgstr ""
+"I<mode> が不正であるか、\n"
+"I<nitems> が上限 B<AIO_LISTIO_MAX> を超えている。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:177
+#: build/C/man3/lio_listio.3:178
msgid ""
"I<mode> was B<LIO_WAIT> and a signal was caught before all I/O operations "
"completed. (This may even be one of the signals used for asynchronous I/O "
"completion notification.)"
msgstr ""
+"I<mode> が B<LIO_WAIT> で、全ての I/O 操作が完了する前にシグナルが\n"
+"捕捉された (非同期 I/O の完了通知に使用されるシグナルの場合もこれに\n"
+"該当する)。"
#. type: TP
-#: build/C/man3/lio_listio.3:177
+#: build/C/man3/lio_listio.3:178
#, no-wrap
msgid "B<EIO>"
msgstr "B<EIO>"
#. e.g., ioa_reqprio or aio_lio_opcode was invalid
#. type: Plain text
-#: build/C/man3/lio_listio.3:185
+#: build/C/man3/lio_listio.3:186
msgid ""
"One of more of the operations specified by I<aiocb_list> failed. The "
"application can check the status of each operation using B<aio_return>(3)."
msgstr ""
+"I<aiocb_list> で指定された操作の中に失敗したものがあった。\n"
+"アプリケーションは、 B<aio_return>(3) を使用して、\n"
+"個々の操作のステータスを確認することができる。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:200
+#: build/C/man3/lio_listio.3:201
msgid ""
"If B<lio_listio>() fails with the error B<EAGAIN>, B<EINTR>, or B<EIO>, "
"then some of the operations in I<aiocb_list> may have been initiated. If "
"B<lio_listio>() fails for any other reason, then none of the I/O operations "
"has been initiated."
msgstr ""
+"B<lio_listio> がエラー B<EAGAIN>, B<EINTR>, B<EIO> で失敗した場合、\n"
+"I<aiocb_list> で指定した操作のいくつかは開始されていることがある。\n"
+"B<lio_listio> が他の理由で失敗した場合には、\n"
+"どの I/O 操作も開始されていない。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:204
+#: build/C/man3/lio_listio.3:205
msgid "The B<lio_listio>() function is available since glibc 2.1."
-msgstr ""
+msgstr "The B<lio_listio>() 関数は glibc 2.1 以降で利用できる。"
#. or the control block of the operation
#. type: Plain text
-#: build/C/man3/lio_listio.3:214
+#: build/C/man3/lio_listio.3:215
msgid ""
"It is a good idea to zero out the control blocks before use. The control "
"blocks must not be changed while the I/O operations are in progress. The "
"operations or undefined results may occur. The memory areas involved must "
"remain valid."
msgstr ""
+"使用前に制御ブロックを 0 で埋めるのは良い考えである。\n"
+"I/O 操作の実行中は制御ブロックを変更してはならない。データの読み書き先\n"
+"のバッファ領域に I/O 操作の実行中にアクセスしてはならない。さもないと、\n"
+"どのような結果になるか分からない。また、関係するメモリ領域も有効な状態\n"
+"のままにしておかなければならない。"
#. type: Plain text
-#: build/C/man3/lio_listio.3:226
+#: build/C/man3/lio_listio.3:227
msgid ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
msgstr ""
"B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
"B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
-
-#~ msgid "2003-11-14"
-#~ msgstr "2003-11-14"
-
-#~ msgid "POSIX.1-2001."
-#~ msgstr "POSIX.1-2001."
-
-#~ msgid ""
-#~ "This function returns B<EINPROGRESS> if the request has not been "
-#~ "completed yet. It returns B<ECANCELED> if the request was canceled. It "
-#~ "returns 0 if the request completed successfully. Otherwise an error "
-#~ "value is returned, the same value that would have been stored in the "
-#~ "I<errno> variable in case of a synchronous I<read>, I<write>, I<fsync>, "
-#~ "or I<fdatasync> request. On error, the error value is returned."
-#~ msgstr ""
-#~ "リクエストがまだ完了していない場合、この関数は B<EINPROGRESS> を返す。リク"
-#~ "エストがキャンセルされた場合、この関数は B<ECANCELED> を返す。リクエストが"
-#~ "成功して完了した場合、この関数は 0 を返す。 それ以外の場合はエラー値が返さ"
-#~ "れる。 このエラー値は、同期 I<read>, I<write>, I<fsync>, I<fdatasync> リク"
-#~ "エストの場合に I<errno> に格納されるのと同じ値である。 エラーの場合はエ"
-#~ "ラー値が返される。"
-
-#~ msgid ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-#~ msgstr ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-
-#~ msgid ""
-#~ "The B<aio_read>() function requests an asynchronous \"n = read(fd, buf, "
-#~ "count)\" with fd, buf, count given by I<aiocbp-E<gt>aio_fildes>, I<aiocbp-"
-#~ "E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes>, respectively. The return "
-#~ "status n can be retrieved upon completion using B<aio_return>(3)."
-#~ msgstr ""
-#~ "B<aio_read>() 関数は非同期の \"n = read(fd, buf, count)\" をリクエストす"
-#~ "る。 ここで fd, buf, count は、それぞれ I<aiocbp-E<gt>aio_fildes>, "
-#~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes> で与えられる。 返り値 "
-#~ "(return status) n は、完了時に B<aio_return>(3) を使って取得できる。"
-
-#~ msgid ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-#~ msgstr ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-
-#~ msgid ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-#~ msgstr ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-#~ "B<aio_suspend>(3), B<aio_write>(3)"
-
-#~ msgid ""
-#~ "The B<aio_suspend>() function suspends the calling process until at "
-#~ "least one of the asynchronous I/O requests in the list I<cblist> of "
-#~ "length I<n> have completed, a signal is delivered, or I<timeout> is not "
-#~ "NULL and the time interval it indicates has passed."
-#~ msgstr ""
-#~ "B<aio_suspend>() 関数は、長さ I<n> のリスト I<cblist> に含まれる非同期 I/"
-#~ "O リクエストのうち少なくとも 1 つが完了するか、 シグナルが配送されるか、 "
-#~ "I<timeout> が NULL でなく、かつその時間が過ぎるまで、 呼び出したプロセスを"
-#~ "停止 (suspend) する。"
-
-#~ msgid ""
-#~ "The B<aio_write>() function requests an asynchronous \"n = write(fd, "
-#~ "buf, count)\" with fd, buf, count given by I<aiocbp-E<gt>aio_fildes>, "
-#~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes>, respectively. The "
-#~ "return status n can be retrieved upon completion using B<aio_return>(3)."
-#~ msgstr ""
-#~ "B<aio_write>() 関数は非同期の \"n = write(fd, buf, count)\" をリクエスト"
-#~ "する。 ここで fd, buf, count は、それぞれ I<aiocbp-E<gt>aio_fildes>, "
-#~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes> で与えられる。 返り値 "
-#~ "(return status) n は、完了時に B<aio_return>(3) を使って取得できる。"
-
-#~ msgid ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-#~ "B<aio_return>(3), B<aio_suspend>(3)"
-#~ msgstr ""
-#~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
-#~ "B<aio_return>(3), B<aio_suspend>(3)"