OSDN Git Service

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