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: 2014-04-17 13:13+0900\n"
10 "PO-Revision-Date: 2014-04-13 10:47+0900\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:26
27 #: build/C/man7/aio.7:26
34 #: build/C/man7/aio.7:26 build/C/man3/aio_init.3:26 build/C/man2/io_cancel.2:7
35 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
36 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
42 #: build/C/man7/aio.7:26 build/C/man3/aio_cancel.3:24
43 #: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
44 #: build/C/man3/aio_init.3:26 build/C/man3/aio_read.3:24
45 #: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
46 #: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:7
47 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
48 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
49 #: build/C/man3/lio_listio.3:24
51 msgid "Linux Programmer's Manual"
52 msgstr "Linux Programmer's Manual"
55 #: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:25
56 #: build/C/man3/aio_error.3:25 build/C/man3/aio_fsync.3:25
57 #: build/C/man3/aio_init.3:27 build/C/man3/aio_read.3:25
58 #: build/C/man3/aio_return.3:25 build/C/man3/aio_suspend.3:26
59 #: build/C/man3/aio_write.3:25 build/C/man2/io_cancel.2:8
60 #: build/C/man2/io_destroy.2:8 build/C/man2/io_getevents.2:8
61 #: build/C/man2/io_setup.2:8 build/C/man2/io_submit.2:8
62 #: build/C/man3/lio_listio.3:25
68 #: build/C/man7/aio.7:29
69 msgid "aio - POSIX asynchronous I/O overview"
70 msgstr "aio - POSIX 非同期 I/O の概要"
73 #: build/C/man7/aio.7:29 build/C/man3/aio_cancel.3:33
74 #: build/C/man3/aio_error.3:33 build/C/man3/aio_fsync.3:33
75 #: build/C/man3/aio_init.3:38 build/C/man3/aio_read.3:33
76 #: build/C/man3/aio_return.3:33 build/C/man3/aio_suspend.3:39
77 #: build/C/man3/aio_write.3:33 build/C/man2/io_cancel.2:20
78 #: build/C/man2/io_destroy.2:19 build/C/man2/io_getevents.2:22
79 #: build/C/man2/io_setup.2:19 build/C/man2/io_submit.2:20
80 #: build/C/man3/lio_listio.3:36
86 #: build/C/man7/aio.7:37
88 "The POSIX asynchronous I/O (AIO) interface allows applications to initiate "
89 "one or more I/O operations that are performed asynchronously (i.e., in the "
90 "background). The application can elect to be notified of completion of the "
91 "I/O operation in a variety of ways: by delivery of a signal, by "
92 "instantiation of a thread, or no notification at all."
94 "POSIX 非同期 (AIO) インターフェースを使うと、アプリケーションは、非同期\n"
95 "に (つまり、バックグラウンドで) 実行されるI/O 操作を一つ以上発行できる\n"
96 "ようになる。アプリケーションは I/O 操作の完了の通知方法を選択することが\n"
97 "できる。選択できる通知方法は、シグナルの配送、スレッドの起動、通知を行\n"
101 #: build/C/man7/aio.7:39
102 msgid "The POSIX AIO interface consists of the following functions:"
103 msgstr "POSIX AIO インターフェースは以下の関数で構成されている。"
106 #: build/C/man7/aio.7:39
108 msgid "B<aio_read>(3)"
109 msgstr "B<aio_read>(3)"
112 #: build/C/man7/aio.7:44
113 msgid "Enqueue a read request. This is the asynchronous analog of B<read>(2)."
115 "読み出しリクエストをキューに入れる。\n"
116 "B<read>(2) の非同期版である。"
119 #: build/C/man7/aio.7:44
121 msgid "B<aio_write>(3)"
122 msgstr "B<aio_write>(3)"
125 #: build/C/man7/aio.7:49
127 "Enqueue a write request. This is the asynchronous analog of B<write>(2)."
129 "書き込みリクエストをキューに入れる。\n"
130 "B<write>(2) の非同期版である。"
133 #: build/C/man7/aio.7:49
135 msgid "B<aio_fsync>(3)"
136 msgstr "B<aio_fsync>(3)"
139 #: build/C/man7/aio.7:56
141 "Enqueue a sync request for the I/O operations on a file descriptor. This is "
142 "the asynchronous analog of B<fsync>(2) and B<fdatasync>(2)."
144 "ファイルディスクリプタに対して行われた I/O 操作の\n"
145 "同期 (sync) リクエストをキューに入れる。\n"
146 "B<fsync>(2) や B<fdatasync>(2) の非同期版である。"
149 #: build/C/man7/aio.7:56
151 msgid "B<aio_error>(3)"
152 msgstr "B<aio_error>(3)"
155 #: build/C/man7/aio.7:59
156 msgid "Obtain the error status of an enqueued I/O request."
157 msgstr "キューに入れられた I/O リクエストのエラー状態を取得する。"
160 #: build/C/man7/aio.7:59
162 msgid "B<aio_return>(3)"
163 msgstr "B<aio_return>(3)"
166 #: build/C/man7/aio.7:62
167 msgid "Obtain the return status of a completed I/O request."
168 msgstr "完了した I/O リクエストの終了ステータスを取得する。"
171 #: build/C/man7/aio.7:62
173 msgid "B<aio_suspend>(3)"
174 msgstr "B<aio_suspend>(3)"
177 #: build/C/man7/aio.7:66
179 "Suspend the caller until one or more of a specified set of I/O requests "
182 "指定された I/O リクエストの集合 (要素は一つ以上) が完了するまで、\n"
183 "呼び出し側の実行を停止 (suspend) する。"
186 #: build/C/man7/aio.7:66
188 msgid "B<aio_cancel>(3)"
189 msgstr "B<aio_cancel>(3)"
192 #: build/C/man7/aio.7:70
194 "Attempt to cancel outstanding I/O requests on a specified file descriptor."
196 "指定されたファイルディスクリプタに関する\n"
197 "完了していない I/O リクエストのキャンセルを試みる。"
200 #: build/C/man7/aio.7:70
202 msgid "B<lio_listio>(3)"
203 msgstr "B<lio_listio>(3)"
206 #: build/C/man7/aio.7:73
207 msgid "Enqueue multiple I/O requests using a single function call."
208 msgstr "一回の関数呼び出しで複数の I/O リクエストをキューに入れる。"
211 #: build/C/man7/aio.7:80
213 "The I<aiocb> (\"asynchronous I/O control block\") structure defines "
214 "parameters that control an I/O operation. An argument of this type is "
215 "employed with all of the functions listed above. This structure has the "
218 "I<aiocb> (\"非同期 I/O 制御ブロック (asynchronous I/O control block)\")\n"
219 "構造体は、I/O 操作を制御するパラメータを定義する。この型の引き数は上記\n"
220 "の全ての関数で使用されている。この構造体は以下の通りである。"
223 #: build/C/man7/aio.7:84
225 msgid "#include E<lt>aiocb.hE<gt>\n"
226 msgstr "#include E<lt>aiocb.hE<gt>\n"
229 #: build/C/man7/aio.7:87
233 " /* The order of these fields is implementation-dependent */\n"
236 " /* The order of these fields is implementation-dependent */\n"
239 #: build/C/man7/aio.7:96
242 " int aio_fildes; /* File descriptor */\n"
243 " off_t aio_offset; /* File offset */\n"
244 " volatile void *aio_buf; /* Location of buffer */\n"
245 " size_t aio_nbytes; /* Length of transfer */\n"
246 " int aio_reqprio; /* Request priority */\n"
247 " struct sigevent aio_sigevent; /* Notification method */\n"
248 " int aio_lio_opcode; /* Operation to be performed;\n"
249 " lio_listio() only */\n"
251 " int aio_fildes; /* File descriptor */\n"
252 " off_t aio_offset; /* File offset */\n"
253 " volatile void *aio_buf; /* Location of buffer */\n"
254 " size_t aio_nbytes; /* Length of transfer */\n"
255 " int aio_reqprio; /* Request priority */\n"
256 " struct sigevent aio_sigevent; /* Notification method */\n"
257 " int aio_lio_opcode; /* Operation to be performed;\n"
258 " lio_listio() only */\n"
261 #: build/C/man7/aio.7:99
264 " /* Various implementation-internal fields not shown */\n"
267 " /* Various implementation-internal fields not shown */\n"
271 #: build/C/man7/aio.7:101
273 msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
274 msgstr "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
277 #: build/C/man7/aio.7:103
279 msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
280 msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
283 #: build/C/man7/aio.7:107
284 msgid "The fields of this structure are as follows:"
285 msgstr "この構造体のフィールドは以下の通りである。"
288 #: build/C/man7/aio.7:107
290 msgid "I<aio_filedes>"
291 msgstr "I<aio_filedes>"
294 #: build/C/man7/aio.7:110
295 msgid "The file descriptor on which the I/O operation is to be performed."
296 msgstr "I/O 操作の実行対象となるファイルディスクリプタ。"
299 #: build/C/man7/aio.7:110
301 msgid "I<aio_offset>"
302 msgstr "I<aio_offset>"
305 #: build/C/man7/aio.7:113
306 msgid "This is the file offset at which the I/O operation is to be performed."
307 msgstr "I/O 操作を行うファイルオフセットを示す。"
310 #: build/C/man7/aio.7:113
316 #: build/C/man7/aio.7:116
317 msgid "This is the buffer used to transfer data for a read or write operation."
318 msgstr "読み出し操作、書き込み操作でデータ転送に使用されるバッファ。"
321 #: build/C/man7/aio.7:116
323 msgid "I<aio_nbytes>"
324 msgstr "I<aio_nbytes>"
327 #: build/C/man7/aio.7:120
328 msgid "This is the size of the buffer pointed to by I<aio_buf>."
329 msgstr "I<aio_buf> が指すバッファのサイズ。"
332 #: build/C/man7/aio.7:120
334 msgid "I<aio_reqprio>"
335 msgstr "I<aio_reqprio>"
338 #: build/C/man7/aio.7:129
340 "This field specifies a value that is subtracted from the calling thread's "
341 "real-time priority in order to determine the priority for execution of this "
342 "I/O request (see B<pthread_setschedparam>(3)). The specified value must be "
343 "between 0 and the value returned by I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>. "
344 "This field is ignored for file synchronization operations."
346 "このフィールドでは、呼び出したスレッドのリアルタイム優先度から\n"
347 "減算する値を指定する。この I/O リクエストの実行の優先度を\n"
348 "決定するために使用される (B<pthread_setschedparam>(3) 参照)。\n"
349 "指定する値は 0 と I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す値の間で\n"
350 "なければならない。このフィールドは、ファイル同期操作では無視される。"
353 #: build/C/man7/aio.7:129
355 msgid "I<aio_sigevent>"
356 msgstr "I<aio_sigevent>"
359 #: build/C/man7/aio.7:143
361 "This field is a structure that specifies how the caller is to be notified "
362 "when the asynchronous I/O operation completes. Possible values for "
363 "I<aio_sigevent.sigev_notify> are B<SIGEV_NONE>, B<SIGEV_SIGNAL>, and "
364 "B<SIGEV_THREAD>. See B<sigevent>(7) for further details."
366 "このフィールドは、非同期 I/O 操作が完了した際に呼び出し側に\n"
367 "どのように通知を行うかを指定する構造体である。\n"
368 "I<aio_sigevent.sigev_notify> に指定できる値は、\n"
369 "B<SIGEV_NONE>, B<SIGEV_SIGNAL>, B<SIGEV_THREAD> である。\n"
370 "詳細は B<sigevent>(7) を参照。"
373 #: build/C/man7/aio.7:143
375 msgid "I<aio_lio_opcode>"
376 msgstr "I<aio_lio_opcode>"
379 #: build/C/man7/aio.7:147
380 msgid "The type of operation to be performed; used only for B<lio_listio>(3)."
383 "B<lio_listio>(3) でのみ使用される。"
386 #: build/C/man7/aio.7:150
388 "In addition to the standard functions listed above, the GNU C library "
389 "provides the following extension to the POSIX AIO API:"
391 "上記のリストにある標準の関数に加えて、GNU C ライブラリでは\n"
392 "以下に示す POSIX AIO API に対する拡張が提供されている。"
395 #: build/C/man7/aio.7:150
397 msgid "B<aio_init>(3)"
398 msgstr "B<aio_init>(3)"
401 #: build/C/man7/aio.7:153
403 "Set parameters for tuning the behavior of the glibc POSIX AIO implementation."
404 msgstr "glibc の POSIX AIO 実装の動作を調整するパラメータを設定する。"
407 #: build/C/man7/aio.7:153 build/C/man3/aio_cancel.3:101
408 #: build/C/man3/aio_error.3:66 build/C/man3/aio_fsync.3:79
409 #: build/C/man3/aio_read.3:103 build/C/man3/aio_return.3:63
410 #: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
411 #: build/C/man2/io_cancel.2:42 build/C/man2/io_destroy.2:34
412 #: build/C/man2/io_getevents.2:40 build/C/man2/io_setup.2:37
413 #: build/C/man2/io_submit.2:37 build/C/man3/lio_listio.3:146
419 #: build/C/man7/aio.7:154 build/C/man3/aio_error.3:67
420 #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_read.3:111
421 #: build/C/man3/aio_return.3:64 build/C/man3/aio_write.3:122
422 #: build/C/man2/io_cancel.2:49 build/C/man2/io_destroy.2:38
423 #: build/C/man2/io_getevents.2:44 build/C/man2/io_setup.2:46
424 #: build/C/man2/io_submit.2:47 build/C/man3/lio_listio.3:161
430 #: build/C/man7/aio.7:163
432 "The I<aio_reqprio> field of the I<aiocb> structure was less than 0, or was "
433 "greater than the limit returned by the call I<sysconf(_SC_AIO_PRIO_DELTA_MAX)"
436 "I<aiocb> 構造体の I<aio_reqprio> フィールドが、0 より小さいか、\n"
437 "I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す上限よりも大きかった。"
440 #: build/C/man7/aio.7:163 build/C/man3/aio_cancel.3:110
441 #: build/C/man3/aio_error.3:78 build/C/man3/aio_fsync.3:99
442 #: build/C/man3/aio_init.3:93 build/C/man3/aio_read.3:128
443 #: build/C/man3/aio_return.3:73 build/C/man3/aio_suspend.3:103
444 #: build/C/man3/aio_write.3:133 build/C/man2/io_cancel.2:56
445 #: build/C/man2/io_destroy.2:45 build/C/man2/io_getevents.2:57
446 #: build/C/man2/io_setup.2:58 build/C/man2/io_submit.2:60
447 #: build/C/man3/lio_listio.3:201
453 #: build/C/man7/aio.7:165
454 msgid "The POSIX AIO interfaces are provided by glibc since version 2.1."
456 "POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。"
459 #: build/C/man7/aio.7:165 build/C/man3/aio_cancel.3:114
460 #: build/C/man3/aio_error.3:87 build/C/man3/aio_fsync.3:103
461 #: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:132
462 #: build/C/man3/aio_return.3:82 build/C/man3/aio_suspend.3:107
463 #: build/C/man3/aio_write.3:137 build/C/man2/io_cancel.2:59
464 #: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:60
465 #: build/C/man2/io_setup.2:61 build/C/man2/io_submit.2:63
466 #: build/C/man3/lio_listio.3:205
468 msgid "CONFORMING TO"
472 #: build/C/man7/aio.7:167 build/C/man3/aio_cancel.3:116
473 #: build/C/man3/aio_error.3:89 build/C/man3/aio_fsync.3:105
474 #: build/C/man3/aio_read.3:134 build/C/man3/aio_return.3:84
475 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
476 #: build/C/man3/lio_listio.3:207
477 msgid "POSIX.1-2001, POSIX.1-2008."
478 msgstr "POSIX.1-2001, POSIX.1-2008."
481 #: build/C/man7/aio.7:167 build/C/man3/aio_read.3:134
482 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
483 #: build/C/man2/io_cancel.2:64 build/C/man2/io_destroy.2:53
484 #: build/C/man2/io_getevents.2:65 build/C/man2/io_setup.2:66
485 #: build/C/man2/io_submit.2:68 build/C/man3/lio_listio.3:207
491 #: build/C/man7/aio.7:174
493 "It is a good idea to zero out the control block buffer before use (see "
494 "B<memset>(3)). The control block buffer and the buffer pointed to by "
495 "I<aio_buf> must not be changed while the I/O operation is in progress. "
496 "These buffers must remain valid until the I/O operation completes."
498 "使用前に制御ブロックバッファを 0 で埋めるのはよい考えである\n"
499 "(B<memset>(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファと\n"
500 "I<aio_buf> が指すバッファを変更してはならない。I/O 操作が完了するまで、\n"
501 "これらのバッファは有効な状態に保たなければならない。"
504 #: build/C/man7/aio.7:178
506 "Simultaneous asynchronous read or write operations using the same I<aiocb> "
507 "structure yield undefined results."
509 "同じ I<aiocb> 構造体を使って、同時に複数の非同期の読み出し操作や\n"
510 "書き込み操作を行った場合に、どのような結果になるかは未定義である。"
512 #. http://lse.sourceforge.net/io/aio.html
513 #. http://lse.sourceforge.net/io/aionotes.txt
514 #. http://lwn.net/Articles/148755/
516 #: build/C/man7/aio.7:196
518 "The current Linux POSIX AIO implementation is provided in user space by "
519 "glibc. This has a number of limitations, most notably that maintaining "
520 "multiple threads to perform I/O operations is expensive and scales poorly. "
521 "Work has been in progress for some time on a kernel state-machine-based "
522 "implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
523 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
524 "implementation hasn't yet matured to the point where the POSIX AIO "
525 "implementation can be completely reimplemented using the kernel system calls."
527 "現在の Linux では、POSIX AIO 実装は glibc によりユーザ空間で提供\n"
528 "されている。このため、制限がいくつかあり、最も顕著なものは、I/O 操作を\n"
529 "実行する複数のスレッドの管理コストが高く、スケーラビリティに欠けること\n"
530 "である。しばらくの間、カーネルのステートマシンによる非同期 I/O の実装\n"
531 "の作業が行われているが (B<io_submit>(2), B<io_setup>(2), \n"
532 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2) 参照)、\n"
533 "この実装はまだ POSIX AIO 実装をカーネルシステムコールにより\n"
537 #: build/C/man7/aio.7:196 build/C/man3/aio_cancel.3:116
538 #: build/C/man3/aio_error.3:89 build/C/man3/aio_read.3:146
539 #: build/C/man3/aio_return.3:84
545 #: build/C/man7/aio.7:209
547 "The program below opens each of the files named in its command-line "
548 "arguments and queues a request on the resulting file descriptor using "
549 "B<aio_read>(3). The program then loops, periodically monitoring each of the "
550 "I/O operations that is still in progress using B<aio_error>(3). Each of the "
551 "I/O requests is set up to provide notification by delivery of a signal. "
552 "After all I/O requests have completed, the program retrieves their status "
553 "using B<aio_return>(3)."
555 "下記のプログラムは、コマンドライン引き数で指定された名前のファイルを\n"
556 "それぞれオープンし、得られたファイルディスクリプタに対するリクエストを\n"
557 "B<aio_read>(3) を使ってキューに入れる。その後、このプログラムはループに\n"
558 "入り、定期的に B<aio_error>(3) を使ってまだ実行中の各 I/O 操作を監視す\n"
559 "る。各 I/O リクエストは、シグナルの配送による完了通知が行われるように設\n"
560 "定される。全ての I/O リクエストが完了した後、B<aio_return>(3) を使って\n"
564 #: build/C/man7/aio.7:215
566 "The B<SIGQUIT> signal (generated by typing control-\\e) causes the program "
567 "to request cancellation of each of the outstanding requests using "
570 "B<SIGQUIT> シグナル (control-\\e をタイプすると生成できる) を送ると、\n"
571 "このプログラムは B<aio_cancel>(3) を使って\n"
572 "完了していない各リクエストにキャンセル要求を送る。"
575 #: build/C/man7/aio.7:220
577 "Here is an example of what we might see when running this program. In this "
578 "example, the program queues two requests to standard input, and these are "
579 "satisfied by two lines of input containing \"abc\" and \"x\"."
581 "以下はこのプログラムを実行した際の出力例である。\n"
582 "この例では、標準入力に対して 2 つのリクエストを行い、\n"
583 "\"abc\" と \"x\" という 2 行の入力を行っている。"
586 #: build/C/man7/aio.7:244
589 "$ B<./a.out /dev/stdin /dev/stdin>\n"
590 "opened /dev/stdin on descriptor 3\n"
591 "opened /dev/stdin on descriptor 4\n"
593 " for request 0 (descriptor 3): In progress\n"
594 " for request 1 (descriptor 4): In progress\n"
596 "I/O completion signal received\n"
598 " for request 0 (descriptor 3): I/O succeeded\n"
599 " for request 1 (descriptor 4): In progress\n"
601 " for request 1 (descriptor 4): In progress\n"
603 "I/O completion signal received\n"
605 " for request 1 (descriptor 4): I/O succeeded\n"
606 "All I/O requests completed\n"
608 " for request 0 (descriptor 3): 4\n"
609 " for request 1 (descriptor 4): 2\n"
611 "$ B<./a.out /dev/stdin /dev/stdin>\n"
612 "opened /dev/stdin on descriptor 3\n"
613 "opened /dev/stdin on descriptor 4\n"
615 " for request 0 (descriptor 3): In progress\n"
616 " for request 1 (descriptor 4): In progress\n"
618 "I/O completion signal received\n"
620 " for request 0 (descriptor 3): I/O succeeded\n"
621 " for request 1 (descriptor 4): In progress\n"
623 " for request 1 (descriptor 4): In progress\n"
625 "I/O completion signal received\n"
627 " for request 1 (descriptor 4): I/O succeeded\n"
628 "All I/O requests completed\n"
630 " for request 0 (descriptor 3): 4\n"
631 " for request 1 (descriptor 4): 2\n"
634 #: build/C/man7/aio.7:246
636 msgid "Program source"
640 #: build/C/man7/aio.7:255
643 "#include E<lt>stdlib.hE<gt>\n"
644 "#include E<lt>unistd.hE<gt>\n"
645 "#include E<lt>stdio.hE<gt>\n"
646 "#include E<lt>errno.hE<gt>\n"
647 "#include E<lt>aio.hE<gt>\n"
648 "#include E<lt>signal.hE<gt>\n"
650 "#include E<lt>stdlib.hE<gt>\n"
651 "#include E<lt>unistd.hE<gt>\n"
652 "#include E<lt>stdio.hE<gt>\n"
653 "#include E<lt>errno.hE<gt>\n"
654 "#include E<lt>aio.hE<gt>\n"
655 "#include E<lt>signal.hE<gt>\n"
658 #: build/C/man7/aio.7:257
660 msgid "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
661 msgstr "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
664 #: build/C/man7/aio.7:259
666 msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
667 msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
670 #: build/C/man7/aio.7:261
672 msgid "#define errMsg(msg) do { perror(msg); } while (0)\n"
673 msgstr "#define errMsg(msg) do { perror(msg); } while (0)\n"
676 #: build/C/man7/aio.7:268
679 "struct ioRequest { /* Application-defined structure for tracking\n"
683 " struct aiocb *aiocbp;\n"
686 "struct ioRequest { /* Application-defined structure for tracking\n"
690 " struct aiocb *aiocbp;\n"
694 #: build/C/man7/aio.7:272
697 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
698 " /* On delivery of SIGQUIT, we attempt to\n"
699 " cancel all outstanding I/O requests */\n"
701 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
702 " /* On delivery of SIGQUIT, we attempt to\n"
703 " cancel all outstanding I/O requests */\n"
706 #: build/C/man7/aio.7:278
709 "static void /* Handler for SIGQUIT */\n"
710 "quitHandler(int sig)\n"
715 "static void /* Handler for SIGQUIT */\n"
716 "quitHandler(int sig)\n"
722 #: build/C/man7/aio.7:280
724 msgid "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
725 msgstr "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
728 #: build/C/man7/aio.7:285
731 "static void /* Handler for I/O completion signal */\n"
732 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
734 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
736 "static void /* Handler for I/O completion signal */\n"
737 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
739 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
742 #: build/C/man7/aio.7:291
745 " /* The corresponding ioRequest structure would be available as\n"
746 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
747 " and the file descriptor would then be available via\n"
748 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
751 " /* The corresponding ioRequest structure would be available as\n"
752 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
753 " and the file descriptor would then be available via\n"
754 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
758 #: build/C/man7/aio.7:301
762 "main(int argc, char *argv[])\n"
764 " struct ioRequest *ioList;\n"
765 " struct aiocb *aiocbList;\n"
766 " struct sigaction sa;\n"
768 " int numReqs; /* Total number of queued I/O requests */\n"
769 " int openReqs; /* Number of I/O requests still in progress */\n"
772 "main(int argc, char *argv[])\n"
774 " struct ioRequest *ioList;\n"
775 " struct aiocb *aiocbList;\n"
776 " struct sigaction sa;\n"
778 " int numReqs; /* Total number of queued I/O requests */\n"
779 " int openReqs; /* Number of I/O requests still in progress */\n"
782 #: build/C/man7/aio.7:307
785 " if (argc E<lt> 2) {\n"
786 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
788 " exit(EXIT_FAILURE);\n"
791 " if (argc E<lt> 2) {\n"
792 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
794 " exit(EXIT_FAILURE);\n"
798 #: build/C/man7/aio.7:309
800 msgid " numReqs = argc - 1;\n"
801 msgstr " numReqs = argc - 1;\n"
804 #: build/C/man7/aio.7:311
806 msgid " /* Allocate our arrays */\n"
807 msgstr " /* Allocate our arrays */\n"
810 #: build/C/man7/aio.7:315
813 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
814 " if (ioList == NULL)\n"
815 " errExit(\"calloc\");\n"
817 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
818 " if (ioList == NULL)\n"
819 " errExit(\"calloc\");\n"
822 #: build/C/man7/aio.7:319
825 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
826 " if (aiocbList == NULL)\n"
827 " errExit(\"calloc\");\n"
829 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
830 " if (aiocbList == NULL)\n"
831 " errExit(\"calloc\");\n"
834 #: build/C/man7/aio.7:321
836 msgid " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
837 msgstr " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
840 #: build/C/man7/aio.7:324
843 " sa.sa_flags = SA_RESTART;\n"
844 " sigemptyset(&sa.sa_mask);\n"
846 " sa.sa_flags = SA_RESTART;\n"
847 " sigemptyset(&sa.sa_mask);\n"
850 #: build/C/man7/aio.7:328
853 " sa.sa_handler = quitHandler;\n"
854 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
855 " errExit(\"sigaction\");\n"
857 " sa.sa_handler = quitHandler;\n"
858 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
859 " errExit(\"sigaction\");\n"
862 #: build/C/man7/aio.7:333
865 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
866 " sa.sa_sigaction = aioSigHandler;\n"
867 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
868 " errExit(\"sigaction\");\n"
870 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
871 " sa.sa_sigaction = aioSigHandler;\n"
872 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
873 " errExit(\"sigaction\");\n"
876 #: build/C/man7/aio.7:336
879 " /* Open each file specified on the command line, and queue\n"
880 " a read request on the resulting file descriptor */\n"
882 " /* Open each file specified on the command line, and queue\n"
883 " a read request on the resulting file descriptor */\n"
886 #: build/C/man7/aio.7:341
889 " for (j = 0; j E<lt> numReqs; j++) {\n"
890 " ioList[j].reqNum = j;\n"
891 " ioList[j].status = EINPROGRESS;\n"
892 " ioList[j].aiocbp = &aiocbList[j];\n"
894 " for (j = 0; j E<lt> numReqs; j++) {\n"
895 " ioList[j].reqNum = j;\n"
896 " ioList[j].status = EINPROGRESS;\n"
897 " ioList[j].aiocbp = &aiocbList[j];\n"
900 #: build/C/man7/aio.7:347
903 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
904 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
905 " errExit(\"open\");\n"
906 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
907 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
909 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
910 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
911 " errExit(\"open\");\n"
912 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
913 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
916 #: build/C/man7/aio.7:351
919 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
920 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
921 " errExit(\"malloc\");\n"
923 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
924 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
925 " errExit(\"malloc\");\n"
928 #: build/C/man7/aio.7:359
931 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
932 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
933 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
934 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
935 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
936 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
939 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
940 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
941 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
942 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
943 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
944 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
948 #: build/C/man7/aio.7:364
951 " s = aio_read(ioList[j].aiocbp);\n"
953 " errExit(\"aio_read\");\n"
956 " s = aio_read(ioList[j].aiocbp);\n"
958 " errExit(\"aio_read\");\n"
962 #: build/C/man7/aio.7:366
964 msgid " openReqs = numReqs;\n"
965 msgstr " openReqs = numReqs;\n"
968 #: build/C/man7/aio.7:368
970 msgid " /* Loop, monitoring status of I/O requests */\n"
971 msgstr " /* Loop, monitoring status of I/O requests */\n"
974 #: build/C/man7/aio.7:371
977 " while (openReqs E<gt> 0) {\n"
978 " sleep(3); /* Delay between each monitoring step */\n"
980 " while (openReqs E<gt> 0) {\n"
981 " sleep(3); /* Delay between each monitoring step */\n"
984 #: build/C/man7/aio.7:373
986 msgid " if (gotSIGQUIT) {\n"
987 msgstr " if (gotSIGQUIT) {\n"
990 #: build/C/man7/aio.7:377
993 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
994 " outstanding I/O requests, and display status returned\n"
995 " from the cancellation requests */\n"
997 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
998 " outstanding I/O requests, and display status returned\n"
999 " from the cancellation requests */\n"
1002 #: build/C/man7/aio.7:379
1004 msgid " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1005 msgstr " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1008 #: build/C/man7/aio.7:396
1011 " for (j = 0; j E<lt> numReqs; j++) {\n"
1012 " if (ioList[j].status == EINPROGRESS) {\n"
1013 " printf(\" Request %d on descriptor %d:\", j,\n"
1014 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
1015 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1016 " ioList[j].aiocbp);\n"
1017 " if (s == AIO_CANCELED)\n"
1018 " printf(\"I/O canceled\\en\");\n"
1019 " else if (s == AIO_NOTCANCELED)\n"
1020 " printf(\"I/O not canceled\\en\");\n"
1021 " else if (s == AIO_ALLDONE)\n"
1022 " printf(\"I/O all done\\en\");\n"
1024 " errMsg(\"aio_cancel\");\n"
1028 " for (j = 0; j E<lt> numReqs; j++) {\n"
1029 " if (ioList[j].status == EINPROGRESS) {\n"
1030 " printf(\" Request %d on descriptor %d:\", j,\n"
1031 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
1032 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1033 " ioList[j].aiocbp);\n"
1034 " if (s == AIO_CANCELED)\n"
1035 " printf(\"I/O canceled\\en\");\n"
1036 " else if (s == AIO_NOTCANCELED)\n"
1037 " printf(\"I/O not canceled\\en\");\n"
1038 " else if (s == AIO_ALLDONE)\n"
1039 " printf(\"I/O all done\\en\");\n"
1041 " errMsg(\"aio_cancel\");\n"
1046 #: build/C/man7/aio.7:399
1049 " gotSIGQUIT = 0;\n"
1052 " gotSIGQUIT = 0;\n"
1056 #: build/C/man7/aio.7:402
1059 " /* Check the status of each I/O request that is still\n"
1062 " /* Check the status of each I/O request that is still\n"
1066 #: build/C/man7/aio.7:409
1069 " printf(\"aio_error():\\en\");\n"
1070 " for (j = 0; j E<lt> numReqs; j++) {\n"
1071 " if (ioList[j].status == EINPROGRESS) {\n"
1072 " printf(\" for request %d (descriptor %d): \",\n"
1073 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1074 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1076 " printf(\"aio_error():\\en\");\n"
1077 " for (j = 0; j E<lt> numReqs; j++) {\n"
1078 " if (ioList[j].status == EINPROGRESS) {\n"
1079 " printf(\" for request %d (descriptor %d): \",\n"
1080 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1081 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1084 #: build/C/man7/aio.7:424
1087 " switch (ioList[j].status) {\n"
1089 " printf(\"I/O succeeded\\en\");\n"
1091 " case EINPROGRESS:\n"
1092 " printf(\"In progress\\en\");\n"
1094 " case ECANCELED:\n"
1095 " printf(\"Canceled\\en\");\n"
1098 " errMsg(\"aio_error\");\n"
1102 " switch (ioList[j].status) {\n"
1104 " printf(\"I/O succeeded\\en\");\n"
1106 " case EINPROGRESS:\n"
1107 " printf(\"In progress\\en\");\n"
1109 " case ECANCELED:\n"
1110 " printf(\"Canceled\\en\");\n"
1113 " errMsg(\"aio_error\");\n"
1118 #: build/C/man7/aio.7:430
1121 " if (ioList[j].status != EINPROGRESS)\n"
1127 " if (ioList[j].status != EINPROGRESS)\n"
1134 #: build/C/man7/aio.7:432
1136 msgid " printf(\"All I/O requests completed\\en\");\n"
1137 msgstr " printf(\"All I/O requests completed\\en\");\n"
1140 #: build/C/man7/aio.7:434
1142 msgid " /* Check status return of all I/O requests */\n"
1143 msgstr " /* Check status return of all I/O requests */\n"
1146 #: build/C/man7/aio.7:438
1149 " printf(\"aio_return():\\en\");\n"
1150 " for (j = 0; j E<lt> numReqs; j++) {\n"
1153 " printf(\"aio_return():\\en\");\n"
1154 " for (j = 0; j E<lt> numReqs; j++) {\n"
1158 #: build/C/man7/aio.7:443
1161 #| " s = aio_return(ioList[j].aiocbp);\n"
1162 #| " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1163 #| " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1166 " s = aio_return(ioList[j].aiocbp);\n"
1167 " printf(\" for request %d (descriptor %d): %zd\\en\",\n"
1168 " j, ioList[j].aiocbp-E<gt>aio_fildes, s);\n"
1171 " s = aio_return(ioList[j].aiocbp);\n"
1172 " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1173 " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1177 #: build/C/man7/aio.7:446
1180 " exit(EXIT_SUCCESS);\n"
1183 " exit(EXIT_SUCCESS);\n"
1187 #: build/C/man7/aio.7:447 build/C/man3/aio_cancel.3:119
1188 #: build/C/man3/aio_error.3:92 build/C/man3/aio_fsync.3:105
1189 #: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:149
1190 #: build/C/man3/aio_return.3:87 build/C/man3/aio_suspend.3:129
1191 #: build/C/man3/aio_write.3:151 build/C/man2/io_cancel.2:94
1192 #: build/C/man2/io_destroy.2:83 build/C/man2/io_getevents.2:100
1193 #: build/C/man2/io_setup.2:96 build/C/man2/io_submit.2:98
1194 #: build/C/man3/lio_listio.3:219
1200 #: build/C/man7/aio.7:462
1202 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1203 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1204 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
1206 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1207 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1208 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
1211 #: build/C/man7/aio.7:465
1213 "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
1216 "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
1220 #: build/C/man7/aio.7:465 build/C/man3/aio_cancel.3:128
1221 #: build/C/man3/aio_error.3:101 build/C/man3/aio_fsync.3:115
1222 #: build/C/man3/aio_init.3:101 build/C/man3/aio_read.3:158
1223 #: build/C/man3/aio_return.3:96 build/C/man3/aio_suspend.3:139
1224 #: build/C/man3/aio_write.3:160 build/C/man2/io_cancel.2:102
1225 #: build/C/man2/io_destroy.2:91 build/C/man2/io_getevents.2:110
1226 #: build/C/man2/io_setup.2:104 build/C/man2/io_submit.2:106
1227 #: build/C/man3/lio_listio.3:227
1233 #: build/C/man7/aio.7:472 build/C/man3/aio_cancel.3:135
1234 #: build/C/man3/aio_error.3:108 build/C/man3/aio_fsync.3:122
1235 #: build/C/man3/aio_init.3:108 build/C/man3/aio_read.3:165
1236 #: build/C/man3/aio_return.3:103 build/C/man3/aio_suspend.3:146
1237 #: build/C/man3/aio_write.3:167 build/C/man2/io_cancel.2:109
1238 #: build/C/man2/io_destroy.2:98 build/C/man2/io_getevents.2:117
1239 #: build/C/man2/io_setup.2:111 build/C/man2/io_submit.2:113
1240 #: build/C/man3/lio_listio.3:234
1243 #| "This page is part of release 3.63 of the Linux I<man-pages> project. A "
1244 #| "description of the project, and information about reporting bugs, can be "
1245 #| "found at \\%http://www.kernel.org/doc/man-pages/."
1247 "This page is part of release 3.64 of the Linux I<man-pages> project. A "
1248 "description of the project, and information about reporting bugs, can be "
1249 "found at \\%http://www.kernel.org/doc/man-pages/."
1251 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.63 の一部\n"
1252 "である。プロジェクトの説明とバグ報告に関する情報は\n"
1253 "http://www.kernel.org/doc/man-pages/ に書かれている。"
1256 #: build/C/man3/aio_cancel.3:24
1262 #: build/C/man3/aio_cancel.3:24 build/C/man3/aio_fsync.3:24
1263 #: build/C/man3/aio_read.3:24 build/C/man3/aio_suspend.3:25
1264 #: build/C/man3/aio_write.3:24 build/C/man3/lio_listio.3:24
1270 #: build/C/man3/aio_cancel.3:27
1271 msgid "aio_cancel - cancel an outstanding asynchronous I/O request"
1272 msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする"
1275 #: build/C/man3/aio_cancel.3:27 build/C/man3/aio_error.3:27
1276 #: build/C/man3/aio_fsync.3:27 build/C/man3/aio_init.3:29
1277 #: build/C/man3/aio_read.3:27 build/C/man3/aio_return.3:27
1278 #: build/C/man3/aio_suspend.3:28 build/C/man3/aio_write.3:27
1279 #: build/C/man2/io_cancel.2:10 build/C/man2/io_destroy.2:10
1280 #: build/C/man2/io_getevents.2:10 build/C/man2/io_setup.2:10
1281 #: build/C/man2/io_submit.2:10 build/C/man3/lio_listio.3:27
1287 #: build/C/man3/aio_cancel.3:29 build/C/man3/aio_error.3:29
1288 #: build/C/man3/aio_fsync.3:29 build/C/man3/aio_read.3:29
1289 #: build/C/man3/aio_return.3:29 build/C/man3/aio_write.3:29
1290 msgid "B<#include E<lt>aio.hE<gt>>"
1291 msgstr "B<#include E<lt>aio.hE<gt>>"
1294 #: build/C/man3/aio_cancel.3:31
1295 msgid "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1296 msgstr "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1299 #: build/C/man3/aio_cancel.3:33 build/C/man3/aio_error.3:33
1300 #: build/C/man3/aio_fsync.3:33 build/C/man3/aio_init.3:38
1301 #: build/C/man3/aio_read.3:33 build/C/man3/aio_return.3:33
1302 #: build/C/man3/aio_write.3:33
1303 msgid "Link with I<-lrt>."
1304 msgstr "I<-lrt> でリンクする。"
1307 #: build/C/man3/aio_cancel.3:51
1309 "The B<aio_cancel>() function attempts to cancel outstanding asynchronous I/"
1310 "O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all such "
1311 "requests are canceled. Otherwise, only the request described by the control "
1312 "block pointed to by I<aiocbp> is canceled. (See B<aio>(7) for a "
1313 "description of the I<aiocb> structure.)"
1315 "B<aio_cancel>() 関数は、ファイルディスクリプタ I<fd> についての完了して\n"
1316 "いない非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が\n"
1317 "NULL の場合、そのような全てのリクエストがキャンセルされる。 I<aiocbp>\n"
1318 "が NULL でない場合、I<aiocbp> で指された制御ブロックで記述されたリクエ\n"
1319 "ストのみがキャンセルされる。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1322 #: build/C/man3/aio_cancel.3:63
1324 "Normal asynchronous notification occurs for canceled requests (see B<aio>"
1325 "(7) and B<sigevent>(7)). The request return status (B<aio_return>(3)) is "
1326 "set to -1, and the request error status (B<aio_error>(3)) is set to "
1327 "B<ECANCELED>. The control block of requests that cannot be canceled is not "
1330 "キャンセルされたリクエストに対して、通常の非同期通知が起こる\n"
1331 "(B<aio>(7) と B<sigevent>(7) を参照)。\n"
1332 "リクエストの返り値 (B<aio_return>(3)) は -1 に設定され、\n"
1333 "リクエストのエラー状態 (B<aio_error>(3)) は B<ECANCELED> に設定される。\n"
1334 "キャンセルできないリクエストの制御ブロックは変更されない。"
1337 #: build/C/man3/aio_cancel.3:70
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>.)"
1343 "リクエストがキャンセルできない場合には、\n"
1344 "B<aio_cancel>() は通常の I/O 操作の実行後と同じように終了する。\n"
1345 "(この場合、 B<aio_error>(3) はステータス B<EINPROGRESSS> を返す)。"
1348 #: build/C/man3/aio_cancel.3:77
1350 "If I<aiocbp> is not NULL, and I<fd> differs from the file descriptor with "
1351 "which the asynchronous operation was initiated, unspecified results occur."
1353 "I<aiocbp> が NULL でなく、かつ I<fd> が非同期操作が開始されたファイルディスク"
1354 "リプタと異なる場合、 生じる結果は不定である。"
1356 #. FreeBSD: not those on raw disk devices.
1358 #: build/C/man3/aio_cancel.3:80
1359 msgid "Which operations are cancelable is implementation-defined."
1360 msgstr "どの操作をキャンセルできるかは、実装定義である。"
1363 #: build/C/man3/aio_cancel.3:80 build/C/man3/aio_error.3:44
1364 #: build/C/man3/aio_fsync.3:73 build/C/man3/aio_read.3:88
1365 #: build/C/man3/aio_return.3:49 build/C/man3/aio_suspend.3:80
1366 #: build/C/man3/aio_write.3:95 build/C/man2/io_cancel.2:37
1367 #: build/C/man2/io_destroy.2:29 build/C/man2/io_getevents.2:34
1368 #: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:31
1369 #: build/C/man3/lio_listio.3:108
1371 msgid "RETURN VALUE"
1375 #: build/C/man3/aio_cancel.3:84
1376 msgid "The B<aio_cancel>() function returns one of the following values:"
1377 msgstr "B<aio_cancel>() 関数は以下のいずれかの値を返す。"
1380 #: build/C/man3/aio_cancel.3:84
1382 msgid "B<AIO_CANCELED>"
1383 msgstr "B<AIO_CANCELED>"
1386 #: build/C/man3/aio_cancel.3:87
1387 msgid "All requests were successfully canceled."
1388 msgstr "全てのリクエストが正常にキャンセルされた。"
1391 #: build/C/man3/aio_cancel.3:87
1393 msgid "B<AIO_NOTCANCELED>"
1394 msgstr "B<AIO_NOTCANCELED>"
1397 #: build/C/man3/aio_cancel.3:93
1399 "At least one of the requests specified was not canceled because it was in "
1400 "progress. In this case, one may check the status of individual requests "
1401 "using B<aio_error>(3)."
1403 "指定されたリクエストのうち少なくとも一つが、実行中のため\n"
1404 "キャンセルできなかった。この場合には、B<aio_error>(3) を使って\n"
1405 "個々のリクエストの状態を確認できる。"
1408 #: build/C/man3/aio_cancel.3:93
1410 msgid "B<AIO_ALLDONE>"
1411 msgstr "B<AIO_ALLDONE>"
1414 #: build/C/man3/aio_cancel.3:96
1415 msgid "All requests had already been completed before the call."
1416 msgstr "呼び出しの前に全てのリクエストがすでに完了していた。"
1419 #: build/C/man3/aio_cancel.3:96
1425 #: build/C/man3/aio_cancel.3:101
1427 "An error occurred. The cause of the error can be found by inspecting "
1431 "I<errno> を確認することでエラーの原因を知ることができる。"
1434 #: build/C/man3/aio_cancel.3:102 build/C/man3/aio_fsync.3:83
1435 #: build/C/man3/aio_read.3:107 build/C/man3/aio_write.3:114
1436 #: build/C/man2/io_submit.2:41
1442 #: build/C/man3/aio_cancel.3:106
1443 msgid "I<fd> is not a valid file descriptor."
1444 msgstr "I<fd> が有効なファイルディスクリプタでない。"
1447 #: build/C/man3/aio_cancel.3:106 build/C/man3/aio_error.3:74
1448 #: build/C/man3/aio_fsync.3:95 build/C/man3/aio_read.3:119
1449 #: build/C/man3/aio_return.3:69 build/C/man3/aio_suspend.3:99
1450 #: build/C/man3/aio_write.3:129 build/C/man2/io_cancel.2:52
1451 #: build/C/man2/io_destroy.2:41 build/C/man2/io_getevents.2:53
1452 #: build/C/man2/io_setup.2:54 build/C/man2/io_submit.2:56
1458 #: build/C/man3/aio_cancel.3:110
1459 msgid "B<aio_cancel>() is not implemented."
1460 msgstr "B<aio_cancel>() は実装されていない。"
1463 #: build/C/man3/aio_cancel.3:114
1464 msgid "The B<aio_cancel>() function is available since glibc 2.1."
1465 msgstr "B<aio_cancel>() 関数は glibc 2.1 以降で利用できる。"
1468 #: build/C/man3/aio_cancel.3:119 build/C/man3/aio_error.3:92
1469 #: build/C/man3/aio_read.3:149 build/C/man3/aio_return.3:87
1470 msgid "See B<aio>(7)."
1471 msgstr "B<aio>(7) を参照。"
1474 #: build/C/man3/aio_cancel.3:128
1476 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1477 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1479 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), \n"
1480 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1483 #: build/C/man3/aio_error.3:24
1489 #: build/C/man3/aio_error.3:24 build/C/man3/aio_return.3:24
1495 #: build/C/man3/aio_error.3:27
1496 msgid "aio_error - get error status of asynchronous I/O operation"
1497 msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する"
1500 #: build/C/man3/aio_error.3:31
1501 msgid "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1502 msgstr "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1505 #: build/C/man3/aio_error.3:44
1507 "The B<aio_error>() function returns the error status for the asynchronous I/"
1508 "O request with control block pointed to by I<aiocbp>. (See B<aio>(7) for a "
1509 "description of the I<aiocb> structure.)"
1511 "B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
1513 "トのエラー状態を返す。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1516 #: build/C/man3/aio_error.3:46
1517 msgid "This function returns one of the following:"
1518 msgstr "この関数の返り値は以下のいずれかである。"
1521 #: build/C/man3/aio_error.3:46 build/C/man3/aio_error.3:50
1522 #: build/C/man3/aio_error.3:53 build/C/man3/aio_error.3:55
1523 #: build/C/man3/aio_suspend.3:43 build/C/man3/aio_suspend.3:47
1524 #: build/C/man3/aio_suspend.3:49
1530 #: build/C/man3/aio_error.3:50
1531 msgid "B<EINPROGRESS>, if the request has not been completed yet."
1532 msgstr "B<EINPROGRESS> (リクエストがまだ完了していない場合)"
1535 #: build/C/man3/aio_error.3:53
1536 msgid "B<ECANCELED>, if the request was canceled."
1537 msgstr "B<ECANCELED> (リクエストがキャンセルされた場合)"
1540 #: build/C/man3/aio_error.3:55
1541 msgid "0, if the request completed successfully."
1542 msgstr "0 (リクエストが正常に完了した場合)"
1545 #: build/C/man3/aio_error.3:66
1547 "A positive error number, if the asynchronous I/O operation failed. This is "
1548 "the same value that would have been stored in the I<errno> variable in the "
1549 "case of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or B<fdatasync>"
1552 "正のエラー番号 (非同期 I/O 命令が失敗した場合)。\n"
1553 "同期の B<read>(2), B<write>(2), B<fsync>(2), B<fdatasync>(2) の呼び出しの場合"
1555 "I<errno> 変数に格納されるのと同じ値になる。"
1558 #: build/C/man3/aio_error.3:74
1560 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
1561 "of which the return status (see B<aio_return>(3)) has not been retrieved "
1564 "I<aiocbp> が、まだ返り値 (return status) (B<aio_return>(3) を参照) が取得さ"
1565 "れていない非同期 I/O リクエストの制御ブロックを指していない。"
1568 #: build/C/man3/aio_error.3:78
1569 msgid "B<aio_error>() is not implemented."
1570 msgstr "B<aio_error>() は実装されていない。"
1573 #: build/C/man3/aio_error.3:82
1574 msgid "The B<aio_error>() function is available since glibc 2.1."
1575 msgstr "B<aio_error>() 関数は glibc 2.1 以降で利用できる。"
1578 #: build/C/man3/aio_error.3:82 build/C/man3/aio_return.3:77
1584 #: build/C/man3/aio_error.3:83 build/C/man3/aio_return.3:78
1586 msgid "Multithreading (see pthreads(7))"
1587 msgstr "マルチスレッディング (pthreads(7) 参照)"
1590 #: build/C/man3/aio_error.3:87
1591 msgid "The B<aio_error>() function is thread-safe."
1592 msgstr "B<aio_error>() 関数はスレッドセーフである。"
1595 #: build/C/man3/aio_error.3:101
1597 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1598 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1600 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1601 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1604 #: build/C/man3/aio_fsync.3:24
1610 #: build/C/man3/aio_fsync.3:27
1611 msgid "aio_fsync - asynchronous file synchronization"
1612 msgstr "aio_fsync - 非同期ファイルを同期させる"
1615 #: build/C/man3/aio_fsync.3:31
1616 msgid "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1617 msgstr "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1620 #: build/C/man3/aio_fsync.3:44
1622 "The B<aio_fsync>() function does a sync on all outstanding asynchronous I/O "
1623 "operations associated with I<aiocbp-E<gt>aio_fildes>. (See B<aio>(7) for a "
1624 "description of the I<aiocb> structure.)"
1626 "B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ\n"
1627 "完了していない全ての非同期 I/O 操作を同期させる。\n"
1628 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1631 #: build/C/man3/aio_fsync.3:58
1633 "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
1634 "operations shall be completed as if by a call of B<fsync>(2), and if I<op> "
1635 "is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>(2)."
1637 "より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全"
1639 "の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また\n"
1640 "I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版となる。"
1643 #: build/C/man3/aio_fsync.3:60
1644 msgid "Note that this is a request only; it does not wait for I/O completion."
1646 "この関数はリクエストを行うだけである点に注意すること。\n"
1647 "I/O の完了の待ち合わせは行わない。"
1650 #: build/C/man3/aio_fsync.3:73
1652 "Apart from I<aio_fildes>, the only field in the structure pointed to by "
1653 "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
1654 "I<sigevent> structure, described in B<sigevent>(7)), which indicates the "
1655 "desired type of asynchronous notification at completion. All other fields "
1658 "I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes>\n"
1659 "以外に使用されるのは I<aio_sigevent> フィールド (I<sigevent> 構造体、説明は\n"
1660 "B<sigevent>(7) 参照) のみである。このフィールドは、完了時の非同期通知に使用\n"
1661 "したいタイプを示す。 その他のフィールドは無視される。"
1664 #: build/C/man3/aio_fsync.3:79
1666 "On success (the sync request was successfully queued) this function returns "
1667 "0. On error, -1 is returned, and I<errno> is set appropriately."
1669 "成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 "
1670 "を返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
1673 #: build/C/man3/aio_fsync.3:80 build/C/man3/aio_read.3:104
1674 #: build/C/man3/aio_suspend.3:89 build/C/man3/aio_write.3:111
1675 #: build/C/man2/io_cancel.2:43 build/C/man2/io_setup.2:38
1676 #: build/C/man2/io_submit.2:38 build/C/man3/lio_listio.3:150
1677 #: build/C/man3/lio_listio.3:153
1683 #: build/C/man3/aio_fsync.3:83 build/C/man3/aio_read.3:107
1684 #: build/C/man3/aio_write.3:114 build/C/man3/lio_listio.3:153
1685 msgid "Out of resources."
1689 #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_write.3:118
1690 msgid "I<aio_fildes> is not a valid file descriptor open for writing."
1692 "I<aio_fildes> が書き込みのためにオープンされた有効なファイルディスクリプタで"
1696 #: build/C/man3/aio_fsync.3:95
1698 "Synchronized I/O is not supported for this file, or I<op> is not B<O_SYNC> "
1701 "このファイルでは同期 I/O がサポートされていない。\n"
1702 "または I<op> が B<O_SYNC> でも B<O_DSYNC> でもない。"
1705 #: build/C/man3/aio_fsync.3:99
1706 msgid "B<aio_fsync>() is not implemented."
1707 msgstr "B<aio_fsync>() は実装されていない。"
1710 #: build/C/man3/aio_fsync.3:103
1711 msgid "The B<aio_fsync>() function is available since glibc 2.1."
1712 msgstr "The B<aio_fsync>() 関数は glibc 2.1 以降で利用できる。"
1715 #: build/C/man3/aio_fsync.3:115
1717 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1718 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
1721 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1722 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
1726 #: build/C/man3/aio_init.3:26
1732 #: build/C/man3/aio_init.3:26
1738 #: build/C/man3/aio_init.3:29
1739 msgid "aio_init - asynchronous I/O initialization"
1740 msgstr "aio_init - 非同期 I/O の初期化"
1743 #: build/C/man3/aio_init.3:33
1746 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1747 "B<#include E<lt>aio.hE<gt>>\n"
1749 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1750 "B<#include E<lt>aio.hE<gt>>\n"
1753 #: build/C/man3/aio_init.3:35
1755 msgid "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1756 msgstr "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1759 #: build/C/man3/aio_init.3:45
1761 "The GNU-specific B<aio_init>() function allows the caller to provide tuning "
1762 "hints to the glibc POSIX AIO implementation. Use of this function is "
1763 "optional, but to be effective, it must be called before employing any other "
1764 "functions in the POSIX AIO API."
1766 "GNU 固有の B<aio_init>() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装"
1768 "対して調整 (チューニング) のヒントを与えることができる。この関数は使用しな"
1770 "てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前"
1775 #: build/C/man3/aio_init.3:49
1777 "The tuning information is provided in the buffer pointed to by the argument "
1778 "I<init>. This buffer is a structure of the following form:"
1780 "チューニングの情報は、引き数 I<init> が指すバッファで与える。\n"
1781 "このバッファは以下の形式の構造体である。"
1784 #: build/C/man3/aio_init.3:64
1787 "struct aioinit {\n"
1788 " int aio_threads; /* Maximum number of threads */\n"
1789 " int aio_num; /* Number of expected simultaneous\n"
1791 " int aio_locks; /* Not used */\n"
1792 " int aio_usedba; /* Not used */\n"
1793 " int aio_debug; /* Not used */\n"
1794 " int aio_numusers; /* Not used */\n"
1795 " int aio_idle_time; /* Number of seconds before idle thread\n"
1796 " terminates (since glibc 2.2) */\n"
1797 " int aio_reserved;\n"
1800 "struct aioinit {\n"
1801 " int aio_threads; /* Maximum number of threads */\n"
1802 " int aio_num; /* Number of expected simultaneous\n"
1804 " int aio_locks; /* Not used */\n"
1805 " int aio_usedba; /* Not used */\n"
1806 " int aio_debug; /* Not used */\n"
1807 " int aio_numusers; /* Not used */\n"
1808 " int aio_idle_time; /* Number of seconds before idle thread\n"
1809 " terminates (since glibc 2.2) */\n"
1810 " int aio_reserved;\n"
1814 #: build/C/man3/aio_init.3:70
1815 msgid "The following fields are used in the I<aioinit> structure:"
1816 msgstr "I<aioinit> 構造体のフィールドのうち以下が使用される。"
1819 #: build/C/man3/aio_init.3:70
1821 msgid "I<aio_threads>"
1822 msgstr "I<aio_threads>"
1825 #: build/C/man3/aio_init.3:78
1827 "This field specifies the maximum number of worker threads that may be used "
1828 "by the implementation. If the number of outstanding I/O operations exceeds "
1829 "this limit, then excess operations will be queued until a worker thread "
1830 "becomes free. If this field is specified with a value less than 1, the "
1831 "value 1 is used. The default value is 20."
1833 "このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定す"
1835 "完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は\n"
1836 "空いたワーカースレッドができるまでキューに入る。\n"
1837 "このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。\n"
1841 #: build/C/man3/aio_init.3:78
1846 #. FIXME But, if aio_num > 32, the behavior looks strange. See
1847 #. http://sourceware.org/bugzilla/show_bug.cgi?id=12083
1849 #: build/C/man3/aio_init.3:87
1851 "This field should specify the maximum number of simultaneous I/O requests "
1852 "that the caller expects to enqueue. If a value less than 32 is specified "
1853 "for this field, it is rounded up to 32. The default value is 64."
1855 "このフィールドは、呼び出し側がキューに入れる予定の\n"
1856 "同時 I/O リクエスト数の最大値を指定する。\n"
1857 "このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。\n"
1861 #: build/C/man3/aio_init.3:87
1863 msgid "I<aio_idle_time>"
1864 msgstr "I<aio_idle_time>"
1867 #: build/C/man3/aio_init.3:93
1869 "This field specifies the amount of time in seconds that a worker thread "
1870 "should wait for further requests before terminating, after having completed "
1871 "a previous request. The default value is 1."
1873 "このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してか"
1875 "次のリクエストをどのくらい時間待つかを秒単位で指定する。\n"
1876 "指定した時間を経過しても次のリクエストがなければ、\n"
1877 "そのワーカースレッドは終了される。デフォルト値は 1 秒である。"
1880 #: build/C/man3/aio_init.3:97
1881 msgid "The B<aio_init>() function is available since glibc 2.1."
1882 msgstr "The B<aio_init>() 関数は glibc 2.1 以降で利用できる。"
1885 #: build/C/man3/aio_init.3:99
1886 msgid "This function is a GNU extension."
1887 msgstr "この関数は GNU による拡張である。"
1890 #: build/C/man3/aio_init.3:101
1895 #: build/C/man3/aio_read.3:24
1901 #: build/C/man3/aio_read.3:27
1902 msgid "aio_read - asynchronous read"
1903 msgstr "aio_read - 非同期で読み込む"
1906 #: build/C/man3/aio_read.3:31
1907 msgid "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1908 msgstr "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1911 #: build/C/man3/aio_read.3:41
1913 "The B<aio_read>() function queues the I/O request described by the buffer "
1914 "pointed to by I<aiocbp>. This function is the asynchronous analog of B<read>"
1915 "(2). The arguments of the call"
1917 "B<aio_read>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエストを\n"
1918 "キューに入れる。この関数は B<read>(2) の非同期版である。\n"
1922 #: build/C/man3/aio_read.3:43
1924 msgid " read(fd, buf, count)\n"
1925 msgstr " read(fd, buf, count)\n"
1928 #: build/C/man3/aio_read.3:56 build/C/man3/aio_write.3:56
1930 "correspond (in order) to the fields I<aio_fildes>, I<aio_buf>, and "
1931 "I<aio_nbytes> of the structure pointed to by I<aiocbp>. (See B<aio>(7) for "
1932 "a description of the I<aiocb> structure.)"
1934 "の各引き数は I<aiocb> が指す構造体の I<aio_fildes>, I<aio_buf>, "
1936 "に (この順序で) 対応する (I<aiocb> 構造体の説明は B<aio>(7) を参照)。"
1939 #: build/C/man3/aio_read.3:62
1941 "The data is read starting at the absolute file offset I<aiocbp-"
1942 "E<gt>aio_offset>, regardless of the current file offset. After the call, "
1943 "the value of the current file offset is unspecified."
1945 "データの読み込みは、カレントのファイルオフセットに関係なく、\n"
1946 "絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として行われる。\n"
1947 "呼び出しの後のカレントのファイルオフセットは規定されていない。"
1950 #: build/C/man3/aio_read.3:75
1952 "The \"asynchronous\" means that this call returns as soon as the request has "
1953 "been enqueued; the read may or may not have completed when the call "
1954 "returns. One tests for completion using B<aio_error>(3). The return status "
1955 "of a completed I/O operation can be obtained by B<aio_return>(3). "
1956 "Asynchronous notification of I/O completion can be obtained by setting "
1957 "I<aiocbp-E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
1959 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
1961 "ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない"
1963 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
1965 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
1966 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
1967 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
1970 #: build/C/man3/aio_read.3:82 build/C/man3/aio_write.3:89
1972 "If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the "
1973 "asynchronous operation is submitted at a priority equal to that of the "
1974 "calling process minus I<aiocbp-E<gt>aio_reqprio>."
1976 "B<_POSIX_PRIORITIZED_IO> が定義されていて、 かつファイルがこれをサポートして"
1977 "いる場合、 非同期操作は呼び出したプロセスの優先度から I<aiocbp-"
1978 "E<gt>aio_reqprio> を引いた優先度で登録 (submit) される。"
1981 #: build/C/man3/aio_read.3:86 build/C/man3/aio_write.3:93
1982 msgid "The field I<aiocbp-E<gt>aio_lio_opcode> is ignored."
1983 msgstr "フィールド I<aiocbp-E<gt>aio_lio_opcode> は無視される。"
1986 #: build/C/man3/aio_read.3:88
1987 msgid "No data is read from a regular file beyond its maximum offset."
1989 "最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。"
1992 #: build/C/man3/aio_read.3:103 build/C/man3/aio_write.3:110
1994 "On success, 0 is returned. On error, the request is not enqueued, -1 is "
1995 "returned, and I<errno> is set appropriately. If an error is detected only "
1996 "later, it will be reported via B<aio_return>(3) (returns status -1) and "
1997 "B<aio_error>(3) (error status\\(emwhatever one would have gotten in "
1998 "I<errno>, such as B<EBADF>)."
2000 "成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、\n"
2001 "-1 が返されて、 I<errno> が適切に設定される。 エラーは後でのみ検知された場合"
2003 "エラーは B<aio_return>(3) と B<aio_error>(3) 経由で報告されることになる\n"
2004 "(B<aio_return>(3) は状態 -1 を返し、B<aio_error>(3) でエラー状態\\(em\n"
2005 "I<errno> で取得できる B<EBADF> のようなエラー状態が返される)。"
2008 #: build/C/man3/aio_read.3:111
2009 msgid "I<aio_fildes> is not a valid file descriptor open for reading."
2011 "I<aio_fildes> は読み込みのためにオープンされた有効なファイルディスクリプタで"
2015 #: build/C/man3/aio_read.3:119
2017 "One or more of I<aio_offset>, I<aio_reqprio>, or I<aio_nbytes> are invalid."
2019 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2022 #: build/C/man3/aio_read.3:123
2023 msgid "B<aio_read>() is not implemented."
2024 msgstr "B<aio_read>() は実装されていない。"
2027 #: build/C/man3/aio_read.3:123
2029 msgid "B<EOVERFLOW>"
2030 msgstr "B<EOVERFLOW>"
2033 #: build/C/man3/aio_read.3:128
2035 "The file is a regular file, we start reading before end-of-file and want at "
2036 "least one byte, but the starting position is past the maximum offset for "
2039 "ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 "
2040 "少なくとも 1 バイトを読み込もうとした。 しかし開始位置がこのファイルの最大オ"
2044 #: build/C/man3/aio_read.3:132
2045 msgid "The B<aio_read>() function is available since glibc 2.1."
2046 msgstr "The B<aio_read>() 関数は glibc 2.1 以降で利用できる。"
2048 #. or the control block of the operation
2050 #: build/C/man3/aio_read.3:142
2052 "It is a good idea to zero out the control block before use. The control "
2053 "block must not be changed while the read operation is in progress. The "
2054 "buffer area being read into must not be accessed during the operation or "
2055 "undefined results may occur. The memory areas involved must remain valid."
2057 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2058 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
2059 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
2060 "これに含まれるメモリ領域は、有効なままにしなければならない。"
2063 #: build/C/man3/aio_read.3:146 build/C/man3/aio_write.3:151
2064 #: build/C/man3/lio_listio.3:219
2066 "Simultaneous I/O operations specifying the same I<aiocb> structure produce "
2067 "undefined results."
2069 "同じ I<aiocb> 構造体を指定して同時に複数の I/O 操作を行った場合、\n"
2070 "どのような結果になるかは不定である。"
2073 #: build/C/man3/aio_read.3:158
2075 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2076 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2078 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2079 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2082 #: build/C/man3/aio_return.3:24
2088 #: build/C/man3/aio_return.3:27
2089 msgid "aio_return - get return status of asynchronous I/O operation"
2090 msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する"
2093 #: build/C/man3/aio_return.3:31
2094 msgid "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2095 msgstr "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2098 #: build/C/man3/aio_return.3:44
2100 "The B<aio_return>() function returns the final return status for the "
2101 "asynchronous I/O request with control block pointed to by I<aiocbp>. (See "
2102 "B<aio>(7) for a description of the I<aiocb> structure.)"
2104 "B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O\n"
2105 "リクエストの最終的な返り値を返す。\n"
2106 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2109 #: build/C/man3/aio_return.3:49
2111 "This function should be called only once for any given request, after "
2112 "B<aio_error>(3) returns something other than B<EINPROGRESS>."
2114 "この関数は、 B<aio_error>(3) が B<EINPROGRESS> 以外を返した後で、 与えられた"
2115 "リクエストに対して 1 回だけ呼ばれるべきである。"
2118 #: build/C/man3/aio_return.3:58
2120 "If the asynchronous I/O operation has completed, this function returns the "
2121 "value that would have been returned in case of a synchronous B<read>(2), "
2122 "B<write>(2), B<fsync>(2) or B<fdatasync>(2), call."
2124 "非同期 I/O 操作が完了した場合、この関数は、同期呼び出し B<read>(2),\n"
2125 "B<write>(2), B<fsync>(2), B<fdatasync>(2) が返すのと同じ値を返す。"
2128 #: build/C/man3/aio_return.3:63
2130 "If the asynchronous I/O operation has not yet completed, the return value "
2131 "and effect of B<aio_return>() are undefined."
2133 "非同期 I/O 操作が完了していない場合、\n"
2134 "B<aio_return>() の返り値とその影響は不定である。"
2137 #: build/C/man3/aio_return.3:69
2139 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
2140 "of which the return status has not been retrieved yet."
2142 "I<aiocbp> が、返り値がまだ取得されていない非同期 I/O リクエストの 制御ブロッ"
2146 #: build/C/man3/aio_return.3:73
2147 msgid "B<aio_return>() is not implemented."
2148 msgstr "B<aio_return>() は実装されていない。"
2151 #: build/C/man3/aio_return.3:77
2152 msgid "The B<aio_return>() function is available since glibc 2.1."
2153 msgstr "The B<aio_return>() 関数は glibc 2.1 以降で利用できる。"
2156 #: build/C/man3/aio_return.3:82
2157 msgid "The B<aio_return>() function is thread-safe."
2158 msgstr "The B<aio_return>() 関数はスレッドセーフである。"
2161 #: build/C/man3/aio_return.3:96
2163 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2164 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2166 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2167 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2170 #: build/C/man3/aio_suspend.3:25
2173 msgstr "AIO_SUSPEND"
2176 #: build/C/man3/aio_suspend.3:28
2177 msgid "aio_suspend - wait for asynchronous I/O operation or timeout"
2178 msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ"
2181 #: build/C/man3/aio_suspend.3:32 build/C/man3/lio_listio.3:30
2183 msgid "B<#include E<lt>aio.hE<gt>>\n"
2184 msgstr "B<#include E<lt>aio.hE<gt>>\n"
2187 #: build/C/man3/aio_suspend.3:34
2189 msgid "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2190 msgstr "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2193 #: build/C/man3/aio_suspend.3:36
2195 msgid "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2196 msgstr "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2199 #: build/C/man3/aio_suspend.3:38 build/C/man3/lio_listio.3:35
2201 msgid "Link with I<-lrt>.\n"
2202 msgstr "I<-lrt> でリンクする。\n"
2205 #: build/C/man3/aio_suspend.3:43
2207 "The B<aio_suspend>() function suspends the calling thread until one of the "
2210 "B<aio_suspend>() 関数は、以下のいずれかが発生するまで\n"
2211 "呼び出したスレッドの実行を停止 (suspend) する。"
2214 #: build/C/man3/aio_suspend.3:47
2216 "One or more of the asynchronous I/O requests in the list I<aiocb_list> has "
2219 "I<aiocb_list> リスト内の非同期 I/O リクエストのうち、少なくとも一つが完了し"
2223 #: build/C/man3/aio_suspend.3:49
2224 msgid "A signal is delivered."
2225 msgstr "シグナルが配送された。"
2228 #: build/C/man3/aio_suspend.3:56
2230 "I<timeout> is not NULL and the specified time interval has passed. (For "
2231 "details of the I<timespec> structure, see B<nanosleep>(2).)"
2233 "I<timeout> が NULL でない場合に、指定した時間が経過した\n"
2234 "(I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。"
2237 #: build/C/man3/aio_suspend.3:74
2239 "The I<nitems> argument specifies the number of items in I<aiocb_list>. Each "
2240 "item in the list pointed to by I<aiocb_list> must be either NULL (and then "
2241 "is ignored), or a pointer to a control block on which I/O was initiated "
2242 "using B<aio_read>(3), B<aio_write>(3), or B<lio_listio>(3). (See B<aio>(7) "
2243 "for a description of the I<aiocb> structure.)"
2245 "I<nitems> 引き数は I<aiocb_list> の要素数を指定する。\n"
2246 "I<aiocb_list> が指すリストの各要素は、NULL (これは無視される) か、\n"
2247 "B<aio_read>(3), B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された\n"
2248 "制御ブロックへのポインタでなければならない。\n"
2249 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2252 #: build/C/man3/aio_suspend.3:80
2254 "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
2255 "timeout interval (see B<clock_gettime>(3))."
2257 "B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウト"
2259 "間隔が計測される (B<clock_gettime>(3) を参照)。"
2262 #: build/C/man3/aio_suspend.3:88
2264 "If this function returns after completion of one of the I/O requests "
2265 "specified in I<aiocb_list>, 0 is returned. Otherwise, -1 is returned, and "
2266 "I<errno> is set to indicate the error."
2268 "I<aiocb_list> で指定された I/O リクエストの 1 つが完了した後に\n"
2269 "この関数が返った場合は、0 が返される。\n"
2270 "それ以外の場合は、 -1 が返り、 I<errno> にエラーを示す値に設定される。"
2273 #: build/C/man3/aio_suspend.3:93
2275 "The call timed out before any of the indicated operations had completed."
2276 msgstr "指示された操作のどれも完了しないうちに、呼び出しがタイムアウトした。"
2279 #: build/C/man3/aio_suspend.3:93 build/C/man2/io_getevents.2:49
2280 #: build/C/man3/lio_listio.3:169
2286 #: build/C/man3/aio_suspend.3:99
2288 "The call was ended by signal (possibly the completion signal of one of the "
2289 "operations we were waiting for); see B<signal>(7)."
2291 "この呼び出しがシグナルによって終了させられた (このシグナルは、完了を待ってい"
2293 "操作のいずれかの完了シグナルの可能性もある)。B<signal>(7) 参照。"
2296 #: build/C/man3/aio_suspend.3:103
2297 msgid "B<aio_suspend>() is not implemented."
2298 msgstr "B<aio_suspend>() は実装されていない。"
2301 #: build/C/man3/aio_suspend.3:107
2302 msgid "The B<aio_suspend>() function is available since glibc 2.1."
2303 msgstr "The B<aio_suspend>() 関数は glibc 2.1 以降で利用できる。"
2306 #: build/C/man3/aio_suspend.3:113
2308 "One can achieve polling by using a non-NULL I<timeout> that specifies a zero "
2311 "時間間隔が 0 であることを指定する NULL ではない I<timeout> を使って、ポーリン"
2315 #: build/C/man3/aio_suspend.3:119
2317 "If one or more of the asynchronous I/O operations specified in I<aiocb_list> "
2318 "has already completed at the time of the call to B<aio_suspend>(), then the "
2319 "call returns immediately."
2321 "I<aiocb_list> リストで指定した非同期 I/O 操作のうち、\n"
2322 "B<aio_suspend>() を呼び出した時点ですでに完了したものがある場合、\n"
2323 "B<aio_suspend>() はすぐに返る。"
2326 #: build/C/man3/aio_suspend.3:129
2328 "To determine which I/O operations have completed after a successful return "
2329 "from B<aio_suspend>(), use B<aio_error>(3) to scan the list of I<aiocb> "
2330 "structures pointed to by I<aiocb_list>."
2332 "B<aio_suspend>() が成功で返った後でどの I/O 操作が完了したかを特定するに"
2334 "B<aio_error>(3) を使って I<aiocb_list> が指す I<aiocb> 構造体のリストを\n"
2338 #: build/C/man3/aio_suspend.3:139
2340 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2341 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2343 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2344 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2347 #: build/C/man3/aio_write.3:24
2353 #: build/C/man3/aio_write.3:27
2354 msgid "aio_write - asynchronous write"
2355 msgstr "aio_write - 非同期で書き込む"
2358 #: build/C/man3/aio_write.3:31
2359 msgid "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2360 msgstr "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2363 #: build/C/man3/aio_write.3:41
2365 "The B<aio_write>() function queues the I/O request described by the buffer "
2366 "pointed to by I<aiocbp>. This function is the asynchronous analog of "
2367 "B<write>(2). The arguments of the call"
2369 "B<aio_write>() 関数は、I<aiocbp> が指すバッファに記載された I/O リクエストを"
2370 "キューに入れる。この関数は B<write>(2) の非同期版である。\n"
2374 #: build/C/man3/aio_write.3:43
2376 msgid " write(fd, buf, count)\n"
2377 msgstr " write(fd, buf, count)\n"
2380 #: build/C/man3/aio_write.3:69
2382 "If B<O_APPEND> is not set, the data is written starting at the absolute file "
2383 "offset I<aiocbp-E<gt>aio_offset>, regardless of the current file offset. If "
2384 "B<O_APPEND> is set, data is written at the end of the file in the same order "
2385 "as B<aio_write>() calls are made. After the call, the value of the current "
2386 "file offset is unspecified."
2388 "B<O_APPEND> が設定されない場合、カレントのファイルオフセットに関係なく、 \n"
2389 "データは絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込"
2391 "B<O_APPEND> が設定されている場合、データはファイルの末尾に、\n"
2392 "B<aio_write>() の呼び出しが行われたのと同じ順序で書き込まれる。\n"
2393 "この呼び出しの後のカレントのファイルオフセットは規定されていない。"
2396 #: build/C/man3/aio_write.3:82
2398 "The \"asynchronous\" means that this call returns as soon as the request has "
2399 "been enqueued; the write may or may not have completed when the call "
2400 "returns. One tests for completion using B<aio_error>(3). The return status "
2401 "of a completed I/O operation can be obtained B<aio_return>(3). Asynchronous "
2402 "notification of I/O completion can be obtained by setting I<aiocbp-"
2403 "E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
2405 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
2407 "ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れない"
2409 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
2411 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
2412 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
2413 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
2416 #: build/C/man3/aio_write.3:95
2417 msgid "No data is written to a regular file beyond its maximum offset."
2418 msgstr "最大オフセットを超えた通常のファイルには、何もデータが書き込まれない。"
2421 #: build/C/man3/aio_write.3:118
2427 #: build/C/man3/aio_write.3:122
2429 "The file is a regular file, we want to write at least one byte, but the "
2430 "starting position is at or beyond the maximum offset for this file."
2432 "ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。 "
2433 "しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。"
2436 #: build/C/man3/aio_write.3:129
2438 "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
2440 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2443 #: build/C/man3/aio_write.3:133
2444 msgid "B<aio_write>() is not implemented."
2445 msgstr "B<aio_write>() は実装されていない。"
2448 #: build/C/man3/aio_write.3:137
2449 msgid "The B<aio_write>() function is available since glibc 2.1."
2450 msgstr "The B<aio_write>() 関数は glibc 2.1 以降で利用できる。"
2452 #. or the control block of the operation
2454 #: build/C/man3/aio_write.3:147
2456 "It is a good idea to zero out the control block before use. The control "
2457 "block must not be changed while the write operation is in progress. The "
2458 "buffer area being written out must not be accessed during the operation or "
2459 "undefined results may occur. The memory areas involved must remain valid."
2461 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2462 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
2463 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
2464 "これに含まれるメモリ領域は、有効なままにしなければならない。"
2467 #: build/C/man3/aio_write.3:160
2469 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2470 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2472 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2473 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2476 #: build/C/man2/io_cancel.2:7
2482 #: build/C/man2/io_cancel.2:7
2488 #: build/C/man2/io_cancel.2:10
2489 msgid "io_cancel - cancel an outstanding asynchronous I/O operation"
2490 msgstr "io_cancel - 未処理の非同期 I/O 操作の取り消し"
2493 #: build/C/man2/io_cancel.2:13 build/C/man2/io_destroy.2:13
2494 #: build/C/man2/io_setup.2:13 build/C/man2/io_submit.2:13
2496 msgid "B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
2497 msgstr "B<#include E<lt>linux/aio_abi.hE<gt>> /* 必要な型の定義 */\n"
2500 #: build/C/man2/io_cancel.2:16
2503 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2504 "B< struct io_event *>I<result>B<);>\n"
2506 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2507 "B< struct io_event *>I<result>B<);>\n"
2510 #: build/C/man2/io_cancel.2:20 build/C/man2/io_destroy.2:19
2511 #: build/C/man2/io_getevents.2:22 build/C/man2/io_setup.2:19
2512 #: build/C/man2/io_submit.2:20
2513 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
2515 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
2519 #: build/C/man2/io_cancel.2:37
2521 "The B<io_cancel>() system call attempts to cancel an asynchronous I/O "
2522 "operation previously submitted with B<io_submit>(2). The I<iocb> argument "
2523 "describes the operation to be canceled and the I<ctx_id> argument is the AIO "
2524 "context to which the operation was submitted. If the operation is "
2525 "successfully canceled, the event will be copied into the memory pointed to "
2526 "by I<result> without being placed into the completion queue."
2528 "B<io_cancel>() システムコールは、過去に B<io_submit>(2) を使って登録された非"
2529 "同期 I/O (AIO) 操作の取り消しを行おうとする。 I<iocb> 引き数は取り消したい操"
2530 "作が示し、 I<ctx_id> 引き数は、取り消しを行う操作が登録された AIO コンテキス"
2531 "トである。操作の取り消しに成功すると、対象のイベントは I<result> で指されたメ"
2532 "モリに コピーされる (このとき、完了キューへの移動は行われない)。"
2535 #: build/C/man2/io_cancel.2:42
2537 "On success, B<io_cancel>() returns 0. For the failure return, see NOTES."
2539 "成功した場合、 B<io_cancel>() は 0 を返す。 失敗時の返り値については、「注"
2543 #: build/C/man2/io_cancel.2:46
2544 msgid "The I<iocb> specified was not canceled."
2545 msgstr "指定された I<iocb> の取り消しが行われなかった。"
2548 #: build/C/man2/io_cancel.2:46 build/C/man2/io_destroy.2:35
2549 #: build/C/man2/io_getevents.2:41 build/C/man2/io_setup.2:43
2550 #: build/C/man2/io_submit.2:44
2556 #: build/C/man2/io_cancel.2:49 build/C/man2/io_submit.2:47
2557 msgid "One of the data structures points to invalid data."
2558 msgstr "データ構造の中に無効なデータを指しているものがある。"
2561 #: build/C/man2/io_cancel.2:52 build/C/man2/io_destroy.2:41
2562 msgid "The AIO context specified by I<ctx_id> is invalid."
2563 msgstr "I<ctx_id> で指定された AIO コンテキストが無効である。"
2566 #: build/C/man2/io_cancel.2:56
2567 msgid "B<io_cancel>() is not implemented on this architecture."
2568 msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
2571 #: build/C/man2/io_cancel.2:59 build/C/man2/io_destroy.2:48
2572 #: build/C/man2/io_getevents.2:60 build/C/man2/io_setup.2:61
2573 #: build/C/man2/io_submit.2:63
2574 msgid "The asynchronous I/O system calls first appeared in Linux 2.5."
2575 msgstr "非同期 I/O システム・コールは Linux 2.5 で初めて登場した。"
2578 #: build/C/man2/io_cancel.2:64
2580 "B<io_cancel>() is Linux-specific and should not be used in programs that "
2581 "are intended to be portable."
2583 "B<io_cancel>() は Linux 固有であり、移植を想定したプログラムで使用すべきでは"
2586 #. http://git.fedorahosted.org/git/?p=libaio.git
2588 #: build/C/man2/io_cancel.2:73
2590 "Glibc does not provide a wrapper function for this system call. You could "
2591 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2592 "B<io_cancel>() wrapper function provided by I<libaio>."
2594 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2595 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2596 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2597 " I<libaio> が提供している B<io_cancel> ラッパー関数を呼び出したい\n"
2600 #. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2603 #: build/C/man2/io_cancel.2:94 build/C/man2/io_destroy.2:83
2604 #: build/C/man2/io_getevents.2:95 build/C/man2/io_submit.2:98
2606 "Note that the I<libaio> wrapper function uses a different type "
2607 "(I<io_context_t>) for the I<ctx_id> argument. Note also that the I<libaio> "
2608 "wrapper does not follow the usual C library conventions for indicating "
2609 "errors: on error it returns a negated error number (the negative of one of "
2610 "the values listed in ERRORS). If the system call is invoked via B<syscall>"
2611 "(2), then the return value follows the usual conventions for indicating an "
2612 "error: -1, with I<errno> set to a (positive) value that indicates the error."
2614 "I<libaio> のラッパー関数では I<ctx_id> 引き数に別の型\n"
2615 "(I<io_context_t>) が使われることに注意すること。\n"
2616 "また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
2617 "慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
2618 "挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
2619 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通\n"
2620 "知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno>\n"
2621 "にエラーを示す (正の) 値が設定される。"
2626 #: build/C/man2/io_cancel.2:102
2628 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2631 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2635 #: build/C/man2/io_destroy.2:7
2641 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
2647 #: build/C/man2/io_destroy.2:10
2648 msgid "io_destroy - destroy an asynchronous I/O context"
2649 msgstr "io_destroy - 非同期 I/O コンテキストの消去"
2652 #: build/C/man2/io_destroy.2:15
2654 msgid "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
2655 msgstr "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
2658 #: build/C/man2/io_destroy.2:29
2660 "The B<io_destroy>() system call will attempt to cancel all outstanding "
2661 "asynchronous I/O operations against I<ctx_id>, will block on the completion "
2662 "of all operations that could not be canceled, and will destroy the I<ctx_id>."
2664 "B<io_destroy>() システムコールは、実行中の I<ctx_id> で指定された非同期 I/O "
2665 "操作をすべて取り消そうとし、取り消せなかったすべての操作が完了するまで停止 "
2666 "(block) し、その後 I<ctx_id> の削除を行う。"
2669 #: build/C/man2/io_destroy.2:34
2671 "On success, B<io_destroy>() returns 0. For the failure return, see NOTES."
2673 "成功した場合、 B<io_destroy>() は 0 を返す。 失敗時の返り値については、「注"
2677 #: build/C/man2/io_destroy.2:38
2678 msgid "The context pointed to is invalid."
2679 msgstr "データ構造の中に無効なデータを指しているものがある。"
2682 #: build/C/man2/io_destroy.2:45
2683 msgid "B<io_destroy>() is not implemented on this architecture."
2684 msgstr "B<io_destroy>() はこのアーキテクチャでは実装されていない。"
2687 #: build/C/man2/io_destroy.2:53
2689 "B<io_destroy>() is Linux-specific and should not be used in programs that "
2690 "are intended to be portable."
2692 "B<io_destroy>() は Linux 固有であり、移植を想定したプログラムで使用すべきで"
2695 #. http://git.fedorahosted.org/git/?p=libaio.git
2697 #: build/C/man2/io_destroy.2:62
2699 "Glibc does not provide a wrapper function for this system call. You could "
2700 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2701 "B<io_destroy>() wrapper function provided by I<libaio>."
2703 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2704 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2705 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2706 " I<libaio> が提供している B<io_destroy> ラッパー関数を呼び出したい\n"
2712 #: build/C/man2/io_destroy.2:91
2714 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2717 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2721 #: build/C/man2/io_getevents.2:7
2723 msgid "IO_GETEVENTS"
2724 msgstr "IO_GETEVENTS"
2727 #: build/C/man2/io_getevents.2:10
2728 msgid "io_getevents - read asynchronous I/O events from the completion queue"
2729 msgstr "io_getevents - 完了キューから非同期 I/O イベントを読み出す"
2732 #: build/C/man2/io_getevents.2:14
2735 "B<#include E<lt>linux/aio_abi.hE<gt>> /* Defines needed types */\n"
2736 "B<#include E<lt>linux/time.hE<gt>> /* Defines 'struct timespec' */\n"
2738 "B<#include E<lt>linux/aio_abi.hE<gt>> /* 必要な型の定義 */\n"
2739 "B<#include E<lt>linux/time.hE<gt>> /* 'struct timespec' の定義 */\n"
2742 #: build/C/man2/io_getevents.2:18
2745 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2746 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2748 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2749 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2752 #: build/C/man2/io_getevents.2:34
2754 "The B<io_getevents>() system call attempts to read at least I<min_nr> "
2755 "events and up to I<nr> events from the completion queue of the AIO context "
2756 "specified by I<ctx_id>. The I<timeout> argument specifies the amount of "
2757 "time to wait for events, where a NULL timeout waits until at least I<min_nr> "
2758 "events have been seen. Note that I<timeout> is relative."
2760 "B<io_getevents>() システムコールは、少なくとも I<min_nr> の、最大\n"
2761 "I<nr> 個のイベントを、 I<ctx_id> 引き数で指定された AIO (非同期 I/O) \n"
2762 "コンテキストの 完了キューから読み出そうとする。 I<timeout> はイベント\n"
2763 "読み出しの待ち時間の合計を指定する。 タイムアウトに NULL を指定した場合、\n"
2764 "少なくとも I<min_nr> 個のイベントが 読み出されるまで待つことを意味する。\n"
2765 "注意点を以下にあげる: I<timeout> は相対的な指定である。"
2768 #: build/C/man2/io_getevents.2:40
2770 "On success, B<io_getevents>() returns the number of events read: 0 if no "
2771 "events are available, or less than I<min_nr> if the I<timeout> has elapsed. "
2772 "For the failure return, see NOTES."
2774 "成功すると、 B<io_getevents>() は読み出したイベント数を返す。 イベントが一つ"
2775 "も読み出されなかった場合は 0 が返され、 I<timeout> 時間が経過した場合は "
2776 "I<min_nr> 未満の値が返される。 失敗時の返り値については、「注意」の節を参照す"
2780 #: build/C/man2/io_getevents.2:44
2781 msgid "Either I<events> or I<timeout> is an invalid pointer."
2782 msgstr "I<events> または I<timeout> が無効なポインタである。"
2785 #: build/C/man2/io_getevents.2:49
2787 "I<ctx_id> is invalid. I<min_nr> is out of range or I<nr> is out of range."
2789 "I<ctx_id> が無効である。もしくは、I<min_nr> または I<nr> が 範囲外の値であ"
2793 #: build/C/man2/io_getevents.2:53
2794 msgid "Interrupted by a signal handler; see B<signal>(7)."
2795 msgstr "シグナルハンドラにより割り込まれた。 B<signal>(7) 参照。"
2798 #: build/C/man2/io_getevents.2:57
2799 msgid "B<io_getevents>() is not implemented on this architecture."
2800 msgstr "B<io_getevents>() がこのアーキテクチャでは実装されていない。"
2803 #: build/C/man2/io_getevents.2:65
2805 "B<io_getevents>() is Linux-specific and should not be used in programs that "
2806 "are intended to be portable."
2808 "B<io_getevents>() は Linux 固有であり、移植を想定したプログラムで 使用すべき"
2811 #. http://git.fedorahosted.org/git/?p=libaio.git
2813 #: build/C/man2/io_getevents.2:74
2815 "Glibc does not provide a wrapper function for this system call. You could "
2816 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2817 "B<io_getevents>() wrapper function provided by I<libaio>."
2819 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2820 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2821 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2822 " I<libaio> が提供している B<io_getevents> ラッパー関数を呼び出したい\n"
2826 #: build/C/man2/io_getevents.2:95
2832 #: build/C/man2/io_getevents.2:100
2834 "An invalid I<ctx_id> may cause a segmentation fault instead of generating "
2835 "the error B<EINVAL>."
2837 "無効な I<ctx_id> を指定した場合、エラー B<EINVAL> が生成されず、セグメンテー"
2838 "ション違反 (segmentation fault) が発生する場合がある。"
2843 #: build/C/man2/io_getevents.2:110
2845 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2848 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2852 #: build/C/man2/io_setup.2:7
2858 #: build/C/man2/io_setup.2:7
2864 #: build/C/man2/io_setup.2:10
2865 msgid "io_setup - create an asynchronous I/O context"
2866 msgstr "io_setup - 非同期 I/O コンテキストを作成する"
2869 #: build/C/man2/io_setup.2:15
2871 msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
2872 msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
2875 #: build/C/man2/io_setup.2:32
2877 "The B<io_setup>() system call creates an asynchronous I/O context suitable "
2878 "for concurrently processing I<nr_events> operations. The I<ctx_idp> "
2879 "argument must not point to an AIO context that already exists, and must be "
2880 "initialized to 0 prior to the call. On successful creation of the AIO "
2881 "context, I<*ctx_idp> is filled in with the resulting handle."
2883 "B<io_setup>() システムコールは、 I<nr_events> 個のイベントを\n"
2884 "同時に実行に適した非同期 I/O (AIO) コンテキストの作成を行う。 I<ctx_idp> 引き"
2886 "は、すでに存在する AIO コンテキストを指していてはならず、\n"
2887 "B<io_setup>() の呼び出しの前に 0 に初期化されていなければならない。\n"
2888 "AIO コンテキストの作成に成功すると、 I<*ctx_idp> に作成された AIO \n"
2889 "コンテキストへのポインタがセットされる。"
2892 #: build/C/man2/io_setup.2:37
2894 "On success, B<io_setup>() returns 0. For the failure return, see NOTES."
2896 "成功した場合、 B<io_setup>() は 0 を返す。 失敗時の返り値については、「注"
2900 #: build/C/man2/io_setup.2:43
2902 "The specified I<nr_events> exceeds the user's limit of available events, as "
2903 "defined in I</proc/sys/fs/aio-max-nr>."
2905 "指定された I<nr_events> がユーザが使用できるイベント数の上限を越えている。イ"
2906 "ベント数の上限は I</proc/sys/fs/aio-max-nr> で定義されている。"
2909 #: build/C/man2/io_setup.2:46
2910 msgid "An invalid pointer is passed for I<ctx_idp>."
2911 msgstr "I<ctx_idp> に無効なポインタが指定されている。"
2914 #: build/C/man2/io_setup.2:51
2916 "I<ctx_idp> is not initialized, or the specified I<nr_events> exceeds "
2917 "internal limits. I<nr_events> should be greater than 0."
2919 "I<ctx_idp> が初期化されていないか、指定された I<nr_events> が内部の\n"
2920 "制限値を越えている。また、 I<nr_events> は 0 より大きい値に設定\n"
2924 #: build/C/man2/io_setup.2:51
2930 #: build/C/man2/io_setup.2:54
2931 msgid "Insufficient kernel resources are available."
2932 msgstr "必要なカーネル・リソースを得られない。"
2935 #: build/C/man2/io_setup.2:58
2936 msgid "B<io_setup>() is not implemented on this architecture."
2937 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2940 #: build/C/man2/io_setup.2:66
2942 "B<io_setup>() is Linux-specific and should not be used in programs that are "
2943 "intended to be portable."
2945 "B<io_setup>() は Linux 固有であり、移植を想定したプログラムで 使用すべきでは"
2948 #. http://git.fedorahosted.org/git/?p=libaio.git
2950 #: build/C/man2/io_setup.2:75
2952 "Glibc does not provide a wrapper function for this system call. You could "
2953 "invoke it using B<syscall>(2). But instead, you probably want to use the "
2954 "B<io_setup>() wrapper function provided by I<libaio>."
2956 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2957 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2958 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2959 " I<libaio> が提供している B<io_setup> ラッパー関数を呼び出したい\n"
2962 #. But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2965 #: build/C/man2/io_setup.2:96
2967 "Note that the I<libaio> wrapper function uses a different type "
2968 "(I<io_context_t\\ *>) for the I<ctx_idp> argument. Note also that the "
2969 "I<libaio> wrapper does not follow the usual C library conventions for "
2970 "indicating errors: on error it returns a negated error number (the negative "
2971 "of one of the values listed in ERRORS). If the system call is invoked via "
2972 "B<syscall>(2), then the return value follows the usual conventions for "
2973 "indicating an error: -1, with I<errno> set to a (positive) value that "
2974 "indicates the error."
2976 "I<libaio> のラッパー関数では I<ctx_idp> 引き数に別の型\n"
2977 "(I<io_context_t\\ *>) が使われることに注意すること。\n"
2978 "また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
2979 "慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
2980 "挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
2981 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー\n"
2982 "通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 \n"
2983 "I<errno> にエラーを示す (正の) 値が設定される。"
2988 #: build/C/man2/io_setup.2:104
2990 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2993 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2997 #: build/C/man2/io_submit.2:7
3003 #: build/C/man2/io_submit.2:7
3009 #: build/C/man2/io_submit.2:10
3010 msgid "io_submit - submit asynchronous I/O blocks for processing"
3011 msgstr "io_submit - 非同期 I/O ブロックを処理待ちキューに登録する"
3014 #: build/C/man2/io_submit.2:16
3016 msgid "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
3017 msgstr "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
3020 #: build/C/man2/io_submit.2:31
3022 "The B<io_submit>() system call queues I<nr> I/O request blocks for "
3023 "processing in the AIO context I<ctx_id>. The I<iocbpp> argument should be "
3024 "an array of I<nr> AIO control blocks, which will be submitted to context "
3027 "B<io_submit>() システムコールは、AIO コンテキスト I<ctx_id> に I<nr> 個\n"
3028 "の I/O リクエストを処理待ちとしてキューに追加する。 I<iocbpp> 引き数は、\n"
3029 "AIO コンテキスト I<ctx_id> に登録される I<nr> 個の AIO 制御ブロックの\n"
3033 #: build/C/man2/io_submit.2:37
3035 "On success, B<io_submit>() returns the number of I<iocb>s submitted (which "
3036 "may be 0 if I<nr> is zero). For the failure return, see NOTES."
3038 "成功すると、 B<io_submit>() は登録した I<iocb> の個数を返す (I<nr> が 0 の場"
3039 "合は 0 を返す)。 失敗時の返り値については、「注意」の節を参照すること。"
3042 #: build/C/man2/io_submit.2:41
3043 msgid "Insufficient resources are available to queue any I<iocb>s."
3044 msgstr "何個かの I<iocb> をキューに入れるのに必要なリソースが得られない。"
3047 #: build/C/man2/io_submit.2:44
3048 msgid "The file descriptor specified in the first I<iocb> is invalid."
3049 msgstr "先頭の I<iocb> に指定されたファイル・ディスクリプタが無効である。"
3052 #: build/C/man2/io_submit.2:56
3054 "The AIO context specified by I<ctx_id> is invalid. I<nr> is less than 0. "
3055 "The I<iocb> at I<*iocbpp[0]> is not properly initialized, or the operation "
3056 "specified is invalid for the file descriptor in the I<iocb>."
3058 "I<ctx_id> で指定された AIO コンテキストが無効である。 I<nr> が 0 未満で\n"
3059 "ある。 I<*iocbpp[0]> の I<iocb> が適切に初期化されていないか、\n"
3060 "指定された操作がその I<iocb> 中のファイル・ディスクリプタに対して 無効\n"
3064 #: build/C/man2/io_submit.2:60
3065 msgid "B<io_submit>() is not implemented on this architecture."
3066 msgstr "B<io_submit>() はこのアーキテクチャでは実装されていない。"
3069 #: build/C/man2/io_submit.2:68
3071 "B<io_submit>() is Linux-specific and should not be used in programs that "
3072 "are intended to be portable."
3074 "B<io_submit>() は Linux 固有であり、移植を想定したプログラムで 使用すべきで"
3077 #. http://git.fedorahosted.org/git/?p=libaio.git
3079 #: build/C/man2/io_submit.2:77
3081 "Glibc does not provide a wrapper function for this system call. You could "
3082 "invoke it using B<syscall>(2). But instead, you probably want to use the "
3083 "B<io_submit>() wrapper function provided by I<libaio>."
3085 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
3086 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
3087 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
3088 " I<libaio> が提供している B<io_submit> ラッパー関数を呼び出したい\n"
3094 #: build/C/man2/io_submit.2:106
3096 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
3099 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
3103 #: build/C/man3/lio_listio.3:24
3109 #: build/C/man3/lio_listio.3:27
3110 msgid "lio_listio - initiate a list of I/O requests"
3111 msgstr "lio_listio - リストの I/O リクエストを開始する"
3114 #: build/C/man3/lio_listio.3:33
3117 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3118 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3120 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3121 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3124 #: build/C/man3/lio_listio.3:41
3126 "The B<lio_listio>() function initiates the list of I/O operations described "
3127 "by the array I<aiocb_list>."
3129 "B<lio_listio>() 関数は、配列 I<aiocb_list> で指定された I/O 操作の\n"
3133 #: build/C/man3/lio_listio.3:45
3134 msgid "The I<mode> operation has one of the following values:"
3135 msgstr "I<mode> 引き数には以下のいずれかの値を指定する。"
3138 #: build/C/man3/lio_listio.3:45
3141 msgstr "B<LIO_WAIT>"
3144 #: build/C/man3/lio_listio.3:51
3146 "The call blocks until all operations are complete. The I<sevp> argument is "
3149 "全ての操作が完了するまで、呼び出しは停止 (block) する。\n"
3150 "I<sevp> 引き数は無視される。"
3153 #: build/C/man3/lio_listio.3:51
3155 msgid "B<LIO_NOWAIT>"
3156 msgstr "B<LIO_NOWAIT>"
3159 #: build/C/man3/lio_listio.3:63
3161 "The I/O operations are queued for processing and the call returns "
3162 "immediately. When all of the I/O operations complete, asynchronous "
3163 "notification occurs, as specified by the I<sevp> argument; see B<sigevent>"
3164 "(7) for details. If I<sevp> is NULL, no asynchronous notification occurs."
3166 "I/O 操作は処理を行うためのキューに入れられ、呼び出しは直ちに返る。\n"
3167 "全ての I/O 操作が完了すると、 I<sevp> 引き数で指定した非同期通知が\n"
3168 "行われる。詳細は B<sigevent>(7) を参照。I<sevp> が NULL の場合、\n"
3172 #: build/C/man3/lio_listio.3:77
3174 "The I<aiocb_list> argument is an array of pointers to I<aiocb> structures "
3175 "that describe I/O operations. These operations are executed in an "
3176 "unspecified order. The I<nitems> argument specifies the size of the array "
3177 "I<aiocb_list>. null pointers in I<aiocb_list> are ignored."
3179 "I<aiocb_list> 引き数は、I/O 操作を指定する I<aiocb> 構造体へのポインタ\n"
3180 "の配列である。指定された操作の実行順序は規定されていない。\n"
3181 "I<nitems> 引き数は、配列 I<aiocb_list> の大きさを指定する。\n"
3182 "I<aiocb_list> 内の null ポインタは無視される。"
3185 #: build/C/man3/lio_listio.3:83
3187 "In each control block in I<aiocb_list>, the I<aio_lio_opcode> field "
3188 "specifies the I/O operation to be initiated, as follows:"
3190 "I<aiocb_list> の各制御ブロックでは、\n"
3191 "I<aio_lio_opcode> フィールドで開始する I/O 操作を指定する。\n"
3192 "I<aio_lio_opcode> には以下の値が指定できる。"
3195 #: build/C/man3/lio_listio.3:83
3198 msgstr "B<LIO_READ>"
3201 #: build/C/man3/lio_listio.3:89
3203 "Initiate a read operation. The operation is queued as for a call to "
3204 "B<aio_read>(3) specifying this control block."
3206 "読み出し操作を開始する。操作はキューに入れられ、\n"
3207 "この制御ブロックを指定して B<aio_read>(3) の呼び出しが行われる。"
3210 #: build/C/man3/lio_listio.3:89
3212 msgid "B<LIO_WRITE>"
3213 msgstr "B<LIO_WRITE>"
3216 #: build/C/man3/lio_listio.3:95
3218 "Initiate a write operation. The operation is queued as for a call to "
3219 "B<aio_write>(3) specifying this control block."
3221 "書き込み操作を開始する。操作はキューに入れられ、\n"
3222 "この制御ブロックを指定して B<aio_write>(3) の呼び出しが行われる。"
3225 #: build/C/man3/lio_listio.3:95
3231 #: build/C/man3/lio_listio.3:98
3232 msgid "Ignore this control block."
3233 msgstr "この制御ブロックを無視する。"
3236 #: build/C/man3/lio_listio.3:108
3238 "The remaining fields in each control block have the same meanings as for "
3239 "B<aio_read>(3) and B<aio_write>(3). The I<aio_sigevent> fields of each "
3240 "control block can be used to specify notifications for the individual I/O "
3241 "operations (see B<sigevent>(7))."
3243 "各制御ブロックの残りのフィールドは、\n"
3244 "B<aio_read>(3) や B<aio_write>(3) の場合と同じ意味を持つ。\n"
3245 "各制御ブロックの I<aio_sigevent> フィールドは、\n"
3246 "個々の I/O 操作で通知方法を指定するのに使用される\n"
3247 "(B<sigevent>(7) 参照)。"
3250 #: build/C/man3/lio_listio.3:118
3252 "If I<mode> is B<LIO_NOWAIT>, B<lio_listio>() returns 0 if all I/O "
3253 "operations are successfully queued. Otherwise, -1 is returned, and I<errno> "
3254 "is set to indicate the error."
3256 "I<mode> が B<LIO_NOWAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3257 "正常にキューに入れられた場合に 0 を返す。\n"
3258 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3261 #: build/C/man3/lio_listio.3:128
3263 "If I<mode> is B<LIO_WAIT>, B<lio_listio>() returns 0 when all of the I/O "
3264 "operations have completed successfully. Otherwise, -1 is returned, and "
3265 "I<errno> is set to indicate the error."
3267 "I<mode> が B<LIO_WAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3268 "正常に完了した場合に 0 を返す。\n"
3269 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3272 #: build/C/man3/lio_listio.3:146
3274 "The return status from B<lio_listio>() provides information only about the "
3275 "call itself, not about the individual I/O operations. One or more of the I/"
3276 "O operations may fail, but this does not prevent other operations "
3277 "completing. The status of individual I/O operations in I<aiocb_list> can be "
3278 "determined using B<aio_error>(3). When an operation has completed, its "
3279 "return status can be obtained using B<aio_return>(3). Individual I/O "
3280 "operations can fail for the reasons described in B<aio_read>(3) and "
3283 "B<lio_listio>() の返り値から得られる情報は、関数呼び出し自体に関する\n"
3284 "ものだけであり、個々の I/O 操作に関する情報は得られない。\n"
3285 "個々の I/O 操作は失敗することがあるが、これにより他の I/O 操作が完了\n"
3286 "しなくなるといったことはない。 B<aio_error>(3) を使うと、\n"
3287 "I<aiocb_list> の個々の I/O 操作のステータスを知ることができる。\n"
3288 "ある I/O 操作が完了すると、その終了ステータスはB<aio_return>(3) を使う\n"
3289 "ことで取得できる。個々の I/O 操作は B<aio_read>(3) や B<aio_write>(3)\n"
3290 "に書かれている理由で失敗する場合がある。"
3293 #: build/C/man3/lio_listio.3:150
3294 msgid "The B<lio_listio>() function may fail for the following reasons:"
3295 msgstr "B<lio_listio>() 関数は以下の理由で失敗する。"
3297 #. Doesn't happen in glibc(?)
3299 #: build/C/man3/lio_listio.3:161
3301 "The number of I/O operations specified by I<nitems> would cause the limit "
3302 "B<AIO_MAX> to be exceeded."
3304 "I<nitems> で指定された数の I/O 操作を行うと、\n"
3305 "非同期 I/O 操作の数が上限 B<AIO_MAX> を超えてしまう状況であった。"
3307 #. Doesn't happen in glibc(?)
3309 #: build/C/man3/lio_listio.3:169
3310 msgid "I<mode> is invalid, or I<nitems> exceeds the limit B<AIO_LISTIO_MAX>."
3312 "I<mode> が不正であるか、\n"
3313 "I<nitems> が上限 B<AIO_LISTIO_MAX> を超えている。"
3316 #: build/C/man3/lio_listio.3:178
3318 "I<mode> was B<LIO_WAIT> and a signal was caught before all I/O operations "
3319 "completed. (This may even be one of the signals used for asynchronous I/O "
3320 "completion notification.)"
3322 "I<mode> が B<LIO_WAIT> で、全ての I/O 操作が完了する前にシグナルが\n"
3323 "捕捉された (非同期 I/O の完了通知に使用されるシグナルの場合もこれに\n"
3327 #: build/C/man3/lio_listio.3:178
3332 #. e.g., ioa_reqprio or aio_lio_opcode was invalid
3334 #: build/C/man3/lio_listio.3:186
3336 "One of more of the operations specified by I<aiocb_list> failed. The "
3337 "application can check the status of each operation using B<aio_return>(3)."
3339 "I<aiocb_list> で指定された操作の中に失敗したものがあった。\n"
3340 "アプリケーションは、 B<aio_return>(3) を使用して、\n"
3341 "個々の操作のステータスを確認することができる。"
3344 #: build/C/man3/lio_listio.3:201
3346 "If B<lio_listio>() fails with the error B<EAGAIN>, B<EINTR>, or B<EIO>, "
3347 "then some of the operations in I<aiocb_list> may have been initiated. If "
3348 "B<lio_listio>() fails for any other reason, then none of the I/O operations "
3349 "has been initiated."
3351 "B<lio_listio> がエラー B<EAGAIN>, B<EINTR>, B<EIO> で失敗した場合、\n"
3352 "I<aiocb_list> で指定した操作のいくつかは開始されていることがある。\n"
3353 "B<lio_listio> が他の理由で失敗した場合には、\n"
3354 "どの I/O 操作も開始されていない。"
3357 #: build/C/man3/lio_listio.3:205
3358 msgid "The B<lio_listio>() function is available since glibc 2.1."
3359 msgstr "The B<lio_listio>() 関数は glibc 2.1 以降で利用できる。"
3361 #. or the control block of the operation
3363 #: build/C/man3/lio_listio.3:215
3365 "It is a good idea to zero out the control blocks before use. The control "
3366 "blocks must not be changed while the I/O operations are in progress. The "
3367 "buffer areas being read into or written from must not be accessed during the "
3368 "operations or undefined results may occur. The memory areas involved must "
3371 "使用前に制御ブロックを 0 で埋めるのは良い考えである。\n"
3372 "I/O 操作の実行中は制御ブロックを変更してはならない。データの読み書き先\n"
3373 "のバッファ領域に I/O 操作の実行中にアクセスしてはならない。さもないと、\n"
3374 "どのような結果になるか分からない。また、関係するメモリ領域も有効な状態\n"
3378 #: build/C/man3/lio_listio.3:227
3380 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3381 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3383 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3384 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3386 #~ msgid "2012-08-05"
3387 #~ msgstr "2012-08-05"