OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / aio / po / ja.po
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.
4 #
5 # Translators:
6 msgid ""
7 msgstr ""
8 "Project-Id-Version: man-pages-ja\n"
9 "POT-Creation-Date: 2015-02-04 23:30+0900\n"
10 "PO-Revision-Date: 2015-01-25 07:10+0900\n"
11 "Last-Translator: Akihiro MOTOKI <amotoki@gmail.com>\n"
12 "Language-Team: Japanese (http://www.transifex.net/projects/p/man-pages-ja/"
13 "language/ja/)\n"
14 "Language: ja\n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18 "Plural-Forms: nplurals=1; plural=0\n"
19
20 #. type: TH
21 #: build/C/man7/aio.7:26
22 #, no-wrap
23 msgid "AIO"
24 msgstr "AIO"
25
26 #. type: TH
27 #: build/C/man7/aio.7:26
28 #, no-wrap
29 msgid "2014-04-06"
30 msgstr "2014-04-06"
31
32 #. type: TH
33 #: build/C/man7/aio.7:26 build/C/man3/aio_init.3:26 build/C/man2/io_cancel.2:7
34 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
35 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
36 #, no-wrap
37 msgid "Linux"
38 msgstr "Linux"
39
40 #. type: TH
41 #: build/C/man7/aio.7:26 build/C/man3/aio_cancel.3:24
42 #: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
43 #: build/C/man3/aio_init.3:26 build/C/man3/aio_read.3:24
44 #: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
45 #: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:7
46 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
47 #: build/C/man2/io_setup.2:7 build/C/man2/io_submit.2:7
48 #: build/C/man3/lio_listio.3:24
49 #, no-wrap
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
52
53 #. type: SH
54 #: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:25
55 #: build/C/man3/aio_error.3:25 build/C/man3/aio_fsync.3:25
56 #: build/C/man3/aio_init.3:27 build/C/man3/aio_read.3:25
57 #: build/C/man3/aio_return.3:25 build/C/man3/aio_suspend.3:26
58 #: build/C/man3/aio_write.3:25 build/C/man2/io_cancel.2:8
59 #: build/C/man2/io_destroy.2:8 build/C/man2/io_getevents.2:8
60 #: build/C/man2/io_setup.2:8 build/C/man2/io_submit.2:8
61 #: build/C/man3/lio_listio.3:25
62 #, no-wrap
63 msgid "NAME"
64 msgstr "名前"
65
66 #. type: Plain text
67 #: build/C/man7/aio.7:29
68 msgid "aio - POSIX asynchronous I/O overview"
69 msgstr "aio - POSIX 非同期 I/O の概要"
70
71 #. type: SH
72 #: build/C/man7/aio.7:29 build/C/man3/aio_cancel.3:33
73 #: build/C/man3/aio_error.3:33 build/C/man3/aio_fsync.3:33
74 #: build/C/man3/aio_init.3:38 build/C/man3/aio_read.3:33
75 #: build/C/man3/aio_return.3:33 build/C/man3/aio_suspend.3:39
76 #: build/C/man3/aio_write.3:33 build/C/man2/io_cancel.2:20
77 #: build/C/man2/io_destroy.2:19 build/C/man2/io_getevents.2:22
78 #: build/C/man2/io_setup.2:19 build/C/man2/io_submit.2:20
79 #: build/C/man3/lio_listio.3:36
80 #, no-wrap
81 msgid "DESCRIPTION"
82 msgstr "説明"
83
84 #. type: Plain text
85 #: build/C/man7/aio.7:37
86 msgid ""
87 "The POSIX asynchronous I/O (AIO) interface allows applications to initiate "
88 "one or more I/O operations that are performed asynchronously (i.e., in the "
89 "background).  The application can elect to be notified of completion of the "
90 "I/O operation in a variety of ways: by delivery of a signal, by "
91 "instantiation of a thread, or no notification at all."
92 msgstr ""
93 "POSIX 非同期 (AIO) インターフェースを使うと、アプリケーションは、非同期\n"
94 "に (つまり、バックグラウンドで) 実行されるI/O 操作を一つ以上発行できる\n"
95 "ようになる。アプリケーションは I/O 操作の完了の通知方法を選択することが\n"
96 "できる。選択できる通知方法は、シグナルの配送、スレッドの起動、通知を行\n"
97 "わないである。"
98
99 #. type: Plain text
100 #: build/C/man7/aio.7:39
101 msgid "The POSIX AIO interface consists of the following functions:"
102 msgstr "POSIX AIO インターフェースは以下の関数で構成されている。"
103
104 #. type: TP
105 #: build/C/man7/aio.7:39
106 #, no-wrap
107 msgid "B<aio_read>(3)"
108 msgstr "B<aio_read>(3)"
109
110 #. type: Plain text
111 #: build/C/man7/aio.7:44
112 msgid "Enqueue a read request.  This is the asynchronous analog of B<read>(2)."
113 msgstr ""
114 "読み出しリクエストをキューに入れる。\n"
115 "B<read>(2) の非同期版である。"
116
117 #. type: TP
118 #: build/C/man7/aio.7:44
119 #, no-wrap
120 msgid "B<aio_write>(3)"
121 msgstr "B<aio_write>(3)"
122
123 #. type: Plain text
124 #: build/C/man7/aio.7:49
125 msgid ""
126 "Enqueue a write request.  This is the asynchronous analog of B<write>(2)."
127 msgstr ""
128 "書き込みリクエストをキューに入れる。\n"
129 "B<write>(2) の非同期版である。"
130
131 #. type: TP
132 #: build/C/man7/aio.7:49
133 #, no-wrap
134 msgid "B<aio_fsync>(3)"
135 msgstr "B<aio_fsync>(3)"
136
137 #. type: Plain text
138 #: build/C/man7/aio.7:56
139 msgid ""
140 "Enqueue a sync request for the I/O operations on a file descriptor.  This is "
141 "the asynchronous analog of B<fsync>(2)  and B<fdatasync>(2)."
142 msgstr ""
143 "ファイルディスクリプターに対して行われた I/O 操作の\n"
144 "同期 (sync) リクエストをキューに入れる。\n"
145 "B<fsync>(2) や B<fdatasync>(2) の非同期版である。"
146
147 #. type: TP
148 #: build/C/man7/aio.7:56
149 #, no-wrap
150 msgid "B<aio_error>(3)"
151 msgstr "B<aio_error>(3)"
152
153 #. type: Plain text
154 #: build/C/man7/aio.7:59
155 msgid "Obtain the error status of an enqueued I/O request."
156 msgstr "キューに入れられた I/O リクエストのエラー状態を取得する。"
157
158 #. type: TP
159 #: build/C/man7/aio.7:59
160 #, no-wrap
161 msgid "B<aio_return>(3)"
162 msgstr "B<aio_return>(3)"
163
164 #. type: Plain text
165 #: build/C/man7/aio.7:62
166 msgid "Obtain the return status of a completed I/O request."
167 msgstr "完了した I/O リクエストの終了ステータスを取得する。"
168
169 #. type: TP
170 #: build/C/man7/aio.7:62
171 #, no-wrap
172 msgid "B<aio_suspend>(3)"
173 msgstr "B<aio_suspend>(3)"
174
175 #. type: Plain text
176 #: build/C/man7/aio.7:66
177 msgid ""
178 "Suspend the caller until one or more of a specified set of I/O requests "
179 "completes."
180 msgstr ""
181 "指定された I/O リクエストの集合 (要素は一つ以上) が完了するまで、\n"
182 "呼び出し側の実行を停止 (suspend) する。"
183
184 #. type: TP
185 #: build/C/man7/aio.7:66
186 #, no-wrap
187 msgid "B<aio_cancel>(3)"
188 msgstr "B<aio_cancel>(3)"
189
190 #. type: Plain text
191 #: build/C/man7/aio.7:70
192 msgid ""
193 "Attempt to cancel outstanding I/O requests on a specified file descriptor."
194 msgstr ""
195 "指定されたファイルディスクリプターに関する\n"
196 "完了していない I/O リクエストのキャンセルを試みる。"
197
198 #. type: TP
199 #: build/C/man7/aio.7:70
200 #, no-wrap
201 msgid "B<lio_listio>(3)"
202 msgstr "B<lio_listio>(3)"
203
204 #. type: Plain text
205 #: build/C/man7/aio.7:73
206 msgid "Enqueue multiple I/O requests using a single function call."
207 msgstr "一回の関数呼び出しで複数の I/O リクエストをキューに入れる。"
208
209 #. type: Plain text
210 #: build/C/man7/aio.7:80
211 msgid ""
212 "The I<aiocb> (\"asynchronous I/O control block\") structure defines "
213 "parameters that control an I/O operation.  An argument of this type is "
214 "employed with all of the functions listed above.  This structure has the "
215 "following form:"
216 msgstr ""
217 "I<aiocb> (\"非同期 I/O 制御ブロック (asynchronous I/O control block)\")\n"
218 "構造体は、I/O 操作を制御するパラメーターを定義する。この型の引き数は上記\n"
219 "の全ての関数で使用されている。この構造体は以下の通りである。"
220
221 #. type: Plain text
222 #: build/C/man7/aio.7:84
223 #, no-wrap
224 msgid "#include E<lt>aiocb.hE<gt>\n"
225 msgstr "#include E<lt>aiocb.hE<gt>\n"
226
227 #. type: Plain text
228 #: build/C/man7/aio.7:87
229 #, no-wrap
230 msgid ""
231 "struct aiocb {\n"
232 "    /* The order of these fields is implementation-dependent */\n"
233 msgstr ""
234 "struct aiocb {\n"
235 "    /* The order of these fields is implementation-dependent */\n"
236
237 #. type: Plain text
238 #: build/C/man7/aio.7:96
239 #, no-wrap
240 msgid ""
241 "    int             aio_fildes;     /* File descriptor */\n"
242 "    off_t           aio_offset;     /* File offset */\n"
243 "    volatile void  *aio_buf;        /* Location of buffer */\n"
244 "    size_t          aio_nbytes;     /* Length of transfer */\n"
245 "    int             aio_reqprio;    /* Request priority */\n"
246 "    struct sigevent aio_sigevent;   /* Notification method */\n"
247 "    int             aio_lio_opcode; /* Operation to be performed;\n"
248 "                                       lio_listio() only */\n"
249 msgstr ""
250 "    int             aio_fildes;     /* File descriptor */\n"
251 "    off_t           aio_offset;     /* File offset */\n"
252 "    volatile void  *aio_buf;        /* Location of buffer */\n"
253 "    size_t          aio_nbytes;     /* Length of transfer */\n"
254 "    int             aio_reqprio;    /* Request priority */\n"
255 "    struct sigevent aio_sigevent;   /* Notification method */\n"
256 "    int             aio_lio_opcode; /* Operation to be performed;\n"
257 "                                       lio_listio() only */\n"
258
259 #. type: Plain text
260 #: build/C/man7/aio.7:99
261 #, no-wrap
262 msgid ""
263 "    /* Various implementation-internal fields not shown */\n"
264 "};\n"
265 msgstr ""
266 "    /* Various implementation-internal fields not shown */\n"
267 "};\n"
268
269 #. type: Plain text
270 #: build/C/man7/aio.7:101
271 #, no-wrap
272 msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
273 msgstr "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
274
275 #. type: Plain text
276 #: build/C/man7/aio.7:103
277 #, no-wrap
278 msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
279 msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
280
281 #. type: Plain text
282 #: build/C/man7/aio.7:107
283 msgid "The fields of this structure are as follows:"
284 msgstr "この構造体のフィールドは以下の通りである。"
285
286 #. type: TP
287 #: build/C/man7/aio.7:107
288 #, no-wrap
289 msgid "I<aio_filedes>"
290 msgstr "I<aio_filedes>"
291
292 #. type: Plain text
293 #: build/C/man7/aio.7:110
294 msgid "The file descriptor on which the I/O operation is to be performed."
295 msgstr "I/O 操作の実行対象となるファイルディスクリプター。"
296
297 #. type: TP
298 #: build/C/man7/aio.7:110
299 #, no-wrap
300 msgid "I<aio_offset>"
301 msgstr "I<aio_offset>"
302
303 #. type: Plain text
304 #: build/C/man7/aio.7:113
305 msgid "This is the file offset at which the I/O operation is to be performed."
306 msgstr "I/O 操作を行うファイルオフセットを示す。"
307
308 #. type: TP
309 #: build/C/man7/aio.7:113
310 #, no-wrap
311 msgid "I<aio_buf>"
312 msgstr "I<aio_buf>"
313
314 #. type: Plain text
315 #: build/C/man7/aio.7:116
316 msgid "This is the buffer used to transfer data for a read or write operation."
317 msgstr "読み出し操作、書き込み操作でデータ転送に使用されるバッファー。"
318
319 #. type: TP
320 #: build/C/man7/aio.7:116
321 #, no-wrap
322 msgid "I<aio_nbytes>"
323 msgstr "I<aio_nbytes>"
324
325 #. type: Plain text
326 #: build/C/man7/aio.7:120
327 msgid "This is the size of the buffer pointed to by I<aio_buf>."
328 msgstr "I<aio_buf> が指すバッファーのサイズ。"
329
330 #. type: TP
331 #: build/C/man7/aio.7:120
332 #, no-wrap
333 msgid "I<aio_reqprio>"
334 msgstr "I<aio_reqprio>"
335
336 #. type: Plain text
337 #: build/C/man7/aio.7:129
338 msgid ""
339 "This field specifies a value that is subtracted from the calling thread's "
340 "real-time priority in order to determine the priority for execution of this "
341 "I/O request (see B<pthread_setschedparam>(3)).  The specified value must be "
342 "between 0 and the value returned by I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>.  "
343 "This field is ignored for file synchronization operations."
344 msgstr ""
345 "このフィールドでは、呼び出したスレッドのリアルタイム優先度から\n"
346 "減算する値を指定する。この I/O リクエストの実行の優先度を\n"
347 "決定するために使用される (B<pthread_setschedparam>(3) 参照)。\n"
348 "指定する値は 0 と I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す値の間で\n"
349 "なければならない。このフィールドは、ファイル同期操作では無視される。"
350
351 #. type: TP
352 #: build/C/man7/aio.7:129
353 #, no-wrap
354 msgid "I<aio_sigevent>"
355 msgstr "I<aio_sigevent>"
356
357 #. type: Plain text
358 #: build/C/man7/aio.7:143
359 msgid ""
360 "This field is a structure that specifies how the caller is to be notified "
361 "when the asynchronous I/O operation completes.  Possible values for "
362 "I<aio_sigevent.sigev_notify> are B<SIGEV_NONE>, B<SIGEV_SIGNAL>, and "
363 "B<SIGEV_THREAD>.  See B<sigevent>(7)  for further details."
364 msgstr ""
365 "このフィールドは、非同期 I/O 操作が完了した際に呼び出し側に\n"
366 "どのように通知を行うかを指定する構造体である。\n"
367 "I<aio_sigevent.sigev_notify> に指定できる値は、\n"
368 "B<SIGEV_NONE>, B<SIGEV_SIGNAL>, B<SIGEV_THREAD> である。\n"
369 "詳細は B<sigevent>(7) を参照。"
370
371 #. type: TP
372 #: build/C/man7/aio.7:143
373 #, no-wrap
374 msgid "I<aio_lio_opcode>"
375 msgstr "I<aio_lio_opcode>"
376
377 #. type: Plain text
378 #: build/C/man7/aio.7:147
379 msgid "The type of operation to be performed; used only for B<lio_listio>(3)."
380 msgstr ""
381 "実行される操作の種別。\n"
382 "B<lio_listio>(3) でのみ使用される。"
383
384 #. type: Plain text
385 #: build/C/man7/aio.7:150
386 msgid ""
387 "In addition to the standard functions listed above, the GNU C library "
388 "provides the following extension to the POSIX AIO API:"
389 msgstr ""
390 "上記のリストにある標準の関数に加えて、GNU C ライブラリでは\n"
391 "以下に示す POSIX AIO API に対する拡張が提供されている。"
392
393 #. type: TP
394 #: build/C/man7/aio.7:150
395 #, no-wrap
396 msgid "B<aio_init>(3)"
397 msgstr "B<aio_init>(3)"
398
399 #. type: Plain text
400 #: build/C/man7/aio.7:153
401 msgid ""
402 "Set parameters for tuning the behavior of the glibc POSIX AIO implementation."
403 msgstr "glibc の POSIX AIO 実装の動作を調整するパラメーターを設定する。"
404
405 #. type: SH
406 #: build/C/man7/aio.7:153 build/C/man3/aio_cancel.3:101
407 #: build/C/man3/aio_error.3:66 build/C/man3/aio_fsync.3:79
408 #: build/C/man3/aio_read.3:103 build/C/man3/aio_return.3:63
409 #: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
410 #: build/C/man2/io_cancel.2:42 build/C/man2/io_destroy.2:34
411 #: build/C/man2/io_getevents.2:40 build/C/man2/io_setup.2:37
412 #: build/C/man2/io_submit.2:37 build/C/man3/lio_listio.3:146
413 #, no-wrap
414 msgid "ERRORS"
415 msgstr "エラー"
416
417 #. type: TP
418 #: build/C/man7/aio.7:154 build/C/man3/aio_error.3:67
419 #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_read.3:111
420 #: build/C/man3/aio_return.3:64 build/C/man3/aio_write.3:122
421 #: build/C/man2/io_cancel.2:49 build/C/man2/io_destroy.2:38
422 #: build/C/man2/io_getevents.2:44 build/C/man2/io_setup.2:46
423 #: build/C/man2/io_submit.2:47 build/C/man3/lio_listio.3:161
424 #, no-wrap
425 msgid "B<EINVAL>"
426 msgstr "B<EINVAL>"
427
428 #. type: Plain text
429 #: build/C/man7/aio.7:163
430 msgid ""
431 "The I<aio_reqprio> field of the I<aiocb> structure was less than 0, or was "
432 "greater than the limit returned by the call "
433 "I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>."
434 msgstr ""
435 "I<aiocb> 構造体の I<aio_reqprio> フィールドが、0 より小さいか、\n"
436 "I<sysconf(_SC_AIO_PRIO_DELTA_MAX)> が返す上限よりも大きかった。"
437
438 #. type: SH
439 #: build/C/man7/aio.7:163 build/C/man3/aio_cancel.3:110
440 #: build/C/man3/aio_error.3:78 build/C/man3/aio_fsync.3:99
441 #: build/C/man3/aio_init.3:93 build/C/man3/aio_read.3:128
442 #: build/C/man3/aio_return.3:73 build/C/man3/aio_suspend.3:103
443 #: build/C/man3/aio_write.3:133 build/C/man2/io_cancel.2:56
444 #: build/C/man2/io_destroy.2:45 build/C/man2/io_getevents.2:57
445 #: build/C/man2/io_setup.2:58 build/C/man2/io_submit.2:60
446 #: build/C/man3/lio_listio.3:201
447 #, no-wrap
448 msgid "VERSIONS"
449 msgstr "バージョン"
450
451 #. type: Plain text
452 #: build/C/man7/aio.7:165
453 msgid "The POSIX AIO interfaces are provided by glibc since version 2.1."
454 msgstr ""
455 "POSIX AIO インターフェイスは glibc バージョン 2.1 以降で提供されている。"
456
457 #. type: SH
458 #: build/C/man7/aio.7:165 build/C/man3/aio_cancel.3:114
459 #: build/C/man3/aio_error.3:87 build/C/man3/aio_fsync.3:103
460 #: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:132
461 #: build/C/man3/aio_return.3:82 build/C/man3/aio_suspend.3:107
462 #: build/C/man3/aio_write.3:137 build/C/man2/io_cancel.2:59
463 #: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:60
464 #: build/C/man2/io_setup.2:61 build/C/man2/io_submit.2:63
465 #: build/C/man3/lio_listio.3:205
466 #, no-wrap
467 msgid "CONFORMING TO"
468 msgstr "準拠"
469
470 #. type: Plain text
471 #: build/C/man7/aio.7:167 build/C/man3/aio_cancel.3:116
472 #: build/C/man3/aio_error.3:89 build/C/man3/aio_fsync.3:105
473 #: build/C/man3/aio_read.3:134 build/C/man3/aio_return.3:84
474 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
475 #: build/C/man3/lio_listio.3:207
476 msgid "POSIX.1-2001, POSIX.1-2008."
477 msgstr "POSIX.1-2001, POSIX.1-2008."
478
479 #. type: SH
480 #: build/C/man7/aio.7:167 build/C/man3/aio_read.3:134
481 #: build/C/man3/aio_suspend.3:109 build/C/man3/aio_write.3:139
482 #: build/C/man2/io_cancel.2:64 build/C/man2/io_destroy.2:53
483 #: build/C/man2/io_getevents.2:65 build/C/man2/io_setup.2:66
484 #: build/C/man2/io_submit.2:68 build/C/man3/lio_listio.3:207
485 #, no-wrap
486 msgid "NOTES"
487 msgstr "注意"
488
489 #. type: Plain text
490 #: build/C/man7/aio.7:174
491 msgid ""
492 "It is a good idea to zero out the control block buffer before use (see "
493 "B<memset>(3)).  The control block buffer and the buffer pointed to by "
494 "I<aio_buf> must not be changed while the I/O operation is in progress.  "
495 "These buffers must remain valid until the I/O operation completes."
496 msgstr ""
497 "使用前に制御ブロックバッファーを 0 で埋めるのはよい考えである\n"
498 "(B<memset>(3) 参照)。I/O 操作が実行中の間は、制御ブロックバッファーと\n"
499 "I<aio_buf> が指すバッファーを変更してはならない。I/O 操作が完了するまで、\n"
500 "これらのバッファーは有効な状態に保たなければならない。"
501
502 #. type: Plain text
503 #: build/C/man7/aio.7:178
504 msgid ""
505 "Simultaneous asynchronous read or write operations using the same I<aiocb> "
506 "structure yield undefined results."
507 msgstr ""
508 "同じ I<aiocb> 構造体を使って、同時に複数の非同期の読み出し操作や\n"
509 "書き込み操作を行った場合に、どのような結果になるかは未定義である。"
510
511 #.  http://lse.sourceforge.net/io/aio.html
512 #.  http://lse.sourceforge.net/io/aionotes.txt
513 #.  http://lwn.net/Articles/148755/
514 #. type: Plain text
515 #: build/C/man7/aio.7:196
516 msgid ""
517 "The current Linux POSIX AIO implementation is provided in user space by "
518 "glibc.  This has a number of limitations, most notably that maintaining "
519 "multiple threads to perform I/O operations is expensive and scales poorly.  "
520 "Work has been in progress for some time on a kernel state-machine-based "
521 "implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
522 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
523 "implementation hasn't yet matured to the point where the POSIX AIO "
524 "implementation can be completely reimplemented using the kernel system calls."
525 msgstr ""
526 "現在の Linux では、POSIX AIO 実装は glibc によりユーザー空間で提供\n"
527 "されている。このため、制限がいくつかあり、最も顕著なものは、I/O 操作を\n"
528 "実行する複数のスレッドの管理コストが高く、スケーラビリティに欠けること\n"
529 "である。しばらくの間、カーネルのステートマシンによる非同期 I/O の実装\n"
530 "の作業が行われているが (B<io_submit>(2), B<io_setup>(2), \n"
531 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2) 参照)、\n"
532 "この実装はまだ POSIX AIO 実装をカーネルシステムコールにより\n"
533 "再実装するほど成熟したものてはない。"
534
535 #. type: SH
536 #: build/C/man7/aio.7:196 build/C/man3/aio_cancel.3:116
537 #: build/C/man3/aio_error.3:89 build/C/man3/aio_read.3:146
538 #: build/C/man3/aio_return.3:84
539 #, no-wrap
540 msgid "EXAMPLE"
541 msgstr "例"
542
543 #. type: Plain text
544 #: build/C/man7/aio.7:209
545 msgid ""
546 "The program below opens each of the files named in its command-line "
547 "arguments and queues a request on the resulting file descriptor using "
548 "B<aio_read>(3).  The program then loops, periodically monitoring each of the "
549 "I/O operations that is still in progress using B<aio_error>(3).  Each of the "
550 "I/O requests is set up to provide notification by delivery of a signal.  "
551 "After all I/O requests have completed, the program retrieves their status "
552 "using B<aio_return>(3)."
553 msgstr ""
554 "下記のプログラムは、コマンドライン引き数で指定された名前のファイルを\n"
555 "それぞれオープンし、得られたファイルディスクリプターに対するリクエストを\n"
556 "B<aio_read>(3) を使ってキューに入れる。その後、このプログラムはループに\n"
557 "入り、定期的に B<aio_error>(3) を使ってまだ実行中の各 I/O 操作を監視す\n"
558 "る。各 I/O リクエストは、シグナルの配送による完了通知が行われるように設\n"
559 "定される。全ての I/O リクエストが完了した後、B<aio_return>(3) を使って\n"
560 "それぞれのステータスを取得する。"
561
562 #. type: Plain text
563 #: build/C/man7/aio.7:215
564 msgid ""
565 "The B<SIGQUIT> signal (generated by typing control-\\e) causes the program "
566 "to request cancellation of each of the outstanding requests using "
567 "B<aio_cancel>(3)."
568 msgstr ""
569 "B<SIGQUIT> シグナル (control-\\e をタイプすると生成できる) を送ると、\n"
570 "このプログラムは B<aio_cancel>(3) を使って\n"
571 "完了していない各リクエストにキャンセル要求を送る。"
572
573 #. type: Plain text
574 #: build/C/man7/aio.7:220
575 msgid ""
576 "Here is an example of what we might see when running this program.  In this "
577 "example, the program queues two requests to standard input, and these are "
578 "satisfied by two lines of input containing \"abc\" and \"x\"."
579 msgstr ""
580 "以下はこのプログラムを実行した際の出力例である。\n"
581 "この例では、標準入力に対して 2 つのリクエストを行い、\n"
582 "\"abc\" と \"x\" という 2 行の入力を行っている。"
583
584 #. type: Plain text
585 #: build/C/man7/aio.7:244
586 #, no-wrap
587 msgid ""
588 "$ B<./a.out /dev/stdin /dev/stdin>\n"
589 "opened /dev/stdin on descriptor 3\n"
590 "opened /dev/stdin on descriptor 4\n"
591 "aio_error():\n"
592 "    for request 0 (descriptor 3): In progress\n"
593 "    for request 1 (descriptor 4): In progress\n"
594 "B<abc>\n"
595 "I/O completion signal received\n"
596 "aio_error():\n"
597 "    for request 0 (descriptor 3): I/O succeeded\n"
598 "    for request 1 (descriptor 4): In progress\n"
599 "aio_error():\n"
600 "    for request 1 (descriptor 4): In progress\n"
601 "B<x>\n"
602 "I/O completion signal received\n"
603 "aio_error():\n"
604 "    for request 1 (descriptor 4): I/O succeeded\n"
605 "All I/O requests completed\n"
606 "aio_return():\n"
607 "    for request 0 (descriptor 3): 4\n"
608 "    for request 1 (descriptor 4): 2\n"
609 msgstr ""
610 "$ B<./a.out /dev/stdin /dev/stdin>\n"
611 "opened /dev/stdin on descriptor 3\n"
612 "opened /dev/stdin on descriptor 4\n"
613 "aio_error():\n"
614 "    for request 0 (descriptor 3): In progress\n"
615 "    for request 1 (descriptor 4): In progress\n"
616 "B<abc>\n"
617 "I/O completion signal received\n"
618 "aio_error():\n"
619 "    for request 0 (descriptor 3): I/O succeeded\n"
620 "    for request 1 (descriptor 4): In progress\n"
621 "aio_error():\n"
622 "    for request 1 (descriptor 4): In progress\n"
623 "B<x>\n"
624 "I/O completion signal received\n"
625 "aio_error():\n"
626 "    for request 1 (descriptor 4): I/O succeeded\n"
627 "All I/O requests completed\n"
628 "aio_return():\n"
629 "    for request 0 (descriptor 3): 4\n"
630 "    for request 1 (descriptor 4): 2\n"
631
632 #. type: SS
633 #: build/C/man7/aio.7:246
634 #, no-wrap
635 msgid "Program source"
636 msgstr "プログラムのソース"
637
638 #. type: Plain text
639 #: build/C/man7/aio.7:255
640 #, no-wrap
641 msgid ""
642 "#include E<lt>stdlib.hE<gt>\n"
643 "#include E<lt>unistd.hE<gt>\n"
644 "#include E<lt>stdio.hE<gt>\n"
645 "#include E<lt>errno.hE<gt>\n"
646 "#include E<lt>aio.hE<gt>\n"
647 "#include E<lt>signal.hE<gt>\n"
648 msgstr ""
649 "#include E<lt>stdlib.hE<gt>\n"
650 "#include E<lt>unistd.hE<gt>\n"
651 "#include E<lt>stdio.hE<gt>\n"
652 "#include E<lt>errno.hE<gt>\n"
653 "#include E<lt>aio.hE<gt>\n"
654 "#include E<lt>signal.hE<gt>\n"
655
656 #. type: Plain text
657 #: build/C/man7/aio.7:257
658 #, no-wrap
659 msgid "#define BUF_SIZE 20     /* Size of buffers for read operations */\n"
660 msgstr "#define BUF_SIZE 20     /* Size of buffers for read operations */\n"
661
662 #. type: Plain text
663 #: build/C/man7/aio.7:259
664 #, no-wrap
665 msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
666 msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
667
668 #. type: Plain text
669 #: build/C/man7/aio.7:261
670 #, no-wrap
671 msgid "#define errMsg(msg)  do { perror(msg); } while (0)\n"
672 msgstr "#define errMsg(msg)  do { perror(msg); } while (0)\n"
673
674 #. type: Plain text
675 #: build/C/man7/aio.7:268
676 #, no-wrap
677 msgid ""
678 "struct ioRequest {      /* Application-defined structure for tracking\n"
679 "                           I/O requests */\n"
680 "    int           reqNum;\n"
681 "    int           status;\n"
682 "    struct aiocb *aiocbp;\n"
683 "};\n"
684 msgstr ""
685 "struct ioRequest {      /* Application-defined structure for tracking\n"
686 "                           I/O requests */\n"
687 "    int           reqNum;\n"
688 "    int           status;\n"
689 "    struct aiocb *aiocbp;\n"
690 "};\n"
691
692 #. type: Plain text
693 #: build/C/man7/aio.7:272
694 #, no-wrap
695 msgid ""
696 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
697 "                        /* On delivery of SIGQUIT, we attempt to\n"
698 "                           cancel all outstanding I/O requests */\n"
699 msgstr ""
700 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
701 "                        /* On delivery of SIGQUIT, we attempt to\n"
702 "                           cancel all outstanding I/O requests */\n"
703
704 #. type: Plain text
705 #: build/C/man7/aio.7:278
706 #, no-wrap
707 msgid ""
708 "static void             /* Handler for SIGQUIT */\n"
709 "quitHandler(int sig)\n"
710 "{\n"
711 "    gotSIGQUIT = 1;\n"
712 "}\n"
713 msgstr ""
714 "static void             /* Handler for SIGQUIT */\n"
715 "quitHandler(int sig)\n"
716 "{\n"
717 "    gotSIGQUIT = 1;\n"
718 "}\n"
719
720 #. type: Plain text
721 #: build/C/man7/aio.7:280
722 #, no-wrap
723 msgid "#define IO_SIGNAL SIGUSR1   /* Signal used to notify I/O completion */\n"
724 msgstr "#define IO_SIGNAL SIGUSR1   /* Signal used to notify I/O completion */\n"
725
726 #. type: Plain text
727 #: build/C/man7/aio.7:285
728 #, no-wrap
729 msgid ""
730 "static void                 /* Handler for I/O completion signal */\n"
731 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
732 "{\n"
733 "    write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
734 msgstr ""
735 "static void                 /* Handler for I/O completion signal */\n"
736 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
737 "{\n"
738 "    write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
739
740 #. type: Plain text
741 #: build/C/man7/aio.7:291
742 #, no-wrap
743 msgid ""
744 "    /* The corresponding ioRequest structure would be available as\n"
745 "           struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
746 "       and the file descriptor would then be available via\n"
747 "           ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
748 "}\n"
749 msgstr ""
750 "    /* The corresponding ioRequest structure would be available as\n"
751 "           struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
752 "       and the file descriptor would then be available via\n"
753 "           ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
754 "}\n"
755
756 #. type: Plain text
757 #: build/C/man7/aio.7:301
758 #, no-wrap
759 msgid ""
760 "int\n"
761 "main(int argc, char *argv[])\n"
762 "{\n"
763 "    struct ioRequest *ioList;\n"
764 "    struct aiocb *aiocbList;\n"
765 "    struct sigaction sa;\n"
766 "    int s, j;\n"
767 "    int numReqs;        /* Total number of queued I/O requests */\n"
768 "    int openReqs;       /* Number of I/O requests still in progress */\n"
769 msgstr ""
770 "int\n"
771 "main(int argc, char *argv[])\n"
772 "{\n"
773 "    struct ioRequest *ioList;\n"
774 "    struct aiocb *aiocbList;\n"
775 "    struct sigaction sa;\n"
776 "    int s, j;\n"
777 "    int numReqs;        /* Total number of queued I/O requests */\n"
778 "    int openReqs;       /* Number of I/O requests still in progress */\n"
779
780 #. type: Plain text
781 #: build/C/man7/aio.7:307
782 #, no-wrap
783 msgid ""
784 "    if (argc E<lt> 2) {\n"
785 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
786 "                argv[0]);\n"
787 "        exit(EXIT_FAILURE);\n"
788 "    }\n"
789 msgstr ""
790 "    if (argc E<lt> 2) {\n"
791 "        fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
792 "                argv[0]);\n"
793 "        exit(EXIT_FAILURE);\n"
794 "    }\n"
795
796 #. type: Plain text
797 #: build/C/man7/aio.7:309
798 #, no-wrap
799 msgid "    numReqs = argc - 1;\n"
800 msgstr "    numReqs = argc - 1;\n"
801
802 #. type: Plain text
803 #: build/C/man7/aio.7:311
804 #, no-wrap
805 msgid "    /* Allocate our arrays */\n"
806 msgstr "    /* Allocate our arrays */\n"
807
808 #. type: Plain text
809 #: build/C/man7/aio.7:315
810 #, no-wrap
811 msgid ""
812 "    ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
813 "    if (ioList == NULL)\n"
814 "        errExit(\"calloc\");\n"
815 msgstr ""
816 "    ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
817 "    if (ioList == NULL)\n"
818 "        errExit(\"calloc\");\n"
819
820 #. type: Plain text
821 #: build/C/man7/aio.7:319
822 #, no-wrap
823 msgid ""
824 "    aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
825 "    if (aiocbList == NULL)\n"
826 "        errExit(\"calloc\");\n"
827 msgstr ""
828 "    aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
829 "    if (aiocbList == NULL)\n"
830 "        errExit(\"calloc\");\n"
831
832 #. type: Plain text
833 #: build/C/man7/aio.7:321
834 #, no-wrap
835 msgid "    /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
836 msgstr "    /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
837
838 #. type: Plain text
839 #: build/C/man7/aio.7:324
840 #, no-wrap
841 msgid ""
842 "    sa.sa_flags = SA_RESTART;\n"
843 "    sigemptyset(&sa.sa_mask);\n"
844 msgstr ""
845 "    sa.sa_flags = SA_RESTART;\n"
846 "    sigemptyset(&sa.sa_mask);\n"
847
848 #. type: Plain text
849 #: build/C/man7/aio.7:328
850 #, no-wrap
851 msgid ""
852 "    sa.sa_handler = quitHandler;\n"
853 "    if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
854 "        errExit(\"sigaction\");\n"
855 msgstr ""
856 "    sa.sa_handler = quitHandler;\n"
857 "    if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
858 "        errExit(\"sigaction\");\n"
859
860 #. type: Plain text
861 #: build/C/man7/aio.7:333
862 #, no-wrap
863 msgid ""
864 "    sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
865 "    sa.sa_sigaction = aioSigHandler;\n"
866 "    if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
867 "        errExit(\"sigaction\");\n"
868 msgstr ""
869 "    sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
870 "    sa.sa_sigaction = aioSigHandler;\n"
871 "    if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
872 "        errExit(\"sigaction\");\n"
873
874 #. type: Plain text
875 #: build/C/man7/aio.7:336
876 #, no-wrap
877 msgid ""
878 "    /* Open each file specified on the command line, and queue\n"
879 "       a read request on the resulting file descriptor */\n"
880 msgstr ""
881 "    /* Open each file specified on the command line, and queue\n"
882 "       a read request on the resulting file descriptor */\n"
883
884 #. type: Plain text
885 #: build/C/man7/aio.7:341
886 #, no-wrap
887 msgid ""
888 "    for (j = 0; j E<lt> numReqs; j++) {\n"
889 "        ioList[j].reqNum = j;\n"
890 "        ioList[j].status = EINPROGRESS;\n"
891 "        ioList[j].aiocbp = &aiocbList[j];\n"
892 msgstr ""
893 "    for (j = 0; j E<lt> numReqs; j++) {\n"
894 "        ioList[j].reqNum = j;\n"
895 "        ioList[j].status = EINPROGRESS;\n"
896 "        ioList[j].aiocbp = &aiocbList[j];\n"
897
898 #. type: Plain text
899 #: build/C/man7/aio.7:347
900 #, no-wrap
901 msgid ""
902 "        ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
903 "        if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
904 "            errExit(\"open\");\n"
905 "        printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
906 "                ioList[j].aiocbp-E<gt>aio_fildes);\n"
907 msgstr ""
908 "        ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
909 "        if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
910 "            errExit(\"open\");\n"
911 "        printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
912 "                ioList[j].aiocbp-E<gt>aio_fildes);\n"
913
914 #. type: Plain text
915 #: build/C/man7/aio.7:351
916 #, no-wrap
917 msgid ""
918 "        ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
919 "        if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
920 "            errExit(\"malloc\");\n"
921 msgstr ""
922 "        ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
923 "        if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
924 "            errExit(\"malloc\");\n"
925
926 #. type: Plain text
927 #: build/C/man7/aio.7:359
928 #, no-wrap
929 msgid ""
930 "        ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
931 "        ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
932 "        ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
933 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
934 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
935 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
936 "                                &ioList[j];\n"
937 msgstr ""
938 "        ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
939 "        ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
940 "        ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
941 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
942 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
943 "        ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
944 "                                &ioList[j];\n"
945
946 #. type: Plain text
947 #: build/C/man7/aio.7:364
948 #, no-wrap
949 msgid ""
950 "        s = aio_read(ioList[j].aiocbp);\n"
951 "        if (s == -1)\n"
952 "            errExit(\"aio_read\");\n"
953 "    }\n"
954 msgstr ""
955 "        s = aio_read(ioList[j].aiocbp);\n"
956 "        if (s == -1)\n"
957 "            errExit(\"aio_read\");\n"
958 "    }\n"
959
960 #. type: Plain text
961 #: build/C/man7/aio.7:366
962 #, no-wrap
963 msgid "    openReqs = numReqs;\n"
964 msgstr "    openReqs = numReqs;\n"
965
966 #. type: Plain text
967 #: build/C/man7/aio.7:368
968 #, no-wrap
969 msgid "    /* Loop, monitoring status of I/O requests */\n"
970 msgstr "    /* Loop, monitoring status of I/O requests */\n"
971
972 #. type: Plain text
973 #: build/C/man7/aio.7:371
974 #, no-wrap
975 msgid ""
976 "    while (openReqs E<gt> 0) {\n"
977 "        sleep(3);       /* Delay between each monitoring step */\n"
978 msgstr ""
979 "    while (openReqs E<gt> 0) {\n"
980 "        sleep(3);       /* Delay between each monitoring step */\n"
981
982 #. type: Plain text
983 #: build/C/man7/aio.7:373
984 #, no-wrap
985 msgid "        if (gotSIGQUIT) {\n"
986 msgstr "        if (gotSIGQUIT) {\n"
987
988 #. type: Plain text
989 #: build/C/man7/aio.7:377
990 #, no-wrap
991 msgid ""
992 "            /* On receipt of SIGQUIT, attempt to cancel each of the\n"
993 "               outstanding I/O requests, and display status returned\n"
994 "               from the cancellation requests */\n"
995 msgstr ""
996 "            /* On receipt of SIGQUIT, attempt to cancel each of the\n"
997 "               outstanding I/O requests, and display status returned\n"
998 "               from the cancellation requests */\n"
999
1000 #. type: Plain text
1001 #: build/C/man7/aio.7:379
1002 #, no-wrap
1003 msgid "            printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1004 msgstr "            printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
1005
1006 #. type: Plain text
1007 #: build/C/man7/aio.7:396
1008 #, no-wrap
1009 msgid ""
1010 "            for (j = 0; j E<lt> numReqs; j++) {\n"
1011 "                if (ioList[j].status == EINPROGRESS) {\n"
1012 "                    printf(\"    Request %d on descriptor %d:\", j,\n"
1013 "                            ioList[j].aiocbp-E<gt>aio_fildes);\n"
1014 "                    s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1015 "                            ioList[j].aiocbp);\n"
1016 "                    if (s == AIO_CANCELED)\n"
1017 "                        printf(\"I/O canceled\\en\");\n"
1018 "                    else if (s == AIO_NOTCANCELED)\n"
1019 "                            printf(\"I/O not canceled\\en\");\n"
1020 "                    else if (s == AIO_ALLDONE)\n"
1021 "                        printf(\"I/O all done\\en\");\n"
1022 "                    else\n"
1023 "                        errMsg(\"aio_cancel\");\n"
1024 "                }\n"
1025 "            }\n"
1026 msgstr ""
1027 "            for (j = 0; j E<lt> numReqs; j++) {\n"
1028 "                if (ioList[j].status == EINPROGRESS) {\n"
1029 "                    printf(\"    Request %d on descriptor %d:\", j,\n"
1030 "                            ioList[j].aiocbp-E<gt>aio_fildes);\n"
1031 "                    s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
1032 "                            ioList[j].aiocbp);\n"
1033 "                    if (s == AIO_CANCELED)\n"
1034 "                        printf(\"I/O canceled\\en\");\n"
1035 "                    else if (s == AIO_NOTCANCELED)\n"
1036 "                            printf(\"I/O not canceled\\en\");\n"
1037 "                    else if (s == AIO_ALLDONE)\n"
1038 "                        printf(\"I/O all done\\en\");\n"
1039 "                    else\n"
1040 "                        errMsg(\"aio_cancel\");\n"
1041 "                }\n"
1042 "            }\n"
1043
1044 #. type: Plain text
1045 #: build/C/man7/aio.7:399
1046 #, no-wrap
1047 msgid ""
1048 "            gotSIGQUIT = 0;\n"
1049 "        }\n"
1050 msgstr ""
1051 "            gotSIGQUIT = 0;\n"
1052 "        }\n"
1053
1054 #. type: Plain text
1055 #: build/C/man7/aio.7:402
1056 #, no-wrap
1057 msgid ""
1058 "        /* Check the status of each I/O request that is still\n"
1059 "           in progress */\n"
1060 msgstr ""
1061 "        /* Check the status of each I/O request that is still\n"
1062 "           in progress */\n"
1063
1064 #. type: Plain text
1065 #: build/C/man7/aio.7:409
1066 #, no-wrap
1067 msgid ""
1068 "        printf(\"aio_error():\\en\");\n"
1069 "        for (j = 0; j E<lt> numReqs; j++) {\n"
1070 "            if (ioList[j].status == EINPROGRESS) {\n"
1071 "                printf(\"    for request %d (descriptor %d): \",\n"
1072 "                        j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1073 "                ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1074 msgstr ""
1075 "        printf(\"aio_error():\\en\");\n"
1076 "        for (j = 0; j E<lt> numReqs; j++) {\n"
1077 "            if (ioList[j].status == EINPROGRESS) {\n"
1078 "                printf(\"    for request %d (descriptor %d): \",\n"
1079 "                        j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
1080 "                ioList[j].status = aio_error(ioList[j].aiocbp);\n"
1081
1082 #. type: Plain text
1083 #: build/C/man7/aio.7:424
1084 #, no-wrap
1085 msgid ""
1086 "                switch (ioList[j].status) {\n"
1087 "                case 0:\n"
1088 "                    printf(\"I/O succeeded\\en\");\n"
1089 "                    break;\n"
1090 "                case EINPROGRESS:\n"
1091 "                    printf(\"In progress\\en\");\n"
1092 "                    break;\n"
1093 "                case ECANCELED:\n"
1094 "                    printf(\"Canceled\\en\");\n"
1095 "                    break;\n"
1096 "                default:\n"
1097 "                    errMsg(\"aio_error\");\n"
1098 "                    break;\n"
1099 "                }\n"
1100 msgstr ""
1101 "                switch (ioList[j].status) {\n"
1102 "                case 0:\n"
1103 "                    printf(\"I/O succeeded\\en\");\n"
1104 "                    break;\n"
1105 "                case EINPROGRESS:\n"
1106 "                    printf(\"In progress\\en\");\n"
1107 "                    break;\n"
1108 "                case ECANCELED:\n"
1109 "                    printf(\"Canceled\\en\");\n"
1110 "                    break;\n"
1111 "                default:\n"
1112 "                    errMsg(\"aio_error\");\n"
1113 "                    break;\n"
1114 "                }\n"
1115
1116 #. type: Plain text
1117 #: build/C/man7/aio.7:430
1118 #, no-wrap
1119 msgid ""
1120 "                if (ioList[j].status != EINPROGRESS)\n"
1121 "                    openReqs--;\n"
1122 "            }\n"
1123 "        }\n"
1124 "    }\n"
1125 msgstr ""
1126 "                if (ioList[j].status != EINPROGRESS)\n"
1127 "                    openReqs--;\n"
1128 "            }\n"
1129 "        }\n"
1130 "    }\n"
1131
1132 #. type: Plain text
1133 #: build/C/man7/aio.7:432
1134 #, no-wrap
1135 msgid "    printf(\"All I/O requests completed\\en\");\n"
1136 msgstr "    printf(\"All I/O requests completed\\en\");\n"
1137
1138 #. type: Plain text
1139 #: build/C/man7/aio.7:434
1140 #, no-wrap
1141 msgid "    /* Check status return of all I/O requests */\n"
1142 msgstr "    /* Check status return of all I/O requests */\n"
1143
1144 #. type: Plain text
1145 #: build/C/man7/aio.7:438
1146 #, no-wrap
1147 msgid ""
1148 "    printf(\"aio_return():\\en\");\n"
1149 "    for (j = 0; j E<lt> numReqs; j++) {\n"
1150 "        ssize_t s;\n"
1151 msgstr ""
1152 "    printf(\"aio_return():\\en\");\n"
1153 "    for (j = 0; j E<lt> numReqs; j++) {\n"
1154 "        ssize_t s;\n"
1155
1156 #. type: Plain text
1157 #: build/C/man7/aio.7:443
1158 #, no-wrap
1159 msgid ""
1160 "        s = aio_return(ioList[j].aiocbp);\n"
1161 "        printf(\"    for request %d (descriptor %d): %zd\\en\",\n"
1162 "                j, ioList[j].aiocbp-E<gt>aio_fildes, s);\n"
1163 "    }\n"
1164 msgstr ""
1165 "        s = aio_return(ioList[j].aiocbp);\n"
1166 "        printf(\"    for request %d (descriptor %d): %zd\\en\",\n"
1167 "                j, ioList[j].aiocbp-E<gt>aio_fildes, s);\n"
1168 "    }\n"
1169
1170 #. type: Plain text
1171 #: build/C/man7/aio.7:446
1172 #, no-wrap
1173 msgid ""
1174 "    exit(EXIT_SUCCESS);\n"
1175 "}\n"
1176 msgstr ""
1177 "    exit(EXIT_SUCCESS);\n"
1178 "}\n"
1179
1180 #. type: SH
1181 #: build/C/man7/aio.7:447 build/C/man3/aio_cancel.3:119
1182 #: build/C/man3/aio_error.3:92 build/C/man3/aio_fsync.3:105
1183 #: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:149
1184 #: build/C/man3/aio_return.3:87 build/C/man3/aio_suspend.3:129
1185 #: build/C/man3/aio_write.3:151 build/C/man2/io_cancel.2:94
1186 #: build/C/man2/io_destroy.2:83 build/C/man2/io_getevents.2:100
1187 #: build/C/man2/io_setup.2:96 build/C/man2/io_submit.2:98
1188 #: build/C/man3/lio_listio.3:219
1189 #, no-wrap
1190 msgid "SEE ALSO"
1191 msgstr "関連項目"
1192
1193 #. type: Plain text
1194 #: build/C/man7/aio.7:462
1195 msgid ""
1196 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1197 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1198 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
1199 msgstr ""
1200 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1201 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1202 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3)"
1203
1204 #. type: Plain text
1205 #: build/C/man7/aio.7:465
1206 msgid ""
1207 "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
1208 "pdf> E<.UE>"
1209 msgstr ""
1210 "E<.UR http://www.squid-cache.org\\:/~adrian\\:/Reprint-Pulavarty-OLS2003."
1211 "pdf> E<.UE>"
1212
1213 #. type: SH
1214 #: build/C/man7/aio.7:465 build/C/man3/aio_cancel.3:128
1215 #: build/C/man3/aio_error.3:101 build/C/man3/aio_fsync.3:115
1216 #: build/C/man3/aio_init.3:101 build/C/man3/aio_read.3:158
1217 #: build/C/man3/aio_return.3:96 build/C/man3/aio_suspend.3:139
1218 #: build/C/man3/aio_write.3:160 build/C/man2/io_cancel.2:102
1219 #: build/C/man2/io_destroy.2:91 build/C/man2/io_getevents.2:110
1220 #: build/C/man2/io_setup.2:104 build/C/man2/io_submit.2:106
1221 #: build/C/man3/lio_listio.3:227
1222 #, no-wrap
1223 msgid "COLOPHON"
1224 msgstr "この文書について"
1225
1226 #. type: Plain text
1227 #: build/C/man7/aio.7:473 build/C/man3/aio_cancel.3:136
1228 #: build/C/man3/aio_error.3:109 build/C/man3/aio_fsync.3:123
1229 #: build/C/man3/aio_init.3:109 build/C/man3/aio_read.3:166
1230 #: build/C/man3/aio_return.3:104 build/C/man3/aio_suspend.3:147
1231 #: build/C/man3/aio_write.3:168 build/C/man2/io_cancel.2:110
1232 #: build/C/man2/io_destroy.2:99 build/C/man2/io_getevents.2:118
1233 #: build/C/man2/io_setup.2:112 build/C/man2/io_submit.2:114
1234 #: build/C/man3/lio_listio.3:235
1235 #, fuzzy
1236 #| msgid ""
1237 #| "This page is part of release 3.78 of the Linux I<man-pages> project.  A "
1238 #| "description of the project, information about reporting bugs, and the "
1239 #| "latest version of this page, can be found at \\%http://www.kernel.org/doc/"
1240 #| "man-pages/."
1241 msgid ""
1242 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
1243 "description of the project, information about reporting bugs, and the latest "
1244 "version of this page, can be found at \\%http://www.kernel.org/doc/man-"
1245 "pages/."
1246 msgstr ""
1247 "この man ページは Linux I<man-pages> プロジェクトのリリース 3.78 の一部\n"
1248 "である。プロジェクトの説明とバグ報告に関する情報は\n"
1249 "http://www.kernel.org/doc/man-pages/ に書かれている。"
1250
1251 #. type: TH
1252 #: build/C/man3/aio_cancel.3:24
1253 #, no-wrap
1254 msgid "AIO_CANCEL"
1255 msgstr "AIO_CANCEL"
1256
1257 #. type: TH
1258 #: build/C/man3/aio_cancel.3:24 build/C/man3/aio_fsync.3:24
1259 #: build/C/man3/aio_read.3:24 build/C/man3/aio_suspend.3:25
1260 #: build/C/man3/aio_write.3:24 build/C/man3/lio_listio.3:24
1261 #, no-wrap
1262 msgid "2012-05-08"
1263 msgstr "2012-05-08"
1264
1265 #. type: Plain text
1266 #: build/C/man3/aio_cancel.3:27
1267 msgid "aio_cancel - cancel an outstanding asynchronous I/O request"
1268 msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする"
1269
1270 #. type: SH
1271 #: build/C/man3/aio_cancel.3:27 build/C/man3/aio_error.3:27
1272 #: build/C/man3/aio_fsync.3:27 build/C/man3/aio_init.3:29
1273 #: build/C/man3/aio_read.3:27 build/C/man3/aio_return.3:27
1274 #: build/C/man3/aio_suspend.3:28 build/C/man3/aio_write.3:27
1275 #: build/C/man2/io_cancel.2:10 build/C/man2/io_destroy.2:10
1276 #: build/C/man2/io_getevents.2:10 build/C/man2/io_setup.2:10
1277 #: build/C/man2/io_submit.2:10 build/C/man3/lio_listio.3:27
1278 #, no-wrap
1279 msgid "SYNOPSIS"
1280 msgstr "書式"
1281
1282 #. type: Plain text
1283 #: build/C/man3/aio_cancel.3:29 build/C/man3/aio_error.3:29
1284 #: build/C/man3/aio_fsync.3:29 build/C/man3/aio_read.3:29
1285 #: build/C/man3/aio_return.3:29 build/C/man3/aio_write.3:29
1286 msgid "B<#include E<lt>aio.hE<gt>>"
1287 msgstr "B<#include E<lt>aio.hE<gt>>"
1288
1289 #. type: Plain text
1290 #: build/C/man3/aio_cancel.3:31
1291 msgid "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1292 msgstr "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1293
1294 #. type: Plain text
1295 #: build/C/man3/aio_cancel.3:33 build/C/man3/aio_error.3:33
1296 #: build/C/man3/aio_fsync.3:33 build/C/man3/aio_init.3:38
1297 #: build/C/man3/aio_read.3:33 build/C/man3/aio_return.3:33
1298 #: build/C/man3/aio_write.3:33
1299 msgid "Link with I<-lrt>."
1300 msgstr "I<-lrt> でリンクする。"
1301
1302 #. type: Plain text
1303 #: build/C/man3/aio_cancel.3:51
1304 msgid ""
1305 "The B<aio_cancel>()  function attempts to cancel outstanding asynchronous I/"
1306 "O requests for the file descriptor I<fd>.  If I<aiocbp> is NULL, all such "
1307 "requests are canceled.  Otherwise, only the request described by the control "
1308 "block pointed to by I<aiocbp> is canceled.  (See B<aio>(7)  for a "
1309 "description of the I<aiocb> structure.)"
1310 msgstr ""
1311 "B<aio_cancel>() 関数は、ファイルディスクリプター I<fd> についての完了して\n"
1312 "いない非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が\n"
1313 "NULL の場合、そのような全てのリクエストがキャンセルされる。 I<aiocbp>\n"
1314 "が NULL でない場合、I<aiocbp> で指された制御ブロックで記述されたリクエ\n"
1315 "ストのみがキャンセルされる。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1316
1317 #. type: Plain text
1318 #: build/C/man3/aio_cancel.3:63
1319 msgid ""
1320 "Normal asynchronous notification occurs for canceled requests (see "
1321 "B<aio>(7)  and B<sigevent>(7)).  The request return status "
1322 "(B<aio_return>(3))  is set to -1, and the request error status "
1323 "(B<aio_error>(3))  is set to B<ECANCELED>.  The control block of requests "
1324 "that cannot be canceled is not changed."
1325 msgstr ""
1326 "キャンセルされたリクエストに対して、通常の非同期通知が起こる\n"
1327 "(B<aio>(7) と B<sigevent>(7) を参照)。\n"
1328 "リクエストの返り値 (B<aio_return>(3)) は -1 に設定され、\n"
1329 "リクエストのエラー状態 (B<aio_error>(3)) は B<ECANCELED> に設定される。\n"
1330 "キャンセルできないリクエストの制御ブロックは変更されない。"
1331
1332 #. type: Plain text
1333 #: build/C/man3/aio_cancel.3:70
1334 msgid ""
1335 "If the request could not be canceled, then it will terminate in the usual "
1336 "way after performing the I/O operation.  (In this case, B<aio_error>(3)  "
1337 "will return the status B<EINPROGRESSS>.)"
1338 msgstr ""
1339 "リクエストがキャンセルできない場合には、\n"
1340 "B<aio_cancel>() は通常の I/O 操作の実行後と同じように終了する。\n"
1341 "(この場合、 B<aio_error>(3) はステータス B<EINPROGRESSS> を返す)。"
1342
1343 #. type: Plain text
1344 #: build/C/man3/aio_cancel.3:77
1345 msgid ""
1346 "If I<aiocbp> is not NULL, and I<fd> differs from the file descriptor with "
1347 "which the asynchronous operation was initiated, unspecified results occur."
1348 msgstr ""
1349 "I<aiocbp> が NULL でなく、かつ I<fd> が非同期操作が開始されたファイルディスク"
1350 "リプターと異なる場合、 生じる結果は不定である。"
1351
1352 #.  FreeBSD: not those on raw disk devices.
1353 #. type: Plain text
1354 #: build/C/man3/aio_cancel.3:80
1355 msgid "Which operations are cancelable is implementation-defined."
1356 msgstr "どの操作をキャンセルできるかは、実装定義である。"
1357
1358 #. type: SH
1359 #: build/C/man3/aio_cancel.3:80 build/C/man3/aio_error.3:44
1360 #: build/C/man3/aio_fsync.3:73 build/C/man3/aio_read.3:88
1361 #: build/C/man3/aio_return.3:49 build/C/man3/aio_suspend.3:80
1362 #: build/C/man3/aio_write.3:95 build/C/man2/io_cancel.2:37
1363 #: build/C/man2/io_destroy.2:29 build/C/man2/io_getevents.2:34
1364 #: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:31
1365 #: build/C/man3/lio_listio.3:108
1366 #, no-wrap
1367 msgid "RETURN VALUE"
1368 msgstr "返り値"
1369
1370 #. type: Plain text
1371 #: build/C/man3/aio_cancel.3:84
1372 msgid "The B<aio_cancel>()  function returns one of the following values:"
1373 msgstr "B<aio_cancel>() 関数は以下のいずれかの値を返す。"
1374
1375 #. type: TP
1376 #: build/C/man3/aio_cancel.3:84
1377 #, no-wrap
1378 msgid "B<AIO_CANCELED>"
1379 msgstr "B<AIO_CANCELED>"
1380
1381 #. type: Plain text
1382 #: build/C/man3/aio_cancel.3:87
1383 msgid "All requests were successfully canceled."
1384 msgstr "全てのリクエストが正常にキャンセルされた。"
1385
1386 #. type: TP
1387 #: build/C/man3/aio_cancel.3:87
1388 #, no-wrap
1389 msgid "B<AIO_NOTCANCELED>"
1390 msgstr "B<AIO_NOTCANCELED>"
1391
1392 #. type: Plain text
1393 #: build/C/man3/aio_cancel.3:93
1394 msgid ""
1395 "At least one of the requests specified was not canceled because it was in "
1396 "progress.  In this case, one may check the status of individual requests "
1397 "using B<aio_error>(3)."
1398 msgstr ""
1399 "指定されたリクエストのうち少なくとも一つが、実行中のため\n"
1400 "キャンセルできなかった。この場合には、B<aio_error>(3) を使って\n"
1401 "個々のリクエストの状態を確認できる。"
1402
1403 #. type: TP
1404 #: build/C/man3/aio_cancel.3:93
1405 #, no-wrap
1406 msgid "B<AIO_ALLDONE>"
1407 msgstr "B<AIO_ALLDONE>"
1408
1409 #. type: Plain text
1410 #: build/C/man3/aio_cancel.3:96
1411 msgid "All requests had already been completed before the call."
1412 msgstr "呼び出しの前に全てのリクエストがすでに完了していた。"
1413
1414 #. type: TP
1415 #: build/C/man3/aio_cancel.3:96
1416 #, no-wrap
1417 msgid "-1"
1418 msgstr "-1"
1419
1420 #. type: Plain text
1421 #: build/C/man3/aio_cancel.3:101
1422 msgid ""
1423 "An error occurred.  The cause of the error can be found by inspecting "
1424 "I<errno>."
1425 msgstr ""
1426 "エラーが発生した。\n"
1427 "I<errno> を確認することでエラーの原因を知ることができる。"
1428
1429 #. type: TP
1430 #: build/C/man3/aio_cancel.3:102 build/C/man3/aio_fsync.3:83
1431 #: build/C/man3/aio_read.3:107 build/C/man3/aio_write.3:114
1432 #: build/C/man2/io_submit.2:41
1433 #, no-wrap
1434 msgid "B<EBADF>"
1435 msgstr "B<EBADF>"
1436
1437 #. type: Plain text
1438 #: build/C/man3/aio_cancel.3:106
1439 msgid "I<fd> is not a valid file descriptor."
1440 msgstr "I<fd> が有効なファイルディスクリプターでない。"
1441
1442 #. type: TP
1443 #: build/C/man3/aio_cancel.3:106 build/C/man3/aio_error.3:74
1444 #: build/C/man3/aio_fsync.3:95 build/C/man3/aio_read.3:119
1445 #: build/C/man3/aio_return.3:69 build/C/man3/aio_suspend.3:99
1446 #: build/C/man3/aio_write.3:129 build/C/man2/io_cancel.2:52
1447 #: build/C/man2/io_destroy.2:41 build/C/man2/io_getevents.2:53
1448 #: build/C/man2/io_setup.2:54 build/C/man2/io_submit.2:56
1449 #, no-wrap
1450 msgid "B<ENOSYS>"
1451 msgstr "B<ENOSYS>"
1452
1453 #. type: Plain text
1454 #: build/C/man3/aio_cancel.3:110
1455 msgid "B<aio_cancel>()  is not implemented."
1456 msgstr "B<aio_cancel>() は実装されていない。"
1457
1458 #. type: Plain text
1459 #: build/C/man3/aio_cancel.3:114
1460 msgid "The B<aio_cancel>()  function is available since glibc 2.1."
1461 msgstr "B<aio_cancel>() 関数は glibc 2.1 以降で利用できる。"
1462
1463 #. type: Plain text
1464 #: build/C/man3/aio_cancel.3:119 build/C/man3/aio_error.3:92
1465 #: build/C/man3/aio_read.3:149 build/C/man3/aio_return.3:87
1466 msgid "See B<aio>(7)."
1467 msgstr "B<aio>(7) を参照。"
1468
1469 #. type: Plain text
1470 #: build/C/man3/aio_cancel.3:128
1471 msgid ""
1472 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1473 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1474 msgstr ""
1475 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), \n"
1476 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1477
1478 #. type: TH
1479 #: build/C/man3/aio_error.3:24
1480 #, no-wrap
1481 msgid "AIO_ERROR"
1482 msgstr "AIO_ERROR"
1483
1484 #. type: TH
1485 #: build/C/man3/aio_error.3:24 build/C/man3/aio_return.3:24
1486 #, no-wrap
1487 msgid "2013-07-04"
1488 msgstr "2013-07-04"
1489
1490 #. type: Plain text
1491 #: build/C/man3/aio_error.3:27
1492 msgid "aio_error - get error status of asynchronous I/O operation"
1493 msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する"
1494
1495 #. type: Plain text
1496 #: build/C/man3/aio_error.3:31
1497 msgid "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1498 msgstr "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1499
1500 #. type: Plain text
1501 #: build/C/man3/aio_error.3:44
1502 msgid ""
1503 "The B<aio_error>()  function returns the error status for the asynchronous I/"
1504 "O request with control block pointed to by I<aiocbp>.  (See B<aio>(7)  for a "
1505 "description of the I<aiocb> structure.)"
1506 msgstr ""
1507 "B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
1508 "ス\n"
1509 "トのエラー状態を返す。(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1510
1511 #. type: Plain text
1512 #: build/C/man3/aio_error.3:46
1513 msgid "This function returns one of the following:"
1514 msgstr "この関数の返り値は以下のいずれかである。"
1515
1516 #. type: IP
1517 #: build/C/man3/aio_error.3:46 build/C/man3/aio_error.3:50
1518 #: build/C/man3/aio_error.3:53 build/C/man3/aio_error.3:55
1519 #: build/C/man3/aio_suspend.3:43 build/C/man3/aio_suspend.3:47
1520 #: build/C/man3/aio_suspend.3:49
1521 #, no-wrap
1522 msgid "*"
1523 msgstr "*"
1524
1525 #. type: Plain text
1526 #: build/C/man3/aio_error.3:50
1527 msgid "B<EINPROGRESS>, if the request has not been completed yet."
1528 msgstr "B<EINPROGRESS> (リクエストがまだ完了していない場合)"
1529
1530 #. type: Plain text
1531 #: build/C/man3/aio_error.3:53
1532 msgid "B<ECANCELED>, if the request was canceled."
1533 msgstr "B<ECANCELED> (リクエストがキャンセルされた場合)"
1534
1535 #. type: Plain text
1536 #: build/C/man3/aio_error.3:55
1537 msgid "0, if the request completed successfully."
1538 msgstr "0 (リクエストが正常に完了した場合)"
1539
1540 #. type: Plain text
1541 #: build/C/man3/aio_error.3:66
1542 msgid ""
1543 "A positive error number, if the asynchronous I/O operation failed.  This is "
1544 "the same value that would have been stored in the I<errno> variable in the "
1545 "case of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or "
1546 "B<fdatasync>(2)  call."
1547 msgstr ""
1548 "正のエラー番号 (非同期 I/O 命令が失敗した場合)。\n"
1549 "同期の B<read>(2), B<write>(2), B<fsync>(2), B<fdatasync>(2) の呼び出しの場合"
1550 "で\n"
1551 "I<errno> 変数に格納されるのと同じ値になる。"
1552
1553 #. type: Plain text
1554 #: build/C/man3/aio_error.3:74
1555 msgid ""
1556 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
1557 "of which the return status (see B<aio_return>(3))  has not been retrieved "
1558 "yet."
1559 msgstr ""
1560 "I<aiocbp> が、まだ返り値 (return status)  (B<aio_return>(3)  を参照) が取得さ"
1561 "れていない非同期 I/O リクエストの制御ブロックを指していない。"
1562
1563 #. type: Plain text
1564 #: build/C/man3/aio_error.3:78
1565 msgid "B<aio_error>()  is not implemented."
1566 msgstr "B<aio_error>() は実装されていない。"
1567
1568 #. type: Plain text
1569 #: build/C/man3/aio_error.3:82
1570 msgid "The B<aio_error>()  function is available since glibc 2.1."
1571 msgstr "B<aio_error>() 関数は glibc 2.1 以降で利用できる。"
1572
1573 #. type: SH
1574 #: build/C/man3/aio_error.3:82 build/C/man3/aio_return.3:77
1575 #, no-wrap
1576 msgid "ATTRIBUTES"
1577 msgstr "属性"
1578
1579 #. type: SS
1580 #: build/C/man3/aio_error.3:83 build/C/man3/aio_return.3:78
1581 #, no-wrap
1582 msgid "Multithreading (see pthreads(7))"
1583 msgstr "マルチスレッディング (pthreads(7) 参照)"
1584
1585 #. type: Plain text
1586 #: build/C/man3/aio_error.3:87
1587 msgid "The B<aio_error>()  function is thread-safe."
1588 msgstr "B<aio_error>() 関数はスレッドセーフである。"
1589
1590 #. type: Plain text
1591 #: build/C/man3/aio_error.3:101
1592 msgid ""
1593 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1594 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1595 msgstr ""
1596 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1597 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1598
1599 #. type: TH
1600 #: build/C/man3/aio_fsync.3:24
1601 #, no-wrap
1602 msgid "AIO_FSYNC"
1603 msgstr "AIO_FSYNC"
1604
1605 #. type: Plain text
1606 #: build/C/man3/aio_fsync.3:27
1607 msgid "aio_fsync - asynchronous file synchronization"
1608 msgstr "aio_fsync - 非同期ファイルを同期させる"
1609
1610 #. type: Plain text
1611 #: build/C/man3/aio_fsync.3:31
1612 msgid "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1613 msgstr "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1614
1615 #. type: Plain text
1616 #: build/C/man3/aio_fsync.3:44
1617 msgid ""
1618 "The B<aio_fsync>()  function does a sync on all outstanding asynchronous I/O "
1619 "operations associated with I<aiocbp-E<gt>aio_fildes>.  (See B<aio>(7)  for a "
1620 "description of the I<aiocb> structure.)"
1621 msgstr ""
1622 "B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ\n"
1623 "完了していない全ての非同期 I/O 操作を同期させる。\n"
1624 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
1625
1626 #. type: Plain text
1627 #: build/C/man3/aio_fsync.3:58
1628 msgid ""
1629 "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
1630 "operations shall be completed as if by a call of B<fsync>(2), and if I<op> "
1631 "is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>(2)."
1632 msgstr ""
1633 "より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全"
1634 "て\n"
1635 "の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また\n"
1636 "I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版となる。"
1637
1638 #. type: Plain text
1639 #: build/C/man3/aio_fsync.3:60
1640 msgid "Note that this is a request only; it does not wait for I/O completion."
1641 msgstr ""
1642 "この関数はリクエストを行うだけである点に注意すること。\n"
1643 "I/O の完了の待ち合わせは行わない。"
1644
1645 #. type: Plain text
1646 #: build/C/man3/aio_fsync.3:73
1647 msgid ""
1648 "Apart from I<aio_fildes>, the only field in the structure pointed to by "
1649 "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
1650 "I<sigevent> structure, described in B<sigevent>(7)), which indicates the "
1651 "desired type of asynchronous notification at completion.  All other fields "
1652 "are ignored."
1653 msgstr ""
1654 "I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes>\n"
1655 "以外に使用されるのは I<aio_sigevent> フィールド (I<sigevent> 構造体、説明は\n"
1656 "B<sigevent>(7) 参照) のみである。このフィールドは、完了時の非同期通知に使用\n"
1657 "したいタイプを示す。 その他のフィールドは無視される。"
1658
1659 #. type: Plain text
1660 #: build/C/man3/aio_fsync.3:79
1661 msgid ""
1662 "On success (the sync request was successfully queued)  this function returns "
1663 "0.  On error, -1 is returned, and I<errno> is set appropriately."
1664 msgstr ""
1665 "成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 "
1666 "を返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
1667
1668 #. type: TP
1669 #: build/C/man3/aio_fsync.3:80 build/C/man3/aio_read.3:104
1670 #: build/C/man3/aio_suspend.3:89 build/C/man3/aio_write.3:111
1671 #: build/C/man2/io_cancel.2:43 build/C/man2/io_setup.2:38
1672 #: build/C/man2/io_submit.2:38 build/C/man3/lio_listio.3:150
1673 #: build/C/man3/lio_listio.3:153
1674 #, no-wrap
1675 msgid "B<EAGAIN>"
1676 msgstr "B<EAGAIN>"
1677
1678 #. type: Plain text
1679 #: build/C/man3/aio_fsync.3:83 build/C/man3/aio_read.3:107
1680 #: build/C/man3/aio_write.3:114 build/C/man3/lio_listio.3:153
1681 msgid "Out of resources."
1682 msgstr "リソースが足りない。"
1683
1684 #. type: Plain text
1685 #: build/C/man3/aio_fsync.3:87 build/C/man3/aio_write.3:118
1686 msgid "I<aio_fildes> is not a valid file descriptor open for writing."
1687 msgstr ""
1688 "I<aio_fildes> が書き込みのためにオープンされた有効なファイルディスクリプター"
1689 "ではない。"
1690
1691 #. type: Plain text
1692 #: build/C/man3/aio_fsync.3:95
1693 msgid ""
1694 "Synchronized I/O is not supported for this file, or I<op> is not B<O_SYNC> "
1695 "or B<O_DSYNC>."
1696 msgstr ""
1697 "このファイルでは同期 I/O がサポートされていない。\n"
1698 "または I<op> が B<O_SYNC> でも B<O_DSYNC> でもない。"
1699
1700 #. type: Plain text
1701 #: build/C/man3/aio_fsync.3:99
1702 msgid "B<aio_fsync>()  is not implemented."
1703 msgstr "B<aio_fsync>() は実装されていない。"
1704
1705 #. type: Plain text
1706 #: build/C/man3/aio_fsync.3:103
1707 msgid "The B<aio_fsync>()  function is available since glibc 2.1."
1708 msgstr "The B<aio_fsync>() 関数は glibc 2.1 以降で利用できる。"
1709
1710 #. type: Plain text
1711 #: build/C/man3/aio_fsync.3:115
1712 msgid ""
1713 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1714 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), "
1715 "B<sigevent>(7)"
1716 msgstr ""
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), "
1719 "B<sigevent>(7)"
1720
1721 #. type: TH
1722 #: build/C/man3/aio_init.3:26
1723 #, no-wrap
1724 msgid "AIO_INIT"
1725 msgstr "AIO_INIT"
1726
1727 #. type: TH
1728 #: build/C/man3/aio_init.3:26
1729 #, no-wrap
1730 msgid "2012-04-26"
1731 msgstr "2012-04-26"
1732
1733 #. type: Plain text
1734 #: build/C/man3/aio_init.3:29
1735 msgid "aio_init - asynchronous I/O initialization"
1736 msgstr "aio_init - 非同期 I/O の初期化"
1737
1738 #. type: Plain text
1739 #: build/C/man3/aio_init.3:33
1740 #, no-wrap
1741 msgid ""
1742 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
1743 "B<#include E<lt>aio.hE<gt>>\n"
1744 msgstr ""
1745 "B<#define _GNU_SOURCE>         /* See feature_test_macros(7) */\n"
1746 "B<#include E<lt>aio.hE<gt>>\n"
1747
1748 #. type: Plain text
1749 #: build/C/man3/aio_init.3:35
1750 #, no-wrap
1751 msgid "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1752 msgstr "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1753
1754 #. type: Plain text
1755 #: build/C/man3/aio_init.3:45
1756 msgid ""
1757 "The GNU-specific B<aio_init>()  function allows the caller to provide tuning "
1758 "hints to the glibc POSIX AIO implementation.  Use of this function is "
1759 "optional, but to be effective, it must be called before employing any other "
1760 "functions in the POSIX AIO API."
1761 msgstr ""
1762 "GNU 固有の B<aio_init>() 関数を使うと、呼び出し側が glibc の POSIX AIO 実装"
1763 "に\n"
1764 "対して調整 (チューニング) のヒントを与えることができる。この関数は使用しな"
1765 "く\n"
1766 "てもよいが、この関数が効果を持つには、POSIX AIO API の他の関数を利用する前"
1767 "に\n"
1768 "呼び出さなければならない。"
1769
1770 #. type: Plain text
1771 #: build/C/man3/aio_init.3:49
1772 msgid ""
1773 "The tuning information is provided in the buffer pointed to by the argument "
1774 "I<init>.  This buffer is a structure of the following form:"
1775 msgstr ""
1776 "チューニングの情報は、引き数 I<init> が指すバッファーで与える。\n"
1777 "このバッファーは以下の形式の構造体である。"
1778
1779 #. type: Plain text
1780 #: build/C/man3/aio_init.3:64
1781 #, no-wrap
1782 msgid ""
1783 "struct aioinit {\n"
1784 "    int aio_threads;    /* Maximum number of threads */\n"
1785 "    int aio_num;        /* Number of expected simultaneous\n"
1786 "                           requests */\n"
1787 "    int aio_locks;      /* Not used */\n"
1788 "    int aio_usedba;     /* Not used */\n"
1789 "    int aio_debug;      /* Not used */\n"
1790 "    int aio_numusers;   /* Not used */\n"
1791 "    int aio_idle_time;  /* Number of seconds before idle thread\n"
1792 "                           terminates (since glibc 2.2) */\n"
1793 "    int aio_reserved;\n"
1794 "};\n"
1795 msgstr ""
1796 "struct aioinit {\n"
1797 "    int aio_threads;    /* Maximum number of threads */\n"
1798 "    int aio_num;        /* Number of expected simultaneous\n"
1799 "                           requests */\n"
1800 "    int aio_locks;      /* Not used */\n"
1801 "    int aio_usedba;     /* Not used */\n"
1802 "    int aio_debug;      /* Not used */\n"
1803 "    int aio_numusers;   /* Not used */\n"
1804 "    int aio_idle_time;  /* Number of seconds before idle thread\n"
1805 "                           terminates (since glibc 2.2) */\n"
1806 "    int aio_reserved;\n"
1807 "};\n"
1808
1809 #. type: Plain text
1810 #: build/C/man3/aio_init.3:70
1811 msgid "The following fields are used in the I<aioinit> structure:"
1812 msgstr "I<aioinit> 構造体のフィールドのうち以下が使用される。"
1813
1814 #. type: TP
1815 #: build/C/man3/aio_init.3:70
1816 #, no-wrap
1817 msgid "I<aio_threads>"
1818 msgstr "I<aio_threads>"
1819
1820 #. type: Plain text
1821 #: build/C/man3/aio_init.3:78
1822 msgid ""
1823 "This field specifies the maximum number of worker threads that may be used "
1824 "by the implementation.  If the number of outstanding I/O operations exceeds "
1825 "this limit, then excess operations will be queued until a worker thread "
1826 "becomes free.  If this field is specified with a value less than 1, the "
1827 "value 1 is used.  The default value is 20."
1828 msgstr ""
1829 "このフィールドは、AIO の実装が使用できるワーカースレッド数の最大値を指定す"
1830 "る。\n"
1831 "完了していない I/O 操作の数がこの上限を超えた場合、超過した操作は\n"
1832 "空いたワーカースレッドができるまでキューに入る。\n"
1833 "このフィールドに 1 未満の値を指定した場合には、値 1 が使用される。\n"
1834 "デフォルト値は 20 である。"
1835
1836 #. type: TP
1837 #: build/C/man3/aio_init.3:78
1838 #, no-wrap
1839 msgid "I<aio_num>"
1840 msgstr "I<aio_num>"
1841
1842 #.  FIXME . But, if aio_num > 32, the behavior looks strange. See
1843 #.  http://sourceware.org/bugzilla/show_bug.cgi?id=12083
1844 #. type: Plain text
1845 #: build/C/man3/aio_init.3:87
1846 msgid ""
1847 "This field should specify the maximum number of simultaneous I/O requests "
1848 "that the caller expects to enqueue.  If a value less than 32 is specified "
1849 "for this field, it is rounded up to 32.  The default value is 64."
1850 msgstr ""
1851 "このフィールドは、呼び出し側がキューに入れる予定の\n"
1852 "同時 I/O リクエスト数の最大値を指定する。\n"
1853 "このフィールドに 32 未満の値が指定された場合、値は 32 に切り上げられる。\n"
1854 "デフォルト値は 64 である。"
1855
1856 #. type: TP
1857 #: build/C/man3/aio_init.3:87
1858 #, no-wrap
1859 msgid "I<aio_idle_time>"
1860 msgstr "I<aio_idle_time>"
1861
1862 #. type: Plain text
1863 #: build/C/man3/aio_init.3:93
1864 msgid ""
1865 "This field specifies the amount of time in seconds that a worker thread "
1866 "should wait for further requests before terminating, after having completed "
1867 "a previous request.  The default value is 1."
1868 msgstr ""
1869 "このフィールドは、あるワーカースレッドが、前のリクエストの処理を完了してか"
1870 "ら、\n"
1871 "次のリクエストをどのくらい時間待つかを秒単位で指定する。\n"
1872 "指定した時間を経過しても次のリクエストがなければ、\n"
1873 "そのワーカースレッドは終了される。デフォルト値は 1 秒である。"
1874
1875 #. type: Plain text
1876 #: build/C/man3/aio_init.3:97
1877 msgid "The B<aio_init>()  function is available since glibc 2.1."
1878 msgstr "The B<aio_init>() 関数は glibc 2.1 以降で利用できる。"
1879
1880 #. type: Plain text
1881 #: build/C/man3/aio_init.3:99
1882 msgid "This function is a GNU extension."
1883 msgstr "この関数は GNU による拡張である。"
1884
1885 #. type: Plain text
1886 #: build/C/man3/aio_init.3:101
1887 msgid "B<aio>(7)"
1888 msgstr "B<aio>(7)"
1889
1890 #. type: TH
1891 #: build/C/man3/aio_read.3:24
1892 #, no-wrap
1893 msgid "AIO_READ"
1894 msgstr "AIO_READ"
1895
1896 #. type: Plain text
1897 #: build/C/man3/aio_read.3:27
1898 msgid "aio_read - asynchronous read"
1899 msgstr "aio_read - 非同期で読み込む"
1900
1901 #. type: Plain text
1902 #: build/C/man3/aio_read.3:31
1903 msgid "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1904 msgstr "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1905
1906 #. type: Plain text
1907 #: build/C/man3/aio_read.3:41
1908 msgid ""
1909 "The B<aio_read>()  function queues the I/O request described by the buffer "
1910 "pointed to by I<aiocbp>.  This function is the asynchronous analog of "
1911 "B<read>(2).  The arguments of the call"
1912 msgstr ""
1913 "B<aio_read>() 関数は、I<aiocbp> が指すバッファーに記載された I/O リクエスト"
1914 "を\n"
1915 "キューに入れる。この関数は B<read>(2) の非同期版である。\n"
1916 "呼び出し"
1917
1918 #. type: Plain text
1919 #: build/C/man3/aio_read.3:43
1920 #, no-wrap
1921 msgid "    read(fd, buf, count)\n"
1922 msgstr "    read(fd, buf, count)\n"
1923
1924 #. type: Plain text
1925 #: build/C/man3/aio_read.3:56 build/C/man3/aio_write.3:56
1926 msgid ""
1927 "correspond (in order) to the fields I<aio_fildes>, I<aio_buf>, and "
1928 "I<aio_nbytes> of the structure pointed to by I<aiocbp>.  (See B<aio>(7)  for "
1929 "a description of the I<aiocb> structure.)"
1930 msgstr ""
1931 "の各引き数は I<aiocb> が指す構造体の I<aio_fildes>, I<aio_buf>, "
1932 "I<aio_nbytes>\n"
1933 "に (この順序で) 対応する (I<aiocb> 構造体の説明は B<aio>(7) を参照)。"
1934
1935 #. type: Plain text
1936 #: build/C/man3/aio_read.3:62
1937 msgid ""
1938 "The data is read starting at the absolute file offset I<aiocbp-"
1939 "E<gt>aio_offset>, regardless of the current file offset.  After the call, "
1940 "the value of the current file offset is unspecified."
1941 msgstr ""
1942 "データの読み込みは、カレントのファイルオフセットに関係なく、\n"
1943 "絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として行われる。\n"
1944 "呼び出しの後のカレントのファイルオフセットは規定されていない。"
1945
1946 #. type: Plain text
1947 #: build/C/man3/aio_read.3:75
1948 msgid ""
1949 "The \"asynchronous\" means that this call returns as soon as the request has "
1950 "been enqueued; the read may or may not have completed when the call "
1951 "returns.  One tests for completion using B<aio_error>(3).  The return status "
1952 "of a completed I/O operation can be obtained by B<aio_return>(3).  "
1953 "Asynchronous notification of I/O completion can be obtained by setting "
1954 "I<aiocbp-E<gt>aio_sigevent> appropriately; see B<sigevent>(7)  for details."
1955 msgstr ""
1956 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
1957 "る」\n"
1958 "ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない"
1959 "し、\n"
1960 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
1961 "きる。\n"
1962 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
1963 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
1964 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
1965
1966 #. type: Plain text
1967 #: build/C/man3/aio_read.3:82 build/C/man3/aio_write.3:89
1968 msgid ""
1969 "If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the "
1970 "asynchronous operation is submitted at a priority equal to that of the "
1971 "calling process minus I<aiocbp-E<gt>aio_reqprio>."
1972 msgstr ""
1973 "B<_POSIX_PRIORITIZED_IO> が定義されていて、 かつファイルがこれをサポートして"
1974 "いる場合、 非同期操作は呼び出したプロセスの優先度から I<aiocbp-"
1975 "E<gt>aio_reqprio> を引いた優先度で登録 (submit) される。"
1976
1977 #. type: Plain text
1978 #: build/C/man3/aio_read.3:86 build/C/man3/aio_write.3:93
1979 msgid "The field I<aiocbp-E<gt>aio_lio_opcode> is ignored."
1980 msgstr "フィールド I<aiocbp-E<gt>aio_lio_opcode> は無視される。"
1981
1982 #. type: Plain text
1983 #: build/C/man3/aio_read.3:88
1984 msgid "No data is read from a regular file beyond its maximum offset."
1985 msgstr ""
1986 "最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。"
1987
1988 #. type: Plain text
1989 #: build/C/man3/aio_read.3:103 build/C/man3/aio_write.3:110
1990 msgid ""
1991 "On success, 0 is returned.  On error, the request is not enqueued, -1 is "
1992 "returned, and I<errno> is set appropriately.  If an error is detected only "
1993 "later, it will be reported via B<aio_return>(3)  (returns status -1) and "
1994 "B<aio_error>(3)  (error status\\(emwhatever one would have gotten in "
1995 "I<errno>, such as B<EBADF>)."
1996 msgstr ""
1997 "成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、\n"
1998 "-1 が返されて、 I<errno> が適切に設定される。 エラーは後でのみ検知された場合"
1999 "は、\n"
2000 "エラーは B<aio_return>(3) と B<aio_error>(3) 経由で報告されることになる\n"
2001 "(B<aio_return>(3) は状態 -1 を返し、B<aio_error>(3) でエラー状態\\(em\n"
2002 "I<errno> で取得できる B<EBADF> のようなエラー状態が返される)。"
2003
2004 #. type: Plain text
2005 #: build/C/man3/aio_read.3:111
2006 msgid "I<aio_fildes> is not a valid file descriptor open for reading."
2007 msgstr ""
2008 "I<aio_fildes> は読み込みのためにオープンされた有効なファイルディスクリプター"
2009 "でない。"
2010
2011 #. type: Plain text
2012 #: build/C/man3/aio_read.3:119
2013 msgid ""
2014 "One or more of I<aio_offset>, I<aio_reqprio>, or I<aio_nbytes> are invalid."
2015 msgstr ""
2016 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2017
2018 #. type: Plain text
2019 #: build/C/man3/aio_read.3:123
2020 msgid "B<aio_read>()  is not implemented."
2021 msgstr "B<aio_read>() は実装されていない。"
2022
2023 #. type: TP
2024 #: build/C/man3/aio_read.3:123
2025 #, no-wrap
2026 msgid "B<EOVERFLOW>"
2027 msgstr "B<EOVERFLOW>"
2028
2029 #. type: Plain text
2030 #: build/C/man3/aio_read.3:128
2031 msgid ""
2032 "The file is a regular file, we start reading before end-of-file and want at "
2033 "least one byte, but the starting position is past the maximum offset for "
2034 "this file."
2035 msgstr ""
2036 "ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 "
2037 "少なくとも 1 バイトを読み込もうとした。 しかし開始位置がこのファイルの最大オ"
2038 "フセットを超えていた。"
2039
2040 #. type: Plain text
2041 #: build/C/man3/aio_read.3:132
2042 msgid "The B<aio_read>()  function is available since glibc 2.1."
2043 msgstr "The B<aio_read>() 関数は glibc 2.1 以降で利用できる。"
2044
2045 #.  or the control block of the operation
2046 #. type: Plain text
2047 #: build/C/man3/aio_read.3:142
2048 msgid ""
2049 "It is a good idea to zero out the control block before use.  The control "
2050 "block must not be changed while the read operation is in progress.  The "
2051 "buffer area being read into must not be accessed during the operation or "
2052 "undefined results may occur.  The memory areas involved must remain valid."
2053 msgstr ""
2054 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2055 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファー"
2056 "領域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定にな"
2057 "る。 これに含まれるメモリー領域は、有効なままにしなければならない。"
2058
2059 #. type: Plain text
2060 #: build/C/man3/aio_read.3:146 build/C/man3/aio_write.3:151
2061 #: build/C/man3/lio_listio.3:219
2062 msgid ""
2063 "Simultaneous I/O operations specifying the same I<aiocb> structure produce "
2064 "undefined results."
2065 msgstr ""
2066 "同じ I<aiocb> 構造体を指定して同時に複数の I/O 操作を行った場合、\n"
2067 "どのような結果になるかは不定である。"
2068
2069 #. type: Plain text
2070 #: build/C/man3/aio_read.3:158
2071 msgid ""
2072 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2073 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2074 msgstr ""
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)"
2077
2078 #. type: TH
2079 #: build/C/man3/aio_return.3:24
2080 #, no-wrap
2081 msgid "AIO_RETURN"
2082 msgstr "AIO_RETURN"
2083
2084 #. type: Plain text
2085 #: build/C/man3/aio_return.3:27
2086 msgid "aio_return - get return status of asynchronous I/O operation"
2087 msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する"
2088
2089 #. type: Plain text
2090 #: build/C/man3/aio_return.3:31
2091 msgid "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2092 msgstr "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
2093
2094 #. type: Plain text
2095 #: build/C/man3/aio_return.3:44
2096 msgid ""
2097 "The B<aio_return>()  function returns the final return status for the "
2098 "asynchronous I/O request with control block pointed to by I<aiocbp>.  (See "
2099 "B<aio>(7)  for a description of the I<aiocb> structure.)"
2100 msgstr ""
2101 "B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O\n"
2102 "リクエストの最終的な返り値を返す。\n"
2103 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2104
2105 #. type: Plain text
2106 #: build/C/man3/aio_return.3:49
2107 msgid ""
2108 "This function should be called only once for any given request, after "
2109 "B<aio_error>(3)  returns something other than B<EINPROGRESS>."
2110 msgstr ""
2111 "この関数は、 B<aio_error>(3)  が B<EINPROGRESS> 以外を返した後で、 与えられた"
2112 "リクエストに対して 1 回だけ呼ばれるべきである。"
2113
2114 #. type: Plain text
2115 #: build/C/man3/aio_return.3:58
2116 msgid ""
2117 "If the asynchronous I/O operation has completed, this function returns the "
2118 "value that would have been returned in case of a synchronous B<read>(2), "
2119 "B<write>(2), B<fsync>(2)  or B<fdatasync>(2), call."
2120 msgstr ""
2121 "非同期 I/O 操作が完了した場合、この関数は、同期呼び出し B<read>(2),\n"
2122 "B<write>(2), B<fsync>(2), B<fdatasync>(2) が返すのと同じ値を返す。"
2123
2124 #. type: Plain text
2125 #: build/C/man3/aio_return.3:63
2126 msgid ""
2127 "If the asynchronous I/O operation has not yet completed, the return value "
2128 "and effect of B<aio_return>()  are undefined."
2129 msgstr ""
2130 "非同期 I/O 操作が完了していない場合、\n"
2131 "B<aio_return>() の返り値とその影響は不定である。"
2132
2133 #. type: Plain text
2134 #: build/C/man3/aio_return.3:69
2135 msgid ""
2136 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
2137 "of which the return status has not been retrieved yet."
2138 msgstr ""
2139 "I<aiocbp> が、返り値がまだ取得されていない非同期 I/O リクエストの 制御ブロッ"
2140 "クを指していない。"
2141
2142 #. type: Plain text
2143 #: build/C/man3/aio_return.3:73
2144 msgid "B<aio_return>()  is not implemented."
2145 msgstr "B<aio_return>() は実装されていない。"
2146
2147 #. type: Plain text
2148 #: build/C/man3/aio_return.3:77
2149 msgid "The B<aio_return>()  function is available since glibc 2.1."
2150 msgstr "The B<aio_return>() 関数は glibc 2.1 以降で利用できる。"
2151
2152 #. type: Plain text
2153 #: build/C/man3/aio_return.3:82
2154 msgid "The B<aio_return>()  function is thread-safe."
2155 msgstr "The B<aio_return>() 関数はスレッドセーフである。"
2156
2157 #. type: Plain text
2158 #: build/C/man3/aio_return.3:96
2159 msgid ""
2160 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2161 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2162 msgstr ""
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)"
2165
2166 #. type: TH
2167 #: build/C/man3/aio_suspend.3:25
2168 #, no-wrap
2169 msgid "AIO_SUSPEND"
2170 msgstr "AIO_SUSPEND"
2171
2172 #. type: Plain text
2173 #: build/C/man3/aio_suspend.3:28
2174 msgid "aio_suspend - wait for asynchronous I/O operation or timeout"
2175 msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ"
2176
2177 #. type: Plain text
2178 #: build/C/man3/aio_suspend.3:32 build/C/man3/lio_listio.3:30
2179 #, no-wrap
2180 msgid "B<#include E<lt>aio.hE<gt>>\n"
2181 msgstr "B<#include E<lt>aio.hE<gt>>\n"
2182
2183 #. type: Plain text
2184 #: build/C/man3/aio_suspend.3:34
2185 #, no-wrap
2186 msgid "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2187 msgstr "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2188
2189 #. type: Plain text
2190 #: build/C/man3/aio_suspend.3:36
2191 #, no-wrap
2192 msgid "B<                int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2193 msgstr "B<                int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2194
2195 #. type: Plain text
2196 #: build/C/man3/aio_suspend.3:38 build/C/man3/lio_listio.3:35
2197 #, no-wrap
2198 msgid "Link with I<-lrt>.\n"
2199 msgstr "I<-lrt> でリンクする。\n"
2200
2201 #. type: Plain text
2202 #: build/C/man3/aio_suspend.3:43
2203 msgid ""
2204 "The B<aio_suspend>()  function suspends the calling thread until one of the "
2205 "following occurs:"
2206 msgstr ""
2207 "B<aio_suspend>() 関数は、以下のいずれかが発生するまで\n"
2208 "呼び出したスレッドの実行を停止 (suspend) する。"
2209
2210 #. type: Plain text
2211 #: build/C/man3/aio_suspend.3:47
2212 msgid ""
2213 "One or more of the asynchronous I/O requests in the list I<aiocb_list> has "
2214 "completed."
2215 msgstr ""
2216 "I<aiocb_list> リスト内の非同期 I/O リクエストのうち、少なくとも一つが完了し"
2217 "た。"
2218
2219 #. type: Plain text
2220 #: build/C/man3/aio_suspend.3:49
2221 msgid "A signal is delivered."
2222 msgstr "シグナルが配送された。"
2223
2224 #. type: Plain text
2225 #: build/C/man3/aio_suspend.3:56
2226 msgid ""
2227 "I<timeout> is not NULL and the specified time interval has passed.  (For "
2228 "details of the I<timespec> structure, see B<nanosleep>(2).)"
2229 msgstr ""
2230 "I<timeout> が NULL でない場合に、指定した時間が経過した\n"
2231 "(I<timespec> 構造体の詳細は B<nanosleep>(2) を参照)。"
2232
2233 #. type: Plain text
2234 #: build/C/man3/aio_suspend.3:74
2235 msgid ""
2236 "The I<nitems> argument specifies the number of items in I<aiocb_list>.  Each "
2237 "item in the list pointed to by I<aiocb_list> must be either NULL (and then "
2238 "is ignored), or a pointer to a control block on which I/O was initiated "
2239 "using B<aio_read>(3), B<aio_write>(3), or B<lio_listio>(3).  (See B<aio>(7)  "
2240 "for a description of the I<aiocb> structure.)"
2241 msgstr ""
2242 "I<nitems> 引き数は I<aiocb_list> の要素数を指定する。\n"
2243 "I<aiocb_list> が指すリストの各要素は、NULL (これは無視される) か、\n"
2244 "B<aio_read>(3), B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された\n"
2245 "制御ブロックへのポインターでなければならない。\n"
2246 "(I<aiocb> 構造体の説明は B<aio>(7) を参照)"
2247
2248 #. type: Plain text
2249 #: build/C/man3/aio_suspend.3:80
2250 msgid ""
2251 "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
2252 "timeout interval (see B<clock_gettime>(3))."
2253 msgstr ""
2254 "B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウト"
2255 "の\n"
2256 "間隔が計測される (B<clock_gettime>(3) を参照)。"
2257
2258 #. type: Plain text
2259 #: build/C/man3/aio_suspend.3:88
2260 msgid ""
2261 "If this function returns after completion of one of the I/O requests "
2262 "specified in I<aiocb_list>, 0 is returned.  Otherwise, -1 is returned, and "
2263 "I<errno> is set to indicate the error."
2264 msgstr ""
2265 "I<aiocb_list> で指定された I/O リクエストの 1 つが完了した後に\n"
2266 "この関数が返った場合は、0 が返される。\n"
2267 "それ以外の場合は、 -1 が返り、 I<errno> にエラーを示す値に設定される。"
2268
2269 #. type: Plain text
2270 #: build/C/man3/aio_suspend.3:93
2271 msgid ""
2272 "The call timed out before any of the indicated operations had completed."
2273 msgstr "指示された操作のどれも完了しないうちに、呼び出しがタイムアウトした。"
2274
2275 #. type: TP
2276 #: build/C/man3/aio_suspend.3:93 build/C/man2/io_getevents.2:49
2277 #: build/C/man3/lio_listio.3:169
2278 #, no-wrap
2279 msgid "B<EINTR>"
2280 msgstr "B<EINTR>"
2281
2282 #. type: Plain text
2283 #: build/C/man3/aio_suspend.3:99
2284 msgid ""
2285 "The call was ended by signal (possibly the completion signal of one of the "
2286 "operations we were waiting for); see B<signal>(7)."
2287 msgstr ""
2288 "この呼び出しがシグナルによって終了させられた (このシグナルは、完了を待ってい"
2289 "た\n"
2290 "操作のいずれかの完了シグナルの可能性もある)。B<signal>(7) 参照。"
2291
2292 #. type: Plain text
2293 #: build/C/man3/aio_suspend.3:103
2294 msgid "B<aio_suspend>()  is not implemented."
2295 msgstr "B<aio_suspend>() は実装されていない。"
2296
2297 #. type: Plain text
2298 #: build/C/man3/aio_suspend.3:107
2299 msgid "The B<aio_suspend>()  function is available since glibc 2.1."
2300 msgstr "The B<aio_suspend>() 関数は glibc 2.1 以降で利用できる。"
2301
2302 #. type: Plain text
2303 #: build/C/man3/aio_suspend.3:113
2304 msgid ""
2305 "One can achieve polling by using a non-NULL I<timeout> that specifies a zero "
2306 "time interval."
2307 msgstr ""
2308 "時間間隔が 0 であることを指定する NULL ではない I<timeout> を使って、ポーリン"
2309 "グを行うこともできる。"
2310
2311 #. type: Plain text
2312 #: build/C/man3/aio_suspend.3:119
2313 msgid ""
2314 "If one or more of the asynchronous I/O operations specified in I<aiocb_list> "
2315 "has already completed at the time of the call to B<aio_suspend>(), then the "
2316 "call returns immediately."
2317 msgstr ""
2318 "I<aiocb_list> リストで指定した非同期 I/O 操作のうち、\n"
2319 "B<aio_suspend>() を呼び出した時点ですでに完了したものがある場合、\n"
2320 "B<aio_suspend>() はすぐに返る。"
2321
2322 #. type: Plain text
2323 #: build/C/man3/aio_suspend.3:129
2324 msgid ""
2325 "To determine which I/O operations have completed after a successful return "
2326 "from B<aio_suspend>(), use B<aio_error>(3)  to scan the list of I<aiocb> "
2327 "structures pointed to by I<aiocb_list>."
2328 msgstr ""
2329 "B<aio_suspend>() が成功で返った後でどの I/O 操作が完了したかを特定するに"
2330 "は、\n"
2331 "B<aio_error>(3) を使って I<aiocb_list> が指す I<aiocb> 構造体のリストを\n"
2332 "スキャンする。"
2333
2334 #. type: Plain text
2335 #: build/C/man3/aio_suspend.3:139
2336 msgid ""
2337 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2338 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2339 msgstr ""
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)"
2342
2343 #. type: TH
2344 #: build/C/man3/aio_write.3:24
2345 #, no-wrap
2346 msgid "AIO_WRITE"
2347 msgstr "AIO_WRITE"
2348
2349 #. type: Plain text
2350 #: build/C/man3/aio_write.3:27
2351 msgid "aio_write - asynchronous write"
2352 msgstr "aio_write - 非同期で書き込む"
2353
2354 #. type: Plain text
2355 #: build/C/man3/aio_write.3:31
2356 msgid "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2357 msgstr "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2358
2359 #. type: Plain text
2360 #: build/C/man3/aio_write.3:41
2361 msgid ""
2362 "The B<aio_write>()  function queues the I/O request described by the buffer "
2363 "pointed to by I<aiocbp>.  This function is the asynchronous analog of "
2364 "B<write>(2).  The arguments of the call"
2365 msgstr ""
2366 "B<aio_write>() 関数は、I<aiocbp> が指すバッファーに記載された I/O リクエスト"
2367 "をキューに入れる。この関数は B<write>(2) の非同期版である。\n"
2368 "呼び出し"
2369
2370 #. type: Plain text
2371 #: build/C/man3/aio_write.3:43
2372 #, no-wrap
2373 msgid "    write(fd, buf, count)\n"
2374 msgstr "    write(fd, buf, count)\n"
2375
2376 #. type: Plain text
2377 #: build/C/man3/aio_write.3:69
2378 msgid ""
2379 "If B<O_APPEND> is not set, the data is written starting at the absolute file "
2380 "offset I<aiocbp-E<gt>aio_offset>, regardless of the current file offset.  If "
2381 "B<O_APPEND> is set, data is written at the end of the file in the same order "
2382 "as B<aio_write>()  calls are made.  After the call, the value of the current "
2383 "file offset is unspecified."
2384 msgstr ""
2385 "B<O_APPEND> が設定されない場合、カレントのファイルオフセットに関係なく、 \n"
2386 "データは絶対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込"
2387 "まれる。\n"
2388 "B<O_APPEND> が設定されている場合、データはファイルの末尾に、\n"
2389 "B<aio_write>() の呼び出しが行われたのと同じ順序で書き込まれる。\n"
2390 "この呼び出しの後のカレントのファイルオフセットは規定されていない。"
2391
2392 #. type: Plain text
2393 #: build/C/man3/aio_write.3:82
2394 msgid ""
2395 "The \"asynchronous\" means that this call returns as soon as the request has "
2396 "been enqueued; the write may or may not have completed when the call "
2397 "returns.  One tests for completion using B<aio_error>(3).  The return status "
2398 "of a completed I/O operation can be obtained B<aio_return>(3).  Asynchronous "
2399 "notification of I/O completion can be obtained by setting I<aiocbp-"
2400 "E<gt>aio_sigevent> appropriately; see B<sigevent>(7)  for details."
2401 msgstr ""
2402 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返"
2403 "る」\n"
2404 "ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れない"
2405 "し、\n"
2406 "完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテストで"
2407 "きる。\n"
2408 "完了した I/O 操作の返り値は B<aio_return>(3) で取得できる。\n"
2409 "I<aiocbp-E<gt>aio_sigevent> を適切に設定することで、\n"
2410 "I/O 完了の非同期通知は受けることもできる。詳細は B<sigevent>(7) を参照。"
2411
2412 #. type: Plain text
2413 #: build/C/man3/aio_write.3:95
2414 msgid "No data is written to a regular file beyond its maximum offset."
2415 msgstr "最大オフセットを超えた通常のファイルには、何もデータが書き込まれない。"
2416
2417 #. type: TP
2418 #: build/C/man3/aio_write.3:118
2419 #, no-wrap
2420 msgid "B<EFBIG>"
2421 msgstr "B<EFBIG>"
2422
2423 #. type: Plain text
2424 #: build/C/man3/aio_write.3:122
2425 msgid ""
2426 "The file is a regular file, we want to write at least one byte, but the "
2427 "starting position is at or beyond the maximum offset for this file."
2428 msgstr ""
2429 "ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。 "
2430 "しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。"
2431
2432 #. type: Plain text
2433 #: build/C/man3/aio_write.3:129
2434 msgid ""
2435 "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
2436 msgstr ""
2437 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2438
2439 #. type: Plain text
2440 #: build/C/man3/aio_write.3:133
2441 msgid "B<aio_write>()  is not implemented."
2442 msgstr "B<aio_write>() は実装されていない。"
2443
2444 #. type: Plain text
2445 #: build/C/man3/aio_write.3:137
2446 msgid "The B<aio_write>()  function is available since glibc 2.1."
2447 msgstr "The B<aio_write>() 関数は glibc 2.1 以降で利用できる。"
2448
2449 #.  or the control block of the operation
2450 #. type: Plain text
2451 #: build/C/man3/aio_write.3:147
2452 msgid ""
2453 "It is a good idea to zero out the control block before use.  The control "
2454 "block must not be changed while the write operation is in progress.  The "
2455 "buffer area being written out must not be accessed during the operation or "
2456 "undefined results may occur.  The memory areas involved must remain valid."
2457 msgstr ""
2458 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2459 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファー"
2460 "領域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定にな"
2461 "る。 これに含まれるメモリー領域は、有効なままにしなければならない。"
2462
2463 #. type: Plain text
2464 #: build/C/man3/aio_write.3:160
2465 msgid ""
2466 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2467 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2468 msgstr ""
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)"
2471
2472 #. type: TH
2473 #: build/C/man2/io_cancel.2:7
2474 #, no-wrap
2475 msgid "IO_CANCEL"
2476 msgstr "IO_CANCEL"
2477
2478 #. type: TH
2479 #: build/C/man2/io_cancel.2:7
2480 #, no-wrap
2481 msgid "2013-04-10"
2482 msgstr "2013-04-10"
2483
2484 #. type: Plain text
2485 #: build/C/man2/io_cancel.2:10
2486 msgid "io_cancel - cancel an outstanding asynchronous I/O operation"
2487 msgstr "io_cancel - 未処理の非同期 I/O 操作の取り消し"
2488
2489 #. type: Plain text
2490 #: build/C/man2/io_cancel.2:13 build/C/man2/io_destroy.2:13
2491 #: build/C/man2/io_setup.2:13 build/C/man2/io_submit.2:13
2492 #, no-wrap
2493 msgid "B<#include E<lt>linux/aio_abi.hE<gt>>          /* Defines needed types */\n"
2494 msgstr "B<#include E<lt>linux/aio_abi.hE<gt>>          /* 必要な型の定義 */\n"
2495
2496 #. type: Plain text
2497 #: build/C/man2/io_cancel.2:16
2498 #, no-wrap
2499 msgid ""
2500 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2501 "B<              struct io_event *>I<result>B<);>\n"
2502 msgstr ""
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"
2505
2506 #. type: Plain text
2507 #: build/C/man2/io_cancel.2:20 build/C/man2/io_destroy.2:19
2508 #: build/C/man2/io_getevents.2:22 build/C/man2/io_setup.2:19
2509 #: build/C/man2/io_submit.2:20
2510 msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
2511 msgstr ""
2512 "I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
2513 "を参照。"
2514
2515 #. type: Plain text
2516 #: build/C/man2/io_cancel.2:37
2517 msgid ""
2518 "The B<io_cancel>()  system call attempts to cancel an asynchronous I/O "
2519 "operation previously submitted with B<io_submit>(2).  The I<iocb> argument "
2520 "describes the operation to be canceled and the I<ctx_id> argument is the AIO "
2521 "context to which the operation was submitted.  If the operation is "
2522 "successfully canceled, the event will be copied into the memory pointed to "
2523 "by I<result> without being placed into the completion queue."
2524 msgstr ""
2525 "B<io_cancel>() システムコールは、過去に B<io_submit>(2) を使って登録された非"
2526 "同期 I/O (AIO) 操作の取り消しを行おうとする。 I<iocb> 引き数は取り消したい操"
2527 "作が示し、 I<ctx_id> 引き数は、取り消しを行う操作が登録された AIO コンテキス"
2528 "トである。操作の取り消しに成功すると、対象のイベントは I<result> で指されたメ"
2529 "モリーに コピーされる (このとき、完了キューへの移動は行われない)。"
2530
2531 #. type: Plain text
2532 #: build/C/man2/io_cancel.2:42
2533 msgid ""
2534 "On success, B<io_cancel>()  returns 0.  For the failure return, see NOTES."
2535 msgstr ""
2536 "成功した場合、 B<io_cancel>()  は 0 を返す。 失敗時の返り値については、「注"
2537 "意」の節を参照すること。"
2538
2539 #. type: Plain text
2540 #: build/C/man2/io_cancel.2:46
2541 msgid "The I<iocb> specified was not canceled."
2542 msgstr "指定された I<iocb> の取り消しが行われなかった。"
2543
2544 #. type: TP
2545 #: build/C/man2/io_cancel.2:46 build/C/man2/io_destroy.2:35
2546 #: build/C/man2/io_getevents.2:41 build/C/man2/io_setup.2:43
2547 #: build/C/man2/io_submit.2:44
2548 #, no-wrap
2549 msgid "B<EFAULT>"
2550 msgstr "B<EFAULT>"
2551
2552 #. type: Plain text
2553 #: build/C/man2/io_cancel.2:49 build/C/man2/io_submit.2:47
2554 msgid "One of the data structures points to invalid data."
2555 msgstr "データ構造の中に無効なデータを指しているものがある。"
2556
2557 #. type: Plain text
2558 #: build/C/man2/io_cancel.2:52 build/C/man2/io_destroy.2:41
2559 msgid "The AIO context specified by I<ctx_id> is invalid."
2560 msgstr "I<ctx_id> で指定された AIO コンテキストが無効である。"
2561
2562 #. type: Plain text
2563 #: build/C/man2/io_cancel.2:56
2564 msgid "B<io_cancel>()  is not implemented on this architecture."
2565 msgstr "B<io_cancel>()  はこのアーキテクチャーでは実装されていない。"
2566
2567 #. type: Plain text
2568 #: build/C/man2/io_cancel.2:59 build/C/man2/io_destroy.2:48
2569 #: build/C/man2/io_getevents.2:60 build/C/man2/io_setup.2:61
2570 #: build/C/man2/io_submit.2:63
2571 msgid "The asynchronous I/O system calls first appeared in Linux 2.5."
2572 msgstr "非同期 I/O システムコールは Linux 2.5 で初めて登場した。"
2573
2574 #. type: Plain text
2575 #: build/C/man2/io_cancel.2:64
2576 msgid ""
2577 "B<io_cancel>()  is Linux-specific and should not be used in programs that "
2578 "are intended to be portable."
2579 msgstr ""
2580 "B<io_cancel>()  は Linux 固有であり、移植を想定したプログラムで使用すべきでは"
2581 "ない。"
2582
2583 #.  http://git.fedorahosted.org/git/?p=libaio.git
2584 #. type: Plain text
2585 #: build/C/man2/io_cancel.2:73
2586 msgid ""
2587 "Glibc does not provide a wrapper function for this system call.  You could "
2588 "invoke it using B<syscall>(2).  But instead, you probably want to use the "
2589 "B<io_cancel>()  wrapper function provided by I<libaio>."
2590 msgstr ""
2591 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2592 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2593 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2594 " I<libaio> が提供している B<io_cancel> ラッパー関数を呼び出したい\n"
2595 "場合がほとんどであろう。"
2596
2597 #.  But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2598 #.  the system call.
2599 #. type: Plain text
2600 #: build/C/man2/io_cancel.2:94 build/C/man2/io_destroy.2:83
2601 #: build/C/man2/io_getevents.2:95 build/C/man2/io_submit.2:98
2602 msgid ""
2603 "Note that the I<libaio> wrapper function uses a different type "
2604 "(I<io_context_t>)  for the I<ctx_id> argument.  Note also that the I<libaio> "
2605 "wrapper does not follow the usual C library conventions for indicating "
2606 "errors: on error it returns a negated error number (the negative of one of "
2607 "the values listed in ERRORS).  If the system call is invoked via "
2608 "B<syscall>(2), then the return value follows the usual conventions for "
2609 "indicating an error: -1, with I<errno> set to a (positive) value that "
2610 "indicates the error."
2611 msgstr ""
2612 "I<libaio> のラッパー関数では I<ctx_id> 引き数に別の型\n"
2613 "(I<io_context_t>) が使われることに注意すること。\n"
2614 "また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
2615 "慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
2616 "挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
2617 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通\n"
2618 "知の慣習に したがってものとなり、エラーの場合には -1 が返り、 I<errno>\n"
2619 "にエラーを示す (正の) 値が設定される。"
2620
2621 #.  .SH AUTHOR
2622 #.  Kent Yoder.
2623 #. type: Plain text
2624 #: build/C/man2/io_cancel.2:102
2625 msgid ""
2626 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), "
2627 "B<aio>(7)"
2628 msgstr ""
2629 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), "
2630 "B<aio>(7)"
2631
2632 #. type: TH
2633 #: build/C/man2/io_destroy.2:7
2634 #, no-wrap
2635 msgid "IO_DESTROY"
2636 msgstr "IO_DESTROY"
2637
2638 #. type: TH
2639 #: build/C/man2/io_destroy.2:7 build/C/man2/io_getevents.2:7
2640 #, no-wrap
2641 msgid "2013-04-08"
2642 msgstr "2013-04-08"
2643
2644 #. type: Plain text
2645 #: build/C/man2/io_destroy.2:10
2646 msgid "io_destroy - destroy an asynchronous I/O context"
2647 msgstr "io_destroy - 非同期 I/O コンテキストの消去"
2648
2649 #. type: Plain text
2650 #: build/C/man2/io_destroy.2:15
2651 #, no-wrap
2652 msgid "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
2653 msgstr "B<int io_destroy(aio_context_t >I<ctx_id>B<);>\n"
2654
2655 #. type: Plain text
2656 #: build/C/man2/io_destroy.2:29
2657 msgid ""
2658 "The B<io_destroy>()  system call will attempt to cancel all outstanding "
2659 "asynchronous I/O operations against I<ctx_id>, will block on the completion "
2660 "of all operations that could not be canceled, and will destroy the I<ctx_id>."
2661 msgstr ""
2662 "B<io_destroy>() システムコールは、実行中の I<ctx_id> で指定された非同期 I/O "
2663 "操作をすべて取り消そうとし、取り消せなかったすべての操作が完了するまで停止 "
2664 "(block) し、その後 I<ctx_id> の削除を行う。"
2665
2666 #. type: Plain text
2667 #: build/C/man2/io_destroy.2:34
2668 msgid ""
2669 "On success, B<io_destroy>()  returns 0.  For the failure return, see NOTES."
2670 msgstr ""
2671 "成功した場合、 B<io_destroy>()  は 0 を返す。 失敗時の返り値については、「注"
2672 "意」の節を参照すること。"
2673
2674 #. type: Plain text
2675 #: build/C/man2/io_destroy.2:38
2676 msgid "The context pointed to is invalid."
2677 msgstr "データ構造の中に無効なデータを指しているものがある。"
2678
2679 #. type: Plain text
2680 #: build/C/man2/io_destroy.2:45
2681 msgid "B<io_destroy>()  is not implemented on this architecture."
2682 msgstr "B<io_destroy>()  はこのアーキテクチャーでは実装されていない。"
2683
2684 #. type: Plain text
2685 #: build/C/man2/io_destroy.2:53
2686 msgid ""
2687 "B<io_destroy>()  is Linux-specific and should not be used in programs that "
2688 "are intended to be portable."
2689 msgstr ""
2690 "B<io_destroy>()  は Linux 固有であり、移植を想定したプログラムで使用すべきで"
2691 "はない。"
2692
2693 #.  http://git.fedorahosted.org/git/?p=libaio.git
2694 #. type: Plain text
2695 #: build/C/man2/io_destroy.2:62
2696 msgid ""
2697 "Glibc does not provide a wrapper function for this system call.  You could "
2698 "invoke it using B<syscall>(2).  But instead, you probably want to use the "
2699 "B<io_destroy>()  wrapper function provided by I<libaio>."
2700 msgstr ""
2701 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2702 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2703 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2704 " I<libaio> が提供している B<io_destroy> ラッパー関数を呼び出したい\n"
2705 "場合がほとんどであろう。"
2706
2707 #.  .SH AUTHOR
2708 #.  Kent Yoder.
2709 #. type: Plain text
2710 #: build/C/man2/io_destroy.2:91
2711 msgid ""
2712 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), "
2713 "B<aio>(7)"
2714 msgstr ""
2715 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), "
2716 "B<aio>(7)"
2717
2718 #. type: TH
2719 #: build/C/man2/io_getevents.2:7
2720 #, no-wrap
2721 msgid "IO_GETEVENTS"
2722 msgstr "IO_GETEVENTS"
2723
2724 #. type: Plain text
2725 #: build/C/man2/io_getevents.2:10
2726 msgid "io_getevents - read asynchronous I/O events from the completion queue"
2727 msgstr "io_getevents - 完了キューから非同期 I/O イベントを読み出す"
2728
2729 #. type: Plain text
2730 #: build/C/man2/io_getevents.2:14
2731 #, no-wrap
2732 msgid ""
2733 "B<#include E<lt>linux/aio_abi.hE<gt>>         /* Defines needed types */\n"
2734 "B<#include E<lt>linux/time.hE<gt>>            /* Defines 'struct timespec' */\n"
2735 msgstr ""
2736 "B<#include E<lt>linux/aio_abi.hE<gt>>         /* 必要な型の定義 */\n"
2737 "B<#include E<lt>linux/time.hE<gt>>            /* 'struct timespec' の定義 */\n"
2738
2739 #. type: Plain text
2740 #: build/C/man2/io_getevents.2:18
2741 #, no-wrap
2742 msgid ""
2743 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2744 "B<                 struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2745 msgstr ""
2746 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2747 "B<                 struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2748
2749 #. type: Plain text
2750 #: build/C/man2/io_getevents.2:34
2751 msgid ""
2752 "The B<io_getevents>()  system call attempts to read at least I<min_nr> "
2753 "events and up to I<nr> events from the completion queue of the AIO context "
2754 "specified by I<ctx_id>.  The I<timeout> argument specifies the amount of "
2755 "time to wait for events, where a NULL timeout waits until at least I<min_nr> "
2756 "events have been seen.  Note that I<timeout> is relative."
2757 msgstr ""
2758 "B<io_getevents>() システムコールは、少なくとも I<min_nr> の、最大\n"
2759 "I<nr> 個のイベントを、 I<ctx_id> 引き数で指定された AIO (非同期 I/O) \n"
2760 "コンテキストの 完了キューから読み出そうとする。 I<timeout> はイベント\n"
2761 "読み出しの待ち時間の合計を指定する。 タイムアウトに NULL を指定した場合、\n"
2762 "少なくとも I<min_nr> 個のイベントが 読み出されるまで待つことを意味する。\n"
2763 "注意点を以下にあげる: I<timeout> は相対的な指定である。"
2764
2765 #. type: Plain text
2766 #: build/C/man2/io_getevents.2:40
2767 msgid ""
2768 "On success, B<io_getevents>()  returns the number of events read: 0 if no "
2769 "events are available, or less than I<min_nr> if the I<timeout> has elapsed.  "
2770 "For the failure return, see NOTES."
2771 msgstr ""
2772 "成功すると、 B<io_getevents>()  は読み出したイベント数を返す。 イベントが一つ"
2773 "も読み出されなかった場合は 0 が返され、 I<timeout> 時間が経過した場合は "
2774 "I<min_nr> 未満の値が返される。 失敗時の返り値については、「注意」の節を参照す"
2775 "ること。"
2776
2777 #. type: Plain text
2778 #: build/C/man2/io_getevents.2:44
2779 msgid "Either I<events> or I<timeout> is an invalid pointer."
2780 msgstr "I<events> または I<timeout> が無効なポインターである。"
2781
2782 #. type: Plain text
2783 #: build/C/man2/io_getevents.2:49
2784 msgid ""
2785 "I<ctx_id> is invalid.  I<min_nr> is out of range or I<nr> is out of range."
2786 msgstr ""
2787 "I<ctx_id> が無効である。もしくは、I<min_nr> または I<nr> が 範囲外の値であ"
2788 "る。"
2789
2790 #. type: Plain text
2791 #: build/C/man2/io_getevents.2:53
2792 msgid "Interrupted by a signal handler; see B<signal>(7)."
2793 msgstr "シグナルハンドラーにより割り込まれた。 B<signal>(7)  参照。"
2794
2795 #. type: Plain text
2796 #: build/C/man2/io_getevents.2:57
2797 msgid "B<io_getevents>()  is not implemented on this architecture."
2798 msgstr "B<io_getevents>()  がこのアーキテクチャーでは実装されていない。"
2799
2800 #. type: Plain text
2801 #: build/C/man2/io_getevents.2:65
2802 msgid ""
2803 "B<io_getevents>()  is Linux-specific and should not be used in programs that "
2804 "are intended to be portable."
2805 msgstr ""
2806 "B<io_getevents>()  は Linux 固有であり、移植を想定したプログラムで 使用すべき"
2807 "ではない。"
2808
2809 #.  http://git.fedorahosted.org/git/?p=libaio.git
2810 #. type: Plain text
2811 #: build/C/man2/io_getevents.2:74
2812 msgid ""
2813 "Glibc does not provide a wrapper function for this system call.  You could "
2814 "invoke it using B<syscall>(2).  But instead, you probably want to use the "
2815 "B<io_getevents>()  wrapper function provided by I<libaio>."
2816 msgstr ""
2817 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2818 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2819 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2820 " I<libaio> が提供している B<io_getevents> ラッパー関数を呼び出したい\n"
2821 "場合がほとんどであろう。"
2822
2823 #. type: SH
2824 #: build/C/man2/io_getevents.2:95
2825 #, no-wrap
2826 msgid "BUGS"
2827 msgstr "バグ"
2828
2829 #. type: Plain text
2830 #: build/C/man2/io_getevents.2:100
2831 msgid ""
2832 "An invalid I<ctx_id> may cause a segmentation fault instead of generating "
2833 "the error B<EINVAL>."
2834 msgstr ""
2835 "無効な I<ctx_id> を指定した場合、エラー B<EINVAL> が生成されず、セグメンテー"
2836 "ション違反 (segmentation fault) が発生する場合がある。"
2837
2838 #.  .SH AUTHOR
2839 #.  Kent Yoder.
2840 #. type: Plain text
2841 #: build/C/man2/io_getevents.2:110
2842 msgid ""
2843 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), "
2844 "B<aio>(7), B<time>(7)"
2845 msgstr ""
2846 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), "
2847 "B<aio>(7), B<time>(7)"
2848
2849 #. type: TH
2850 #: build/C/man2/io_setup.2:7
2851 #, no-wrap
2852 msgid "IO_SETUP"
2853 msgstr "IO_SETUP"
2854
2855 #. type: TH
2856 #: build/C/man2/io_setup.2:7
2857 #, no-wrap
2858 msgid "2013-06-21"
2859 msgstr "2013-06-21"
2860
2861 #. type: Plain text
2862 #: build/C/man2/io_setup.2:10
2863 msgid "io_setup - create an asynchronous I/O context"
2864 msgstr "io_setup - 非同期 I/O コンテキストを作成する"
2865
2866 #. type: Plain text
2867 #: build/C/man2/io_setup.2:15
2868 #, no-wrap
2869 msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
2870 msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctx_idp>B<);>\n"
2871
2872 #. type: Plain text
2873 #: build/C/man2/io_setup.2:32
2874 msgid ""
2875 "The B<io_setup>()  system call creates an asynchronous I/O context suitable "
2876 "for concurrently processing I<nr_events> operations.  The I<ctx_idp> "
2877 "argument must not point to an AIO context that already exists, and must be "
2878 "initialized to 0 prior to the call.  On successful creation of the AIO "
2879 "context, I<*ctx_idp> is filled in with the resulting handle."
2880 msgstr ""
2881 "B<io_setup>() システムコールは、 I<nr_events> 個のイベントを\n"
2882 "同時に実行に適した非同期 I/O (AIO) コンテキストの作成を行う。 I<ctx_idp> 引き"
2883 "数\n"
2884 "は、すでに存在する AIO コンテキストを指していてはならず、\n"
2885 "B<io_setup>() の呼び出しの前に 0 に初期化されていなければならない。\n"
2886 "AIO コンテキストの作成に成功すると、 I<*ctx_idp> に作成された AIO \n"
2887 "コンテキストへのポインターがセットされる。"
2888
2889 #. type: Plain text
2890 #: build/C/man2/io_setup.2:37
2891 msgid ""
2892 "On success, B<io_setup>()  returns 0.  For the failure return, see NOTES."
2893 msgstr ""
2894 "成功した場合、 B<io_setup>()  は 0 を返す。 失敗時の返り値については、「注"
2895 "意」の節を参照すること。"
2896
2897 #. type: Plain text
2898 #: build/C/man2/io_setup.2:43
2899 msgid ""
2900 "The specified I<nr_events> exceeds the user's limit of available events, as "
2901 "defined in I</proc/sys/fs/aio-max-nr>."
2902 msgstr ""
2903 "指定された I<nr_events> がユーザーが使用できるイベント数の上限を越えている。"
2904 "イベント数の上限は I</proc/sys/fs/aio-max-nr> で定義されている。"
2905
2906 #. type: Plain text
2907 #: build/C/man2/io_setup.2:46
2908 msgid "An invalid pointer is passed for I<ctx_idp>."
2909 msgstr "I<ctx_idp> に無効なポインターが指定されている。"
2910
2911 #. type: Plain text
2912 #: build/C/man2/io_setup.2:51
2913 msgid ""
2914 "I<ctx_idp> is not initialized, or the specified I<nr_events> exceeds "
2915 "internal limits.  I<nr_events> should be greater than 0."
2916 msgstr ""
2917 "I<ctx_idp> が初期化されていないか、指定された I<nr_events> が内部の\n"
2918 "制限値を越えている。また、 I<nr_events> は 0 より大きい値に設定\n"
2919 "すべきである。"
2920
2921 #. type: TP
2922 #: build/C/man2/io_setup.2:51
2923 #, no-wrap
2924 msgid "B<ENOMEM>"
2925 msgstr "B<ENOMEM>"
2926
2927 #. type: Plain text
2928 #: build/C/man2/io_setup.2:54
2929 msgid "Insufficient kernel resources are available."
2930 msgstr "必要なカーネルリソースを得られない。"
2931
2932 #. type: Plain text
2933 #: build/C/man2/io_setup.2:58
2934 msgid "B<io_setup>()  is not implemented on this architecture."
2935 msgstr "B<io_setup>()  がこのアーキテクチャーでは実装されていない。"
2936
2937 #. type: Plain text
2938 #: build/C/man2/io_setup.2:66
2939 msgid ""
2940 "B<io_setup>()  is Linux-specific and should not be used in programs that are "
2941 "intended to be portable."
2942 msgstr ""
2943 "B<io_setup>()  は Linux 固有であり、移植を想定したプログラムで 使用すべきでは"
2944 "ない。"
2945
2946 #.  http://git.fedorahosted.org/git/?p=libaio.git
2947 #. type: Plain text
2948 #: build/C/man2/io_setup.2:75
2949 msgid ""
2950 "Glibc does not provide a wrapper function for this system call.  You could "
2951 "invoke it using B<syscall>(2).  But instead, you probably want to use the "
2952 "B<io_setup>()  wrapper function provided by I<libaio>."
2953 msgstr ""
2954 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
2955 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
2956 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
2957 " I<libaio> が提供している B<io_setup> ラッパー関数を呼び出したい\n"
2958 "場合がほとんどであろう。"
2959
2960 #.  But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
2961 #.  the system call.
2962 #. type: Plain text
2963 #: build/C/man2/io_setup.2:96
2964 msgid ""
2965 "Note that the I<libaio> wrapper function uses a different type "
2966 "(I<io_context_t\\ *>)  for the I<ctx_idp> argument.  Note also that the "
2967 "I<libaio> wrapper does not follow the usual C library conventions for "
2968 "indicating errors: on error it returns a negated error number (the negative "
2969 "of one of the values listed in ERRORS).  If the system call is invoked via "
2970 "B<syscall>(2), then the return value follows the usual conventions for "
2971 "indicating an error: -1, with I<errno> set to a (positive) value that "
2972 "indicates the error."
2973 msgstr ""
2974 "I<libaio> のラッパー関数では I<ctx_idp> 引き数に別の型\n"
2975 "(I<io_context_t\\ *>) が使われることに注意すること。\n"
2976 "また、I<libaio> のラッパー関数は、エラーの通知が通常の C ライブラリの\n"
2977 "慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列\n"
2978 "挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。\n"
2979 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー\n"
2980 "通知の慣習に したがってものとなり、エラーの場合には -1 が返り、 \n"
2981 "I<errno> にエラーを示す (正の) 値が設定される。"
2982
2983 #.  .SH AUTHOR
2984 #.  Kent Yoder.
2985 #. type: Plain text
2986 #: build/C/man2/io_setup.2:104
2987 msgid ""
2988 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2989 "B<aio>(7)"
2990 msgstr ""
2991 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2992 "B<aio>(7)"
2993
2994 #. type: TH
2995 #: build/C/man2/io_submit.2:7
2996 #, no-wrap
2997 msgid "IO_SUBMIT"
2998 msgstr "IO_SUBMIT"
2999
3000 #. type: TH
3001 #: build/C/man2/io_submit.2:7
3002 #, no-wrap
3003 msgid "2012-07-13"
3004 msgstr "2012-07-13"
3005
3006 #. type: Plain text
3007 #: build/C/man2/io_submit.2:10
3008 msgid "io_submit - submit asynchronous I/O blocks for processing"
3009 msgstr "io_submit - 非同期 I/O ブロックを処理待ちキューに登録する"
3010
3011 #. type: Plain text
3012 #: build/C/man2/io_submit.2:16
3013 #, no-wrap
3014 msgid "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
3015 msgstr "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
3016
3017 #. type: Plain text
3018 #: build/C/man2/io_submit.2:31
3019 msgid ""
3020 "The B<io_submit>()  system call queues I<nr> I/O request blocks for "
3021 "processing in the AIO context I<ctx_id>.  The I<iocbpp> argument should be "
3022 "an array of I<nr> AIO control blocks, which will be submitted to context "
3023 "I<ctx_id>."
3024 msgstr ""
3025 "B<io_submit>() システムコールは、AIO コンテキスト I<ctx_id> に I<nr> 個\n"
3026 "の I/O リクエストを処理待ちとしてキューに追加する。 I<iocbpp> 引き数は、\n"
3027 "AIO コンテキスト I<ctx_id> に登録される I<nr> 個の AIO 制御ブロックの\n"
3028 "配列になっていなければならない。"
3029
3030 #. type: Plain text
3031 #: build/C/man2/io_submit.2:37
3032 msgid ""
3033 "On success, B<io_submit>()  returns the number of I<iocb>s submitted (which "
3034 "may be 0 if I<nr> is zero).  For the failure return, see NOTES."
3035 msgstr ""
3036 "成功すると、 B<io_submit>()  は登録した I<iocb> の個数を返す (I<nr> が 0 の場"
3037 "合は 0 を返す)。 失敗時の返り値については、「注意」の節を参照すること。"
3038
3039 #. type: Plain text
3040 #: build/C/man2/io_submit.2:41
3041 msgid "Insufficient resources are available to queue any I<iocb>s."
3042 msgstr "何個かの I<iocb> をキューに入れるのに必要なリソースが得られない。"
3043
3044 #. type: Plain text
3045 #: build/C/man2/io_submit.2:44
3046 msgid "The file descriptor specified in the first I<iocb> is invalid."
3047 msgstr "先頭の I<iocb> に指定されたファイルディスクリプターが無効である。"
3048
3049 #. type: Plain text
3050 #: build/C/man2/io_submit.2:56
3051 msgid ""
3052 "The AIO context specified by I<ctx_id> is invalid.  I<nr> is less than 0.  "
3053 "The I<iocb> at I<*iocbpp[0]> is not properly initialized, or the operation "
3054 "specified is invalid for the file descriptor in the I<iocb>."
3055 msgstr ""
3056 "I<ctx_id> で指定された AIO コンテキストが無効である。 I<nr> が 0 未満で\n"
3057 "ある。 I<*iocbpp[0]> の I<iocb> が適切に初期化されていないか、\n"
3058 "指定された操作がその I<iocb> 中のファイルディスクリプターに対して 無効\n"
3059 "である。"
3060
3061 #. type: Plain text
3062 #: build/C/man2/io_submit.2:60
3063 msgid "B<io_submit>()  is not implemented on this architecture."
3064 msgstr "B<io_submit>()  はこのアーキテクチャーでは実装されていない。"
3065
3066 #. type: Plain text
3067 #: build/C/man2/io_submit.2:68
3068 msgid ""
3069 "B<io_submit>()  is Linux-specific and should not be used in programs that "
3070 "are intended to be portable."
3071 msgstr ""
3072 "B<io_submit>()  は Linux 固有であり、移植を想定したプログラムで 使用すべきで"
3073 "はない。"
3074
3075 #.  http://git.fedorahosted.org/git/?p=libaio.git
3076 #. type: Plain text
3077 #: build/C/man2/io_submit.2:77
3078 msgid ""
3079 "Glibc does not provide a wrapper function for this system call.  You could "
3080 "invoke it using B<syscall>(2).  But instead, you probably want to use the "
3081 "B<io_submit>()  wrapper function provided by I<libaio>."
3082 msgstr ""
3083 "glibc はこのシステムコールのラッパー関数を提供していない。\n"
3084 "B<syscall>(2) を使ってこのシステムコールを起動することができる。\n"
3085 "しかし、たいていは、このシステムコールを呼び出したいのではなく、\n"
3086 " I<libaio> が提供している B<io_submit> ラッパー関数を呼び出したい\n"
3087 "場合がほとんどであろう。"
3088
3089 #.  .SH AUTHOR
3090 #.  Kent Yoder.
3091 #. type: Plain text
3092 #: build/C/man2/io_submit.2:106
3093 msgid ""
3094 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
3095 "B<aio>(7)"
3096 msgstr ""
3097 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
3098 "B<aio>(7)"
3099
3100 #. type: TH
3101 #: build/C/man3/lio_listio.3:24
3102 #, no-wrap
3103 msgid "LIO_LISTIO"
3104 msgstr "LIO_LISTIO"
3105
3106 #. type: Plain text
3107 #: build/C/man3/lio_listio.3:27
3108 msgid "lio_listio - initiate a list of I/O requests"
3109 msgstr "lio_listio - リストの I/O リクエストを開始する"
3110
3111 #. type: Plain text
3112 #: build/C/man3/lio_listio.3:33
3113 #, no-wrap
3114 msgid ""
3115 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3116 "B<               int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3117 msgstr ""
3118 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
3119 "B<               int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
3120
3121 #. type: Plain text
3122 #: build/C/man3/lio_listio.3:41
3123 msgid ""
3124 "The B<lio_listio>()  function initiates the list of I/O operations described "
3125 "by the array I<aiocb_list>."
3126 msgstr ""
3127 "B<lio_listio>() 関数は、配列 I<aiocb_list> で指定された I/O 操作の\n"
3128 "リストをそれぞれ開始する。"
3129
3130 #. type: Plain text
3131 #: build/C/man3/lio_listio.3:45
3132 msgid "The I<mode> operation has one of the following values:"
3133 msgstr "I<mode> 引き数には以下のいずれかの値を指定する。"
3134
3135 #. type: TP
3136 #: build/C/man3/lio_listio.3:45
3137 #, no-wrap
3138 msgid "B<LIO_WAIT>"
3139 msgstr "B<LIO_WAIT>"
3140
3141 #. type: Plain text
3142 #: build/C/man3/lio_listio.3:51
3143 msgid ""
3144 "The call blocks until all operations are complete.  The I<sevp> argument is "
3145 "ignored."
3146 msgstr ""
3147 "全ての操作が完了するまで、呼び出しは停止 (block) する。\n"
3148 "I<sevp> 引き数は無視される。"
3149
3150 #. type: TP
3151 #: build/C/man3/lio_listio.3:51
3152 #, no-wrap
3153 msgid "B<LIO_NOWAIT>"
3154 msgstr "B<LIO_NOWAIT>"
3155
3156 #. type: Plain text
3157 #: build/C/man3/lio_listio.3:63
3158 msgid ""
3159 "The I/O operations are queued for processing and the call returns "
3160 "immediately.  When all of the I/O operations complete, asynchronous "
3161 "notification occurs, as specified by the I<sevp> argument; see "
3162 "B<sigevent>(7)  for details.  If I<sevp> is NULL, no asynchronous "
3163 "notification occurs."
3164 msgstr ""
3165 "I/O 操作は処理を行うためのキューに入れられ、呼び出しは直ちに返る。\n"
3166 "全ての I/O 操作が完了すると、 I<sevp> 引き数で指定した非同期通知が\n"
3167 "行われる。詳細は B<sigevent>(7) を参照。I<sevp> が NULL の場合、\n"
3168 "非同期通知は行われない。"
3169
3170 #. type: Plain text
3171 #: build/C/man3/lio_listio.3:77
3172 msgid ""
3173 "The I<aiocb_list> argument is an array of pointers to I<aiocb> structures "
3174 "that describe I/O operations.  These operations are executed in an "
3175 "unspecified order.  The I<nitems> argument specifies the size of the array "
3176 "I<aiocb_list>.  null pointers in I<aiocb_list> are ignored."
3177 msgstr ""
3178 "I<aiocb_list> 引き数は、I/O 操作を指定する I<aiocb> 構造体へのポインター\n"
3179 "の配列である。指定された操作の実行順序は規定されていない。\n"
3180 "I<nitems> 引き数は、配列 I<aiocb_list> の大きさを指定する。\n"
3181 "I<aiocb_list> 内のヌルポインターは無視される。"
3182
3183 #. type: Plain text
3184 #: build/C/man3/lio_listio.3:83
3185 msgid ""
3186 "In each control block in I<aiocb_list>, the I<aio_lio_opcode> field "
3187 "specifies the I/O operation to be initiated, as follows:"
3188 msgstr ""
3189 "I<aiocb_list> の各制御ブロックでは、\n"
3190 "I<aio_lio_opcode> フィールドで開始する I/O 操作を指定する。\n"
3191 "I<aio_lio_opcode> には以下の値が指定できる。"
3192
3193 #. type: TP
3194 #: build/C/man3/lio_listio.3:83
3195 #, no-wrap
3196 msgid "B<LIO_READ>"
3197 msgstr "B<LIO_READ>"
3198
3199 #. type: Plain text
3200 #: build/C/man3/lio_listio.3:89
3201 msgid ""
3202 "Initiate a read operation.  The operation is queued as for a call to "
3203 "B<aio_read>(3)  specifying this control block."
3204 msgstr ""
3205 "読み出し操作を開始する。操作はキューに入れられ、\n"
3206 "この制御ブロックを指定して B<aio_read>(3) の呼び出しが行われる。"
3207
3208 #. type: TP
3209 #: build/C/man3/lio_listio.3:89
3210 #, no-wrap
3211 msgid "B<LIO_WRITE>"
3212 msgstr "B<LIO_WRITE>"
3213
3214 #. type: Plain text
3215 #: build/C/man3/lio_listio.3:95
3216 msgid ""
3217 "Initiate a write operation.  The operation is queued as for a call to "
3218 "B<aio_write>(3)  specifying this control block."
3219 msgstr ""
3220 "書き込み操作を開始する。操作はキューに入れられ、\n"
3221 "この制御ブロックを指定して B<aio_write>(3) の呼び出しが行われる。"
3222
3223 #. type: TP
3224 #: build/C/man3/lio_listio.3:95
3225 #, no-wrap
3226 msgid "B<LIO_NOP>"
3227 msgstr "B<LIO_NOP>"
3228
3229 #. type: Plain text
3230 #: build/C/man3/lio_listio.3:98
3231 msgid "Ignore this control block."
3232 msgstr "この制御ブロックを無視する。"
3233
3234 #. type: Plain text
3235 #: build/C/man3/lio_listio.3:108
3236 msgid ""
3237 "The remaining fields in each control block have the same meanings as for "
3238 "B<aio_read>(3)  and B<aio_write>(3).  The I<aio_sigevent> fields of each "
3239 "control block can be used to specify notifications for the individual I/O "
3240 "operations (see B<sigevent>(7))."
3241 msgstr ""
3242 "各制御ブロックの残りのフィールドは、\n"
3243 "B<aio_read>(3) や B<aio_write>(3) の場合と同じ意味を持つ。\n"
3244 "各制御ブロックの I<aio_sigevent> フィールドは、\n"
3245 "個々の I/O 操作で通知方法を指定するのに使用される\n"
3246 "(B<sigevent>(7) 参照)。"
3247
3248 #. type: Plain text
3249 #: build/C/man3/lio_listio.3:118
3250 msgid ""
3251 "If I<mode> is B<LIO_NOWAIT>, B<lio_listio>()  returns 0 if all I/O "
3252 "operations are successfully queued.  Otherwise, -1 is returned, and I<errno> "
3253 "is set to indicate the error."
3254 msgstr ""
3255 "I<mode> が B<LIO_NOWAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3256 "正常にキューに入れられた場合に 0 を返す。\n"
3257 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3258
3259 #. type: Plain text
3260 #: build/C/man3/lio_listio.3:128
3261 msgid ""
3262 "If I<mode> is B<LIO_WAIT>, B<lio_listio>()  returns 0 when all of the I/O "
3263 "operations have completed successfully.  Otherwise, -1 is returned, and "
3264 "I<errno> is set to indicate the error."
3265 msgstr ""
3266 "I<mode> が B<LIO_WAIT> の場合、 B<lio_listio>() は全ての操作が\n"
3267 "正常に完了した場合に 0 を返す。\n"
3268 "そうでない場合は、-1 が返り、 I<errno> にエラーを示す値が設定される。"
3269
3270 #. type: Plain text
3271 #: build/C/man3/lio_listio.3:146
3272 msgid ""
3273 "The return status from B<lio_listio>()  provides information only about the "
3274 "call itself, not about the individual I/O operations.  One or more of the I/"
3275 "O operations may fail, but this does not prevent other operations "
3276 "completing.  The status of individual I/O operations in I<aiocb_list> can be "
3277 "determined using B<aio_error>(3).  When an operation has completed, its "
3278 "return status can be obtained using B<aio_return>(3).  Individual I/O "
3279 "operations can fail for the reasons described in B<aio_read>(3)  and "
3280 "B<aio_write>(3)."
3281 msgstr ""
3282 "B<lio_listio>() の返り値から得られる情報は、関数呼び出し自体に関する\n"
3283 "ものだけであり、個々の I/O 操作に関する情報は得られない。\n"
3284 "個々の I/O 操作は失敗することがあるが、これにより他の I/O 操作が完了\n"
3285 "しなくなるといったことはない。 B<aio_error>(3) を使うと、\n"
3286 "I<aiocb_list> の個々の I/O 操作のステータスを知ることができる。\n"
3287 "ある I/O 操作が完了すると、その終了ステータスはB<aio_return>(3) を使う\n"
3288 "ことで取得できる。個々の I/O 操作は B<aio_read>(3) や B<aio_write>(3)\n"
3289 "に書かれている理由で失敗する場合がある。"
3290
3291 #. type: Plain text
3292 #: build/C/man3/lio_listio.3:150
3293 msgid "The B<lio_listio>()  function may fail for the following reasons:"
3294 msgstr "B<lio_listio>() 関数は以下の理由で失敗する。"
3295
3296 #.  Doesn't happen in glibc(?)
3297 #. type: Plain text
3298 #: build/C/man3/lio_listio.3:161
3299 msgid ""
3300 "The number of I/O operations specified by I<nitems> would cause the limit "
3301 "B<AIO_MAX> to be exceeded."
3302 msgstr ""
3303 "I<nitems> で指定された数の I/O 操作を行うと、\n"
3304 "非同期 I/O 操作の数が上限 B<AIO_MAX> を超えてしまう状況であった。"
3305
3306 #.  Doesn't happen in glibc(?)
3307 #. type: Plain text
3308 #: build/C/man3/lio_listio.3:169
3309 msgid "I<mode> is invalid, or I<nitems> exceeds the limit B<AIO_LISTIO_MAX>."
3310 msgstr ""
3311 "I<mode> が不正であるか、\n"
3312 "I<nitems> が上限 B<AIO_LISTIO_MAX> を超えている。"
3313
3314 #. type: Plain text
3315 #: build/C/man3/lio_listio.3:178
3316 msgid ""
3317 "I<mode> was B<LIO_WAIT> and a signal was caught before all I/O operations "
3318 "completed.  (This may even be one of the signals used for asynchronous I/O "
3319 "completion notification.)"
3320 msgstr ""
3321 "I<mode> が B<LIO_WAIT> で、全ての I/O 操作が完了する前にシグナルが\n"
3322 "捕捉された (非同期 I/O の完了通知に使用されるシグナルの場合もこれに\n"
3323 "該当する)。"
3324
3325 #. type: TP
3326 #: build/C/man3/lio_listio.3:178
3327 #, no-wrap
3328 msgid "B<EIO>"
3329 msgstr "B<EIO>"
3330
3331 #.  e.g., ioa_reqprio or aio_lio_opcode was invalid
3332 #. type: Plain text
3333 #: build/C/man3/lio_listio.3:186
3334 msgid ""
3335 "One of more of the operations specified by I<aiocb_list> failed.  The "
3336 "application can check the status of each operation using B<aio_return>(3)."
3337 msgstr ""
3338 "I<aiocb_list> で指定された操作の中に失敗したものがあった。\n"
3339 "アプリケーションは、 B<aio_return>(3) を使用して、\n"
3340 "個々の操作のステータスを確認することができる。"
3341
3342 #. type: Plain text
3343 #: build/C/man3/lio_listio.3:201
3344 msgid ""
3345 "If B<lio_listio>()  fails with the error B<EAGAIN>, B<EINTR>, or B<EIO>, "
3346 "then some of the operations in I<aiocb_list> may have been initiated.  If "
3347 "B<lio_listio>()  fails for any other reason, then none of the I/O operations "
3348 "has been initiated."
3349 msgstr ""
3350 "B<lio_listio> がエラー B<EAGAIN>, B<EINTR>, B<EIO> で失敗した場合、\n"
3351 "I<aiocb_list> で指定した操作のいくつかは開始されていることがある。\n"
3352 "B<lio_listio> が他の理由で失敗した場合には、\n"
3353 "どの I/O 操作も開始されていない。"
3354
3355 #. type: Plain text
3356 #: build/C/man3/lio_listio.3:205
3357 msgid "The B<lio_listio>()  function is available since glibc 2.1."
3358 msgstr "The B<lio_listio>() 関数は glibc 2.1 以降で利用できる。"
3359
3360 #.  or the control block of the operation
3361 #. type: Plain text
3362 #: build/C/man3/lio_listio.3:215
3363 msgid ""
3364 "It is a good idea to zero out the control blocks before use.  The control "
3365 "blocks must not be changed while the I/O operations are in progress.  The "
3366 "buffer areas being read into or written from must not be accessed during the "
3367 "operations or undefined results may occur.  The memory areas involved must "
3368 "remain valid."
3369 msgstr ""
3370 "使用前に制御ブロックを 0 で埋めるのは良い考えである。\n"
3371 "I/O 操作の実行中は制御ブロックを変更してはならない。データの読み書き先\n"
3372 "のバッファー領域に I/O 操作の実行中にアクセスしてはならない。さもないと、\n"
3373 "どのような結果になるか分からない。また、関係するメモリー領域も有効な状態\n"
3374 "のままにしておかなければならない。"
3375
3376 #. type: Plain text
3377 #: build/C/man3/lio_listio.3:227
3378 msgid ""
3379 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3380 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3381 msgstr ""
3382 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3383 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"