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 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
8 "Project-Id-Version: PACKAGE VERSION\n"
9 "POT-Creation-Date: 2012-03-22 04:25+0900\n"
10 "PO-Revision-Date: 2012-03-20 00:26+0900\n"
11 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
12 "Language-Team: LANGUAGE <LL@li.org>\n"
15 "Content-Type: text/plain; charset=UTF-8\n"
16 "Content-Transfer-Encoding: 8bit\n"
19 #: build/C/man7/aio.7:24
25 #: build/C/man7/aio.7:24 build/C/man3/aio_fsync.3:23
26 #: build/C/man3/aio_suspend.3:24 build/C/man3/aio_write.3:23
32 #: build/C/man7/aio.7:24 build/C/man3/aio_init.3:24
33 #: build/C/man2/io_cancel.2:23 build/C/man2/io_destroy.2:23
34 #: build/C/man2/io_getevents.2:23 build/C/man2/io_setup.2:23
35 #: build/C/man2/io_submit.2:23
41 #: build/C/man7/aio.7:24 build/C/man3/aio_cancel.3:23
42 #: build/C/man3/aio_error.3:23 build/C/man3/aio_fsync.3:23
43 #: build/C/man3/aio_init.3:24 build/C/man3/aio_read.3:23
44 #: build/C/man3/aio_return.3:23 build/C/man3/aio_suspend.3:24
45 #: build/C/man3/aio_write.3:23 build/C/man2/io_cancel.2:23
46 #: build/C/man2/io_destroy.2:23 build/C/man2/io_getevents.2:23
47 #: build/C/man2/io_setup.2:23 build/C/man2/io_submit.2:23
48 #: build/C/man3/lio_listio.3:23
50 msgid "Linux Programmer's Manual"
51 msgstr "Linux Programmer's Manual"
54 #: build/C/man7/aio.7:25 build/C/man3/aio_cancel.3:24
55 #: build/C/man3/aio_error.3:24 build/C/man3/aio_fsync.3:24
56 #: build/C/man3/aio_init.3:25 build/C/man3/aio_read.3:24
57 #: build/C/man3/aio_return.3:24 build/C/man3/aio_suspend.3:25
58 #: build/C/man3/aio_write.3:24 build/C/man2/io_cancel.2:24
59 #: build/C/man2/io_destroy.2:24 build/C/man2/io_getevents.2:24
60 #: build/C/man2/io_setup.2:24 build/C/man2/io_submit.2:24
61 #: build/C/man3/lio_listio.3:24
67 #: build/C/man7/aio.7:27
68 msgid "aio - POSIX asynchronous I/O overview"
72 #: build/C/man7/aio.7:27 build/C/man3/aio_cancel.3:32
73 #: build/C/man3/aio_error.3:32 build/C/man3/aio_fsync.3:32
74 #: build/C/man3/aio_init.3:36 build/C/man3/aio_read.3:32
75 #: build/C/man3/aio_return.3:32 build/C/man3/aio_suspend.3:38
76 #: build/C/man3/aio_write.3:32 build/C/man2/io_cancel.2:42
77 #: build/C/man2/io_destroy.2:40 build/C/man2/io_getevents.2:43
78 #: build/C/man2/io_setup.2:40 build/C/man2/io_submit.2:41
79 #: build/C/man3/lio_listio.3:35
85 #: build/C/man7/aio.7:35
87 "The POSIX asynchronous I/O (AIO) interface allows applications to initiate "
88 "one or more I/O operations that are performed asynchronously (i.e., in the "
89 "background). The application can elect to be notified of completion of the "
90 "I/O operation in a variety of ways: by delivery of a signal, by "
91 "instantiation of a thread, or no notification at all."
95 #: build/C/man7/aio.7:37
96 msgid "The POSIX AIO interface consists of the following functions:"
100 #: build/C/man7/aio.7:37
102 msgid "B<aio_read>(3)"
103 msgstr "B<aio_read>(3)"
106 #: build/C/man7/aio.7:42
107 msgid "Enqueue a read request. This is the asynchronous analog of B<read>(2)."
111 #: build/C/man7/aio.7:42
113 msgid "B<aio_write>(3)"
114 msgstr "B<aio_write>(3)"
117 #: build/C/man7/aio.7:47
119 "Enqueue a write request. This is the asynchronous analog of B<write>(2)."
123 #: build/C/man7/aio.7:47
125 msgid "B<aio_fsync>(3)"
126 msgstr "B<aio_fsync>(3)"
129 #: build/C/man7/aio.7:54
131 "Enqueue a sync request for the I/O operations on a file descriptor. This is "
132 "the asynchronous analog of B<fsync>(2) and B<fdatasync>(2)."
136 #: build/C/man7/aio.7:54
138 msgid "B<aio_error>(3)"
139 msgstr "B<aio_error>(3)"
142 #: build/C/man7/aio.7:57
143 msgid "Obtain the error status of an enqueued I/O request."
147 #: build/C/man7/aio.7:57
149 msgid "B<aio_return>(3)"
150 msgstr "B<aio_return>(3)"
153 #: build/C/man7/aio.7:60
154 msgid "Obtain the return status of a completed I/O request."
158 #: build/C/man7/aio.7:60
160 msgid "B<aio_suspend>(3)"
161 msgstr "B<aio_suspend>(3)"
164 #: build/C/man7/aio.7:64
166 "Suspend the caller until one or more of a specified set of I/O requests "
171 #: build/C/man7/aio.7:64
173 msgid "B<aio_cancel>(3)"
174 msgstr "B<aio_cancel>(3)"
177 #: build/C/man7/aio.7:68
179 "Attempt to cancel outstanding I/O requests on a specified file descriptor."
183 #: build/C/man7/aio.7:68
185 msgid "B<lio_listio>(3)"
186 msgstr "B<lio_listio>(3)"
189 #: build/C/man7/aio.7:71
190 msgid "Enqueue multiple I/O requests using a single function call."
194 #: build/C/man7/aio.7:78
196 "The I<aiocb> (\"asynchronous I/O control block\") structure defines "
197 "parameters that control an I/O operation. An argument of this type is "
198 "employed with all of the functions listed above. This structure has the "
203 #: build/C/man7/aio.7:82
205 msgid "#include E<lt>aiocb.hE<gt>\n"
206 msgstr "#include E<lt>aiocb.hE<gt>\n"
209 #: build/C/man7/aio.7:85
213 " /* The order of these fields is implementation-dependent */\n"
217 #: build/C/man7/aio.7:94
220 " int aio_fildes; /* File descriptor */\n"
221 " off_t aio_offset; /* File offset */\n"
222 " volatile void *aio_buf; /* Location of buffer */\n"
223 " size_t aio_nbytes; /* Length of transfer */\n"
224 " int aio_reqprio; /* Request priority */\n"
225 " struct sigevent aio_sigevent; /* Notification method */\n"
226 " int aio_lio_opcode; /* Operation to be performed;\n"
227 " lio_listio() only */\n"
231 #: build/C/man7/aio.7:97
234 " /* Various implementation-internal fields not shown */\n"
239 #: build/C/man7/aio.7:99
241 msgid "/* Operation codes for \\(aqaio_lio_opcode\\(aq: */\n"
245 #: build/C/man7/aio.7:101
247 msgid "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
248 msgstr "enum { LIO_READ, LIO_WRITE, LIO_NOP };\n"
251 #: build/C/man7/aio.7:105
252 msgid "The fields of this structure are as follows:"
256 #: build/C/man7/aio.7:105
258 msgid "I<aio_filedes>"
259 msgstr "I<aio_filedes>"
262 #: build/C/man7/aio.7:108
263 msgid "The file descriptor on which the I/O operation is to be performed."
267 #: build/C/man7/aio.7:108
269 msgid "I<aio_offset>"
270 msgstr "I<aio_offset>"
273 #: build/C/man7/aio.7:111
274 msgid "This is the file offset at which the I/O operation is to be performed."
278 #: build/C/man7/aio.7:111
284 #: build/C/man7/aio.7:114
285 msgid "This is the buffer used to transfer data for a read or write operation."
289 #: build/C/man7/aio.7:114
291 msgid "I<aio_nbytes>"
292 msgstr "I<aio_nbytes>"
295 #: build/C/man7/aio.7:118
296 msgid "This is the size of the buffer pointed to by I<aio_buf>."
300 #: build/C/man7/aio.7:118
302 msgid "I<aio_reqprio>"
303 msgstr "I<aio_reqprio>"
306 #: build/C/man7/aio.7:127
308 "This field specifies a value that is subtracted from the calling thread's "
309 "real-time priority in order to determine the priority for execution of this "
310 "I/O request (see B<pthread_setschedparam>(3)). The specified value must be "
311 "between 0 and the value returned by I<sysconf(_SC_AIO_PRIO_DELTA_MAX)>. "
312 "This field is ignored for file synchronization operations."
316 #: build/C/man7/aio.7:127
318 msgid "I<aio_sigevent>"
319 msgstr "I<aio_sigevent>"
322 #: build/C/man7/aio.7:141
324 "This field is a structure that specifies how the caller is to be notified "
325 "when the asynchronous I/O operation completes. Possible values for "
326 "I<aio_sigevent.sigev_notify> are B<SIGEV_NONE>, B<SIGEV_SIGNAL>, and "
327 "B<SIGEV_THREAD>. See B<sigevent>(7) for further details."
331 #: build/C/man7/aio.7:141
333 msgid "I<aio_lio_opcode>"
334 msgstr "I<aio_lio_opcode>"
337 #: build/C/man7/aio.7:145
338 msgid "The type of operation to be performed; used only for B<lio_listio>(3)."
342 #: build/C/man7/aio.7:148
344 "In addition to the standard functions listed above, the GNU C library "
345 "provides the following extension to the POSIX AIO API:"
349 #: build/C/man7/aio.7:148
351 msgid "B<aio_init>(3)"
352 msgstr "B<aio_init>(3)"
355 #: build/C/man7/aio.7:151
357 "Set parameters for tuning the behavior of the glibc POSIX AIO implementation."
361 #: build/C/man7/aio.7:151 build/C/man3/aio_read.3:132
362 #: build/C/man3/aio_suspend.3:104 build/C/man3/aio_write.3:137
363 #: build/C/man2/io_cancel.2:78 build/C/man2/io_destroy.2:72
364 #: build/C/man2/io_getevents.2:85 build/C/man2/io_setup.2:81
365 #: build/C/man2/io_submit.2:83 build/C/man3/lio_listio.3:206
371 #: build/C/man7/aio.7:158
373 "It is a good idea to zero out the control block buffer before use (see "
374 "B<memset>(3)). The control block buffer and the buffer pointed to by "
375 "I<aio_buf> must not be changed while the I/O operation is in progress. "
376 "These buffers must remain valid until the I/O operation completes."
380 #: build/C/man7/aio.7:162
382 "Simultaneous asynchronous read or write operations using the same I<aiocb> "
383 "structure yield undefined results."
386 #. http://lse.sourceforge.net/io/aio.html
387 #. http://lse.sourceforge.net/io/aionotes.txt
388 #. http://lwn.net/Articles/148755/
390 #: build/C/man7/aio.7:180
392 "The current Linux POSIX AIO implementation is provided in userspace by "
393 "glibc. This has a number of limitations, most notably that maintaining "
394 "multiple threads to perform I/O operations is expensive and scales poorly. "
395 "Work has been in progress for some time on a kernel state-machine-based "
396 "implementation of asynchronous I/O (see B<io_submit>(2), B<io_setup>(2), "
397 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2)), but this "
398 "implementation hasn't yet matured to the point where the POSIX AIO "
399 "implementation can be completely reimplemented using the kernel system calls."
403 #: build/C/man7/aio.7:180 build/C/man3/aio_cancel.3:87
404 #: build/C/man3/aio_error.3:65 build/C/man3/aio_fsync.3:78
405 #: build/C/man3/aio_read.3:102 build/C/man3/aio_return.3:62
406 #: build/C/man3/aio_suspend.3:87 build/C/man3/aio_write.3:109
407 #: build/C/man2/io_cancel.2:56 build/C/man2/io_destroy.2:53
408 #: build/C/man2/io_getevents.2:60 build/C/man2/io_setup.2:54
409 #: build/C/man2/io_submit.2:54 build/C/man3/lio_listio.3:145
415 #: build/C/man7/aio.7:181 build/C/man3/aio_error.3:66
416 #: build/C/man3/aio_fsync.3:86 build/C/man3/aio_read.3:110
417 #: build/C/man3/aio_return.3:63 build/C/man3/aio_write.3:121
418 #: build/C/man2/io_cancel.2:63 build/C/man2/io_destroy.2:57
419 #: build/C/man2/io_getevents.2:64 build/C/man2/io_setup.2:61
420 #: build/C/man2/io_submit.2:64 build/C/man3/lio_listio.3:160
426 #: build/C/man7/aio.7:190
428 "The I<aio_reqprio> field of the I<aiocb> structure was less than 0, or was "
429 "greater than the limit returned by the call I<sysconf(_SC_AIO_PRIO_DELTA_MAX)"
434 #: build/C/man7/aio.7:190 build/C/man3/aio_cancel.3:92
435 #: build/C/man3/aio_error.3:73 build/C/man3/aio_fsync.3:94
436 #: build/C/man3/aio_init.3:91 build/C/man3/aio_read.3:126
437 #: build/C/man3/aio_return.3:68 build/C/man3/aio_suspend.3:98
438 #: build/C/man3/aio_write.3:131 build/C/man2/io_cancel.2:70
439 #: build/C/man2/io_destroy.2:64 build/C/man2/io_getevents.2:77
440 #: build/C/man2/io_setup.2:73 build/C/man2/io_submit.2:75
441 #: build/C/man3/lio_listio.3:200
447 #: build/C/man7/aio.7:192
448 msgid "The POSIX AIO interfaces are provided by glibc since version 2.1."
452 #: build/C/man7/aio.7:192 build/C/man3/aio_cancel.3:96
453 #: build/C/man3/aio_error.3:77 build/C/man3/aio_fsync.3:98
454 #: build/C/man3/aio_init.3:95 build/C/man3/aio_read.3:130
455 #: build/C/man3/aio_return.3:72 build/C/man3/aio_suspend.3:102
456 #: build/C/man3/aio_write.3:135 build/C/man2/io_cancel.2:73
457 #: build/C/man2/io_destroy.2:67 build/C/man2/io_getevents.2:80
458 #: build/C/man2/io_setup.2:76 build/C/man2/io_submit.2:78
459 #: build/C/man3/lio_listio.3:204
461 msgid "CONFORMING TO"
465 #: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:98
466 #: build/C/man3/aio_error.3:79 build/C/man3/aio_fsync.3:100
467 #: build/C/man3/aio_read.3:132 build/C/man3/aio_return.3:74
468 #: build/C/man3/aio_suspend.3:104 build/C/man3/aio_write.3:137
469 #: build/C/man3/lio_listio.3:206
470 msgid "POSIX.1-2001, POSIX.1-2008."
471 msgstr "POSIX.1-2001, POSIX.1-2008."
474 #: build/C/man7/aio.7:194 build/C/man3/aio_cancel.3:98
475 #: build/C/man3/aio_error.3:79 build/C/man3/aio_read.3:144
476 #: build/C/man3/aio_return.3:74
482 #: build/C/man7/aio.7:207
484 "The program below opens each of the files named in its command-line "
485 "arguments and queues a request on the resulting file descriptor using "
486 "B<aio_read>(3). The program then loops, periodically monitoring each of the "
487 "I/O operations that is still in progress using B<aio_error>(3). Each of the "
488 "I/O requests is set up to provide notification by delivery of a signal. "
489 "After all I/O requests have completed, the program retrieves their status "
490 "using B<aio_return>(3)."
494 #: build/C/man7/aio.7:213
496 "The B<SIGQUIT> signal (generated by typing control-\\e) causes the program "
497 "to request cancellation of each of the outstanding requests using "
502 #: build/C/man7/aio.7:218
504 "Here is an example of what we might see when running this program. In this "
505 "example, the program queues two requests to standard input, and these are "
506 "satisfied by two lines of input containing \"abc\" and \"x\"."
510 #: build/C/man7/aio.7:242
513 "$ B<./a.out /dev/stdin /dev/stdin>\n"
514 "opened /dev/stdin on descriptor 3\n"
515 "opened /dev/stdin on descriptor 4\n"
517 " for request 0 (descriptor 3): In progress\n"
518 " for request 1 (descriptor 4): In progress\n"
520 "I/O completion signal received\n"
522 " for request 0 (descriptor 3): I/O succeeded\n"
523 " for request 1 (descriptor 4): In progress\n"
525 " for request 1 (descriptor 4): In progress\n"
527 "I/O completion signal received\n"
529 " for request 1 (descriptor 4): I/O succeeded\n"
530 "All I/O requests completed\n"
532 " for request 0 (descriptor 3): 4\n"
533 " for request 1 (descriptor 4): 2\n"
537 #: build/C/man7/aio.7:244
539 msgid "Program source"
543 #: build/C/man7/aio.7:253
546 "#include E<lt>stdlib.hE<gt>\n"
547 "#include E<lt>unistd.hE<gt>\n"
548 "#include E<lt>stdio.hE<gt>\n"
549 "#include E<lt>errno.hE<gt>\n"
550 "#include E<lt>aio.hE<gt>\n"
551 "#include E<lt>signal.hE<gt>\n"
553 "#include E<lt>stdlib.hE<gt>\n"
554 "#include E<lt>unistd.hE<gt>\n"
555 "#include E<lt>stdio.hE<gt>\n"
556 "#include E<lt>errno.hE<gt>\n"
557 "#include E<lt>aio.hE<gt>\n"
558 "#include E<lt>signal.hE<gt>\n"
561 #: build/C/man7/aio.7:255
563 msgid "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
564 msgstr "#define BUF_SIZE 20 /* Size of buffers for read operations */\n"
567 #: build/C/man7/aio.7:257
569 msgid "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
570 msgstr "#define errExit(msg) do { perror(msg); exit(EXIT_FAILURE); } while (0)\n"
573 #: build/C/man7/aio.7:259
575 msgid "#define errMsg(msg) do { perror(msg); } while (0)\n"
576 msgstr "#define errMsg(msg) do { perror(msg); } while (0)\n"
579 #: build/C/man7/aio.7:266
582 "struct ioRequest { /* Application-defined structure for tracking\n"
586 " struct aiocb *aiocbp;\n"
589 "struct ioRequest { /* Application-defined structure for tracking\n"
593 " struct aiocb *aiocbp;\n"
597 #: build/C/man7/aio.7:270
600 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
601 " /* On delivery of SIGQUIT, we attempt to\n"
602 " cancel all outstanding I/O requests */\n"
604 "static volatile sig_atomic_t gotSIGQUIT = 0;\n"
605 " /* On delivery of SIGQUIT, we attempt to\n"
606 " cancel all outstanding I/O requests */\n"
609 #: build/C/man7/aio.7:276
612 "static void /* Handler for SIGQUIT */\n"
613 "quitHandler(int sig)\n"
618 "static void /* Handler for SIGQUIT */\n"
619 "quitHandler(int sig)\n"
625 #: build/C/man7/aio.7:278
627 msgid "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
628 msgstr "#define IO_SIGNAL SIGUSR1 /* Signal used to notify I/O completion */\n"
631 #: build/C/man7/aio.7:283
634 "static void /* Handler for I/O completion signal */\n"
635 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
637 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
639 "static void /* Handler for I/O completion signal */\n"
640 "aioSigHandler(int sig, siginfo_t *si, void *ucontext)\n"
642 " write(STDOUT_FILENO, \"I/O completion signal received\\en\", 31);\n"
645 #: build/C/man7/aio.7:289
648 " /* The corresponding ioRequest structure would be available as\n"
649 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
650 " and the file descriptor would then be available via\n"
651 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
654 " /* The corresponding ioRequest structure would be available as\n"
655 " struct ioRequest *ioReq = si-E<gt>si_value.sival_ptr;\n"
656 " and the file descriptor would then be available via\n"
657 " ioReq-E<gt>aiocbp-E<gt>aio_fildes */\n"
661 #: build/C/man7/aio.7:299
665 "main(int argc, char *argv[])\n"
667 " struct ioRequest *ioList;\n"
668 " struct aiocb *aiocbList;\n"
669 " struct sigaction sa;\n"
671 " int numReqs; /* Total number of queued I/O requests */\n"
672 " int openReqs; /* Number of I/O requests still in progress */\n"
675 "main(int argc, char *argv[])\n"
677 " struct ioRequest *ioList;\n"
678 " struct aiocb *aiocbList;\n"
679 " struct sigaction sa;\n"
681 " int numReqs; /* Total number of queued I/O requests */\n"
682 " int openReqs; /* Number of I/O requests still in progress */\n"
685 #: build/C/man7/aio.7:305
688 " if (argc E<lt> 2) {\n"
689 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
691 " exit(EXIT_FAILURE);\n"
694 " if (argc E<lt> 2) {\n"
695 " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt> E<lt>pathnameE<gt>...\\en\",\n"
697 " exit(EXIT_FAILURE);\n"
701 #: build/C/man7/aio.7:307
703 msgid " numReqs = argc - 1;\n"
704 msgstr " numReqs = argc - 1;\n"
707 #: build/C/man7/aio.7:309
709 msgid " /* Allocate our arrays */\n"
710 msgstr " /* Allocate our arrays */\n"
713 #: build/C/man7/aio.7:313
716 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
717 " if (ioList == NULL)\n"
718 " errExit(\"calloc\");\n"
720 " ioList = calloc(numReqs, sizeof(struct ioRequest));\n"
721 " if (ioList == NULL)\n"
722 " errExit(\"calloc\");\n"
725 #: build/C/man7/aio.7:317
728 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
729 " if (aiocbList == NULL)\n"
730 " errExit(\"calloc\");\n"
732 " aiocbList = calloc(numReqs, sizeof(struct aiocb));\n"
733 " if (aiocbList == NULL)\n"
734 " errExit(\"calloc\");\n"
737 #: build/C/man7/aio.7:319
739 msgid " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
740 msgstr " /* Establish handlers for SIGQUIT and the I/O completion signal */\n"
743 #: build/C/man7/aio.7:322
746 " sa.sa_flags = SA_RESTART;\n"
747 " sigemptyset(&sa.sa_mask);\n"
749 " sa.sa_flags = SA_RESTART;\n"
750 " sigemptyset(&sa.sa_mask);\n"
753 #: build/C/man7/aio.7:326
756 " sa.sa_handler = quitHandler;\n"
757 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
758 " errExit(\"sigaction\");\n"
760 " sa.sa_handler = quitHandler;\n"
761 " if (sigaction(SIGQUIT, &sa, NULL) == -1)\n"
762 " errExit(\"sigaction\");\n"
765 #: build/C/man7/aio.7:331
768 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
769 " sa.sa_sigaction = aioSigHandler;\n"
770 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
771 " errExit(\"sigaction\");\n"
773 " sa.sa_flags = SA_RESTART | SA_SIGINFO;\n"
774 " sa.sa_sigaction = aioSigHandler;\n"
775 " if (sigaction(IO_SIGNAL, &sa, NULL) == -1)\n"
776 " errExit(\"sigaction\");\n"
779 #: build/C/man7/aio.7:334
782 " /* Open each file specified on the command line, and queue\n"
783 " a read request on the resulting file descriptor */\n"
785 " /* Open each file specified on the command line, and queue\n"
786 " a read request on the resulting file descriptor */\n"
789 #: build/C/man7/aio.7:339
792 " for (j = 0; j E<lt> numReqs; j++) {\n"
793 " ioList[j].reqNum = j;\n"
794 " ioList[j].status = EINPROGRESS;\n"
795 " ioList[j].aiocbp = &aiocbList[j];\n"
797 " for (j = 0; j E<lt> numReqs; j++) {\n"
798 " ioList[j].reqNum = j;\n"
799 " ioList[j].status = EINPROGRESS;\n"
800 " ioList[j].aiocbp = &aiocbList[j];\n"
803 #: build/C/man7/aio.7:345
806 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
807 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
808 " errExit(\"open\");\n"
809 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
810 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
812 " ioList[j].aiocbp-E<gt>aio_fildes = open(argv[j + 1], O_RDONLY);\n"
813 " if (ioList[j].aiocbp-E<gt>aio_fildes == -1)\n"
814 " errExit(\"open\");\n"
815 " printf(\"opened %s on descriptor %d\\en\", argv[j + 1],\n"
816 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
819 #: build/C/man7/aio.7:349
822 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
823 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
824 " errExit(\"malloc\");\n"
826 " ioList[j].aiocbp-E<gt>aio_buf = malloc(BUF_SIZE);\n"
827 " if (ioList[j].aiocbp-E<gt>aio_buf == NULL)\n"
828 " errExit(\"malloc\");\n"
831 #: build/C/man7/aio.7:357
834 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
835 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
836 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
837 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
838 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
839 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
842 " ioList[j].aiocbp-E<gt>aio_nbytes = BUF_SIZE;\n"
843 " ioList[j].aiocbp-E<gt>aio_reqprio = 0;\n"
844 " ioList[j].aiocbp-E<gt>aio_offset = 0;\n"
845 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_notify = SIGEV_SIGNAL;\n"
846 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_signo = IO_SIGNAL;\n"
847 " ioList[j].aiocbp-E<gt>aio_sigevent.sigev_value.sival_ptr =\n"
851 #: build/C/man7/aio.7:362
854 " s = aio_read(ioList[j].aiocbp);\n"
856 " errExit(\"aio_read\");\n"
859 " s = aio_read(ioList[j].aiocbp);\n"
861 " errExit(\"aio_read\");\n"
865 #: build/C/man7/aio.7:364
867 msgid " openReqs = numReqs;\n"
868 msgstr " openReqs = numReqs;\n"
871 #: build/C/man7/aio.7:366
873 msgid " /* Loop, monitoring status of I/O requests */\n"
874 msgstr " /* Loop, monitoring status of I/O requests */\n"
877 #: build/C/man7/aio.7:369
880 " while (openReqs E<gt> 0) {\n"
881 " sleep(3); /* Delay between each monitoring step */\n"
883 " while (openReqs E<gt> 0) {\n"
884 " sleep(3); /* Delay between each monitoring step */\n"
887 #: build/C/man7/aio.7:371
889 msgid " if (gotSIGQUIT) {\n"
890 msgstr " if (gotSIGQUIT) {\n"
893 #: build/C/man7/aio.7:375
896 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
897 " outstanding I/O requests, and display status returned\n"
898 " from the cancellation requests */\n"
900 " /* On receipt of SIGQUIT, attempt to cancel each of the\n"
901 " outstanding I/O requests, and display status returned\n"
902 " from the cancellation requests */\n"
905 #: build/C/man7/aio.7:377
907 msgid " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
908 msgstr " printf(\"got SIGQUIT; canceling I/O requests: \\en\");\n"
911 #: build/C/man7/aio.7:394
914 " for (j = 0; j E<lt> numReqs; j++) {\n"
915 " if (ioList[j].status == EINPROGRESS) {\n"
916 " printf(\" Request %d on descriptor %d:\", j,\n"
917 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
918 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
919 " ioList[j].aiocbp);\n"
920 " if (s == AIO_CANCELED)\n"
921 " printf(\"I/O canceled\\en\");\n"
922 " else if (s == AIO_NOTCANCELED)\n"
923 " printf(\"I/O not canceled\\en\");\n"
924 " else if (s == AIO_ALLDONE)\n"
925 " printf(\"I/O all done\\en\");\n"
927 " errMsg(\"aio_cancel\");\n"
931 " for (j = 0; j E<lt> numReqs; j++) {\n"
932 " if (ioList[j].status == EINPROGRESS) {\n"
933 " printf(\" Request %d on descriptor %d:\", j,\n"
934 " ioList[j].aiocbp-E<gt>aio_fildes);\n"
935 " s = aio_cancel(ioList[j].aiocbp-E<gt>aio_fildes,\n"
936 " ioList[j].aiocbp);\n"
937 " if (s == AIO_CANCELED)\n"
938 " printf(\"I/O canceled\\en\");\n"
939 " else if (s == AIO_NOTCANCELED)\n"
940 " printf(\"I/O not canceled\\en\");\n"
941 " else if (s == AIO_ALLDONE)\n"
942 " printf(\"I/O all done\\en\");\n"
944 " errMsg(\"aio_cancel\");\n"
949 #: build/C/man7/aio.7:397
959 #: build/C/man7/aio.7:400
962 " /* Check the status of each I/O request that is still\n"
965 " /* Check the status of each I/O request that is still\n"
969 #: build/C/man7/aio.7:407
972 " printf(\"aio_error():\\en\");\n"
973 " for (j = 0; j E<lt> numReqs; j++) {\n"
974 " if (ioList[j].status == EINPROGRESS) {\n"
975 " printf(\" for request %d (descriptor %d): \",\n"
976 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
977 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
979 " printf(\"aio_error():\\en\");\n"
980 " for (j = 0; j E<lt> numReqs; j++) {\n"
981 " if (ioList[j].status == EINPROGRESS) {\n"
982 " printf(\" for request %d (descriptor %d): \",\n"
983 " j, ioList[j].aiocbp-E<gt>aio_fildes);\n"
984 " ioList[j].status = aio_error(ioList[j].aiocbp);\n"
987 #: build/C/man7/aio.7:422
990 " switch (ioList[j].status) {\n"
992 " printf(\"I/O succeeded\\en\");\n"
994 " case EINPROGRESS:\n"
995 " printf(\"In progress\\en\");\n"
998 " printf(\"Canceled\\en\");\n"
1001 " errMsg(\"aio_error\");\n"
1005 " switch (ioList[j].status) {\n"
1007 " printf(\"I/O succeeded\\en\");\n"
1009 " case EINPROGRESS:\n"
1010 " printf(\"In progress\\en\");\n"
1012 " case ECANCELED:\n"
1013 " printf(\"Canceled\\en\");\n"
1016 " errMsg(\"aio_error\");\n"
1021 #: build/C/man7/aio.7:428
1024 " if (ioList[j].status != EINPROGRESS)\n"
1030 " if (ioList[j].status != EINPROGRESS)\n"
1037 #: build/C/man7/aio.7:430
1039 msgid " printf(\"All I/O requests completed\\en\");\n"
1040 msgstr " printf(\"All I/O requests completed\\en\");\n"
1043 #: build/C/man7/aio.7:432
1045 msgid " /* Check status return of all I/O requests */\n"
1046 msgstr " /* Check status return of all I/O requests */\n"
1049 #: build/C/man7/aio.7:436
1052 " printf(\"aio_return():\\en\");\n"
1053 " for (j = 0; j E<lt> numReqs; j++) {\n"
1056 " printf(\"aio_return():\\en\");\n"
1057 " for (j = 0; j E<lt> numReqs; j++) {\n"
1061 #: build/C/man7/aio.7:441
1064 " s = aio_return(ioList[j].aiocbp);\n"
1065 " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1066 " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1069 " s = aio_return(ioList[j].aiocbp);\n"
1070 " printf(\" for request %d (descriptor %d): %ld\\en\",\n"
1071 " j, ioList[j].aiocbp-E<gt>aio_fildes, (long) s);\n"
1075 #: build/C/man7/aio.7:444
1078 " exit(EXIT_SUCCESS);\n"
1081 " exit(EXIT_SUCCESS);\n"
1085 #: build/C/man7/aio.7:445 build/C/man3/aio_cancel.3:101
1086 #: build/C/man3/aio_error.3:82 build/C/man3/aio_fsync.3:100
1087 #: build/C/man3/aio_init.3:97 build/C/man3/aio_read.3:147
1088 #: build/C/man3/aio_return.3:77 build/C/man3/aio_suspend.3:124
1089 #: build/C/man3/aio_write.3:149 build/C/man2/io_cancel.2:94
1090 #: build/C/man2/io_destroy.2:88 build/C/man2/io_getevents.2:101
1091 #: build/C/man2/io_setup.2:97 build/C/man2/io_submit.2:99
1092 #: build/C/man3/lio_listio.3:218
1098 #: build/C/man7/aio.7:460
1100 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1101 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1102 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
1103 "www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
1105 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), "
1106 "B<io_submit>(2), B<aio_cancel>(3), B<aio_error>(3), B<aio_init>(3), "
1107 "B<aio_read>(3), B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), http://"
1108 "www.squid-cache.org/~adrian/Reprint-Pulavarty-OLS2003.pdf"
1111 #: build/C/man7/aio.7:460 build/C/man3/aio_cancel.3:110
1112 #: build/C/man3/aio_error.3:91 build/C/man3/aio_fsync.3:110
1113 #: build/C/man3/aio_init.3:99 build/C/man3/aio_read.3:156
1114 #: build/C/man3/aio_return.3:86 build/C/man3/aio_suspend.3:134
1115 #: build/C/man3/aio_write.3:158 build/C/man2/io_cancel.2:107
1116 #: build/C/man2/io_destroy.2:101 build/C/man2/io_getevents.2:116
1117 #: build/C/man2/io_setup.2:108 build/C/man2/io_submit.2:110
1118 #: build/C/man3/lio_listio.3:226
1124 #: build/C/man7/aio.7:467 build/C/man3/aio_cancel.3:117
1125 #: build/C/man3/aio_error.3:98 build/C/man3/aio_fsync.3:117
1126 #: build/C/man3/aio_init.3:106 build/C/man3/aio_read.3:163
1127 #: build/C/man3/aio_return.3:93 build/C/man3/aio_suspend.3:141
1128 #: build/C/man3/aio_write.3:165 build/C/man2/io_cancel.2:114
1129 #: build/C/man2/io_destroy.2:108 build/C/man2/io_getevents.2:123
1130 #: build/C/man2/io_setup.2:115 build/C/man2/io_submit.2:117
1131 #: build/C/man3/lio_listio.3:233
1133 "This page is part of release 3.37 of the Linux I<man-pages> project. A "
1134 "description of the project, and information about reporting bugs, can be "
1135 "found at http://www.kernel.org/doc/man-pages/."
1139 #: build/C/man3/aio_cancel.3:23
1145 #: build/C/man3/aio_cancel.3:23
1147 #| msgid "2010-10-02"
1152 #: build/C/man3/aio_cancel.3:26
1153 msgid "aio_cancel - cancel an outstanding asynchronous I/O request"
1154 msgstr "aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする"
1157 #: build/C/man3/aio_cancel.3:26 build/C/man3/aio_error.3:26
1158 #: build/C/man3/aio_fsync.3:26 build/C/man3/aio_init.3:27
1159 #: build/C/man3/aio_read.3:26 build/C/man3/aio_return.3:26
1160 #: build/C/man3/aio_suspend.3:27 build/C/man3/aio_write.3:26
1161 #: build/C/man2/io_cancel.2:26 build/C/man2/io_destroy.2:26
1162 #: build/C/man2/io_getevents.2:26 build/C/man2/io_setup.2:26
1163 #: build/C/man2/io_submit.2:26 build/C/man3/lio_listio.3:26
1169 #: build/C/man3/aio_cancel.3:28 build/C/man3/aio_error.3:28
1170 #: build/C/man3/aio_fsync.3:28 build/C/man3/aio_read.3:28
1171 #: build/C/man3/aio_return.3:28 build/C/man3/aio_write.3:28
1172 msgid "B<#include E<lt>aio.hE<gt>>"
1173 msgstr "B<#include E<lt>aio.hE<gt>>"
1176 #: build/C/man3/aio_cancel.3:30
1177 msgid "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1178 msgstr "B<int aio_cancel(int >I<fd>B<, struct aiocb *>I<aiocbp>B<);>"
1181 #: build/C/man3/aio_cancel.3:32 build/C/man3/aio_error.3:32
1182 #: build/C/man3/aio_fsync.3:32 build/C/man3/aio_init.3:36
1183 #: build/C/man3/aio_read.3:32 build/C/man3/aio_return.3:32
1184 #: build/C/man3/aio_write.3:32
1185 msgid "Link with I<-lrt>."
1186 msgstr "I<-lrt> でリンクする。"
1189 #: build/C/man3/aio_cancel.3:50
1192 #| "The B<aio_cancel>() function attempts to cancel outstanding asynchronous "
1193 #| "I/O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all "
1194 #| "such requests are canceled. Otherwise, only the request described by the "
1195 #| "control block pointed to by I<aiocbp> is canceled."
1197 "The B<aio_cancel>() function attempts to cancel outstanding asynchronous I/"
1198 "O requests for the file descriptor I<fd>. If I<aiocbp> is NULL, all such "
1199 "requests are canceled. Otherwise, only the request described by the control "
1200 "block pointed to by I<aiocbp> is canceled. (See B<aio>(7) for a "
1201 "description of the I<aiocb> structure.)"
1203 "B<aio_cancel>() 関数は、ファイルディスクリプタ I<fd> についての完了していな"
1204 "い非同期 I/O リクエストをキャンセルしようとする。 I<aiocbp> が NULL の場合、"
1205 "そのような全てのリクエストがキャンセルされる。 I<aiocbp> が NULL でない場"
1206 "合、 I<aiocbp> で指された制御ブロックで記述されたリクエストのみがキャンセルさ"
1210 #: build/C/man3/aio_cancel.3:59
1213 #| "Normal asynchronous notification occurs for canceled requests. The "
1214 #| "request return status is set to -1, and the request error status is set "
1215 #| "to B<ECANCELED>. The control block of requests that cannot be canceled "
1216 #| "is not changed."
1218 "Normal asynchronous notification occurs for canceled requests. The request "
1219 "return status (B<aio_return>(3)) is set to -1, and the request error status "
1220 "(B<aio_error>(3)) is set to B<ECANCELED>. The control block of requests "
1221 "that cannot be canceled is not changed."
1223 "キャンセルされたリクエストに対して、通常の非同期通知が起こる。 リクエストの返"
1224 "り値は -1 に設定され、 リクエストのエラー状態は B<ECANCELED> に設定される。 "
1225 "キャンセルできなかったリクエストの制御ブロックは変更されない。"
1228 #: build/C/man3/aio_cancel.3:66
1230 "If I<aiocbp> is not NULL, and I<fd> differs from the file descriptor with "
1231 "which the asynchronous operation was initiated, unspecified results occur."
1233 "I<aiocbp> が NULL でなく、かつ I<fd> が非同期操作が開始されたファイルディスク"
1234 "リプタと異なる場合、 生じる結果は不定である。"
1236 #. FreeBSD: not those on raw disk devices.
1238 #: build/C/man3/aio_cancel.3:69
1240 #| msgid "Which operations are cancellable is implementation-defined."
1241 msgid "Which operations are cancelable is implementation-defined."
1242 msgstr "どの操作をキャンセルできるかは、実装定義である。"
1245 #: build/C/man3/aio_cancel.3:69 build/C/man3/aio_error.3:43
1246 #: build/C/man3/aio_fsync.3:72 build/C/man3/aio_read.3:87
1247 #: build/C/man3/aio_return.3:48 build/C/man3/aio_suspend.3:79
1248 #: build/C/man3/aio_write.3:94 build/C/man2/io_cancel.2:51
1249 #: build/C/man2/io_destroy.2:48 build/C/man2/io_getevents.2:54
1250 #: build/C/man2/io_setup.2:49 build/C/man2/io_submit.2:48
1251 #: build/C/man3/lio_listio.3:107
1253 msgid "RETURN VALUE"
1257 #: build/C/man3/aio_cancel.3:87
1260 #| "This function returns B<AIO_CANCELED> if all requests were successfully "
1261 #| "canceled. It returns B<AIO_NOTCANCELED> when at least one of the "
1262 #| "requests specified was not canceled because it was in progress. In this "
1263 #| "case one may check the status of individual requests using B<aio_error>"
1264 #| "(3). This function returns B<AIO_ALLDONE> when all requests had been "
1265 #| "completed already before this call. When some error occurs, -1 is "
1266 #| "returned, and I<errno> is set appropriately."
1268 "This function returns B<AIO_CANCELED> if all requests were successfully "
1269 "canceled. It returns B<AIO_NOTCANCELED> when at least one of the requests "
1270 "specified was not canceled because it was in progress. In this case one may "
1271 "check the status of individual requests using B<aio_error>(3). This "
1272 "function returns B<AIO_ALLDONE> if all requests had already been completed "
1273 "before this call. When some error occurs, -1 is returned, and I<errno> is "
1274 "set appropriately."
1276 "全てのリクエストのキャンセルが成功した場合、この関数は B<AIO_CANCELED> を返"
1277 "す。 指定されたリクエストのうち少なくとも 1 つが進行中であるために キャンセル"
1278 "できなかった場合は、 B<AIO_NOTCANCELED> が返される。 この場合は、 "
1279 "B<aio_error>(3) を使って個々のリクエストの状態をチェックすることができる。 "
1280 "呼び出される前に全てのリクエストが完了していた場合、 この関数は "
1281 "B<AIO_ALLDONE> を返す。 何らかのエラーが起こった場合は、-1 が返されて、 "
1282 "I<errno> が適切に設定される。"
1285 #: build/C/man3/aio_cancel.3:88 build/C/man3/aio_fsync.3:82
1286 #: build/C/man3/aio_read.3:106 build/C/man3/aio_write.3:113
1287 #: build/C/man2/io_submit.2:58
1293 #: build/C/man3/aio_cancel.3:92
1294 msgid "I<fd> is not a valid file descriptor."
1295 msgstr "I<fd> が有効なファイルディスクリプタでない。"
1298 #: build/C/man3/aio_cancel.3:96
1299 msgid "The B<aio_cancel>() function is available since glibc 2.1."
1303 #: build/C/man3/aio_cancel.3:101 build/C/man3/aio_error.3:82
1304 #: build/C/man3/aio_read.3:147 build/C/man3/aio_return.3:77
1306 #| msgid "B<aio>(7)"
1307 msgid "See B<aio>(7)."
1311 #: build/C/man3/aio_cancel.3:110
1314 #| "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1315 #| "B<aio_suspend>(3), B<aio_write>(3)"
1317 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1318 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1320 "B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1321 "B<aio_suspend>(3), B<aio_write>(3)"
1324 #: build/C/man3/aio_error.3:23
1330 #: build/C/man3/aio_error.3:23 build/C/man3/aio_read.3:23
1331 #: build/C/man3/aio_return.3:23
1333 #| msgid "2010-10-02"
1338 #: build/C/man3/aio_error.3:26
1339 msgid "aio_error - get error status of asynchronous I/O operation"
1340 msgstr "aio_error - 非同期 I/O 操作のエラー状態を取得する"
1343 #: build/C/man3/aio_error.3:30
1344 msgid "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1345 msgstr "B<int aio_error(const struct aiocb *>I<aiocbp>B<);>"
1348 #: build/C/man3/aio_error.3:43
1351 #| "The B<aio_error>() function returns the error status for the "
1352 #| "asynchronous I/O request with control block pointed to by I<aiocbp>."
1354 "The B<aio_error>() function returns the error status for the asynchronous I/"
1355 "O request with control block pointed to by I<aiocbp>. (See B<aio>(7) for a "
1356 "description of the I<aiocb> structure.)"
1358 "B<aio_error>() 関数は I<aiocbp> で指された制御ブロックでの非同期 I/O リクエ"
1362 #: build/C/man3/aio_error.3:45
1363 msgid "This function returns one of the following:"
1367 #: build/C/man3/aio_error.3:45 build/C/man3/aio_error.3:49
1368 #: build/C/man3/aio_error.3:52 build/C/man3/aio_error.3:54
1369 #: build/C/man3/aio_suspend.3:42 build/C/man3/aio_suspend.3:46
1370 #: build/C/man3/aio_suspend.3:48
1376 #: build/C/man3/aio_error.3:49
1377 msgid "B<EINPROGRESS>, if the request has not been completed yet."
1381 #: build/C/man3/aio_error.3:52
1382 msgid "B<ECANCELED>, if the request was canceled."
1386 #: build/C/man3/aio_error.3:54
1387 msgid "0, if the request completed successfully."
1391 #: build/C/man3/aio_error.3:65
1393 "A positive error, if the asynchronous I/O operation failed. This is the "
1394 "same value that would have been stored in the I<errno> variable in the case "
1395 "of a synchronous B<read>(2), B<write>(2), B<fsync>(2), or B<fdatasync>(2) "
1400 #: build/C/man3/aio_error.3:73
1402 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
1403 "of which the return status (see B<aio_return>(3)) has not been retrieved "
1406 "I<aiocbp> が、まだ返り値 (return status) (B<aio_return>(3) を参照) が取得さ"
1407 "れていない非同期 I/O リクエストの制御ブロックを指していない。"
1410 #: build/C/man3/aio_error.3:77
1411 msgid "The B<aio_error>() function is available since glibc 2.1."
1415 #: build/C/man3/aio_error.3:91
1418 #| "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1419 #| "B<aio_suspend>(3), B<aio_write>(3)"
1421 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1422 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1424 "B<aio_cancel>(3), B<aio_fsync>(3), B<aio_read>(3), B<aio_return>(3), "
1425 "B<aio_suspend>(3), B<aio_write>(3)"
1428 #: build/C/man3/aio_fsync.3:23
1434 #: build/C/man3/aio_fsync.3:26
1435 msgid "aio_fsync - asynchronous file synchronization"
1436 msgstr "aio_fsync - 非同期ファイルを同期させる"
1439 #: build/C/man3/aio_fsync.3:30
1440 msgid "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1441 msgstr "B<int aio_fsync(int >I<op>B<, struct aiocb *>I<aiocbp>B<);>"
1444 #: build/C/man3/aio_fsync.3:43
1447 #| "The B<aio_fsync>() function does a sync on all outstanding asynchronous "
1448 #| "I/O operations associated with I<aiocbp-E<gt>aio_fildes>."
1450 "The B<aio_fsync>() function does a sync on all outstanding asynchronous I/O "
1451 "operations associated with I<aiocbp-E<gt>aio_fildes>. (See B<aio>(7) for a "
1452 "description of the I<aiocb> structure.)"
1454 "B<aio_fsync>() 関数は、 I<aiocbp-E<gt>aio_fildes> で関連付けられているまだ完"
1455 "了していない全ての非同期 I/O 操作を同期させる。"
1458 #: build/C/man3/aio_fsync.3:57
1461 #| "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
1462 #| "operations shall be completed as if by a call of B<fsync>(2), and if "
1463 #| "I<op> is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>"
1464 #| "(2). Note that this is a request only \\(em this call does not wait for "
1465 #| "I/O completion."
1467 "More precisely, if I<op> is B<O_SYNC>, then all currently queued I/O "
1468 "operations shall be completed as if by a call of B<fsync>(2), and if I<op> "
1469 "is B<O_DSYNC>, this call is the asynchronous analog of B<fdatasync>(2)."
1471 "より正確に言うと、 I<op> が B<O_SYNC> の場合、現在キューに入れられている全て"
1472 "の I/O 操作は、 B<fsync>(2) が呼ばれたかのように完了されるだろう。 また "
1473 "I<op> が B<O_DSYNC> の場合、この呼び出しは B<fdatasync>(2) の非同期版とな"
1474 "る。 この関数はリクエストを行うだけである点に注意すること \\(em この呼び出し"
1478 #: build/C/man3/aio_fsync.3:59
1479 msgid "Note that this is a request only; it does not wait for I/O completion."
1483 #: build/C/man3/aio_fsync.3:72
1486 #| "Apart from I<aio_fildes> the only field in the structure pointed to by "
1487 #| "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
1488 #| "I<struct sigevent>) that indicates the desired type of asynchronous "
1489 #| "notification at completion. All other fields are ignored."
1491 "Apart from I<aio_fildes>, the only field in the structure pointed to by "
1492 "I<aiocbp> that is used by this call is the I<aio_sigevent> field (a "
1493 "I<sigevent> structure, described in B<sigevent>(7)), which indicates the "
1494 "desired type of asynchronous notification at completion. All other fields "
1497 "I<aiocbp> で指される構造体のフィールドのうち、この呼び出しで I<aio_fildes> 以"
1498 "外に使用されるのは I<aio_sigevent> フィールド (I<struct sigevent>) のみであ"
1499 "る。 このフィールドは、完了時の非同期通知に使用したいタイプを示す。 その他の"
1503 #: build/C/man3/aio_fsync.3:78
1505 "On success (the sync request was successfully queued) this function returns "
1506 "0. On error -1 is returned, and I<errno> is set appropriately."
1508 "成功した場合 (同期リクエストをキューに入れるのに成功した場合)、 この関数は 0 "
1509 "を返す。 エラーの場合、-1 が返され、 I<errno> が適切に設定される。"
1512 #: build/C/man3/aio_fsync.3:79 build/C/man3/aio_read.3:103
1513 #: build/C/man3/aio_suspend.3:88 build/C/man3/aio_write.3:110
1514 #: build/C/man2/io_cancel.2:57 build/C/man2/io_setup.2:55
1515 #: build/C/man2/io_submit.2:55 build/C/man3/lio_listio.3:149
1516 #: build/C/man3/lio_listio.3:152
1522 #: build/C/man3/aio_fsync.3:82 build/C/man3/aio_read.3:106
1523 #: build/C/man3/aio_write.3:113 build/C/man3/lio_listio.3:152
1524 msgid "Out of resources."
1528 #: build/C/man3/aio_fsync.3:86 build/C/man3/aio_write.3:117
1529 msgid "I<aio_fildes> is not a valid file descriptor open for writing."
1531 "I<aio_fildes> が書き込みのためにオープンされた有効なファイルディスクリプタで"
1535 #: build/C/man3/aio_fsync.3:94
1538 #| "No synchronized I/O for this file is supported, or I<op> is not B<O_SYNC> "
1541 "Synchronized I/O is not supported for this file, or I<op> is not B<O_SYNC> "
1544 "このファイルに対する同期 I/O がサポートされていない。\n"
1545 "または I<op> が B<O_SYNC> でも B<O_DSYNC> でもない。"
1548 #: build/C/man3/aio_fsync.3:98
1549 msgid "The B<aio_fsync>() function is available since glibc 2.1."
1553 #: build/C/man3/aio_fsync.3:110
1556 #| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
1557 #| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
1559 "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
1560 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<sigevent>"
1563 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
1564 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
1567 #: build/C/man3/aio_init.3:24
1573 #: build/C/man3/aio_init.3:24
1579 #: build/C/man3/aio_init.3:27
1580 msgid "aio_init - POSIX asynchronous I/O initialization"
1584 #: build/C/man3/aio_init.3:31
1587 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1588 "B<#include E<lt>aio.hE<gt>>\n"
1590 "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
1591 "B<#include E<lt>aio.hE<gt>>\n"
1594 #: build/C/man3/aio_init.3:33
1596 msgid "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1597 msgstr "B<void aio_init(const struct aioinit *>I<init>B<);>\n"
1600 #: build/C/man3/aio_init.3:43
1602 "The GNU-specific B<aio_init>() function allows the caller to provide tuning "
1603 "hints to the glibc POSIX AIO implementation. Use of this function is "
1604 "optional, but to be effective, it must be called before employing any other "
1605 "functions in the POSIX AIO API."
1609 #: build/C/man3/aio_init.3:47
1611 "The tuning information is provided in the buffer pointed to by the argument "
1612 "I<init>. This buffer is a structure of the following form:"
1616 #: build/C/man3/aio_init.3:62
1619 "struct aioinit {\n"
1620 " int aio_threads; /* Maximum number of threads */\n"
1621 " int aio_num; /* Number of expected simultaneous\n"
1623 " int aio_locks; /* Not used */\n"
1624 " int aio_usedba; /* Not used */\n"
1625 " int aio_debug; /* Not used */\n"
1626 " int aio_numusers; /* Not used */\n"
1627 " int aio_idle_time; /* Number of seconds before idle thread\n"
1628 " terminates (since glibc 2.2) */\n"
1629 " int aio_reserved;\n"
1632 "struct aioinit {\n"
1633 " int aio_threads; /* Maximum number of threads */\n"
1634 " int aio_num; /* Number of expected simultaneous\n"
1636 " int aio_locks; /* Not used */\n"
1637 " int aio_usedba; /* Not used */\n"
1638 " int aio_debug; /* Not used */\n"
1639 " int aio_numusers; /* Not used */\n"
1640 " int aio_idle_time; /* Number of seconds before idle thread\n"
1641 " terminates (since glibc 2.2) */\n"
1642 " int aio_reserved;\n"
1646 #: build/C/man3/aio_init.3:68
1647 msgid "The following fields are used in the I<aioinit> structure:"
1651 #: build/C/man3/aio_init.3:68
1653 msgid "I<aio_threads>"
1654 msgstr "I<aio_threads>"
1657 #: build/C/man3/aio_init.3:76
1659 "This field specifies the maximum number of worker threads that may be used "
1660 "by the implementation. If the number of outstanding I/O operations exceeds "
1661 "this limit, then excess operations will be queued until a worker thread "
1662 "becomes free. If this field is specified with a value less than 1, the "
1663 "value 1 is used. The default value is 20."
1667 #: build/C/man3/aio_init.3:76
1672 #. FIXME But, if aio_num > 32, the behavior looks strange. See
1673 #. http://sourceware.org/bugzilla/show_bug.cgi?id=12083
1675 #: build/C/man3/aio_init.3:85
1677 "This field should specify the maximum number of simultaneous I/O requests "
1678 "that the caller expects to enqueue. If a value less than 32 is specified "
1679 "for this field, it is rounded up to 32. The default value is 64."
1683 #: build/C/man3/aio_init.3:85
1685 msgid "I<aio_idle_time>"
1686 msgstr "I<aio_idle_time>"
1689 #: build/C/man3/aio_init.3:91
1691 "This field specifies the amount of time in seconds that a worker thread "
1692 "should wait for further requests before terminating, after having completed "
1693 "a previous request. The default value is 1."
1697 #: build/C/man3/aio_init.3:95
1698 msgid "The B<aio_init>() function is available since glibc 2.1."
1702 #: build/C/man3/aio_init.3:97
1703 msgid "This function is a GNU extension."
1707 #: build/C/man3/aio_init.3:99
1712 #: build/C/man3/aio_read.3:23
1718 #: build/C/man3/aio_read.3:26
1719 msgid "aio_read - asynchronous read"
1720 msgstr "aio_read - 非同期で読み込む"
1723 #: build/C/man3/aio_read.3:30
1724 msgid "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1725 msgstr "B<int aio_read(struct aiocb *>I<aiocbp>B<);>"
1728 #: build/C/man3/aio_read.3:40
1730 "The B<aio_read>() function queues the I/O request described by the buffer "
1731 "pointed to by I<aiocbp>. This function is the asynchronous analog of B<read>"
1732 "(2). The arguments of the call"
1736 #: build/C/man3/aio_read.3:42
1738 msgid " read(fd, buf, count)\n"
1742 #: build/C/man3/aio_read.3:55 build/C/man3/aio_write.3:55
1744 "correspond (in order) to the fields I<aio_fildes>, I<aio_buf>, and "
1745 "I<aio_nbytes> of the structure pointed to by I<aiocbp>. (See B<aio>(7) for "
1746 "a description of the I<aiocb> structure.)"
1750 #: build/C/man3/aio_read.3:61
1753 #| "The data is read starting at the absolute file offset I<aiocbp-"
1754 #| "E<gt>aio_offset>, regardless of the current file position. After this "
1755 #| "request, the value of the current file position is unspecified."
1757 "The data is read starting at the absolute file offset I<aiocbp-"
1758 "E<gt>aio_offset>, regardless of the current file offset. After the call, "
1759 "the value of the current file offset is unspecified."
1761 "データは、カレントのファイル位置に関係なく、絶対ファイルオフセット I<aiocbp-"
1762 "E<gt>aio_offset> を開始点として読み込まれる。 このリクエスト後の、カレントの"
1766 #: build/C/man3/aio_read.3:74
1769 #| "The \"asynchronous\" means that this call returns as soon as the request "
1770 #| "has been enqueued; the read may or may not have completed when the call "
1771 #| "returns. One tests for completion using B<aio_error>(3)."
1773 "The \"asynchronous\" means that this call returns as soon as the request has "
1774 "been enqueued; the read may or may not have completed when the call "
1775 "returns. One tests for completion using B<aio_error>(3). The return status "
1776 "of a completed I/O operation can be obtained B<aio_return>(3). Asynchronous "
1777 "notification of I/O completion can be obtained by setting I<aiocbp-"
1778 "E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
1780 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」 "
1781 "ということである。 呼び出しから戻った時に、読み込みは完了しているかも知れない"
1782 "し、 完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテ"
1786 #: build/C/man3/aio_read.3:81 build/C/man3/aio_write.3:88
1788 "If B<_POSIX_PRIORITIZED_IO> is defined, and this file supports it, then the "
1789 "asynchronous operation is submitted at a priority equal to that of the "
1790 "calling process minus I<aiocbp-E<gt>aio_reqprio>."
1792 "B<_POSIX_PRIORITIZED_IO> が定義されていて、 かつファイルがこれをサポートして"
1793 "いる場合、 非同期操作は呼び出したプロセスの優先度から I<aiocbp-"
1794 "E<gt>aio_reqprio> を引いた優先度で登録 (submit) される。"
1797 #: build/C/man3/aio_read.3:85 build/C/man3/aio_write.3:92
1798 msgid "The field I<aiocbp-E<gt>aio_lio_opcode> is ignored."
1799 msgstr "フィールド I<aiocbp-E<gt>aio_lio_opcode> は無視される。"
1802 #: build/C/man3/aio_read.3:87
1803 msgid "No data is read from a regular file beyond its maximum offset."
1805 "最大オフセットを超えた通常のファイルからは、何もデータが読み込まれない。"
1808 #: build/C/man3/aio_read.3:102 build/C/man3/aio_write.3:109
1811 #| "On success, 0 is returned. On error the request is not enqueued, -1 is "
1812 #| "returned, and I<errno> is set appropriately. If an error is first "
1813 #| "detected later, it will be reported via B<aio_return>(3) (returns status "
1814 #| "-1) and B<aio_error>(3) (error status whatever one would have gotten in "
1815 #| "I<errno>, such as B<EBADF>)."
1817 "On success, 0 is returned. On error the request is not enqueued, -1 is "
1818 "returned, and I<errno> is set appropriately. If an error is only detected "
1819 "later, it will be reported via B<aio_return>(3) (returns status -1) and "
1820 "B<aio_error>(3) (error status\\(emwhatever one would have gotten in "
1821 "I<errno>, such as B<EBADF>)."
1823 "成功した場合、0 が返される。 エラーの場合、リクエストはキューに入れられず、 "
1824 "-1 が返されて、 I<errno> が適切に設定される。 エラーは最初に検知された後で、 "
1825 "(状態 -1 を返す) B<aio_return>(3) と (I<errno> で取得できる B<EBADF> のよう"
1826 "なエラー状態を返す) B<aio_error>(3) で報告されるだろう。"
1829 #: build/C/man3/aio_read.3:110
1830 msgid "I<aio_fildes> is not a valid file descriptor open for reading."
1832 "I<aio_fildes> は読み込みのためにオープンされた有効なファイルディスクリプタで"
1836 #: build/C/man3/aio_read.3:118
1839 #| "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
1841 "One or more of I<aio_offset>, I<aio_reqprio>, or I<aio_nbytes> are invalid."
1843 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
1846 #: build/C/man3/aio_read.3:118 build/C/man3/aio_write.3:128
1847 #: build/C/man2/io_cancel.2:66 build/C/man2/io_destroy.2:60
1848 #: build/C/man2/io_getevents.2:73 build/C/man2/io_setup.2:69
1849 #: build/C/man2/io_submit.2:71
1855 #: build/C/man3/aio_read.3:121 build/C/man3/aio_write.3:131
1856 msgid "This function is not supported."
1857 msgstr "この関数がサポートされていない。"
1860 #: build/C/man3/aio_read.3:121
1862 msgid "B<EOVERFLOW>"
1863 msgstr "B<EOVERFLOW>"
1866 #: build/C/man3/aio_read.3:126
1868 "The file is a regular file, we start reading before end-of-file and want at "
1869 "least one byte, but the starting position is past the maximum offset for "
1872 "ファイルが通常のファイルであり、 ファイルの終端の前から読み込みを開始して、 "
1873 "少なくとも 1 バイトを読み込もうとした。 しかし開始位置がこのファイルの最大オ"
1877 #: build/C/man3/aio_read.3:130
1878 msgid "The B<aio_read>() function is available since glibc 2.1."
1881 #. or the control block of the operation
1883 #: build/C/man3/aio_read.3:140
1886 #| "It is a good idea to zero out the control block before use. This control "
1887 #| "block must not be changed while the read operation is in progress. The "
1888 #| "buffer area being read into must not be accessed during the operation or "
1889 #| "undefined results may occur. The memory areas involved must remain valid."
1891 "It is a good idea to zero out the control block before use. The control "
1892 "block must not be changed while the read operation is in progress. The "
1893 "buffer area being read into must not be accessed during the operation or "
1894 "undefined results may occur. The memory areas involved must remain valid."
1896 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
1897 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
1898 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
1899 "これに含まれるメモリ領域は、有効なままにしなければならない。"
1902 #: build/C/man3/aio_read.3:144 build/C/man3/aio_write.3:149
1903 #: build/C/man3/lio_listio.3:218
1905 "Simultaneous I/O operations specifying the same I<aiocb> structure produce "
1906 "undefined results."
1910 #: build/C/man3/aio_read.3:156
1913 #| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
1914 #| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
1916 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
1917 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
1919 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
1920 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
1923 #: build/C/man3/aio_return.3:23
1929 #: build/C/man3/aio_return.3:26
1930 msgid "aio_return - get return status of asynchronous I/O operation"
1931 msgstr "aio_return - 非同期 I/O 操作の返り値 (return status) を取得する"
1934 #: build/C/man3/aio_return.3:30
1935 msgid "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
1936 msgstr "B<ssize_t aio_return(struct aiocb *>I<aiocbp>B<);>"
1939 #: build/C/man3/aio_return.3:43
1942 #| "The B<aio_return>() function returns the final return status for the "
1943 #| "asynchronous I/O request with control block pointed to by I<aiocbp>."
1945 "The B<aio_return>() function returns the final return status for the "
1946 "asynchronous I/O request with control block pointed to by I<aiocbp>. (See "
1947 "B<aio>(7) for a description of the I<aiocb> structure.)"
1949 "B<aio_return>() 関数は I<aiocbp> で指された制御ブロックにおける非同期 I/O リ"
1953 #: build/C/man3/aio_return.3:48
1955 "This function should be called only once for any given request, after "
1956 "B<aio_error>(3) returns something other than B<EINPROGRESS>."
1958 "この関数は、 B<aio_error>(3) が B<EINPROGRESS> 以外を返した後で、 与えられた"
1959 "リクエストに対して 1 回だけ呼ばれるべきである。"
1962 #: build/C/man3/aio_return.3:57
1965 #| "If the asynchronous I/O operation has completed, this function returns "
1966 #| "the value that would have been returned in case of a synchronous I<read>, "
1967 #| "I<write>, or I<fsync> request. Otherwise the return value is undefined. "
1968 #| "On error, the error value is returned."
1970 "If the asynchronous I/O operation has completed, this function returns the "
1971 "value that would have been returned in case of a synchronous B<read>(2), "
1972 "B<write>(2), B<fsync>(2) or B<fdatasync>(2), call."
1974 "非同期 I/O 操作が完了した場合、この関数は同期 I<read>, I<write>, I<fsync> リ"
1975 "クエストのときに返されるのと同じ値を返す。 それ以外の場合、返り値は未定義であ"
1976 "る。 エラーの場合、エラー値が返される。"
1979 #: build/C/man3/aio_return.3:62
1981 "If the asynchronous I/O operation has not yet completed, the return value "
1982 "and effect of B<aio_return>() are undefined."
1986 #: build/C/man3/aio_return.3:68
1988 "I<aiocbp> does not point at a control block for an asynchronous I/O request "
1989 "of which the return status has not been retrieved yet."
1991 "I<aiocbp> が、返り値がまだ取得されていない非同期 I/O リクエストの 制御ブロッ"
1995 #: build/C/man3/aio_return.3:72
1996 msgid "The B<aio_return>() function is available since glibc 2.1."
2000 #: build/C/man3/aio_return.3:86
2003 #| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2004 #| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
2006 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2007 "B<aio_suspend>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7)"
2009 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2010 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
2013 #: build/C/man3/aio_suspend.3:24
2016 msgstr "AIO_SUSPEND"
2019 #: build/C/man3/aio_suspend.3:27
2020 msgid "aio_suspend - wait for asynchronous I/O operation or timeout"
2021 msgstr "aio_suspend - 非同期 I/O 操作またはタイムアウトを待つ"
2024 #: build/C/man3/aio_suspend.3:31 build/C/man3/lio_listio.3:29
2026 msgid "B<#include E<lt>aio.hE<gt>>\n"
2027 msgstr "B<#include E<lt>aio.hE<gt>>\n"
2030 #: build/C/man3/aio_suspend.3:33
2032 #| msgid "B<int aio_suspend(const struct aiocb * const >I<cblist>B<[],>\n"
2033 msgid "B<int aio_suspend(const struct aiocb * const >I<aiocb_list>B<[],>\n"
2034 msgstr "B<int aio_suspend(const struct aiocb * const >I<cblist>B<[],>\n"
2037 #: build/C/man3/aio_suspend.3:35
2039 #| msgid "B< int >I<n>B<, const struct timespec *>I<timeout>B<);>\n"
2040 msgid "B< int >I<nitems>B<, const struct timespec *>I<timeout>B<);>\n"
2041 msgstr "B< int >I<n>B<, const struct timespec *>I<timeout>B<);>\n"
2044 #: build/C/man3/aio_suspend.3:37 build/C/man3/lio_listio.3:34
2046 msgid "Link with I<-lrt>.\n"
2047 msgstr "I<-lrt> でリンクする。"
2050 #: build/C/man3/aio_suspend.3:42
2052 "The B<aio_suspend>() function suspends the calling thread until one of the "
2057 #: build/C/man3/aio_suspend.3:46
2059 "One or more of the asynchronous I/O requests in the list I<aiocb_list> has "
2064 #: build/C/man3/aio_suspend.3:48
2065 msgid "A signal is delivered."
2069 #: build/C/man3/aio_suspend.3:55
2071 "I<timeout> is not NULL and the specified time interval has passed. (For "
2072 "details of the I<timespec> structure, see B<nanosleep>(2).)"
2076 #: build/C/man3/aio_suspend.3:73
2079 #| "Each item in the list must either be NULL (and then is ignored), or a "
2080 #| "pointer to a control block on which I/O was initiated using B<aio_read>"
2081 #| "(3), B<aio_write>(3), or B<lio_listio>(3)."
2083 "The I<nitems> argument specifies the number of items in I<aiocb_list>. Each "
2084 "item in the list pointed to by I<aiocb_list> must be either NULL (and then "
2085 "is ignored), or a pointer to a control block on which I/O was initiated "
2086 "using B<aio_read>(3), B<aio_write>(3), or B<lio_listio>(3). (See B<aio>(7) "
2087 "for a description of the I<aiocb> structure.)"
2089 "リストの各アイテムは、NULL (これは無視される) か、 B<aio_read>(3), "
2090 "B<aio_write>(3), B<lio_listio>(3) を使って I/O が開始された制御ブロックへの"
2094 #: build/C/man3/aio_suspend.3:79
2097 #| "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
2098 #| "timeout interval."
2100 "If B<CLOCK_MONOTONIC> is supported, this clock is used to measure the "
2101 "timeout interval (see B<clock_gettime>(3))."
2103 "B<CLOCK_MONOTONIC> がサポートされる場合、 このクロックを使ってタイムアウトの"
2107 #: build/C/man3/aio_suspend.3:87
2110 #| "If this function returns after completion of one of the indicated "
2111 #| "requests, it returns 0. Otherwise it returns -1 and sets I<errno> "
2114 "If this function returns after completion of one of the I/O requests "
2115 "specified in I<aiocb_list>, 0 is returned. Otherwise, -1 is returned, and "
2116 "I<errno> is set to indicate the error."
2118 "指示されたリクエストの 1 つが完了した後にこの関数が返る場合は、0 を返す。 そ"
2119 "れ以外の場合は -1 を返して、 I<errno> を適切に設定する。"
2122 #: build/C/man3/aio_suspend.3:92
2125 #| "The call was ended by timeout, before any of the indicated operations had "
2128 "The call timed out before any of the indicated operations had completed."
2130 "指示された操作のどれも完了しないうちに、 この呼び出しがタイムアウトによって終"
2134 #: build/C/man3/aio_suspend.3:92 build/C/man2/io_getevents.2:69
2135 #: build/C/man3/lio_listio.3:168
2141 #: build/C/man3/aio_suspend.3:98
2144 #| "The call was ended by signal; see B<signal>(7). (Possibly the completion "
2145 #| "signal of one of the operations we were waiting for.)"
2147 "The call was ended by signal (possibly the completion signal of one of the "
2148 "operations we were waiting for); see B<signal>(7)."
2150 "この呼び出しがシグナルによって終了させられた。 B<signal>(7) 参照。 (このシグ"
2151 "ナルは、完了を待っていた操作のいずれかの完了シグナルの可能性もある。)"
2154 #: build/C/man3/aio_suspend.3:102
2155 msgid "The B<aio_suspend>() function is available since glibc 2.1."
2159 #: build/C/man3/aio_suspend.3:108
2161 "One can achieve polling by using a non-NULL I<timeout> that specifies a zero "
2164 "時間間隔が 0 であることを指定する NULL ではない I<timeout> を使って、ポーリン"
2168 #: build/C/man3/aio_suspend.3:114
2170 "If one or more of the asynchronous I/O operations specified in I<aiocb_list> "
2171 "has already completed at the time of the call to B<aio_suspend>(), then the "
2172 "call returns immediately."
2176 #: build/C/man3/aio_suspend.3:124
2178 "To determine which I/O operations have completed after a successful return "
2179 "from B<aio_suspend>(), use B<aio_error>(3) to scan the list of I<aiocb> "
2180 "structures pointed to by I<aiocb_list>."
2184 #: build/C/man3/aio_suspend.3:134
2187 #| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2188 #| "B<aio_return>(3), B<aio_write>(3), B<time>(7)"
2190 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2191 "B<aio_return>(3), B<aio_write>(3), B<lio_listio>(3), B<aio>(7), B<time>(7)"
2193 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2194 "B<aio_return>(3), B<aio_write>(3), B<time>(7)"
2197 #: build/C/man3/aio_write.3:23
2203 #: build/C/man3/aio_write.3:26
2204 msgid "aio_write - asynchronous write"
2205 msgstr "aio_write - 非同期で書き込む"
2208 #: build/C/man3/aio_write.3:30
2209 msgid "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2210 msgstr "B<int aio_write(struct aiocb *>I<aiocbp>B<);>"
2213 #: build/C/man3/aio_write.3:40
2215 "The B<aio_write>() function queues the I/O request described by the buffer "
2216 "pointed to by I<aiocb>. This function is the asynchronous analog of B<write>"
2217 "(2). The arguments of the call"
2221 #: build/C/man3/aio_write.3:42
2223 msgid " write(fd, buf, count)\n"
2227 #: build/C/man3/aio_write.3:68
2230 #| "If B<O_APPEND> is not set, the data is written starting at the absolute "
2231 #| "file offset I<aiocbp-E<gt>aio_offset>, regardless of the current file "
2232 #| "position. If B<O_APPEND> is set, the data is written at the end of the "
2233 #| "file. After this request, the value of the current file position is "
2236 "If B<O_APPEND> is not set, the data is written starting at the absolute file "
2237 "offset I<aiocbp-E<gt>aio_offset>, regardless of the current file offset. If "
2238 "B<O_APPEND> is set, data is written at the end of the file in the same order "
2239 "as B<aio_write>() calls are made. After the call, the value of the current "
2240 "file offset is unspecified."
2242 "B<O_APPEND> が設定されない場合、カレントのファイル位置に関係なく、 データは絶"
2243 "対ファイルオフセット I<aiocbp-E<gt>aio_offset> を開始点として書き込まれる。 "
2244 "B<O_APPEND> が設定されている場合、データはファイルの終端に書き込まれる。 この"
2245 "リクエストの後の、カレントのファイル位置は規定されていない。"
2248 #: build/C/man3/aio_write.3:81
2251 #| "The \"asynchronous\" means that this call returns as soon as the request "
2252 #| "has been enqueued; the write may or may not have completed when the call "
2253 #| "returns. One tests for completion using B<aio_error>(3)."
2255 "The \"asynchronous\" means that this call returns as soon as the request has "
2256 "been enqueued; the write may or may not have completed when the call "
2257 "returns. One tests for completion using B<aio_error>(3). The return status "
2258 "of a completed I/O operation can be obtained B<aio_return>(3). Asynchronous "
2259 "notification of I/O completion can be obtained by setting I<aiocbp-"
2260 "E<gt>aio_sigevent> appropriately; see B<sigevent>(7) for details."
2262 "「非同期」とは「リクエストがキューに入れられたら、この呼び出しはすぐに返る」 "
2263 "ということである。 呼び出しから戻った時に、書き込みは完了しているかも知れない"
2264 "し、 完了していないかも知れない。 B<aio_error>(3) を使うことで完了したかをテ"
2268 #: build/C/man3/aio_write.3:94
2269 msgid "No data is written to a regular file beyond its maximum offset."
2270 msgstr "最大オフセットを超えた通常のファイルには、何もデータが書き込まれない。"
2273 #: build/C/man3/aio_write.3:117
2279 #: build/C/man3/aio_write.3:121
2281 "The file is a regular file, we want to write at least one byte, but the "
2282 "starting position is at or beyond the maximum offset for this file."
2284 "ファイルは通常のファイルであり、少なくとも 1 バイトを書き込もうとしている。 "
2285 "しかし開始位置が、このファイルの最大オフセットと同じかそれを超えている。"
2288 #: build/C/man3/aio_write.3:128
2290 "One or more of I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> are invalid."
2292 "I<aio_offset>, I<aio_reqprio>, I<aio_nbytes> のうち 1 つ以上が無効である。"
2295 #: build/C/man3/aio_write.3:135
2296 msgid "The B<aio_write>() function is available since glibc 2.1."
2299 #. or the control block of the operation
2301 #: build/C/man3/aio_write.3:145
2304 #| "It is a good idea to zero out the control block before use. This control "
2305 #| "block must not be changed while the write operation is in progress. The "
2306 #| "buffer area being written out must not be accessed during the operation "
2307 #| "or undefined results may occur. The memory areas involved must remain "
2310 "It is a good idea to zero out the control block before use. The control "
2311 "block must not be changed while the write operation is in progress. The "
2312 "buffer area being written out must not be accessed during the operation or "
2313 "undefined results may occur. The memory areas involved must remain valid."
2315 "使用する前に制御ブロックを 0 にしておくのは、よい考えである。 この制御ブロッ"
2316 "クは、読み込み操作が進行している間は変更すべきでない。 読み込まれるバッファ領"
2317 "域は 操作の最中にアクセスすべきではない。 さもないと起こる結果が不定になる。 "
2318 "これに含まれるメモリ領域は、有効なままにしなければならない。"
2321 #: build/C/man3/aio_write.3:158
2324 #| "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2325 #| "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
2327 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
2328 "B<aio_return>(3), B<aio_suspend>(3), B<lio_listio>(3), B<aio>(7)"
2330 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
2331 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
2334 #: build/C/man2/io_cancel.2:23
2340 #: build/C/man2/io_cancel.2:23 build/C/man2/io_destroy.2:23
2341 #: build/C/man2/io_setup.2:23 build/C/man2/io_submit.2:23
2347 #: build/C/man2/io_cancel.2:26
2348 msgid "io_cancel - cancel an outstanding asynchronous I/O operation"
2349 msgstr "io_cancel - 未処理の非同期 I/O 操作の取り消し"
2353 #. #include <linux/aio.h>
2355 #: build/C/man2/io_cancel.2:33 build/C/man2/io_destroy.2:32
2356 #: build/C/man2/io_setup.2:32 build/C/man2/io_submit.2:32
2358 msgid "B<#include E<lt>libaio.hE<gt>>\n"
2359 msgstr "B<#include E<lt>libaio.hE<gt>>\n"
2365 #: build/C/man2/io_cancel.2:39
2368 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2369 "B< struct io_event *>I<result>B<);>\n"
2371 "B<int io_cancel(aio_context_t >I<ctx_id>B<, struct iocb *>I<iocb>B<,>\n"
2372 "B< struct io_event *>I<result>B<);>\n"
2375 #: build/C/man2/io_cancel.2:41 build/C/man2/io_destroy.2:39
2376 #: build/C/man2/io_getevents.2:42 build/C/man2/io_setup.2:39
2377 #: build/C/man2/io_submit.2:40
2379 msgid "Link with I<-laio>.\n"
2380 msgstr "I<-laio> とリンクする。\n"
2383 #: build/C/man2/io_cancel.2:51
2385 "B<io_cancel>() attempts to cancel an asynchronous I/O operation previously "
2386 "submitted with B<io_submit>(2). I<ctx_id> is the AIO context ID of the "
2387 "operation to be canceled. If the AIO context is found, the event will be "
2388 "canceled and then copied into the memory pointed to by I<result> without "
2389 "being placed into the completion queue."
2391 "B<io_cancel>() は、過去に B<io_submit>(2) を使って登録された非同期 I/O "
2392 "(AIO) 操作の取り消しを行おうとする。 I<ctx_id> は、取り消しを行う操作の AIO "
2393 "コンテキストの ID である。 指定した AIO コンテキストが見つかると、 対象のイベ"
2394 "ントの取り消しが行われ、その後 I<result> で指されたメモリに コピーされる (こ"
2395 "のとき、完了キューへの移動は行われない)。"
2398 #: build/C/man2/io_cancel.2:56
2400 "On success, B<io_cancel>() returns 0. For the failure return, see NOTES."
2402 "成功した場合、 B<io_cancel>() は 0 を返す。 失敗時の返り値については、「注"
2406 #: build/C/man2/io_cancel.2:60
2407 msgid "The I<iocb> specified was not canceled."
2408 msgstr "指定された I<iocb> の取り消しが行われなかった。"
2411 #: build/C/man2/io_cancel.2:60 build/C/man2/io_destroy.2:54
2412 #: build/C/man2/io_getevents.2:61 build/C/man2/io_setup.2:58
2413 #: build/C/man2/io_submit.2:61
2419 #: build/C/man2/io_cancel.2:63 build/C/man2/io_submit.2:64
2420 msgid "One of the data structures points to invalid data."
2421 msgstr "データ構造の中に無効なデータを指しているものがある。"
2424 #: build/C/man2/io_cancel.2:66
2425 msgid "The AIO context specified by I<ctx_id> is invalid."
2426 msgstr "I<ctx_id> で指定された AIO コンテキストが無効である。"
2429 #: build/C/man2/io_cancel.2:70
2430 msgid "B<io_cancel>() is not implemented on this architecture."
2431 msgstr "B<io_cancel>() はこのアーキテクチャでは実装されていない。"
2434 #: build/C/man2/io_cancel.2:73 build/C/man2/io_destroy.2:67
2435 #: build/C/man2/io_getevents.2:80 build/C/man2/io_setup.2:76
2436 #: build/C/man2/io_submit.2:78
2438 "The asynchronous I/O system calls first appeared in Linux 2.5, August 2002."
2439 msgstr "非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。"
2442 #: build/C/man2/io_cancel.2:78
2444 "B<io_cancel>() is Linux-specific and should not be used in programs that "
2445 "are intended to be portable."
2447 "B<io_cancel>() は Linux 固有であり、移植を想定したプログラムで使用すべきでは"
2451 #: build/C/man2/io_cancel.2:80 build/C/man2/io_destroy.2:74
2452 #: build/C/man2/io_getevents.2:87 build/C/man2/io_setup.2:83
2453 #: build/C/man2/io_submit.2:85
2454 msgid "Glibc does not provide a wrapper function for this system call."
2455 msgstr "glibc はこのシステムコール用のラッパー関数を提供していない。"
2458 #: build/C/man2/io_cancel.2:94
2460 "The wrapper provided in I<libaio> for B<io_cancel>() does not follow the "
2461 "usual C library conventions for indicating error: on error it returns a "
2462 "negated error number (the negative of one of the values listed in ERRORS). "
2463 "If the system call is invoked via B<syscall>(2), then the return value "
2464 "follows the usual conventions for indicating an error: -1, with I<errno> set "
2465 "to a (positive) value that indicates the error."
2467 "I<libaio> で B<io_cancel>() 用に提供されているラッパー関数は、エラーの通知が"
2468 "通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
2469 "(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2470 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2471 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2476 #. The asynchronous I/O system calls were written by Benjamin LaHaise.
2480 #: build/C/man2/io_cancel.2:107
2482 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2485 "B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2489 #: build/C/man2/io_destroy.2:23
2495 #: build/C/man2/io_destroy.2:26
2496 msgid "io_destroy - destroy an asynchronous I/O context"
2497 msgstr "io_destroy - 非同期 I/O コンテキストの消去"
2503 #: build/C/man2/io_destroy.2:37
2505 msgid "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
2506 msgstr "B<int io_destroy(aio_context_t >I<ctx>B<);>\n"
2509 #: build/C/man2/io_destroy.2:48
2511 "B<io_destroy>() removes the asynchronous I/O context from the list of I/O "
2512 "contexts and then destroys it. B<io_destroy>() can also cancel any "
2513 "outstanding asynchronous I/O actions on I<ctx> and block on completion."
2515 "B<io_destroy>() は、I/O コンテキストのリストから指定された非同期 I/O コンテ"
2516 "キストを削除した後、そのコンテキストを消去する。 B<io_destroy>() は、I<ctx> "
2517 "上に未処理の非同期 I/O 命令及び 完了キューのブロックの取り消しも行うことがで"
2521 #: build/C/man2/io_destroy.2:53
2523 "On success, B<io_destroy>() returns 0. For the failure return, see NOTES."
2525 "成功した場合、 B<io_destroy>() は 0 を返す。 失敗時の返り値については、「注"
2529 #: build/C/man2/io_destroy.2:57
2530 msgid "The context pointed to is invalid."
2531 msgstr "データ構造の中に無効なデータを指しているものがある。"
2534 #: build/C/man2/io_destroy.2:60
2535 msgid "The AIO context specified by I<ctx> is invalid."
2536 msgstr "I<ctx> で指定された AIO コンテキストが無効である。"
2539 #: build/C/man2/io_destroy.2:64
2540 msgid "B<io_destroy>() is not implemented on this architecture."
2541 msgstr "B<io_destroy>() はこのアーキテクチャでは実装されていない。"
2544 #: build/C/man2/io_destroy.2:72
2546 "B<io_destroy>() is Linux-specific and should not be used in programs that "
2547 "are intended to be portable."
2549 "B<io_destroy>() は Linux 固有であり、移植を想定したプログラムで使用すべきで"
2553 #: build/C/man2/io_destroy.2:88
2555 "The wrapper provided in I<libaio> for B<io_destroy>() does not follow the "
2556 "usual C library conventions for indicating error: on error it returns a "
2557 "negated error number (the negative of one of the values listed in ERRORS). "
2558 "If the system call is invoked via B<syscall>(2), then the return value "
2559 "follows the usual conventions for indicating an error: -1, with I<errno> set "
2560 "to a (positive) value that indicates the error."
2562 "I<libaio> で B<io_destroy>() 用に提供されているラッパー関数は、エラーの通知"
2563 "が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番"
2564 "号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2565 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2566 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2571 #. The asynchronous I/O system calls were written by Benjamin LaHaise.
2575 #: build/C/man2/io_destroy.2:101
2577 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2580 "B<io_cancel>(2), B<io_getevents>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2584 #: build/C/man2/io_getevents.2:23
2586 msgid "IO_GETEVENTS"
2587 msgstr "IO_GETEVENTS"
2590 #: build/C/man2/io_getevents.2:23
2596 #: build/C/man2/io_getevents.2:26
2597 msgid "io_getevents - read asynchronous I/O events from the completion queue"
2598 msgstr "io_getevents - 完了キューから非同期 I/O イベントを読み出す"
2602 #. #include <linux/aio.h>
2604 #: build/C/man2/io_getevents.2:33
2607 "B<#include E<lt>linux/time.hE<gt>>\n"
2608 "B<#include E<lt>libaio.hE<gt>>\n"
2610 "B<#include E<lt>linux/time.hE<gt>>\n"
2611 "B<#include E<lt>libaio.hE<gt>>\n"
2617 #: build/C/man2/io_getevents.2:40
2620 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2621 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2623 "B<int io_getevents(aio_context_t >I<ctx_id>B<, long >I<min_nr>B<, long >I<nr>B<,>\n"
2624 "B< struct io_event *>I<events>B<, struct timespec *>I<timeout>B<);>\n"
2627 #: build/C/man2/io_getevents.2:54
2629 "B<io_getevents>() attempts to read at least I<min_nr> events and up to "
2630 "I<nr> events from the completion queue of the AIO context specified by "
2631 "I<ctx_id>. I<timeout> specifies the amount of time to wait for events, "
2632 "where a NULL timeout waits until at least I<min_nr> events have been seen. "
2633 "Note that I<timeout> is relative and will be updated if not NULL and the "
2636 "B<io_getevents>() は、少なくとも I<min_nr> の、最大 I<nr> 個の イベントを、 "
2637 "I<ctx_id> で指定された AIO (非同期 I/O) コンテキストの 完了キューから読み出そ"
2638 "うとする。 I<timeout> はイベント読み出しの待ち時間の合計を指定する。 タイムア"
2639 "ウトに NULL を指定した場合、少なくとも I<min_nr> 個のイベントが 読み出される"
2640 "まで待つことを意味する。 注意点を以下にあげる: I<timeout> は相対的な指定であ"
2641 "る。 NULL でない場合更新されることもありえる。 呼び出し元の動作は停止する。"
2644 #: build/C/man2/io_getevents.2:60
2646 "On success, B<io_getevents>() returns the number of events read: 0 if no "
2647 "events are available, or less than I<min_nr> if the I<timeout> has elapsed. "
2648 "For the failure return, see NOTES."
2650 "成功すると、 B<io_getevents>() は読み出したイベント数を返す。 イベントが一つ"
2651 "も読み出されなかった場合は 0 が返され、 I<timeout> 時間が経過した場合は "
2652 "I<min_nr> 未満の値が返される。 失敗時の返り値については、「注意」の節を参照す"
2656 #: build/C/man2/io_getevents.2:64
2657 msgid "Either I<events> or I<timeout> is an invalid pointer."
2658 msgstr "I<events> または I<timeout> が無効なポインタである。"
2661 #: build/C/man2/io_getevents.2:69
2663 "I<ctx_id> is invalid. I<min_nr> is out of range or I<nr> is out of range."
2665 "I<ctx_id> が無効である。もしくは、I<min_nr> または I<nr> が 範囲外の値であ"
2669 #: build/C/man2/io_getevents.2:73
2670 msgid "Interrupted by a signal handler; see B<signal>(7)."
2671 msgstr "シグナルハンドラにより割り込まれた。 B<signal>(7) 参照。"
2674 #: build/C/man2/io_getevents.2:77
2675 msgid "B<io_getevents>() is not implemented on this architecture."
2676 msgstr "B<io_getevents>() がこのアーキテクチャでは実装されていない。"
2679 #: build/C/man2/io_getevents.2:85
2681 "B<io_getevents>() is Linux-specific and should not be used in programs that "
2682 "are intended to be portable."
2684 "B<io_getevents>() は Linux 固有であり、移植を想定したプログラムで 使用すべき"
2688 #: build/C/man2/io_getevents.2:101
2690 "The wrapper provided in I<libaio> for B<io_getevents>() does not follow the "
2691 "usual C library conventions for indicating error: on error it returns a "
2692 "negated error number (the negative of one of the values listed in ERRORS). "
2693 "If the system call is invoked via B<syscall>(2), then the return value "
2694 "follows the usual conventions for indicating an error: -1, with I<errno> set "
2695 "to a (positive) value that indicates the error."
2697 "I<libaio> で B<io_getevents>() 用に提供されているラッパー関数は、エラーの通"
2698 "知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー"
2699 "番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2700 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2701 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2706 #. The asynchronous I/O system calls were written by Benjamin LaHaise.
2710 #: build/C/man2/io_getevents.2:116
2712 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2715 "B<io_cancel>(2), B<io_destroy>(2), B<io_setup>(2), B<io_submit>(2), B<aio>"
2719 #: build/C/man2/io_setup.2:23
2725 #: build/C/man2/io_setup.2:26
2726 msgid "io_setup - create an asynchronous I/O context"
2727 msgstr "io_setup - 非同期 I/O コンテキストを作成する"
2733 #: build/C/man2/io_setup.2:37
2735 msgid "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
2736 msgstr "B<int io_setup(unsigned >I<nr_events>B<, aio_context_t *>I<ctxp>B<);>\n"
2739 #: build/C/man2/io_setup.2:49
2741 "B<io_setup>() creates an asynchronous I/O context capable of receiving at "
2742 "least I<nr_events>. I<ctxp> must not point to an AIO context that already "
2743 "exists, and must be initialized to 0 prior to the call. On successful "
2744 "creation of the AIO context, I<*ctxp> is filled in with the resulting handle."
2746 "B<io_setup>() は、少なくとも I<nr_events> 個のイベントを受信可能な 非同期 I/"
2747 "O (AIO) コンテキストの作成を行う。 I<ctxp> は、すでに存在する AIO コンテキス"
2748 "トを指していてはならず、 B<io_setup>() の呼び出しの前に 0 に初期化されていな"
2749 "ければならない。 AIO コンテキストの作成に成功すると、I<*ctxp> に作成された "
2750 "AIO コンテキストへのポインタがセットされる。"
2753 #: build/C/man2/io_setup.2:54
2755 "On success, B<io_setup>() returns 0. For the failure return, see NOTES."
2757 "成功した場合、 B<io_setup>() は 0 を返す。 失敗時の返り値については、「注"
2761 #: build/C/man2/io_setup.2:58
2763 "The specified I<nr_events> exceeds the user's limit of available events."
2765 "指定された I<nr_events> がユーザが使用できるイベント数の上限を越えている。"
2768 #: build/C/man2/io_setup.2:61
2769 msgid "An invalid pointer is passed for I<ctxp>."
2770 msgstr "I<ctxp> に無効なポインタが指定されている。"
2773 #: build/C/man2/io_setup.2:66
2775 "I<ctxp> is not initialized, or the specified I<nr_events> exceeds internal "
2776 "limits. I<nr_events> should be greater than 0."
2778 "I<ctxp> が初期化されていないか、指定された I<nr_events> が 内部の制限値を越え"
2779 "ている。また、 I<nr_events> は 0 より大きい値に 設定すべきである。"
2782 #: build/C/man2/io_setup.2:66
2788 #: build/C/man2/io_setup.2:69
2789 msgid "Insufficient kernel resources are available."
2790 msgstr "必要なカーネル・リソースを得られない。"
2793 #: build/C/man2/io_setup.2:73
2794 msgid "B<io_setup>() is not implemented on this architecture."
2795 msgstr "B<io_setup>() がこのアーキテクチャでは実装されていない。"
2798 #: build/C/man2/io_setup.2:81
2800 "B<io_setup>() is Linux-specific and should not be used in programs that are "
2801 "intended to be portable."
2803 "B<io_setup>() は Linux 固有であり、移植を想定したプログラムで 使用すべきでは"
2807 #: build/C/man2/io_setup.2:97
2809 "The wrapper provided in I<libaio> for B<io_setup>() does not follow the "
2810 "usual C library conventions for indicating error: on error it returns a "
2811 "negated error number (the negative of one of the values listed in ERRORS). "
2812 "If the system call is invoked via B<syscall>(2), then the return value "
2813 "follows the usual conventions for indicating an error: -1, with I<errno> set "
2814 "to a (positive) value that indicates the error."
2816 "I<libaio> で B<io_setup>() 用に提供されているラッパー関数は、エラーの通知が"
2817 "通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
2818 "(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2819 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2820 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2825 #. The asynchronous I/O system calls were written by Benjamin LaHaise.
2829 #: build/C/man2/io_setup.2:108
2831 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2834 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_submit>(2), "
2838 #: build/C/man2/io_submit.2:23
2844 #: build/C/man2/io_submit.2:26
2845 msgid "io_submit - submit asynchronous I/O blocks for processing"
2846 msgstr "io_submit - 非同期 I/O ブロックを処理待ちキューに登録する"
2852 #: build/C/man2/io_submit.2:38
2854 msgid "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
2855 msgstr "B<int io_submit(aio_context_t >I<ctx_id>B<, long >I<nr>B<, struct iocb **>I<iocbpp>B<);>\n"
2858 #: build/C/man2/io_submit.2:48
2860 "B<io_submit>() queues I<nr> I/O request blocks for processing in the AIO "
2861 "context I<ctx_id>. I<iocbpp> should be an array of I<nr> AIO control "
2862 "blocks, which will be submitted to context I<ctx_id>."
2864 "B<io_submit>() は、AIO コンテキスト I<ctx_id> に I<nr> 個の I/O リクエストを"
2865 "処理待ちとしてキューに追加する。 I<iocbpp> は、AIO コンテキスト I<ctx_id> に"
2866 "登録される I<nr> 個の AIO 制御ブロックの配列になっていなければならない。"
2869 #: build/C/man2/io_submit.2:54
2871 "On success, B<io_submit>() returns the number of I<iocb>s submitted (which "
2872 "may be 0 if I<nr> is zero). For the failure return, see NOTES."
2874 "成功すると、 B<io_submit>() は登録した I<iocb> の個数を返す (I<nr> が 0 の場"
2875 "合は 0 を返す)。 失敗時の返り値については、「注意」の節を参照すること。"
2878 #: build/C/man2/io_submit.2:58
2879 msgid "Insufficient resources are available to queue any I<iocb>s."
2880 msgstr "何個かの I<iocb> をキューに入れるのに必要なリソースが得られない。"
2883 #: build/C/man2/io_submit.2:61
2884 msgid "The file descriptor specified in the first I<iocb> is invalid."
2885 msgstr "先頭の I<iocb> に指定されたファイル・ディスクリプタが無効である。"
2888 #: build/C/man2/io_submit.2:71
2890 "The I<aio_context> specified by I<ctx_id> is invalid. I<nr> is less than "
2891 "0. The I<iocb> at *iocbpp[0] is not properly initialized, or the operation "
2892 "specified is invalid for the file descriptor in the I<iocb>."
2894 "I<ctx_id> で指定された I<aio_context> が無効である。 I<nr> が 0 未満である。 "
2895 "*iocbpp[0] の I<iocb> が適切に初期化されていないか、 指定された操作がその "
2896 "I<iocb> 中のファイル・ディスクリプタに対して 無効である。"
2899 #: build/C/man2/io_submit.2:75
2900 msgid "B<io_submit>() is not implemented on this architecture."
2901 msgstr "B<io_submit>() はこのアーキテクチャでは実装されていない。"
2904 #: build/C/man2/io_submit.2:83
2906 "B<io_submit>() is Linux-specific and should not be used in programs that "
2907 "are intended to be portable."
2909 "B<io_submit>() は Linux 固有であり、移植を想定したプログラムで 使用すべきで"
2913 #: build/C/man2/io_submit.2:99
2915 "The wrapper provided in I<libaio> for B<io_submit>() does not follow the "
2916 "usual C library conventions for indicating error: on error it returns a "
2917 "negated error number (the negative of one of the values listed in ERRORS). "
2918 "If the system call is invoked via B<syscall>(2), then the return value "
2919 "follows the usual conventions for indicating an error: -1, with I<errno> set "
2920 "to a (positive) value that indicates the error."
2922 "I<libaio> で B<io_submit>() 用に提供されているラッパー関数は、エラーの通知が"
2923 "通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 "
2924 "(エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。 "
2925 "B<syscall>(2) 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣"
2926 "習に したがってものとなり、エラーの場合には -1 が返り、 I<errno> にエラーを示"
2931 #. The asynchronous I/O system calls were written by Benjamin LaHaise.
2935 #: build/C/man2/io_submit.2:110
2937 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
2940 "B<io_cancel>(2), B<io_destroy>(2), B<io_getevents>(2), B<io_setup>(2), B<aio>"
2944 #: build/C/man3/lio_listio.3:23
2950 #: build/C/man3/lio_listio.3:23
2956 #: build/C/man3/lio_listio.3:26
2957 msgid "lio_listio - initiate a list of I/O requests"
2961 #: build/C/man3/lio_listio.3:32
2964 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
2965 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
2967 "B<int lio_listio(int >I<mode>B<, struct aiocb *const >I<aiocb_list>B<[],>\n"
2968 "B< int >I<nitems>B<, struct sigevent *>I<sevp>B<);>\n"
2971 #: build/C/man3/lio_listio.3:40
2973 "The B<lio_listio>() function initiates the list of I/O operations described "
2974 "by the array I<aiocb_list>."
2978 #: build/C/man3/lio_listio.3:44
2979 msgid "The I<mode> operation has one of the following values:"
2983 #: build/C/man3/lio_listio.3:44
2986 msgstr "B<LIO_WAIT>"
2989 #: build/C/man3/lio_listio.3:50
2991 "The call blocks until all operations are complete. The I<sevp> argument is "
2996 #: build/C/man3/lio_listio.3:50
2998 msgid "B<LIO_NOWAIT>"
2999 msgstr "B<LIO_NOWAIT>"
3002 #: build/C/man3/lio_listio.3:62
3004 "The I/O operations are queued for processing and the call returns "
3005 "immediately. When the I/O operations complete, asynchronous notification "
3006 "occurs, as specified by the I<sevp> argument; see B<sigevent>(7) for "
3007 "details. If I<sevp> is NULL, no asynchronous notification occurs."
3011 #: build/C/man3/lio_listio.3:76
3013 "The I<aiocb_list> argument is an array of pointers to I<aiocb> structures "
3014 "that describe I/O operations. These operations are executed in an "
3015 "unspecified order. The I<nitems> argument specifies the size of the array "
3016 "I<aiocb_list>. NULL pointers in I<aiocb_list> are ignored."
3020 #: build/C/man3/lio_listio.3:82
3022 "In each control block in I<aiocb_list>, the I<aio_lio_opcode> field "
3023 "specifies the I/O operation to be initiated, as follows:"
3027 #: build/C/man3/lio_listio.3:82
3030 msgstr "B<LIO_READ>"
3033 #: build/C/man3/lio_listio.3:88
3035 "Initiate a read operation. The operation is queued as for a call to "
3036 "B<aio_read>(3) specifying this control block."
3040 #: build/C/man3/lio_listio.3:88
3042 msgid "B<LIO_WRITE>"
3043 msgstr "B<LIO_WRITE>"
3046 #: build/C/man3/lio_listio.3:94
3048 "Initiate a write operation. The operation is queued as for a call to "
3049 "B<aio_write>(3) specifying this control block."
3053 #: build/C/man3/lio_listio.3:94
3059 #: build/C/man3/lio_listio.3:97
3060 msgid "Ignore this control block."
3064 #: build/C/man3/lio_listio.3:107
3066 "The remaining fields in each control block have the same meanings as for "
3067 "B<aio_read>(3) and B<aio_write>(3). The I<aio_sigevent> fields of each "
3068 "control block can be used to specify notifications for the individual I/O "
3069 "operations (see B<sigevent>(7))."
3073 #: build/C/man3/lio_listio.3:117
3075 "If I<mode> is B<LIO_NOWAIT>, B<lio_listio>() returns 0 if all I/O "
3076 "operations are successfully queued. Otherwise, -1 is returned, and I<errno> "
3077 "is set to indicate the error."
3081 #: build/C/man3/lio_listio.3:127
3083 "If I<mode> is B<LIO_WAIT>, B<lio_listio>() returns 0 when all of the I/O "
3084 "operations have completed successfully. Otherwise, -1 is returned, and "
3085 "I<errno> is set to indicate the error."
3089 #: build/C/man3/lio_listio.3:145
3091 "The return status from B<lio_listio>() provides information only about the "
3092 "call itself, not about the individual I/O operations. One or more of the I/"
3093 "O operations may fail, but this does not prevent other operations "
3094 "completing. The status of individual I/O operations in I<aiocb_list> can be "
3095 "determined using B<aio_error>(3). When an operation has completed, its "
3096 "return status can be obtained using B<aio_return>(3). Individual I/O "
3097 "operations can fail for the reasons described in B<aio_read>(3) and "
3102 #: build/C/man3/lio_listio.3:149
3103 msgid "The B<lio_listio>() function may fail for the following reasons:"
3106 #. Doesn't happen in glibc(?)
3108 #: build/C/man3/lio_listio.3:160
3110 "The number of I/O operations specified by I<nitems> would cause the limit "
3111 "B<AIO_MAX> to be exceeded."
3114 #. Doesn't happen in glibc(?)
3116 #: build/C/man3/lio_listio.3:168
3117 msgid "I<mode> is invalid, or I<nitems> exceeds the limit B<AIO_LISTIO_MAX>."
3121 #: build/C/man3/lio_listio.3:177
3123 "I<mode> was B<LIO_WAIT> and a signal was caught before all I/O operations "
3124 "completed. (This may even be one of the signals used for asynchronous I/O "
3125 "completion notification.)"
3129 #: build/C/man3/lio_listio.3:177
3134 #. e.g., ioa_reqprio or aio_lio_opcode was invalid
3136 #: build/C/man3/lio_listio.3:185
3138 "One of more of the operations specified by I<aiocb_list> failed. The "
3139 "application can check the status of each operation using B<aio_return>(3)."
3143 #: build/C/man3/lio_listio.3:200
3145 "If B<lio_listio>() fails with the error B<EAGAIN>, B<EINTR>, or B<EIO>, "
3146 "then some of the operations in I<aiocb_list> may have been initiated. If "
3147 "B<lio_listio>() fails for any other reason, then none of the I/O operations "
3148 "has been initiated."
3152 #: build/C/man3/lio_listio.3:204
3153 msgid "The B<lio_listio>() function is available since glibc 2.1."
3156 #. or the control block of the operation
3158 #: build/C/man3/lio_listio.3:214
3160 "It is a good idea to zero out the control blocks before use. The control "
3161 "blocks must not be changed while the I/O operations are in progress. The "
3162 "buffer areas being read into or written from must not be accessed during the "
3163 "operations or undefined results may occur. The memory areas involved must "
3168 #: build/C/man3/lio_listio.3:226
3170 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3171 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3173 "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3174 "B<aio_suspend>(3), B<aio_write>(3), B<aio>(7)"
3176 #~ msgid "2003-11-14"
3177 #~ msgstr "2003-11-14"
3179 #~ msgid "POSIX.1-2001."
3180 #~ msgstr "POSIX.1-2001."
3183 #~ "This function returns B<EINPROGRESS> if the request has not been "
3184 #~ "completed yet. It returns B<ECANCELED> if the request was canceled. It "
3185 #~ "returns 0 if the request completed successfully. Otherwise an error "
3186 #~ "value is returned, the same value that would have been stored in the "
3187 #~ "I<errno> variable in case of a synchronous I<read>, I<write>, I<fsync>, "
3188 #~ "or I<fdatasync> request. On error, the error value is returned."
3190 #~ "リクエストがまだ完了していない場合、この関数は B<EINPROGRESS> を返す。リク"
3191 #~ "エストがキャンセルされた場合、この関数は B<ECANCELED> を返す。リクエストが"
3192 #~ "成功して完了した場合、この関数は 0 を返す。 それ以外の場合はエラー値が返さ"
3193 #~ "れる。 このエラー値は、同期 I<read>, I<write>, I<fsync>, I<fdatasync> リク"
3194 #~ "エストの場合に I<errno> に格納されるのと同じ値である。 エラーの場合はエ"
3198 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
3199 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3201 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_read>(3), B<aio_return>(3), "
3202 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3205 #~ "The B<aio_read>() function requests an asynchronous \"n = read(fd, buf, "
3206 #~ "count)\" with fd, buf, count given by I<aiocbp-E<gt>aio_fildes>, I<aiocbp-"
3207 #~ "E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes>, respectively. The return "
3208 #~ "status n can be retrieved upon completion using B<aio_return>(3)."
3210 #~ "B<aio_read>() 関数は非同期の \"n = read(fd, buf, count)\" をリクエストす"
3211 #~ "る。 ここで fd, buf, count は、それぞれ I<aiocbp-E<gt>aio_fildes>, "
3212 #~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes> で与えられる。 返り値 "
3213 #~ "(return status) n は、完了時に B<aio_return>(3) を使って取得できる。"
3216 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3217 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3219 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_return>(3), "
3220 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3223 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
3224 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3226 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
3227 #~ "B<aio_suspend>(3), B<aio_write>(3)"
3230 #~ "The B<aio_suspend>() function suspends the calling process until at "
3231 #~ "least one of the asynchronous I/O requests in the list I<cblist> of "
3232 #~ "length I<n> have completed, a signal is delivered, or I<timeout> is not "
3233 #~ "NULL and the time interval it indicates has passed."
3235 #~ "B<aio_suspend>() 関数は、長さ I<n> のリスト I<cblist> に含まれる非同期 I/"
3236 #~ "O リクエストのうち少なくとも 1 つが完了するか、 シグナルが配送されるか、 "
3237 #~ "I<timeout> が NULL でなく、かつその時間が過ぎるまで、 呼び出したプロセスを"
3238 #~ "停止 (suspend) する。"
3241 #~ "The B<aio_write>() function requests an asynchronous \"n = write(fd, "
3242 #~ "buf, count)\" with fd, buf, count given by I<aiocbp-E<gt>aio_fildes>, "
3243 #~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes>, respectively. The "
3244 #~ "return status n can be retrieved upon completion using B<aio_return>(3)."
3246 #~ "B<aio_write>() 関数は非同期の \"n = write(fd, buf, count)\" をリクエスト"
3247 #~ "する。 ここで fd, buf, count は、それぞれ I<aiocbp-E<gt>aio_fildes>, "
3248 #~ "I<aiocbp-E<gt>aio_buf>, I<aiocbp-E<gt>aio_nbytes> で与えられる。 返り値 "
3249 #~ "(return status) n は、完了時に B<aio_return>(3) を使って取得できる。"
3252 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
3253 #~ "B<aio_return>(3), B<aio_suspend>(3)"
3255 #~ "B<aio_cancel>(3), B<aio_error>(3), B<aio_fsync>(3), B<aio_read>(3), "
3256 #~ "B<aio_return>(3), B<aio_suspend>(3)"