1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
8 "Project-Id-Version: man-pages-ja\n"
9 "POT-Creation-Date: 2012-05-28 07:16+0900\n"
10 "PO-Revision-Date: 2012-05-12 19:50+0000\n"
11 "Last-Translator: Akihiro MOTOKI <amotoki@gmail.com>\n"
12 "Language-Team: Japanese (http://www.transifex.net/projects/p/man-pages-ja/"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Plural-Forms: nplurals=1; plural=0\n"
21 #: build/C/man7/aio.7:24
27 #: build/C/man7/aio.7:24
33 #: build/C/man7/aio.7:24 build/C/man3/aio_init.3:24 build/C/man2/io_cancel.2:5
34 #: build/C/man2/io_destroy.2:6 build/C/man2/io_getevents.2:5
35 #: build/C/man2/io_setup.2:5 build/C/man2/io_submit.2:5
41 #: build/C/man7/aio.7:24 build/C/man3/aio_cancel.3:23
42 #: build/C/man3/aio_error.3:23 build/C/man3/aio_fsync.3:23
43 #: build/C/man3/aio_init.3:24 build/C/man3/aio_read.3:23
44 #: build/C/man3/aio_return.3:23 build/C/man3/aio_suspend.3:24
45 #: build/C/man3/aio_write.3:23 build/C/man2/io_cancel.2:5
46 #: build/C/man2/io_destroy.2:6 build/C/man2/io_getevents.2:5
47 #: build/C/man2/io_setup.2:5 build/C/man2/io_submit.2:5
48 #: build/C/man3/lio_listio.3:23
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
54 #: build/C/man7/aio.7:25 build/C/man3/aio_cancel.3:24
55 #: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
56 #: build/C/man3/aio_init.3:25 build/C/man3/aio_read.3:24
57 #: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
58 #: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:6
59 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:6
60 #: build/C/man2/io_setup.2:6 build/C/man2/io_submit.2:6
61 #: build/C/man3/lio_listio.3:24
67 #: build/C/man7/aio.7:27
68 msgid "aio - POSIX asynchronous I/O overview"
69 msgstr "aio - POSIX 非同期 I/O の概要"
72 #: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:32
73 #: build/C/man3/aio_error.3:32 build/C/man3/aio_fsync.3:32
74 #: build/C/man3/aio_init.3:36 build/C/man3/aio_read.3:32
75 #: build/C/man3/aio_return.3:32 build/C/man3/aio_suspend.3:38
76 #: build/C/man3/aio_write.3:32 build/C/man2/io_cancel.2:15
77 #: build/C/man2/io_destroy.2:15 build/C/man2/io_getevents.2:18
78 #: build/C/man2/io_setup.2:14 build/C/man2/io_submit.2:15
79 #: build/C/man3/lio_listio.3:35
85 #: build/C/man7/aio.7:35
87 "The POSIX asynchronous I/O (AIO) interface allows applications to initiate "
88 "one or more I/O operations that are performed asynchronously (i.e., in the "
89 "background). The application can elect to be notified of completion of the "
90 "I/O operation in a variety of ways: by delivery of a signal, by "
91 "instantiation of a thread, or no notification at all."
93 "POSIX 非同期 (AIO) インターフェースを使うと、アプリケーションは、非同期\n"
94 "に (つまり、バックグラウンドで) 実行されるI/O 操作を一つ以上発行できる\n"
95 "ようになる。アプリケーションは I/O 操作の完了の通知方法を選択することが\n"
96 "できる。選択できる通知方法は、シグナルの配送、スレッドの起動、通知を行\n"
100 #: build/C/man7/aio.7:37
101 msgid "The POSIX AIO interface consists of the following functions:"
102 msgstr "POSIX AIO インターフェースは以下の関数で構成されている。"
105 #: build/C/man7/aio.7:37
107 msgid "B<aio_read>(3)"
108 msgstr "B<aio_read>(3)"
111 #: build/C/man7/aio.7:42
112 msgid "Enqueue a read request. This is the asynchronous analog of B<read>(2)."
114 "読み出しリクエストをキューに入れる。\n"
115 "B<read>(2) の非同期版である。"
118 #: build/C/man7/aio.7:42
120 msgid "B<aio_write>(3)"
121 msgstr "B<aio_write>(3)"
124 #: build/C/man7/aio.7:47
126 "Enqueue a write request. This is the asynchronous analog of B<write>(2)."
128 "書き込みリクエストをキューに入れる。\n"
129 "B<write>(2) の非同期版である。"
132 #: build/C/man7/aio.7:47
134 msgid "B<aio_fsync>(3)"
135 msgstr "B<aio_fsync>(3)"
138 #: build/C/man7/aio.7:54
140 "Enqueue a sync request for the I/O operations on a file descriptor. This is "
141 "the asynchronous analog of B<fsync>(2) and B<fdatasync>(2)."
143 "ファイルディスクリプタに対して行われた I/O 操作の\n"
144 "同期 (sync) リクエストをキューに入れる。\n"
145 "B<fsync>(2) や B<fdatasync>(2) の非同期版である。"
148 #: build/C/man7/aio.7:54
150 msgid "B<aio_error>(3)"
151 msgstr "B<aio_error>(3)"
154 #: build/C/man7/aio.7:57
155 msgid "Obtain the error status of an enqueued I/O request."
156 msgstr "キューに入れられた I/O リクエストのエラー状態を取得する。"
159 #: build/C/man7/aio.7:57
161 msgid "B<aio_return>(3)"
162 msgstr "B<aio_return>(3)"
165 #: build/C/man7/aio.7:60
166 msgid "Obtain the return status of a completed I/O request."
167 msgstr "完了した I/O リクエストの終了ステータスを取得する。"
170 #: build/C/man7/aio.7:60
172 msgid "B<aio_suspend>(3)"
173 msgstr "B<aio_suspend>(3)"
176 #: build/C/man7/aio.7:64
178 "Suspend the caller until one or more of a specified set of I/O requests "
181 "指定された I/O リクエストの集合 (要素は一つ以上) が完了するまで、\n"
182 "呼び出し側の実行を停止 (suspend) する。"
185 #: build/C/man7/aio.7:64
187 msgid "B<aio_cancel>(3)"
188 msgstr "B<aio_cancel>(3)"
191 #: build/C/man7/aio.7:68
193 "Attempt to cancel outstanding I/O requests on a specified file descriptor."
195 "指定されたファイルディスクリプタに関する\n"
196 "完了していない I/O リクエストのキャンセルを試みる。"
199 #: build/C/man7/aio.7:68
201 msgid "B<lio_listio>(3)"
202 msgstr "B<lio_listio>(3)"
205 #: build/C/man7/aio.7:71
206 msgid "Enqueue multiple I/O requests using a single function call."
207 msgstr "一回の関数呼び出しで複数の I/O リクエストをキューに入れる。"
210 #: build/C/man7/aio.7:78
212 "The I<aiocb> (\"asynchronous I/O control block\") structure defines "
213 "parameters that control an I/O operation. An argument of this type is "
214 "employed with all of the functions listed above. This structure has the "
217 "I<aiocb> (\"非同期 I/O 制御ブロック (asynchronous I/O control block)\")\n"
218 "構造体は、I/O 操作を制御するパラメータを定義する。この型の引き数は上記\n"
219 "の全ての関数で使用されている。この構造体は以下の通りである。"
222 #: build/C/man7/aio.7:82
224 msgid "#include E<lt>aiocb.hE<gt>\n"
225 msgstr "#include E<lt>aiocb.hE<gt>\n"
228 #: build/C/man7/aio.7:85
232 " /* The order of these fields is implementation-dependent */\n"
235 " /* The order of these fields is implementation-dependent */\n"
238 #: build/C/man7/aio.7:94
241 " int aio_fildes; /* File descriptor */\n"
242 " off_t aio_offset; /* File offset */\n"
243 " volatile void *aio_buf; /* Location of buffer */\n"
244 " size_t aio_nbytes; /* Length of transfer */\n"
245 " int aio_reqprio; /* Request priority */\n"
246 " struct sigevent aio_sigevent; /* Notification method */\n"
247 " int aio_lio_opcode; /* Operation to be performed;\n"
248 " lio_listio() only */\n"
250 " int aio_fildes; /* File descriptor */\n"
251 " off_t aio_offset; /* File offset */\n"
252 " volatile void *aio_buf; /* Location of buffer */\n"
253 " size_t aio_nbytes; /* Length of transfer */\n"
254 " int aio_reqprio; /* Request priority */\n"
255 " struct sigevent aio_sigevent; /* Notification method */\n"
256 " int aio_lio_opcode; /* Operation to be performed;\n"
257 " lio_listio() only */\n"
260 #: build/C/man7/aio.7:97
263 " /* Various implementation-internal fields not shown */\n"
266 " /* Various implementation-internal fields not shown */\n"
270 #: build/C/man7/aio.7:99
272 msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
273 msgstr "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
276 #: build/C/man7/aio.7:101
278 msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
279 msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
282 #: build/C/man7/aio.7:105
283 msgid "The fields of this structure are as follows:"
284 msgstr "この構造体のフィールドは以下の通りである。"
287 #: build/C/man7/aio.7:105
289 msgid "I<aio_filedes>"
290 msgstr "I<aio_filedes>"
293 #: build/C/man7/aio.7:108
294 msgid "The file descriptor on which the I/O operation is to be performed."
295 msgstr "I/O 操作の実行対象となるファイルディスクリプタ。"
298 #: build/C/man7/aio.7:108
300 msgid "I<aio_offset>"
301 msgstr "I<aio_offset>"
304 #: build/C/man7/aio.7:111
305 msgid "This is the file offset at which the I/O operation is to be performed."
306 msgstr "I/O 操作を行うファイルオフセットを示す。"
309 #: build/C/man7/aio.7:111
315 #: build/C/man7/aio.7:114
316 msgid "This is the buffer used to transfer data for a read or write operation."
317 msgstr "読み出し操作、書き込み操作でデータ転送に使用されるバッファ。"
320 #: build/C/man7/aio.7:114
322 msgid "I<aio_nbytes>"
323 msgstr "I<aio_nbytes>"
326 #: build/C/man7/aio.7:118
327 msgid "This is the size of the buffer pointed to by I<aio_buf>."
328 msgstr "I<aio_buf> が指すバッファのサイズ。"
331 #: build/C/man7/aio.7:118
333 msgid "I<aio_reqprio>"
334 msgstr "I<aio_reqprio>"
337 #: build/C/man7/aio.7:127
339 "This field specifies a value that is subtracted from the calling thread's "
340 "real-time priority in order to determine the priority for execution of this "
341 "I/O request (see B<pthread_setschedparam>(3)). The specified value must be "
342 "between 0 and the value returned by I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>. "
343 "This field is ignored for file synchronization operations."
345 "このフィールドでは、呼び出したスレッドのリアルタイム優先度から\n"
346 "減算する値を指定する。この I/O リクエストの実行の優先度を\n"
347 "決定するために使用される (B<pthread_setschedparam>(3) 参照)。\n"
348 "指定する値は 0 と I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す値の間で\n"
349 "なければならない。このフィールドは、ファイル同期操作では無視される。"
352 #: build/C/man7/aio.7:127
354 msgid "I<aio_sigevent>"
355 msgstr "I<aio_sigevent>"
358 #: build/C/man7/aio.7:141
360 "This field is a structure that specifies how the caller is to be notified "
361 "when the asynchronous I/O operation completes. Possible values for "
362 "I<aio_sigevent.sigev_notify> are B<SIGEV_NONE>, B<SIGEV_SIGNAL>, and "
363 "B<SIGEV_THREAD>. See B<sigevent>(7) for further details."
365 "このフィールドは、非同期 I/O 操作が完了した際に呼び出し側に\n"
366 "どのように通知を行うかを指定する構造体である。\n"
367 "I<aio_sigevent.sigev_notify> に指定できる値は、\n"
368 "B<SIGEV_NONE>, B<SIGEV_SIGNAL>, B<SIGEV_THREAD> である。\n"
369 "詳細は B<sigevent>(7) を参照。"
372 #: build/C/man7/aio.7:141
374 msgid "I<aio_lio_opcode>"
375 msgstr "I<aio_lio_opcode>"
378 #: build/C/man7/aio.7:145
379 msgid "The type of operation to be performed; used only for B<lio_listio>(3)."
382 "B<lio_listio>(3) でのみ使用される。"
385 #: build/C/man7/aio.7:148
387 "In addition to the standard functions listed above, the GNU C library "
388 "provides the following extension to the POSIX AIO API:"
390 "上記のリストにある標準の関数に加えて、GNU C ライブラリでは\n"
391 "以下に示す POSIX AIO API に対する拡張が提供されている。"
394 #: build/C/man7/aio.7:148
396 msgid "B<aio_init>(3)"
397 msgstr "B<aio_init>(3)"
400 #: build/C/man7/aio.7:151
402 "Set parameters for tuning the behavior of the glibc POSIX AIO implementation."
403 msgstr "glibc の POSIX AIO 実装の動作を調整するパラメータを設定する。"
406 #: build/C/man7/aio.7:151 build/C/man3/aio_read.3:133
407 #: build/C/man3/aio_suspend.3:108 build/C/man3/aio_write.3:138
408 #: build/C/man2/io_cancel.2:55 build/C/man2/io_destroy.2:50
409 #: build/C/man2/io_getevents.2:62 build/C/man2/io_setup.2:59
410 #: build/C/man2/io_submit.2:63 build/C/man3/lio_listio.3:206
416 #: build/C/man7/aio.7:158
418 "It is a good idea to zero out the control block buffer before use (see "
419 "B<memset>(3)). The control block buffer and the buffer pointed to by "
420 "I<aio_buf> must not be changed while the I/O operation is in progress. "
421 "These buffers must remain valid until the I/O operation completes."
423 "使用前に制御ブロックバッファを 0 で埋めるのはよい考えである\n"
424 "(B<memset>(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファと\n"
425 "I<aio_buf> が指すバッファを変更してはならない。I/O 操作が完了するまで、\n"
426 "これらのバッファは有効な状態に保たなければならない。"
429 #: build/C/man7/aio.7:162
431 "Simultaneous asynchronous read or write operations using the same I<aiocb> "
432 "structure yield undefined results."
434 "同じ I<aiocb> 構造体を使って、同時に複数の非同期の読み出し操作や\n"
435 "書き込み操作を行った場合に、どのような結果になるかは未定義である。"
437 #. http://lse.sourceforge.net/io/aio.html
438 #. http://lse.sourceforge.net/io/aionotes.txt
439 #. http://lwn.net/Articles/148755/
441 #: build/C/man7/aio.7:180
443 "The current Linux POSIX AIO implementation is provided in userspace by "
444 "glibc. This has a number of limitations, most notably that maintaining "
445 "multiple threads to perform I/O operations is expensive and scales poorly. "
446 "Work has been in progress for some time on a kernel state-machine-based "
447 "implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
448 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
449 "implementation hasn't yet matured to the point where the POSIX AIO "
450 "implementation can be completely reimplemented using the kernel system calls."
452 "現在の Linux では、POSIX AIO 実装は glibc によりユーザ空間で提供\n"
453 "されている。このため、制限がいくつかあり、最も顕著なものは、I/O 操作を\n"
454 "実行する複数のスレッドの管理コストが高く、スケーラビリティに欠けること\n"
455 "である。しばらくの間、カーネルのステートマシンによる非同期 I/O の実装\n"
456 "の作業が行われているが (B<io_submit>(2), B<io_setup>(2), \n"
457 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2) 参照)、\n"
458 "この実装はまだ POSIX AIO 実装をカーネルシステムコールにより\n"
462 #: build/C/man7/aio.7:180 build/C/man3/aio_cancel.3:100
463 #: build/C/man3/aio_error.3:65 build/C/man3/aio_fsync.3:78
464 #: build/C/man3/aio_read.3:102 build/C/man3/aio_return.3:62
465 #: build/C/man3/aio_suspend.3:87 build/C/man3/aio_write.3:109
466 #: build/C/man2/io_cancel.2:33 build/C/man2/io_destroy.2:31
467 #: build/C/man2/io_getevents.2:37 build/C/man2/io_setup.2:32
468 #: build/C/man2/io_submit.2:32 build/C/man3/lio_listio.3:145
474 #: build/C/man7/aio.7:181 build/C/man3/aio_error.3:66
475 #: build/C/man3/aio_fsync.3:86 build/C/man3/aio_read.3:110
476 #: build/C/man3/aio_return.3:63 build/C/man3/aio_write.3:121
477 #: build/C/man2/io_cancel.2:40 build/C/man2/io_destroy.2:35
478 #: build/C/man2/io_getevents.2:41 build/C/man2/io_setup.2:39
479 #: build/C/man2/io_submit.2:42 build/C/man3/lio_listio.3:160
485 #: build/C/man7/aio.7:190
487 "The I<aio_reqprio> field of the I<aiocb> structure was less than 0, or was "
488 "greater than the limit returned by the call I<sysconf(_SC_AIO_PRIO_DELTA_MAX)"
491 "I<aiocb> 構造体の I<aio_reqprio> フィールドが、0 より小さいか、\n"
492 "I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す上限よりも大きかった。"
495 #: build/C/man7/aio.7:190 build/C/man3/aio_cancel.3:109
496 #: build/C/man3/aio_error.3:77 build/C/man3/aio_fsync.3:98
497 #: build/C/man3/aio_init.3:91 build/C/man3/aio_read.3:127
498 #: build/C/man3/aio_return.3:72 build/C/man3/aio_suspend.3:102
499 #: build/C/man3/aio_write.3:132 build/C/man2/io_cancel.2:47
500 #: build/C/man2/io_destroy.2:42 build/C/man2/io_getevents.2:54
501 #: build/C/man2/io_setup.2:51 build/C/man2/io_submit.2:55
502 #: build/C/man3/lio_listio.3:200
508 #: build/C/man7/aio.7:192
509 msgid "The POSIX AIO interfaces are provided by glibc since version 2.1."
511 "POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。"
514 #: build/C/man7/aio.7:192 build/C/man3/aio_cancel.3:113
515 #: build/C/man3/aio_error.3:81 build/C/man3/aio_fsync.3:102
516 #: build/C/man3/aio_init.3:95 build/C/man3/aio_read.3:131
517 #: build/C/man3/aio_return.3:76 build/C/man3/aio_suspend.3:106
518 #: build/C/man3/aio_write.3:136 build/C/man2/io_cancel.2:50
519 #: build/C/man2/io_destroy.2:45 build/C/man2/io_getevents.2:57
520 #: build/C/man2/io_setup.2:54 build/C/man2/io_submit.2:58
521 #: build/C/man3/lio_listio.3:204
523 msgid "CONFORMING TO"
527 #: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:115
528 #: build/C/man3/aio_error.3:83 build/C/man3/aio_fsync.3:104
529 #: build/C/man3/aio_read.3:133 build/C/man3/aio_return.3:78
530 #: build/C/man3/aio_suspend.3:108 build/C/man3/aio_write.3:138
531 #: build/C/man3/lio_listio.3:206
532 msgid "POSIX.1-2001, POSIX.1-2008."
533 msgstr "POSIX.1-2001, POSIX.1-2008."
536 #: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:115
537 #: build/C/man3/aio_error.3:83 build/C/man3/aio_read.3:145
538 #: build/C/man3/aio_return.3:78
544 #: build/C/man7/aio.7:207
546 "The program below opens each of the files named in its command-line "
547 "arguments and queues a request on the resulting file descriptor using "
548 "B<aio_read>(3). The program then loops, periodically monitoring each of the "
549 "I/O operations that is still in progress using B<aio_error>(3). Each of the "
550 "I/O requests is set up to provide notification by delivery of a signal. "
551 "After all I/O requests have completed, the program retrieves their status "
552 "using B<aio_return>(3)."
554 "下記のプログラムは、コマンドライン引き数で指定された名前のファイルを\n"
555 "それぞれオープンし、得られたファイルディスクリプタに対するリクエストを\n"
556 "B<aio_read>(3) を使ってキューに入れる。その後、このプログラムはループに\n"
557 "入り、定期的に B<aio_error>(3) を使ってまだ実行中の各 I/O 操作を監視す\n"
558 "る。各 I/O リクエストは、シグナルの配送による完了通知が行われるように設\n"
559 "定される。全ての I/O リクエストが完了した後、B<aio_return>(3) を使って\n"
563 #: build/C/man7/aio.7:213
565 "The B<SIGQUIT> signal (generated by typing control-\\e) causes the program "
566 "to request cancellation of each of the outstanding requests using "
569 "B<SIGQUIT> シグナル (control-\\e をタイプすると生成できる) を送ると、\n"
570 "このプログラムは B<aio_cancel>(3) を使って\n"
571 "完了していない各リクエストにキャンセル要求を送る。"
574 #: build/C/man7/aio.7:218
576 "Here is an example of what we might see when running this program. In this "
577 "example, the program queues two requests to standard input, and these are "
578 "satisfied by two lines of input containing \"abc\" and \"x\"."
580 "以下はこのプログラムを実行した際の出力例である。\n"
581 "この例では、標準入力に対して 2 つのリクエストを行い、\n"
582 "\"abc\" と \"x\" という 2 行の入力を行っている。"
585 #: build/C/man7/aio.7:242
588 "$ B<./a.out /dev/stdin /dev/stdin>\n"
589 "opened /dev/stdin on descriptor 3\n"
590 "opened /dev/stdin on descriptor 4\n"
592 " for request 0 (descriptor 3): In progress\n"
593 " for request 1 (descriptor 4): In progress\n"
595 "I/O completion signal received\n"
597 " for request 0 (descriptor 3): I/O succeeded\n"
598 " for request 1 (descriptor 4): In progress\n"
600 " for request 1 (descriptor 4): In progress\n"
602 "I/O completion signal received\n"
604 " for request 1 (descriptor 4): I/O succeeded\n"
605 "All I/O requests completed\n"
607 " for request 0 (descriptor 3): 4\n"
608 " for request 1 (descriptor 4): 2\n"
610 "$ B<./a.out /dev/stdin /dev/stdin>\n"
611 "opened /dev/stdin on descriptor 3\n"
612 "opened /dev/stdin on descriptor 4\n"
614 " for request 0 (descriptor 3): In progress\n"
615 " for request 1 (descriptor 4): In progress\n"
617 "I/O completion signal received\n"
619 " for request 0 (descriptor 3): I/O succeeded\n"
620 " for request 1 (descriptor 4): In progress\n"
622 " for request 1 (descriptor 4): In progress\n"
624 "I/O completion signal received\n"
626 " for request 1 (descriptor 4): I/O succeeded\n"
627 "All I/O requests completed\n"
629 " for request 0 (descriptor 3): 4\n"
630 " for request 1 (descriptor 4): 2\n"
633 #: build/C/man7/aio.7:244
635 msgid "Program source"
639 #: build/C/man7/aio.7:253
642 "#include E<lt>stdlib.hE<gt>\n"
643 "#include E<lt>unistd.hE<gt>\n"
644 "#include E<lt>stdio.hE<gt>\n"
645 "#include E<lt>errno.hE<gt>\n"
646 "#include E<lt>aio.hE<gt>\n"
647 "#include E<lt>signal.hE<gt>\n"
649 "#include E<lt>stdlib.hE<gt>\n"
650 "#include E<lt>unistd.hE<gt>\n"
651 "#include E<lt>stdio.hE<gt>\n"
652 "#include E<lt>errno.hE<gt>\n"
653 "#include E<lt>aio.hE<gt>\n"
654 "#include E<lt>signal.hE<gt>\n"
657 #: build/C/man7/aio.7:255
659 msgid "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
660 msgstr "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
663 #: build/C/man7/aio.7:257
665 msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
666 msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
669 #: build/C/man7/aio.7:259
671 msgid "#define errMsg(msg) do { perror(msg); } while (0)\n"
672 msgstr "#define errMsg(msg) do { perror(msg); } while (0)\n"
675 #: build/C/man7/aio.7:266
678 "struct ioRequest { /* Application-defined structure for tracking\n"
682 " struct aiocb *aiocbp;\n"
685 "struct ioRequest { /* Application-defined structure for tracking\n"
689 " struct aiocb *aiocbp;\n"
693 #: build/C/man7/aio.7:270
696 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
697 " /* On delivery of SIGQUIT, we attempt to\n"
698 " cancel all outstanding I/O requests */\n"
700 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
701 " /* On delivery of SIGQUIT, we attempt to\n"
702 " cancel all outstanding I/O requests */\n"
705 #: build/C/man7/aio.7:276
708 "static void /* Handler for SIGQUIT */\n"
709 "quitHandler(int sig)\n"
714 "static void /* Handler for SIGQUIT */\n"
715 "quitHandler(int sig)\n"
721 #: build/C/man7/aio.7:278
723 msgid "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
724 msgstr "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
727 #: build/C/man7/aio.7:283
730 "static void /* Handler for I/O completion signal */\n"
731 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
733 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
735 "static void /* Handler for I/O completion signal */\n"
736 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
738 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
741 #: build/C/man7/aio.7:289
744 " /* The corresponding ioRequest structure would be available as\n"
745 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
746 " and the file descriptor would then be available via\n"
747 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
750 " /* The corresponding ioRequest structure would be available as\n"
751 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
752 " and the file descriptor would then be available via\n"
753 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
757 #: build/C/man7/aio.7:299
761 "main(int argc, char *argv[])\n"
763 " struct ioRequest *ioList;\n"
764 " struct aiocb *aiocbList;\n"
765 " struct sigaction sa;\n"
767 " int numReqs; /* Total number of queued I/O requests */\n"
768 " int openReqs; /* Number of I/O requests still in progress */\n"
771 "main(int argc, char *argv[])\n"
773 " struct ioRequest *ioList;\n"
774 " struct aiocb *aiocbList;\n"
775 " struct sigaction sa;\n"
777 " int numReqs; /* Total number of queued I/O requests */\n"
778 " int openReqs; /* Number of I/O requests still in progress */\n"
781 #: build/C/man7/aio.7:305
784 " if (argc E<lt> 2) {\n"
785 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
787 " exit(EXIT_FAILURE);\n"
790 " if (argc E<lt> 2) {\n"
791 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
793 " exit(EXIT_FAILURE);\n"
797 #: build/C/man7/aio.7:307
799 msgid " numReqs = argc - 1;\n"
800 msgstr " numReqs = argc - 1;\n"
803 #: build/C/man7/aio.7:309
805 msgid " /* Allocate our arrays */\n"
806 msgstr " /* Allocate our arrays */\n"
809 #: build/C/man7/aio.7:313
812 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
813 " if (ioList == NULL)\n"
814 " errExit(\"calloc\");\n"
816 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
817 " if (ioList == NULL)\n"
818 " errExit(\"calloc\");\n"
821 #: build/C/man7/aio.7:317
824 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
825 " if (aiocbList == NULL)\n"
826 " errExit(\"calloc\");\n"
828 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
829 " if (aiocbList == NULL)\n"
830 " errExit(\"calloc\");\n"
833 #: build/C/man7/aio.7:319
835 msgid " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
836 msgstr " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
839 #: build/C/man7/aio.7:322
842 " sa.sa_flags = SA_RESTART;\n"
843 " sigemptyset(&sa.sa_mask);\n"
845 " sa.sa_flags = SA_RESTART;\n"
846 " sigemptyset(&sa.sa_mask);\n"
849 #: build/C/man7/aio.7:326
852 " sa.sa_handler = quitHandler;\n"
853 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
854 " errExit(\"sigaction\");\n"
856 " sa.sa_handler = quitHandler;\n"
857 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
858 " errExit(\"sigaction\");\n"
861 #: build/C/man7/aio.7:331
864 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
865 " sa.sa_sigaction = aioSigHandler;\n"
866 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
867 " errExit(\"sigaction\");\n"
869 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
870 " sa.sa_sigaction = aioSigHandler;\n"
871 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
872 " errExit(\"sigaction\");\n"
875 #: build/C/man7/aio.7:334
878 " /* Open each file specified on the command line, and queue\n"
879 " a read request on the resulting file descriptor */\n"
881 " /* Open each file specified on the command line, and queue\n"
882 " a read request on the resulting file descriptor */\n"
885 #: build/C/man7/aio.7:339
888 " for (j = 0; j E<lt> numReqs; j++) {\n"
889 " ioList[j].reqNum = j;\n"
890 " ioList[j].status = EINPROGRESS;\n"
891 " ioList[j].aiocbp = &aiocbList[j];\n"
893 " for (j = 0; j E<lt> numReqs; j++) {\n"
894 " ioList[j].reqNum = j;\n"
895 " ioList[j].status = EINPROGRESS;\n"
896 " ioList[j].aiocbp = &aiocbList[j];\n"
899 #: build/C/man7/aio.7:345
902 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
903 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
904 " errExit(\"open\");\n"
905 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
906 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
908 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
909 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
910 " errExit(\"open\");\n"
911 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
912 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
915 #: build/C/man7/aio.7:349
918 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
919 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
920 " errExit(\"malloc\");\n"
922 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
923 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
924 " errExit(\"malloc\");\n"
927 #: build/C/man7/aio.7:357
930 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
931 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
932 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
933 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
934 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
935 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
938 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
939 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
940 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
941 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
942 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
943 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
947 #: build/C/man7/aio.7:362
950 " s = aio_read(ioList[j].aiocbp);\n"
952 " errExit(\"aio_read\");\n"
955 " s = aio_read(ioList[j].aiocbp);\n"
957 " errExit(\"aio_read\");\n"
961 #: build/C/man7/aio.7:364
963 msgid " openReqs = numReqs;\n"
964 msgstr " openReqs = numReqs;\n"
967 #: build/C/man7/aio.7:366
969 msgid " /* Loop, monitoring status of I/O requests */\n"
970 msgstr " /* Loop, monitoring status of I/O requests */\n"
973 #: build/C/man7/aio.7:369
976 " while (openReqs E<gt> 0) {\n"
977 " sleep(3); /* Delay between each monitoring step */\n"
979 " while (openReqs E<gt> 0) {\n"
980 " sleep(3); /* Delay between each monitoring step */\n"
983 #: build/C/man7/aio.7:371
985 msgid " if (gotSIGQUIT) {\n"
986 msgstr " if (gotSIGQUIT) {\n"
989 #: build/C/man7/aio.7:375
992 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
993 " outstanding I/O requests, and display status returned\n"
994 " from the cancellation requests */\n"
996 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
997 " outstanding I/O requests, and display status returned\n"
998 " from the cancellation requests */\n"
1001 #: build/C/man7/aio.7:377
1003 msgid " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1004 msgstr " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1007 #: build/C/man7/aio.7:394
1010 " for (j = 0; j E<lt> numReqs; j++) {\n"
1011 " if (ioList[j].status == EINPROGRESS) {\n"
1012 " printf(\" Request %d on descriptor %d:\", j,\n"
1013 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
1014 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1015 " ioList[j].aiocbp);\n"
1016 " if (s == AIO_CANCELED)\n"
1017 " printf(\"I/O canceled\\en\");\n"
1018 " else if (s == AIO_NOTCANCELED)\n"
1019 " printf(\"I/O not canceled\\en\");\n"
1020 " else if (s == AIO_ALLDONE)\n"
1021 " printf(\"I/O all done\\en\");\n"
1023 " errMsg(\"aio_cancel\");\n"
1027 " for (j = 0; j E<lt> numReqs; j++) {\n"
1028 " if (ioList[j].status == EINPROGRESS) {\n"
1029 " printf(\" Request %d on descriptor %d:\", j,\n"
1030 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
1031 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1032 " ioList[j].aiocbp);\n"
1033 " if (s == AIO_CANCELED)\n"
1034 " printf(\"I/O canceled\\en\");\n"
1035 " else if (s == AIO_NOTCANCELED)\n"
1036 " printf(\"I/O not canceled\\en\");\n"
1037 " else if (s == AIO_ALLDONE)\n"
1038 " printf(\"I/O all done\\en\");\n"
1040 " errMsg(\"aio_cancel\");\n"
1045 #: build/C/man7/aio.7:397
1048 " gotSIGQUIT = 0;\n"
1051 " gotSIGQUIT = 0;\n"
1055 #: build/C/man7/aio.7:400
1058 " /* Check the status of each I/O request that is still\n"
1061 " /* Check the status of each I/O request that is still\n"
1065 #: build/C/man7/aio.7:407
1068 " printf(\"aio_error():\\en\");\n"
1069 " for (j = 0; j E<lt> numReqs; j++) {\n"
1070 " if (ioList[j].status == EINPROGRESS) {\n"
1071 " printf(\" for request %d (descriptor %d): \",\n"
1072 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1073 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1075 " printf(\"aio_error():\\en\");\n"
1076 " for (j = 0; j E<lt> numReqs; j++) {\n"
1077 " if (ioList[j].status == EINPROGRESS) {\n"
1078 " printf(\" for request %d (descriptor %d): \",\n"
1079 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1080 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1083 #: build/C/man7/aio.7:422
1086 " switch (ioList[j].status) {\n"
1088 " printf(\"I/O succeeded\\en\");\n"
1090 " case EINPROGRESS:\n"
1091 " printf(\"In progress\\en\");\n"
1093 " case ECANCELED:\n"
1094 " printf(\"Canceled\\en\");\n"
1097 " errMsg(\"aio_error\");\n"
1101 " switch (ioList[j].status) {\n"
1103 " printf(\"I/O succeeded\\en\");\n"
1105 " case EINPROGRESS:\n"
1106 " printf(\"In progress\\en\");\n"
1108 " case ECANCELED:\n"
1109 " printf(\"Canceled\\en\");\n"
1112 " errMsg(\"aio_error\");\n"
1117 #: build/C/man7/aio.7:428
1120 " if (ioList[j].status != EINPROGRESS)\n"
1126 " if (ioList[j].status != EINPROGRESS)\n"
1133 #: build/C/man7/aio.7:430
1135 msgid " printf(\"All I/O requests completed\\en\");\n"
1136 msgstr " printf(\"All I/O requests completed\\en\");\n"
1139 #: build/C/man7/aio.7:432
1141 msgid " /* Check status return of all I/O requests */\n"
1142 msgstr " /* Check status return of all I/O requests */\n"
1145 #: build/C/man7/aio.7:436
1148 " printf(\"aio_return():\\en\");\n"
1149 " for (j = 0; j E<lt> numReqs; j++) {\n"
1152 " printf(\"aio_return():\\en\");\n"
1153 " for (j = 0; j E<lt> numReqs; j++) {\n"
1157 #: build/C/man7/aio.7:441
1160 " s = aio_return(ioList[j].aiocbp);\n"
1161 " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1162 " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1165 " s = aio_return(ioList[j].aiocbp);\n"
1166 " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1167 " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1171 #: build/C/man7/aio.7:444
1174 " exit(EXIT_SUCCESS);\n"
1177 " exit(EXIT_SUCCESS);\n"
1181 #: build/C/man7/aio.7:445 build/C/man3/aio_cancel.3:118
1182 #: build/C/man3/aio_error.3:86 build/C/man3/aio_fsync.3:104
1183 #: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:148
1184 #: build/C/man3/aio_return.3:81 build/C/man3/aio_suspend.3:128
1185 #: build/C/man3/aio_write.3:150 build/C/man2/io_cancel.2:85
1186 #: build/C/man2/io_destroy.2:80 build/C/man2/io_getevents.2:92
1187 #: build/C/man2/io_setup.2:89 build/C/man2/io_submit.2:93
1188 #: build/C/man3/lio_listio.3:218
1194 #: build/C/man7/aio.7:460
1196 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1197 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1198 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
1199 "www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
1201 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1202 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1203 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
1204 "www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
1207 #: build/C/man7/aio.7:460 build/C/man3/aio_cancel.3:127
1208 #: build/C/man3/aio_error.3:95 build/C/man3/aio_fsync.3:114
1209 #: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:157
1210 #: build/C/man3/aio_return.3:90 build/C/man3/aio_suspend.3:138
1211 #: build/C/man3/aio_write.3:159 build/C/man2/io_cancel.2:93
1212 #: build/C/man2/io_destroy.2:88 build/C/man2/io_getevents.2:102
1213 #: build/C/man2/io_setup.2:97 build/C/man2/io_submit.2:101
1214 #: build/C/man3/lio_listio.3:226
1220 #: build/C/man7/aio.7:467 build/C/man3/aio_cancel.3:134
1221 #: build/C/man3/aio_error.3:102 build/C/man3/aio_fsync.3:121
1222 #: build/C/man3/aio_init.3:106 build/C/man3/aio_read.3:164
1223 #: build/C/man3/aio_return.3:97 build/C/man3/aio_suspend.3:145
1224 #: build/C/man3/aio_write.3:166 build/C/man2/io_cancel.2:100
1225 #: build/C/man2/io_destroy.2:95 build/C/man2/io_getevents.2:109
1226 #: build/C/man2/io_setup.2:104 build/C/man2/io_submit.2:108
1227 #: build/C/man3/lio_listio.3:233
1230 #| "This page is part of release 3.40 of the Linux I<man-pages> project. A "
1231 #| "description of the project, and information about reporting bugs, can be "
1232 #| "found at http://www.kernel.org/doc/man-pages/."
1234 "This page is part of release 3.41 of the Linux I<man-pages> project. A "
1235 "description of the project, and information about reporting bugs, can be "
1236 "found at http://www.kernel.org/doc/man-pages/."
1238 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.40 の一部\n"
1239 "である。プロジェクトの説明とバグ報告に関する情報は\n"
1240 "http://www.kernel.org/doc/man-pages/ に書かれている。"
1243 #: build/C/man3/aio_cancel.3:23
1249 #: build/C/man3/aio_cancel.3:23 build/C/man3/aio_error.3:23
1250 #: build/C/man3/aio_fsync.3:23 build/C/man3/aio_read.3:23
1251 #: build/C/man3/aio_return.3:23 build/C/man3/aio_suspend.3:24
1252 #: build/C/man3/aio_write.3:23 build/C/man2/io_cancel.2:5
1253 #: build/C/man2/io_destroy.2:6 build/C/man2/io_getevents.2:5
1254 #: build/C/man2/io_setup.2:5 build/C/man2/io_submit.2:5
1255 #: build/C/man3/lio_listio.3:23
1257 #| msgid "2012-04-18"
1262 #: build/C/man3/aio_cancel.3:26
1263 msgid "aio_cancel - cancel an outstanding asynchronous I/O request"
1264 msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする"
1267 #: build/C/man3/aio_cancel.3:26 build/C/man3/aio_error.3:26
1268 #: build/C/man3/aio_fsync.3:26 build/C/man3/aio_init.3:27
1269 #: build/C/man3/aio_read.3:26 build/C/man3/aio_return.3:26
1270 #: build/C/man3/aio_suspend.3:27 build/C/man3/aio_write.3:26
1271 #: build/C/man2/io_cancel.2:8 build/C/man2/io_destroy.2:9
1272 #: build/C/man2/io_getevents.2:8 build/C/man2/io_setup.2:8
1273 #: build/C/man2/io_submit.2:8 build/C/man3/lio_listio.3:26
1279 #: build/C/man3/aio_cancel.3:28 build/C/man3/aio_error.3:28
1280 #: build/C/man3/aio_fsync.3:28 build/C/man3/aio_read.3:28
1281 #: build/C/man3/aio_return.3:28 build/C/man3/aio_write.3:28
1282 msgid "B<#include E<lt>aio.hE<gt>>"
1283 msgstr "B<#include E<lt>aio.hE<gt>>"
1286 #: build/C/man3/aio_cancel.3:30
1287 msgid "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1288 msgstr "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1291 #: build/C/man3/aio_cancel.3:32 build/C/man3/aio_error.3:32
1292 #: build/C/man3/aio_fsync.3:32 build/C/man3/aio_init.3:36
1293 #: build/C/man3/aio_read.3:32 build/C/man3/aio_return.3:32
1294 #: build/C/man3/aio_write.3:32
1295 msgid "Link with I<-lrt>."
1296 msgstr "I<-lrt> でリンクする。"
1299 #: build/C/man3/aio_cancel.3:50
1301 "The B<aio_cancel>() function attempts to cancel outstanding asynchronous I/"
1302 "O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all such "
1303 "requests are canceled. Otherwise, only the request described by the control "
1304 "block pointed to by I<aiocbp> is canceled. (See B<aio>(7) for a "
1305 "description of the I<aiocb> structure.)"
1307 "B<aio_cancel>() 関数は、ファイルディスクリプタ I<fd> についての完了していな"
1309 "非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が NULL の場合、"
1311 "のような全てのリクエストがキャンセルされる。 I<aiocbp> が NULL でない場合、\n"
1312 "I<aiocbp> で指された制御ブロックで記述されたリクエストのみがキャンセルされ"
1314 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1317 #: build/C/man3/aio_cancel.3:62
1320 #| "Normal asynchronous notification occurs for canceled requests. The "
1321 #| "request return status (B<aio_return>(3)) is set to -1, and the request "
1322 #| "error status (B<aio_error>(3)) is set to B<ECANCELED>. The control "
1323 #| "block of requests that cannot be canceled is not changed."
1325 "Normal asynchronous notification occurs for canceled requests (see B<aio>"
1326 "(7) and B<sigevent>(7)). The request return status (B<aio_return>(3)) is "
1327 "set to -1, and the request error status (B<aio_error>(3)) is set to "
1328 "B<ECANCELED>. The control block of requests that cannot be canceled is not "
1331 "キャンセルされたリクエストに対して、通常の非同期通知が起こる。\n"
1332 "リクエストの返り値 (B<aio_return>(3)) は -1 に設定され、\n"
1333 "リクエストのエラー状態 (B<aio_error>(3)) は B<ECANCELED> に設定される。\n"
1334 "キャンセルできないリクエストの制御ブロックは変更されない。"
1337 #: build/C/man3/aio_cancel.3:69
1339 "If the request could not be canceled, then it will terminate in the usual "
1340 "way after performing the I/O operation. (In this case, B<aio_error>(3) "
1341 "will return the status B<EINPROGRESSS>.)"
1345 #: build/C/man3/aio_cancel.3:76
1347 "If I<aiocbp> is not NULL, and I<fd> differs from the file descriptor with "
1348 "which the asynchronous operation was initiated, unspecified results occur."
1350 "I<aiocbp> が NULL でなく、かつ I<fd> が非同期操作が開始されたファイルディスク"
1351 "リプタと異なる場合、 生じる結果は不定である。"
1353 #. FreeBSD: not those on raw disk devices.
1355 #: build/C/man3/aio_cancel.3:79
1356 msgid "Which operations are cancelable is implementation-defined."
1357 msgstr "どの操作をキャンセルできるかは、実装定義である。"
1360 #: build/C/man3/aio_cancel.3:79 build/C/man3/aio_error.3:43
1361 #: build/C/man3/aio_fsync.3:72 build/C/man3/aio_read.3:87
1362 #: build/C/man3/aio_return.3:48 build/C/man3/aio_suspend.3:79
1363 #: build/C/man3/aio_write.3:94 build/C/man2/io_cancel.2:28
1364 #: build/C/man2/io_destroy.2:26 build/C/man2/io_getevents.2:31
1365 #: build/C/man2/io_setup.2:27 build/C/man2/io_submit.2:26
1366 #: build/C/man3/lio_listio.3:107
1368 msgid "RETURN VALUE"
1372 #: build/C/man3/aio_cancel.3:83
1373 msgid "The B<aio_cancel>() function returns one of the following values:"
1374 msgstr "B<aio_cancel>() 関数は以下のいずれかの値を返す。"
1377 #: build/C/man3/aio_cancel.3:83
1379 msgid "B<AIO_CANCELED>"
1380 msgstr "B<AIO_CANCELED>"
1383 #: build/C/man3/aio_cancel.3:86
1384 msgid "All requests were successfully canceled."
1385 msgstr "全てのリクエストが正常にキャンセルされた。"
1388 #: build/C/man3/aio_cancel.3:86
1390 msgid "B<AIO_NOTCANCELED>"
1391 msgstr "B<AIO_NOTCANCELED>"
1394 #: build/C/man3/aio_cancel.3:92
1396 "At least one of the requests specified was not canceled because it was in "
1397 "progress. In this case, one may check the status of individual requests "
1398 "using B<aio_error>(3)."
1400 "指定されたリクエストのうち少なくとも一つが、実行中のため\n"
1401 "キャンセルできなかった。この場合には、B<aio_error>(3) を使って\n"
1402 "個々のリクエストの状態を確認できる。"
1405 #: build/C/man3/aio_cancel.3:92
1407 msgid "B<AIO_ALLDONE>"
1408 msgstr "B<AIO_ALLDONE>"
1411 #: build/C/man3/aio_cancel.3:95
1412 msgid "All requests had already been completed before the call."
1413 msgstr "呼び出しの前に全てのリクエストがすでに完了していた。"
1416 #: build/C/man3/aio_cancel.3:95
1422 #: build/C/man3/aio_cancel.3:100
1424 "An error occurred. The cause of the error can be found by inspecting "
1428 "I<errno> を確認することでエラーの原因を知ることができる。"
1431 #: build/C/man3/aio_cancel.3:101 build/C/man3/aio_fsync.3:82
1432 #: build/C/man3/aio_read.3:106 build/C/man3/aio_write.3:113
1433 #: build/C/man2/io_submit.2:36
1439 #: build/C/man3/aio_cancel.3:105
1440 msgid "I<fd> is not a valid file descriptor."
1441 msgstr "I<fd> が有効なファイルディスクリプタでない。"
1444 #: build/C/man3/aio_cancel.3:105 build/C/man3/aio_error.3:73
1445 #: build/C/man3/aio_fsync.3:94 build/C/man3/aio_read.3:118
1446 #: build/C/man3/aio_return.3:68 build/C/man3/aio_suspend.3:98
1447 #: build/C/man3/aio_write.3:128 build/C/man2/io_cancel.2:43
1448 #: build/C/man2/io_destroy.2:38 build/C/man2/io_getevents.2:50
1449 #: build/C/man2/io_setup.2:47 build/C/man2/io_submit.2:51
1455 #: build/C/man3/aio_cancel.3:109
1457 #| msgid "B<io_cancel>() is not implemented on this architecture."
1458 msgid "B<aio_cancel()> is not implemented."
1459 msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
1462 #: build/C/man3/aio_cancel.3:113
1463 msgid "The B<aio_cancel>() function is available since glibc 2.1."
1464 msgstr "B<aio_cancel>() 関数は glibc 2.1 以降で利用できる。"
1467 #: build/C/man3/aio_cancel.3:118 build/C/man3/aio_error.3:86
1468 #: build/C/man3/aio_read.3:148 build/C/man3/aio_return.3:81
1469 msgid "See B<aio>(7)."
1470 msgstr "B<aio>(7) を参照。"
1473 #: build/C/man3/aio_cancel.3:127
1475 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1476 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1478 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), \n"
1479 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1482 #: build/C/man3/aio_error.3:23
1488 #: build/C/man3/aio_error.3:26
1489 msgid "aio_error - get error status of asynchronous I/O operation"
1490 msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する"
1493 #: build/C/man3/aio_error.3:30
1494 msgid "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1495 msgstr "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1498 #: build/C/man3/aio_error.3:43
1500 "The B<aio_error>() function returns the error status for the asynchronous I/"
1501 "O request with control block pointed to by I<aiocbp>. (See B<aio>(7) for a "
1502 "description of the I<aiocb> structure.)"
1504 "B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
1506 "トのエラー状態を返す。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1509 #: build/C/man3/aio_error.3:45
1510 msgid "This function returns one of the following:"
1511 msgstr "この関数の返り値は以下のいずれかである。"
1514 #: build/C/man3/aio_error.3:45 build/C/man3/aio_error.3:49
1515 #: build/C/man3/aio_error.3:52 build/C/man3/aio_error.3:54
1516 #: build/C/man3/aio_suspend.3:42 build/C/man3/aio_suspend.3:46
1517 #: build/C/man3/aio_suspend.3:48
1523 #: build/C/man3/aio_error.3:49
1524 msgid "B<EINPROGRESS>, if the request has not been completed yet."
1525 msgstr "B<EINPROGRESS> (リクエストがまだ完了していない場合)"
1528 #: build/C/man3/aio_error.3:52
1529 msgid "B<ECANCELED>, if the request was canceled."
1530 msgstr "B<ECANCELED> (リクエストがキャンセルされた場合)"
1533 #: build/C/man3/aio_error.3:54
1534 msgid "0, if the request completed successfully."
1535 msgstr "0 (リクエストが正常に完了した場合)"
1538 #: build/C/man3/aio_error.3:65
1541 #| "A positive error, if the asynchronous I/O operation failed. This is the "
1542 #| "same value that would have been stored in the I<errno> variable in the "
1543 #| "case of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or "
1544 #| "B<fdatasync>(2) call."
1546 "A positive error number, if the asynchronous I/O operation failed. This is "
1547 "the same value that would have been stored in the I<errno> variable in the "
1548 "case of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or B<fdatasync>"
1551 "正のエラー (非同期 I/O 命令が失敗した場合)。\n"
1552 "同期の B<read>(2), B<write>(2), B<fsync>(2), B<fdatasync>(2) の呼び出しの場合"
1554 "I<errno> 変数に格納されるのと同じ値になる。"
1557 #: build/C/man3/aio_error.3:73
1559 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
1560 "of which the return status (see B<aio_return>(3)) has not been retrieved "
1563 "I<aiocbp> が、まだ返り値 (return status) (B<aio_return>(3) を参照) が取得さ"
1564 "れていない非同期 I/O リクエストの制御ブロックを指していない。"
1567 #: build/C/man3/aio_error.3:77
1569 #| msgid "B<io_destroy>() is not implemented on this architecture."
1570 msgid "B<aio_error>() is not implemented."
1571 msgstr "B<io_destroy>() はこのアーキテクチャでは実装されていない。"
1574 #: build/C/man3/aio_error.3:81
1575 msgid "The B<aio_error>() function is available since glibc 2.1."
1576 msgstr "B<aio_error>() 関数は glibc 2.1 以降で利用できる。"
1579 #: build/C/man3/aio_error.3:95
1581 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1582 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1584 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1585 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1588 #: build/C/man3/aio_fsync.3:23
1594 #: build/C/man3/aio_fsync.3:26
1595 msgid "aio_fsync - asynchronous file synchronization"
1596 msgstr "aio_fsync - 非同期ファイルを同期させる"
1599 #: build/C/man3/aio_fsync.3:30
1600 msgid "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1601 msgstr "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1604 #: build/C/man3/aio_fsync.3:43
1606 "The B<aio_fsync>() function does a sync on all outstanding asynchronous I/O "
1607 "operations associated with I<aiocbp-E<gt>aio_fildes>. (See B<aio>(7) for a "
1608 "description of the I<aiocb> structure.)"
1610 "B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ\n"
1611 "完了していない全ての非同期 I/O 操作を同期させる。\n"
1612 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1615 #: build/C/man3/aio_fsync.3:57
1617 "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
1618 "operations shall be completed as if by a call of B<fsync>(2), and if I<op> "
1619 "is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>(2)."
1621 "より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全"
1623 "の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また\n"
1624 "I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版となる。"
1627 #: build/C/man3/aio_fsync.3:59
1628 msgid "Note that this is a request only; it does not wait for I/O completion."
1630 "この関数はリクエストを行うだけである点に注意すること。\n"
1631 "I/O の完了の待ち合わせは行わない。"
1634 #: build/C/man3/aio_fsync.3:72
1636 "Apart from I<aio_fildes>, the only field in the structure pointed to by "
1637 "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
1638 "I<sigevent> structure, described in B<sigevent>(7)), which indicates the "
1639 "desired type of asynchronous notification at completion. All other fields "
1642 "I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes>\n"
1643 "以外に使用されるのは I<aio_sigevent> フィールド (I<sigevent> 構造体、説明は\n"
1644 "B<sigevent>(7) 参照) のみである。このフィールドは、完了時の非同期通知に使用\n"
1645 "したいタイプを示す。 その他のフィールドは無視される。"
1648 #: build/C/man3/aio_fsync.3:78
1650 "On success (the sync request was successfully queued) this function returns "
1651 "0. On error -1 is returned, and I<errno> is set appropriately."
1653 "成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 "
1654 "を返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
1657 #: build/C/man3/aio_fsync.3:79 build/C/man3/aio_read.3:103
1658 #: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
1659 #: build/C/man2/io_cancel.2:34 build/C/man2/io_setup.2:33
1660 #: build/C/man2/io_submit.2:33 build/C/man3/lio_listio.3:149
1661 #: build/C/man3/lio_listio.3:152
1667 #: build/C/man3/aio_fsync.3:82 build/C/man3/aio_read.3:106
1668 #: build/C/man3/aio_write.3:113 build/C/man3/lio_listio.3:152
1669 msgid "Out of resources."
1673 #: build/C/man3/aio_fsync.3:86 build/C/man3/aio_write.3:117
1674 msgid "I<aio_fildes> is not a valid file descriptor open for writing."
1676 "I<aio_fildes> が書き込みのためにオープンされた有効なファイルディスクリプタで"
1680 #: build/C/man3/aio_fsync.3:94
1682 "Synchronized I/O is not supported for this file, or I<op> is not B<O_SYNC> "
1685 "このファイルでは同期 I/O がサポートされていない。\n"
1686 "または I<op> が B<O_SYNC> でも B<O_DSYNC> でもない。"
1689 #: build/C/man3/aio_fsync.3:98
1691 #| msgid "B<io_cancel>() is not implemented on this architecture."
1692 msgid "B<aio_fsync>() is not implemented."
1693 msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
1696 #: build/C/man3/aio_fsync.3:102
1697 msgid "The B<aio_fsync>() function is available since glibc 2.1."
1698 msgstr "The B<aio_fsync>() 関数は glibc 2.1 以降で利用できる。"
1701 #: build/C/man3/aio_fsync.3:114
1703 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1704 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
1707 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1708 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
1712 #: build/C/man3/aio_init.3:24
1718 #: build/C/man3/aio_init.3:24
1724 #: build/C/man3/aio_init.3:27
1725 msgid "aio_init - asynchronous I/O initialization"
1726 msgstr "aio_init - 非同期 I/O の初期化"
1729 #: build/C/man3/aio_init.3:31
1732 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1733 "B<#include E<lt>aio.hE<gt>>\n"
1735 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1736 "B<#include E<lt>aio.hE<gt>>\n"
1739 #: build/C/man3/aio_init.3:33
1741 msgid "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1742 msgstr "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1745 #: build/C/man3/aio_init.3:43
1747 "The GNU-specific B<aio_init>() function allows the caller to provide tuning "
1748 "hints to the glibc POSIX AIO implementation. Use of this function is "
1749 "optional, but to be effective, it must be called before employing any other "
1750 "functions in the POSIX AIO API."
1752 "GNU 固有の B<aio_init>() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装"
1754 "対して調整 (チューニング) のヒントを与えることができる。この関数は使用しな"
1756 "てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前"
1761 #: build/C/man3/aio_init.3:47
1763 "The tuning information is provided in the buffer pointed to by the argument "
1764 "I<init>. This buffer is a structure of the following form:"
1766 "チューニングの情報は、引き数 I<init> が指すバッファで与える。\n"
1767 "このバッファは以下の形式の構造体である。"
1770 #: build/C/man3/aio_init.3:62
1773 "struct aioinit {\n"
1774 " int aio_threads; /* Maximum number of threads */\n"
1775 " int aio_num; /* Number of expected simultaneous\n"
1777 " int aio_locks; /* Not used */\n"
1778 " int aio_usedba; /* Not used */\n"
1779 " int aio_debug; /* Not used */\n"
1780 " int aio_numusers; /* Not used */\n"
1781 " int aio_idle_time; /* Number of seconds before idle thread\n"
1782 " terminates (since glibc 2.2) */\n"
1783 " int aio_reserved;\n"
1786 "struct aioinit {\n"
1787 " int aio_threads; /* Maximum number of threads */\n"
1788 " int aio_num; /* Number of expected simultaneous\n"
1790 " int aio_locks; /* Not used */\n"
1791 " int aio_usedba; /* Not used */\n"
1792 " int aio_debug; /* Not used */\n"
1793 " int aio_numusers; /* Not used */\n"
1794 " int aio_idle_time; /* Number of seconds before idle thread\n"
1795 " terminates (since glibc 2.2) */\n"
1796 " int aio_reserved;\n"
1800 #: build/C/man3/aio_init.3:68
1801 msgid "The following fields are used in the I<aioinit> structure:"
1802 msgstr "I<aioinit> 構造体のフィールドのうち以下が使用される。"
1805 #: build/C/man3/aio_init.3:68
1807 msgid "I<aio_threads>"
1808 msgstr "I<aio_threads>"
1811 #: build/C/man3/aio_init.3:76
1813 "This field specifies the maximum number of worker threads that may be used "
1814 "by the implementation. If the number of outstanding I/O operations exceeds "
1815 "this limit, then excess operations will be queued until a worker thread "
1816 "becomes free. If this field is specified with a value less than 1, the "
1817 "value 1 is used. The default value is 20."
1819 "このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定す"
1821 "完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は\n"
1822 "空いたワーカースレッドができるまでキューに入る。\n"
1823 "このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。\n"
1827 #: build/C/man3/aio_init.3:76
1832 #. FIXME But, if aio_num > 32, the behavior looks strange. See
1833 #. http://sourceware.org/bugzilla/show_bug.cgi?id=12083
1835 #: build/C/man3/aio_init.3:85
1837 "This field should specify the maximum number of simultaneous I/O requests "
1838 "that the caller expects to enqueue. If a value less than 32 is specified "
1839 "for this field, it is rounded up to 32. The default value is 64."
1841 "このフィールドは、呼び出し側がキューに入れる予定の\n"
1842 "同時 I/O リクエスト数の最大値を指定する。\n"
1843 "このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。\n"
1847 #: build/C/man3/aio_init.3:85
1849 msgid "I<aio_idle_time>"
1850 msgstr "I<aio_idle_time>"
1853 #: build/C/man3/aio_init.3:91
1855 "This field specifies the amount of time in seconds that a worker thread "
1856 "should wait for further requests before terminating, after having completed "
1857 "a previous request. The default value is 1."
1859 "このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してか"
1861 "次のリクエストをどのくらい時間待つかを秒単位で指定する。\n"
1862 "指定した時間を経過しても次のリクエストがなければ、\n"
1863 "そのワーカースレッドは終了される。デフォルト値は 1 秒である。"
1866 #: build/C/man3/aio_init.3:95
1867 msgid "The B<aio_init>() function is available since glibc 2.1."
1868 msgstr "The B<aio_init>() 関数は glibc 2.1 以降で利用できる。"
1871 #: build/C/man3/aio_init.3:97
1872 msgid "This function is a GNU extension."
1873 msgstr "この関数は GNU による拡張である。"
1876 #: build/C/man3/aio_init.3:99
1881 #: build/C/man3/aio_read.3:23
1887 #: build/C/man3/aio_read.3:26
1888 msgid "aio_read - asynchronous read"
1889 msgstr "aio_read - 非同期で読み込む"
1892 #: build/C/man3/aio_read.3:30
1893 msgid "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1894 msgstr "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1897 #: build/C/man3/aio_read.3:40
1899 "The B<aio_read>() function queues the I/O request described by the buffer "
1900 "pointed to by I<aiocbp>. This function is the asynchronous analog of B<read>"
1901 "(2). The arguments of the call"
1903 "B<aio_read>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエストを\n"
1904 "キューに入れる。この関数は B<read>(2) の非同期版である。\n"
1908 #: build/C/man3/aio_read.3:42
1910 msgid " read(fd, buf, count)\n"
1911 msgstr " read(fd, buf, count)\n"
1914 #: build/C/man3/aio_read.3:55 build/C/man3/aio_write.3:55
1916 "correspond (in order) to the fields I<aio_fildes>, I<aio_buf>, and "
1917 "I<aio_nbytes> of the structure pointed to by I<aiocbp>. (See B<aio>(7) for "
1918 "a description of the I<aiocb> structure.)"
1920 "の各引き数は I<aiocb> が指す構造体の I<aio_fildes>, I<aio_buf>, "
1922 "に (この順序で) 対応する (I<aiocb> 構造体の説明は B<aio>(7) を参照)。"
1925 #: build/C/man3/aio_read.3:61
1927 "The data is read starting at the absolute file offset I<aiocbp-"
1928 "E<gt>aio_offset>, regardless of the current file offset. After the call, "
1929 "the value of the current file offset is unspecified."
1931 "データの読み込みは、カレントのファイルオフセットに関係なく、\n"
1932 "絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として行われる。\n"
1933 "呼び出しの後のカレントのファイルオフセットは規定されていない。"
1936 #: build/C/man3/aio_read.3:74
1938 "The \"asynchronous\" means that this call returns as soon as the request has "
1939 "been enqueued; the read may or may not have completed when the call "
1940 "returns. One tests for completion using B<aio_error>(3). The return status "
1941 "of a completed I/O operation can be obtained by B<aio_return>(3). "
1942 "Asynchronous notification of I/O completion can be obtained by setting "
1943 "I<aiocbp-E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
1945 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
1947 "ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない"
1949 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
1951 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
1952 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
1953 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
1956 #: build/C/man3/aio_read.3:81 build/C/man3/aio_write.3:88
1958 "If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the "
1959 "asynchronous operation is submitted at a priority equal to that of the "
1960 "calling process minus I<aiocbp-E<gt>aio_reqprio>."
1962 "B<_POSIX_PRIORITIZED_IO> が定義されていて、 かつファイルがこれをサポートして"
1963 "いる場合、 非同期操作は呼び出したプロセスの優先度から I<aiocbp-"
1964 "E<gt>aio_reqprio> を引いた優先度で登録 (submit) される。"
1967 #: build/C/man3/aio_read.3:85 build/C/man3/aio_write.3:92
1968 msgid "The field I<aiocbp-E<gt>aio_lio_opcode> is ignored."
1969 msgstr "フィールド I<aiocbp-E<gt>aio_lio_opcode> は無視される。"
1972 #: build/C/man3/aio_read.3:87
1973 msgid "No data is read from a regular file beyond its maximum offset."
1975 "最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。"
1978 #: build/C/man3/aio_read.3:102 build/C/man3/aio_write.3:109
1980 "On success, 0 is returned. On error the request is not enqueued, -1 is "
1981 "returned, and I<errno> is set appropriately. If an error is only detected "
1982 "later, it will be reported via B<aio_return>(3) (returns status -1) and "
1983 "B<aio_error>(3) (error status\\(emwhatever one would have gotten in "
1984 "I<errno>, such as B<EBADF>)."
1986 "成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、\n"
1987 "-1 が返されて、 I<errno> が適切に設定される。 エラーは後でのみ検知された場合"
1989 "エラーは B<aio_return>(3) と B<aio_error>(3) 経由で報告されることになる\n"
1990 "(B<aio_return>(3) は状態 -1 を返し、B<aio_error>(3) でエラー状態\\(em\n"
1991 "I<errno> で取得できる B<EBADF> のようなエラー状態が返される)。"
1994 #: build/C/man3/aio_read.3:110
1995 msgid "I<aio_fildes> is not a valid file descriptor open for reading."
1997 "I<aio_fildes> は読み込みのためにオープンされた有効なファイルディスクリプタで"
2001 #: build/C/man3/aio_read.3:118
2003 "One or more of I<aio_offset>, I<aio_reqprio>, or I<aio_nbytes> are invalid."
2005 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2008 #: build/C/man3/aio_read.3:122
2010 #| msgid "B<io_setup>() is not implemented on this architecture."
2011 msgid "B<aio_read>() is not implemented."
2012 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2015 #: build/C/man3/aio_read.3:122
2017 msgid "B<EOVERFLOW>"
2018 msgstr "B<EOVERFLOW>"
2021 #: build/C/man3/aio_read.3:127
2023 "The file is a regular file, we start reading before end-of-file and want at "
2024 "least one byte, but the starting position is past the maximum offset for "
2027 "ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 "
2028 "少なくとも 1 バイトを読み込もうとした。 しかし開始位置がこのファイルの最大オ"
2032 #: build/C/man3/aio_read.3:131
2033 msgid "The B<aio_read>() function is available since glibc 2.1."
2034 msgstr "The B<aio_read>() 関数は glibc 2.1 以降で利用できる。"
2036 #. or the control block of the operation
2038 #: build/C/man3/aio_read.3:141
2040 "It is a good idea to zero out the control block before use. The control "
2041 "block must not be changed while the read operation is in progress. The "
2042 "buffer area being read into must not be accessed during the operation or "
2043 "undefined results may occur. The memory areas involved must remain valid."
2045 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2046 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
2047 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
2048 "これに含まれるメモリ領域は、有効なままにしなければならない。"
2051 #: build/C/man3/aio_read.3:145 build/C/man3/aio_write.3:150
2052 #: build/C/man3/lio_listio.3:218
2054 "Simultaneous I/O operations specifying the same I<aiocb> structure produce "
2055 "undefined results."
2057 "同じ I<aiocb> 構造体を指定して同時に複数の I/O 操作を行った場合、\n"
2058 "どのような結果になるかは不定である。"
2061 #: build/C/man3/aio_read.3:157
2063 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2064 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2066 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2067 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2070 #: build/C/man3/aio_return.3:23
2076 #: build/C/man3/aio_return.3:26
2077 msgid "aio_return - get return status of asynchronous I/O operation"
2078 msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する"
2081 #: build/C/man3/aio_return.3:30
2082 msgid "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2083 msgstr "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2086 #: build/C/man3/aio_return.3:43
2088 "The B<aio_return>() function returns the final return status for the "
2089 "asynchronous I/O request with control block pointed to by I<aiocbp>. (See "
2090 "B<aio>(7) for a description of the I<aiocb> structure.)"
2092 "B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O\n"
2093 "リクエストの最終的な返り値を返す。\n"
2094 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2097 #: build/C/man3/aio_return.3:48
2099 "This function should be called only once for any given request, after "
2100 "B<aio_error>(3) returns something other than B<EINPROGRESS>."
2102 "この関数は、 B<aio_error>(3) が B<EINPROGRESS> 以外を返した後で、 与えられた"
2103 "リクエストに対して 1 回だけ呼ばれるべきである。"
2106 #: build/C/man3/aio_return.3:57
2108 "If the asynchronous I/O operation has completed, this function returns the "
2109 "value that would have been returned in case of a synchronous B<read>(2), "
2110 "B<write>(2), B<fsync>(2) or B<fdatasync>(2), call."
2112 "非同期 I/O 操作が完了した場合、この関数は、同期呼び出し B<read>(2),\n"
2113 "B<write>(2), B<fsync>(2), B<fdatasync>(2) が返すのと同じ値を返す。"
2116 #: build/C/man3/aio_return.3:62
2118 "If the asynchronous I/O operation has not yet completed, the return value "
2119 "and effect of B<aio_return>() are undefined."
2121 "非同期 I/O 操作が完了していない場合、\n"
2122 "B<aio_return>() の返り値とその影響は不定である。"
2125 #: build/C/man3/aio_return.3:68
2127 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
2128 "of which the return status has not been retrieved yet."
2130 "I<aiocbp> が、返り値がまだ取得されていない非同期 I/O リクエストの 制御ブロッ"
2134 #: build/C/man3/aio_return.3:72
2136 #| msgid "B<io_setup>() is not implemented on this architecture."
2137 msgid "B<aio_return>() is not implemented."
2138 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2141 #: build/C/man3/aio_return.3:76
2142 msgid "The B<aio_return>() function is available since glibc 2.1."
2143 msgstr "The B<aio_return>() 関数は glibc 2.1 以降で利用できる。"
2146 #: build/C/man3/aio_return.3:90
2148 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2149 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2151 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2152 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2155 #: build/C/man3/aio_suspend.3:24
2158 msgstr "AIO_SUSPEND"
2161 #: build/C/man3/aio_suspend.3:27
2162 msgid "aio_suspend - wait for asynchronous I/O operation or timeout"
2163 msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ"
2166 #: build/C/man3/aio_suspend.3:31 build/C/man3/lio_listio.3:29
2168 msgid "B<#include E<lt>aio.hE<gt>>\n"
2169 msgstr "B<#include E<lt>aio.hE<gt>>\n"
2172 #: build/C/man3/aio_suspend.3:33
2174 msgid "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2175 msgstr "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2178 #: build/C/man3/aio_suspend.3:35
2180 msgid "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2181 msgstr "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2184 #: build/C/man3/aio_suspend.3:37 build/C/man3/lio_listio.3:34
2186 msgid "Link with I<-lrt>.\n"
2187 msgstr "I<-lrt> でリンクする。\n"
2190 #: build/C/man3/aio_suspend.3:42
2192 "The B<aio_suspend>() function suspends the calling thread until one of the "
2195 "B<aio_suspend>() 関数は、以下のいずれかが発生するまで\n"
2196 "呼び出したスレッドの実行を停止 (suspend) する。"
2199 #: build/C/man3/aio_suspend.3:46
2201 "One or more of the asynchronous I/O requests in the list I<aiocb_list> has "
2204 "I<aiocb_list> リスト内の非同期 I/O リクエストのうち、少なくとも一つが完了し"
2208 #: build/C/man3/aio_suspend.3:48
2209 msgid "A signal is delivered."
2210 msgstr "シグナルが配送された。"
2213 #: build/C/man3/aio_suspend.3:55
2215 "I<timeout> is not NULL and the specified time interval has passed. (For "
2216 "details of the I<timespec> structure, see B<nanosleep>(2).)"
2218 "I<timeout> が NULL でない場合に、指定した時間が経過した\n"
2219 "(I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。"
2222 #: build/C/man3/aio_suspend.3:73
2224 "The I<nitems> argument specifies the number of items in I<aiocb_list>. Each "
2225 "item in the list pointed to by I<aiocb_list> must be either NULL (and then "
2226 "is ignored), or a pointer to a control block on which I/O was initiated "
2227 "using B<aio_read>(3), B<aio_write>(3), or B<lio_listio>(3). (See B<aio>(7) "
2228 "for a description of the I<aiocb> structure.)"
2230 "I<nitems> 引き数は I<aiocb_list> の要素数を指定する。\n"
2231 "I<aiocb_list> が指すリストの各要素は、NULL (これは無視される) か、\n"
2232 "B<aio_read>(3), B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された\n"
2233 "制御ブロックへのポインタでなければならない。\n"
2234 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2237 #: build/C/man3/aio_suspend.3:79
2239 "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
2240 "timeout interval (see B<clock_gettime>(3))."
2242 "B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウト"
2244 "間隔が計測される (B<clock_gettime>(3) を参照)。"
2247 #: build/C/man3/aio_suspend.3:87
2249 "If this function returns after completion of one of the I/O requests "
2250 "specified in I<aiocb_list>, 0 is returned. Otherwise, -1 is returned, and "
2251 "I<errno> is set to indicate the error."
2253 "I<aiocb_list> で指定された I/O リクエストの 1 つが完了した後に\n"
2254 "この関数が返った場合は、0 が返される。\n"
2255 "それ以外の場合は、 -1 が返り、 I<errno> にエラーを示す値に設定される。"
2258 #: build/C/man3/aio_suspend.3:92
2260 "The call timed out before any of the indicated operations had completed."
2261 msgstr "指示された操作のどれも完了しないうちに、呼び出しがタイムアウトした。"
2264 #: build/C/man3/aio_suspend.3:92 build/C/man2/io_getevents.2:46
2265 #: build/C/man3/lio_listio.3:168
2271 #: build/C/man3/aio_suspend.3:98
2273 "The call was ended by signal (possibly the completion signal of one of the "
2274 "operations we were waiting for); see B<signal>(7)."
2276 "この呼び出しがシグナルによって終了させられた (このシグナルは、完了を待ってい"
2278 "操作のいずれかの完了シグナルの可能性もある)。B<signal>(7) 参照。"
2281 #: build/C/man3/aio_suspend.3:102
2283 #| msgid "B<io_setup>() is not implemented on this architecture."
2284 msgid "B<aio_suspend()> is not implemented."
2285 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2288 #: build/C/man3/aio_suspend.3:106
2289 msgid "The B<aio_suspend>() function is available since glibc 2.1."
2290 msgstr "The B<aio_suspend>() 関数は glibc 2.1 以降で利用できる。"
2293 #: build/C/man3/aio_suspend.3:112
2295 "One can achieve polling by using a non-NULL I<timeout> that specifies a zero "
2298 "時間間隔が 0 であることを指定する NULL ではない I<timeout> を使って、ポーリン"
2302 #: build/C/man3/aio_suspend.3:118
2304 "If one or more of the asynchronous I/O operations specified in I<aiocb_list> "
2305 "has already completed at the time of the call to B<aio_suspend>(), then the "
2306 "call returns immediately."
2308 "I<aiocb_list> リストで指定した非同期 I/O 操作のうち、\n"
2309 "B<aio_suspend>() を呼び出した時点ですでに完了したものがある場合、\n"
2310 "B<aio_suspend>() はすぐに返る。"
2313 #: build/C/man3/aio_suspend.3:128
2315 "To determine which I/O operations have completed after a successful return "
2316 "from B<aio_suspend>(), use B<aio_error>(3) to scan the list of I<aiocb> "
2317 "structures pointed to by I<aiocb_list>."
2319 "B<aio_suspend>() が成功で返った後でどの I/O 操作が完了したかを特定するに"
2321 "B<aio_error>(3) を使って I<aiocb_list> が指す I<aiocb> 構造体のリストを\n"
2325 #: build/C/man3/aio_suspend.3:138
2327 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2328 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2330 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2331 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2334 #: build/C/man3/aio_write.3:23
2340 #: build/C/man3/aio_write.3:26
2341 msgid "aio_write - asynchronous write"
2342 msgstr "aio_write - 非同期で書き込む"
2345 #: build/C/man3/aio_write.3:30
2346 msgid "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2347 msgstr "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2350 #: build/C/man3/aio_write.3:40
2352 "The B<aio_write>() function queues the I/O request described by the buffer "
2353 "pointed to by I<aiocb>. This function is the asynchronous analog of B<write>"
2354 "(2). The arguments of the call"
2356 "B<aio_write>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエスト"
2358 "キューに入れる。この関数は B<write>(2) の非同期版である。\n"
2362 #: build/C/man3/aio_write.3:42
2364 msgid " write(fd, buf, count)\n"
2365 msgstr " write(fd, buf, count)\n"
2368 #: build/C/man3/aio_write.3:68
2370 "If B<O_APPEND> is not set, the data is written starting at the absolute file "
2371 "offset I<aiocbp-E<gt>aio_offset>, regardless of the current file offset. If "
2372 "B<O_APPEND> is set, data is written at the end of the file in the same order "
2373 "as B<aio_write>() calls are made. After the call, the value of the current "
2374 "file offset is unspecified."
2376 "B<O_APPEND> が設定されない場合、カレントのファイルオフセットに関係なく、 \n"
2377 "データは絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込"
2379 "B<O_APPEND> が設定されている場合、データはファイルの末尾に、\n"
2380 "B<aio_write>() の呼び出しが行われたのと同じ順序で書き込まれる。\n"
2381 "この呼び出しの後のカレントのファイルオフセットは規定されていない。"
2384 #: build/C/man3/aio_write.3:81
2386 "The \"asynchronous\" means that this call returns as soon as the request has "
2387 "been enqueued; the write may or may not have completed when the call "
2388 "returns. One tests for completion using B<aio_error>(3). The return status "
2389 "of a completed I/O operation can be obtained B<aio_return>(3). Asynchronous "
2390 "notification of I/O completion can be obtained by setting I<aiocbp-"
2391 "E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
2393 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
2395 "ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れない"
2397 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
2399 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
2400 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
2401 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
2404 #: build/C/man3/aio_write.3:94
2405 msgid "No data is written to a regular file beyond its maximum offset."
2406 msgstr "最大オフセットを超えた通常のファイルには、何もデータが書き込まれない。"
2409 #: build/C/man3/aio_write.3:117
2415 #: build/C/man3/aio_write.3:121
2417 "The file is a regular file, we want to write at least one byte, but the "
2418 "starting position is at or beyond the maximum offset for this file."
2420 "ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。 "
2421 "しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。"
2424 #: build/C/man3/aio_write.3:128
2426 "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
2428 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2431 #: build/C/man3/aio_write.3:132
2433 #| msgid "B<io_submit>() is not implemented on this architecture."
2434 msgid "B<aio_write>() is not implemented."
2435 msgstr "B<io_submit>() はこのアーキテクチャでは実装されていない。"
2438 #: build/C/man3/aio_write.3:136
2439 msgid "The B<aio_write>() function is available since glibc 2.1."
2440 msgstr "The B<aio_write>() 関数は glibc 2.1 以降で利用できる。"
2442 #. or the control block of the operation
2444 #: build/C/man3/aio_write.3:146
2446 "It is a good idea to zero out the control block before use. The control "
2447 "block must not be changed while the write operation is in progress. The "
2448 "buffer area being written out must not be accessed during the operation or "
2449 "undefined results may occur. The memory areas involved must remain valid."
2451 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2452 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
2453 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
2454 "これに含まれるメモリ領域は、有効なままにしなければならない。"
2457 #: build/C/man3/aio_write.3:159
2459 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2460 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2462 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2463 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2466 #: build/C/man2/io_cancel.2:5
2472 #: build/C/man2/io_cancel.2:8
2473 msgid "io_cancel - cancel an outstanding asynchronous I/O operation"
2474 msgstr "io_cancel - 未処理の非同期 I/O 操作の取り消し"
2477 #: build/C/man2/io_cancel.2:11 build/C/man2/io_destroy.2:12
2478 #: build/C/man2/io_setup.2:11 build/C/man2/io_submit.2:11
2480 msgid "B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
2484 #: build/C/man2/io_cancel.2:14
2487 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2488 "B< struct io_event *>I<result>B<);>\n"
2490 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2491 "B< struct io_event *>I<result>B<);>\n"
2494 #: build/C/man2/io_cancel.2:28
2497 #| "B<io_cancel>() attempts to cancel an asynchronous I/O operation "
2498 #| "previously submitted with B<io_submit>(2). I<ctx_id> is the AIO context "
2499 #| "ID of the operation to be canceled. If the AIO context is found, the "
2500 #| "event will be canceled and then copied into the memory pointed to by "
2501 #| "I<result> without being placed into the completion queue."
2503 "The B<io_cancel>() system call attempts to cancel an asynchronous I/O "
2504 "operation previously submitted with B<io_submit>(2). The I<ctx_id> argument "
2505 "is the AIO context ID of the operation to be canceled. If the AIO context "
2506 "is found, the event will be canceled and then copied into the memory pointed "
2507 "to by I<result> without being placed into the completion queue."
2509 "B<io_cancel>() は、過去に B<io_submit>(2) を使って登録された非同期 I/O "
2510 "(AIO) 操作の取り消しを行おうとする。 I<ctx_id> は、取り消しを行う操作の AIO "
2511 "コンテキストの ID である。 指定した AIO コンテキストが見つかると、 対象のイベ"
2512 "ントの取り消しが行われ、その後 I<result> で指されたメモリに コピーされる (こ"
2513 "のとき、完了キューへの移動は行われない)。"
2516 #: build/C/man2/io_cancel.2:33
2518 "On success, B<io_cancel>() returns 0. For the failure return, see NOTES."
2520 "成功した場合、 B<io_cancel>() は 0 を返す。 失敗時の返り値については、「注"
2524 #: build/C/man2/io_cancel.2:37
2525 msgid "The I<iocb> specified was not canceled."
2526 msgstr "指定された I<iocb> の取り消しが行われなかった。"
2529 #: build/C/man2/io_cancel.2:37 build/C/man2/io_destroy.2:32
2530 #: build/C/man2/io_getevents.2:38 build/C/man2/io_setup.2:36
2531 #: build/C/man2/io_submit.2:39
2537 #: build/C/man2/io_cancel.2:40 build/C/man2/io_submit.2:42
2538 msgid "One of the data structures points to invalid data."
2539 msgstr "データ構造の中に無効なデータを指しているものがある。"
2542 #: build/C/man2/io_cancel.2:43 build/C/man2/io_destroy.2:38
2543 msgid "The AIO context specified by I<ctx_id> is invalid."
2544 msgstr "I<ctx_id> で指定された AIO コンテキストが無効である。"
2547 #: build/C/man2/io_cancel.2:47
2548 msgid "B<io_cancel>() is not implemented on this architecture."
2549 msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
2552 #: build/C/man2/io_cancel.2:50 build/C/man2/io_destroy.2:45
2553 #: build/C/man2/io_getevents.2:57 build/C/man2/io_setup.2:54
2554 #: build/C/man2/io_submit.2:58
2557 #| "The asynchronous I/O system calls first appeared in Linux 2.5, August "
2559 msgid "The asynchronous I/O system calls first appeared in Linux 2.5."
2560 msgstr "非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。"
2563 #: build/C/man2/io_cancel.2:55
2565 "B<io_cancel>() is Linux-specific and should not be used in programs that "
2566 "are intended to be portable."
2568 "B<io_cancel>() は Linux 固有であり、移植を想定したプログラムで使用すべきでは"
2571 #. http://git.fedorahosted.org/git/?p=libaio.git
2573 #: build/C/man2/io_cancel.2:64
2575 "Glibc does not provide a wrapper function for this system call. You could "
2576 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2577 "B<io_cancel>() wrapper function provided by I<libaio>."
2580 #. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2583 #: build/C/man2/io_cancel.2:85 build/C/man2/io_destroy.2:80
2584 #: build/C/man2/io_getevents.2:92 build/C/man2/io_submit.2:93
2587 #| "The wrapper provided in I<libaio> for B<io_destroy>() does not follow "
2588 #| "the usual C library conventions for indicating error: on error it returns "
2589 #| "a negated error number (the negative of one of the values listed in "
2590 #| "ERRORS). If the system call is invoked via B<syscall>(2), then the "
2591 #| "return value follows the usual conventions for indicating an error: -1, "
2592 #| "with I<errno> set to a (positive) value that indicates the error."
2594 "Note that the I<libaio> wrapper function uses a different type "
2595 "(I<io_context_t>) for the I<ctx_id> argument. Note also that the I<libaio> "
2596 "wrapper does not follow the usual C library conventions for indicating "
2597 "errors: on error it returns a negated error number (the negative of one of "
2598 "the values listed in ERRORS). If the system call is invoked via B<syscall>"
2599 "(2), then the return value follows the usual conventions for indicating an "
2600 "error: -1, with I<errno> set to a (positive) value that indicates the error."
2602 "I<libaio> で B<io_destroy>() 用に提供されているラッパー関数は、エラーの通知"
2603 "が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番"
2604 "号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2605 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2606 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2612 #: build/C/man2/io_cancel.2:93
2614 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2617 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2621 #: build/C/man2/io_destroy.2:6
2627 #: build/C/man2/io_destroy.2:9
2628 msgid "io_destroy - destroy an asynchronous I/O context"
2629 msgstr "io_destroy - 非同期 I/O コンテキストの消去"
2632 #: build/C/man2/io_destroy.2:14
2634 #| msgid "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
2635 msgid "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
2636 msgstr "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
2639 #: build/C/man2/io_destroy.2:26
2642 #| "B<io_destroy>() removes the asynchronous I/O context from the list of I/"
2643 #| "O contexts and then destroys it. B<io_destroy>() can also cancel any "
2644 #| "outstanding asynchronous I/O actions on I<ctx> and block on completion."
2646 "The B<io_destroy>() system call removes the asynchronous I/O context "
2647 "specified by I<ctx_id> from the list of I/O contexts and then destroys it. "
2648 "It can also cancel any outstanding asynchronous I/O actions on I<ctx_id> and "
2649 "block on completion."
2651 "B<io_destroy>() は、I/O コンテキストのリストから指定された非同期 I/O コンテ"
2652 "キストを削除した後、そのコンテキストを消去する。 B<io_destroy>() は、I<ctx> "
2653 "上に未処理の非同期 I/O 命令及び 完了キューのブロックの取り消しも行うことがで"
2657 #: build/C/man2/io_destroy.2:31
2659 "On success, B<io_destroy>() returns 0. For the failure return, see NOTES."
2661 "成功した場合、 B<io_destroy>() は 0 を返す。 失敗時の返り値については、「注"
2665 #: build/C/man2/io_destroy.2:35
2666 msgid "The context pointed to is invalid."
2667 msgstr "データ構造の中に無効なデータを指しているものがある。"
2670 #: build/C/man2/io_destroy.2:42
2671 msgid "B<io_destroy>() is not implemented on this architecture."
2672 msgstr "B<io_destroy>() はこのアーキテクチャでは実装されていない。"
2675 #: build/C/man2/io_destroy.2:50
2677 "B<io_destroy>() is Linux-specific and should not be used in programs that "
2678 "are intended to be portable."
2680 "B<io_destroy>() は Linux 固有であり、移植を想定したプログラムで使用すべきで"
2683 #. http://git.fedorahosted.org/git/?p=libaio.git
2685 #: build/C/man2/io_destroy.2:59
2687 "Glibc does not provide a wrapper function for this system call. You could "
2688 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2689 "B<io_destroy>() wrapper function provided by I<libaio>."
2695 #: build/C/man2/io_destroy.2:88
2697 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2700 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2704 #: build/C/man2/io_getevents.2:5
2706 msgid "IO_GETEVENTS"
2707 msgstr "IO_GETEVENTS"
2710 #: build/C/man2/io_getevents.2:8
2711 msgid "io_getevents - read asynchronous I/O events from the completion queue"
2712 msgstr "io_getevents - 完了キューから非同期 I/O イベントを読み出す"
2715 #: build/C/man2/io_getevents.2:12
2718 "B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
2719 "B<#include E<lt>linux/time.hE<gt>> /* Defines 'struct timespec' */\n"
2723 #: build/C/man2/io_getevents.2:17
2726 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2727 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2729 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2730 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2733 #: build/C/man2/io_getevents.2:31
2736 #| "B<io_getevents>() attempts to read at least I<min_nr> events and up to "
2737 #| "I<nr> events from the completion queue of the AIO context specified by "
2738 #| "I<ctx_id>. I<timeout> specifies the amount of time to wait for events, "
2739 #| "where a NULL timeout waits until at least I<min_nr> events have been "
2740 #| "seen. Note that I<timeout> is relative and will be updated if not NULL "
2741 #| "and the operation blocks."
2743 "The B<io_getevents>() system call attempts to read at least I<min_nr> "
2744 "events and up to I<nr> events from the completion queue of the AIO context "
2745 "specified by I<ctx_id>. The I<timeout> argument specifies the amount of "
2746 "time to wait for events, where a NULL timeout waits until at least I<min_nr> "
2747 "events have been seen. Note that I<timeout> is relative and will be updated "
2748 "if not NULL and the operation blocks."
2750 "B<io_getevents>() は、少なくとも I<min_nr> の、最大 I<nr> 個の イベントを、 "
2751 "I<ctx_id> で指定された AIO (非同期 I/O) コンテキストの 完了キューから読み出そ"
2752 "うとする。 I<timeout> はイベント読み出しの待ち時間の合計を指定する。 タイムア"
2753 "ウトに NULL を指定した場合、少なくとも I<min_nr> 個のイベントが 読み出される"
2754 "まで待つことを意味する。 注意点を以下にあげる: I<timeout> は相対的な指定であ"
2755 "る。 NULL でない場合更新されることもありえる。 呼び出し元の動作は停止する。"
2758 #: build/C/man2/io_getevents.2:37
2760 "On success, B<io_getevents>() returns the number of events read: 0 if no "
2761 "events are available, or less than I<min_nr> if the I<timeout> has elapsed. "
2762 "For the failure return, see NOTES."
2764 "成功すると、 B<io_getevents>() は読み出したイベント数を返す。 イベントが一つ"
2765 "も読み出されなかった場合は 0 が返され、 I<timeout> 時間が経過した場合は "
2766 "I<min_nr> 未満の値が返される。 失敗時の返り値については、「注意」の節を参照す"
2770 #: build/C/man2/io_getevents.2:41
2771 msgid "Either I<events> or I<timeout> is an invalid pointer."
2772 msgstr "I<events> または I<timeout> が無効なポインタである。"
2775 #: build/C/man2/io_getevents.2:46
2777 "I<ctx_id> is invalid. I<min_nr> is out of range or I<nr> is out of range."
2779 "I<ctx_id> が無効である。もしくは、I<min_nr> または I<nr> が 範囲外の値であ"
2783 #: build/C/man2/io_getevents.2:50
2784 msgid "Interrupted by a signal handler; see B<signal>(7)."
2785 msgstr "シグナルハンドラにより割り込まれた。 B<signal>(7) 参照。"
2788 #: build/C/man2/io_getevents.2:54
2789 msgid "B<io_getevents>() is not implemented on this architecture."
2790 msgstr "B<io_getevents>() がこのアーキテクチャでは実装されていない。"
2793 #: build/C/man2/io_getevents.2:62
2795 "B<io_getevents>() is Linux-specific and should not be used in programs that "
2796 "are intended to be portable."
2798 "B<io_getevents>() は Linux 固有であり、移植を想定したプログラムで 使用すべき"
2801 #. http://git.fedorahosted.org/git/?p=libaio.git
2803 #: build/C/man2/io_getevents.2:71
2805 "Glibc does not provide a wrapper function for this system call. You could "
2806 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2807 "B<io_getevents>() wrapper function provided by I<libaio>."
2813 #: build/C/man2/io_getevents.2:102
2815 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2818 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2822 #: build/C/man2/io_setup.2:5
2828 #: build/C/man2/io_setup.2:8
2829 msgid "io_setup - create an asynchronous I/O context"
2830 msgstr "io_setup - 非同期 I/O コンテキストを作成する"
2833 #: build/C/man2/io_setup.2:13
2835 #| msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
2836 msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
2837 msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
2840 #: build/C/man2/io_setup.2:27
2843 #| "B<io_setup>() creates an asynchronous I/O context capable of receiving "
2844 #| "at least I<nr_events>. I<ctxp> must not point to an AIO context that "
2845 #| "already exists, and must be initialized to 0 prior to the call. On "
2846 #| "successful creation of the AIO context, I<*ctxp> is filled in with the "
2847 #| "resulting handle."
2849 "The B<io_setup>() system call creates an asynchronous I/O context capable "
2850 "of receiving at least I<nr_events>. The I<ctx_idp> argument must not point "
2851 "to an AIO context that already exists, and must be initialized to 0 prior to "
2852 "the call. On successful creation of the AIO context, I<*ctx_idp> is filled "
2853 "in with the resulting handle."
2855 "B<io_setup>() は、少なくとも I<nr_events> 個のイベントを受信可能な 非同期 I/"
2856 "O (AIO) コンテキストの作成を行う。 I<ctxp> は、すでに存在する AIO コンテキス"
2857 "トを指していてはならず、 B<io_setup>() の呼び出しの前に 0 に初期化されていな"
2858 "ければならない。 AIO コンテキストの作成に成功すると、I<*ctxp> に作成された "
2859 "AIO コンテキストへのポインタがセットされる。"
2862 #: build/C/man2/io_setup.2:32
2864 "On success, B<io_setup>() returns 0. For the failure return, see NOTES."
2866 "成功した場合、 B<io_setup>() は 0 を返す。 失敗時の返り値については、「注"
2870 #: build/C/man2/io_setup.2:36
2872 "The specified I<nr_events> exceeds the user's limit of available events."
2874 "指定された I<nr_events> がユーザが使用できるイベント数の上限を越えている。"
2877 #: build/C/man2/io_setup.2:39
2879 #| msgid "An invalid pointer is passed for I<ctxp>."
2880 msgid "An invalid pointer is passed for I<ctx_idp>."
2881 msgstr "I<ctxp> に無効なポインタが指定されている。"
2884 #: build/C/man2/io_setup.2:44
2887 #| "I<ctxp> is not initialized, or the specified I<nr_events> exceeds "
2888 #| "internal limits. I<nr_events> should be greater than 0."
2890 "I<ctx_idp> is not initialized, or the specified I<nr_events> exceeds "
2891 "internal limits. I<nr_events> should be greater than 0."
2893 "I<ctxp> が初期化されていないか、指定された I<nr_events> が 内部の制限値を越え"
2894 "ている。また、 I<nr_events> は 0 より大きい値に 設定すべきである。"
2897 #: build/C/man2/io_setup.2:44
2903 #: build/C/man2/io_setup.2:47
2904 msgid "Insufficient kernel resources are available."
2905 msgstr "必要なカーネル・リソースを得られない。"
2908 #: build/C/man2/io_setup.2:51
2909 msgid "B<io_setup>() is not implemented on this architecture."
2910 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2913 #: build/C/man2/io_setup.2:59
2915 "B<io_setup>() is Linux-specific and should not be used in programs that are "
2916 "intended to be portable."
2918 "B<io_setup>() は Linux 固有であり、移植を想定したプログラムで 使用すべきでは"
2921 #. http://git.fedorahosted.org/git/?p=libaio.git
2923 #: build/C/man2/io_setup.2:68
2925 "Glibc does not provide a wrapper function for this system call. You could "
2926 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2927 "B<io_setup>() wrapper function provided by I<libaio>."
2930 #. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2933 #: build/C/man2/io_setup.2:89
2936 #| "The wrapper provided in I<libaio> for B<io_destroy>() does not follow "
2937 #| "the usual C library conventions for indicating error: on error it returns "
2938 #| "a negated error number (the negative of one of the values listed in "
2939 #| "ERRORS). If the system call is invoked via B<syscall>(2), then the "
2940 #| "return value follows the usual conventions for indicating an error: -1, "
2941 #| "with I<errno> set to a (positive) value that indicates the error."
2943 "Note that the I<libaio> wrapper function uses a different type "
2944 "(I<io_context_t\\ *>) for the I<ctx_idp> argument. Note also that the "
2945 "I<libaio> wrapper does not follow the usual C library conventions for "
2946 "indicating errors: on error it returns a negated error number (the negative "
2947 "of one of the values listed in ERRORS). If the system call is invoked via "
2948 "B<syscall>(2), then the return value follows the usual conventions for "
2949 "indicating an error: -1, with I<errno> set to a (positive) value that "
2950 "indicates the error."
2952 "I<libaio> で B<io_destroy>() 用に提供されているラッパー関数は、エラーの通知"
2953 "が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番"
2954 "号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2955 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2956 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2962 #: build/C/man2/io_setup.2:97
2964 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2967 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2971 #: build/C/man2/io_submit.2:5
2977 #: build/C/man2/io_submit.2:8
2978 msgid "io_submit - submit asynchronous I/O blocks for processing"
2979 msgstr "io_submit - 非同期 I/O ブロックを処理待ちキューに登録する"
2982 #: build/C/man2/io_submit.2:14
2984 msgid "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
2985 msgstr "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
2988 #: build/C/man2/io_submit.2:26
2991 #| "B<io_submit>() queues I<nr> I/O request blocks for processing in the AIO "
2992 #| "context I<ctx_id>. I<iocbpp> should be an array of I<nr> AIO control "
2993 #| "blocks, which will be submitted to context I<ctx_id>."
2995 "The B<io_submit>() system call queues I<nr> I/O request blocks for "
2996 "processing in the AIO context I<ctx_id>. The I<iocbpp> argument should be "
2997 "an array of I<nr> AIO control blocks, which will be submitted to context "
3000 "B<io_submit>() は、AIO コンテキスト I<ctx_id> に I<nr> 個の I/O リクエストを"
3001 "処理待ちとしてキューに追加する。 I<iocbpp> は、AIO コンテキスト I<ctx_id> に"
3002 "登録される I<nr> 個の AIO 制御ブロックの配列になっていなければならない。"
3005 #: build/C/man2/io_submit.2:32
3007 "On success, B<io_submit>() returns the number of I<iocb>s submitted (which "
3008 "may be 0 if I<nr> is zero). For the failure return, see NOTES."
3010 "成功すると、 B<io_submit>() は登録した I<iocb> の個数を返す (I<nr> が 0 の場"
3011 "合は 0 を返す)。 失敗時の返り値については、「注意」の節を参照すること。"
3014 #: build/C/man2/io_submit.2:36
3015 msgid "Insufficient resources are available to queue any I<iocb>s."
3016 msgstr "何個かの I<iocb> をキューに入れるのに必要なリソースが得られない。"
3019 #: build/C/man2/io_submit.2:39
3020 msgid "The file descriptor specified in the first I<iocb> is invalid."
3021 msgstr "先頭の I<iocb> に指定されたファイル・ディスクリプタが無効である。"
3024 #: build/C/man2/io_submit.2:51
3027 #| "The I<aio_context> specified by I<ctx_id> is invalid. I<nr> is less than "
3028 #| "0. The I<iocb> at *iocbpp[0] is not properly initialized, or the "
3029 #| "operation specified is invalid for the file descriptor in the I<iocb>."
3031 "The AIO context specified by I<ctx_id> is invalid. I<nr> is less than 0. "
3032 "The I<iocb> at I<*iocbpp[0]> is not properly initialized, or the operation "
3033 "specified is invalid for the file descriptor in the I<iocb>."
3035 "I<ctx_id> で指定された I<aio_context> が無効である。 I<nr> が 0 未満である。 "
3036 "*iocbpp[0] の I<iocb> が適切に初期化されていないか、 指定された操作がその "
3037 "I<iocb> 中のファイル・ディスクリプタに対して 無効である。"
3040 #: build/C/man2/io_submit.2:55
3041 msgid "B<io_submit>() is not implemented on this architecture."
3042 msgstr "B<io_submit>() はこのアーキテクチャでは実装されていない。"
3045 #: build/C/man2/io_submit.2:63
3047 "B<io_submit>() is Linux-specific and should not be used in programs that "
3048 "are intended to be portable."
3050 "B<io_submit>() は Linux 固有であり、移植を想定したプログラムで 使用すべきで"
3053 #. http://git.fedorahosted.org/git/?p=libaio.git
3055 #: build/C/man2/io_submit.2:72
3057 "Glibc does not provide a wrapper function for this system call. You could "
3058 "invoke it using B<syscall>(2). But instead, you probably want to use the "
3059 "B<io_submit>() wrapper function provided by I<libaio>."
3065 #: build/C/man2/io_submit.2:101
3067 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
3070 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
3074 #: build/C/man3/lio_listio.3:23
3080 #: build/C/man3/lio_listio.3:26
3081 msgid "lio_listio - initiate a list of I/O requests"
3082 msgstr "lio_listio - リストの I/O リクエストを開始する"
3085 #: build/C/man3/lio_listio.3:32
3088 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3089 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3091 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3092 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3095 #: build/C/man3/lio_listio.3:40
3097 "The B<lio_listio>() function initiates the list of I/O operations described "
3098 "by the array I<aiocb_list>."
3100 "B<lio_listio>() 関数は、配列 I<aiocb_list> で指定された I/O 操作の\n"
3104 #: build/C/man3/lio_listio.3:44
3105 msgid "The I<mode> operation has one of the following values:"
3106 msgstr "I<mode> 引き数には以下のいずれかの値を指定する。"
3109 #: build/C/man3/lio_listio.3:44
3112 msgstr "B<LIO_WAIT>"
3115 #: build/C/man3/lio_listio.3:50
3117 "The call blocks until all operations are complete. The I<sevp> argument is "
3120 "全ての操作が完了するまで、呼び出しは停止 (block) する。\n"
3121 "I<sevp> 引き数は無視される。"
3124 #: build/C/man3/lio_listio.3:50
3126 msgid "B<LIO_NOWAIT>"
3127 msgstr "B<LIO_NOWAIT>"
3130 #: build/C/man3/lio_listio.3:62
3133 #| "The I/O operations are queued for processing and the call returns "
3134 #| "immediately. When the I/O operations complete, asynchronous notification "
3135 #| "occurs, as specified by the I<sevp> argument; see B<sigevent>(7) for "
3136 #| "details. If I<sevp> is NULL, no asynchronous notification occurs."
3138 "The I/O operations are queued for processing and the call returns "
3139 "immediately. When all of the I/O operations complete, asynchronous "
3140 "notification occurs, as specified by the I<sevp> argument; see B<sigevent>"
3141 "(7) for details. If I<sevp> is NULL, no asynchronous notification occurs."
3143 "I/O 操作は処理を行うためのキューに入れられ、呼び出しは直ちに返る。\n"
3144 "I/O 操作が完了すると、 I<sevp> 引き数で指定した非同期通知が行われる。\n"
3145 "詳細は B<sigevent>(7) を参照。\n"
3146 "I<sevp> が NULL の場合、非同期通知は行われない。"
3149 #: build/C/man3/lio_listio.3:76
3151 "The I<aiocb_list> argument is an array of pointers to I<aiocb> structures "
3152 "that describe I/O operations. These operations are executed in an "
3153 "unspecified order. The I<nitems> argument specifies the size of the array "
3154 "I<aiocb_list>. NULL pointers in I<aiocb_list> are ignored."
3156 "I<aiocb_list> 引き数は、I/O 操作を指定する I<aiocb> 構造体へのポインタ\n"
3157 "の配列である。指定された操作の実行順序は規定されていない。\n"
3158 "I<nitems> 引き数は、配列 I<aiocb_list> の大きさを指定する。\n"
3159 "I<aiocb_list> 内の NULL ポインタは無視される。"
3162 #: build/C/man3/lio_listio.3:82
3164 "In each control block in I<aiocb_list>, the I<aio_lio_opcode> field "
3165 "specifies the I/O operation to be initiated, as follows:"
3167 "I<aiocb_list> の各制御ブロックでは、\n"
3168 "I<aio_lio_opcode> フィールドで開始する I/O 操作を指定する。\n"
3169 "I<aio_lio_opcode> には以下の値が指定できる。"
3172 #: build/C/man3/lio_listio.3:82
3175 msgstr "B<LIO_READ>"
3178 #: build/C/man3/lio_listio.3:88
3180 "Initiate a read operation. The operation is queued as for a call to "
3181 "B<aio_read>(3) specifying this control block."
3183 "読み出し操作を開始する。操作はキューに入れられ、\n"
3184 "この制御ブロックを指定して B<aio_read>(3) の呼び出しが行われる。"
3187 #: build/C/man3/lio_listio.3:88
3189 msgid "B<LIO_WRITE>"
3190 msgstr "B<LIO_WRITE>"
3193 #: build/C/man3/lio_listio.3:94
3195 "Initiate a write operation. The operation is queued as for a call to "
3196 "B<aio_write>(3) specifying this control block."
3198 "書き込み操作を開始する。操作はキューに入れられ、\n"
3199 "この制御ブロックを指定して B<aio_write>(3) の呼び出しが行われる。"
3202 #: build/C/man3/lio_listio.3:94
3208 #: build/C/man3/lio_listio.3:97
3209 msgid "Ignore this control block."
3210 msgstr "この制御ブロックを無視する。"
3213 #: build/C/man3/lio_listio.3:107
3215 "The remaining fields in each control block have the same meanings as for "
3216 "B<aio_read>(3) and B<aio_write>(3). The I<aio_sigevent> fields of each "
3217 "control block can be used to specify notifications for the individual I/O "
3218 "operations (see B<sigevent>(7))."
3220 "各制御ブロックの残りのフィールドは、\n"
3221 "B<aio_read>(3) や B<aio_write>(3) の場合と同じ意味を持つ。\n"
3222 "各制御ブロックの I<aio_sigevent> フィールドは、\n"
3223 "個々の I/O 操作で通知方法を指定するのに使用される\n"
3224 "(B<sigevent>(7) 参照)。"
3227 #: build/C/man3/lio_listio.3:117
3229 "If I<mode> is B<LIO_NOWAIT>, B<lio_listio>() returns 0 if all I/O "
3230 "operations are successfully queued. Otherwise, -1 is returned, and I<errno> "
3231 "is set to indicate the error."
3233 "I<mode> が B<LIO_NOWAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3234 "正常にキューに入れられた場合に 0 を返す。\n"
3235 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3238 #: build/C/man3/lio_listio.3:127
3240 "If I<mode> is B<LIO_WAIT>, B<lio_listio>() returns 0 when all of the I/O "
3241 "operations have completed successfully. Otherwise, -1 is returned, and "
3242 "I<errno> is set to indicate the error."
3244 "I<mode> が B<LIO_WAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3245 "正常に完了した場合に 0 を返す。\n"
3246 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3249 #: build/C/man3/lio_listio.3:145
3251 "The return status from B<lio_listio>() provides information only about the "
3252 "call itself, not about the individual I/O operations. One or more of the I/"
3253 "O operations may fail, but this does not prevent other operations "
3254 "completing. The status of individual I/O operations in I<aiocb_list> can be "
3255 "determined using B<aio_error>(3). When an operation has completed, its "
3256 "return status can be obtained using B<aio_return>(3). Individual I/O "
3257 "operations can fail for the reasons described in B<aio_read>(3) and "
3260 "B<lio_listio>() の返り値から得られる情報は、関数呼び出し自体に関する\n"
3261 "ものだけであり、個々の I/O 操作に関する情報は得られない。\n"
3262 "個々の I/O 操作は失敗することがあるが、これにより他の I/O 操作が完了\n"
3263 "しなくなるといったことはない。 B<aio_error>(3) を使うと、\n"
3264 "I<aiocb_list> の個々の I/O 操作のステータスを知ることができる。\n"
3265 "ある I/O 操作が完了すると、その終了ステータスはB<aio_return>(3) を使う\n"
3266 "ことで取得できる。個々の I/O 操作は B<aio_read>(3) や B<aio_write>(3)\n"
3267 "に書かれている理由で失敗する場合がある。"
3270 #: build/C/man3/lio_listio.3:149
3271 msgid "The B<lio_listio>() function may fail for the following reasons:"
3272 msgstr "B<lio_listio>() 関数は以下の理由で失敗する。"
3274 #. Doesn't happen in glibc(?)
3276 #: build/C/man3/lio_listio.3:160
3278 "The number of I/O operations specified by I<nitems> would cause the limit "
3279 "B<AIO_MAX> to be exceeded."
3281 "I<nitems> で指定された数の I/O 操作を行うと、\n"
3282 "非同期 I/O 操作の数が上限 B<AIO_MAX> を超えてしまう状況であった。"
3284 #. Doesn't happen in glibc(?)
3286 #: build/C/man3/lio_listio.3:168
3287 msgid "I<mode> is invalid, or I<nitems> exceeds the limit B<AIO_LISTIO_MAX>."
3289 "I<mode> が不正であるか、\n"
3290 "I<nitems> が上限 B<AIO_LISTIO_MAX> を超えている。"
3293 #: build/C/man3/lio_listio.3:177
3295 "I<mode> was B<LIO_WAIT> and a signal was caught before all I/O operations "
3296 "completed. (This may even be one of the signals used for asynchronous I/O "
3297 "completion notification.)"
3299 "I<mode> が B<LIO_WAIT> で、全ての I/O 操作が完了する前にシグナルが\n"
3300 "捕捉された (非同期 I/O の完了通知に使用されるシグナルの場合もこれに\n"
3304 #: build/C/man3/lio_listio.3:177
3309 #. e.g., ioa_reqprio or aio_lio_opcode was invalid
3311 #: build/C/man3/lio_listio.3:185
3313 "One of more of the operations specified by I<aiocb_list> failed. The "
3314 "application can check the status of each operation using B<aio_return>(3)."
3316 "I<aiocb_list> で指定された操作の中に失敗したものがあった。\n"
3317 "アプリケーションは、 B<aio_return>(3) を使用して、\n"
3318 "個々の操作のステータスを確認することができる。"
3321 #: build/C/man3/lio_listio.3:200
3323 "If B<lio_listio>() fails with the error B<EAGAIN>, B<EINTR>, or B<EIO>, "
3324 "then some of the operations in I<aiocb_list> may have been initiated. If "
3325 "B<lio_listio>() fails for any other reason, then none of the I/O operations "
3326 "has been initiated."
3328 "B<lio_listio> がエラー B<EAGAIN>, B<EINTR>, B<EIO> で失敗した場合、\n"
3329 "I<aiocb_list> で指定した操作のいくつかは開始されていることがある。\n"
3330 "B<lio_listio> が他の理由で失敗した場合には、\n"
3331 "どの I/O 操作も開始されていない。"
3334 #: build/C/man3/lio_listio.3:204
3335 msgid "The B<lio_listio>() function is available since glibc 2.1."
3336 msgstr "The B<lio_listio>() 関数は glibc 2.1 以降で利用できる。"
3338 #. or the control block of the operation
3340 #: build/C/man3/lio_listio.3:214
3342 "It is a good idea to zero out the control blocks before use. The control "
3343 "blocks must not be changed while the I/O operations are in progress. The "
3344 "buffer areas being read into or written from must not be accessed during the "
3345 "operations or undefined results may occur. The memory areas involved must "
3348 "使用前に制御ブロックを 0 で埋めるのは良い考えである。\n"
3349 "I/O 操作の実行中は制御ブロックを変更してはならない。データの読み書き先\n"
3350 "のバッファ領域に I/O 操作の実行中にアクセスしてはならない。さもないと、\n"
3351 "どのような結果になるか分からない。また、関係するメモリ領域も有効な状態\n"
3355 #: build/C/man3/lio_listio.3:226
3357 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3358 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3360 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3361 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3363 #~ msgid "2010-10-03"
3364 #~ msgstr "2010-10-03"
3366 #~ msgid "This function is not supported."
3367 #~ msgstr "この関数がサポートされていない。"
3369 #~ msgid "2008-06-18"
3370 #~ msgstr "2008-06-18"
3372 #~ msgid "B<#include E<lt>libaio.hE<gt>>\n"
3373 #~ msgstr "B<#include E<lt>libaio.hE<gt>>\n"
3375 #~ msgid "Link with I<-laio>.\n"
3376 #~ msgstr "I<-laio> とリンクする。\n"
3378 #~ msgid "Glibc does not provide a wrapper function for this system call."
3379 #~ msgstr "glibc はこのシステムコール用のラッパー関数を提供していない。"
3382 #~ "The wrapper provided in I<libaio> for B<io_cancel>() does not follow the "
3383 #~ "usual C library conventions for indicating error: on error it returns a "
3384 #~ "negated error number (the negative of one of the values listed in "
3385 #~ "ERRORS). If the system call is invoked via B<syscall>(2), then the "
3386 #~ "return value follows the usual conventions for indicating an error: -1, "
3387 #~ "with I<errno> set to a (positive) value that indicates the error."
3389 #~ "I<libaio> で B<io_cancel>() 用に提供されているラッパー関数は、エラーの通"
3390 #~ "知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエ"
3391 #~ "ラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値とな"
3392 #~ "る。 B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー"
3393 #~ "通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> "
3394 #~ "にエラーを示す (正の) 値が設定される。"
3396 #~ msgid "The AIO context specified by I<ctx> is invalid."
3397 #~ msgstr "I<ctx> で指定された AIO コンテキストが無効である。"
3399 #~ msgid "2008-07-04"
3400 #~ msgstr "2008-07-04"
3403 #~ "B<#include E<lt>linux/time.hE<gt>>\n"
3404 #~ "B<#include E<lt>libaio.hE<gt>>\n"
3406 #~ "B<#include E<lt>linux/time.hE<gt>>\n"
3407 #~ "B<#include E<lt>libaio.hE<gt>>\n"
3410 #~ "The wrapper provided in I<libaio> for B<io_getevents>() does not follow "
3411 #~ "the usual C library conventions for indicating error: on error it returns "
3412 #~ "a negated error number (the negative of one of the values listed in "
3413 #~ "ERRORS). If the system call is invoked via B<syscall>(2), then the "
3414 #~ "return value follows the usual conventions for indicating an error: -1, "
3415 #~ "with I<errno> set to a (positive) value that indicates the error."
3417 #~ "I<libaio> で B<io_getevents>() 用に提供されているラッパー関数は、エラーの"
3418 #~ "通知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエ"
3419 #~ "ラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値とな"
3420 #~ "る。 B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー"
3421 #~ "通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> "
3422 #~ "にエラーを示す (正の) 値が設定される。"
3425 #~ "The wrapper provided in I<libaio> for B<io_setup>() does not follow the "
3426 #~ "usual C library conventions for indicating error: on error it returns a "
3427 #~ "negated error number (the negative of one of the values listed in "
3428 #~ "ERRORS). If the system call is invoked via B<syscall>(2), then the "
3429 #~ "return value follows the usual conventions for indicating an error: -1, "
3430 #~ "with I<errno> set to a (positive) value that indicates the error."
3432 #~ "I<libaio> で B<io_setup>() 用に提供されているラッパー関数は、エラーの通知"
3433 #~ "が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー"
3434 #~ "番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
3435 #~ "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知"
3436 #~ "の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエ"
3437 #~ "ラーを示す (正の) 値が設定される。"
3440 #~ "The wrapper provided in I<libaio> for B<io_submit>() does not follow the "
3441 #~ "usual C library conventions for indicating error: on error it returns a "
3442 #~ "negated error number (the negative of one of the values listed in "
3443 #~ "ERRORS). If the system call is invoked via B<syscall>(2), then the "
3444 #~ "return value follows the usual conventions for indicating an error: -1, "
3445 #~ "with I<errno> set to a (positive) value that indicates the error."
3447 #~ "I<libaio> で B<io_submit>() 用に提供されているラッパー関数は、エラーの通"
3448 #~ "知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエ"
3449 #~ "ラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値とな"
3450 #~ "る。 B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー"
3451 #~ "通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> "
3452 #~ "にエラーを示す (正の) 値が設定される。"
3454 #~ msgid "2010-10-20"
3455 #~ msgstr "2010-10-20"