msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-07-23 23:58+0900\n"
-"PO-Revision-Date: 2013-07-24 00:19+0900\n"
+"POT-Creation-Date: 2014-04-13 10:27+0900\n"
+"PO-Revision-Date: 2014-04-13 10:40+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#. type: TH
#: build/C/man3/asprintf.3:27 build/C/man3/fcloseall.3:25
-#: build/C/man3/ferror.3:44 build/C/man3/fmtmsg.3:13
-#: build/C/man3/stdio_ext.3:25 build/C/man3/tmpnam.3:27
+#: build/C/man3/fmtmsg.3:13 build/C/man3/stdio_ext.3:25
#, no-wrap
msgid "2013-06-21"
msgstr "2013-06-21"
#: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
#: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
#: build/C/man3/fcloseall.3:25 build/C/man3/fflush.3:45
-#: build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10 build/C/man3/fopen.3:44
-#: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
-#: build/C/man3/getline.3:26 build/C/man3/gets.3:27 build/C/man3/getw.3:25
-#: build/C/man3/popen.3:40 build/C/man3/printf.3:34 build/C/man3/puts.3:26
-#: build/C/man3/remove.3:31 build/C/man3/scanf.3:52 build/C/man3/wprintf.3:16
+#: build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18 build/C/man3/fmemopen.3:10
+#: build/C/man3/fopen.3:44 build/C/man3/fputwc.3:16 build/C/man3/fread.3:45
+#: build/C/man3/fseek.3:42 build/C/man3/getline.3:26 build/C/man3/gets.3:29
+#: build/C/man3/getw.3:25 build/C/man3/popen.3:40 build/C/man3/printf.3:34
+#: build/C/man3/puts.3:26 build/C/man3/remove.3:31 build/C/man3/scanf.3:52
+#: build/C/man3/wprintf.3:16
#, no-wrap
msgid "GNU"
msgstr "GNU"
#: build/C/man3/asprintf.3:27 build/C/man3/ctermid.3:26
#: build/C/man3/dprintf.3:26 build/C/man3/fclose.3:44
#: build/C/man3/fcloseall.3:25 build/C/man3/ferror.3:44
-#: build/C/man3/fflush.3:45 build/C/man3/fgetwc.3:18
+#: build/C/man3/fflush.3:45 build/C/man3/fgetc.3:27 build/C/man3/fgetwc.3:18
#: build/C/man3/flockfile.3:25 build/C/man3/fmemopen.3:10
#: build/C/man3/fmtmsg.3:13 build/C/man3/fopen.3:44
#: build/C/man3/fopencookie.3:26 build/C/man3/fpurge.3:25
#: build/C/man3/fputwc.3:16 build/C/man3/fread.3:45 build/C/man3/fseek.3:42
-#: build/C/man3/fseeko.3:25 build/C/man3/getline.3:26 build/C/man3/gets.3:27
-#: build/C/man3/getw.3:25 build/C/man2/link.2:31 build/C/man2/llseek.2:28
-#: build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25 build/C/man2/open.2:52
+#: build/C/man3/fseeko.3:25 build/C/man3/getline.3:26 build/C/man3/gets.3:29
+#: build/C/man3/getw.3:25 build/C/man2/link.2:32 build/C/man2/llseek.2:28
+#: build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25 build/C/man2/open.2:51
#: build/C/man3/perror.3:31 build/C/man2/pipe.2:36 build/C/man3/popen.3:40
#: build/C/man3/printf.3:34 build/C/man3/puts.3:26 build/C/man2/read.2:35
-#: build/C/man2/readlink.2:43 build/C/man2/readv.2:32 build/C/man3/remove.3:31
-#: build/C/man2/rename.2:32 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:52
+#: build/C/man2/readlink.2:44 build/C/man2/readv.2:32 build/C/man3/remove.3:31
+#: build/C/man2/rename.2:33 build/C/man2/rmdir.2:30 build/C/man3/scanf.3:52
#: build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13 build/C/man3/stdio.3:39
-#: build/C/man3/stdio_ext.3:25 build/C/man2/symlink.2:32
+#: build/C/man3/stdio_ext.3:25 build/C/man2/symlink.2:33
#: build/C/man7/symlink.7:36 build/C/man3/tempnam.3:25
-#: build/C/man3/tmpfile.3:31 build/C/man3/tmpnam.3:27 build/C/man2/unlink.2:32
+#: build/C/man3/tmpfile.3:31 build/C/man3/tmpnam.3:27 build/C/man2/unlink.2:33
#: build/C/man3/unlocked_stdio.3:25 build/C/man3/wprintf.3:16
#: build/C/man2/write.2:39
#, no-wrap
#: build/C/man3/asprintf.3:28 build/C/man3/ctermid.3:27
#: build/C/man3/dprintf.3:27 build/C/man3/fclose.3:45
#: build/C/man3/fcloseall.3:26 build/C/man3/ferror.3:45
-#: build/C/man3/fflush.3:46 build/C/man3/fgetwc.3:19
+#: build/C/man3/fflush.3:46 build/C/man3/fgetc.3:28 build/C/man3/fgetwc.3:19
#: build/C/man3/flockfile.3:26 build/C/man3/fmemopen.3:11
#: build/C/man3/fmtmsg.3:14 build/C/man3/fopen.3:45
#: build/C/man3/fopencookie.3:27 build/C/man3/fpurge.3:26
#: build/C/man3/fputwc.3:17 build/C/man3/fread.3:46 build/C/man3/fseek.3:43
-#: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:28
-#: build/C/man3/getw.3:26 build/C/man2/link.2:32 build/C/man2/llseek.2:29
-#: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:53
+#: build/C/man3/fseeko.3:26 build/C/man3/getline.3:27 build/C/man3/gets.3:30
+#: build/C/man3/getw.3:26 build/C/man2/link.2:33 build/C/man2/llseek.2:29
+#: build/C/man2/lseek.2:48 build/C/man3/lseek64.3:26 build/C/man2/open.2:52
#: build/C/man3/perror.3:32 build/C/man2/pipe.2:37 build/C/man3/popen.3:41
#: build/C/man3/printf.3:35 build/C/man3/puts.3:27 build/C/man2/read.2:36
-#: build/C/man2/readlink.2:44 build/C/man2/readv.2:33 build/C/man3/remove.3:32
-#: build/C/man2/rename.2:33 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:53
+#: build/C/man2/readlink.2:45 build/C/man2/readv.2:33 build/C/man3/remove.3:32
+#: build/C/man2/rename.2:34 build/C/man2/rmdir.2:31 build/C/man3/scanf.3:53
#: build/C/man3/setbuf.3:49 build/C/man3/stdin.3:14 build/C/man3/stdio.3:40
-#: build/C/man3/stdio_ext.3:26 build/C/man2/symlink.2:33
+#: build/C/man3/stdio_ext.3:26 build/C/man2/symlink.2:34
#: build/C/man7/symlink.7:37 build/C/man3/tempnam.3:26
-#: build/C/man3/tmpfile.3:32 build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:33
+#: build/C/man3/tmpfile.3:32 build/C/man3/tmpnam.3:28 build/C/man2/unlink.2:34
#: build/C/man3/unlocked_stdio.3:26 build/C/man3/wprintf.3:17
#: build/C/man2/write.2:40
#, no-wrap
#: build/C/man3/asprintf.3:30 build/C/man3/ctermid.3:29
#: build/C/man3/dprintf.3:29 build/C/man3/fclose.3:47
#: build/C/man3/fcloseall.3:28 build/C/man3/ferror.3:47
-#: build/C/man3/fflush.3:48 build/C/man3/fgetwc.3:21
+#: build/C/man3/fflush.3:48 build/C/man3/fgetc.3:30 build/C/man3/fgetwc.3:21
#: build/C/man3/flockfile.3:28 build/C/man3/fmemopen.3:13
#: build/C/man3/fmtmsg.3:16 build/C/man3/fopen.3:47
#: build/C/man3/fopencookie.3:29 build/C/man3/fpurge.3:28
#: build/C/man3/fputwc.3:19 build/C/man3/fread.3:48 build/C/man3/fseek.3:45
-#: build/C/man3/fseeko.3:28 build/C/man3/getline.3:29 build/C/man3/gets.3:30
-#: build/C/man3/getw.3:28 build/C/man2/link.2:34 build/C/man2/llseek.2:31
-#: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:28 build/C/man2/open.2:55
+#: build/C/man3/fseeko.3:28 build/C/man3/getline.3:29 build/C/man3/gets.3:32
+#: build/C/man3/getw.3:28 build/C/man2/link.2:35 build/C/man2/llseek.2:31
+#: build/C/man2/lseek.2:50 build/C/man3/lseek64.3:28 build/C/man2/open.2:54
#: build/C/man3/perror.3:34 build/C/man2/pipe.2:39 build/C/man3/popen.3:43
#: build/C/man3/printf.3:38 build/C/man3/puts.3:29 build/C/man2/read.2:38
-#: build/C/man2/readlink.2:46 build/C/man2/readv.2:35 build/C/man3/remove.3:34
-#: build/C/man2/rename.2:35 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:55
+#: build/C/man2/readlink.2:47 build/C/man2/readv.2:35 build/C/man3/remove.3:34
+#: build/C/man2/rename.2:36 build/C/man2/rmdir.2:33 build/C/man3/scanf.3:55
#: build/C/man3/setbuf.3:51 build/C/man3/stdin.3:16 build/C/man3/stdio.3:42
-#: build/C/man3/stdio_ext.3:30 build/C/man2/symlink.2:35
+#: build/C/man3/stdio_ext.3:30 build/C/man2/symlink.2:36
#: build/C/man3/tempnam.3:28 build/C/man3/tmpfile.3:34
-#: build/C/man3/tmpnam.3:30 build/C/man2/unlink.2:35
+#: build/C/man3/tmpnam.3:30 build/C/man2/unlink.2:36
#: build/C/man3/unlocked_stdio.3:29 build/C/man3/wprintf.3:20
#: build/C/man2/write.2:42
#, no-wrap
#: build/C/man3/asprintf.3:34 build/C/man3/dprintf.3:31
#: build/C/man3/fclose.3:49 build/C/man3/ferror.3:49 build/C/man3/fflush.3:50
#: build/C/man3/fseek.3:47 build/C/man3/perror.3:36 build/C/man3/printf.3:40
-#: build/C/man3/remove.3:36 build/C/man2/rename.2:37 build/C/man3/stdio.3:44
+#: build/C/man3/remove.3:36 build/C/man3/stdio.3:44
#: build/C/man3/stdio_ext.3:32
msgid "B<#include E<lt>stdio.hE<gt>>"
msgstr "B<#include E<lt>stdio.hE<gt>>"
#: build/C/man3/asprintf.3:38 build/C/man3/ctermid.3:46
#: build/C/man3/dprintf.3:55 build/C/man3/fclose.3:51
#: build/C/man3/fcloseall.3:35 build/C/man3/ferror.3:65
-#: build/C/man3/fflush.3:52 build/C/man3/fgetwc.3:30
+#: build/C/man3/fflush.3:52 build/C/man3/fgetc.3:44 build/C/man3/fgetwc.3:30
#: build/C/man3/flockfile.3:51 build/C/man3/fmemopen.3:46
#: build/C/man3/fmtmsg.3:26 build/C/man3/fopen.3:65
#: build/C/man3/fopencookie.3:37 build/C/man3/fpurge.3:42
#: build/C/man3/fputwc.3:28 build/C/man3/fread.3:58 build/C/man3/fseek.3:57
-#: build/C/man3/fseeko.3:37 build/C/man3/getline.3:58 build/C/man3/gets.3:46
-#: build/C/man3/getw.3:59 build/C/man2/link.2:38 build/C/man2/llseek.2:43
-#: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:66
+#: build/C/man3/fseeko.3:37 build/C/man3/getline.3:58 build/C/man3/gets.3:38
+#: build/C/man3/getw.3:59 build/C/man2/link.2:66 build/C/man2/llseek.2:43
+#: build/C/man2/lseek.2:56 build/C/man3/lseek64.3:36 build/C/man2/open.2:88
#: build/C/man3/perror.3:55 build/C/man2/pipe.2:51 build/C/man3/popen.3:64
#: build/C/man3/printf.3:76 build/C/man3/puts.3:43 build/C/man2/read.2:44
-#: build/C/man2/readlink.2:63 build/C/man2/readv.2:58 build/C/man3/remove.3:38
-#: build/C/man2/rename.2:39 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:87
+#: build/C/man2/readlink.2:86 build/C/man2/readv.2:58 build/C/man3/remove.3:38
+#: build/C/man2/rename.2:67 build/C/man2/rmdir.2:37 build/C/man3/scanf.3:87
#: build/C/man3/setbuf.3:73 build/C/man3/stdin.3:24 build/C/man3/stdio.3:50
-#: build/C/man3/stdio_ext.3:54 build/C/man2/symlink.2:52
+#: build/C/man3/stdio_ext.3:54 build/C/man2/symlink.2:74
#: build/C/man3/tempnam.3:42 build/C/man3/tmpfile.3:40
-#: build/C/man3/tmpnam.3:36 build/C/man2/unlink.2:39
+#: build/C/man3/tmpnam.3:36 build/C/man2/unlink.2:66
#: build/C/man3/unlocked_stdio.3:106 build/C/man3/wprintf.3:60
#: build/C/man2/write.2:46
#, no-wrap
#. type: SH
#: build/C/man3/asprintf.3:53 build/C/man3/ctermid.3:59
#: build/C/man3/fclose.3:59 build/C/man3/fcloseall.3:50
-#: build/C/man3/fflush.3:74 build/C/man3/fgetwc.3:55
+#: build/C/man3/fflush.3:74 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
#: build/C/man3/flockfile.3:120 build/C/man3/fmemopen.3:176
#: build/C/man3/fmtmsg.3:152 build/C/man3/fopen.3:189
#: build/C/man3/fopencookie.3:238 build/C/man3/fpurge.3:58
#: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/fseek.3:121
-#: build/C/man3/fseeko.3:75 build/C/man3/getline.3:110 build/C/man3/gets.3:111
-#: build/C/man3/getw.3:73 build/C/man2/link.2:52 build/C/man2/llseek.2:62
-#: build/C/man2/lseek.2:162 build/C/man2/open.2:477 build/C/man2/pipe.2:92
+#: build/C/man3/fseeko.3:75 build/C/man3/getline.3:109 build/C/man3/gets.3:50
+#: build/C/man3/getw.3:73 build/C/man2/link.2:176 build/C/man2/llseek.2:62
+#: build/C/man2/lseek.2:179 build/C/man2/open.2:754 build/C/man2/pipe.2:129
#: build/C/man3/popen.3:123 build/C/man3/puts.3:84 build/C/man2/read.2:81
-#: build/C/man2/readlink.2:77 build/C/man2/readv.2:177
-#: build/C/man3/remove.3:60 build/C/man2/rename.2:91 build/C/man2/rmdir.2:40
+#: build/C/man2/readlink.2:153 build/C/man2/readv.2:177
+#: build/C/man3/remove.3:60 build/C/man2/rename.2:166 build/C/man2/rmdir.2:40
#: build/C/man3/scanf.3:530 build/C/man3/setbuf.3:152
-#: build/C/man2/symlink.2:84 build/C/man3/tempnam.3:87
-#: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:70 build/C/man2/unlink.2:55
-#: build/C/man3/wprintf.3:205 build/C/man2/write.2:89
+#: build/C/man2/symlink.2:140 build/C/man3/tempnam.3:94
+#: build/C/man3/tmpfile.3:47 build/C/man3/tmpnam.3:79
+#: build/C/man2/unlink.2:153 build/C/man3/wprintf.3:205
+#: build/C/man2/write.2:89
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"
#: build/C/man3/asprintf.3:61 build/C/man3/ctermid.3:67
#: build/C/man3/dprintf.3:69 build/C/man3/fclose.3:90
#: build/C/man3/fcloseall.3:60 build/C/man3/ferror.3:115
-#: build/C/man3/fflush.3:93 build/C/man3/fgetwc.3:70
-#: build/C/man3/flockfile.3:127 build/C/man3/fmemopen.3:195
+#: build/C/man3/fflush.3:98 build/C/man3/fgetc.3:124 build/C/man3/fgetwc.3:70
+#: build/C/man3/flockfile.3:135 build/C/man3/fmemopen.3:195
#: build/C/man3/fmtmsg.3:237 build/C/man3/fopen.3:246
#: build/C/man3/fopencookie.3:245 build/C/man3/fpurge.3:70
#: build/C/man3/fputwc.3:68 build/C/man3/fread.3:103 build/C/man3/fseek.3:168
-#: build/C/man3/fseeko.3:87 build/C/man3/getline.3:137 build/C/man3/gets.3:138
-#: build/C/man3/getw.3:80 build/C/man2/link.2:138 build/C/man2/llseek.2:81
-#: build/C/man2/lseek.2:200 build/C/man2/open.2:629 build/C/man3/perror.3:111
-#: build/C/man2/pipe.2:118 build/C/man3/popen.3:172 build/C/man3/printf.3:806
-#: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:125
-#: build/C/man2/readv.2:214 build/C/man3/remove.3:70 build/C/man2/rename.2:232
-#: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:577 build/C/man3/setbuf.3:164
+#: build/C/man3/fseeko.3:87 build/C/man3/getline.3:136 build/C/man3/gets.3:58
+#: build/C/man3/getw.3:80 build/C/man2/link.2:307 build/C/man2/llseek.2:81
+#: build/C/man2/lseek.2:217 build/C/man2/open.2:992 build/C/man3/perror.3:111
+#: build/C/man2/pipe.2:155 build/C/man3/popen.3:172 build/C/man3/printf.3:807
+#: build/C/man3/puts.3:103 build/C/man2/read.2:173 build/C/man2/readlink.2:216
+#: build/C/man2/readv.2:214 build/C/man3/remove.3:75 build/C/man2/rename.2:330
+#: build/C/man2/rmdir.2:127 build/C/man3/scanf.3:577 build/C/man3/setbuf.3:173
#: build/C/man3/stdin.3:113 build/C/man3/stdio.3:246
-#: build/C/man2/symlink.2:149 build/C/man3/tempnam.3:98
-#: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:87
-#: build/C/man2/unlink.2:141 build/C/man3/unlocked_stdio.3:113
+#: build/C/man2/symlink.2:222 build/C/man3/tempnam.3:105
+#: build/C/man3/tmpfile.3:78 build/C/man3/tmpnam.3:96
+#: build/C/man2/unlink.2:273 build/C/man3/unlocked_stdio.3:113
#: build/C/man3/wprintf.3:213 build/C/man2/write.2:185
#, no-wrap
msgid "CONFORMING TO"
#. type: SH
#: build/C/man3/asprintf.3:67 build/C/man3/ctermid.3:77
#: build/C/man3/dprintf.3:95 build/C/man3/fclose.3:102
-#: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:122
-#: build/C/man3/fflush.3:108 build/C/man3/fgetwc.3:87
-#: build/C/man3/flockfile.3:135 build/C/man3/fmemopen.3:341
+#: build/C/man3/fcloseall.3:62 build/C/man3/ferror.3:126
+#: build/C/man3/fflush.3:113 build/C/man3/fgetc.3:133 build/C/man3/fgetwc.3:87
+#: build/C/man3/flockfile.3:143 build/C/man3/fmemopen.3:341
#: build/C/man3/fmtmsg.3:309 build/C/man3/fopen.3:348
#: build/C/man3/fopencookie.3:437 build/C/man3/fpurge.3:80
#: build/C/man3/fputwc.3:85 build/C/man3/fread.3:105 build/C/man3/fseek.3:170
-#: build/C/man3/fseeko.3:93 build/C/man3/getline.3:171 build/C/man3/gets.3:173
-#: build/C/man3/getw.3:86 build/C/man2/link.2:187 build/C/man2/llseek.2:87
-#: build/C/man2/lseek.2:245 build/C/man3/lseek64.3:159 build/C/man2/open.2:901
-#: build/C/man3/perror.3:139 build/C/man2/pipe.2:190 build/C/man3/popen.3:201
-#: build/C/man3/printf.3:1080 build/C/man3/puts.3:112 build/C/man2/read.2:187
-#: build/C/man2/readlink.2:214 build/C/man2/readv.2:284
-#: build/C/man3/remove.3:81 build/C/man2/rename.2:245 build/C/man2/rmdir.2:132
-#: build/C/man3/scanf.3:715 build/C/man3/setbuf.3:200 build/C/man3/stdin.3:154
-#: build/C/man3/stdio.3:250 build/C/man3/stdio_ext.3:151
-#: build/C/man2/symlink.2:164 build/C/man7/symlink.7:471
-#: build/C/man3/tempnam.3:168 build/C/man3/tmpfile.3:97
-#: build/C/man3/tmpnam.3:163 build/C/man2/unlink.2:148
-#: build/C/man3/unlocked_stdio.3:136 build/C/man3/wprintf.3:253
-#: build/C/man2/write.2:211
+#: build/C/man3/fseeko.3:93 build/C/man3/getline.3:170 build/C/man3/gets.3:90
+#: build/C/man3/getw.3:87 build/C/man2/link.2:360 build/C/man2/llseek.2:87
+#: build/C/man2/lseek.2:262 build/C/man3/lseek64.3:164
+#: build/C/man2/open.2:1425 build/C/man3/perror.3:139 build/C/man2/pipe.2:228
+#: build/C/man3/popen.3:201 build/C/man3/printf.3:1085 build/C/man3/puts.3:112
+#: build/C/man2/read.2:187 build/C/man2/readlink.2:313
+#: build/C/man2/readv.2:284 build/C/man3/remove.3:86 build/C/man2/rename.2:347
+#: build/C/man2/rmdir.2:132 build/C/man3/scanf.3:738 build/C/man3/setbuf.3:209
+#: build/C/man3/stdin.3:154 build/C/man3/stdio.3:250
+#: build/C/man3/stdio_ext.3:151 build/C/man2/symlink.2:241
+#: build/C/man7/symlink.7:471 build/C/man3/tempnam.3:168
+#: build/C/man3/tmpfile.3:97 build/C/man3/tmpnam.3:172
+#: build/C/man2/unlink.2:284 build/C/man3/unlocked_stdio.3:136
+#: build/C/man3/wprintf.3:253 build/C/man2/write.2:211
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: SH
#: build/C/man3/asprintf.3:71 build/C/man3/ctermid.3:79
#: build/C/man3/dprintf.3:97 build/C/man3/fclose.3:108
-#: build/C/man3/fcloseall.3:68 build/C/man3/ferror.3:127
-#: build/C/man3/fflush.3:116 build/C/man3/fgetwc.3:92
-#: build/C/man3/flockfile.3:137 build/C/man3/fmemopen.3:344
+#: build/C/man3/fcloseall.3:68 build/C/man3/ferror.3:131
+#: build/C/man3/fflush.3:121 build/C/man3/fgetc.3:150 build/C/man3/fgetwc.3:92
+#: build/C/man3/flockfile.3:145 build/C/man3/fmemopen.3:344
#: build/C/man3/fmtmsg.3:312 build/C/man3/fopen.3:354
#: build/C/man3/fopencookie.3:442 build/C/man3/fpurge.3:85
#: build/C/man3/fputwc.3:89 build/C/man3/fread.3:111 build/C/man3/fseek.3:173
-#: build/C/man3/fseeko.3:95 build/C/man3/getline.3:178 build/C/man3/gets.3:189
-#: build/C/man3/getw.3:92 build/C/man2/link.2:197 build/C/man2/llseek.2:90
-#: build/C/man2/lseek.2:252 build/C/man3/lseek64.3:162 build/C/man2/open.2:923
-#: build/C/man3/perror.3:144 build/C/man2/pipe.2:197 build/C/man3/popen.3:211
-#: build/C/man3/printf.3:1089 build/C/man3/puts.3:124 build/C/man2/read.2:200
-#: build/C/man2/readlink.2:222 build/C/man2/readv.2:288
-#: build/C/man3/remove.3:92 build/C/man2/rename.2:254 build/C/man2/rmdir.2:141
-#: build/C/man3/scanf.3:722 build/C/man3/setbuf.3:208 build/C/man3/stdin.3:160
-#: build/C/man3/stdio.3:257 build/C/man3/stdio_ext.3:154
-#: build/C/man2/symlink.2:176 build/C/man7/symlink.7:489
-#: build/C/man3/tempnam.3:173 build/C/man3/tmpfile.3:103
-#: build/C/man3/tmpnam.3:168 build/C/man2/unlink.2:161
-#: build/C/man3/unlocked_stdio.3:139 build/C/man3/wprintf.3:260
-#: build/C/man2/write.2:223
+#: build/C/man3/fseeko.3:95 build/C/man3/getline.3:176 build/C/man3/gets.3:108
+#: build/C/man3/getw.3:93 build/C/man2/link.2:369 build/C/man2/llseek.2:90
+#: build/C/man2/lseek.2:269 build/C/man3/lseek64.3:167
+#: build/C/man2/open.2:1446 build/C/man3/perror.3:144 build/C/man2/pipe.2:235
+#: build/C/man3/popen.3:211 build/C/man3/printf.3:1094 build/C/man3/puts.3:124
+#: build/C/man2/read.2:200 build/C/man2/readlink.2:320
+#: build/C/man2/readv.2:288 build/C/man3/remove.3:97 build/C/man2/rename.2:355
+#: build/C/man2/rmdir.2:141 build/C/man3/scanf.3:745 build/C/man3/setbuf.3:217
+#: build/C/man3/stdin.3:160 build/C/man3/stdio.3:257
+#: build/C/man3/stdio_ext.3:154 build/C/man2/symlink.2:252
+#: build/C/man7/symlink.7:489 build/C/man3/tempnam.3:173
+#: build/C/man3/tmpfile.3:103 build/C/man3/tmpnam.3:177
+#: build/C/man2/unlink.2:296 build/C/man3/unlocked_stdio.3:139
+#: build/C/man3/wprintf.3:260 build/C/man2/write.2:223
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"
#. type: Plain text
#: build/C/man3/asprintf.3:78 build/C/man3/ctermid.3:86
#: build/C/man3/dprintf.3:104 build/C/man3/fclose.3:115
-#: build/C/man3/fcloseall.3:75 build/C/man3/ferror.3:134
-#: build/C/man3/fflush.3:123 build/C/man3/fgetwc.3:99
-#: build/C/man3/flockfile.3:144 build/C/man3/fmemopen.3:351
+#: build/C/man3/fcloseall.3:75 build/C/man3/ferror.3:138
+#: build/C/man3/fflush.3:128 build/C/man3/fgetc.3:157 build/C/man3/fgetwc.3:99
+#: build/C/man3/flockfile.3:152 build/C/man3/fmemopen.3:351
#: build/C/man3/fmtmsg.3:319 build/C/man3/fopen.3:361
#: build/C/man3/fopencookie.3:449 build/C/man3/fpurge.3:92
#: build/C/man3/fputwc.3:96 build/C/man3/fread.3:118 build/C/man3/fseek.3:180
-#: build/C/man3/fseeko.3:102 build/C/man3/getline.3:185
-#: build/C/man3/gets.3:196 build/C/man3/getw.3:99 build/C/man2/link.2:204
-#: build/C/man2/llseek.2:97 build/C/man2/lseek.2:259
-#: build/C/man3/lseek64.3:169 build/C/man2/open.2:930
-#: build/C/man3/perror.3:151 build/C/man2/pipe.2:204 build/C/man3/popen.3:218
-#: build/C/man3/printf.3:1096 build/C/man3/puts.3:131 build/C/man2/read.2:207
-#: build/C/man2/readlink.2:229 build/C/man2/readv.2:295
-#: build/C/man3/remove.3:99 build/C/man2/rename.2:261 build/C/man2/rmdir.2:148
-#: build/C/man3/scanf.3:729 build/C/man3/setbuf.3:215 build/C/man3/stdin.3:167
-#: build/C/man3/stdio.3:264 build/C/man3/stdio_ext.3:161
-#: build/C/man2/symlink.2:183 build/C/man7/symlink.7:496
-#: build/C/man3/tempnam.3:180 build/C/man3/tmpfile.3:110
-#: build/C/man3/tmpnam.3:175 build/C/man2/unlink.2:168
-#: build/C/man3/unlocked_stdio.3:146 build/C/man3/wprintf.3:267
-#: build/C/man2/write.2:230
-msgid ""
-"This page is part of release 3.52 of the Linux I<man-pages> project. A "
+#: build/C/man3/fseeko.3:102 build/C/man3/getline.3:183
+#: build/C/man3/gets.3:115 build/C/man3/getw.3:100 build/C/man2/link.2:376
+#: build/C/man2/llseek.2:97 build/C/man2/lseek.2:276
+#: build/C/man3/lseek64.3:174 build/C/man2/open.2:1453
+#: build/C/man3/perror.3:151 build/C/man2/pipe.2:242 build/C/man3/popen.3:218
+#: build/C/man3/printf.3:1101 build/C/man3/puts.3:131 build/C/man2/read.2:207
+#: build/C/man2/readlink.2:327 build/C/man2/readv.2:295
+#: build/C/man3/remove.3:104 build/C/man2/rename.2:362
+#: build/C/man2/rmdir.2:148 build/C/man3/scanf.3:752 build/C/man3/setbuf.3:224
+#: build/C/man3/stdin.3:167 build/C/man3/stdio.3:264
+#: build/C/man3/stdio_ext.3:161 build/C/man2/symlink.2:259
+#: build/C/man7/symlink.7:496 build/C/man3/tempnam.3:180
+#: build/C/man3/tmpfile.3:110 build/C/man3/tmpnam.3:184
+#: build/C/man2/unlink.2:303 build/C/man3/unlocked_stdio.3:146
+#: build/C/man3/wprintf.3:267 build/C/man2/write.2:230
+msgid ""
+"This page is part of release 3.63 of the Linux I<man-pages> project. A "
"description of the project, and information about reporting bugs, can be "
"found at \\%http://www.kernel.org/doc/man-pages/."
msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.52 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.63 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
msgstr "ctermid - 制御端末名の取得"
#. type: Plain text
-#: build/C/man3/ctermid.3:34 build/C/man3/fgetwc.3:24
+#: build/C/man3/ctermid.3:34 build/C/man3/fgetc.3:33 build/C/man3/fgetwc.3:24
#: build/C/man3/flockfile.3:31 build/C/man3/fmemopen.3:16
#: build/C/man3/fopen.3:50 build/C/man3/fputwc.3:22 build/C/man3/fread.3:51
-#: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:33
+#: build/C/man3/fseeko.3:31 build/C/man3/getline.3:32 build/C/man3/gets.3:35
#: build/C/man3/getw.3:31 build/C/man3/popen.3:46 build/C/man3/puts.3:32
-#: build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54 build/C/man3/stdin.3:19
-#: build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
+#: build/C/man2/rename.2:39 build/C/man3/scanf.3:58 build/C/man3/setbuf.3:54
+#: build/C/man3/stdin.3:19 build/C/man3/tempnam.3:31 build/C/man3/tmpfile.3:37
#: build/C/man3/tmpnam.3:33 build/C/man3/unlocked_stdio.3:32
#, no-wrap
msgid "B<#include E<lt>stdio.hE<gt>>\n"
#: build/C/man3/ctermid.3:41 build/C/man3/dprintf.3:39
#: build/C/man3/ferror.3:61 build/C/man3/flockfile.3:42
#: build/C/man3/fmemopen.3:29 build/C/man3/fopen.3:61
-#: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man3/perror.3:50
-#: build/C/man3/popen.3:55 build/C/man3/printf.3:63 build/C/man2/readlink.2:54
-#: build/C/man2/readv.2:53 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
-#: build/C/man2/symlink.2:43 build/C/man3/tempnam.3:38
-#: build/C/man3/unlocked_stdio.3:68 build/C/man3/wprintf.3:39
+#: build/C/man3/getline.3:42 build/C/man3/getw.3:40 build/C/man2/link.2:51
+#: build/C/man2/open.2:73 build/C/man3/perror.3:50 build/C/man3/popen.3:55
+#: build/C/man3/printf.3:63 build/C/man2/readlink.2:64 build/C/man2/readv.2:53
+#: build/C/man2/rename.2:52 build/C/man3/scanf.3:73 build/C/man3/setbuf.3:68
+#: build/C/man2/symlink.2:52 build/C/man3/tempnam.3:38
+#: build/C/man2/unlink.2:51 build/C/man3/unlocked_stdio.3:68
+#: build/C/man3/wprintf.3:39
msgid ""
"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr "glibc 向けの機能検査マクロの要件 (B<feature_test_macros>(7) 参照):"
#. type: SH
#: build/C/man3/ctermid.3:61 build/C/man3/fcloseall.3:55
-#: build/C/man3/ferror.3:106 build/C/man3/fmtmsg.3:225
-#: build/C/man3/stdio_ext.3:132 build/C/man3/tmpnam.3:77
+#: build/C/man3/ferror.3:106 build/C/man3/fflush.3:93
+#: build/C/man3/flockfile.3:127 build/C/man3/fmtmsg.3:225
+#: build/C/man3/lseek64.3:159 build/C/man3/remove.3:70
+#: build/C/man3/setbuf.3:164 build/C/man3/stdio_ext.3:132
+#: build/C/man3/tmpnam.3:86
#, no-wrap
msgid "ATTRIBUTES"
msgstr "属性"
#. type: SS
#: build/C/man3/ctermid.3:62 build/C/man3/fcloseall.3:56
-#: build/C/man3/ferror.3:107 build/C/man3/fmtmsg.3:226
-#: build/C/man3/stdio_ext.3:133 build/C/man3/tmpnam.3:78
+#: build/C/man3/ferror.3:107 build/C/man3/fflush.3:94
+#: build/C/man3/flockfile.3:128 build/C/man3/fmtmsg.3:226
+#: build/C/man3/lseek64.3:160 build/C/man3/remove.3:71
+#: build/C/man3/setbuf.3:165 build/C/man3/stdio_ext.3:133
+#: build/C/man3/tmpnam.3:87
#, no-wrap
msgid "Multithreading (see pthreads(7))"
msgstr "マルチスレッディング (pthreads(7) 参照)"
"The B<ctermid>() function is thread-safe with exceptions. It is not thread-"
"safe if called with a NULL parameter."
msgstr ""
+"B<ctermid>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
+"れた場合はスレッドセーフではない。"
#. type: Plain text
#: build/C/man3/ctermid.3:69
#. type: SH
#: build/C/man3/ctermid.3:69 build/C/man3/fmemopen.3:213
-#: build/C/man3/fopen.3:331 build/C/man3/gets.3:152 build/C/man3/getw.3:82
-#: build/C/man2/link.2:181 build/C/man2/open.2:890 build/C/man3/popen.3:178
-#: build/C/man3/printf.3:929 build/C/man3/puts.3:105 build/C/man2/readv.2:258
-#: build/C/man3/remove.3:78 build/C/man2/rename.2:234 build/C/man2/rmdir.2:129
-#: build/C/man3/scanf.3:646 build/C/man3/setbuf.3:170
-#: build/C/man3/tempnam.3:158 build/C/man3/tmpnam.3:156
-#: build/C/man2/unlink.2:145
+#: build/C/man3/fopen.3:331 build/C/man3/gets.3:72 build/C/man3/getw.3:83
+#: build/C/man2/link.2:354 build/C/man2/open.2:1406 build/C/man3/popen.3:178
+#: build/C/man3/printf.3:930 build/C/man3/puts.3:105 build/C/man2/readv.2:258
+#: build/C/man3/remove.3:83 build/C/man2/rename.2:336 build/C/man2/rmdir.2:129
+#: build/C/man3/scanf.3:669 build/C/man3/setbuf.3:179
+#: build/C/man3/tempnam.3:165 build/C/man3/tmpnam.3:165
+#: build/C/man2/unlink.2:281
#, no-wrap
msgid "BUGS"
msgstr "バグ"
#. type: TP
#: build/C/man3/dprintf.3:46 build/C/man3/fmemopen.3:37
-#: build/C/man3/getline.3:49
+#: build/C/man3/getline.3:49 build/C/man2/link.2:57 build/C/man2/open.2:79
+#: build/C/man2/readlink.2:77 build/C/man2/rename.2:58
+#: build/C/man2/symlink.2:65 build/C/man2/unlink.2:57
#, no-wrap
msgid "Since glibc 2.10:"
msgstr "glibc 2.10 以降:"
#. type: Plain text
-#: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
+#: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40 build/C/man2/link.2:60
+#: build/C/man2/open.2:82 build/C/man2/readlink.2:80 build/C/man2/rename.2:61
+#: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
msgid "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
msgstr "_XOPEN_SOURCE\\ E<gt>=\\ 700 || _POSIX_C_SOURCE\\ E<gt>=\\ 200809L"
#. type: TP
#: build/C/man3/dprintf.3:49 build/C/man3/fmemopen.3:40
-#: build/C/man3/getline.3:52
+#: build/C/man3/getline.3:52 build/C/man2/link.2:60 build/C/man2/open.2:82
+#: build/C/man2/readlink.2:80 build/C/man2/rename.2:61
+#: build/C/man2/symlink.2:68 build/C/man2/unlink.2:60
#, no-wrap
msgid "Before glibc 2.10:"
msgstr "glibc 2.10 より前:"
#: build/C/man3/fgetwc.3:64 build/C/man3/flockfile.3:125
#: build/C/man3/fopen.3:201 build/C/man3/fpurge.3:65 build/C/man3/fputwc.3:63
#: build/C/man3/fseek.3:136 build/C/man3/fseeko.3:84
-#: build/C/man3/getline.3:125 build/C/man2/link.2:57 build/C/man2/llseek.2:69
-#: build/C/man2/lseek.2:170 build/C/man2/open.2:485 build/C/man2/pipe.2:97
-#: build/C/man3/popen.3:146 build/C/man2/read.2:95 build/C/man2/readlink.2:85
-#: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:96
-#: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:547 build/C/man2/symlink.2:89
-#: build/C/man3/tempnam.3:94 build/C/man3/tmpfile.3:56
-#: build/C/man3/tmpnam.3:75 build/C/man2/unlink.2:60 build/C/man2/write.2:107
+#: build/C/man3/getline.3:124 build/C/man2/link.2:181 build/C/man2/llseek.2:69
+#: build/C/man2/lseek.2:187 build/C/man2/open.2:763 build/C/man2/pipe.2:134
+#: build/C/man3/popen.3:146 build/C/man2/read.2:95 build/C/man2/readlink.2:159
+#: build/C/man2/readv.2:188 build/C/man3/remove.3:65 build/C/man2/rename.2:171
+#: build/C/man2/rmdir.2:45 build/C/man3/scanf.3:547 build/C/man2/symlink.2:145
+#: build/C/man3/tempnam.3:101 build/C/man3/tmpfile.3:56
+#: build/C/man3/tmpnam.3:84 build/C/man2/unlink.2:158 build/C/man2/write.2:107
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
#: build/C/man3/fclose.3:71 build/C/man3/fflush.3:82 build/C/man3/fpurge.3:66
-#: build/C/man3/fseek.3:137 build/C/man2/llseek.2:70 build/C/man2/lseek.2:171
-#: build/C/man2/read.2:114 build/C/man3/scanf.3:553 build/C/man2/write.2:126
+#: build/C/man3/fseek.3:137 build/C/man2/link.2:265 build/C/man2/llseek.2:70
+#: build/C/man2/lseek.2:188 build/C/man2/open.2:978 build/C/man2/read.2:114
+#: build/C/man2/readlink.2:202 build/C/man2/rename.2:310
+#: build/C/man3/scanf.3:553 build/C/man2/symlink.2:208
+#: build/C/man2/unlink.2:248 build/C/man2/write.2:126
#, no-wrap
msgid "B<EBADF>"
msgstr "B<EBADF>"
msgstr "C89, C99."
#. type: SH
-#: build/C/man3/fclose.3:92 build/C/man3/fflush.3:99 build/C/man3/fgetwc.3:72
+#: build/C/man3/fclose.3:92 build/C/man3/fflush.3:104 build/C/man3/fgetwc.3:72
#: build/C/man3/fmemopen.3:207 build/C/man3/fmtmsg.3:252
#: build/C/man3/fopen.3:255 build/C/man3/fpurge.3:78 build/C/man3/fputwc.3:70
-#: build/C/man3/fseeko.3:89 build/C/man2/link.2:143 build/C/man2/llseek.2:84
-#: build/C/man2/lseek.2:210 build/C/man2/open.2:655 build/C/man3/perror.3:124
-#: build/C/man3/printf.3:867 build/C/man2/read.2:175
-#: build/C/man2/readlink.2:130 build/C/man2/readv.2:226
-#: build/C/man3/remove.3:72 build/C/man3/scanf.3:608 build/C/man3/stdin.3:122
-#: build/C/man2/symlink.2:155 build/C/man3/tempnam.3:103
-#: build/C/man3/tmpfile.3:80 build/C/man3/tmpnam.3:92
+#: build/C/man3/fseeko.3:89 build/C/man2/link.2:316 build/C/man2/llseek.2:84
+#: build/C/man2/lseek.2:227 build/C/man2/open.2:1036 build/C/man3/perror.3:124
+#: build/C/man3/printf.3:868 build/C/man2/read.2:175
+#: build/C/man2/readlink.2:225 build/C/man2/readv.2:226
+#: build/C/man3/remove.3:77 build/C/man3/scanf.3:608 build/C/man3/stdin.3:122
+#: build/C/man2/symlink.2:232 build/C/man3/tempnam.3:110
+#: build/C/man3/tmpfile.3:80 build/C/man3/tmpnam.3:101
#: build/C/man3/wprintf.3:215 build/C/man2/write.2:194
#, no-wrap
msgid "NOTES"
msgid "FERROR"
msgstr "FERROR"
+#. type: TH
+#: build/C/man3/ferror.3:44
+#, fuzzy, no-wrap
+#| msgid "2012-01-18"
+msgid "2014-01-15"
+msgstr "2012-01-18"
+
#. type: Plain text
#: build/C/man3/ferror.3:47
msgid "clearerr, feof, ferror, fileno - check and reset stream status"
"関数 B<fileno>() は、引数 I<stream> を調べ、その整数のディスクリプタを返す。"
#. type: Plain text
-#: build/C/man3/ferror.3:96 build/C/man3/fgetwc.3:55 build/C/man3/fputwc.3:54
-#: build/C/man3/fread.3:83 build/C/man3/gets.3:111 build/C/man3/puts.3:84
+#: build/C/man3/ferror.3:96 build/C/man3/fgetc.3:99 build/C/man3/fgetwc.3:55
+#: build/C/man3/fputwc.3:54 build/C/man3/fread.3:83 build/C/man3/puts.3:84
msgid "For nonlocking counterparts, see B<unlocked_stdio>(3)."
msgstr ""
"これらの処理を停止せずに行いたいときは、 B<unlocked_stdio>(3) を参照のこと。"
#. type: Plain text
#: build/C/man3/ferror.3:122
+#, fuzzy
+#| msgid ""
+#| "The functions B<clearerr>(), B<feof>(), and B<ferror>() conform to C89 "
+#| "and C99."
msgid ""
-"The functions B<clearerr>(), B<feof>(), and B<ferror>() conform to C89 and "
-"C99."
+"The functions B<clearerr>(), B<feof>(), and B<ferror>() conform to C89, "
+"C99, POSIX.1-2001, and POSIX.1-2008."
msgstr ""
"関数 B<clearerr>(), B<feof>(), B<ferror>() は C89 と C99 に準拠している。"
#. type: Plain text
-#: build/C/man3/ferror.3:127
+#: build/C/man3/ferror.3:126
+msgid "The function B<fileno>() conforms to POSIX.1-2001 and POSIX.1-2008."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/ferror.3:131
msgid "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
msgstr "B<open>(2), B<fdopen>(3), B<stdio>(3), B<unlocked_stdio>(3)"
#. type: TH
#: build/C/man3/fflush.3:45
#, no-wrap
-msgid "2009-09-06"
-msgstr "2009-09-06"
+msgid "2013-07-15"
+msgstr "2013-07-15"
#. type: Plain text
#: build/C/man3/fflush.3:48
"ある。 この場合 I<errno> もその値に設定される。"
#. type: Plain text
-#: build/C/man3/fflush.3:95
+#: build/C/man3/fflush.3:98
+msgid "The B<fflush>() function is thread-safe."
+msgstr "関数 B<fflush>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/fflush.3:100
msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
#. Verified on: Solaris 8.
#. type: Plain text
-#: build/C/man3/fflush.3:99
+#: build/C/man3/fflush.3:104
msgid ""
"The standards do not specify the behavior for input streams. Most other "
"implementations behave the same as Linux."
"は Linux と同じ動作をする。"
#. type: Plain text
-#: build/C/man3/fflush.3:108
+#: build/C/man3/fflush.3:113
msgid ""
"Note that B<fflush>() only flushes the user-space buffers provided by the C "
"library. To ensure that the data is physically stored on disk the kernel "
"B<fsync>(2) を用いる。"
#. type: Plain text
-#: build/C/man3/fflush.3:116
+#: build/C/man3/fflush.3:121
msgid ""
"B<fsync>(2), B<sync>(2), B<write>(2), B<fclose>(3), B<fopen>(3), B<setbuf>"
"(3), B<unlocked_stdio>(3)"
"(3), B<unlocked_stdio>(3)"
#. type: TH
+#: build/C/man3/fgetc.3:27
+#, fuzzy, no-wrap
+#| msgid "FGETWC"
+msgid "FGETC"
+msgstr "FGETWC"
+
+#. type: TH
+#: build/C/man3/fgetc.3:27
+#, fuzzy, no-wrap
+#| msgid "2013-02-12"
+msgid "2013-12-31"
+msgstr "2013-02-12"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:30
+#, fuzzy
+#| msgid ""
+#| "fgetc, fgets, getc, getchar, gets, ungetc - input of characters and "
+#| "strings"
+msgid "fgetc, fgets, getc, getchar, ungetc - input of characters and strings"
+msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:35
+#, no-wrap
+msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
+msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:37
+#, no-wrap
+msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
+msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:39
+#, no-wrap
+msgid "B<int getc(FILE *>I<stream>B<);>\n"
+msgstr "B<int getc(FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:41
+#, no-wrap
+msgid "B<int getchar(void);>\n"
+msgstr "B<int getchar(void);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:43
+#, no-wrap
+msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
+msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:55
+msgid ""
+"B<fgetc>() reads the next character from I<stream> and returns it as an "
+"I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
+msgstr ""
+"B<fgetc>() は、 I<stream> から次の文字を I<unsigned char> として読み、 "
+"I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
+"す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:62
+msgid ""
+"B<getc>() is equivalent to B<fgetc>() except that it may be implemented as "
+"a macro which evaluates I<stream> more than once."
+msgstr ""
+"B<getc>() は B<fgetc>() と同様だが、 I<stream> を複数回評価するマクロとして"
+"実装されているかもしれない。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:66
+msgid "B<getchar>() is equivalent to B<getc(>I<stdin>B<)>."
+msgstr "B<getchar>() は B<getc(>I<stdin>B<)> と同じである。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:80
+msgid ""
+"B<fgets>() reads in at most one less than I<size> characters from I<stream> "
+"and stores them into the buffer pointed to by I<s>. Reading stops after an "
+"B<EOF> or a newline. If a newline is read, it is stored into the buffer. A "
+"terminating null byte (\\(aq\\e0\\(aq) is stored after the last character "
+"in the buffer."
+msgstr ""
+"B<fgets>() は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
+"指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
+"する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
+"\\e0\\(aq) が一つバッファの中の最後の文字の後に書き込まれる。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:91
+msgid ""
+"B<ungetc>() pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
+"it is available for subsequent read operations. Pushed-back characters will "
+"be returned in reverse order; only one pushback is guaranteed."
+msgstr ""
+"B<ungetc>() は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
+"キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
+"しとして保証されているのは、一文字だけである。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:96
+msgid ""
+"Calls to the functions described here can be mixed with each other and with "
+"calls to other input functions from the I<stdio> library for the same input "
+"stream."
+msgstr ""
+"ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
+"互いに混ぜて使うことができる。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:111
+msgid ""
+"B<fgetc>(), B<getc>() and B<getchar>() return the character read as an "
+"I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
+msgstr ""
+"B<fgetc>(), B<getc>(), B<getchar>() は、文字を I<unsigned char> として読ん"
+"で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
+"す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:117
+#, fuzzy
+#| msgid ""
+#| "B<gets>() and B<fgets>() return I<s> on success, and NULL on error or "
+#| "when end of file occurs while no characters have been read."
+msgid ""
+"B<fgets>() returns I<s> on success, and NULL on error or when end of file "
+"occurs while no characters have been read."
+msgstr ""
+"B<gets>() と B<fgets>() は、成功すると I<s> を返し、エラーや 1 文字も読み込"
+"んでいないのにファイルの終わりになった 場合に NULL を返す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:124
+msgid "B<ungetc>() returns I<c> on success, or B<EOF> on error."
+msgstr "B<ungetc>() は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:126 build/C/man3/gets.3:60
+msgid "C89, C99, POSIX.1-2001."
+msgstr "C89, C99, POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:133
+msgid ""
+"It is not advisable to mix calls to input functions from the I<stdio> "
+"library with low-level calls to B<read>(2) for the file descriptor "
+"associated with the input stream; the results will be undefined and very "
+"probably not what you want."
+msgstr ""
+"入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
+"数と、低レベル呼び出しの B<read>(2) を混ぜて呼び出す事は勧められない。 結果"
+"がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
+
+#. type: Plain text
+#: build/C/man3/fgetc.3:150
+#, fuzzy
+#| msgid ""
+#| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
+#| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
+#| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
+#| "B<feature_test_macros>(7)"
+msgid ""
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
+"(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<gets>(3), B<getwchar>(3), "
+"B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
+"B<feature_test_macros>(7)"
+msgstr ""
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
+"B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
+"B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3),\n"
+"B<feature_test_macros>(7)"
+
+#. type: TH
#: build/C/man3/fgetwc.3:18
#, no-wrap
msgid "FGETWC"
msgstr "FGETWC"
#. type: TH
-#: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16 build/C/man3/getline.3:26
-#: build/C/man3/popen.3:40 build/C/man3/tempnam.3:25
+#: build/C/man3/fgetwc.3:18 build/C/man3/fputwc.3:16 build/C/man3/popen.3:40
#, no-wrap
msgid "2013-04-19"
msgstr "2013-04-19"
msgstr "FLOCKFILE"
#. type: TH
-#: build/C/man3/flockfile.3:25 build/C/man3/unlocked_stdio.3:25
+#: build/C/man3/flockfile.3:25
#, no-wrap
-msgid "2008-08-29"
-msgstr "2008-08-29"
+msgid "2013-07-23"
+msgstr "2013-07-23"
#. type: Plain text
#: build/C/man3/flockfile.3:28
msgstr "なし。"
#. type: Plain text
-#: build/C/man3/flockfile.3:129 build/C/man3/popen.3:174
+#: build/C/man3/flockfile.3:135
+msgid ""
+"The B<flockfile>(), B<ftrylockfile>(), and B<funlockfile>() functions are "
+"thread-safe."
+msgstr ""
+"関数 B<flockfile>(), B<ftrylockfile>(), B<funlockfile>() はスレッドセーフであ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/flockfile.3:137 build/C/man3/popen.3:174
msgid "POSIX.1-2001."
msgstr "POSIX.1-2001."
#. type: SH
-#: build/C/man3/flockfile.3:129
+#: build/C/man3/flockfile.3:137
#, no-wrap
msgid "AVAILABILITY"
msgstr "可用性"
#. type: Plain text
-#: build/C/man3/flockfile.3:135
+#: build/C/man3/flockfile.3:143
msgid ""
"These functions are available when B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
"defined. They are in libc since libc 5.1.1 and in glibc since glibc 2.0."
"ことができる。 5.1.1 以降の libc と 2.0 以降の glibc に存在する。"
#. type: Plain text
-#: build/C/man3/flockfile.3:137
+#: build/C/man3/flockfile.3:145
msgid "B<unlocked_stdio>(3)"
msgstr "B<unlocked_stdio>(3)"
#. type: SH
#: build/C/man3/fmemopen.3:188 build/C/man3/fmtmsg.3:222
-#: build/C/man3/getline.3:135 build/C/man2/pipe.2:113 build/C/man2/readv.2:209
+#: build/C/man3/getline.3:134 build/C/man2/link.2:303 build/C/man2/open.2:988
+#: build/C/man2/pipe.2:150 build/C/man2/readlink.2:212
+#: build/C/man2/readv.2:209 build/C/man2/rename.2:326
+#: build/C/man2/symlink.2:218 build/C/man2/unlink.2:269
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"
#. type: SH
#: build/C/man3/fmemopen.3:276 build/C/man3/fmtmsg.3:256
-#: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:144
-#: build/C/man2/pipe.2:124 build/C/man3/printf.3:973
-#: build/C/man2/readlink.2:157 build/C/man2/readv.2:265
-#: build/C/man3/scanf.3:681
+#: build/C/man3/fopencookie.3:247 build/C/man3/getline.3:143
+#: build/C/man2/pipe.2:161 build/C/man3/printf.3:974
+#: build/C/man2/readlink.2:256 build/C/man2/readv.2:265
+#: build/C/man3/scanf.3:704
#, no-wrap
msgid "EXAMPLE"
msgstr "例"
#. type: SS
#: build/C/man3/fmemopen.3:293 build/C/man3/fopencookie.3:271
+#: build/C/man2/pipe.2:177
#, no-wrap
msgid "Program source"
msgstr "プログラムのソース"
#. type: Plain text
#: build/C/man3/fmemopen.3:316
-#, no-wrap
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (argc != 2) {\n"
+#| " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
msgid ""
" if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+" fprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
" if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+" fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
"Before glibc 2.16, the B<fmtmsg>() function uses a static variable that is "
"not protected, so it is not thread-safe."
msgstr ""
+"glibc 2.16 より前のバージョンでは、 B<fmtmsg>() 関数は、 保護されていない静的"
+"な変数を使うため、 スレッドセーフではない。"
#. Modified in commit 7724defcf8873116fe4efab256596861eef21a94
#. type: Plain text
"Since glibc 2.16, the B<fmtmsg>() function uses a lock to protect the "
"static variable, so it is thread-safe."
msgstr ""
+"glibc 2.16 以降では、 B<fmtmsg>() 関数はロックを使って静的な変数を保護してお"
+"り、 スレッドセーフである。"
#. type: Plain text
#: build/C/man3/fmtmsg.3:252
#. type: TP
#: build/C/man3/fopen.3:202 build/C/man3/fseek.3:142
-#: build/C/man3/getline.3:126 build/C/man2/llseek.2:77
-#: build/C/man2/lseek.2:175 build/C/man2/pipe.2:102 build/C/man2/read.2:126
-#: build/C/man2/read.2:137 build/C/man2/readlink.2:95
-#: build/C/man2/readlink.2:104 build/C/man2/readv.2:200
-#: build/C/man2/rename.2:139 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:565
-#: build/C/man2/write.2:154
+#: build/C/man3/getline.3:125 build/C/man2/link.2:271 build/C/man2/llseek.2:77
+#: build/C/man2/lseek.2:192 build/C/man2/open.2:805 build/C/man2/open.2:813
+#: build/C/man2/open.2:818 build/C/man2/pipe.2:139 build/C/man2/read.2:126
+#: build/C/man2/read.2:137 build/C/man2/readlink.2:169
+#: build/C/man2/readlink.2:178 build/C/man2/readv.2:200
+#: build/C/man2/rename.2:214 build/C/man2/rmdir.2:67 build/C/man3/scanf.3:565
+#: build/C/man2/unlink.2:252 build/C/man2/write.2:154
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
msgstr "2013-03-17"
#. type: TH
-#: build/C/man3/fopencookie.3:26 build/C/man2/link.2:31
+#: build/C/man3/fopencookie.3:26 build/C/man2/link.2:32
#: build/C/man2/llseek.2:28 build/C/man2/lseek.2:47 build/C/man3/lseek64.3:25
-#: build/C/man2/open.2:52 build/C/man2/pipe.2:36 build/C/man2/read.2:35
-#: build/C/man2/readlink.2:43 build/C/man2/readv.2:32 build/C/man2/rename.2:32
+#: build/C/man2/open.2:51 build/C/man2/pipe.2:36 build/C/man2/read.2:35
+#: build/C/man2/readlink.2:44 build/C/man2/readv.2:32 build/C/man2/rename.2:33
#: build/C/man2/rmdir.2:30 build/C/man3/setbuf.3:48 build/C/man3/stdin.3:13
-#: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
-#: build/C/man2/unlink.2:32 build/C/man2/write.2:39
+#: build/C/man2/symlink.2:33 build/C/man7/symlink.7:36
+#: build/C/man2/unlink.2:33 build/C/man2/write.2:39
#, no-wrap
msgid "Linux"
msgstr "Linux"
#. type: IP
#: build/C/man3/fopencookie.3:51 build/C/man3/fopencookie.3:54
-#: build/C/man3/fopencookie.3:65 build/C/man3/scanf.3:633
-#: build/C/man3/scanf.3:638 build/C/man3/scanf.3:644
+#: build/C/man3/fopencookie.3:65 build/C/man2/lseek.2:168
+#: build/C/man2/lseek.2:170 build/C/man2/lseek.2:173 build/C/man2/lseek.2:175
+#: build/C/man2/lseek.2:177 build/C/man2/open.2:519 build/C/man2/open.2:527
+#: build/C/man2/open.2:533 build/C/man2/open.2:539 build/C/man2/open.2:546
+#: build/C/man2/open.2:552 build/C/man2/open.2:673 build/C/man2/open.2:681
+#: build/C/man2/pipe.2:95 build/C/man2/pipe.2:101 build/C/man2/pipe.2:111
+#: build/C/man3/scanf.3:658 build/C/man3/scanf.3:663
#: build/C/man7/symlink.7:249 build/C/man7/symlink.7:259
#: build/C/man7/symlink.7:289 build/C/man7/symlink.7:349
#: build/C/man7/symlink.7:378 build/C/man7/symlink.7:407
#. type: Plain text
#: build/C/man3/fopencookie.3:146
msgid ""
-"If I<*read> is a NULL pointer, then reads from the custom stream always "
+"If I<*read> is a null pointer, then reads from the custom stream always "
"return end of file."
msgstr ""
#. type: Plain text
#: build/C/man3/fopencookie.3:173
-msgid "If I<*write> is a NULL pointer, then output to the stream is discarded."
+msgid "If I<*write> is a null pointer, then output to the stream is discarded."
msgstr ""
#. type: TP
#. type: Plain text
#: build/C/man3/fopencookie.3:215
msgid ""
-"If I<*seek> is a NULL pointer, then it is not possible to perform seek "
+"If I<*seek> is a null pointer, then it is not possible to perform seek "
"operations on the stream."
msgstr ""
" }\n"
#. type: Plain text
-#: build/C/man3/fopencookie.3:436 build/C/man2/readlink.2:213
+#: build/C/man3/fopencookie.3:436 build/C/man2/readlink.2:312
#, no-wrap
msgid ""
" exit(EXIT_SUCCESS);\n"
msgid "GETLINE"
msgstr "GETLINE"
+#. type: TH
+#: build/C/man3/getline.3:26
+#, fuzzy, no-wrap
+#| msgid "2012-01-18"
+msgid "2014-01-08"
+msgstr "2012-01-18"
+
#. type: Plain text
#: build/C/man3/getline.3:29
msgid "getline, getdelim - delimited string input"
"端される。 改行文字が見つかった場合は、改行文字もバッファに格納される。"
#. type: Plain text
-#: build/C/man3/getline.3:75
+#: build/C/man3/getline.3:74
+#, fuzzy
+#| msgid ""
+#| "If I<*lineptr> is NULL, then B<getline>() will allocate a buffer for "
+#| "storing the line, which should be freed by the user program. (In this "
+#| "case, the value in I<*n> is ignored.)"
msgid ""
-"If I<*lineptr> is NULL, then B<getline>() will allocate a buffer for "
-"storing the line, which should be freed by the user program. (In this case, "
-"the value in I<*n> is ignored.)"
+"If I<*lineptr> is set to NULL and I<*n> is set 0 before the call, then "
+"B<getline>() will allocate a buffer for storing the line, which should be "
+"freed by the user program."
msgstr ""
"I<*lineptr> が NULL の場合、 B<getline>() は行の内容を格納するためのバッファ"
"を確保する。 このバッファはユーザーのプログラムで解放すべきである (この場"
"合、 I<*n> の値は無視される)。"
#. type: Plain text
-#: build/C/man3/getline.3:93
+#: build/C/man3/getline.3:92
msgid ""
"Alternatively, before calling B<getline>(), I<*lineptr> can contain a "
"pointer to a B<malloc>(3)-allocated buffer I<*n> bytes in size. If the "
"I<*n> を更新する。"
#. type: Plain text
-#: build/C/man3/getline.3:99
+#: build/C/man3/getline.3:98
msgid ""
"In either case, on a successful call, I<*lineptr> and I<*n> will be updated "
"to reflect the buffer address and allocated size respectively."
"ファのアドレスと割り当てたサイズを反映した値に更新される。"
#. type: Plain text
-#: build/C/man3/getline.3:110
+#: build/C/man3/getline.3:109
msgid ""
"B<getdelim>() works like B<getline>(), except that a line delimiter other "
"than newline can be specified as the I<delimiter> argument. As with "
"ファに追加しない。"
#. type: Plain text
-#: build/C/man3/getline.3:119
+#: build/C/man3/getline.3:118
msgid ""
"On success, B<getline>() and B<getdelim>() return the number of characters "
"read, including the delimiter character, but not including the terminating "
"できる。"
#. type: Plain text
-#: build/C/man3/getline.3:125
+#: build/C/man3/getline.3:124
msgid ""
"Both functions return -1 on failure to read a line (including end-of-file "
"condition). In the event of an error, I<errno> is set to indicate the cause."
"を示す値が設定される。"
#. type: Plain text
-#: build/C/man3/getline.3:135
+#: build/C/man3/getline.3:134
msgid "Bad arguments (I<n> or I<lineptr> is NULL, or I<stream> is not valid)."
msgstr ""
"引き数が不正である (I<n> または I<lineptr> が NULL である。 もしくは "
"I<stream> が有効でない)。"
#. type: Plain text
-#: build/C/man3/getline.3:137
+#: build/C/man3/getline.3:136
msgid "These functions are available since libc 4.6.27."
msgstr "これらの関数は libc 4.6.27 以降で利用可能である。"
#. type: Plain text
-#: build/C/man3/getline.3:144
+#: build/C/man3/getline.3:143
msgid ""
"Both B<getline>() and B<getdelim>() were originally GNU extensions. They "
"were standardized in POSIX.1-2008."
"POSIX.1-2008 で標準化された。"
#. type: Plain text
-#: build/C/man3/getline.3:149
+#: build/C/man3/getline.3:148
#, no-wrap
msgid ""
"#define _GNU_SOURCE\n"
"#include E<lt>stdlib.hE<gt>\n"
#. type: Plain text
-#: build/C/man3/getline.3:157
+#: build/C/man3/getline.3:156
#, no-wrap
msgid ""
"int\n"
" ssize_t read;\n"
#. type: Plain text
-#: build/C/man3/getline.3:161
+#: build/C/man3/getline.3:160
#, no-wrap
msgid ""
" fp = fopen(\"/etc/motd\", \"r\");\n"
" exit(EXIT_FAILURE);\n"
#. type: Plain text
-#: build/C/man3/getline.3:166
+#: build/C/man3/getline.3:165
#, no-wrap
msgid ""
" while ((read = getline(&line, &len, fp)) != -1) {\n"
" }\n"
#. type: Plain text
-#: build/C/man3/getline.3:170
+#: build/C/man3/getline.3:169
#, no-wrap
msgid ""
" free(line);\n"
"}\n"
#. type: Plain text
-#: build/C/man3/getline.3:178
-msgid ""
-"B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
+#: build/C/man3/getline.3:176
+#, fuzzy
+#| msgid ""
+#| "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
+msgid "B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<scanf>(3)"
msgstr ""
"B<read>(2), B<fgets>(3), B<fopen>(3), B<fread>(3), B<gets>(3), B<scanf>(3)"
#. type: TH
-#: build/C/man3/gets.3:27
+#: build/C/man3/gets.3:29
#, no-wrap
msgid "GETS"
msgstr "GETS"
#. type: TH
-#: build/C/man3/gets.3:27
-#, no-wrap
-msgid "2012-01-18"
-msgstr "2012-01-18"
-
-#. type: Plain text
-#: build/C/man3/gets.3:30
-msgid ""
-"fgetc, fgets, getc, getchar, gets, ungetc - input of characters and strings"
-msgstr "fgetc, fgets, getc, getchar, gets, ungetc - 文字と文字列の入力"
+#: build/C/man3/gets.3:29
+#, fuzzy, no-wrap
+#| msgid "2013-01-27"
+msgid "2014-01-24"
+msgstr "2013-01-27"
#. type: Plain text
-#: build/C/man3/gets.3:35
-#, no-wrap
-msgid "B<int fgetc(FILE *>I<stream>B<);>\n"
-msgstr "B<int fgetc(FILE *>I<stream>B<);>\n"
+#: build/C/man3/gets.3:32
+msgid "gets - get a string from standard input (DEPRECATED)"
+msgstr ""
#. type: Plain text
#: build/C/man3/gets.3:37
#, no-wrap
-msgid "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
-msgstr "B<char *fgets(char *>I<s>B<, int >I<size>B<, FILE *>I<stream>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:39
-#, no-wrap
-msgid "B<int getc(FILE *>I<stream>B<);>\n"
-msgstr "B<int getc(FILE *>I<stream>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:41
-#, no-wrap
-msgid "B<int getchar(void);>\n"
-msgstr "B<int getchar(void);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:43
-#, no-wrap
msgid "B<char *gets(char *>I<s>B<);>\n"
msgstr "B<char *gets(char *>I<s>B<);>\n"
#. type: Plain text
-#: build/C/man3/gets.3:45
-#, no-wrap
-msgid "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
-msgstr "B<int ungetc(int >I<c>B<, FILE *>I<stream>B<);>\n"
-
-#. type: Plain text
-#: build/C/man3/gets.3:57
-msgid ""
-"B<fgetc>() reads the next character from I<stream> and returns it as an "
-"I<unsigned char> cast to an I<int>, or B<EOF> on end of file or error."
-msgstr ""
-"B<fgetc>() は、 I<stream> から次の文字を I<unsigned char> として読み、 "
-"I<int> にキャストして返す。ファイルの終わりやエラーとなった場合は B<EOF> を返"
-"す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:64
-msgid ""
-"B<getc>() is equivalent to B<fgetc>() except that it may be implemented as "
-"a macro which evaluates I<stream> more than once."
+#: build/C/man3/gets.3:40
+msgid "I<Never use this function>."
msgstr ""
-"B<getc>() は B<fgetc>() と同様だが、 I<stream> を複数回評価するマクロとして"
-"実装されているかもしれない。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:68
-msgid "B<getchar>() is equivalent to B<getc(>I<stdin>B<)>."
-msgstr "B<getchar>() は B<getc(>I<stdin>B<)> と同じである。"
#. type: Plain text
-#: build/C/man3/gets.3:78
+#: build/C/man3/gets.3:50
msgid ""
"B<gets>() reads a line from I<stdin> into the buffer pointed to by I<s> "
"until either a terminating newline or B<EOF>, which it replaces with a null "
"記の「バグ」を参照)。"
#. type: Plain text
-#: build/C/man3/gets.3:92
+#: build/C/man3/gets.3:58
+#, fuzzy
+#| msgid ""
+#| "B<gets>() and B<fgets>() return I<s> on success, and NULL on error or "
+#| "when end of file occurs while no characters have been read."
msgid ""
-"B<fgets>() reads in at most one less than I<size> characters from I<stream> "
-"and stores them into the buffer pointed to by I<s>. Reading stops after an "
-"B<EOF> or a newline. If a newline is read, it is stored into the buffer. A "
-"terminating null byte (\\(aq\\e0\\(aq) is stored after the last character "
-"in the buffer."
+"B<gets>() returns I<s> on success, and NULL on error or when end of file "
+"occurs while no characters have been read. However, given the lack of "
+"buffer overrun checking, there can be no guarantees that the function will "
+"even return."
msgstr ""
-"B<fgets>() は I<stream> から最大で I<size> - 1 個の文字を読み込み、 I<s> が"
-"指すバッファに格納する。読み込みは B<EOF> または改行文字を読み込んだ後で停止"
-"する。 読み込まれた改行文字はバッファに格納される。 終端の NULL バイト (\\(aq"
-"\\e0\\(aq) が一つバッファの中の最後の文字の後に書き込まれる。"
+"B<gets>() と B<fgets>() は、成功すると I<s> を返し、エラーや 1 文字も読み込"
+"んでいないのにファイルの終わりになった 場合に NULL を返す。"
#. type: Plain text
-#: build/C/man3/gets.3:103
+#: build/C/man3/gets.3:72
msgid ""
-"B<ungetc>() pushes I<c> back to I<stream>, cast to I<unsigned char>, where "
-"it is available for subsequent read operations. Pushed-back characters will "
-"be returned in reverse order; only one pushback is guaranteed."
+"LSB deprecates B<gets>(). POSIX.1-2008 marks B<gets>() obsolescent. ISO "
+"C11 removes the specification of B<gets>() from the C language, and since "
+"version 2.16, glibc header files don't expose the function declaration if "
+"the B<_ISOC11_SOURCE> feature test macro is defined."
msgstr ""
-"B<ungetc>() は、後の read 操作で読めるように、 I<c> を I<unsigned char> に"
-"キャストして I<stream> に書き戻す。 書き戻された文字は逆順に戻される; 書き戻"
-"しとして保証されているのは、一文字だけである。"
+"LSB は B<gets>() を非推奨としている。\n"
+"POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
+"ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
+"glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
+"た\n"
+"場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
#. type: Plain text
-#: build/C/man3/gets.3:108
-msgid ""
-"Calls to the functions described here can be mixed with each other and with "
-"calls to other input functions from the I<stdio> library for the same input "
-"stream."
-msgstr ""
-"ここで述べた関数や I<stdio> ライブラリの入力関数を同じ入力ストリームに対して"
-"互いに混ぜて使うことができる。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:123
-msgid ""
-"B<fgetc>(), B<getc>() and B<getchar>() return the character read as an "
-"I<unsigned char> cast to an I<int> or B<EOF> on end of file or error."
-msgstr ""
-"B<fgetc>(), B<getc>(), B<getchar>() は、文字を I<unsigned char> として読ん"
-"で I<int> にキャストして返す。ファイルの終わりやエラーの場合は B<EOF> を返"
-"す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:131
-msgid ""
-"B<gets>() and B<fgets>() return I<s> on success, and NULL on error or when "
-"end of file occurs while no characters have been read."
-msgstr ""
-"B<gets>() と B<fgets>() は、成功すると I<s> を返し、エラーや 1 文字も読み込"
-"んでいないのにファイルの終わりになった 場合に NULL を返す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:138
-msgid "B<ungetc>() returns I<c> on success, or B<EOF> on error."
-msgstr "B<ungetc>() は成功すると I<c> を返し、エラーの場合は B<EOF> を返す。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:140
-msgid "C89, C99, POSIX.1-2001."
-msgstr "C89, C99, POSIX.1-2001."
-
-#. type: Plain text
-#: build/C/man3/gets.3:152
-msgid ""
-"LSB deprecates B<gets>(). POSIX.1-2008 marks B<gets>() obsolescent. ISO "
-"C11 removes the specification of B<gets>() from the C language, and since "
-"version 2.16, glibc header files don't expose the function declaration if "
-"the B<_ISOC11_SOURCE> feature test macro is defined."
-msgstr ""
-"LSB は B<gets>() を非推奨としている。\n"
-"POSIX.1-2008 では B<gets>() に廃止予定の印が付けられている。\n"
-"ISO C11 では B<gets>)() の規定が C 言語から削除されている。\n"
-"glibc バージョン 2.16 以降では、機能検査マシン B<_ISOC11_SOURCE> が定義され"
-"た\n"
-"場合、glibc ヘッダファイルでは B<gets>)() の宣言が公開されない。"
-
-#. type: Plain text
-#: build/C/man3/gets.3:166
+#: build/C/man3/gets.3:86
msgid ""
"Never use B<gets>(). Because it is impossible to tell without knowing the "
"data in advance how many characters B<gets>() will read, and because B<gets>"
"と。"
#. type: Plain text
-#: build/C/man3/gets.3:173
+#: build/C/man3/gets.3:90
msgid ""
-"It is not advisable to mix calls to input functions from the I<stdio> "
-"library with low-level calls to B<read>(2) for the file descriptor "
-"associated with the input stream; the results will be undefined and very "
-"probably not what you want."
+"For more information, see CWE-242 (aka \"Use of Inherently Dangerous Function"
+"\") at http://cwe.mitre.org/data/definitions/242.html"
msgstr ""
-"入力ストリームのファイルディスクリプタに対して、 I<stdio> ライブラリの入力関"
-"数と、低レベル呼び出しの B<read>(2) を混ぜて呼び出す事は勧められない。 結果"
-"がどうなるかは分からず、おそらくあなたの 望んでいる結果にはならないだろう。"
#. type: Plain text
-#: build/C/man3/gets.3:189
-msgid ""
-"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), B<fopen>"
-"(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), B<puts>(3), "
-"B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), B<feature_test_macros>(7)"
+#: build/C/man3/gets.3:108
+#, fuzzy
+#| msgid ""
+#| "B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3), "
+#| "B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3), "
+#| "B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>(3), "
+#| "B<feature_test_macros>(7)"
+msgid ""
+"B<read>(2), B<write>(2), B<ferror>(3), B<fgetc>(3), B<fgets>(3), B<fgetwc>"
+"(3), B<fgetws>(3), B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), "
+"B<getwchar>(3), B<puts>(3), B<scanf>(3), B<ungetwc>(3), B<unlocked_stdio>"
+"(3), B<feature_test_macros>(7)"
msgstr ""
"B<read>(2), B<write>(2), B<ferror>(3), B<fgetwc>(3), B<fgetws>(3),\n"
"B<fopen>(3), B<fread>(3), B<fseek>(3), B<getline>(3), B<getwchar>(3),\n"
"が発生した場合、これらの関数は B<EOF> を返す。"
#. type: Plain text
-#: build/C/man3/getw.3:82
+#: build/C/man3/getw.3:83
msgid "SVr4, SUSv2. Not present in POSIX.1-2001."
msgstr "SVr4, SUSv2. POSIX.1-2001 には存在しない。"
#. type: Plain text
-#: build/C/man3/getw.3:86
+#: build/C/man3/getw.3:87
msgid ""
"The value returned on error is also a legitimate data value. B<ferror>(3) "
"can be used to distinguish between the two cases."
"(3) を用いると、この二つの場合を区別することが出来る。"
#. type: Plain text
-#: build/C/man3/getw.3:92
+#: build/C/man3/getw.3:93
msgid "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
msgstr "B<ferror>(3), B<fread>(3), B<fwrite>(3), B<getc>(3), B<putc>(3)"
#. type: TH
-#: build/C/man2/link.2:31
+#: build/C/man2/link.2:32
#, no-wrap
msgid "LINK"
msgstr "LINK"
#. type: TH
-#: build/C/man2/link.2:31 build/C/man2/rename.2:32 build/C/man2/symlink.2:32
-#: build/C/man2/write.2:39
-#, no-wrap
-msgid "2013-01-27"
-msgstr "2013-01-27"
+#: build/C/man2/link.2:32 build/C/man2/readlink.2:44 build/C/man2/rename.2:33
+#: build/C/man2/symlink.2:33 build/C/man2/unlink.2:33
+#, fuzzy, no-wrap
+#| msgid "2012-02-14"
+msgid "2014-02-21"
+msgstr "2012-02-14"
#. type: Plain text
-#: build/C/man2/link.2:34
-msgid "link - make a new name for a file"
+#: build/C/man2/link.2:35
+#, fuzzy
+#| msgid "link - make a new name for a file"
+msgid "link, linkat - make a new name for a file"
msgstr "link - ファイルの新しい名前を作成する"
#. type: Plain text
-#: build/C/man2/link.2:36 build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34
-#: build/C/man2/readlink.2:48 build/C/man2/rmdir.2:35
-#: build/C/man2/symlink.2:37 build/C/man2/unlink.2:37 build/C/man2/write.2:44
-msgid "B<#include E<lt>unistd.hE<gt>>"
-msgstr "B<#include E<lt>unistd.hE<gt>>"
+#: build/C/man2/link.2:38 build/C/man2/pipe.2:42 build/C/man2/read.2:41
+#: build/C/man2/readlink.2:50 build/C/man2/symlink.2:39
+#: build/C/man2/unlink.2:39
+#, no-wrap
+msgid "B<#include E<lt>unistd.hE<gt>>\n"
+msgstr "B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/link.2:40
+#, fuzzy, no-wrap
+#| msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+
+#. type: Plain text
+#: build/C/man2/link.2:43 build/C/man2/readlink.2:56 build/C/man2/symlink.2:44
+#: build/C/man2/unlink.2:44
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<#include E<lt>sys/types.hE<gt>>\n"
+#| "B<#include E<lt>unistd.hE<gt>>\n"
+msgid ""
+"B<#include E<lt>fcntl.hE<gt> >/* Definition of AT_* constants */\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
#. type: Plain text
-#: build/C/man2/link.2:38
-msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/link.2:46
+#, fuzzy, no-wrap
+#| msgid "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid ""
+"B<int linkat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B< int >I<newdirfd>B<, const char *>I<newpath>B<, int >I<flags>B<);>\n"
msgstr "B<int link(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
#. type: Plain text
-#: build/C/man2/link.2:41
+#: build/C/man2/link.2:54
+#, fuzzy
+#| msgid "B<symlink>():"
+msgid "B<linkat>():"
+msgstr "B<symlink>():"
+
+#. type: Plain text
+#: build/C/man2/link.2:63 build/C/man2/open.2:85 build/C/man2/readlink.2:83
+#: build/C/man2/rename.2:64 build/C/man2/symlink.2:71 build/C/man2/unlink.2:63
+#, fuzzy
+#| msgid "_GNU_SOURCE"
+msgid "_ATFILE_SOURCE"
+msgstr "_GNU_SOURCE"
+
+#. type: Plain text
+#: build/C/man2/link.2:69
msgid ""
"B<link>() creates a new link (also known as a hard link) to an existing "
"file."
"link) ともいう) を作成する。"
#. type: Plain text
-#: build/C/man2/link.2:47 build/C/man2/symlink.2:84
+#: build/C/man2/link.2:75
msgid "If I<newpath> exists it will I<not> be overwritten."
msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
#. type: Plain text
-#: build/C/man2/link.2:52
+#: build/C/man2/link.2:80
msgid ""
"This new name may be used exactly as the old one for any operation; both "
"names refer to the same file (and so have the same permissions and "
"の名前は同じファイルを参照しており (それで同じ許可 (permission) や所有者 "
"(ownership) となるので)、 どちらの名前が本来のものであるか判別できない。"
+#. type: SS
+#: build/C/man2/link.2:80
+#, no-wrap
+msgid "linkat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:86
+msgid ""
+"The B<linkat>() system call operates in exactly the same way as B<link>(), "
+"except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:96
+msgid ""
+"If the pathname given in I<oldpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<olddirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<link>() for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:108
+msgid ""
+"If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
+"then I<oldpath> is interpreted relative to the current working directory of "
+"the calling process (like B<link>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:114 build/C/man2/rename.2:153
+msgid "If I<oldpath> is absolute, then I<olddirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:122 build/C/man2/rename.2:161
+msgid ""
+"The interpretation of I<newpath> is as for I<oldpath>, except that a "
+"relative pathname is interpreted relative to the directory referred to by "
+"the file descriptor I<newdirfd>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:125
+msgid "The following values can be bitwise ORed in I<flags>:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/link.2:125
+#, fuzzy, no-wrap
+#| msgid "B<O_PATH> (since Linux 2.6.39)"
+msgid "B<AT_EMPTY_PATH> (since Linux 2.6.39)"
+msgstr "B<O_PATH> (Linux 2.6.39 以降)"
+
+#. commit 11a7b371b64ef39fc5fb1b6f2218eef7c4d035e3
+#. Before glibc 2.16, defining _ATFILE_SOURCE sufficed
+#. type: Plain text
+#: build/C/man2/link.2:152
+msgid ""
+"If I<oldpath> is an empty string, create a link to the file referenced by "
+"I<olddirfd> (which may have been obtained using the B<open>(2) B<O_PATH> "
+"flag). In this case, I<olddirfd> can refer to any type of file, not just a "
+"directory. The caller must have the B<CAP_DAC_READ_SEARCH> capability in "
+"order to use this flag; this prevents arbitrary users from creating hard "
+"links using file descriptors received via a UNIX domain socket (see the "
+"discussion of B<SCM_RIGHTS> in B<unix>(7)). This flag is Linux-specific; "
+"define B<_GNU_SOURCE> to obtain its definition."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/link.2:152
+#, fuzzy, no-wrap
+#| msgid "B<O_NOATIME> (Since Linux 2.6.8)"
+msgid "B<AT_SYMLINK_FOLLOW> (since Linux 2.6.18)"
+msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
+
+#. type: Plain text
+#: build/C/man2/link.2:167
+msgid ""
+"By default, B<linkat>(), does not dereference I<oldpath> if it is a symbolic "
+"link (like B<link>()). The flag B<AT_SYMLINK_FOLLOW> can be specified in "
+"I<flags> to cause I<oldpath> to be dereferenced if it is a symbolic link."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:171
+msgid ""
+"Before kernel 2.6.18, the I<flags> argument was unused, and had to be "
+"specified as 0."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:176
+msgid "See B<openat>(2) for an explanation of the need for B<linkat>()."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/link.2:57 build/C/man2/pipe.2:97 build/C/man3/remove.3:65
-#: build/C/man2/rename.2:96 build/C/man2/rmdir.2:45 build/C/man2/symlink.2:89
-#: build/C/man2/unlink.2:60
+#: build/C/man2/link.2:181 build/C/man2/pipe.2:134 build/C/man3/remove.3:65
+#: build/C/man2/rename.2:171 build/C/man2/rmdir.2:45
+#: build/C/man2/symlink.2:145 build/C/man2/unlink.2:158
msgid ""
"On success, zero is returned. On error, -1 is returned, and I<errno> is set "
"appropriately."
"定される。"
#. type: TP
-#: build/C/man2/link.2:58 build/C/man2/open.2:486 build/C/man2/readlink.2:86
-#: build/C/man2/rename.2:97 build/C/man2/rmdir.2:46 build/C/man2/symlink.2:90
-#: build/C/man3/tmpfile.3:57 build/C/man2/unlink.2:61
+#: build/C/man2/link.2:182 build/C/man2/open.2:769 build/C/man2/readlink.2:160
+#: build/C/man2/rename.2:172 build/C/man2/rmdir.2:46
+#: build/C/man2/symlink.2:146 build/C/man3/tmpfile.3:57
+#: build/C/man2/unlink.2:159
#, no-wrap
msgid "B<EACCES>"
msgstr "B<EACCES>"
#. type: Plain text
-#: build/C/man2/link.2:69
+#: build/C/man2/link.2:193
msgid ""
"Write access to the directory containing I<newpath> is denied, or search "
"permission is denied for one of the directories in the path prefix of "
"(B<path_resolution>(7) を参照)。"
#. type: TP
-#: build/C/man2/link.2:69 build/C/man2/open.2:495 build/C/man2/rename.2:133
-#: build/C/man2/symlink.2:99 build/C/man2/write.2:135
+#: build/C/man2/link.2:193 build/C/man2/open.2:778 build/C/man2/rename.2:208
+#: build/C/man2/symlink.2:155 build/C/man2/write.2:135
#, no-wrap
msgid "B<EDQUOT>"
msgstr "B<EDQUOT>"
#. type: Plain text
-#: build/C/man2/link.2:72 build/C/man2/rename.2:136
-msgid "The user's quota of disk blocks on the file system has been exhausted."
+#: build/C/man2/link.2:196 build/C/man2/rename.2:211
+msgid "The user's quota of disk blocks on the filesystem has been exhausted."
msgstr ""
"ディスクブロックか inode がそのファイルシステムのユーザクォータに達していた。"
#. type: TP
-#: build/C/man2/link.2:72 build/C/man2/open.2:501 build/C/man2/symlink.2:104
+#: build/C/man2/link.2:196 build/C/man2/open.2:784 build/C/man2/symlink.2:160
#: build/C/man3/tmpfile.3:60
#, no-wrap
msgid "B<EEXIST>"
msgstr "B<EEXIST>"
#. type: Plain text
-#: build/C/man2/link.2:76 build/C/man2/symlink.2:108
+#: build/C/man2/link.2:200
msgid "I<newpath> already exists."
msgstr "I<newpath> が既に存在する。"
#. type: TP
-#: build/C/man2/link.2:76 build/C/man2/llseek.2:74 build/C/man2/open.2:507
-#: build/C/man2/pipe.2:98 build/C/man2/read.2:118 build/C/man2/readlink.2:91
-#: build/C/man2/rename.2:136 build/C/man2/rmdir.2:64
-#: build/C/man2/symlink.2:108 build/C/man2/unlink.2:80
+#: build/C/man2/link.2:200 build/C/man2/llseek.2:74 build/C/man2/open.2:790
+#: build/C/man2/pipe.2:135 build/C/man2/read.2:118 build/C/man2/readlink.2:165
+#: build/C/man2/rename.2:211 build/C/man2/rmdir.2:64
+#: build/C/man2/symlink.2:164 build/C/man2/unlink.2:178
#: build/C/man2/write.2:141
#, no-wrap
msgid "B<EFAULT>"
msgstr "B<EFAULT>"
#. type: Plain text
-#: build/C/man2/link.2:79 build/C/man2/rename.2:139 build/C/man2/symlink.2:111
+#: build/C/man2/link.2:203 build/C/man2/rename.2:214
msgid "I<oldpath> or I<newpath> points outside your accessible address space."
msgstr ""
"I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
#. type: TP
-#: build/C/man2/link.2:79 build/C/man2/read.2:147 build/C/man2/readlink.2:107
-#: build/C/man2/symlink.2:111 build/C/man2/unlink.2:84
+#: build/C/man2/link.2:203 build/C/man2/read.2:147 build/C/man2/readlink.2:181
+#: build/C/man2/symlink.2:167 build/C/man2/unlink.2:182
#: build/C/man2/write.2:165
#, no-wrap
msgid "B<EIO>"
msgstr "B<EIO>"
#. type: Plain text
-#: build/C/man2/link.2:82 build/C/man2/symlink.2:114 build/C/man2/unlink.2:87
+#: build/C/man2/link.2:206 build/C/man2/symlink.2:170
+#: build/C/man2/unlink.2:185
msgid "An I/O error occurred."
msgstr "I/O エラーが発生した。"
#. type: TP
-#: build/C/man2/link.2:82 build/C/man2/open.2:531 build/C/man2/readlink.2:110
-#: build/C/man2/rename.2:149 build/C/man2/rmdir.2:73
-#: build/C/man2/symlink.2:114 build/C/man2/unlink.2:92
+#: build/C/man2/link.2:206 build/C/man2/open.2:851 build/C/man2/open.2:855
+#: build/C/man2/readlink.2:184 build/C/man2/rename.2:224
+#: build/C/man2/rmdir.2:73 build/C/man2/symlink.2:170
+#: build/C/man2/unlink.2:190
#, no-wrap
msgid "B<ELOOP>"
msgstr "B<ELOOP>"
#. type: Plain text
-#: build/C/man2/link.2:86 build/C/man2/rename.2:153
+#: build/C/man2/link.2:210 build/C/man2/rename.2:228
msgid ""
"Too many symbolic links were encountered in resolving I<oldpath> or "
"I<newpath>."
"る。"
#. type: TP
-#: build/C/man2/link.2:86 build/C/man2/rename.2:153
+#: build/C/man2/link.2:210 build/C/man2/rename.2:228
#, no-wrap
msgid "B<EMLINK>"
msgstr "B<EMLINK>"
#. type: Plain text
-#: build/C/man2/link.2:91
+#: build/C/man2/link.2:215
msgid ""
"The file referred to by I<oldpath> already has the maximum number of links "
"to it."
"I<oldpath> によって参照されるファイルは 既に最大数までのリンクを持っている。"
#. type: TP
-#: build/C/man2/link.2:91 build/C/man2/open.2:541 build/C/man2/readlink.2:113
-#: build/C/man2/rename.2:160 build/C/man2/rmdir.2:77
-#: build/C/man2/symlink.2:118 build/C/man2/unlink.2:96
+#: build/C/man2/link.2:215 build/C/man2/open.2:867 build/C/man2/readlink.2:187
+#: build/C/man2/rename.2:235 build/C/man2/rmdir.2:77
+#: build/C/man2/symlink.2:174 build/C/man2/unlink.2:194
#, no-wrap
msgid "B<ENAMETOOLONG>"
msgstr "B<ENAMETOOLONG>"
#. type: Plain text
-#: build/C/man2/link.2:94 build/C/man2/rename.2:163 build/C/man2/symlink.2:121
+#: build/C/man2/link.2:218 build/C/man2/rename.2:238
msgid "I<oldpath> or I<newpath> was too long."
msgstr "I<oldpath> または I<newpath> が長過ぎる。"
#. type: TP
-#: build/C/man2/link.2:94 build/C/man2/open.2:555 build/C/man2/readlink.2:116
-#: build/C/man2/rename.2:163 build/C/man2/rmdir.2:80
-#: build/C/man2/symlink.2:121 build/C/man2/unlink.2:99
+#: build/C/man2/link.2:218 build/C/man2/link.2:275 build/C/man2/link.2:283
+#: build/C/man2/open.2:881 build/C/man2/open.2:888 build/C/man2/readlink.2:190
+#: build/C/man2/rename.2:238 build/C/man2/rmdir.2:80
+#: build/C/man2/symlink.2:177 build/C/man2/unlink.2:197
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"
#. type: Plain text
-#: build/C/man2/link.2:99
+#: build/C/man2/link.2:223
msgid ""
"A directory component in I<oldpath> or I<newpath> does not exist or is a "
"dangling symbolic link."
"(dangling)シンボリックリンクである。"
#. type: TP
-#: build/C/man2/link.2:99 build/C/man2/open.2:562 build/C/man2/readlink.2:119
-#: build/C/man2/rename.2:176 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:570
-#: build/C/man2/symlink.2:128 build/C/man3/tempnam.3:95
-#: build/C/man2/unlink.2:106
+#: build/C/man2/link.2:223 build/C/man2/open.2:902 build/C/man2/readlink.2:193
+#: build/C/man2/rename.2:251 build/C/man2/rmdir.2:85 build/C/man3/scanf.3:570
+#: build/C/man2/symlink.2:184 build/C/man3/tempnam.3:102
+#: build/C/man2/unlink.2:204
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"
#. type: Plain text
-#: build/C/man2/link.2:102 build/C/man2/open.2:565 build/C/man2/readlink.2:122
-#: build/C/man2/rename.2:179 build/C/man2/rmdir.2:88
-#: build/C/man2/symlink.2:131 build/C/man2/unlink.2:109
+#: build/C/man2/link.2:226 build/C/man2/open.2:905 build/C/man2/readlink.2:196
+#: build/C/man2/rename.2:254 build/C/man2/rmdir.2:88
+#: build/C/man2/symlink.2:187 build/C/man2/unlink.2:207
msgid "Insufficient kernel memory was available."
msgstr "十分なカーネルメモリーがない。"
#. type: TP
-#: build/C/man2/link.2:102 build/C/man2/open.2:565 build/C/man2/rename.2:179
-#: build/C/man2/symlink.2:131 build/C/man3/tmpfile.3:72
+#: build/C/man2/link.2:226 build/C/man2/open.2:905 build/C/man2/rename.2:254
+#: build/C/man2/symlink.2:187 build/C/man3/tmpfile.3:72
#: build/C/man2/write.2:168
#, no-wrap
msgid "B<ENOSPC>"
msgstr "B<ENOSPC>"
#. type: Plain text
-#: build/C/man2/link.2:106 build/C/man2/rename.2:183
-#: build/C/man2/symlink.2:135
+#: build/C/man2/link.2:230 build/C/man2/rename.2:258
+#: build/C/man2/symlink.2:191
msgid "The device containing the file has no room for the new directory entry."
msgstr ""
"そのファイルを含んでいるデバイスに新しいディレクトリエントリを 作成するための"
"空きがない。"
#. type: TP
-#: build/C/man2/link.2:106 build/C/man2/open.2:571 build/C/man2/readlink.2:122
-#: build/C/man2/rename.2:183 build/C/man2/rmdir.2:88
-#: build/C/man2/symlink.2:135 build/C/man2/unlink.2:109
+#: build/C/man2/link.2:230 build/C/man2/link.2:293 build/C/man2/open.2:911
+#: build/C/man2/open.2:982 build/C/man2/readlink.2:196
+#: build/C/man2/readlink.2:206 build/C/man2/rename.2:258
+#: build/C/man2/rename.2:316 build/C/man2/rmdir.2:88
+#: build/C/man2/symlink.2:191 build/C/man2/symlink.2:212
+#: build/C/man2/unlink.2:207 build/C/man2/unlink.2:263
#, no-wrap
msgid "B<ENOTDIR>"
msgstr "B<ENOTDIR>"
#. type: Plain text
-#: build/C/man2/link.2:111
+#: build/C/man2/link.2:235
msgid ""
"A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
"a directory."
"い。"
#. type: TP
-#: build/C/man2/link.2:111 build/C/man2/link.2:115 build/C/man2/open.2:604
+#: build/C/man2/link.2:235 build/C/man2/link.2:239 build/C/man2/open.2:950
#: build/C/man2/rmdir.2:107 build/C/man2/rmdir.2:118
-#: build/C/man2/symlink.2:140 build/C/man2/unlink.2:114
+#: build/C/man2/symlink.2:196 build/C/man2/unlink.2:212
#, no-wrap
msgid "B<EPERM>"
msgstr "B<EPERM>"
#. type: Plain text
-#: build/C/man2/link.2:115
+#: build/C/man2/link.2:239
msgid "I<oldpath> is a directory."
msgstr "I<oldpath> がディレクトリである。"
#. type: Plain text
-#: build/C/man2/link.2:120
+#: build/C/man2/link.2:244
msgid ""
-"The file system containing I<oldpath> and I<newpath> does not support the "
+"The filesystem containing I<oldpath> and I<newpath> does not support the "
"creation of hard links."
msgstr ""
"I<oldpath> と I<newpath> を含んでいるファイルシステムがハードリンクをサポート"
"していない。"
#. type: TP
-#: build/C/man2/link.2:120
+#: build/C/man2/link.2:244
#, no-wrap
msgid "B<EPERM> (since Linux 3.6)"
msgstr "B<EPERM> (Linux 3.6 以降)"
#. type: Plain text
-#: build/C/man2/link.2:127
+#: build/C/man2/link.2:251
+#, fuzzy
+#| msgid ""
+#| "The caller does not have permission to create a hard link to this file "
+#| "(see the description of I</proc/sys/fs/protected_hardlink> in B<proc>(5))."
msgid ""
"The caller does not have permission to create a hard link to this file (see "
-"the description of I</proc/sys/fs/protected_hardlink> in B<proc>(5))."
+"the description of I</proc/sys/fs/protected_hardlinks> in B<proc>(5))."
msgstr ""
"呼び出し元にこのファイルへのハードリンクを作成する許可がなかった (B<proc>(5) "
"の I</proc/sys/fs/protected_hardlink> の説明を参照)。"
#. type: TP
-#: build/C/man2/link.2:127 build/C/man2/open.2:612 build/C/man2/rename.2:221
-#: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:145
-#: build/C/man3/tmpfile.3:75 build/C/man2/unlink.2:137
+#: build/C/man2/link.2:251 build/C/man2/open.2:958 build/C/man2/rename.2:296
+#: build/C/man2/rmdir.2:123 build/C/man2/symlink.2:201
+#: build/C/man3/tmpfile.3:75 build/C/man2/unlink.2:235
#, no-wrap
msgid "B<EROFS>"
msgstr "B<EROFS>"
#. type: Plain text
-#: build/C/man2/link.2:130 build/C/man2/rename.2:224
-msgid "The file is on a read-only file system."
+#: build/C/man2/link.2:254 build/C/man2/rename.2:299
+msgid "The file is on a read-only filesystem."
msgstr "ファイルが読み込み専用のファイルシステムに存在する。"
#. type: TP
-#: build/C/man2/link.2:130 build/C/man2/rename.2:224
+#: build/C/man2/link.2:254 build/C/man2/rename.2:299
#, no-wrap
msgid "B<EXDEV>"
msgstr "B<EXDEV>"
#. type: Plain text
-#: build/C/man2/link.2:138
+#: build/C/man2/link.2:262
msgid ""
-"I<oldpath> and I<newpath> are not on the same mounted file system. (Linux "
-"permits a file system to be mounted at multiple points, but B<link>() does "
-"not work across different mount points, even if the same file system is "
+"I<oldpath> and I<newpath> are not on the same mounted filesystem. (Linux "
+"permits a filesystem to be mounted at multiple points, but B<link>() does "
+"not work across different mount points, even if the same filesystem is "
"mounted on both.)"
msgstr ""
"I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
"している。 しかし B<link>() は、たとえ同じファイルシステムであっても、 別々"
"のマウント位置を跨いでは動作しない。)"
+#. type: Plain text
+#: build/C/man2/link.2:265
+#, fuzzy
+#| msgid "The following code sample demonstrates the use of B<writev>():"
+msgid "The following additional errors can occur for B<linkat>():"
+msgstr "以下のサンプルコードは B<writev>() の使用方法を示すものである。"
+
+#. type: Plain text
+#: build/C/man2/link.2:271 build/C/man2/rename.2:316
+#, fuzzy
+#| msgid "I<fd> is not an open file descriptor."
+msgid "I<olddirfd> or I<newdirfd> is not a valid file descriptor."
+msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
+
+#. type: Plain text
+#: build/C/man2/link.2:275 build/C/man2/unlink.2:256
+msgid "An invalid flag value was specified in I<flags>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:283
+msgid ""
+"B<AT_EMPTY_PATH> was specified in I<flags>, but the caller did not have the "
+"B<CAP_DAC_READ_SEARCH> capability."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:288
+msgid ""
+"An attempt was made to link to the I</proc/self/fd/NN> file corresponding to "
+"a file descriptor created with"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:290
+#, no-wrap
+msgid " open(path, O_TMPFILE | O_EXCL, mode);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:293
+msgid "See B<open>(2)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:303 build/C/man2/rename.2:326
+msgid ""
+"I<oldpath> is relative and I<olddirfd> is a file descriptor referring to a "
+"file other than a directory; or similar for I<newpath> and I<newdirfd>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/link.2:307
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<linkat>() was added to Linux in kernel 2.6.16; library support was added "
+"to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
#. SVr4 documents additional ENOLINK and
#. EMULTIHOP error conditions; POSIX.1 does not document ELOOP.
#. X/OPEN does not document EFAULT, ENOMEM or EIO.
#. type: Plain text
-#: build/C/man2/link.2:143
-msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
+#: build/C/man2/link.2:313
+#, fuzzy
+#| msgid "SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES)."
+msgid "B<link>(): SVr4, 4.3BSD, POSIX.1-2001 (but see NOTES), POSIX.1-2008."
msgstr "SVr4, 4.3BSD, POSIX.1-2001 (但し「注意」を参照)。"
#. type: Plain text
-#: build/C/man2/link.2:150
+#: build/C/man2/link.2:316
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<linkat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man2/link.2:323
msgid ""
-"Hard links, as created by B<link>(), cannot span file systems. Use "
-"B<symlink>(2) if this is required."
+"Hard links, as created by B<link>(), cannot span filesystems. Use B<symlink>"
+"(2) if this is required."
msgstr ""
"B<link>() でファイルシステムを超えてハードリンクを作成することはできない。 "
"このような場合は B<symlink>(2) を使用すること。"
#. thread in the Austin mailing list reported that some
#. other (System V) implementations did/do the same -- MTK, Apr 05
#. type: Plain text
-#: build/C/man2/link.2:181
+#: build/C/man2/link.2:354
+#, fuzzy
+#| msgid ""
+#| "POSIX.1-2001 says that B<link>() should dereference I<oldpath> if it is "
+#| "a symbolic link. However, since kernel 2.0, Linux does not do so: if "
+#| "I<oldpath> is a symbolic link, then I<newpath> is created as a (hard) "
+#| "link to the same symbolic link file (i.e., I<newpath> becomes a symbolic "
+#| "link to the same file that I<oldpath> refers to). Some other "
+#| "implementations behave in the same manner as Linux. POSIX.1-2008 changes "
+#| "the specification of B<link>(), making it implementation-dependent "
+#| "whether or not I<oldpath> is dereferenced if it is a symbolic link. For "
+#| "precise control over the treatment of symbolic links when creating a "
+#| "link, see B<linkat>(2)."
msgid ""
"POSIX.1-2001 says that B<link>() should dereference I<oldpath> if it is a "
"symbolic link. However, since kernel 2.0, Linux does not do so: if "
"in the same manner as Linux. POSIX.1-2008 changes the specification of "
"B<link>(), making it implementation-dependent whether or not I<oldpath> is "
"dereferenced if it is a symbolic link. For precise control over the "
-"treatment of symbolic links when creating a link, see B<linkat>(2)."
+"treatment of symbolic links when creating a link, use B<linkat>(2)."
msgstr ""
"POSIX.1-2001 では、 I<oldpath> がシンボリックリンクである場合、 B<link>() "
"は I<oldpath> の参照を解決すべきであると記述されている。 しかし、カーネル "
"は B<linkat>(2) を参照のこと。"
#. type: Plain text
-#: build/C/man2/link.2:187
+#: build/C/man2/link.2:360
msgid ""
-"On NFS file systems, the return code may be wrong in case the NFS server "
+"On NFS filesystems, the return code may be wrong in case the NFS server "
"performs the link creation and dies before it can say so. Use B<stat>(2) "
"to find out if the link got created."
msgstr ""
"ためには B<stat>(2) を使用すること。"
#. type: Plain text
-#: build/C/man2/link.2:197
+#: build/C/man2/link.2:369
+#, fuzzy
+#| msgid ""
+#| "B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>"
+#| "(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
msgid ""
-"B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
-"B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
+"B<ln>(1), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
msgstr ""
"B<ln>(1), B<linkat>(2), B<open>(2), B<rename>(2), B<stat>(2), B<symlink>(2), "
"B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
"エラーを示す I<errno> が設定される。"
#. type: Plain text
-#: build/C/man2/llseek.2:74 build/C/man2/lseek.2:175
+#: build/C/man2/llseek.2:74 build/C/man2/lseek.2:192
msgid "I<fd> is not an open file descriptor."
msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
#. type: TH
#: build/C/man2/lseek.2:47
-#, no-wrap
-msgid "2013-03-27"
-msgstr "2013-03-27"
+#, fuzzy, no-wrap
+#| msgid "2013-01-27"
+msgid "2014-01-22"
+msgstr "2013-01-27"
#. type: Plain text
#: build/C/man2/lseek.2:50
msgstr "B<#include E<lt>sys/types.hE<gt>>"
#. type: Plain text
+#: build/C/man2/lseek.2:54 build/C/man3/lseek64.3:34 build/C/man2/rmdir.2:35
+#: build/C/man2/write.2:44
+msgid "B<#include E<lt>unistd.hE<gt>>"
+msgstr "B<#include E<lt>unistd.hE<gt>>"
+
+#. type: Plain text
#: build/C/man2/lseek.2:56
msgid "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
msgstr "B<off_t lseek(int >I<fd>B<, off_t >I<offset>B<, int >I<whence>B<);>"
msgid ""
"For the purposes of these operations, a hole is a sequence of zeros that "
"(normally) has not been allocated in the underlying file storage. However, "
-"a file system is not obliged to report holes, so these operations are not a "
+"a filesystem is not obliged to report holes, so these operations are not a "
"guaranteed mechanism for mapping the storage space actually allocated to a "
"file. (Furthermore, a sequence of zeros that actually has been written to "
"the underlying storage may not be reported as a hole.) In the simplest "
-"implementation, a file system can support the operations by making "
+"implementation, a filesystem can support the operations by making "
"B<SEEK_HOLE> always return the offset of the end of the file, and making "
"B<SEEK_DATA> always return I<offset> (i.e., even if the location referred to "
"by I<offset> is a hole, it can be considered to consist of data that is a "
"能検査マクロ B<_GNU_SOURCE> を定義しなければならない。"
#. type: Plain text
+#: build/C/man2/lseek.2:168
+msgid ""
+"The B<SEEK_HOLE> and B<SEEK_DATA> operations are supported for the following "
+"filesystems:"
+msgstr ""
+
+#. type: Plain text
#: build/C/man2/lseek.2:170
+#, fuzzy
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "Btrfs (since Linux 3.1)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. commit 93862d5e1ab875664c6cc95254fc365028a48bb1
+#. type: Plain text
+#: build/C/man2/lseek.2:173
+#, fuzzy
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "OCFS (since Linux 3.2)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:175
+#, fuzzy
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "XFS (since Linux 3.5)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:177
+#, fuzzy
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "ext4 (since Linux 3.8)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:179
+#, fuzzy
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "tmpfs (since Linux 3.8)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/lseek.2:187
msgid ""
"Upon successful completion, B<lseek>() returns the resulting offset "
"location as measured in bytes from the beginning of the file. On error, the "
"される。"
#. Some systems may allow negative offsets for character devices
-#. and/or for remote file systems.
+#. and/or for remote filesystems.
#. type: Plain text
-#: build/C/man2/lseek.2:183
+#: build/C/man2/lseek.2:200
msgid ""
"I<whence> is not valid. Or: the resulting file offset would be negative, or "
"beyond the end of a seekable device."
"なってしまうか、 seek 可能なデバイスの末尾を越えてしまう。"
#. type: TP
-#: build/C/man2/lseek.2:183 build/C/man2/open.2:584
+#: build/C/man2/lseek.2:200 build/C/man2/open.2:930
#, no-wrap
msgid "B<EOVERFLOW>"
msgstr "B<EOVERFLOW>"
#. HP-UX 11 says EINVAL for this case (but POSIX.1 says EOVERFLOW)
#. type: Plain text
-#: build/C/man2/lseek.2:188
+#: build/C/man2/lseek.2:205
msgid "The resulting file offset cannot be represented in an I<off_t>."
msgstr "結果のファイルオフセットを I<off_t> 型で表現することができない。"
#. type: TP
-#: build/C/man2/lseek.2:188
+#: build/C/man2/lseek.2:205
#, no-wrap
msgid "B<ESPIPE>"
msgstr "B<ESPIPE>"
#. type: Plain text
-#: build/C/man2/lseek.2:192
+#: build/C/man2/lseek.2:209
msgid "I<fd> is associated with a pipe, socket, or FIFO."
msgstr "I<fd> がパイプ、ソケット、FIFO を参照している。"
#. type: TP
-#: build/C/man2/lseek.2:192 build/C/man2/open.2:578
+#: build/C/man2/lseek.2:209 build/C/man2/open.2:918
#, no-wrap
msgid "B<ENXIO>"
msgstr "B<ENXIO>"
#. type: Plain text
-#: build/C/man2/lseek.2:200
+#: build/C/man2/lseek.2:217
msgid ""
"I<whence> is B<SEEK_DATA> or B<SEEK_HOLE>, and the current file offset is "
"beyond the end of the file."
#. SVr4 documents additional error
#. conditions EDEADLK, ENOLCK, ENOLNK, ENOSR, ENXIO, or ERANGE.
#. type: Plain text
-#: build/C/man2/lseek.2:202 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
-#: build/C/man2/symlink.2:155 build/C/man2/unlink.2:145
+#: build/C/man2/lseek.2:219 build/C/man2/read.2:175 build/C/man2/rmdir.2:129
#: build/C/man2/write.2:189
msgid "SVr4, 4.3BSD, POSIX.1-2001."
msgstr "SVr4, 4.3BSD, POSIX.1-2001."
#. FIXME . Review http://austingroupbugs.net/view.php?id=415 in the future
#. type: Plain text
-#: build/C/man2/lseek.2:210
+#: build/C/man2/lseek.2:227
msgid ""
"B<SEEK_DATA> and B<SEEK_HOLE> are nonstandard extensions also present in "
"Solaris, FreeBSD, and DragonFly BSD; they are proposed for inclusion in the "
"る。"
#. type: Plain text
-#: build/C/man2/lseek.2:214
+#: build/C/man2/lseek.2:231
msgid ""
"Some devices are incapable of seeking and POSIX does not specify which "
"devices must support B<lseek>()."
#. Other systems return the number of written characters,
#. using SEEK_SET to set the counter. (Of written characters.)
#. type: Plain text
-#: build/C/man2/lseek.2:221
+#: build/C/man2/lseek.2:238
msgid "On Linux, using B<lseek>() on a terminal device returns B<ESPIPE>."
msgstr ""
"Linux では、端末 (terminal) デバイスに B<lseek>() を使用すると B<ESPIPE> が返"
"る。"
#. type: Plain text
-#: build/C/man2/lseek.2:224
+#: build/C/man2/lseek.2:241
msgid ""
"When converting old code, substitute values for I<whence> with the following "
"macros:"
msgstr "古いコードを変換する時は I<whence> の値を以下のマクロに置き換えること:"
#. type: tbl table
-#: build/C/man2/lseek.2:227
+#: build/C/man2/lseek.2:244
#, no-wrap
msgid "old\tnew\n"
msgstr "old \tnew\n"
#. type: tbl table
-#: build/C/man2/lseek.2:228
+#: build/C/man2/lseek.2:245
#, no-wrap
msgid "0\tSEEK_SET\n"
msgstr "0\tSEEK_SET\n"
#. type: tbl table
-#: build/C/man2/lseek.2:229
+#: build/C/man2/lseek.2:246
#, no-wrap
msgid "1\tSEEK_CUR\n"
msgstr "1\tSEEK_CUR\n"
#. type: tbl table
-#: build/C/man2/lseek.2:230
+#: build/C/man2/lseek.2:247
#, no-wrap
msgid "2\tSEEK_END\n"
msgstr "2\tSEEK_END\n"
#. type: tbl table
-#: build/C/man2/lseek.2:231
+#: build/C/man2/lseek.2:248
#, no-wrap
msgid "L_SET\tSEEK_SET\n"
msgstr "L_SET\tSEEK_SET\n"
#. type: tbl table
-#: build/C/man2/lseek.2:232
+#: build/C/man2/lseek.2:249
#, no-wrap
msgid "L_INCR\tSEEK_CUR\n"
msgstr "L_INCR\tSEEK_CUR\n"
#. type: tbl table
-#: build/C/man2/lseek.2:233
+#: build/C/man2/lseek.2:250
#, no-wrap
msgid "L_XTND\tSEEK_END\n"
msgstr "L_XTND\tSEEK_END\n"
#. type: Plain text
-#: build/C/man2/lseek.2:245
+#: build/C/man2/lseek.2:262
msgid ""
"Note that file descriptors created by B<dup>(2) or B<fork>(2) share the "
"current file position pointer, so seeking on such files may be subject to "
"なファイルで移動を行うと競合状態を引き起こす可能性がある。"
#. type: Plain text
-#: build/C/man2/lseek.2:252
+#: build/C/man2/lseek.2:269
msgid ""
"B<dup>(2), B<fork>(2), B<open>(2), B<fseek>(3), B<lseek64>(3), "
"B<posix_fallocate>(3)"
#. type: TH
#: build/C/man3/lseek64.3:25
#, no-wrap
-msgid "2004-12-11"
-msgstr "2004-12-11"
+msgid "2013-08-19"
+msgstr "2013-08-19"
#. type: Plain text
#: build/C/man3/lseek64.3:28
msgstr "更に詳しい情報は、 B<llseek>(2) を参照すること。"
#. type: Plain text
-#: build/C/man3/lseek64.3:162
+#: build/C/man3/lseek64.3:164
+msgid "The B<lseek64>() function is thread-safe."
+msgstr "関数 B<lseek64>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/lseek64.3:167
msgid "B<llseek>(2), B<lseek>(2)"
msgstr "B<llseek>(2), B<lseek>(2)"
#. type: TH
-#: build/C/man2/open.2:52
+#: build/C/man2/open.2:51
#, no-wrap
msgid "OPEN"
msgstr "OPEN"
#. type: TH
-#: build/C/man2/open.2:52
-#, no-wrap
-msgid "2013-02-18"
-msgstr "2013-02-18"
+#: build/C/man2/open.2:51
+#, fuzzy, no-wrap
+#| msgid "2013-03-17"
+msgid "2014-03-16"
+msgstr "2013-03-17"
#. type: Plain text
-#: build/C/man2/open.2:55
-msgid "open, creat - open and possibly create a file or device"
+#: build/C/man2/open.2:54
+#, fuzzy
+#| msgid "open, creat - open and possibly create a file or device"
+msgid "open, openat, creat - open and possibly create a file"
msgstr "open, creat - ファイルやデバイスのオープン、作成を行う"
#. type: Plain text
-#: build/C/man2/open.2:60
+#: build/C/man2/open.2:59
#, no-wrap
msgid ""
"B<#include E<lt>sys/types.hE<gt>>\n"
"B<#include E<lt>fcntl.hE<gt>>\n"
#. type: Plain text
-#: build/C/man2/open.2:63
+#: build/C/man2/open.2:62
#, no-wrap
msgid ""
"B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
"B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
#. type: Plain text
-#: build/C/man2/open.2:65
+#: build/C/man2/open.2:64
#, no-wrap
msgid "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
msgstr "B<int creat(const char *>I<pathname>B<, mode_t >I<mode>B<);>\n"
#. type: Plain text
+#: build/C/man2/open.2:68
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
+#| "B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
+msgid ""
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+"B<int openat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
+msgstr ""
+"B<int open(const char *>I<pathname>B<, int >I<flags>B<);>\n"
+"B<int open(const char *>I<pathname>B<, int >I<flags>B<, mode_t >I<mode>B<);>\n"
+
+#. type: Plain text
#: build/C/man2/open.2:76
+#, fuzzy
+#| msgid "B<readlink>():"
+msgid "B<openat>():"
+msgstr "B<readlink>():"
+
+#. type: Plain text
+#: build/C/man2/open.2:98
msgid ""
"Given a I<pathname> for a file, B<open>() returns a file descriptor, a "
"small, nonnegative integer for use in subsequent system calls (B<read>(2), "
"のものとなる。"
#. type: Plain text
-#: build/C/man2/open.2:88
+#: build/C/man2/open.2:110
msgid ""
"By default, the new file descriptor is set to remain open across an B<execve>"
"(2) (i.e., the B<FD_CLOEXEC> file descriptor flag described in B<fcntl>(2) "
"(file offset) はファイルの先頭に設定される (B<lseek>(2) 参照)。"
#. type: Plain text
-#: build/C/man2/open.2:107
+#: build/C/man2/open.2:129
msgid ""
"A call to B<open>() creates a new I<open file description>, an entry in the "
"system-wide table of open files. This entry records the file offset and the "
"が、 B<fork>(2) で共有が起こる場合がある。"
#. type: Plain text
-#: build/C/man2/open.2:115
+#: build/C/man2/open.2:137
msgid ""
"The argument I<flags> must include one of the following I<access modes>: "
"B<O_RDONLY>, B<O_WRONLY>, or B<O_RDWR>. These request opening the file read-"
#. TC1 (balloted in 2013), resolved this, so that those three constants
#. are also categorized" as file status flags.
#. type: Plain text
-#: build/C/man2/open.2:153
+#: build/C/man2/open.2:176
+#, fuzzy
+#| msgid ""
+#| "In addition, zero or more file creation flags and file status flags can "
+#| "be bitwise-I<or>'d in I<flags>. The I<file creation flags> are "
+#| "B<O_CLOEXEC>, B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, "
+#| "B<O_NOFOLLOW>, B<O_TRUNC>, and B<O_TTY_INIT>. The I<file status flags> "
+#| "are all of the remaining flags listed below. The distinction between "
+#| "these two groups of flags is that the file status flags can be retrieved "
+#| "and (in some cases) modified using B<fcntl>(2). The full list of file "
+#| "creation flags and file status flags is as follows:"
msgid ""
"In addition, zero or more file creation flags and file status flags can be "
"bitwise-I<or>'d in I<flags>. The I<file creation flags> are B<O_CLOEXEC>, "
"B<O_CREAT>, B<O_DIRECTORY>, B<O_EXCL>, B<O_NOCTTY>, B<O_NOFOLLOW>, "
-"B<O_TRUNC>, and B<O_TTY_INIT>. The I<file status flags> are all of the "
-"remaining flags listed below. The distinction between these two groups of "
-"flags is that the file status flags can be retrieved and (in some cases) "
-"modified using B<fcntl>(2). The full list of file creation flags and file "
-"status flags is as follows:"
+"B<O_TMPFILE>, B<O_TRUNC>, and B<O_TTY_INIT>. The I<file status flags> are "
+"all of the remaining flags listed below. The distinction between these two "
+"groups of flags is that the file status flags can be retrieved and (in some "
+"cases) modified; see B<fcntl>(2) for details."
msgstr ""
"さらに、 I<flags> には、ファイル作成フラグ (file creation flag) とファイル状"
"態フラグ (file status flag) を 0 個以上「ビット単位の OR (bitwise-or)」で 指"
"(2) を使ってその内容を取得したり (場合によっては) 変更したりできる点にあ"
"る。 ファイル作成フラグとファイル状態フラグの全リストを以下に示す:"
+#. type: Plain text
+#: build/C/man2/open.2:178
+msgid ""
+"The full list of file creation flags and file status flags is as follows:"
+msgstr ""
+
#. type: TP
-#: build/C/man2/open.2:153
+#: build/C/man2/open.2:178
#, no-wrap
msgid "B<O_APPEND>"
msgstr "B<O_APPEND>"
#. http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=453946
#. http://nfs.sourceforge.net/
#. type: Plain text
-#: build/C/man2/open.2:170
+#: build/C/man2/open.2:195
msgid ""
"The file is opened in append mode. Before each B<write>(2), the file offset "
"is positioned at the end of the file, as if with B<lseek>(2). B<O_APPEND> "
-"may lead to corrupted files on NFS file systems if more than one process "
+"may lead to corrupted files on NFS filesystems if more than one process "
"appends data to a file at once. This is because NFS does not support "
"appending to a file, so the client kernel has to simulate it, which can't be "
"done without a race condition."
"とはできないからである。"
#. type: TP
-#: build/C/man2/open.2:170
+#: build/C/man2/open.2:195
#, no-wrap
msgid "B<O_ASYNC>"
msgstr "B<O_ASYNC>"
#. type: Plain text
-#: build/C/man2/open.2:183
+#: build/C/man2/open.2:209
+#, fuzzy
+#| msgid ""
+#| "Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but "
+#| "this can be changed via B<fcntl>(2)) when input or output becomes "
+#| "possible on this file descriptor. This feature is available only for "
+#| "terminals, pseudoterminals, sockets, and (since Linux 2.6) pipes and "
+#| "FIFOs. See B<fcntl>(2) for further details."
msgid ""
"Enable signal-driven I/O: generate a signal (B<SIGIO> by default, but this "
"can be changed via B<fcntl>(2)) when input or output becomes possible on "
"this file descriptor. This feature is available only for terminals, "
"pseudoterminals, sockets, and (since Linux 2.6) pipes and FIFOs. See "
-"B<fcntl>(2) for further details."
+"B<fcntl>(2) for further details. See also BUGS, below."
msgstr ""
"シグナル駆動 I/O (signal-driven I/O) を有効にする: このファイルディスクリプタ"
"への 入力または出力が可能になった場合に、シグナルを生成する (デフォルトは "
"FIFO に対しても使用できる。 さらに詳しい説明は B<fcntl>(2) を参照すること。"
#. type: TP
-#: build/C/man2/open.2:183
-#, no-wrap
-msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
+#: build/C/man2/open.2:209
+#, fuzzy, no-wrap
+#| msgid "B<O_CLOEXEC> (Since Linux 2.6.23)"
+msgid "B<O_CLOEXEC> (since Linux 2.6.23)"
msgstr "B<O_CLOEXEC> (Linux 2.6.23 以降)"
#. This flag fixes only one form of the race condition;
#. The race can also occur with, for example, descriptors
#. returned by accept(), pipe(), etc.
#. type: Plain text
-#: build/C/man2/open.2:208
+#: build/C/man2/open.2:234
msgid ""
"Enable the close-on-exec flag for the new file descriptor. Specifying this "
"flag permits a program to avoid additional B<fcntl>(2) B<F_SETFD> "
"はないからである。"
#. type: TP
-#: build/C/man2/open.2:208
+#: build/C/man2/open.2:234
#, no-wrap
msgid "B<O_CREAT>"
msgstr "B<O_CREAT>"
#. As at 2.6.25, bsdgroups is supported by ext2, ext3, ext4, and
#. XFS (since 2.6.14).
#. type: Plain text
-#: build/C/man2/open.2:224
+#: build/C/man2/open.2:250
+#, fuzzy
+#| msgid ""
+#| "If the file does not exist it will be created. The owner (user ID) of "
+#| "the file is set to the effective user ID of the process. The group "
+#| "ownership (group ID) is set either to the effective group ID of the "
+#| "process or to the group ID of the parent directory (depending on "
+#| "filesystem type and mount options, and the mode of the parent directory, "
+#| "see the mount options I<bsdgroups> and I<sysvgroups> described in B<mount>"
+#| "(8))."
msgid ""
"If the file does not exist it will be created. The owner (user ID) of the "
"file is set to the effective user ID of the process. The group ownership "
"(group ID) is set either to the effective group ID of the process or to the "
-"group ID of the parent directory (depending on file system type and mount "
-"options, and the mode of the parent directory, see the mount options "
+"group ID of the parent directory (depending on filesystem type and mount "
+"options, and the mode of the parent directory; see the mount options "
"I<bsdgroups> and I<sysvgroups> described in B<mount>(8))."
msgstr ""
"ファイルが存在しなかった場合は作成 (create) する。 ファイルの所有者 (ユー"
"I<bsdgroups> と I<sysvgroups> を参照)。"
#. type: Plain text
-#: build/C/man2/open.2:247
+#: build/C/man2/open.2:277
+#, fuzzy
+#| msgid ""
+#| "I<mode> specifies the permissions to use in case a new file is created. "
+#| "This argument must be supplied when B<O_CREAT> is specified in I<flags>; "
+#| "if B<O_CREAT> is not specified, then I<mode> is ignored. The effective "
+#| "permissions are modified by the process's I<umask> in the usual way: The "
+#| "permissions of the created file are I<(mode\\ &\\ ~umask)>. Note that "
+#| "this mode applies only to future accesses of the newly created file; the "
+#| "B<open>() call that creates a read-only file may well return a read/"
+#| "write file descriptor."
msgid ""
"I<mode> specifies the permissions to use in case a new file is created. "
-"This argument must be supplied when B<O_CREAT> is specified in I<flags>; if "
-"B<O_CREAT> is not specified, then I<mode> is ignored. The effective "
-"permissions are modified by the process's I<umask> in the usual way: The "
-"permissions of the created file are I<(mode\\ &\\ ~umask)>. Note that this "
-"mode applies only to future accesses of the newly created file; the B<open>"
-"() call that creates a read-only file may well return a read/write file "
-"descriptor."
+"This argument must be supplied when B<O_CREAT> or B<O_TMPFILE> is specified "
+"in I<flags>; if neither B<O_CREAT> nor B<O_TMPFILE> is specified, then "
+"I<mode> is ignored. The effective permissions are modified by the process's "
+"I<umask> in the usual way: The permissions of the created file are I<(mode\\ "
+"&\\ ~umask)>. Note that this mode applies only to future accesses of the "
+"newly created file; the B<open>() call that creates a read-only file may "
+"well return a read/write file descriptor."
msgstr ""
"I<mode> は新しいファイルを作成する場合に使用するアクセス許可 (permission) を"
"指定する。 I<flags> に B<O_CREAT> が指定されている場合、 I<mode> を指定しなけ"
"可能なファイルディスクリプタを返すことがありうる。"
#. type: Plain text
-#: build/C/man2/open.2:250
+#: build/C/man2/open.2:280
msgid "The following symbolic constants are provided for I<mode>:"
msgstr "I<mode> のために以下のシンボル定数が提供されている :"
#. type: TP
-#: build/C/man2/open.2:250
+#: build/C/man2/open.2:280
#, no-wrap
msgid "B<S_IRWXU>"
msgstr "B<S_IRWXU>"
#. type: Plain text
-#: build/C/man2/open.2:253
+#: build/C/man2/open.2:283
msgid "00700 user (file owner) has read, write and execute permission"
msgstr ""
"00700 ユーザー (ファイルの所有者) に読み込み、書き込み、 実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:253
+#: build/C/man2/open.2:283
#, no-wrap
msgid "B<S_IRUSR>"
msgstr "B<S_IRUSR>"
#. type: Plain text
-#: build/C/man2/open.2:256
+#: build/C/man2/open.2:286
msgid "00400 user has read permission"
msgstr "00400 ユーザーに読み込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:256
+#: build/C/man2/open.2:286
#, no-wrap
msgid "B<S_IWUSR>"
msgstr "B<S_IWUSR>"
#. type: Plain text
-#: build/C/man2/open.2:259
+#: build/C/man2/open.2:289
msgid "00200 user has write permission"
msgstr "00200 ユーザーに書き込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:259
+#: build/C/man2/open.2:289
#, no-wrap
msgid "B<S_IXUSR>"
msgstr "B<S_IXUSR>"
#. type: Plain text
-#: build/C/man2/open.2:262
+#: build/C/man2/open.2:292
msgid "00100 user has execute permission"
msgstr "00100 ユーザーに実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:262
+#: build/C/man2/open.2:292
#, no-wrap
msgid "B<S_IRWXG>"
msgstr "B<S_IRWXG>"
#. type: Plain text
-#: build/C/man2/open.2:265
+#: build/C/man2/open.2:295
msgid "00070 group has read, write and execute permission"
msgstr "00070 グループに読み込み、書き込み、実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:265
+#: build/C/man2/open.2:295
#, no-wrap
msgid "B<S_IRGRP>"
msgstr "B<S_IRGRP>"
#. type: Plain text
-#: build/C/man2/open.2:268
+#: build/C/man2/open.2:298
msgid "00040 group has read permission"
msgstr "00040 グループに読み込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:268
+#: build/C/man2/open.2:298
#, no-wrap
msgid "B<S_IWGRP>"
msgstr "B<S_IWGRP>"
#. type: Plain text
-#: build/C/man2/open.2:271
+#: build/C/man2/open.2:301
msgid "00020 group has write permission"
msgstr "00020 グループに書き込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:271
+#: build/C/man2/open.2:301
#, no-wrap
msgid "B<S_IXGRP>"
msgstr "B<S_IXGRP>"
#. type: Plain text
-#: build/C/man2/open.2:274
+#: build/C/man2/open.2:304
msgid "00010 group has execute permission"
msgstr "00010 グループに実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:274
+#: build/C/man2/open.2:304
#, no-wrap
msgid "B<S_IRWXO>"
msgstr "B<S_IRWXO>"
#. type: Plain text
-#: build/C/man2/open.2:277
+#: build/C/man2/open.2:307
msgid "00007 others have read, write and execute permission"
msgstr "00007 他人 (others) に読み込み、書き込み、実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:277
+#: build/C/man2/open.2:307
#, no-wrap
msgid "B<S_IROTH>"
msgstr "B<S_IROTH>"
#. type: Plain text
-#: build/C/man2/open.2:280
+#: build/C/man2/open.2:310
msgid "00004 others have read permission"
msgstr "00004 他人に読み込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:280
+#: build/C/man2/open.2:310
#, no-wrap
msgid "B<S_IWOTH>"
msgstr "B<S_IWOTH>"
#. type: Plain text
-#: build/C/man2/open.2:283
+#: build/C/man2/open.2:313
msgid "00002 others have write permission"
msgstr "00002 他人に書き込みの許可がある。"
#. type: TP
-#: build/C/man2/open.2:283
+#: build/C/man2/open.2:313
#, no-wrap
msgid "B<S_IXOTH>"
msgstr "B<S_IXOTH>"
#. type: Plain text
-#: build/C/man2/open.2:286
+#: build/C/man2/open.2:316
msgid "00001 others have execute permission"
msgstr "00001 他人に実行の許可がある。"
#. type: TP
-#: build/C/man2/open.2:287
-#, no-wrap
-msgid "B<O_DIRECT> (Since Linux 2.4.10)"
+#: build/C/man2/open.2:317
+#, fuzzy, no-wrap
+#| msgid "B<O_DIRECT> (Since Linux 2.4.10)"
+msgid "B<O_DIRECT> (since Linux 2.4.10)"
msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
#. type: Plain text
-#: build/C/man2/open.2:304
+#: build/C/man2/open.2:334
msgid ""
"Try to minimize cache effects of the I/O to and from this file. In general "
"this will degrade performance, but it is useful in special situations, such "
"使用しなければならない。下記の「注意」の節の議論も参照。"
#. type: Plain text
-#: build/C/man2/open.2:308
+#: build/C/man2/open.2:338
msgid ""
"A semantically similar (but deprecated) interface for block devices is "
"described in B<raw>(8)."
"れている (但し、このインタフェースは非推奨である)。"
#. type: TP
-#: build/C/man2/open.2:308
+#: build/C/man2/open.2:338
#, no-wrap
msgid "B<O_DIRECTORY>"
msgstr "B<O_DIRECTORY>"
#. [PATCH] open: O_DIRECTORY and O_CREAT together should fail
#. O_DIRECTORY | O_CREAT causes O_DIRECTORY to be ignored.
#. type: Plain text
-#: build/C/man2/open.2:322
+#: build/C/man2/open.2:350
msgid ""
"If I<pathname> is not a directory, cause the open to fail. This flag is "
"Linux-specific, and was added in kernel version 2.1.126, to avoid denial-of-"
-"service problems if B<opendir>(3) is called on a FIFO or tape device, but "
-"should not be used outside of the implementation of B<opendir>(3)."
+"service problems if B<opendir>(3) is called on a FIFO or tape device."
msgstr ""
"I<pathname> がディレクトリでなければオープンは失敗する。 このフラグは Linux "
"特有であり、 B<opendir>(3) が FIFO やテープデバイスに対してコールされた場合"
"の サービス不能 (denial-of-service) 攻撃を避けるために カーネル 2.1.126 で追"
-"加された。 しかしこれは B<opendir>(3) の実装以外では使用するべきではない。"
+"加された。"
+
+#. type: TP
+#: build/C/man2/open.2:350
+#, fuzzy, no-wrap
+#| msgid "B<O_SYNC>"
+msgid "B<O_DSYNC>"
+msgstr "B<O_SYNC>"
+
+#. type: Plain text
+#: build/C/man2/open.2:356
+msgid ""
+"Write operations on the file will complete according to the requirements of "
+"synchronized I/O I<data> integrity completion."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:368
+msgid ""
+"By the time B<write>(2) (and similar) return, the output data has been "
+"transferred to the underlying hardware, along with any file metadata that "
+"would be required to retrieve that data (i.e., as though each B<write>(2) "
+"was followed by a call to B<fdatasync>(2)). I<See NOTES below>."
+msgstr ""
#. type: TP
-#: build/C/man2/open.2:322
+#: build/C/man2/open.2:368
#, no-wrap
msgid "B<O_EXCL>"
msgstr "B<O_EXCL>"
#. type: Plain text
-#: build/C/man2/open.2:332
+#: build/C/man2/open.2:378
msgid ""
"Ensure that this call creates the file: if this flag is specified in "
"conjunction with B<O_CREAT>, and I<pathname> already exists, then B<open>() "
#. POSIX.1-2001 explicitly requires this behavior.
#. type: Plain text
-#: build/C/man2/open.2:340
+#: build/C/man2/open.2:386
msgid ""
"When these two flags are specified, symbolic links are not followed: if "
"I<pathname> is a symbolic link, then B<open>() fails regardless of where "
"かに関わらず B<open>() は失敗する。"
#. type: Plain text
-#: build/C/man2/open.2:356
+#: build/C/man2/open.2:402
msgid ""
"In general, the behavior of B<O_EXCL> is undefined if it is used without "
"B<O_CREAT>. There is one exception: on Linux 2.6 and later, B<O_EXCL> can "
"マウントされているなど)、 B<open>() はエラー B<EBUSY> で失敗する。"
#. type: Plain text
-#: build/C/man2/open.2:378
+#: build/C/man2/open.2:424
msgid ""
"On NFS, B<O_EXCL> is supported only when using NFSv3 or later on kernel 2.6 "
"or later. In NFS environments where B<O_EXCL> support is not provided, "
"programs that rely on it for performing locking tasks will contain a race "
"condition. Portable programs that want to perform atomic file locking using "
"a lockfile, and need to avoid reliance on NFS support for B<O_EXCL>, can "
-"create a unique file on the same file system (e.g., incorporating hostname "
+"create a unique file on the same filesystem (e.g., incorporating hostname "
"and PID), and use B<link>(2) to make a link to the lockfile. If B<link>"
"(2) returns 0, the lock is successful. Otherwise, use B<stat>(2) on the "
"unique file to check if its link count has increased to 2, in which case the "
"じくロックに成功しているということである。"
#. type: TP
-#: build/C/man2/open.2:378
+#: build/C/man2/open.2:424
#, no-wrap
msgid "B<O_LARGEFILE>"
msgstr "B<O_LARGEFILE>"
#. type: Plain text
-#: build/C/man2/open.2:400
+#: build/C/man2/open.2:446
msgid ""
"(LFS) Allow files whose sizes cannot be represented in an I<off_t> (but can "
"be represented in an I<off64_t>) to be opened. The B<_LARGEFILE64_SOURCE> "
"セットする方が望ましい方法である (B<feature_test_macros>(7) を参照)。"
#. type: TP
-#: build/C/man2/open.2:400
-#, no-wrap
-msgid "B<O_NOATIME> (Since Linux 2.6.8)"
+#: build/C/man2/open.2:446
+#, fuzzy, no-wrap
+#| msgid "B<O_NOATIME> (Since Linux 2.6.8)"
+msgid "B<O_NOATIME> (since Linux 2.6.8)"
msgstr "B<O_NOATIME> (Linux 2.6.8 以降)"
#. The O_NOATIME flag also affects the treatment of st_atime
#. by mmap() and readdir(2), MTK, Dec 04.
#. type: Plain text
-#: build/C/man2/open.2:413
+#: build/C/man2/open.2:459
msgid ""
"Do not update the file last access time (I<st_atime> in the inode) when the "
"file is B<read>(2). This flag is intended for use by indexing or backup "
"programs, where its use can significantly reduce the amount of disk "
-"activity. This flag may not be effective on all file systems. One example "
+"activity. This flag may not be effective on all filesystems. One example "
"is NFS, where the server maintains the access time."
msgstr ""
"ファイルに対して B<read>(2) が実行されたときに、最終アクセス時刻 (inode の "
"い。 その一例が NFS であり、サーバがアクセス時刻を管理している。"
#. type: TP
-#: build/C/man2/open.2:413
+#: build/C/man2/open.2:459
#, no-wrap
msgid "B<O_NOCTTY>"
msgstr "B<O_NOCTTY>"
#. type: Plain text
-#: build/C/man2/open.2:421
+#: build/C/man2/open.2:467
msgid ""
"If I<pathname> refers to a terminal device\\(emsee B<tty>(4)\\(emit will not "
"become the process's controlling terminal even if the process does not have "
"は制御端末にはならない。"
#. type: TP
-#: build/C/man2/open.2:421
+#: build/C/man2/open.2:467
#, no-wrap
msgid "B<O_NOFOLLOW>"
msgstr "B<O_NOFOLLOW>"
#. definition of this flag; \fIkernels before 2.1.126 will ignore it if
#. used\fP.
#. type: Plain text
-#: build/C/man2/open.2:430
+#: build/C/man2/open.2:479
+#, fuzzy
+#| msgid ""
+#| "If I<pathname> is a symbolic link, then the open fails. This is a "
+#| "FreeBSD extension, which was added to Linux in version 2.1.126. Symbolic "
+#| "links in earlier components of the pathname will still be followed. See "
+#| "also B<O_NOPATH> below."
msgid ""
"If I<pathname> is a symbolic link, then the open fails. This is a FreeBSD "
"extension, which was added to Linux in version 2.1.126. Symbolic links in "
-"earlier components of the pathname will still be followed."
+"earlier components of the pathname will still be followed. See also "
+"B<O_PATH> below."
msgstr ""
"I<pathname> がシンボリックリンクだった場合、オープンは失敗する。 これは "
-"FreeBSD の拡張で、Linux には 2.1.126 より追加された。 pathname の前のコンポー"
-"ネント (earlier component; 訳註: 最後のディレクトリセパレータより前の部分) "
-"が シンボリックリンクである場合には、それが指す先が参照される。"
+"FreeBSD の拡張で、Linux には バージョン 2.1.126 で追加された。 このフラグが指"
+"定された場合でも I<pathname> の前の方の要素 (最後のディレクトリセパレータより"
+"前の部分) にあるシンボリックリンクについてはリンクが辿られる。 下記の "
+"B<O_PATH> も参照のこと。"
#. type: TP
-#: build/C/man2/open.2:430
+#: build/C/man2/open.2:479
#, no-wrap
msgid "B<O_NONBLOCK> or B<O_NDELAY>"
msgstr "B<O_NONBLOCK> または B<O_NDELAY>"
#. type: Plain text
-#: build/C/man2/open.2:443
+#: build/C/man2/open.2:492
msgid ""
"When possible, the file is opened in nonblocking mode. Neither the B<open>"
"() nor any subsequent operations on the file descriptor which is returned "
"議論は、 B<fcntl>(2) を参照すること。"
#. type: TP
-#: build/C/man2/open.2:443
+#: build/C/man2/open.2:492
+#, no-wrap
+msgid "B<O_PATH> (since Linux 2.6.39)"
+msgstr "B<O_PATH> (Linux 2.6.39 以降)"
+
+#
+#. commit 1abf0c718f15a56a0a435588d1b104c7a37dc9bd
+#. commit 326be7b484843988afe57566b627fb7a70beac56
+#. commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+#. http://thread.gmane.org/gmane.linux.man/2790/focus=3496
+#. Subject: Re: [PATCH] open(2): document O_PATH
+#. Newsgroups: gmane.linux.man, gmane.linux.kernel
+#. type: Plain text
+#: build/C/man2/open.2:514
+msgid ""
+"Obtain a file descriptor that can be used for two purposes: to indicate a "
+"location in the filesystem tree and to perform operations that act purely at "
+"the file descriptor level. The file itself is not opened, and other file "
+"operations (e.g., B<read>(2), B<write>(2), B<fchmod>(2), B<fchown>(2), "
+"B<fgetxattr>(2), B<mmap>(2)) fail with the error B<EBADF>."
+msgstr ""
+"このフラグを指定して取得したファイルディスクリプタは、 ファイルシステムツリー"
+"内での場所を示すため、 純粋にファイルディスクリプタレベルでの作用する操作を実"
+"行するため、 の二つの目的で使用することができる。 ファイル自身はオープンされ"
+"ず、 他のファイル操作 (例えば B<read>(2), B<write>(2), B<fchmod>(2), "
+"B<fchown>(2), B<fgetxattr>(2), B<mmap>(2)) はエラー B<EBADF> で失敗する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:518
+msgid ""
+"The following operations I<can> be performed on the resulting file "
+"descriptor:"
+msgstr ""
+"取得したファイルディスクリプタに対して以下の操作を行うことが「できる」。"
+
+#. commit 332a2e1244bd08b9e3ecd378028513396a004a24
+#. fstat(): commit 55815f70147dcfa3ead5738fd56d3574e2e3c1c2
+#. type: Plain text
+#: build/C/man2/open.2:527
+msgid ""
+"B<close>(2); B<fchdir>(2) (since Linux 3.5); B<fstat>(2) (since Linux 3.6)."
+msgstr ""
+"B<close>(2); B<fchdir>(2) (Linux 3.5 以降); B<fstat>(2) (Linux 3.6 以降)"
+
+#. type: Plain text
+#: build/C/man2/open.2:533
+msgid ""
+"Duplicating the file descriptor (B<dup>(2), B<fcntl>(2) B<F_DUPFD>, etc.)."
+msgstr "ファイルディスクリプタの複製 (B<dup>(2), B<fcntl>(2) B<F_DUPFD> など)"
+
+#. type: Plain text
+#: build/C/man2/open.2:539
+msgid ""
+"Getting and setting file descriptor flags (B<fcntl>(2) B<F_GETFD> and "
+"B<F_SETFD>)."
+msgstr ""
+"ファイルディスクリプタフラグの取得と設定 (B<fcntl>(2) の B<F_GETFD> と "
+"B<F_SETFD>)"
+
+#. type: Plain text
+#: build/C/man2/open.2:545
+msgid ""
+"Retrieving open file status flags using the B<fcntl>(2) B<F_GETFL> "
+"operation: the returned flags will include the bit B<O_PATH>."
+msgstr ""
+"B<fcntl>(2) の B<F_GETFL> 操作を使ったオープンされたファイルの状態フラグの取"
+"得。 返されるフラグには B<O_PATH> ビットが含まれる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:552
+msgid ""
+"Passing the file descriptor as the I<dirfd> argument of B<openat>(2) and "
+"the other \"*at()\" system calls."
+msgstr ""
+"B<openat>(2) や他の \"*at()\" 系のシステムコールの I<dirfd> 引数としてその"
+"ファイルディスクリプタを渡す。"
+
+#. type: Plain text
+#: build/C/man2/open.2:558
+msgid ""
+"Passing the file descriptor to another process via a UNIX domain socket (see "
+"B<SCM_RIGHTS> in B<unix>(7))."
+msgstr ""
+"そのファイルディスクリプタを別のプロセスに UNIX ドメインソケット経由で渡す。 "
+"(B<unix>(7) の B<SCM_RIGHTS> を参照)"
+
+#. type: Plain text
+#: build/C/man2/open.2:569
+msgid ""
+"When B<O_PATH> is specified in I<flags>, flag bits other than B<O_DIRECTORY> "
+"and B<O_NOFOLLOW> are ignored."
+msgstr ""
+"I<flags> に B<O_PATH> が指定された場合、 B<O_DIRECTORY> と B<O_NOFOLLOW> 以外"
+"のフラグビットは無視される。"
+
+#. type: Plain text
+#: build/C/man2/open.2:585
+#, fuzzy
+#| msgid ""
+#| "If the B<O_NOFOLLOW> flag is also specified, then the call returns a file "
+#| "descriptor referring to the symbolic link. This file descriptor can be "
+#| "used as the I<dirfd> argument in calls to B<fchownat>(2), B<fstatat>(2), "
+#| "B<linkat>(2), and B<readlinkat>(2) with an empty pathname to have the "
+#| "calls operate on the symbolic link."
+msgid ""
+"If I<pathname> is a symbolic link and the B<O_NOFOLLOW> flag is also "
+"specified, then the call returns a file descriptor referring to the symbolic "
+"link. This file descriptor can be used as the I<dirfd> argument in calls to "
+"B<fchownat>(2), B<fstatat>(2), B<linkat>(2), and B<readlinkat>(2) with an "
+"empty pathname to have the calls operate on the symbolic link."
+msgstr ""
+"B<O_NOFOLLOW> フラグも合わせて指定された場合、 この呼び出しではシンボリックリ"
+"ンクを参照するファイルディスクリプタを返す。 このファイルディスクリプタは、 "
+"空のパス名を指定した B<fchownat>(2), B<fstatat>(2), B<linkat>(2), "
+"B<readlinkat>(2) の呼び出しで I<dirfd> 引数として使うことで、 そのシンボリッ"
+"クリンクに対して操作を行うことができる。"
+
+#. type: TP
+#: build/C/man2/open.2:585
#, no-wrap
msgid "B<O_SYNC>"
msgstr "B<O_SYNC>"
#. type: Plain text
-#: build/C/man2/open.2:451
+#: build/C/man2/open.2:597
+msgid ""
+"Write operations on the file will complete according to the requirements of "
+"synchronized I/O I<file> integrity completion (by contrast with contrast "
+"with the synchronized I/O I<data> integrity completion provided by "
+"B<O_DSYNC>.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:608
msgid ""
-"The file is opened for synchronous I/O. Any B<write>(2)s on the resulting "
-"file descriptor will block the calling process until the data has been "
-"physically written to the underlying hardware. I<But see NOTES below>."
+"By the time B<write>(2) (and similar) return, the output data and "
+"associated file metadata have been transferred to the underlying hardware (i."
+"e., as though each B<write>(2) was followed by a call to B<fsync>(2)). "
+"I<See NOTES below>."
msgstr ""
-"ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>() が返した"
-"ファイルディスクリプタに対して B<write>(2) を行うと、必ず呼び出したプロセス"
-"をブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 I<以下の"
-"「注意」の章も参照。>"
#. type: TP
-#: build/C/man2/open.2:451
+#: build/C/man2/open.2:608
+#, fuzzy, no-wrap
+#| msgid "B<EPERM> (since Linux 3.6)"
+msgid "B<O_TMPFILE> (since Linux 3.11)"
+msgstr "B<EPERM> (Linux 3.6 以降)"
+
+#. commit 60545d0d4610b02e55f65d141c95b18ccf855b6e
+#. commit f4e0c30c191f87851c4a53454abb55ee276f4a7e
+#. commit bb458c644a59dbba3a1fe59b27106c5e68e1c4bd
+#. type: Plain text
+#: build/C/man2/open.2:620
+msgid ""
+"Create an unnamed temporary file. The I<pathname> argument specifies a "
+"directory; an unnamed inode will be created in that directory's filesystem. "
+"Anything written to the resulting file will be lost when the last file "
+"descriptor is closed, unless the file is given a name."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:634
+msgid ""
+"B<O_TMPFILE> must be specified with one of B<O_RDWR> or B<O_WRONLY> and, "
+"optionally, B<O_EXCL>. If B<O_EXCL> is not specified, then B<linkat>(2) "
+"can be used to link the temporary file into the filesystem, making it "
+"permanent, using code like the following:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:640
+#, no-wrap
+msgid ""
+"char path[PATH_MAX];\n"
+"fd = open(\"/path/to/dir\", O_TMPFILE | O_RDWR,\n"
+" S_IRUSR | S_IWUSR);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:642
+#, no-wrap
+msgid "/* File I/O on 'fd'... */\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:646
+#, no-wrap
+msgid ""
+"snprintf(path, PATH_MAX, \"/proc/self/fd/%d\", fd);\n"
+"linkat(AT_FDCWD, path, AT_FDCWD, \"/path/for/file\",\n"
+" AT_SYMLINK_FOLLOW);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:655
+msgid ""
+"In this case, the B<open>() I<mode> argument determines the file permission "
+"mode, as with B<O_CREAT>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:667
+msgid ""
+"Specifying B<O_EXCL> in conjunction with B<O_TMPFILE> prevents a temporary "
+"file from being linked into the filesystem in the above manner. (Note that "
+"the meaning of B<O_EXCL> in this case is different from the meaning of "
+"B<O_EXCL> otherwise.)"
+msgstr ""
+
+#. Inspired by http://lwn.net/Articles/559147/
+#. type: Plain text
+#: build/C/man2/open.2:672
+msgid "There are two main use cases for B<O_TMPFILE>:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:681
+msgid ""
+"Improved B<tmpfile>(3) functionality: race-free creation of temporary files "
+"that (1) are automatically deleted when closed; (2) can never be reached via "
+"any pathname; (3) are not subject to symlink attacks; and (4) do not require "
+"the caller to devise unique names."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:692
+msgid ""
+"Creating a file that is initially invisible, which is then populated with "
+"data and adjusted to have appropriate filesystem attributes (B<chown>(2), "
+"B<chmod>(2), B<fsetxattr>(2), etc.) before being atomically linked into the "
+"filesystem in a fully formed state (using B<linkat>(2) as described above)."
+msgstr ""
+
+#. As at 3.13, there's support for at least ext2, ext3, ext4
+#. type: Plain text
+#: build/C/man2/open.2:698
+msgid ""
+"B<O_TMPFILE> requires support by the underlying filesystem; only a subset of "
+"Linux filesystems provide that support."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/open.2:698
#, no-wrap
msgid "B<O_TRUNC>"
msgstr "B<O_TRUNC>"
#. type: Plain text
-#: build/C/man2/open.2:465
+#: build/C/man2/open.2:712
+#, fuzzy
+#| msgid ""
+#| "If the file already exists and is a regular file and the open mode allows "
+#| "writing (i.e., is B<O_RDWR> or B<O_WRONLY>) it will be truncated to "
+#| "length 0. If the file is a FIFO or terminal device file, the B<O_TRUNC> "
+#| "flag is ignored. Otherwise the effect of B<O_TRUNC> is unspecified."
msgid ""
-"If the file already exists and is a regular file and the open mode allows "
+"If the file already exists and is a regular file and the access mode allows "
"writing (i.e., is B<O_RDWR> or B<O_WRONLY>) it will be truncated to length "
"0. If the file is a FIFO or terminal device file, the B<O_TRUNC> flag is "
"ignored. Otherwise the effect of B<O_TRUNC> is unspecified."
"B<O_TRUNC> フラグは無視される。 それ以外の場合、 B<O_TRUNC> の効果は未定義で"
"ある。"
-#. type: Plain text
-#: build/C/man2/open.2:469
-msgid ""
-"Some of these optional flags can be altered using B<fcntl>(2) after the "
-"file has been opened."
+#. type: SS
+#: build/C/man2/open.2:712
+#, no-wrap
+msgid "creat()"
msgstr ""
-"これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2) を使"
-"用して変更することができる。"
#. type: Plain text
-#: build/C/man2/open.2:477
+#: build/C/man2/open.2:720
msgid ""
"B<creat>() is equivalent to B<open>() with I<flags> equal to B<O_CREAT|"
"O_WRONLY|O_TRUNC>."
"B<creat>() は I<flags> に B<O_CREAT|O_WRONLY|O_TRUNC> を指定して B<open>() "
"を行うのと等価である。"
+#. type: SS
+#: build/C/man2/open.2:720
+#, no-wrap
+msgid "openat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:726
+msgid ""
+"The B<openat>() system call operates in exactly the same way as B<open>(), "
+"except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:736
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory relative to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<open>() for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:748
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<open>())."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/open.2:485
+#: build/C/man2/open.2:754 build/C/man2/readlink.2:134
+msgid "If I<pathname> is absolute, then I<dirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:763
+#, fuzzy
+#| msgid ""
+#| "B<open>() and B<creat>() return the new file descriptor, or -1 if an "
+#| "error occurred (in which case, I<errno> is set appropriately)."
msgid ""
-"B<open>() and B<creat>() return the new file descriptor, or -1 if an error "
-"occurred (in which case, I<errno> is set appropriately)."
+"B<open>(), B<openat>(), and B<creat>() return the new file descriptor, or "
+"-1 if an error occurred (in which case, I<errno> is set appropriately)."
msgstr ""
"B<open>() と B<creat>() は新しいファイルディスクリプタを返す。 エラーが発生"
"した場合は -1 を返す (その場合は I<errno> が適切に設定される)。"
#. type: Plain text
-#: build/C/man2/open.2:495
+#: build/C/man2/open.2:769
+msgid ""
+"B<open>(), B<openat>(), and B<creat>() can fail with the following errors:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:778
msgid ""
"The requested access to the file is not allowed, or search permission is "
"denied for one of the directories in the path prefix of I<pathname>, or the "
"すること。)"
#. type: Plain text
-#: build/C/man2/open.2:501
+#: build/C/man2/open.2:784
msgid ""
"Where B<O_CREAT> is specified, the file does not exist, and the user's quota "
-"of disk blocks or inodes on the file system has been exhausted."
+"of disk blocks or inodes on the filesystem has been exhausted."
msgstr ""
"B<O_CREAT> が指定された場合で、そのファイルが存在せず、ディスクブロックか "
"inode がそのファイルシステムのユーザクォータに達していた。"
#. type: Plain text
-#: build/C/man2/open.2:507
+#: build/C/man2/open.2:790
msgid "I<pathname> already exists and B<O_CREAT> and B<O_EXCL> were used."
msgstr "I<pathname> は既に存在し、 B<O_CREAT> と B<O_EXCL> が使用された。"
#. type: Plain text
-#: build/C/man2/open.2:511 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:84
+#: build/C/man2/open.2:794 build/C/man2/rmdir.2:67 build/C/man2/unlink.2:182
msgid "I<pathname> points outside your accessible address space."
msgstr "I<pathname> がアクセス可能なアドレス空間の外を指している。"
#. type: TP
-#: build/C/man2/open.2:511 build/C/man2/write.2:145
+#: build/C/man2/open.2:794 build/C/man2/write.2:145
#, no-wrap
msgid "B<EFBIG>"
msgstr "B<EFBIG>"
#. type: Plain text
-#: build/C/man2/open.2:515
+#: build/C/man2/open.2:798
msgid "See B<EOVERFLOW>."
msgstr "B<EOVERFLOW> 参照。"
#. type: TP
-#: build/C/man2/open.2:515 build/C/man2/read.2:122 build/C/man3/scanf.3:561
+#: build/C/man2/open.2:798 build/C/man2/read.2:122 build/C/man3/scanf.3:561
#: build/C/man3/tmpfile.3:63 build/C/man2/write.2:150
#, no-wrap
msgid "B<EINTR>"
msgstr "B<EINTR>"
#. type: Plain text
-#: build/C/man2/open.2:522
+#: build/C/man2/open.2:805
msgid ""
"While blocked waiting to complete an open of a slow device (e.g., a FIFO; "
"see B<fifo>(7)), the call was interrupted by a signal handler; see B<signal>"
"停止している間に システムコールがシグナルハンドラにより割り込まれた。 "
"B<signal>(7) 参照。"
+#. type: Plain text
+#: build/C/man2/open.2:813
+#, fuzzy
+#| msgid ""
+#| "The filesystem does not support the B<O_DIRECT> flag. See B<NOTES> for "
+#| "more information."
+msgid ""
+"The filesystem does not support the B<O_DIRECT> flag. See B<NOTES> for more "
+"information."
+msgstr ""
+"ファイルシステムが B<O_DIRECT> フラグをサポートしていない。 詳細はB<注意>を参"
+"照。"
+
+#. In particular, __O_TMPFILE instead of O_TMPFILE
+#. type: Plain text
+#: build/C/man2/open.2:818
+#, fuzzy
+#| msgid "(B<pipe2>()) Invalid value in I<flags>."
+msgid "Invalid value in I<flags>."
+msgstr "(B<pipe2>()) I<flags> に無効な値が入っている。"
+
+#. type: Plain text
+#: build/C/man2/open.2:828
+#, fuzzy
+#| msgid ""
+#| "When B<O_PATH> is specified in I<flags>, flag bits other than "
+#| "B<O_DIRECTORY> and B<O_NOFOLLOW> are ignored."
+msgid ""
+"B<O_TMPFILE> was specified in I<flags>, but neither B<O_WRONLY> nor "
+"B<O_RDWR> was specified."
+msgstr ""
+"I<flags> に B<O_PATH> が指定された場合、 B<O_DIRECTORY> と B<O_NOFOLLOW> 以外"
+"のフラグビットは無視される。"
+
#. type: TP
-#: build/C/man2/open.2:522 build/C/man2/read.2:158 build/C/man2/rename.2:143
-#: build/C/man2/unlink.2:87
+#: build/C/man2/open.2:828 build/C/man2/open.2:837 build/C/man2/read.2:158
+#: build/C/man2/rename.2:218 build/C/man2/unlink.2:185
+#: build/C/man2/unlink.2:256
#, no-wrap
msgid "B<EISDIR>"
msgstr "B<EISDIR>"
#. type: Plain text
-#: build/C/man2/open.2:531
+#: build/C/man2/open.2:837
msgid ""
"I<pathname> refers to a directory and the access requested involved writing "
"(that is, B<O_WRONLY> or B<O_RDWR> is set)."
"B<O_WRONLY> または B<O_RDWR> が設定されている)。"
#. type: Plain text
-#: build/C/man2/open.2:538
+#: build/C/man2/open.2:851
+msgid ""
+"I<pathname> refers to an existing directory, B<O_TMPFILE> and one of "
+"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
+"does not provide the B<O_TMPFILE> functionality."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:855 build/C/man2/rmdir.2:77
+msgid "Too many symbolic links were encountered in resolving I<pathname>."
+msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:864
msgid ""
-"Too many symbolic links were encountered in resolving I<pathname>, or "
-"B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
+"I<pathname> was a symbolic link, and I<flags> specified B<O_NOFOLLOW> but "
+"not B<O_PATH>."
msgstr ""
-"I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
-"B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
#. type: TP
-#: build/C/man2/open.2:538 build/C/man2/pipe.2:107 build/C/man3/tmpfile.3:66
+#: build/C/man2/open.2:864 build/C/man2/pipe.2:144 build/C/man3/tmpfile.3:66
#, no-wrap
msgid "B<EMFILE>"
msgstr "B<EMFILE>"
#. type: Plain text
-#: build/C/man2/open.2:541
+#: build/C/man2/open.2:867
msgid "The process already has the maximum number of files open."
msgstr "プロセスがオープンしているファイル数がすでに最大数に達している。"
#. type: Plain text
-#: build/C/man2/open.2:545 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:99
+#: build/C/man2/open.2:871 build/C/man2/rmdir.2:80 build/C/man2/unlink.2:197
msgid "I<pathname> was too long."
msgstr "I<pathname> が長過ぎる。"
#. type: TP
-#: build/C/man2/open.2:545 build/C/man2/pipe.2:110 build/C/man3/tmpfile.3:69
+#: build/C/man2/open.2:871 build/C/man2/pipe.2:147 build/C/man3/tmpfile.3:69
#, no-wrap
msgid "B<ENFILE>"
msgstr "B<ENFILE>"
#. type: Plain text
-#: build/C/man2/open.2:548 build/C/man2/pipe.2:113
+#: build/C/man2/open.2:874 build/C/man2/pipe.2:150
msgid "The system limit on the total number of open files has been reached."
msgstr "オープンされているファイルの総数がシステムの制限に達している。"
#. type: TP
-#: build/C/man2/open.2:548
+#: build/C/man2/open.2:874
#, no-wrap
msgid "B<ENODEV>"
msgstr "B<ENODEV>"
#. type: Plain text
-#: build/C/man2/open.2:555
+#: build/C/man2/open.2:881
msgid ""
"I<pathname> refers to a device special file and no corresponding device "
"exists. (This is a Linux kernel bug; in this situation B<ENXIO> must be "
"るべきである)"
#. type: Plain text
-#: build/C/man2/open.2:562
+#: build/C/man2/open.2:888
msgid ""
"B<O_CREAT> is not set and the named file does not exist. Or, a directory "
"component in I<pathname> does not exist or is a dangling symbolic link."
"ンクである。"
#. type: Plain text
-#: build/C/man2/open.2:571
+#: build/C/man2/open.2:902
+msgid ""
+"I<pathname> refers to a nonexistent directory, B<O_TMPFILE> and one of "
+"B<O_WRONLY> or B<O_RDWR> were specified in I<flags>, but this kernel version "
+"does not provide the B<O_TMPFILE> functionality."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:911
msgid ""
"I<pathname> was to be created but the device containing I<pathname> has no "
"room for the new file."
"ファイルのための空き容量がない。"
#. type: Plain text
-#: build/C/man2/open.2:578
+#: build/C/man2/open.2:918
msgid ""
"A component used as a directory in I<pathname> is not, in fact, a directory, "
"or B<O_DIRECTORY> was specified and I<pathname> was not a directory."
"または B<O_DIRECTORY> が指定されており、 I<pathname> がディレクトリでない。"
#. type: Plain text
-#: build/C/man2/open.2:584
+#: build/C/man2/open.2:924
msgid ""
"B<O_NONBLOCK> | B<O_WRONLY> is set, the named file is a FIFO and no process "
"has the file open for reading. Or, the file is a device special file and no "
"ファイルを読み込みのためにオープンしているプロセスが存在しない。 または、ファ"
"イルがデバイススペシャルファイルで 対応するデバイスが存在しない。"
+#. type: TP
+#: build/C/man2/open.2:924
+#, no-wrap
+msgid "B<EOPNOTSUPP>"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:930
+#, fuzzy
+#| msgid ""
+#| "The filesystem containing I<pathname> does not support the removal of "
+#| "directories."
+msgid "The filesystem containing I<pathname> does not support B<O_TMPFILE>."
+msgstr ""
+"I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
+"ない。"
+
#. See http://bugzilla.kernel.org/show_bug.cgi?id=7253
#. "Open of a large file on 32-bit fails with EFBIG, should be EOVERFLOW"
#. Reported 2006-10-03
#. type: Plain text
-#: build/C/man2/open.2:604
+#: build/C/man2/open.2:950
msgid ""
"I<pathname> refers to a regular file that is too large to be opened. The "
"usual scenario here is that an application compiled on a 32-bit platform "
"る。 2.6.24 より前のカーネルでは、Linux はこの場合にエラー B<EFBIG> を返して"
"いた。"
-#. Strictly speaking, it's the file system UID... (MTK)
+#. Strictly speaking, it's the filesystem UID... (MTK)
#. type: Plain text
-#: build/C/man2/open.2:612
+#: build/C/man2/open.2:958
msgid ""
"The B<O_NOATIME> flag was specified, but the effective user ID of the caller "
"did not match the owner of the file and the caller was not privileged "
"所有者と一致せず、かつ呼び出し元に特権 (B<CAP_FOWNER>) がない。"
#. type: Plain text
-#: build/C/man2/open.2:617
+#: build/C/man2/open.2:963
msgid ""
-"I<pathname> refers to a file on a read-only file system and write access was "
+"I<pathname> refers to a file on a read-only filesystem and write access was "
"requested."
msgstr ""
"I<pathname> が読み込み専用のファイルシステム上のファイルを参照しており、 書き"
"込みアクセスが要求された。"
#. type: TP
-#: build/C/man2/open.2:617
+#: build/C/man2/open.2:963
#, no-wrap
msgid "B<ETXTBSY>"
msgstr "B<ETXTBSY>"
#. type: Plain text
-#: build/C/man2/open.2:622
+#: build/C/man2/open.2:968
msgid ""
"I<pathname> refers to an executable image which is currently being executed "
"and write access was requested."
"I<pathname> が現在実行中の実行イメージを参照しており、書き込みが要求された。"
#. type: TP
-#: build/C/man2/open.2:622
+#: build/C/man2/open.2:968
#, no-wrap
msgid "B<EWOULDBLOCK>"
msgstr "B<EWOULDBLOCK>"
#. type: Plain text
-#: build/C/man2/open.2:629
+#: build/C/man2/open.2:975
msgid ""
"The B<O_NONBLOCK> flag was specified, and an incompatible lease was held on "
"the file (see B<fcntl>(2))."
"ていた (B<fcntl>(2) 参照)。"
#. type: Plain text
-#: build/C/man2/open.2:642
+#: build/C/man2/open.2:978
+msgid "The following additional errors can occur for B<openat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:982 build/C/man2/readlink.2:206
+#: build/C/man2/unlink.2:252
+#, fuzzy
+#| msgid "I<fd> is not an open file descriptor."
+msgid "I<dirfd> is not a valid file descriptor."
+msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
+
+#. type: Plain text
+#: build/C/man2/open.2:988 build/C/man2/readlink.2:212
+#: build/C/man2/unlink.2:269
msgid ""
-"SVr4, 4.3BSD, POSIX.1-2001. The B<O_DIRECTORY>, B<O_NOATIME>, and "
-"B<O_NOFOLLOW> flags are Linux-specific, and one may need to define "
-"B<_GNU_SOURCE> (before including I<any> header files) to obtain their "
-"definitions."
+"I<pathname> is relative and I<dirfd> is a file descriptor referring to a "
+"file other than a directory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:992
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<openat>() was added to Linux in kernel 2.6.16; library support was added "
+"to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
+#. type: Plain text
+#: build/C/man2/open.2:996
+#, fuzzy
+#| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgid "B<open>(), B<creat>() SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/open.2:999
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<openat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man2/open.2:1010
+#, fuzzy
+#| msgid ""
+#| "SVr4, 4.3BSD, POSIX.1-2001. The B<O_DIRECTORY>, B<O_NOATIME>, "
+#| "B<O_NOFOLLOW>, and B<O_PATH> flags are Linux-specific, and one may need "
+#| "to define B<_GNU_SOURCE> (before including I<any> header files) to "
+#| "obtain their definitions."
+msgid ""
+"The B<O_DIRECT>, B<O_NOATIME>, B<O_PATH>, and B<O_TMPFILE> flags are Linux-"
+"specific. One must define B<_GNU_SOURCE> to obtain their definitions."
msgstr ""
"SVr4, 4.3BSD, POSIX.1-2001. フラグ B<O_DIRECTORY>, B<O_NOATIME>, "
-"B<O_NOFOLLOW> は Linux 特有のものであり、 これらのフラグの定義を得るために"
-"ã\81¯ã\80\81 (ã\80\8cã\81©ã\81®ã\80\8dã\83\98ã\83\83ã\83\80ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\99ã\82\8bã\82\88ã\82\8aã\82\82å\89\8dã\81«) B<_GNU_SOURCE> ã\82\92"
-"定義する必要があるかもしれない。"
+"B<O_NOFOLLOW>, B<O_PATH> は Linux 特有のものであり、 これらのフラグの定義を得"
+"ã\82\8bã\81\9fã\82\81ã\81«ã\81¯ã\80\81 (ã\80\8cã\81©ã\81®ã\80\8dã\83\98ã\83\83ã\83\80ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\82¤ã\83³ã\82¯ã\83«ã\83¼ã\83\89ã\81\99ã\82\8bã\82\88ã\82\8aã\82\82å\89\8dã\81«) "
+"B<_GNU_SOURCE> を定義する必要があるかもしれない。"
#. type: Plain text
-#: build/C/man2/open.2:647
+#: build/C/man2/open.2:1025
msgid ""
-"The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified in "
-"POSIX.1-2008."
+"The B<O_CLOEXEC>, B<O_DIRECTORY>, and B<O_NOFOLLOW> flags are not specified "
+"in POSIX.1-2001, but are specified in POSIX.1-2008. Since glibc 2.12, one "
+"can obtain their definitions by defining either B<_POSIX_C_SOURCE> with a "
+"value greater than or equal to 200809L or B<_XOPEN_SOURCE> with a value "
+"greater than or equal to 700. In glibc 2.11 and earlier, one obtains the "
+"definitions by defining B<_GNU_SOURCE>."
msgstr ""
-"B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 で規"
-"定されている。"
#. type: Plain text
-#: build/C/man2/open.2:655
+#: build/C/man2/open.2:1036
msgid ""
-"B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
-"(before including I<any> header files) to get its definition."
+"As noted in B<feature_test_macros>(7), feature test macros such as "
+"B<_POSIX_C_SOURCE>, B<_XOPEN_SOURCE>, and B<_GNU_SOURCE> must be defined "
+"before including I<any> header files."
msgstr ""
-"B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
-"(「どの」ヘッダファイルをインクルードするよりも前に) B<_GNU_SOURCE> を定義し"
-"なければならない。"
#. type: Plain text
-#: build/C/man2/open.2:663
+#: build/C/man2/open.2:1044
msgid ""
"Under Linux, the B<O_NONBLOCK> flag indicates that one wants to open but "
"does not necessarily have the intention to read or write. This is typically "
"ファイルディスクリプタを取得するために、 デバイスをオープンするときによく用い"
"られる。"
-#. See for example util-linux's disk-utils/setfdprm.c
-#. For some background on access mode 3, see
-#. http://thread.gmane.org/gmane.linux.kernel/653123
-#. "[RFC] correct flags to f_mode conversion in __dentry_open"
-#. LKML, 12 Mar 2008
-#. type: Plain text
-#: build/C/man2/open.2:692
-msgid ""
-"Unlike the other values that can be specified in I<flags>, the I<access "
-"mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
-"individual bits. Rather, they define the low order two bits of I<flags>, "
-"and are defined respectively as 0, 1, and 2. In other words, the "
-"combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
-"not have the same meaning as B<O_RDWR>. Linux reserves the special, "
-"nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
-"and write permission on the file and return a descriptor that can't be used "
-"for reading or writing. This nonstandard access mode is used by some Linux "
-"drivers to return a descriptor that is to be used only for device-specific "
-"B<ioctl>(2) operations."
-msgstr ""
-"「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
-"定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
-"I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
-"れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
-"み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
-"では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
-"おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
-"し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
-"プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
-"ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
-"る。"
-
#. Linux 2.0, 2.5: truncate
#. Solaris 5.7, 5.8: truncate
#. Irix 6.5: truncate
#. HP-UX 11.22: truncate
#. FreeBSD 4.7: truncate
#. type: Plain text
-#: build/C/man2/open.2:703
+#: build/C/man2/open.2:1056
msgid ""
"The (undefined) effect of B<O_RDONLY | O_TRUNC> varies among "
"implementations. On many systems the file is actually truncated."
"くのシステムではファイルは実際に切り詰められる。"
#. type: Plain text
-#: build/C/man2/open.2:707
+#: build/C/man2/open.2:1064
msgid ""
-"There are many infelicities in the protocol underlying NFS, affecting "
-"amongst others B<O_SYNC> and B<O_NDELAY>."
+"Note that B<open>() can open device special files, but B<creat>() cannot "
+"create them; use B<mknod>(2) instead."
msgstr ""
-"NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
-"B<O_NDELAY> に影響する。"
+"B<open>() はスペシャルファイルをオープンすることができるが、 B<creat>() で"
+"スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2) を使"
+"用する。"
#. type: Plain text
-#: build/C/man2/open.2:729
+#: build/C/man2/open.2:1085
msgid ""
-"POSIX provides for three different variants of synchronized I/O, "
-"corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>. Currently "
-"(2.6.31), Linux implements only B<O_SYNC>, but glibc maps B<O_DSYNC> and "
-"B<O_RSYNC> to the same numerical value as B<O_SYNC>. Most Linux file "
-"systems don't actually implement the POSIX B<O_SYNC> semantics, which "
-"require all metadata updates of a write to be on disk on returning to user "
-"space, but only the B<O_DSYNC> semantics, which require only actual file "
-"data and metadata necessary to retrieve it to be on disk by the time the "
-"system call returns."
+"If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
+"fields (respectively, time of last access, time of last status change, and "
+"time of last modification; see B<stat>(2)) are set to the current time, and "
+"so are the I<st_ctime> and I<st_mtime> fields of the parent directory. "
+"Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
+"st_ctime and st_mtime fields are set to the current time."
+msgstr ""
+"ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
+"I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
+"時刻である。 B<stat>(2) 参照) が現在時刻に設定される。 さらに親ディレクトリ"
+"の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
+"O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
+"I<st_mtime> フィールドが現在時刻に設定される。"
+
+#. type: SS
+#: build/C/man2/open.2:1085
+#, no-wrap
+msgid "Synchronized I/O"
msgstr ""
-"POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
-"B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル 2.6.31)、 "
-"Linux では B<O_SYNC> だけが実装されているが、 glibc は B<O_DSYNC> と "
-"B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとんどの Linux のファ"
-"イルシステムは、実際には POSIX の B<O_SYNC> の動作ではなく B<O_DSYNC> の動作"
-"だけを実装している。 POSIX の B<O_SYNC> では、 B<open>() がユーザ空間に返る"
-"際に、書き込みに関する全てのメタデータの 更新がディスクに書き込まれている必要"
-"がある。 一方、 B<O_DSYNC> では、 B<open>() が返るまでに、実際のファイルの"
-"データとそのデータを取得するために 必要なメタデータだけがディスクに書き込まれ"
-"ていればよい。"
#. type: Plain text
-#: build/C/man2/open.2:737
+#: build/C/man2/open.2:1100
msgid ""
-"Note that B<open>() can open device special files, but B<creat>() cannot "
-"create them; use B<mknod>(2) instead."
+"The POSIX.1-2008 \"synchronized I/O\" option specifies different variants of "
+"synchronized I/O, and specifies the B<open>() flags B<O_SYNC>, B<O_DSYNC>, "
+"and B<O_RSYNC> for controlling the behavior. Regardless of whether an "
+"implementation supports this option, it must at least support the use of "
+"B<O_SYNC> for regular files."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1111
+msgid ""
+"Linux implements B<O_SYNC> and B<O_DSYNC>, but not B<O_RSYNC>. (Somewhat "
+"incorrectly, glibc defines B<O_RSYNC> to have the same value as B<O_SYNC>.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1129
+msgid ""
+"B<O_SYNC> provides synchronized I/O I<file> integrity completion, meaning "
+"write operations will flush data and all associated metadata to the "
+"underlying hardware. B<O_DSYNC> provides synchronized I/O I<data> integrity "
+"completion, meaning write operations will flush data to the underlying "
+"hardware, but will only flush metadata updates that are required to allow a "
+"subsequent read operation to complete successfully. Data integrity "
+"completion can reduce the number of disk operations that are required for "
+"applications that don't need the guarantees of file integrity completion."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1146
+msgid ""
+"To understand the difference between the the two types of completion, "
+"consider two pieces of file metadata: the file last modification timestamp "
+"(I<st_mtime>) and the file length. All write operations will update the "
+"last file modification timestamp, but only writes that add data to the end "
+"of the file will change the file length. The last modification timestamp is "
+"not needed to ensure that a read completes successfully, but the file length "
+"is. Thus, B<O_DSYNC> would only guarantee to flush updates to the file "
+"length metadata (whereas B<O_SYNC> would also always flush the last "
+"modification timestamp metadata)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1158
+msgid ""
+"Before Linux 2.6.33, Linux implemented only the B<O_SYNC> flag for B<open>"
+"(). However, when that flag was specified, most filesystems actually "
+"provided the equivalent of synchronized I/O I<data> integrity completion (i."
+"e., B<O_SYNC> was actually implemented as the equivalent of B<O_DSYNC>)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1177
+msgid ""
+"Since Linux 2.6.33, proper B<O_SYNC> support is provided. However, to "
+"ensure backward binary compatibility, B<O_DSYNC> was defined with the same "
+"value as the historical B<O_SYNC>, and B<O_SYNC> was defined as a new (two-"
+"bit) flag value that includes the B<O_DSYNC> flag value. This ensures that "
+"applications compiled against new headers get at least B<O_DSYNC> semantics "
+"on pre-2.6.33 kernels."
+msgstr ""
+
+#. type: SS
+#: build/C/man2/open.2:1177
+#, no-wrap
+msgid "NFS"
msgstr ""
-"B<open>() はスペシャルファイルをオープンすることができるが、 B<creat>() で"
-"スペシャルファイルを作成できない点に注意すること。 代わりに B<mknod>(2) を使"
-"用する。"
#. type: Plain text
-#: build/C/man2/open.2:750
+#: build/C/man2/open.2:1181
msgid ""
-"On NFS file systems with UID mapping enabled, B<open>() may return a file "
+"There are many infelicities in the protocol underlying NFS, affecting "
+"amongst others B<O_SYNC> and B<O_NDELAY>."
+msgstr ""
+"NFS を実現しているプロトコルには多くの不備があり、特に B<O_SYNC> と "
+"B<O_NDELAY> に影響する。"
+
+#. type: Plain text
+#: build/C/man2/open.2:1196
+msgid ""
+"On NFS filesystems with UID mapping enabled, B<open>() may return a file "
"descriptor but, for example, B<read>(2) requests are denied with "
"B<EACCES>. This is because the client performs B<open>() by checking the "
"permissions, but UID mapping is performed by the server upon read and write "
"が、読み込みや書き込みの際には サーバーで UID マッピングが行われるためであ"
"る。"
+#. type: SS
+#: build/C/man2/open.2:1196
+#, no-wrap
+msgid "File access mode"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1211
+#, fuzzy
+#| msgid ""
+#| "Unlike the other values that can be specified in I<flags>, the I<access "
+#| "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
+#| "individual bits. Rather, they define the low order two bits of I<flags>, "
+#| "and are defined respectively as 0, 1, and 2. In other words, the "
+#| "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
+#| "not have the same meaning as B<O_RDWR>. Linux reserves the special, "
+#| "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
+#| "and write permission on the file and return a descriptor that can't be "
+#| "used for reading or writing. This nonstandard access mode is used by "
+#| "some Linux drivers to return a descriptor that is to be used only for "
+#| "device-specific B<ioctl>(2) operations."
+msgid ""
+"Unlike the other values that can be specified in I<flags>, the I<access "
+"mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR> do not specify "
+"individual bits. Rather, they define the low order two bits of I<flags>, "
+"and are defined respectively as 0, 1, and 2. In other words, the "
+"combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
+"not have the same meaning as B<O_RDWR>."
+msgstr ""
+"「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
+"定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
+"I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
+"れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
+"み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
+"では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
+"おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
+"し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
+"プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
+"ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
+"る。"
+
+#. See for example util-linux's disk-utils/setfdprm.c
+#. For some background on access mode 3, see
+#. http://thread.gmane.org/gmane.linux.kernel/653123
+#. "[RFC] correct flags to f_mode conversion in __dentry_open"
+#. LKML, 12 Mar 2008
+#. type: Plain text
+#: build/C/man2/open.2:1228
+#, fuzzy
+#| msgid ""
+#| "Unlike the other values that can be specified in I<flags>, the I<access "
+#| "mode> values B<O_RDONLY>, B<O_WRONLY>, and B<O_RDWR>, do not specify "
+#| "individual bits. Rather, they define the low order two bits of I<flags>, "
+#| "and are defined respectively as 0, 1, and 2. In other words, the "
+#| "combination B<O_RDONLY | O_WRONLY> is a logical error, and certainly does "
+#| "not have the same meaning as B<O_RDWR>. Linux reserves the special, "
+#| "nonstandard access mode 3 (binary 11) in I<flags> to mean: check for read "
+#| "and write permission on the file and return a descriptor that can't be "
+#| "used for reading or writing. This nonstandard access mode is used by "
+#| "some Linux drivers to return a descriptor that is to be used only for "
+#| "device-specific B<ioctl>(2) operations."
+msgid ""
+"Linux reserves the special, nonstandard access mode 3 (binary 11) in "
+"I<flags> to mean: check for read and write permission on the file and return "
+"a descriptor that can't be used for reading or writing. This nonstandard "
+"access mode is used by some Linux drivers to return a descriptor that is to "
+"be used only for device-specific B<ioctl>(2) operations."
+msgstr ""
+"「アクセスモード」の値 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> は、 I<flags> に指"
+"定できる他の値と違い、個々のビットを指定するものではなく、 これらの値は "
+"I<flags> の下位 2 ビットを定義する。 B<O_RDONLY>, B<O_WRONLY>, B<O_RDWR> はそ"
+"れぞれ 0, 1, 2 に定義されている。 言い換えると、 B<O_RDONLY | O_WRONLY> の組"
+"み合わせは論理的に間違いであり、確かに B<O_RDWR> と同じ意味ではない。 Linux "
+"では、特別な、非標準なアクセスモードとして 3 (バイナリでは 11) が 予約されて"
+"おり I<flags> に指定できる。 このアクセスモードを指定すると、ファイルの読み出"
+"し/書き込み許可をチェックし、 読み出しにも書き込みにも使用できないディスクリ"
+"プタを返す。 この非標準のアクセスモードはいくつかの Linux ドライバで、デバイ"
+"ス固有の B<ioctl>(2) 操作にのみ使用されるディスクリプタを返すために使われてい"
+"る。"
+
+#. type: SS
+#: build/C/man2/open.2:1228
+#, no-wrap
+msgid "Rationale for openat() and other directory file descriptor APIs"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1256
+msgid ""
+"B<openat>() and the other system calls and library functions that take a "
+"directory file descriptor argument (i.e., B<faccessat>(2), B<fanotify_mark>"
+"(2), B<fchmodat>(2), B<fchownat>(2), B<fstatat>(2), B<futimesat>(2), "
+"B<linkat>(2), B<mkdirat>(2), B<mknodat>(2), B<name_to_handle_at>(2), "
+"B<readlinkat>(2), B<renameat>(2), B<symlinkat>(2), B<unlinkat>(2), "
+"B<utimensat>(2) B<mkfifoat>(3), and B<scandirat>(3)) are supported for two "
+"reasons. Here, the explanation is in terms of the B<openat>() call, but "
+"the rationale is analogous for the other interfaces."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1274
+msgid ""
+"First, B<openat>() allows an application to avoid race conditions that "
+"could occur when using B<open>() to open files in directories other than "
+"the current working directory. These race conditions result from the fact "
+"that some component of the directory prefix given to B<open>() could be "
+"changed in parallel with the call to B<open>(). Such races can be avoided "
+"by opening a file descriptor for the target directory, and then specifying "
+"that file descriptor as the I<dirfd> argument of B<openat>()."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/open.2:769
+#: build/C/man2/open.2:1285
msgid ""
-"If the file is newly created, its I<st_atime>, I<st_ctime>, I<st_mtime> "
-"fields (respectively, time of last access, time of last status change, and "
-"time of last modification; see B<stat>(2)) are set to the current time, and "
-"so are the I<st_ctime> and I<st_mtime> fields of the parent directory. "
-"Otherwise, if the file is modified because of the B<O_TRUNC> flag, its "
-"st_ctime and st_mtime fields are set to the current time."
+"Second, B<openat>() allows the implementation of a per-thread \"current "
+"working directory\", via file descriptor(s) maintained by the application. "
+"(This functionality can also be obtained by tricks based on the use of I</"
+"proc/self/fd/>dirfd, but less efficiently.)"
msgstr ""
-"ファイルが新しく作成されると、 ファイルの I<st_atime>, I<st_ctime>, "
-"I<st_mtime> フィールド (それぞれ最終アクセス時刻、最終状態変更時刻、最終修正"
-"時刻である。 B<stat>(2) 参照) が現在時刻に設定される。 さらに親ディレクトリ"
-"の I<st_ctime> と I<st_mtime> も現在時刻に設定される。 それ以外の場合で、"
-"O_TRUNC フラグでファイルが修正されたときは、 ファイルの I<st_ctime> と "
-"I<st_mtime> フィールドが現在時刻に設定される。"
#. type: SS
-#: build/C/man2/open.2:769
+#: build/C/man2/open.2:1285
#, no-wrap
msgid "O_DIRECT"
msgstr "O_DIRECT"
#. type: Plain text
-#: build/C/man2/open.2:786
+#: build/C/man2/open.2:1302
msgid ""
"The B<O_DIRECT> flag may impose alignment restrictions on the length and "
"address of user-space buffers and the file offset of I/Os. In Linux "
-"alignment restrictions vary by file system and kernel version and might be "
-"absent entirely. However there is currently no file system-independent "
+"alignment restrictions vary by filesystem and kernel version and might be "
+"absent entirely. However there is currently no filesystem-independent "
"interface for an application to discover these restrictions for a given file "
-"or file system. Some file systems provide their own interfaces for doing "
-"so, for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
+"or filesystem. Some filesystems provide their own interfaces for doing so, "
+"for example the B<XFS_IOC_DIOINFO> operation in B<xfsctl>(3)."
msgstr ""
"B<O_DIRECT> フラグを使用する場合、ユーザ空間バッファの長さやアドレス、 I/O の"
"ファイルオフセットに関してアラインメントの制限が課されることがある。 Linux で"
"が 提供されている。例えば、 B<xfsctl>(3) の B<XFS_IOC_DIOINFO> 命令である。"
#. type: Plain text
-#: build/C/man2/open.2:791
+#: build/C/man2/open.2:1307
msgid ""
"Under Linux 2.4, transfer sizes, and the alignment of the user buffer and "
-"the file offset must all be multiples of the logical block size of the file "
-"system. Under Linux 2.6, alignment to 512-byte boundaries suffices."
+"the file offset must all be multiples of the logical block size of the "
+"filesystem. Under Linux 2.6, alignment to 512-byte boundaries suffices."
msgstr ""
"Linux 2.4 では、転送サイズ、 ユーザーバッファのアラインメント、ファイルオフ"
"セットは、 ファイルシステムの論理ブロックサイズの倍数でなければならない。 "
"Linux 2.6 では、512 バイトごとの境界に配置されていれば充分である。"
#. type: Plain text
-#: build/C/man2/open.2:825
+#: build/C/man2/open.2:1341
msgid ""
"B<O_DIRECT> I/Os should never be run concurrently with the B<fork>(2) "
"system call, if the memory buffer is a private mapping (i.e., any mapping "
"のである)。"
#. type: Plain text
-#: build/C/man2/open.2:835
+#: build/C/man2/open.2:1351
msgid ""
"The B<O_DIRECT> flag was introduced in SGI IRIX, where it has alignment "
"restrictions similar to those of Linux 2.4. IRIX has also a B<fcntl>(2) "
"ラグを導入したが、アラインメントの制限はない。"
#. type: Plain text
-#: build/C/man2/open.2:844
+#: build/C/man2/open.2:1360
msgid ""
"B<O_DIRECT> support was added under Linux in kernel version 2.4.10. Older "
-"Linux kernels simply ignore this flag. Some file systems may not implement "
+"Linux kernels simply ignore this flag. Some filesystems may not implement "
"the flag and B<open>() will fail with B<EINVAL> if it is used."
msgstr ""
"B<O_DIRECT> が Linux でサポートされたのは、カーネルバージョン 2.4.10 であ"
"と B<open>() は B<EINVAL> で失敗する。"
#. type: Plain text
-#: build/C/man2/open.2:855
+#: build/C/man2/open.2:1371
msgid ""
"Applications should avoid mixing B<O_DIRECT> and normal I/O to the same "
"file, and especially to overlapping byte regions in the same file. Even "
-"when the file system correctly handles the coherency issues in this "
+"when the filesystem correctly handles the coherency issues in this "
"situation, overall I/O throughput is likely to be slower than using either "
"mode alone. Likewise, applications should avoid mixing B<mmap>(2) of files "
"with direct I/O to the same files."
"I/O (B<O_DIRECT>) を混ぜて使うのも避けるべきである。"
#. type: Plain text
-#: build/C/man2/open.2:877
+#: build/C/man2/open.2:1393
msgid ""
-"The behaviour of B<O_DIRECT> with NFS will differ from local file systems. "
+"The behaviour of B<O_DIRECT> with NFS will differ from local filesystems. "
"Older kernels, or kernels configured in certain ways, may not support this "
"combination. The NFS protocol does not support passing the flag to the "
"server, so B<O_DIRECT> I/O will bypass the page cache only on the client; "
"の NFS クライアントでは B<O_DIRECT> I/O でのアラインメントの制限はない。"
#. type: Plain text
-#: build/C/man2/open.2:884
+#: build/C/man2/open.2:1400
msgid ""
"In summary, B<O_DIRECT> is a potentially powerful tool that should be used "
"with caution. It is recommended that applications treat use of B<O_DIRECT> "
"いる性能向上のためのオプションと 考えておくのがよいであろう。"
#. type: Plain text
-#: build/C/man2/open.2:889
+#: build/C/man2/open.2:1405
msgid ""
"\"The thing that has always disturbed me about O_DIRECT is that the whole "
"interface is just stupid, and was probably designed by a deranged monkey on "
#. FIXME . Check bugzilla report on open(O_ASYNC)
#. See http://bugzilla.kernel.org/show_bug.cgi?id=5993
#. type: Plain text
-#: build/C/man2/open.2:901
+#: build/C/man2/open.2:1417
msgid ""
"Currently, it is not possible to enable signal-driven I/O by specifying "
"B<O_ASYNC> when calling B<open>(); use B<fcntl>(2) to enable this flag."
"すること。"
#. type: Plain text
-#: build/C/man2/open.2:923
+#: build/C/man2/open.2:1425
+msgid ""
+"One must check for two different error codes, B<EISDIR> and B<ENOENT>, when "
+"trying to determine whether the kernel supports B<O_TMPFILE> functionality."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/open.2:1446
+#, fuzzy
+#| msgid ""
+#| "B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>"
+#| "(2), B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), "
+#| "B<read>(2), B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>"
+#| "(2), B<fopen>(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
msgid ""
"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
-"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
-"B<socket>(2), B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>"
-"(3), B<fifo>(7), B<path_resolution>(7), B<symlink>(7)"
+"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<read>(2), B<socket>(2), "
+"B<stat>(2), B<umask>(2), B<unlink>(2), B<write>(2), B<fopen>(3), B<fifo>(7), "
+"B<path_resolution>(7), B<symlink>(7)"
msgstr ""
"B<chmod>(2), B<chown>(2), B<close>(2), B<dup>(2), B<fcntl>(2), B<link>(2), "
"B<lseek>(2), B<mknod>(2), B<mmap>(2), B<mount>(2), B<openat>(2), B<read>(2), "
#. type: TH
#: build/C/man2/pipe.2:36
-#, no-wrap
-msgid "2012-02-14"
+#, fuzzy, no-wrap
+#| msgid "2012-02-14"
+msgid "2014-02-11"
msgstr "2012-02-14"
#. type: Plain text
msgstr "pipe, pipe2 - パイプを生成する"
#. type: Plain text
-#: build/C/man2/pipe.2:42 build/C/man2/read.2:41
-#, no-wrap
-msgid "B<#include E<lt>unistd.hE<gt>>\n"
-msgstr "B<#include E<lt>unistd.hE<gt>>\n"
-
-#. type: Plain text
#: build/C/man2/pipe.2:44
#, no-wrap
msgid "B<int pipe(int >I<pipefd>B<[2]);>\n"
#. type: TP
#: build/C/man2/pipe.2:76
#, no-wrap
-msgid "B<O_NONBLOCK>"
-msgstr "B<O_NONBLOCK>"
+msgid "B<O_CLOEXEC>"
+msgstr "B<O_CLOEXEC>"
#. type: Plain text
#: build/C/man2/pipe.2:84
msgid ""
-"Set the B<O_NONBLOCK> file status flag on the two new open file "
-"descriptions. Using this flag saves extra calls to B<fcntl>(2) to achieve "
-"the same result."
+"Set the close-on-exec (B<FD_CLOEXEC>) flag on the two new file "
+"descriptors. See the description of the same flag in B<open>(2) for "
+"reasons why this may be useful."
msgstr ""
-"新しく生成される二つのオープンファイル記述 (open file description) の "
-"B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
-"で、 B<O_NONBLOCK> をセットするために B<fcntl>(2) を追加で呼び出す必要がなく"
-"なる。"
+"新しく生成される二つのファイルディスクリプタの close-on-exec "
+"(B<FD_CLOEXEC>) フラグをセットする。 このフラグが役に立つ理由については、 "
+"B<open>(2) の B<O_CLOEXEC> フラグの説明を参照のこと。"
#. type: TP
#: build/C/man2/pipe.2:84
+#, fuzzy, no-wrap
+#| msgid "B<O_DIRECT> (Since Linux 2.4.10)"
+msgid "B<O_DIRECT> (since Linux 3.4)"
+msgstr "B<O_DIRECT> (Linux 2.4.10 以降)"
+
+#. commit 9883035ae7edef3ec62ad215611cb8e17d6a1a5d
+#. type: Plain text
+#: build/C/man2/pipe.2:94
+msgid ""
+"Create a pipe that performs I/O in \"packet\" mode. Each B<write>(2) to "
+"the pipe is dealt with as a separate packet, and B<read>(2)s from the pipe "
+"will read one packet at a time. Note the following points:"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/pipe.2:101
+msgid ""
+"Writes of greater than B<PIPE_BUF> bytes (see B<pipe>(7)) will be split "
+"into multiple packets."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/pipe.2:111
+msgid ""
+"If a B<read>(2) specifies a buffer size that is smaller than the next "
+"packet, then the requested number of bytes are read, and the excess bytes in "
+"the packet are discarded. Specifying a buffer size of B<PIPE_BUF> will be "
+"sufficient to read the largest possible packets (see the previous point)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/pipe.2:116
+msgid ""
+"Zero-length packets are not supported. (A B<read>(2) that specifies a "
+"buffer size of zero is a no-op, and returns 0.)"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/pipe.2:121
+msgid ""
+"Older kernels that do not support this flag will indicate this via an "
+"B<EINVAL> error."
+msgstr ""
+
+#. type: TP
+#: build/C/man2/pipe.2:121
#, no-wrap
-msgid "B<O_CLOEXEC>"
-msgstr "B<O_CLOEXEC>"
+msgid "B<O_NONBLOCK>"
+msgstr "B<O_NONBLOCK>"
#. type: Plain text
-#: build/C/man2/pipe.2:92
+#: build/C/man2/pipe.2:129
msgid ""
-"Set the close-on-exec (B<FD_CLOEXEC>) flag on the two new file "
-"descriptors. See the description of the same flag in B<open>(2) for "
-"reasons why this may be useful."
+"Set the B<O_NONBLOCK> file status flag on the two new open file "
+"descriptions. Using this flag saves extra calls to B<fcntl>(2) to achieve "
+"the same result."
msgstr ""
-"新しく生成される二つのファイルディスクリプタの close-on-exec "
-"(B<FD_CLOEXEC>) フラグをセットする。 このフラグが役に立つ理由については、 "
-"B<open>(2) の B<O_CLOEXEC> フラグの説明を参照のこと。"
+"新しく生成される二つのオープンファイル記述 (open file description) の "
+"B<O_NONBLOCK> ファイルステータスフラグをセットする。 このフラグを使うこと"
+"で、 B<O_NONBLOCK> をセットするために B<fcntl>(2) を追加で呼び出す必要がなく"
+"なる。"
#. type: Plain text
-#: build/C/man2/pipe.2:102
+#: build/C/man2/pipe.2:139
msgid "I<pipefd> is not valid."
msgstr "I<pipefd> が無効な値である。"
#. type: Plain text
-#: build/C/man2/pipe.2:107
+#: build/C/man2/pipe.2:144
msgid "(B<pipe2>()) Invalid value in I<flags>."
msgstr "(B<pipe2>()) I<flags> に無効な値が入っている。"
#. type: Plain text
-#: build/C/man2/pipe.2:110
+#: build/C/man2/pipe.2:147
msgid "Too many file descriptors are in use by the process."
msgstr "このプロセスで使われているファイルディスクリプタが多すぎる。"
#. type: Plain text
-#: build/C/man2/pipe.2:118
+#: build/C/man2/pipe.2:155
msgid ""
"B<pipe2>() was added to Linux in version 2.6.27; glibc support is available "
"starting with version 2.9."
"はバージョン 2.9 以降で利用できる。"
#. type: Plain text
-#: build/C/man2/pipe.2:121
+#: build/C/man2/pipe.2:158
msgid "B<pipe>(): POSIX.1-2001."
msgstr "B<pipe>(): POSIX.1-2001."
#. type: Plain text
-#: build/C/man2/pipe.2:124
+#: build/C/man2/pipe.2:161
msgid "B<pipe2>() is Linux-specific."
msgstr "B<pipe2>() は Linux 固有である。"
#. fork.2 refers to this example program.
#. type: Plain text
-#: build/C/man2/pipe.2:140
+#: build/C/man2/pipe.2:177
msgid ""
"The following program creates a pipe, and then B<fork>(2)s to create a child "
"process; the child inherits a duplicate set of file descriptors that refer "
"ら 1 バイトずつ読み込んで標準出力にエコーする。"
#. type: Plain text
-#: build/C/man2/pipe.2:147
-#, no-wrap
+#: build/C/man2/pipe.2:185
+#, fuzzy, no-wrap
+#| msgid ""
+#| "#include E<lt>sys/wait.hE<gt>\n"
+#| "#include E<lt>stdio.hE<gt>\n"
+#| "#include E<lt>stdlib.hE<gt>\n"
+#| "#include E<lt>unistd.hE<gt>\n"
+#| "#include E<lt>string.hE<gt>\n"
msgid ""
+"#include E<lt>sys/types.hE<gt>\n"
"#include E<lt>sys/wait.hE<gt>\n"
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>string.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/pipe.2:154
+#: build/C/man2/pipe.2:192
#, no-wrap
msgid ""
"int\n"
" char buf;\n"
#. type: Plain text
-#: build/C/man2/pipe.2:159
-#, no-wrap
+#: build/C/man2/pipe.2:197
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (argc != 2) {\n"
+#| " fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
msgid ""
" if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+" fprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
" if (argc != 2) {\n"
-"\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
-"\texit(EXIT_FAILURE);\n"
+" fprintf(stderr, \"Usage: %s E<lt>pathnameE<gt>\\en\", argv[0]);\n"
+" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
-#: build/C/man2/pipe.2:164
+#: build/C/man2/pipe.2:202
#, no-wrap
msgid ""
" if (pipe(pipefd) == -1) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/pipe.2:170
+#: build/C/man2/pipe.2:208
#, no-wrap
msgid ""
" cpid = fork();\n"
" }\n"
#. type: Plain text
-#: build/C/man2/pipe.2:173
+#: build/C/man2/pipe.2:211
#, no-wrap
msgid ""
" if (cpid == 0) { /* Child reads from pipe */\n"
" close(pipefd[1]); /* 使用しない write 側はクローズする */\n"
#. type: Plain text
-#: build/C/man2/pipe.2:176
+#: build/C/man2/pipe.2:214
#, no-wrap
msgid ""
" while (read(pipefd[0], &buf, 1) E<gt> 0)\n"
" write(STDOUT_FILENO, &buf, 1);\n"
#. type: Plain text
-#: build/C/man2/pipe.2:180
+#: build/C/man2/pipe.2:218
#, no-wrap
msgid ""
" write(STDOUT_FILENO, \"\\en\", 1);\n"
" _exit(EXIT_SUCCESS);\n"
#. type: Plain text
-#: build/C/man2/pipe.2:189
+#: build/C/man2/pipe.2:227
#, no-wrap
msgid ""
" } else { /* Parent writes argv[1] to pipe */\n"
"}\n"
#. type: Plain text
-#: build/C/man2/pipe.2:197
+#: build/C/man2/pipe.2:235
msgid ""
"B<fork>(2), B<read>(2), B<socketpair>(2), B<write>(2), B<popen>(3), B<pipe>"
"(7)"
msgid ""
"The B<pclose>() function returns -1 if B<wait4>(2) returns an error, or "
"some other error is detected. In the event of an error, these functions set "
-"I<errnro> to indicate the cause of the error."
+"I<errno> to indicate the cause of the error."
msgstr ""
"B<pclose>() 関数は、 B<wait4>(2) がエラーを返したり、何か他のエラーが見つ"
"かった場合、 -1 を返す。 その場合、 I<errno> にエラーの原因を示す値が設定され"
#. type: TH
#: build/C/man3/printf.3:34
-#, no-wrap
-msgid "2013-03-05"
-msgstr "2013-03-05"
+#, fuzzy, no-wrap
+#| msgid "2013-01-30"
+msgid "2013-12-30"
+msgstr "2013-01-30"
#. type: Plain text
#: build/C/man3/printf.3:38
#. type: Plain text
#: build/C/man3/printf.3:171
+#, fuzzy
+#| msgid ""
+#| "The functions B<snprintf>() and B<vsnprintf>() do not write more than "
+#| "I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)). If "
+#| "the output was truncated due to this limit then the return value is the "
+#| "number of characters (excluding the terminating null byte) which would "
+#| "have been written to the final string if enough space had been "
+#| "available. Thus, a return value of I<size> or more means that the output "
+#| "was truncated. (See also below under NOTES.)"
msgid ""
"The functions B<snprintf>() and B<vsnprintf>() do not write more than "
"I<size> bytes (including the terminating null byte (\\(aq\\e0\\(aq)). If "
-"the output was truncated due to this limit then the return value is the "
+"the output was truncated due to this limit, then the return value is the "
"number of characters (excluding the terminating null byte) which would have "
"been written to the final string if enough space had been available. Thus, "
"a return value of I<size> or more means that the output was truncated. (See "
msgstr "精度"
#. type: Plain text
-#: build/C/man3/printf.3:440
+#: build/C/man3/printf.3:441
msgid ""
"An optional precision, in the form of a period (\\(aq.\\(aq) followed by an "
"optional decimal digit string. Instead of a decimal digit string one may "
"write \"*\" or \"*m$\" (for some decimal integer m) to specify that the "
"precision is given in the next argument, or in the m-th argument, "
"respectively, which must be of type I<int>. If the precision is given as "
-"just \\(aq.\\(aq, or the precision is negative, the precision is taken to be "
-"zero. This gives the minimum number of digits to appear for B<d>, B<i>, "
-"B<o>, B<u>, B<x>, and B<X> conversions, the number of digits to appear after "
-"the radix character for B<a>, B<A>, B<e>, B<E>, B<f>, and B<F> conversions, "
-"the maximum number of significant digits for B<g> and B<G> conversions, or "
-"the maximum number of characters to be printed from a string for B<s> and "
-"B<S> conversions."
+"just \\(aq.\\(aq, the precision is taken to be zero. A negative precision "
+"is taken as if the precision were omitted. This gives the minimum number of "
+"digits to appear for B<d>, B<i>, B<o>, B<u>, B<x>, and B<X> conversions, the "
+"number of digits to appear after the radix character for B<a>, B<A>, B<e>, "
+"B<E>, B<f>, and B<F> conversions, the maximum number of significant digits "
+"for B<g> and B<G> conversions, or the maximum number of characters to be "
+"printed from a string for B<s> and B<S> conversions."
msgstr ""
"オプションである精度は、ピリオド (\\(aq.\\(aq) とそれに続く10進数という 形式"
"で指定する (10進数はオプション) 。 10進数の文字列の代わりに \"*\" や \"*m$"
"\" (m は 10 進整数)を書くこともできる。 \"*\" と \"*m$\" はそれぞれ、次の引き"
"数と m 番目の引き数を精度として 使うことを指定する (これらの引き数は I<int> "
-"型でなければならない)。 精度として \\(aq.\\(aq だけが指定されたり、精度が負の"
-"数だった場合、 精度はゼロとみなされる。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変"
-"換では、表示される最小の桁数を指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> "
-"変換では、小数点以下に表示される数字の桁数を指定する。 B<g> と B<G> 変換で"
-"ã\81¯ã\80\81æ\9c\89å\8a¹æ\95°å\97ã\81®æ\9c\80大æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 B<s> ã\81¨ B<S> å¤\89æ\8f\9bã\81§ã\81¯ã\80\81æ\96\87å\97å\88\97ã\81\8bã\82\89å\87ºå\8a\9bã\81\95ã\82\8c"
-"る最大文字数を指定する。"
+"型でなければならない)。 精度として \\(aq.\\(aq だけが指定された場合、 精度は"
+"ゼロとみなされる。 精度が負の数だった場合、 精度は指定されなかったものとみな"
+"される。 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換では、表示される最小の桁数を"
+"指定する。 B<a>, B<A>, B<e>, B<E>, B<f>, B<F> 変換では、小数点以下に表示され"
+"ã\82\8bæ\95°å\97ã\81®æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99ã\82\8bã\80\82 B<g> ã\81¨ B<G> å¤\89æ\8f\9bã\81§ã\81¯ã\80\81æ\9c\89å\8a¹æ\95°å\97ã\81®æ\9c\80大æ¡\81æ\95°ã\82\92æ\8c\87å®\9aã\81\99"
+"る。 B<s> と B<S> 変換では、文字列から出力される最大文字数を指定する。"
#. type: SS
-#: build/C/man3/printf.3:440
+#: build/C/man3/printf.3:441
#, no-wrap
msgid "The length modifier"
msgstr "長さ修飾子"
#. type: Plain text
-#: build/C/man3/printf.3:450
+#: build/C/man3/printf.3:451
msgid ""
"Here, \"integer conversion\" stands for B<d>, B<i>, B<o>, B<u>, B<x>, or "
"B<X> conversion."
"「整数変換」とは、 B<d>, B<i>, B<o>, B<u>, B<x>, B<X> 変換のことである。"
#. type: TP
-#: build/C/man3/printf.3:450 build/C/man3/scanf.3:294
+#: build/C/man3/printf.3:451 build/C/man3/scanf.3:294
#, no-wrap
msgid "B<hh>"
msgstr "B<hh>"
#. type: Plain text
-#: build/C/man3/printf.3:461
+#: build/C/man3/printf.3:462
msgid ""
"A following integer conversion corresponds to a I<signed char> or I<unsigned "
"char> argument, or a following B<n> conversion corresponds to a pointer to a "
"に対応する引き数が I<signed char> へのポインタであることを示す。"
#. type: TP
-#: build/C/man3/printf.3:461 build/C/man3/scanf.3:284
+#: build/C/man3/printf.3:462 build/C/man3/scanf.3:284
#, no-wrap
msgid "B<h>"
msgstr "B<h>"
#. type: Plain text
-#: build/C/man3/printf.3:472
+#: build/C/man3/printf.3:473
msgid ""
"A following integer conversion corresponds to a I<short int> or I<unsigned "
"short int> argument, or a following B<n> conversion corresponds to a pointer "
"換に対応する引き数が I<short int> へのポインタであることを示す。"
#. type: TP
-#: build/C/man3/printf.3:472 build/C/man3/scanf.3:311
+#: build/C/man3/printf.3:473 build/C/man3/scanf.3:311
#, no-wrap
msgid "B<l>"
msgstr "B<l>"
#. type: Plain text
-#: build/C/man3/printf.3:491
+#: build/C/man3/printf.3:492
msgid ""
"(ell) A following integer conversion corresponds to a I<long int> or "
"I<unsigned long int> argument, or a following B<n> conversion corresponds to "
"変換では I<wchar_t> へのポインタであることを示す。"
#. type: TP
-#: build/C/man3/printf.3:491
+#: build/C/man3/printf.3:492
#, no-wrap
msgid "B<ll>"
msgstr "B<ll> (エルエル)"
#. type: Plain text
-#: build/C/man3/printf.3:503
+#: build/C/man3/printf.3:504
msgid ""
"(ell-ell). A following integer conversion corresponds to a I<long long int> "
"or I<unsigned long long int> argument, or a following B<n> conversion "
"で、 B<n> 変換に対応する引き数が I<long int> へのポインタであることを示す。"
#. type: TP
-#: build/C/man3/printf.3:503 build/C/man3/scanf.3:338
+#: build/C/man3/printf.3:504 build/C/man3/scanf.3:338
#, no-wrap
msgid "B<L>"
msgstr "B<L>"
#. type: Plain text
-#: build/C/man3/printf.3:519
+#: build/C/man3/printf.3:520
msgid ""
"A following B<a>, B<A>, B<e>, B<E>, B<f>, B<F>, B<g>, or B<G> conversion "
"corresponds to a I<long double> argument. (C99 allows %LF, but SUSv2 does "
"認められていない。)"
#. type: TP
-#: build/C/man3/printf.3:519 build/C/man3/scanf.3:354
+#: build/C/man3/printf.3:520 build/C/man3/scanf.3:354
#, no-wrap
msgid "B<q>"
msgstr "B<q>"
#. type: Plain text
-#: build/C/man3/printf.3:525
+#: build/C/man3/printf.3:526
msgid ""
"(\"quad\". 4.4BSD and Linux libc5 only. Don't use.) This is a synonym for "
"B<ll>."
"意味である。"
#. type: TP
-#: build/C/man3/printf.3:525 build/C/man3/scanf.3:302
+#: build/C/man3/printf.3:526 build/C/man3/scanf.3:302
#, no-wrap
msgid "B<j>"
msgstr "B<j>"
#. type: Plain text
-#: build/C/man3/printf.3:532
+#: build/C/man3/printf.3:533
msgid ""
"A following integer conversion corresponds to an I<intmax_t> or I<uintmax_t> "
"argument."
"整数変換に対応する引き数が I<intmax_t> か I<uintmax_t> であることを示す。"
#. type: TP
-#: build/C/man3/printf.3:532 build/C/man3/scanf.3:366
+#: build/C/man3/printf.3:533 build/C/man3/scanf.3:366
#, no-wrap
msgid "B<z>"
msgstr "B<z>"
#. type: Plain text
-#: build/C/man3/printf.3:543
+#: build/C/man3/printf.3:544
msgid ""
"A following integer conversion corresponds to a I<size_t> or I<ssize_t> "
"argument. (Linux libc5 has B<Z> with this meaning. Don't use it.)"
"libc5 では、これを指定するのに B<Z> を用いる。使ってはならない。)"
#. type: TP
-#: build/C/man3/printf.3:543 build/C/man3/scanf.3:359
+#: build/C/man3/printf.3:544 build/C/man3/scanf.3:359
#, no-wrap
msgid "B<t>"
msgstr "B<t>"
#. type: Plain text
-#: build/C/man3/printf.3:548
+#: build/C/man3/printf.3:549
msgid "A following integer conversion corresponds to a I<ptrdiff_t> argument."
msgstr "整数変換に対応する引き数が I<ptrdiff_t> であることを示す。"
#. type: Plain text
-#: build/C/man3/printf.3:577
+#: build/C/man3/printf.3:578
msgid ""
"The SUSv2 knows about only the length modifiers B<h> (in B<hd>, B<hi>, "
"B<ho>, B<hx>, B<hX>, B<hn>) and B<l> (in B<ld>, B<li>, B<lo>, B<lx>, B<lX>, "
"B<ls>), B<L> (B<Le>, B<LE>, B<Lf>, B<Lg>, B<LG>) だけである。"
#. type: SS
-#: build/C/man3/printf.3:577
+#: build/C/man3/printf.3:578
#, no-wrap
msgid "The conversion specifier"
msgstr "変換指定子"
#. type: Plain text
-#: build/C/man3/printf.3:580
+#: build/C/man3/printf.3:581
msgid ""
"A character that specifies the type of conversion to be applied. The "
"conversion specifiers and their meanings are:"
"適用される変換の型を指定する文字。 変換指定子とその意味は以下の通りである。"
#. type: TP
-#: build/C/man3/printf.3:580
+#: build/C/man3/printf.3:581
#, no-wrap
msgid "B<d>, B<i>"
msgstr "B<d>, B<i>"
#. type: Plain text
-#: build/C/man3/printf.3:590
+#: build/C/man3/printf.3:591
msgid ""
"The I<int> argument is converted to signed decimal notation. The precision, "
"if any, gives the minimum number of digits that must appear; if the "
"的に精度として 0 が指定されていると、 出力は空文字列となる。"
#. type: TP
-#: build/C/man3/printf.3:590
+#: build/C/man3/printf.3:591
#, no-wrap
msgid "B<o>, B<u>, B<x>, B<X>"
msgstr "B<o>, B<u>, B<x>, B<X>"
#. type: Plain text
-#: build/C/man3/printf.3:617
+#: build/C/man3/printf.3:618
msgid ""
"The I<unsigned int> argument is converted to unsigned octal (B<o>), unsigned "
"decimal (B<u>), or unsigned hexadecimal (B<x> and B<X>) notation. The "
"られる。"
#. type: TP
-#: build/C/man3/printf.3:617
+#: build/C/man3/printf.3:618
#, no-wrap
msgid "B<e>, B<E>"
msgstr "B<e>, B<E>"
#. type: Plain text
-#: build/C/man3/printf.3:636
+#: build/C/man3/printf.3:637
msgid ""
"The I<double> argument is rounded and converted in the style [-]dB<\\&."
">dddB<e>\\(+-dd where there is one digit before the decimal-point character "
"指数の値が 0 の場合には、00 と表示される。"
#. type: TP
-#: build/C/man3/printf.3:636
+#: build/C/man3/printf.3:637
#, no-wrap
msgid "B<f>, B<F>"
msgstr "B<f>, B<F>"
#. type: Plain text
-#: build/C/man3/printf.3:647
+#: build/C/man3/printf.3:648
msgid ""
"The I<double> argument is rounded and converted to decimal notation in the "
"style [-]dddB<\\&.>ddd, where the number of digits after the decimal-point "
"ない。 小数点を表示する際には、小数点の前に少なくとも一桁は数字が表示される。"
#. type: Plain text
-#: build/C/man3/printf.3:658
+#: build/C/man3/printf.3:659
msgid ""
"(The SUSv2 does not know about B<F> and says that character string "
"representations for infinity and NaN may be made available. The C99 "
"B<F> 変換の場合は \"[-]INF\", \"[-]INFINITY\", \"NAN*\" と表示される。)"
#. type: TP
-#: build/C/man3/printf.3:658
+#: build/C/man3/printf.3:659
#, no-wrap
msgid "B<g>, B<G>"
msgstr "B<g>, B<G>"
#. type: Plain text
-#: build/C/man3/printf.3:683
+#: build/C/man3/printf.3:684
msgid ""
"The I<double> argument is converted in style B<f> or B<e> (or B<F> or B<E> "
"for B<G> conversions). The precision specifies the number of significant "
"一つある場合にだけである。"
#. type: TP
-#: build/C/man3/printf.3:683
+#: build/C/man3/printf.3:684
#, no-wrap
msgid "B<a>, B<A>"
msgstr "B<a>, B<A>"
#. type: Plain text
-#: build/C/man3/printf.3:707
+#: build/C/man3/printf.3:708
msgid ""
"(C99; not in SUSv2) For B<a> conversion, the I<double> argument is converted "
"to hexadecimal notation (using the letters abcdef) in the style [-]B<0x>hB<"
"場合は、 0 以外の値になるが、いくつになるかは分からない。"
#. type: TP
-#: build/C/man3/printf.3:707 build/C/man3/scanf.3:459
+#: build/C/man3/printf.3:708 build/C/man3/scanf.3:459
#: build/C/man3/wprintf.3:151
#, no-wrap
msgid "B<c>"
msgstr "B<c>"
#. type: Plain text
-#: build/C/man3/printf.3:725
+#: build/C/man3/printf.3:726
msgid ""
"If no B<l> modifier is present, the I<int> argument is converted to an "
"I<unsigned char>, and the resulting character is written. If an B<l> "
"換し、 変換されたマルチバイト文字列を出力する。"
#. type: TP
-#: build/C/man3/printf.3:725 build/C/man3/scanf.3:451
+#: build/C/man3/printf.3:726 build/C/man3/scanf.3:451
#: build/C/man3/wprintf.3:165
#, no-wrap
msgid "B<s>"
msgstr "B<s>"
#. type: Plain text
-#: build/C/man3/printf.3:740
+#: build/C/man3/printf.3:741
msgid ""
"If no B<l> modifier is present: The I<const char\\ *> argument is expected "
"to be a pointer to an array of character type (pointer to a string). "
"なければならない。"
#. type: Plain text
-#: build/C/man3/printf.3:767
+#: build/C/man3/printf.3:768
msgid ""
"If an B<l> modifier is present: The I<const wchar_t\\ *> argument is "
"expected to be a pointer to an array of wide characters. Wide characters "
"い。"
#. type: TP
-#: build/C/man3/printf.3:767
+#: build/C/man3/printf.3:768
#, no-wrap
msgid "B<C>"
msgstr "B<C>"
#. type: Plain text
-#: build/C/man3/printf.3:773
+#: build/C/man3/printf.3:774
msgid "(Not in C99, but in SUSv2.) Synonym for B<lc>. Don't use."
msgstr "(C99 にはないが SUSv2 にはある) B<lc> と同じ。使ってはならない。"
#. type: TP
-#: build/C/man3/printf.3:773
+#: build/C/man3/printf.3:774
#, no-wrap
msgid "B<S>"
msgstr "B<S>"
#. type: Plain text
-#: build/C/man3/printf.3:779
+#: build/C/man3/printf.3:780
msgid "(Not in C99, but in SUSv2.) Synonym for B<ls>. Don't use."
msgstr "(C99 にはないが SUSv2 にはある) B<ls> と同じ。使ってはならない。"
#. type: TP
-#: build/C/man3/printf.3:779 build/C/man3/scanf.3:502
+#: build/C/man3/printf.3:780 build/C/man3/scanf.3:502
#, no-wrap
msgid "B<p>"
msgstr "B<p>"
#. type: Plain text
-#: build/C/man3/printf.3:787
+#: build/C/man3/printf.3:788
msgid ""
"The I<void\\ *> pointer argument is printed in hexadecimal (as if by B<%#x> "
"or B<%#lx>)."
"I<void\\ *> ポインタ引き数を (B<%#x> や B<%#lx> のような) 16 進数で出力する。"
#. type: TP
-#: build/C/man3/printf.3:787 build/C/man3/scanf.3:510
+#: build/C/man3/printf.3:788 build/C/man3/scanf.3:510
#, no-wrap
msgid "B<n>"
msgstr "B<n>"
#. type: Plain text
-#: build/C/man3/printf.3:794
+#: build/C/man3/printf.3:795
msgid ""
"The number of characters written so far is stored into the integer indicated "
"by the I<int\\ *> (or variant) pointer argument. No argument is converted."
"す整数に保存する。 引き数の変換は行われない。"
#. type: TP
-#: build/C/man3/printf.3:794
+#: build/C/man3/printf.3:795
#, no-wrap
msgid "B<m>"
msgstr "B<m>"
#. type: Plain text
-#: build/C/man3/printf.3:800
+#: build/C/man3/printf.3:801
msgid ""
"(Glibc extension.) Print output of I<strerror(errno)>. No argument is "
"required."
"(glibc での拡張) I<strerror(errno)> の出力を表示する。引き数は必要ない。"
#. type: TP
-#: build/C/man3/printf.3:800 build/C/man3/scanf.3:377
+#: build/C/man3/printf.3:801 build/C/man3/scanf.3:377
#, no-wrap
msgid "B<%>"
msgstr "B<%>"
#. type: Plain text
-#: build/C/man3/printf.3:806
+#: build/C/man3/printf.3:807
msgid ""
"A \\(aq%\\(aq is written. No argument is converted. The complete "
"conversion specification is \\(aq%%\\(aq."
"%\" となる。"
#. type: Plain text
-#: build/C/man3/printf.3:821
+#: build/C/man3/printf.3:822
msgid ""
"The B<fprintf>(), B<printf>(), B<sprintf>(), B<vprintf>(), B<vfprintf>(), "
"and B<vsprintf>() functions conform to C89 and C99. The B<snprintf>() and "
"B<vsnprintf>() は C99 に準拠している。"
#. type: Plain text
-#: build/C/man3/printf.3:834
+#: build/C/man3/printf.3:835
msgid ""
"Concerning the return value of B<snprintf>(), SUSv2 and C99 contradict each "
"other: when B<snprintf>() is called with I<size>=0 then SUSv2 stipulates an "
"出力されるであろう文字数を返す。"
#. type: Plain text
-#: build/C/man3/printf.3:848
+#: build/C/man3/printf.3:849
msgid ""
"Linux libc4 knows about the five C standard flags. It knows about the "
"length modifiers B<h>, B<l>, B<L>, and the conversions B<c>, B<d>, B<e>, "
"えない。"
#. type: Plain text
-#: build/C/man3/printf.3:859
+#: build/C/man3/printf.3:860
msgid ""
"Linux libc5 knows about the five C standard flags and the \\(aq flag, "
"locale, \"%m$\" and \"*m$\". It knows about the length modifiers B<h>, "
"ある。"
#. type: Plain text
-#: build/C/man3/printf.3:861
+#: build/C/man3/printf.3:862
msgid "glibc 2.0 adds conversion characters B<C> and B<S>."
msgstr "glibc 2.0 では、変換文字 B<C> と B<S> が追加された。"
#. type: Plain text
-#: build/C/man3/printf.3:864
+#: build/C/man3/printf.3:865
msgid ""
"glibc 2.1 adds length modifiers B<hh>, B<j>, B<t>, and B<z> and conversion "
"characters B<a> and B<A>."
"加された。"
#. type: Plain text
-#: build/C/man3/printf.3:867
+#: build/C/man3/printf.3:868
msgid ""
"glibc 2.2 adds the conversion character B<F> with C99 semantics, and the "
"flag character B<I>."
"追加された。"
#. type: Plain text
-#: build/C/man3/printf.3:869
+#: build/C/man3/printf.3:870
msgid "Some programs imprudently rely on code such as the following"
msgstr ""
"テキストを I<buf> に追加するのに、軽率にも次のようなコードを使っているプログ"
"ラムがある。"
#. type: Plain text
-#: build/C/man3/printf.3:871
+#: build/C/man3/printf.3:872
#, no-wrap
msgid " sprintf(buf, \"%s some further text\", buf);\n"
msgstr " sprintf(buf, \"%s some further text\", buf);\n"
#. http://sourceware.org/bugzilla/show_bug.cgi?id=7075
#. type: Plain text
-#: build/C/man3/printf.3:887
+#: build/C/man3/printf.3:888
msgid ""
"to append text to I<buf>. However, the standards explicitly note that the "
"results are undefined if source and destination buffers overlap when calling "
#. .BR vdprintf ()
#. that print to a file descriptor instead of a stream.
#. type: Plain text
-#: build/C/man3/printf.3:929
+#: build/C/man3/printf.3:930
msgid ""
"The glibc implementation of the functions B<snprintf>() and B<vsnprintf>() "
"conforms to the C99 standard, that is, behaves as described above, since "
"切り詰められた場合は -1 を返す。"
#. type: Plain text
-#: build/C/man3/printf.3:946
+#: build/C/man3/printf.3:947
msgid ""
"Because B<sprintf>() and B<vsprintf>() assume an arbitrarily long string, "
"callers must be careful not to overflow the actual space; this is often "
"B<vsnprintf>() (または B<asprintf>(3) と B<vasprintf>(3)) を使うこと。"
#. type: Plain text
-#: build/C/man3/printf.3:959
+#: build/C/man3/printf.3:960
msgid ""
"Linux libc4.[45] does not have a B<snprintf>(), but provides a libbsd that "
"contains an B<snprintf>() equivalent to B<sprintf>(), that is, one that "
#. Some floating-point conversions under early libc4
#. caused memory leaks.
#. type: Plain text
-#: build/C/man3/printf.3:973
+#: build/C/man3/printf.3:974
msgid ""
"Code such as B<printf(>I<foo>B<);> often indicates a bug, since I<foo> may "
"contain a % character. If I<foo> comes from untrusted user input, it may "
"ルを作ることになるかもしれない。"
#. type: Plain text
-#: build/C/man3/printf.3:977
+#: build/C/man3/printf.3:978
msgid "To print I<Pi> to five decimal places:"
msgstr "I<Pi> を 5 桁で出力する。"
#. type: Plain text
-#: build/C/man3/printf.3:983
+#: build/C/man3/printf.3:984
#, no-wrap
msgid ""
"#include E<lt>math.hE<gt>\n"
"fprintf(stdout, \"pi = %.5f\\en\", 4 * atan(1.0));\n"
#. type: Plain text
-#: build/C/man3/printf.3:992
+#: build/C/man3/printf.3:993
msgid ""
"To print a date and time in the form \"Sunday, July 3, 10:02\", where "
"I<weekday> and I<month> are pointers to strings:"
"I<month> は文字列へのポインタである)"
#. type: Plain text
-#: build/C/man3/printf.3:998
+#: build/C/man3/printf.3:999
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"\tweekday, month, day, hour, min);\n"
#. type: Plain text
-#: build/C/man3/printf.3:1004
+#: build/C/man3/printf.3:1005
msgid ""
"Many countries use the day-month-year order. Hence, an internationalized "
"version must be able to print the arguments in an order specified by the "
"順番で 引き数を表示できなければならない。"
#. type: Plain text
-#: build/C/man3/printf.3:1010
+#: build/C/man3/printf.3:1011
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"\tweekday, month, day, hour, min);\n"
#. type: Plain text
-#: build/C/man3/printf.3:1017
+#: build/C/man3/printf.3:1018
msgid ""
"where I<format> depends on locale, and may permute the arguments. With the "
"value:"
"I<format> が"
#. type: Plain text
-#: build/C/man3/printf.3:1021
+#: build/C/man3/printf.3:1022
#, no-wrap
msgid "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
msgstr "\"%1$s, %3$d. %2$s, %4$d:%5$.2d\\en\"\n"
#. type: Plain text
-#: build/C/man3/printf.3:1025
+#: build/C/man3/printf.3:1026
msgid "one might obtain \"Sonntag, 3. Juli, 10:02\"."
msgstr "であれば、 \"Sonntag, 3. Juli, 10:02\" という結果になる。"
#. type: Plain text
-#: build/C/man3/printf.3:1028
+#: build/C/man3/printf.3:1029
msgid ""
"To allocate a sufficiently large string and print into it (code correct for "
"both glibc 2.0 and glibc 2.1):"
"と glibc 2.1 の両方で正しく動作するコード):"
#. type: Plain text
-#: build/C/man3/printf.3:1031
-msgid ""
-"If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
-"error instead of being handled gracefully."
-msgstr ""
-"バージョン 2.0.6 より前の glibc で切り詰めが起こった場合、切り詰めは適切に処"
-"理されず、エラーとして扱われる。"
-
-#. type: Plain text
-#: build/C/man3/printf.3:1036
+#: build/C/man3/printf.3:1034
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdarg.hE<gt>\n"
#. type: Plain text
-#: build/C/man3/printf.3:1044
+#: build/C/man3/printf.3:1042
#, no-wrap
msgid ""
"char *\n"
" va_list ap;\n"
#. type: Plain text
-#: build/C/man3/printf.3:1047
-#, no-wrap
+#: build/C/man3/printf.3:1046
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if ((p = malloc(size)) == NULL)\n"
+#| " return NULL;\n"
msgid ""
-" if ((p = malloc(size)) == NULL)\n"
+" p = malloc(size);\n"
+" if (p == NULL)\n"
" return NULL;\n"
msgstr ""
" if ((p = malloc(size)) == NULL)\n"
" return NULL;\n"
#. type: Plain text
-#: build/C/man3/printf.3:1049
+#: build/C/man3/printf.3:1048
#, no-wrap
msgid " while (1) {\n"
msgstr " while (1) {\n"
#. type: Plain text
-#: build/C/man3/printf.3:1051
+#: build/C/man3/printf.3:1050
#, no-wrap
msgid " /* Try to print in the allocated space */\n"
msgstr " /* Try to print in the allocated space */\n"
#. type: Plain text
-#: build/C/man3/printf.3:1055
+#: build/C/man3/printf.3:1054
#, no-wrap
msgid ""
" va_start(ap, fmt);\n"
" va_end(ap);\n"
#. type: Plain text
-#: build/C/man3/printf.3:1057
+#: build/C/man3/printf.3:1056
#, no-wrap
msgid " /* Check error code */\n"
msgstr " /* Check error code */\n"
#. type: Plain text
-#: build/C/man3/printf.3:1060
-#, no-wrap
+#: build/C/man3/printf.3:1061
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (n E<lt> 0)\n"
+#| " return NULL;\n"
msgid ""
-" if (n E<lt> 0)\n"
+" if (n E<lt> 0) {\n"
+" free(p);\n"
" return NULL;\n"
+" }\n"
msgstr ""
" if (n E<lt> 0)\n"
" return NULL;\n"
#. type: Plain text
-#: build/C/man3/printf.3:1062
+#: build/C/man3/printf.3:1063
#, no-wrap
msgid " /* If that worked, return the string */\n"
msgstr " /* If that worked, return the string */\n"
#. type: Plain text
-#: build/C/man3/printf.3:1065
+#: build/C/man3/printf.3:1066
#, no-wrap
msgid ""
" if (n E<lt> size)\n"
" return p;\n"
#. type: Plain text
-#: build/C/man3/printf.3:1067
+#: build/C/man3/printf.3:1068
#, no-wrap
msgid " /* Else try again with more space */\n"
msgstr " /* Else try again with more space */\n"
#. type: Plain text
-#: build/C/man3/printf.3:1069
+#: build/C/man3/printf.3:1070
#, no-wrap
msgid " size = n + 1; /* Precisely what is needed */\n"
msgstr " size = n + 1; /* Precisely what is needed */\n"
#. type: Plain text
-#: build/C/man3/printf.3:1079
-#, no-wrap
-msgid ""
-" if ((np = realloc (p, size)) == NULL) {\n"
+#: build/C/man3/printf.3:1081
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if ((np = realloc (p, size)) == NULL) {\n"
+#| " free(p);\n"
+#| " return NULL;\n"
+#| " } else {\n"
+#| " p = np;\n"
+#| " }\n"
+#| " }\n"
+#| "}\n"
+msgid ""
+" np = realloc(p, size);\n"
+" if (np == NULL) {\n"
" free(p);\n"
" return NULL;\n"
" } else {\n"
"}\n"
#. type: Plain text
-#: build/C/man3/printf.3:1089
+#: build/C/man3/printf.3:1085
+msgid ""
+"If truncation occurs in glibc versions prior to 2.0.6, this is treated as an "
+"error instead of being handled gracefully."
+msgstr ""
+"バージョン 2.0.6 より前の glibc で切り詰めが起こった場合、切り詰めは適切に処"
+"理されず、エラーとして扱われる。"
+
+#. type: Plain text
+#: build/C/man3/printf.3:1094
msgid ""
"B<printf>(1), B<asprintf>(3), B<dprintf>(3), B<scanf>(3), B<setlocale>(3), "
"B<wcrtomb>(3), B<wprintf>(3), B<locale>(5)"
msgstr "PUTS"
#. type: TH
-#: build/C/man3/puts.3:26
-#, no-wrap
-msgid "2011-09-28"
-msgstr "2011-09-28"
+#: build/C/man3/puts.3:26 build/C/man3/scanf.3:52
+#, fuzzy, no-wrap
+#| msgid "2012-01-18"
+msgid "2014-01-11"
+msgstr "2012-01-18"
#. type: Plain text
#: build/C/man3/puts.3:29
#. type: Plain text
#: build/C/man3/puts.3:124
-msgid ""
-"B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
-"(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
-"(3)"
+#, fuzzy
+#| msgid ""
+#| "B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), "
+#| "B<fseek>(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), "
+#| "B<unlocked_stdio>(3)"
+msgid ""
+"B<write>(2), B<ferror>(3), B<fgets>(3), B<fopen>(3), B<fputwc>(3), B<fputws>"
+"(3), B<fseek>(3), B<fwrite>(3), B<putwchar>(3), B<scanf>(3), "
+"B<unlocked_stdio>(3)"
msgstr ""
"B<write>(2), B<ferror>(3), B<fopen>(3), B<fputwc>(3), B<fputws>(3), B<fseek>"
"(3), B<fwrite>(3), B<gets>(3), B<putwchar>(3), B<scanf>(3), B<unlocked_stdio>"
#. type: Plain text
#: build/C/man2/read.2:187
msgid ""
-"On NFS file systems, reading small amounts of data will update the timestamp "
+"On NFS filesystems, reading small amounts of data will update the timestamp "
"only the first time, subsequent calls may not do so. This is caused by "
"client side attribute caching, because most if not all NFS clients leave "
"st_atime (last file access time) updates to the server and client side "
"B<fread>(3)"
#. type: TH
-#: build/C/man2/readlink.2:43
+#: build/C/man2/readlink.2:44
#, no-wrap
msgid "READLINK"
msgstr "READLINK"
-#. type: TH
-#: build/C/man2/readlink.2:43
-#, no-wrap
-msgid "2011-09-20"
-msgstr "2011-09-20"
-
#. type: Plain text
-#: build/C/man2/readlink.2:46
-msgid "readlink - read value of a symbolic link"
+#: build/C/man2/readlink.2:47
+#, fuzzy
+#| msgid "readlink - read value of a symbolic link"
+msgid "readlink, readlinkat - read value of a symbolic link"
msgstr "readlink - シンボリックリンクの値を読む"
#. type: Plain text
-#: build/C/man2/readlink.2:50
+#: build/C/man2/readlink.2:53
+#, fuzzy, no-wrap
+#| msgid "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
+msgid "B<ssize_t readlink(const char *>I<pathname>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
+msgstr "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:59
+#, fuzzy, no-wrap
+#| msgid "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
msgid ""
-"B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
-">I<bufsiz>B<);>"
-msgstr ""
-"B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t "
-">I<bufsiz>B<);>"
+"B<int readlinkat(int >I<dirfd>B<, const char *>I<pathname>B<,>\n"
+"B< char *>I<buf>B<, size_t >I<bufsiz>B<);>\n"
+msgstr "B<ssize_t readlink(const char *>I<path>B<, char *>I<buf>B<, size_t >I<bufsiz>B<);>"
#. type: Plain text
-#: build/C/man2/readlink.2:58
+#: build/C/man2/readlink.2:68
msgid "B<readlink>():"
msgstr "B<readlink>():"
#. type: Plain text
-#: build/C/man2/readlink.2:61 build/C/man2/symlink.2:50
+#: build/C/man2/readlink.2:71 build/C/man2/symlink.2:59
msgid ""
"_BSD_SOURCE || _XOPEN_SOURCE\\ E<gt>=\\ 500 || _XOPEN_SOURCE\\ &&\\ "
"_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
"_XOPEN_SOURCE_EXTENDED || _POSIX_C_SOURCE\\ E<gt>=\\ 200112L"
#. type: Plain text
-#: build/C/man2/readlink.2:77
+#: build/C/man2/readlink.2:74
+#, fuzzy
+#| msgid "B<readlink>():"
+msgid "B<readlinkat>():"
+msgstr "B<readlink>():"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:100
+#, fuzzy
+#| msgid ""
+#| "B<readlink>() places the contents of the symbolic link I<path> in the "
+#| "buffer I<buf>, which has size I<bufsiz>. B<readlink>() does not append "
+#| "a null byte to I<buf>. It will truncate the contents (to a length of "
+#| "I<bufsiz> characters), in case the buffer is too small to hold all of the "
+#| "contents."
msgid ""
-"B<readlink>() places the contents of the symbolic link I<path> in the "
+"B<readlink>() places the contents of the symbolic link I<pathname> in the "
"buffer I<buf>, which has size I<bufsiz>. B<readlink>() does not append a "
"null byte to I<buf>. It will truncate the contents (to a length of "
"I<bufsiz> characters), in case the buffer is too small to hold all of the "
"NULL バイトを I<buf> に追加しない。 その内容全てを格納するのにバッファーが小"
"さ過ぎる場合は、 (I<bufsiz> バイトの長さに) 内容を切り詰める。"
+#. type: SS
+#: build/C/man2/readlink.2:100
+#, fuzzy, no-wrap
+#| msgid "B<readlink>():"
+msgid "readlinkat()"
+msgstr "B<readlink>():"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:106
+#, fuzzy
+#| msgid ""
+#| "The B<readv>() system call works just like B<read>(2) except that "
+#| "multiple buffers are filled."
+msgid ""
+"The B<readlinkat>() system call operates in exactly the same way as "
+"B<readlink>(), except for the differences described here."
+msgstr ""
+"B<readv>() システムコールは、複数のバッファにデータを読み込む点を除いて\n"
+"B<read>(2) と全く同様の動作を行う。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:116
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<readlink>() for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readlink.2:128
+msgid ""
+"If I<pathname> is relative and I<dirfd> is the special value B<AT_FDCWD>, "
+"then I<pathname> is interpreted relative to the current working directory of "
+"the calling process (like B<readlink>())."
+msgstr ""
+
+#. commit 65cfc6722361570bfe255698d9cd4dccaf47570d
+#. type: Plain text
+#: build/C/man2/readlink.2:148
+msgid ""
+"Since Linux 2.6.39, I<pathname> can be an empty string, in which case the "
+"call operates on the file referred to by I<dirfd> (which may have been "
+"obtained using the B<open>(2) B<O_PATH> flag). In this case, I<dirfd> can "
+"refer to any type of file, not just a directory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readlink.2:153
+msgid "See B<openat>(2) for an explanation of the need for B<readlinkat>()."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/readlink.2:85
+#: build/C/man2/readlink.2:159
+#, fuzzy
+#| msgid ""
+#| "On success, B<readlink>() returns the number of bytes placed in I<buf>. "
+#| "On error, -1 is returned and I<errno> is set to indicate the error."
msgid ""
-"On success, B<readlink>() returns the number of bytes placed in I<buf>. On "
+"On success, these calls return the number of bytes placed in I<buf>. On "
"error, -1 is returned and I<errno> is set to indicate the error."
msgstr ""
"成功すると、 B<readlink>() は I<buf> に格納されたバイト数を返す。 エラーの場"
"合、-1 を返し、 I<errno> にエラーを示す値を設定する。"
#. type: Plain text
-#: build/C/man2/readlink.2:91
+#: build/C/man2/readlink.2:165
msgid ""
"Search permission is denied for a component of the path prefix. (See also "
"B<path_resolution>(7).)"
"参照すること)。"
#. type: Plain text
-#: build/C/man2/readlink.2:95
+#: build/C/man2/readlink.2:169
msgid "I<buf> extends outside the process's allocated address space."
msgstr "I<buf> がプロセスに割り当てられたアドレス空間の外を指している。"
#. See: http://thread.gmane.org/gmane.linux.man/380
#. Subject: [patch 0/3] [RFC] kernel/glibc mismatch of "readlink" syscall?
#. type: Plain text
-#: build/C/man2/readlink.2:104
+#: build/C/man2/readlink.2:178
msgid "I<bufsiz> is not positive."
msgstr "I<bufsiz> が正でない。"
#. type: Plain text
-#: build/C/man2/readlink.2:107
+#: build/C/man2/readlink.2:181
msgid "The named file is not a symbolic link."
msgstr "指定したファイルがシンボリックリンクでない。"
#. type: Plain text
-#: build/C/man2/readlink.2:110
-msgid "An I/O error occurred while reading from the file system."
+#: build/C/man2/readlink.2:184
+msgid "An I/O error occurred while reading from the filesystem."
msgstr "ファイルシステムの読み込み中に I/O エラーが起こった。"
#. type: Plain text
-#: build/C/man2/readlink.2:113
+#: build/C/man2/readlink.2:187
msgid "Too many symbolic links were encountered in translating the pathname."
msgstr "パス名にシンボリックリンクが多すぎる。"
#. type: Plain text
-#: build/C/man2/readlink.2:116
+#: build/C/man2/readlink.2:190
msgid "A pathname, or a component of a pathname, was too long."
msgstr "パス名かパス名の一部分が長過ぎる。"
#. type: Plain text
-#: build/C/man2/readlink.2:119
+#: build/C/man2/readlink.2:193
msgid "The named file does not exist."
msgstr "その名前のファイルが存在しない。"
#. type: Plain text
-#: build/C/man2/readlink.2:125
+#: build/C/man2/readlink.2:199
msgid "A component of the path prefix is not a directory."
msgstr "パスのディレクトリ部分がディレクトリでない。"
#. type: Plain text
-#: build/C/man2/readlink.2:130
-msgid "4.4BSD (B<readlink>() first appeared in 4.2BSD), POSIX.1-2001."
+#: build/C/man2/readlink.2:202
+msgid "The following additional errors can occur for B<readlinkat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/readlink.2:216
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<readlinkat>() was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
+#. type: Plain text
+#: build/C/man2/readlink.2:222
+#, fuzzy
+#| msgid "4.4BSD (B<readlink>() first appeared in 4.2BSD), POSIX.1-2001."
+msgid ""
+"B<readlink>(): 4.4BSD (B<readlink>() first appeared in 4.2BSD), "
+"POSIX.1-2001, POSIX.1-2008."
msgstr "4.4BSD (B<readlink>() は 4.2BSD で初めて登場した), POSIX.1-2001."
#. type: Plain text
-#: build/C/man2/readlink.2:138
+#: build/C/man2/readlink.2:225
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<readlinkat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man2/readlink.2:233
msgid ""
"In versions of glibc up to and including glibc 2.4, the return type of "
"B<readlink>() was declared as I<int>. Nowadays, the return type is "
"る (返り値 I<ssize_t> は POSIX.1-2001 で (新たに) 必須となった)。"
#. type: Plain text
-#: build/C/man2/readlink.2:157
+#: build/C/man2/readlink.2:256
+#, fuzzy
+#| msgid ""
+#| "Using a statically sized buffer might not provide enough room for the "
+#| "symbolic link contents. The required size for the buffer can be obtained "
+#| "from the I<stat.st_size> value returned by a call to B<lstat>(2) on the "
+#| "link. However, the number of bytes written by B<readlink>() should be "
+#| "checked to make sure that the size of the symbolic link did not increase "
+#| "between the calls. Dynamically allocating the buffer for B<readlink>() "
+#| "also addresses a common portability problem when using I<PATH_MAX> for "
+#| "the buffer size, as this constant is not guaranteed to be defined per "
+#| "POSIX if the system does not have such limit."
msgid ""
"Using a statically sized buffer might not provide enough room for the "
"symbolic link contents. The required size for the buffer can be obtained "
"from the I<stat.st_size> value returned by a call to B<lstat>(2) on the "
-"link. However, the number of bytes written by B<readlink>() should be "
-"checked to make sure that the size of the symbolic link did not increase "
-"between the calls. Dynamically allocating the buffer for B<readlink>() "
-"also addresses a common portability problem when using I<PATH_MAX> for the "
-"buffer size, as this constant is not guaranteed to be defined per POSIX if "
-"the system does not have such limit."
+"link. However, the number of bytes written by B<readlink>() and "
+"B<readlinkat>() should be checked to make sure that the size of the "
+"symbolic link did not increase between the calls. Dynamically allocating "
+"the buffer for B<readlink>() and B<readlinkat>() also addresses a common "
+"portability problem when using I<PATH_MAX> for the buffer size, as this "
+"constant is not guaranteed to be defined per POSIX if the system does not "
+"have such limit."
msgstr ""
"静的な大きさのバッファを使うと、シンボリックリンクの内容を\n"
"格納するのに十分な領域がない場合がある。\n"
"I<PATH_MAX> が定義されることが保証されていないからである。"
#. type: Plain text
-#: build/C/man2/readlink.2:163
+#: build/C/man2/readlink.2:262
msgid ""
"The following program allocates the buffer needed by B<readlink>() "
"dynamically from the information provided by B<lstat>(), making sure there's "
"また、両方の呼び出し間で競合条件がないことを保証している。"
#. type: Plain text
-#: build/C/man2/readlink.2:170
+#: build/C/man2/readlink.2:269
#, no-wrap
msgid ""
"#include E<lt>sys/types.hE<gt>\n"
"#include E<lt>unistd.hE<gt>\n"
#. type: Plain text
-#: build/C/man2/readlink.2:177
+#: build/C/man2/readlink.2:276
#, no-wrap
msgid ""
"int\n"
" ssize_t r;\n"
#. type: Plain text
-#: build/C/man2/readlink.2:182
+#: build/C/man2/readlink.2:281
#, no-wrap
msgid ""
" if (argc != 2) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/readlink.2:187
+#: build/C/man2/readlink.2:286
#, no-wrap
msgid ""
" if (lstat(argv[1], &sb) == -1) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/readlink.2:193
+#: build/C/man2/readlink.2:292
#, no-wrap
msgid ""
" linkname = malloc(sb.st_size + 1);\n"
" }\n"
#. type: Plain text
-#: build/C/man2/readlink.2:195
+#: build/C/man2/readlink.2:294
#, no-wrap
msgid " r = readlink(argv[1], linkname, sb.st_size + 1);\n"
msgstr " r = readlink(argv[1], linkname, sb.st_size + 1);\n"
#. type: Plain text
-#: build/C/man2/readlink.2:200
-#, no-wrap
+#: build/C/man2/readlink.2:299
+#, fuzzy, no-wrap
+#| msgid ""
+#| " if (r == -1) {\n"
+#| " perror(\"lstat\");\n"
+#| " exit(EXIT_FAILURE);\n"
+#| " }\n"
msgid ""
-" if (r E<lt> 0) {\n"
-" perror(\"lstat\");\n"
+" if (r == -1) {\n"
+" perror(\"readlink\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
msgstr ""
-" if (r E<lt> 0) {\n"
+" if (r == -1) {\n"
" perror(\"lstat\");\n"
" exit(EXIT_FAILURE);\n"
" }\n"
#. type: Plain text
-#: build/C/man2/readlink.2:206
+#: build/C/man2/readlink.2:305
#, no-wrap
msgid ""
" if (r E<gt> sb.st_size) {\n"
" }\n"
#. type: Plain text
-#: build/C/man2/readlink.2:208
+#: build/C/man2/readlink.2:307
#, no-wrap
-msgid " linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
-msgstr " linkname[sb.st_size] = \\(aq\\e0\\(aq;\n"
+msgid " linkname[r] = \\(aq\\e0\\(aq;\n"
+msgstr " linkname[r] = \\(aq\\e0\\(aq;\n"
#. type: Plain text
-#: build/C/man2/readlink.2:210
+#: build/C/man2/readlink.2:309
#, no-wrap
msgid " printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
msgstr " printf(\"\\(aq%s\\(aq points to \\(aq%s\\(aq\\en\", argv[1], linkname);\n"
#. type: Plain text
-#: build/C/man2/readlink.2:222
+#: build/C/man2/readlink.2:320
+#, fuzzy
+#| msgid ""
+#| "B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
+#| "B<path_resolution>(7), B<symlink>(7)"
msgid ""
-"B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2), "
-"B<path_resolution>(7), B<symlink>(7)"
+"B<readlink>(1), B<lstat>(2), B<stat>(2), B<symlink>(2), B<path_resolution>"
+"(7), B<symlink>(7)"
msgstr ""
"B<readlink>(1), B<lstat>(2), B<readlinkat>(2), B<stat>(2), B<symlink>(2),\n"
"B<path_resolution>(7), B<symlink>(7)"
#. type: TH
#: build/C/man3/remove.3:31
-#, no-wrap
-msgid "2008-12-03"
-msgstr "2008-12-03"
+#, fuzzy, no-wrap
+#| msgid "2013-03-17"
+msgid "2014-03-10"
+msgstr "2013-03-17"
#. type: Plain text
#: build/C/man3/remove.3:34
#. type: Plain text
#: build/C/man3/remove.3:46
msgid ""
-"B<remove>() deletes a name from the file system. It calls B<unlink>(2) "
-"for files, and B<rmdir>(2) for directories."
+"B<remove>() deletes a name from the filesystem. It calls B<unlink>(2) for "
+"files, and B<rmdir>(2) for directories."
msgstr ""
"B<remove>() はファイルシステムからファイル名を削除する。 ファイルに対しては "
"B<unlink>(2) を、ディレクトリに対しては B<rmdir>(2) を呼び出す。"
msgstr "発生するエラーは B<unlink>(2) および B<rmdir>(2) と同じものである。"
#. type: Plain text
-#: build/C/man3/remove.3:72
+#: build/C/man3/remove.3:75
+#, fuzzy
+#| msgid "The B<lseek64>() function is thread-safe."
+msgid "The B<remove>() function is thread-safe."
+msgstr "関数 B<lseek64>() はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/remove.3:77
msgid "C89, C99, 4.3BSD, POSIX.1-2001."
msgstr "C89, C99, 4.3BSD, POSIX.1-2001."
#. type: Plain text
-#: build/C/man3/remove.3:78
+#: build/C/man3/remove.3:83
msgid ""
"Under libc4 and libc5, B<remove>() was an alias for B<unlink>(2) (and "
"hence would not remove directories)."
"(従ってディレクトリを削除できなかった)。"
#. type: Plain text
-#: build/C/man3/remove.3:81 build/C/man2/unlink.2:148
+#: build/C/man3/remove.3:86 build/C/man2/unlink.2:284
msgid ""
"Infelicities in the protocol underlying NFS can cause the unexpected "
"disappearance of files which are still being used."
"うことがありえる。"
#. type: Plain text
-#: build/C/man3/remove.3:92
+#: build/C/man3/remove.3:97
msgid ""
"B<rm>(1), B<unlink>(1), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
"B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
"B<rmdir>(2), B<unlink>(2), B<mkfifo>(3), B<symlink>(7)"
#. type: TH
-#: build/C/man2/rename.2:32
+#: build/C/man2/rename.2:33
#, no-wrap
msgid "RENAME"
msgstr "RENAME"
#. type: Plain text
-#: build/C/man2/rename.2:35
-msgid "rename - change the name or location of a file"
+#: build/C/man2/rename.2:36
+#, fuzzy
+#| msgid "rename - change the name or location of a file"
+msgid "rename, renameat - change the name or location of a file"
msgstr "rename - ファイルの名前や位置を変更する"
#. type: Plain text
-#: build/C/man2/rename.2:39
-msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/rename.2:41
+#, fuzzy, no-wrap
+#| msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>\n"
+msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+
+#. type: Plain text
+#: build/C/man2/rename.2:44
+#, fuzzy, no-wrap
+#| msgid ""
+#| "B<#include E<lt>sys/types.hE<gt>>\n"
+#| "B<#include E<lt>unistd.hE<gt>>\n"
+msgid ""
+"B<#include E<lt>fcntl.hE<gt> >/* Definition of AT_* constants */\n"
+"B<#include E<lt>stdio.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>sys/types.hE<gt>>\n"
+"B<#include E<lt>unistd.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man2/rename.2:47
+#, fuzzy, no-wrap
+#| msgid "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid ""
+"B<int renameat(int >I<olddirfd>B<, const char *>I<oldpath>B<,>\n"
+"B< int >I<newdirfd>B<, const char *>I<newpath>B<);>\n"
msgstr "B<int rename(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
#. type: Plain text
-#: build/C/man2/rename.2:48
+#: build/C/man2/rename.2:55
+#, fuzzy
+#| msgid "B<ttyname>(3)"
+msgid "B<renameat>():"
+msgstr "B<ttyname>(3)"
+
+#. type: Plain text
+#: build/C/man2/rename.2:76
msgid ""
"B<rename>() renames a file, moving it between directories if required. Any "
"other hard links to the file (as created using B<link>(2)) are unaffected. "
"リプタにも影響はない。"
#. type: Plain text
-#: build/C/man2/rename.2:56
+#: build/C/man2/rename.2:84
+#, fuzzy
+#| msgid ""
+#| "If I<newpath> already exists it will be atomically replaced (subject to a "
+#| "few conditions; see ERRORS below), so that there is no point at which "
+#| "another process attempting to access I<newpath> will find it missing."
msgid ""
-"If I<newpath> already exists it will be atomically replaced (subject to a "
+"If I<newpath> already exists, it will be atomically replaced (subject to a "
"few conditions; see ERRORS below), so that there is no point at which "
"another process attempting to access I<newpath> will find it missing."
msgstr ""
"とはない (訳註: 常にアクセス可能である)。"
#. type: Plain text
-#: build/C/man2/rename.2:64
+#: build/C/man2/rename.2:92
msgid ""
"If I<oldpath> and I<newpath> are existing hard links referring to the same "
"file, then B<rename>() does nothing, and returns a success status."
"ている場合、 B<rename>() は何も行わず、ステータスとして成功を返す。"
#. type: Plain text
-#: build/C/man2/rename.2:72
+#: build/C/man2/rename.2:100
+#, fuzzy
+#| msgid ""
+#| "If I<newpath> exists but the operation fails for some reason B<rename>() "
+#| "guarantees to leave an instance of I<newpath> in place."
msgid ""
-"If I<newpath> exists but the operation fails for some reason B<rename>() "
+"If I<newpath> exists but the operation fails for some reason, B<rename>() "
"guarantees to leave an instance of I<newpath> in place."
msgstr ""
"I<newpath> が存在し、何らかの理由で操作が失敗した場合、 B<rename>() は "
"I<newpath> の実体を元のまま残すことを保証する。"
#. type: Plain text
-#: build/C/man2/rename.2:78
+#: build/C/man2/rename.2:106
msgid ""
"I<oldpath> can specify a directory. In this case, I<newpath> must either "
"not exist, or it must specify an empty directory."
"存在しないか、空のディレクトリでなければならない。"
#. type: Plain text
-#: build/C/man2/rename.2:85
+#: build/C/man2/rename.2:113
msgid ""
"However, when overwriting there will probably be a window in which both "
"I<oldpath> and I<newpath> refer to the file being renamed."
"I<newpath> の両方で参照できる瞬間がおそらく存在する。"
#. type: Plain text
-#: build/C/man2/rename.2:91
+#: build/C/man2/rename.2:119
+#, fuzzy
+#| msgid ""
+#| "If I<oldpath> refers to a symbolic link the link is renamed; if "
+#| "I<newpath> refers to a symbolic link the link will be overwritten."
msgid ""
-"If I<oldpath> refers to a symbolic link the link is renamed; if I<newpath> "
-"refers to a symbolic link the link will be overwritten."
+"If I<oldpath> refers to a symbolic link, the link is renamed; if I<newpath> "
+"refers to a symbolic link, the link will be overwritten."
msgstr ""
"I<oldpath> がシンボリックリンク (symbolic link) を参照している場合は、 リンク"
"の名前が変更される。 また、 I<newpath> がシンボリックリンクを参照している場合"
"は、リンクが上書きされる。"
+#. type: SS
+#: build/C/man2/rename.2:119
+#, no-wrap
+msgid "renameat ()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:125
+msgid ""
+"The B<renameat>() system call operates in exactly the same way as B<rename>"
+"(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:135
+msgid ""
+"If the pathname given in I<oldpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<olddirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<rename>() for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:147
+msgid ""
+"If I<oldpath> is relative and I<olddirfd> is the special value B<AT_FDCWD>, "
+"then I<oldpath> is interpreted relative to the current working directory of "
+"the calling process (like B<rename>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:166
+msgid "See B<openat>(2) for an explanation of the need for B<renameat>()."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/rename.2:116
+#: build/C/man2/rename.2:191
msgid ""
"Write permission is denied for the directory containing I<oldpath> or "
"I<newpath>, or, search permission is denied for one of the directories in "
"な) 書き込み許可がない (B<path_resolution>(7) も参照)。"
#. type: TP
-#: build/C/man2/rename.2:116 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:71
+#: build/C/man2/rename.2:191 build/C/man2/rmdir.2:55 build/C/man2/unlink.2:169
#, no-wrap
msgid "B<EBUSY>"
msgstr "B<EBUSY>"
#. type: Plain text
-#: build/C/man2/rename.2:133
+#: build/C/man2/rename.2:208
msgid ""
"The rename fails because I<oldpath> or I<newpath> is a directory that is in "
"use by some process (perhaps as current working directory, or as root "
"B<EBUSY> を返すことが許されている。)"
#. type: Plain text
-#: build/C/man2/rename.2:143
+#: build/C/man2/rename.2:218
msgid ""
"The new pathname contained a path prefix of the old, or, more generally, an "
"attempt was made to make a directory a subdirectory of itself."
"ディレクトリに 変更しようとした場合がほとんどである。"
#. type: Plain text
-#: build/C/man2/rename.2:149
+#: build/C/man2/rename.2:224
msgid "I<newpath> is an existing directory, but I<oldpath> is not a directory."
msgstr ""
"I<newpath> は存在しているディレクトリであるが、 I<oldpath> はディレクトリでな"
"い。"
#. type: Plain text
-#: build/C/man2/rename.2:160
+#: build/C/man2/rename.2:235
msgid ""
"I<oldpath> already has the maximum number of links to it, or it was a "
"directory and the directory containing I<newpath> has the maximum number of "
"I<newpath> を含んでいるディレクトリが最大数までのリンクを持っている。"
#. type: Plain text
-#: build/C/man2/rename.2:176
+#: build/C/man2/rename.2:251
msgid ""
"The link named by I<oldpath> does not exist; or, a directory component in "
"I<newpath> does not exist; or, I<oldpath> or I<newpath> is an empty string."
"クトリが存在しない。 または、 I<oldpath> か I<newpath> が空の文字列である。"
#. type: Plain text
-#: build/C/man2/rename.2:193
+#: build/C/man2/rename.2:268
msgid ""
"A component used as a directory in I<oldpath> or I<newpath> is not, in fact, "
"a directory. Or, I<oldpath> is a directory, and I<newpath> exists but is "
"トリでない。"
#. type: TP
-#: build/C/man2/rename.2:193
+#: build/C/man2/rename.2:268
#, no-wrap
msgid "B<ENOTEMPTY> or B<EEXIST>"
msgstr "B<ENOTEMPTY または EEXIST>"
#. type: Plain text
-#: build/C/man2/rename.2:197
+#: build/C/man2/rename.2:272
msgid ""
"I<newpath> is a nonempty directory, that is, contains entries other than \"."
"\" and \"..\"."
"でいる。"
#. type: TP
-#: build/C/man2/rename.2:197 build/C/man2/unlink.2:126
+#: build/C/man2/rename.2:272 build/C/man2/unlink.2:224
#, no-wrap
msgid "B<EPERM> or B<EACCES>"
msgstr "B<EPERM> または B<EACCES>"
#. type: Plain text
-#: build/C/man2/rename.2:221
+#: build/C/man2/rename.2:296
msgid ""
"The directory containing I<oldpath> has the sticky bit (B<S_ISVTX>) set and "
"the process's effective user ID is neither the user ID of the file to be "
"sticky bit set and the process's effective user ID is neither the user ID of "
"the file to be replaced nor that of the directory containing it, and the "
"process is not privileged (Linux: does not have the B<CAP_FOWNER> "
-"capability); or the file system containing I<pathname> does not support "
+"capability); or the filesystem containing I<pathname> does not support "
"renaming of the type requested."
msgstr ""
"I<oldpath> のあるディレクトリにスティッキービット (sticky bit) "
"存在するファイルシステムが、要求された種類の名前の変更を サポートしていない。"
#. type: Plain text
-#: build/C/man2/rename.2:232
+#: build/C/man2/rename.2:307
msgid ""
-"I<oldpath> and I<newpath> are not on the same mounted file system. (Linux "
-"permits a file system to be mounted at multiple points, but B<rename>() "
-"does not work across different mount points, even if the same file system is "
+"I<oldpath> and I<newpath> are not on the same mounted filesystem. (Linux "
+"permits a filesystem to be mounted at multiple points, but B<rename>() does "
+"not work across different mount points, even if the same filesystem is "
"mounted on both.)"
msgstr ""
"I<oldpath> と I<newpath> が同じマウントされたファイルシステムに存在しない。 "
"別々のマウント位置を跨いでは動作しない。)"
#. type: Plain text
-#: build/C/man2/rename.2:234
-msgid "4.3BSD, C89, C99, POSIX.1-2001."
-msgstr "4.3BSD, C89, C99, POSIX.1-2001."
+#: build/C/man2/rename.2:310
+msgid "The following additional errors can occur for B<renameat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/rename.2:330
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<renameat>() was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
+#. type: Plain text
+#: build/C/man2/rename.2:333
+#, fuzzy
+#| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgid "B<rename>(): 4.3BSD, C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/rename.2:336
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<renameat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
#. type: Plain text
-#: build/C/man2/rename.2:245
+#: build/C/man2/rename.2:347
+#, fuzzy
+#| msgid ""
+#| "On NFS filesystems, you can not assume that if the operation failed the "
+#| "file was not renamed. If the server does the rename operation and then "
+#| "crashes, the retransmitted RPC which will be processed when the server is "
+#| "up again causes a failure. The application is expected to deal with "
+#| "this. See B<link>(2) for a similar problem."
msgid ""
-"On NFS file systems, you can not assume that if the operation failed the "
+"On NFS filesystems, you can not assume that if the operation failed, the "
"file was not renamed. If the server does the rename operation and then "
"crashes, the retransmitted RPC which will be processed when the server is up "
"again causes a failure. The application is expected to deal with this. See "
"待されている。 同様の問題について B<link>(2) にも書かれている。"
#. type: Plain text
-#: build/C/man2/rename.2:254
+#: build/C/man2/rename.2:355
+#, fuzzy
+#| msgid ""
+#| "B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), "
+#| "B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
msgid ""
-"B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
-"(2), B<path_resolution>(7), B<symlink>(7)"
+"B<mv>(1), B<chmod>(2), B<link>(2), B<symlink>(2), B<unlink>(2), "
+"B<path_resolution>(7), B<symlink>(7)"
msgstr ""
"B<mv>(1), B<chmod>(2), B<link>(2), B<renameat>(2), B<symlink>(2), B<unlink>"
"(2), B<path_resolution>(7), B<symlink>(7)"
msgstr "I<pathname> の最後のディレクトリ部分が I<.> である。"
#. type: Plain text
-#: build/C/man2/rmdir.2:77
-msgid "Too many symbolic links were encountered in resolving I<pathname>."
-msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
-
-#. type: Plain text
#: build/C/man2/rmdir.2:85
msgid ""
"A directory component in I<pathname> does not exist or is a dangling "
#. type: Plain text
#: build/C/man2/rmdir.2:123
msgid ""
-"The file system containing I<pathname> does not support the removal of "
+"The filesystem containing I<pathname> does not support the removal of "
"directories."
msgstr ""
"I<pathname> を含んでいるファイルシステムがディレクトリの 削除をサポートしてい"
#. type: Plain text
#: build/C/man2/rmdir.2:127
-msgid "I<pathname> refers to a directory on a read-only file system."
+msgid "I<pathname> refers to a directory on a read-only filesystem."
msgstr ""
"I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
#: build/C/man3/scanf.3:52
#, no-wrap
msgid "SCANF"
-msgstr "SCANF"
-
-#. type: TH
-#: build/C/man3/scanf.3:52
-#, no-wrap
-msgid "2013-01-30"
-msgstr "2013-01-30"
+msgstr "SCANF"
#. type: Plain text
#: build/C/man3/scanf.3:55
"これらの関数の Linux 版は I<GNU> I<libio> ライブラリーを元にしている。 より簡"
"潔な説明には I<GNU> I<libc (glibc-1.08)> の I<info> 文書に目を通すこと。"
+#. type: SS
+#: build/C/man3/scanf.3:609
+#, no-wrap
+msgid "The 'a' assignment-allocation modifier"
+msgstr ""
+
#. type: Plain text
-#: build/C/man3/scanf.3:614
+#: build/C/man3/scanf.3:620
+#, fuzzy
+#| msgid ""
+#| "The GNU C library supported the dynamic allocation conversion specifier "
+#| "(as a nonstandard extension) via the B<a> character. This feature seems "
+#| "to be present at least as far back as glibc 2.0."
msgid ""
-"The GNU C library supported the dynamic allocation conversion specifier (as "
-"a nonstandard extension) via the B<a> character. This feature seems to be "
-"present at least as far back as glibc 2.0."
+"Originally, the GNU C library supported dynamic allocation for string inputs "
+"(as a nonstandard extension) via the B<a> character. (This feature is "
+"present at least as far back as glibc 2.0.) Thus, one could write the "
+"following to have B<scanf>() allocate a buffer for an input string, with a "
+"pointer to that buffer being returned in I<*buf>:"
msgstr ""
"GNU C ライブラリ (glibc) では、 B<a> 文字による動的割り当て変換指定子 "
"(dynamic allocation conversion specifier) を (非標準の拡張として) サポートし"
"ている。この機能は少なくとも glibc 2.0 以降で存在しているようである。"
#. type: Plain text
-#: build/C/man3/scanf.3:624
+#: build/C/man3/scanf.3:623
+#, no-wrap
+msgid ""
+" char *buf;\n"
+" scanf(\"%as\", &buf);\n"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/scanf.3:634
msgid ""
-"It is not available if the program is compiled with I<gcc -std=c99> or I<gcc "
-"-D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also specified), in which case "
-"the B<a> is interpreted as a specifier for floating-point numbers (see "
-"above)."
+"The use of the letter B<a> for this purpose was problematic, since B<a> is "
+"also specified by the ISO C standard as a synonym for B<f> (floating-point "
+"input). POSIX.1-2008 instead specifies the B<m> modifier for assignment "
+"allocation (as documented in DESCRIPTION, above)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/scanf.3:646
+#, fuzzy
+#| msgid ""
+#| "It is not available if the program is compiled with I<gcc -std=c99> or "
+#| "I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also specified), in "
+#| "which case the B<a> is interpreted as a specifier for floating-point "
+#| "numbers (see above)."
+msgid ""
+"Note that the B<a> modifier is not available if the program is compiled with "
+"I<gcc -std=c99> or I<gcc -D_ISOC99_SOURCE> (unless B<_GNU_SOURCE> is also "
+"specified), in which case the B<a> is interpreted as a specifier for "
+"floating-point numbers (see above)."
msgstr ""
"この修飾子は I<gcc -std=c99> や I<gcc -D_ISOC99_SOURCE> でコンパイルしたプロ"
"グラムでは (B<_GNU_SOURCE> も同時に指定していない場合) 利用できない。この場"
"合、 B<a> は (上述の通り) 浮動小数点数を示す変換指定子と解釈される。"
#. type: Plain text
-#: build/C/man3/scanf.3:633
+#: build/C/man3/scanf.3:652
+msgid ""
+"Support for the B<m> modifier was added to glibc starting with version 2.7, "
+"and new programs should use that modifier instead of B<a>."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man3/scanf.3:658
msgid ""
-"Since version 2.7, glibc also provides the B<m> modifier for the same "
-"purpose as the B<a> modifier. The B<m> modifier has the following "
-"advantages:"
+"As well as being standardized by POSIX, the B<m> modifier has the following "
+"further advantages over the use of B<a:>"
msgstr ""
-"バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提供し"
-"ている。 B<m> 修飾子は以下の利点がある。"
#. type: Plain text
-#: build/C/man3/scanf.3:638
+#: build/C/man3/scanf.3:663
msgid "It may also be applied to B<%c> conversion specifiers (e.g., B<%3mc>)."
msgstr "B<%c> 変換指定子にも適用できる (例えば B<%3mc>)。"
#. type: Plain text
-#: build/C/man3/scanf.3:644
+#: build/C/man3/scanf.3:669
+#, fuzzy
+#| msgid ""
+#| "It avoids ambiguity with respect to the B<%a> floating-point conversion "
+#| "specifier (and is unaffected by I<gcc -std=c99> etc.)"
msgid ""
"It avoids ambiguity with respect to the B<%a> floating-point conversion "
-"specifier (and is unaffected by I<gcc -std=c99> etc.)"
+"specifier (and is unaffected by I<gcc -std=c99> etc.)."
msgstr ""
"浮動小数点変換指定子としての B<%a> との紛らわしさが避けられる (また I<gcc -"
"std=c99> などの影響も避けられる)。"
#. type: Plain text
-#: build/C/man3/scanf.3:646
-msgid "It is specified in the POSIX.1-2008 standard."
-msgstr "POSIX.1-2008 標準で規定されている。"
-
-#. type: Plain text
-#: build/C/man3/scanf.3:659
+#: build/C/man3/scanf.3:682
msgid ""
"All functions are fully C89 conformant, but provide the additional "
"specifiers B<q> and B<a> as well as an additional behavior of the B<L> and "
"れない。"
#. type: Plain text
-#: build/C/man3/scanf.3:675
+#: build/C/man3/scanf.3:698
msgid ""
"Some combinations of the type modifiers and conversion specifiers defined by "
"ANSI C do not make sense (e.g., B<%Ld>). While they may have a well-defined "
"と組み合わせる場合には、 B<L> の代わりに B<q> を使用した方が良い。"
#. type: Plain text
-#: build/C/man3/scanf.3:681
+#: build/C/man3/scanf.3:704
msgid ""
"The usage of B<q> is not the same as on 4.4BSD, as it may be used in float "
"conversions equivalently to B<L>."
"動小数の変換に使用される。"
#. type: Plain text
-#: build/C/man3/scanf.3:691
+#: build/C/man3/scanf.3:714
msgid ""
"To use the dynamic allocation conversion specifier, specify B<m> as a length "
"modifier (thus B<%ms> or B<%m[>I<range>B<]>). The caller must B<free>(3) "
"呼び出し側は返された文字列を B<free>(3) しなければならない。"
#. type: Plain text
-#: build/C/man3/scanf.3:696
+#: build/C/man3/scanf.3:719
#, no-wrap
msgid ""
"char *p;\n"
"int n;\n"
#. type: Plain text
-#: build/C/man3/scanf.3:707
+#: build/C/man3/scanf.3:730
#, no-wrap
msgid ""
"errno = 0;\n"
"}\n"
#. type: Plain text
-#: build/C/man3/scanf.3:715
+#: build/C/man3/scanf.3:738
msgid ""
"As shown in the above example, it is necessary to call B<free>(3) only if "
"the B<scanf>() call successfully read a string."
"B<free>(3) を呼び出す必要がある。"
#. type: Plain text
-#: build/C/man3/scanf.3:722
+#: build/C/man3/scanf.3:745
msgid ""
"B<getc>(3), B<printf>(3), B<setlocale>(3), B<strtod>(3), B<strtol>(3), "
"B<strtoul>(3)"
#. type: TH
#: build/C/man3/setbuf.3:48
-#, no-wrap
-msgid "2012-08-03"
-msgstr "2012-08-03"
+#, fuzzy, no-wrap
+#| msgid "2012-02-14"
+msgid "2014-02-18"
+msgstr "2012-02-14"
#. type: Plain text
#: build/C/man3/setbuf.3:51
msgstr "その他の関数は値を返さない。"
#. type: Plain text
-#: build/C/man3/setbuf.3:170
+#: build/C/man3/setbuf.3:173
+#, fuzzy
+#| msgid ""
+#| "The B<clearerr>(), B<feof>(), B<ferror>(), and B<fileno>() functions are "
+#| "thread-safe."
+msgid ""
+"The B<setbuf>(), B<setbuffer>(), B<setlinebuf>(), and B<setvbuf>() "
+"functions are thread-safe."
+msgstr ""
+"関数 B<clearerr>(), B<feof>(), B<ferror>(), B<fileno>() はスレッドセーフであ"
+"る。"
+
+#. type: Plain text
+#: build/C/man3/setbuf.3:179
msgid "The B<setbuf>() and B<setvbuf>() functions conform to C89 and C99."
msgstr ""
"B<setbuf>() 関数および B<setvbuf>() 関数は C89 と C99 に準拠している。"
#. type: Plain text
-#: build/C/man3/setbuf.3:180
+#: build/C/man3/setbuf.3:189
msgid ""
"The B<setbuffer>() and B<setlinebuf>() functions are not portable to "
"versions of BSD before 4.2BSD, and are available under Linux since libc "
"ズを使用するので、これも使うべきでない。"
#. type: Plain text
-#: build/C/man3/setbuf.3:187
+#: build/C/man3/setbuf.3:196
msgid ""
"You must make sure that the space that I<buf> points to still exists by the "
"time I<stream> is closed, which also happens at program termination. For "
"な使い方は許されない:"
#. type: Plain text
-#: build/C/man3/setbuf.3:190
+#: build/C/man3/setbuf.3:199
#, no-wrap
msgid "#include E<lt>stdio.hE<gt>\n"
msgstr "#include E<lt>stdio.hE<gt>\n"
#. type: Plain text
-#: build/C/man3/setbuf.3:199
+#: build/C/man3/setbuf.3:208
#, no-wrap
msgid ""
"int\n"
"}\n"
#. type: Plain text
-#: build/C/man3/setbuf.3:208
+#: build/C/man3/setbuf.3:217
msgid ""
"B<fclose>(3), B<fflush>(3), B<fopen>(3), B<fread>(3), B<malloc>(3), B<printf>"
"(3), B<puts>(3)"
"The B<__fbufsize>(), B<__fpending>(), B<__fpurge>() and B<__fsetlocking>() "
"functions do not lock the stream, so they are not thread-safe."
msgstr ""
+"関数 B<__fbufsize>(), B<__fpending>(), B<__fpurge>(), B<__fsetlocking>() "
+"は、 ストリームのロックを行わない。 そのため、スレッドセーフではない。"
#. type: Plain text
#: build/C/man3/stdio_ext.3:151
"The B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
"B<__fwriting>() and B<_flushlbf>() functions are thread-safe."
msgstr ""
+"関数 B<__flbf>(), B<__freadable>(), B<__freading>(), B<__fwritable>(), "
+"B<__fwriting>(), B<_flushlbf>() はスレッドセーフである。"
#. type: Plain text
#: build/C/man3/stdio_ext.3:154
msgstr "B<flockfile>(3), B<fpurge>(3)"
#. type: TH
-#: build/C/man2/symlink.2:32 build/C/man7/symlink.7:36
+#: build/C/man2/symlink.2:33 build/C/man7/symlink.7:36
#, no-wrap
msgid "SYMLINK"
msgstr "SYMLINK"
#. type: Plain text
-#: build/C/man2/symlink.2:35
-msgid "symlink - make a new name for a file"
+#: build/C/man2/symlink.2:36
+#, fuzzy
+#| msgid "symlink - make a new name for a file"
+msgid "symlink, symlinkat - make a new name for a file"
msgstr "symlink - ファイルに新しい名前を付ける"
#. type: Plain text
-#: build/C/man2/symlink.2:39
-msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+#: build/C/man2/symlink.2:41
+#, fuzzy, no-wrap
+#| msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid "B<int symlink(const char *>I<target>B<, const char *>I<linkpath>B<);>\n"
msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
#. type: Plain text
#: build/C/man2/symlink.2:47
+#, fuzzy, no-wrap
+#| msgid "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+msgid "B<int symlinkat(const char *>I<target>B<, int >I<newdirfd>B<, const char *>I<linkpath>B<);>\n"
+msgstr "B<int symlink(const char *>I<oldpath>B<, const char *>I<newpath>B<);>"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:56
msgid "B<symlink>():"
msgstr "B<symlink>():"
#. type: Plain text
-#: build/C/man2/symlink.2:58
+#: build/C/man2/symlink.2:62
+#, fuzzy
+#| msgid "B<symlink>():"
+msgid "B<symlinkat>():"
+msgstr "B<symlink>():"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:80
+#, fuzzy
+#| msgid ""
+#| "B<symlink>() creates a symbolic link named I<newpath> which contains the "
+#| "string I<oldpath>."
msgid ""
-"B<symlink>() creates a symbolic link named I<newpath> which contains the "
-"string I<oldpath>."
+"B<symlink>() creates a symbolic link named I<linkpath> which contains the "
+"string I<target>."
msgstr ""
"B<symlink>() は I<oldpath> という文字列をファイルの内容として持つ "
"I<newpath> というシンボリックリンク (symbolic link) を作成する。"
#. type: Plain text
-#: build/C/man2/symlink.2:62
+#: build/C/man2/symlink.2:84
msgid ""
"Symbolic links are interpreted at run time as if the contents of the link "
"had been substituted into the path being followed to find a file or "
"スを辿ることで、 ファイルやディレクトリに到達する。"
#. type: Plain text
-#: build/C/man2/symlink.2:67
+#: build/C/man2/symlink.2:89
msgid ""
"Symbolic links may contain I<..> path components, which (if used at the "
"start of the link) refer to the parent directories of that in which the link "
"される。"
#. type: Plain text
-#: build/C/man2/symlink.2:71
+#: build/C/man2/symlink.2:93
msgid ""
"A symbolic link (also known as a soft link) may point to an existing file or "
"to a nonexistent one; the latter case is known as a dangling link."
"の場合は壊れたリンク (dangling link) とも呼ばれる。"
#. type: Plain text
-#: build/C/man2/symlink.2:78
+#: build/C/man2/symlink.2:100
msgid ""
"The permissions of a symbolic link are irrelevant; the ownership is ignored "
"when following the link, but is checked when removal or renaming of the link "
"(B<S_ISVTX>) が設定されている場合には、所有権のチェックが行われる。"
#. type: Plain text
-#: build/C/man2/symlink.2:99
+#: build/C/man2/symlink.2:106
+#, fuzzy
+#| msgid "If I<newpath> exists it will I<not> be overwritten."
+msgid "If I<linkpath> exists it will I<not> be overwritten."
+msgstr "I<newpath> が存在する場合には上書きはI<されない>。"
+
+#. type: SS
+#: build/C/man2/symlink.2:106
+#, fuzzy, no-wrap
+#| msgid "B<symlink>():"
+msgid "symlinkat()"
+msgstr "B<symlink>():"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:112
+msgid ""
+"The B<symlinkat>() system call operates in exactly the same way as "
+"B<symlink>(), except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:122
+msgid ""
+"If the pathname given in I<linkpath> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<newdirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<symlink>() for a relative pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:134
+msgid ""
+"If I<linkpath> is relative and I<newdirfd> is the special value B<AT_FDCWD>, "
+"then I<linkpath> is interpreted relative to the current working directory of "
+"the calling process (like B<symlink>())."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:140
+msgid "If I<linkpath> is absolute, then I<newdirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:155
+#, fuzzy
+#| msgid ""
+#| "Write access to the directory containing I<newpath> is denied, or one of "
+#| "the directories in the path prefix of I<newpath> did not allow search "
+#| "permission. (See also B<path_resolution>(7).)"
msgid ""
-"Write access to the directory containing I<newpath> is denied, or one of the "
-"directories in the path prefix of I<newpath> did not allow search "
+"Write access to the directory containing I<linkpath> is denied, or one of "
+"the directories in the path prefix of I<linkpath> did not allow search "
"permission. (See also B<path_resolution>(7).)"
msgstr ""
"I<newpath> を含んでいるディレクトリへの書き込みが拒否されたか、 I<newpath> に"
"(B<path_resolution>(7) も参照すること)。"
#. type: Plain text
-#: build/C/man2/symlink.2:104
+#: build/C/man2/symlink.2:160
msgid ""
-"The user's quota of resources on the file system has been exhausted. The "
-"resources could be inodes or disk blocks, depending on the file system "
+"The user's quota of resources on the filesystem has been exhausted. The "
+"resources could be inodes or disk blocks, depending on the filesystem "
"implementation."
msgstr ""
"そのファイルシステムのリソース使用量がユーザクォータに達している。対象となる"
"依存である。"
#. type: Plain text
-#: build/C/man2/symlink.2:118
-msgid "Too many symbolic links were encountered in resolving I<newpath>."
+#: build/C/man2/symlink.2:164
+#, fuzzy
+#| msgid "I<newpath> already exists."
+msgid "I<linkpath> already exists."
+msgstr "I<newpath> が既に存在する。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:167
+#, fuzzy
+#| msgid ""
+#| "I<oldpath> or I<newpath> points outside your accessible address space."
+msgid "I<target> or I<linkpath> points outside your accessible address space."
+msgstr ""
+"I<oldpath> や I<newpath> がアクセス可能なアドレス空間の外を指している。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:174
+#, fuzzy
+#| msgid "Too many symbolic links were encountered in resolving I<newpath>."
+msgid "Too many symbolic links were encountered in resolving I<linkpath>."
msgstr "I<newpath> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
#. type: Plain text
-#: build/C/man2/symlink.2:128
+#: build/C/man2/symlink.2:177
+#, fuzzy
+#| msgid "I<oldpath> or I<newpath> was too long."
+msgid "I<target> or I<linkpath> was too long."
+msgstr "I<oldpath> または I<newpath> が長過ぎる。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:184
+#, fuzzy
+#| msgid ""
+#| "A directory component in I<newpath> does not exist or is a dangling "
+#| "symbolic link, or I<oldpath> is the empty string."
msgid ""
-"A directory component in I<newpath> does not exist or is a dangling symbolic "
-"link, or I<oldpath> is the empty string."
+"A directory component in I<linkpath> does not exist or is a dangling "
+"symbolic link, or I<target> is the empty string."
msgstr ""
"I<newpath> に含まれるディレクトリ部分が存在しないか、壊れたリンクであるか、 "
"I<oldpath> が空文字列である。"
#. type: Plain text
-#: build/C/man2/symlink.2:140
+#: build/C/man2/symlink.2:196
+#, fuzzy
+#| msgid ""
+#| "A component used as a directory in I<newpath> is not, in fact, a "
+#| "directory."
msgid ""
-"A component used as a directory in I<newpath> is not, in fact, a directory."
+"A component used as a directory in I<linkpath> is not, in fact, a directory."
msgstr ""
"I<newpath> に含まれるディレクトリ部分が、実際には、ディレクトリではない。"
#. type: Plain text
-#: build/C/man2/symlink.2:145
+#: build/C/man2/symlink.2:201
+#, fuzzy
+#| msgid ""
+#| "The filesystem containing I<newpath> does not support the creation of "
+#| "symbolic links."
msgid ""
-"The file system containing I<newpath> does not support the creation of "
+"The filesystem containing I<linkpath> does not support the creation of "
"symbolic links."
msgstr ""
"I<newpath> を含んでいるファイルシステム (file system) が シンボリックリンクの"
"作成をサポートしていない。"
#. type: Plain text
-#: build/C/man2/symlink.2:149
-msgid "I<newpath> is on a read-only file system."
+#: build/C/man2/symlink.2:205
+#, fuzzy
+#| msgid "I<newpath> is on a read-only filesystem."
+msgid "I<linkpath> is on a read-only filesystem."
msgstr "I<newpath> が読み込み専用のファイルシステムに存在している。"
#. type: Plain text
-#: build/C/man2/symlink.2:159
-msgid "No checking of I<oldpath> is done."
+#: build/C/man2/symlink.2:208
+msgid "The following additional errors can occur for B<symlinkat>():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:212
+#, fuzzy
+#| msgid "I<fd> is not an open file descriptor."
+msgid "I<newdirfd> is not a valid file descriptor."
+msgstr "I<fd> がオープンされたファイルディスクリプタでない。"
+
+#. type: Plain text
+#: build/C/man2/symlink.2:218
+msgid ""
+"I<linkpath> is relative and I<newdirfd> is a file descriptor referring to a "
+"file other than a directory."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/symlink.2:222
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<symlinkat>() was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
+#. SVr4 documents additional error codes EDQUOT and ENOSYS.
+#. See
+#. .BR open (2)
+#. re multiple files with the same name, and NFS.
+#. type: Plain text
+#: build/C/man2/symlink.2:229
+#, fuzzy
+#| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgid "B<symlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/symlink.2:232
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<symlinkat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man2/symlink.2:236
+#, fuzzy
+#| msgid "No checking of I<oldpath> is done."
+msgid "No checking of I<target> is done."
msgstr "I<oldpath> についてのチェックは行なわれない。"
#. type: Plain text
-#: build/C/man2/symlink.2:164
+#: build/C/man2/symlink.2:241
+#, fuzzy
+#| msgid ""
+#| "Deleting the name referred to by a symlink will actually delete the file "
+#| "(unless it also has other hard links). If this behavior is not desired, "
+#| "use B<link>(2)."
msgid ""
-"Deleting the name referred to by a symlink will actually delete the file "
-"(unless it also has other hard links). If this behavior is not desired, use "
-"B<link>(2)."
+"Deleting the name referred to by a symbolic link will actually delete the "
+"file (unless it also has other hard links). If this behavior is not "
+"desired, use B<link>(2)."
msgstr ""
"symlink によって参照される名前を削除すると (それが他にハードリンク (hard "
"link) を持たなければ) 実際にファイルが削除される。 この動作が望んだものでない"
"場合は、 B<link>(2) を使用すること。"
#. type: Plain text
-#: build/C/man2/symlink.2:176
+#: build/C/man2/symlink.2:252
+#, fuzzy
+#| msgid ""
+#| "B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>"
+#| "(2), B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
+#| "B<symlink>(7)"
msgid ""
"B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
-"B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
-"B<symlink>(7)"
+"B<rename>(2), B<unlink>(2), B<path_resolution>(7), B<symlink>(7)"
msgstr ""
"B<ln>(1), B<lchown>(2), B<link>(2), B<lstat>(2), B<open>(2), B<readlink>(2), "
"B<rename>(2), B<symlinkat>(2), B<unlink>(2), B<path_resolution>(7), "
#. type: Plain text
#: build/C/man7/symlink.7:39
msgid "symlink - symbolic link handling"
-msgstr ""
+msgstr "symlink - シンボリックリンクの取り扱い"
#. type: SH
#: build/C/man7/symlink.7:39
#, no-wrap
msgid "SYMBOLIC LINK HANDLING"
-msgstr ""
+msgstr "シンボリックリンクの取り扱い"
#. type: Plain text
#: build/C/man7/symlink.7:43
"Symbolic links are files that act as pointers to other files. To understand "
"their behavior, you must first understand how hard links work."
msgstr ""
+"シンボリックリンクは他のファイルへのポインタとして振る舞うファイルである。 そ"
+"の挙動を理解するには、まずハードリンクがどのように機能するかを理解しておかな"
+"ければならない。"
#. type: Plain text
#: build/C/man7/symlink.7:59
"is a reference to the object underlying the original filename. (To be "
"precise: each of the hard links to a file is a reference to the same I<i-"
"node number>, where an i-node number is an index into the i-node table, "
-"which contains metadata about all files on a file system. See B<stat>(2).) "
+"which contains metadata about all files on a filesystem. See B<stat>(2).) "
"Changes to a file are independent of the name used to reference the file. "
"Hard links may not refer to directories (to prevent the possibility of loops "
-"within the file system tree, which would confuse many programs) and may not "
-"refer to files on different file systems (because i-node numbers are not "
-"unique across file systems)."
-msgstr ""
+"within the filesystem tree, which would confuse many programs) and may not "
+"refer to files on different filesystems (because i-node numbers are not "
+"unique across filesystems)."
+msgstr ""
+"あるファイルへのハードリンクは、 元々のファイルと区別することができない。 な"
+"ぜなら、 ハードリンクは元々のファイル名の裏にあるオブジェクトへの参照だからで"
+"ある。 (より正確には、 あるファイルへのハードリンクはそれぞれ同じ I<i-node 番"
+"号> への参照である。 i-node 番号は i-node テーブルへのインデックスで、 i-"
+"node テーブルはファイルシステム上のすべてのファイルについてのメタデータを保持"
+"している。 B<stat>(2) 参照。) ファイルへの変更は、ファイルの参照に使用された"
+"名前とは独立に行われる。 ハードリンクはディレクトリを参照することはできない "
+"(これはファイルシステムツリー内でループが発生する可能性を防止するためであ"
+"り、 ループが発生すると、 多くのプログラムが混乱してしまうことだろう)。 ま"
+"た、 ハードリンクは異なるファイルシステム上のファイルを参照することもできな"
+"い (i-node 番号はファイルシステムをまたがると一意ではないからである)。"
#. type: Plain text
#: build/C/man7/symlink.7:66
+#, fuzzy
+#| msgid ""
+#| "A symbolic link is a special type of file whose contents are a string "
+#| "that is the pathname another file, the file to which the link refers. In "
+#| "other words, a symbolic link is a pointer to another name, and not to an "
+#| "underlying object. For this reason, symbolic links may refer to "
+#| "directories and may cross filesystem boundaries."
msgid ""
"A symbolic link is a special type of file whose contents are a string that "
-"is the pathname another file, the file to which the link refers. In other "
-"words, a symbolic link is a pointer to another name, and not to an "
+"is the pathname of another file, the file to which the link refers. In "
+"other words, a symbolic link is a pointer to another name, and not to an "
"underlying object. For this reason, symbolic links may refer to directories "
-"and may cross file system boundaries."
+"and may cross filesystem boundaries."
msgstr ""
+"シンボリックリンクは特別な種類のファイルで、 ファイルの内容はそのリンクの参照"
+"先の別のファイルのパス名を示す文字列である。 言い換えると、 シンボリックリン"
+"クは別の名前へ\n"
+"のポインタであり、 ファイルの裏にあるオブジェクトへのポインタではない。 この"
+"理由から、 シンボリックリンクではディレクトリへの参照やファイルシステム境界を"
+"越える参照を行うことができる。"
#. type: Plain text
#: build/C/man7/symlink.7:72
"should exist. A symbolic link that refers to a pathname that does not exist "
"is said to be a I<dangling link>."
msgstr ""
+"シンボリックリンクが参照する先のパス名が存在しないといけないという要件はな"
+"い。 存在しないパス名を参照するシンボリックリンクは「壊れた (dangling) リン"
+"ク」と呼ばれる。"
#. type: Plain text
#: build/C/man7/symlink.7:84
msgid ""
-"Because a symbolic link and its referenced object coexist in the file system "
+"Because a symbolic link and its referenced object coexist in the filesystem "
"name space, confusion can arise in distinguishing between the link itself "
"and the referenced object. On historical systems, commands and system calls "
"adopted their own link-following conventions in a somewhat ad-hoc fashion. "
"applications also conform to these rules, so that the user interface can be "
"as consistent as possible."
msgstr ""
+"シンボリックリンクとその参照先のオブジェクトは一つのファイルシステムの名前空"
+"間内に共存するので、 リンクそのものと参照先のオブジェクトの間で混乱が生じる可"
+"能性がある。 かなり昔からあるシステムでは、 コマンドやシステムコールはいくら"
+"かアドホックな方法の独自のリンクの辿り方の決まり事を採用している。 ここで"
+"は、 Linux や他のシステムで実装されている、 もっと広く使われている方法のルー"
+"ルについて概要を説明する。 サイト固有のアプリケーションもこれらのルールに準拠"
+"し、 可能な限りユーザインターフェースが一貫したものになるようにすることが重要"
+"である。"
#. type: SS
#: build/C/man7/symlink.7:84
#, no-wrap
msgid "Symbolic link ownership, permissions, and timestamps"
-msgstr ""
+msgstr "シンボリックリンクの所有権、アクセス許可、タイムスタンプ"
#. type: Plain text
#: build/C/man7/symlink.7:92
"is when the link is being removed or renamed in a directory that has the "
"sticky bit set (see B<stat>(2))."
msgstr ""
+"既存のシンボリックリンクの所有者とグループは B<lchown>(2) を使って変更するこ"
+"とができる。 シンボリックリンクの所有権が問題となる場面は、 スティッキービッ"
+"ト (B<stat>(2) 参照) がセットされたディレクトリで、 そのリンクの削除や名前の"
+"変更を行おうとしている場合だけである。"
#. type: Plain text
#: build/C/man7/symlink.7:98
"The last access and last modification timestamps of a symbolic link can be "
"changed using B<utimensat>(2) or B<lutimes>(3)."
msgstr ""
+"シンボリックリンクの最終アクセス時刻と最終修正時刻は B<utimensat>(2) や "
+"B<lutimes>(3) で変更できる。"
#. Linux does not currently implement an lchmod(2).
#. The
"the permissions are always 0777 (read, write, and execute for all user "
"categories), and can't be changed."
msgstr ""
+"Linux では、シンボリックリンクのアクセス許可 (permission) はどの操作でも使用"
+"されない。 アクセス許可は常に 0777 (すべてのユーザカテゴリにおいて読み出し、"
+"書き込み、実行が可能) で、変更できない。"
#. type: SS
#: build/C/man7/symlink.7:117
#, no-wrap
msgid "Handling of symbolic links by system calls and commands"
-msgstr ""
+msgstr "システムコールやコマンドによるシンボリックリンクの取り扱い"
#. type: Plain text
#: build/C/man7/symlink.7:132
msgid ""
"There are three separate areas that need to be discussed. They are as "
"follows:"
-msgstr ""
+msgstr "3 つの領域に分けて議論する必要がある。以下の 3 つである。"
#. type: IP
#: build/C/man7/symlink.7:135
#: build/C/man7/symlink.7:137
msgid "Symbolic links used as filename arguments for system calls."
msgstr ""
+"システムコールのファイル名引き数としてシンボリックリンクが使用される場合。"
#. type: IP
#: build/C/man7/symlink.7:137
"Symbolic links specified as command-line arguments to utilities that are not "
"traversing a file tree."
msgstr ""
+"ファイルツリーを辿っていないユーティリティのコマンドライン引き数としてシンボ"
+"リックリンクが指定される場合。"
#. type: IP
#: build/C/man7/symlink.7:140
"(either specified on the command line or encountered as part of the file "
"hierarchy walk)."
msgstr ""
+"ファイルツリーを辿っているユーティリティがシンボリックリンクを見つけた場合 "
+"(コマンドラインで指定される場合もあれば、 ファイル階層を辿っている途中で遭遇"
+"する場合もある)。"
#. type: SS
#: build/C/man7/symlink.7:144
#, no-wrap
msgid "System calls"
-msgstr ""
+msgstr "システムコール"
#. type: Plain text
#: build/C/man7/symlink.7:147
msgid ""
"The first area is symbolic links used as filename arguments for system calls."
msgstr ""
+"最初の領域は、システムコールのファイル名引き数としてシンボリックリンクが使用"
+"される場合である。"
#. type: Plain text
#: build/C/man7/symlink.7:157
"I<afile>, the system call I<open(\"slink\" ...\\&)> would return a file "
"descriptor referring to the file I<afile>."
msgstr ""
+"以下に述べる場合を除くと、 すべてのシステムコールはシンボリックリンクを辿"
+"る。 例えば、 I<afile> という名前のファイルを指しているシンボリックリンク "
+"I<slink> があったとすると、 システムコール I<open(\"slink\" ...\\&)> はファイ"
+"ル I<afile> を参照するファイルディスクリプタを返す。"
#. Maybe one day: .BR fchownat (2)
#. type: Plain text
"compiler options.) The upcoming POSIX.1 revision changes the specification "
"to allow either behavior in an implementation."
msgstr ""
+"いくつかのシステムコールは、 シンボリックリンクを辿らず、 シンボリックリンク"
+"自身に対して操作を行う。 B<lchown>(2), B<lgetxattr>(2), B<llistxattr>(2), "
+"B<lremovexattr>(2), B<lsetxattr>(2), B<lstat>(2), B<readlink>(2), B<rename>"
+"(2), B<rmdir>(2), B<unlink>(2) が該当する。 他のいくつかのシステムコールは、 "
+"シンボリックリンクを辿る場合と辿らない場合がある。 該当するのは B<faccessat>"
+"(2), B<fchownat>(2), B<fstatat>(2), B<linkat>(2), B<open>(2), B<openat>(2), "
+"B<utimensat>(2) である。 詳細はそれぞれのマニュアルページを参照。 ライブラリ"
+"関数 B<remove>(3) は B<unlink>(2) の別名なので、 この関数もシンボリックリンク"
+"を辿らない。 B<rmdir>(2) をシンボリックリンクに対して行った場合、 エラー "
+"B<ENOTDIR> で失敗する。 B<link>(2) は特別に議論が必要である。 POSIX.1-2001 "
+"は、 B<link>(2) は I<oldpath> がシンボリックリンクの場合にはこのリンクを展開"
+"すべきだと規定している。 しかし、 Linux はこれを行っていない。 (デフォルトで"
+"は Solaris も同じだが、 適切なコンパイルオプションを指定することで "
+"POSIX.1-2001 で規定された動作にすることもできる。) POSIX.1-2001 の次の版で"
+"は、仕様が変更され、 どちらの動作の実装も認められるようになる。"
#. type: SS
#: build/C/man7/symlink.7:207
#, no-wrap
msgid "Commands not traversing a file tree"
-msgstr ""
+msgstr "ファイルツリーを辿らないコマンド"
#. type: Plain text
#: build/C/man7/symlink.7:210
"The second area is symbolic links, specified as command-line filename "
"arguments, to commands which are not traversing a file tree."
msgstr ""
+"二つ目の領域は、ファイルツリーを辿らないコマンドの、コマンドライン引き数の"
+"ファイル名としてシンボリックリンクが指定される場合である。"
#. type: Plain text
#: build/C/man7/symlink.7:221
"pointed to a file named I<afile>, the command I<cat slink> would display the "
"contents of the file I<afile>."
msgstr ""
+"以下に述べる場合を除くと、 コマンドはコマンドライン引き数で指定された名前のシ"
+"ンボリックリンクを辿る。 例えば、 I<afile> という名前のファイルを指しているシ"
+"ンボリックリンク I<slink> があったとすると、 コマンド I<cat slink> は "
+"I<afile> の内容を表示することになる。"
#. type: Plain text
#: build/C/man7/symlink.7:229
msgid ""
"It is important to realize that this rule includes commands which may "
-"optionally traverse file trees, e.g., the command I<chown file> is included "
-"in this rule, while the command I<chown\\ -R file>, which performs a tree "
-"traversal, is not. (The latter is described in the third area, below.)"
+"optionally traverse file trees; for example, the command I<chown file> is "
+"included in this rule, while the command I<chown\\ -R file>, which performs "
+"a tree traversal, is not. (The latter is described in the third area, "
+"below.)"
msgstr ""
#. type: Plain text
#: build/C/man7/symlink.7:247
msgid ""
"If it is explicitly intended that the command operate on the symbolic link "
-"instead of following the symbolic link, e.g., it is desired that I<chown "
-"slink> change the ownership of the file that I<slink> is, whether it is a "
-"symbolic link or not, the I<-h> option should be used. In the above "
+"instead of following the symbolic link\\(emfor example, it is desired that "
+"I<chown slink> change the ownership of the file that I<slink> is, whether it "
+"is a symbolic link or not\\(emthe I<-h> option should be used. In the above "
"example, I<chown root slink> would change the ownership of the file referred "
"to by I<slink>, while I<chown\\ -h root slink> would change the ownership of "
"I<slink> itself."
#. type: Plain text
#: build/C/man7/symlink.7:249
msgid "There are some exceptions to this rule:"
-msgstr ""
+msgstr "このルールにはいくつかの例外がある。"
#. type: Plain text
#: build/C/man7/symlink.7:259
"another directory may very well cause it to stop working, since the path may "
"no longer be correct.)"
msgstr ""
+"コマンド B<mv>(1) と B<rm>(1) は引き数で指定された名前のシンボリックリンクを"
+"辿らないが、 それぞれシンボリックリンク自身の名前変更と削除を行おうとする。 "
+"(シンボリックリンクが相対パスでファイルを参照している場合、 そのシンボリック"
+"リンクを別のディレクトリに移動すると、動かなくなることが非常によくある。 移動"
+"の結果、 パスが正しくないものになってしまうからである。)"
#. type: Plain text
#: build/C/man7/symlink.7:289
msgid ""
"The B<ls>(1) command is also an exception to this rule. For compatibility "
-"with historic systems (when B<ls>(1) is not doing a tree walk, i.e., the I<-"
-"R> option is not specified), the B<ls>(1) command follows symbolic links "
+"with historic systems (when B<ls>(1) is not doing a tree walk\\(emthat is, "
+"I<-R> option is not specified), the B<ls>(1) command follows symbolic links "
"named as arguments if the I<-H> or I<-L> option is specified, or if the I<-"
"F>, I<-d>, or I<-l> options are not specified. (The B<ls>(1) command is "
"the only command where the I<-H> and I<-L> options affect its behavior even "
#: build/C/man7/symlink.7:307
#, no-wrap
msgid "Commands traversing a file tree"
-msgstr ""
+msgstr "ファイルツリーを辿るコマンド"
#. type: Plain text
#: build/C/man7/symlink.7:320
#: build/C/man7/symlink.7:438
msgid "The B<ls>(1) and B<rm>(1) commands have exceptions to these rules:"
msgstr ""
+"コマンド B<ls>(1) と B<rm>(1) には、 これらのルールに対する例外がある。"
#. type: Plain text
#: build/C/man7/symlink.7:451
"references, and therefore never follows a symbolic link. The B<rm>(1) "
"command does not support the I<-H>, I<-L>, or I<-P> options."
msgstr ""
+"B<rm>(1) コマンドは、 参照先のファイルではなく、シンボリックリンクに対して操"
+"作を行う。 したがって、 シンボリックリンクを辿ることはない。 B<rm>(1) コマン"
+"ドはオプション I<-H>, I<-L>, I<-P> をサポートしていない。"
#. type: Plain text
#: build/C/man7/symlink.7:471
msgid "TEMPNAM"
msgstr "TEMPNAM"
+#. type: TH
+#: build/C/man3/tempnam.3:25 build/C/man3/tmpnam.3:27
+#, fuzzy, no-wrap
+#| msgid "2013-02-12"
+msgid "2014-02-27"
+msgstr "2013-02-12"
+
#. type: Plain text
#: build/C/man3/tempnam.3:28
msgid "tempnam - create a name for a temporary file"
msgstr "B<tempnam>(): _BSD_SOURCE || _SVID_SOURCE"
#. type: Plain text
-#: build/C/man3/tempnam.3:56
+#: build/C/man3/tempnam.3:49
+#, fuzzy
+#| msgid ""
+#| "Never use this function. Use B<mkstemp>(3) or B<tmpfile>(3) instead."
+msgid ""
+"I<Never use this function.> Use B<mkstemp>(3) or B<tmpfile>(3) instead."
+msgstr ""
+"決してこの関数を使ってはならない。代わりに B<mkstemp>(3) か B<tmpfile>(3) "
+"を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tempnam.3:63
msgid ""
"The B<tempnam>() function returns a pointer to a string that is a valid "
"filename, and such that a file with this name did not exist when B<tempnam>"
"ためにはまず少なくとも 書き込み可能でなければならない)。"
#. type: Plain text
-#: build/C/man3/tempnam.3:59
+#: build/C/man3/tempnam.3:66
msgid ""
"Attempts to find an appropriate directory go through the following steps:"
msgstr "適切なディレクトリの探索は、以下の手順にしたがって行われる。"
#. type: TP
-#: build/C/man3/tempnam.3:59
+#: build/C/man3/tempnam.3:66
#, no-wrap
msgid "a)"
msgstr "a)"
#. type: Plain text
-#: build/C/man3/tempnam.3:65
+#: build/C/man3/tempnam.3:72
msgid ""
"In case the environment variable B<TMPDIR> exists and contains the name of "
"an appropriate directory, that is used."
"ら、それを用いる。"
#. type: TP
-#: build/C/man3/tempnam.3:65
+#: build/C/man3/tempnam.3:72
#, no-wrap
msgid "b)"
msgstr "b)"
#. type: Plain text
-#: build/C/man3/tempnam.3:70
+#: build/C/man3/tempnam.3:77
msgid ""
"Otherwise, if the I<dir> argument is non-NULL and appropriate, it is used."
msgstr ""
"る。"
#. type: TP
-#: build/C/man3/tempnam.3:70
+#: build/C/man3/tempnam.3:77
#, no-wrap
msgid "c)"
msgstr "c)"
#. type: Plain text
-#: build/C/man3/tempnam.3:77
+#: build/C/man3/tempnam.3:84
msgid ""
"Otherwise, I<P_tmpdir> (as defined in I<E<lt>stdio.hE<gt>>) is used when "
"appropriate."
"なら、それを用いる。"
#. type: TP
-#: build/C/man3/tempnam.3:77
+#: build/C/man3/tempnam.3:84
#, no-wrap
msgid "d)"
msgstr "d)"
#. type: Plain text
-#: build/C/man3/tempnam.3:80
+#: build/C/man3/tempnam.3:87
msgid "Finally an implementation-defined directory may be used."
msgstr "最後に実装で定義されたディレクトリが用いられることになる。"
#. type: Plain text
-#: build/C/man3/tempnam.3:87
+#: build/C/man3/tempnam.3:94
msgid ""
"The string returned by B<tempnam>() is allocated using B<malloc>(3) and "
"hence should be freed by B<free>(3)."
"B<free>(3) で解放すべきである。"
#. type: Plain text
-#: build/C/man3/tempnam.3:94
+#: build/C/man3/tempnam.3:101
msgid ""
-"On succes, the B<tempnam>() function returns a pointer to a unique "
+"On success, the B<tempnam>() function returns a pointer to a unique "
"temporary filename. It returns NULL if a unique name cannot be generated, "
"with I<errno> set to indicate the cause of the error."
msgstr ""
"値を設定する。"
#. type: Plain text
-#: build/C/man3/tempnam.3:98
+#: build/C/man3/tempnam.3:105
msgid "Allocation of storage failed."
msgstr "保存領域の割り当てに失敗した。"
#. type: Plain text
-#: build/C/man3/tempnam.3:103
+#: build/C/man3/tempnam.3:110
msgid ""
"SVr4, 4.3BSD, POSIX.1-2001. POSIX.1-2008 marks B<tempnam>() as obsolete."
msgstr ""
"る。"
#. type: Plain text
-#: build/C/man3/tempnam.3:122
+#: build/C/man3/tempnam.3:129
msgid ""
"Although B<tempnam>() generates names that are difficult to guess, it is "
"nevertheless possible that between the time that B<tempnam>() returns a "
"B<tmpfile>(3) を使うことである。"
#. type: Plain text
-#: build/C/man3/tempnam.3:130
+#: build/C/man3/tempnam.3:137
msgid ""
"SUSv2 does not mention the use of B<TMPDIR>; glibc will use it only when the "
"program is not set-user-ID. On SVr4, the directory used under B<d)> is I</"
"ディレクトリを I</tmp> と定めている (glibc もこの通りである)。"
#. type: Plain text
-#: build/C/man3/tempnam.3:135
+#: build/C/man3/tempnam.3:142
msgid ""
"Because it dynamically allocates memory used to return the pathname, "
"B<tempnam>() is reentrant, and thus thread safe, unlike B<tmpnam>(3)."
"B<tempnam>() はリエントラントであり、スレッドセーフである。"
#. type: Plain text
-#: build/C/man3/tempnam.3:148
+#: build/C/man3/tempnam.3:155
msgid ""
"The B<tempnam>() function generates a different string each time it is "
"called, up to B<TMP_MAX> (defined in I<E<lt>stdio.hE<gt>>) times. If it is "
"B<TMP_MAX> 回以上呼び出された場合、動作は実装依存である。"
#. type: Plain text
-#: build/C/man3/tempnam.3:152
+#: build/C/man3/tempnam.3:159
msgid "B<tempnam>() uses at most the first five bytes from I<pfx>."
msgstr "B<tempnam>() は最大で I<pfx> の先頭 5 バイトを使用する。"
#. type: Plain text
-#: build/C/man3/tempnam.3:158
+#: build/C/man3/tempnam.3:165
msgid ""
"The glibc implementation of B<tempnam>() will fail with the error B<EEXIST> "
"upon failure to find a unique name."
"ラー B<EEXIST> で失敗する。"
#. type: Plain text
-#: build/C/man3/tempnam.3:161
+#: build/C/man3/tempnam.3:168
msgid ""
"The precise meaning of \"appropriate\" is undefined; it is unspecified how "
"accessibility of a directory is determined."
"度のアクセス権限が必要なのかは指定されていない。"
#. type: Plain text
-#: build/C/man3/tempnam.3:168 build/C/man3/tmpnam.3:163
-msgid "Never use this function. Use B<mkstemp>(3) or B<tmpfile>(3) instead."
-msgstr ""
-"決してこの関数を使ってはならない。代わりに B<mkstemp>(3) か B<tmpfile>(3) "
-"を使うこと。"
-
-#. type: Plain text
#: build/C/man3/tempnam.3:173
msgid "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
msgstr "B<mkstemp>(3), B<mktemp>(3), B<tmpfile>(3), B<tmpnam>(3)"
#. type: Plain text
#: build/C/man3/tmpfile.3:78
-msgid "Read-only file system."
+msgid "Read-only filesystem."
msgstr "読みだし専用ファイルシステムである。"
#. type: Plain text
msgstr "B<char *tmpnam(char *>I<s>B<);>\n"
#. type: Plain text
-#: build/C/man3/tmpnam.3:58
+#: build/C/man3/tmpnam.3:45
+#, fuzzy
+#| msgid ""
+#| "Never use this function. Use B<mkstemp>(3) or B<tmpfile>(3) instead."
+msgid ""
+"B<Note:> Avoid use of B<tmpnam>(); use B<mkstemp>(3) or B<tmpfile>(3) "
+"instead."
+msgstr ""
+"決してこの関数を使ってはならない。代わりに B<mkstemp>(3) か B<tmpfile>(3) "
+"を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:67
msgid ""
"The B<tmpnam>() function returns a pointer to a string that is a valid "
"filename, and such that a file with this name did not exist at some point in "
"ピーされ、 成功した場合は I<s> が返される。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:70
+#: build/C/man3/tmpnam.3:79
msgid ""
"The pathname that is created, has a directory prefix I<P_tmpdir>. (Both "
"I<L_tmpnam> and I<P_tmpdir> are defined in I<E<lt>stdio.hE<gt>>, just like "
"hE<gt>> で定義されている。)"
#. type: Plain text
-#: build/C/man3/tmpnam.3:75
+#: build/C/man3/tmpnam.3:84
msgid ""
"The B<tmpnam>() function returns a pointer to a unique temporary filename, "
"or NULL if a unique name cannot be generated."
"が作成できなかった場合は NULL を返す。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:77
+#: build/C/man3/tmpnam.3:86
msgid "No errors are defined."
msgstr "エラーは定義されていない。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:83
+#: build/C/man3/tmpnam.3:92
msgid ""
"The B<tmpnam>() function is thread-safe with exceptions. It is not thread-"
"safe if called with a NULL parameter."
msgstr ""
+"B<tmpnam>() 関数は例外付きでスレッドセーフである。 NULL パラメータで呼び出さ"
+"れた場合はスレッドセーフではない。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:87
+#: build/C/man3/tmpnam.3:96
msgid "The B<tmpnam_r>() function is thread-safe."
-msgstr ""
+msgstr "B<tmpnam_r>() 関数はスレッドセーフである。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:92
+#: build/C/man3/tmpnam.3:101
msgid ""
"SVr4, 4.3BSD, C89, C99, POSIX.1-2001. POSIX.1-2008 marks B<tmpnam>() as "
"obsolete."
"定としている。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:103
+#: build/C/man3/tmpnam.3:112
msgid ""
"The B<tmpnam>() function generates a different string each time it is "
"called, up to B<TMP_MAX> times. If it is called more than B<TMP_MAX> times, "
"する。 B<TMP_MAX> 回以上呼び出された場合、その動作は実装依存である。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:122
+#: build/C/man3/tmpnam.3:131
msgid ""
"Although B<tmpnam>() generates names that are difficult to guess, it is "
"nevertheless possible that between the time that B<tmpnam>() returns a "
"B<tmpfile>(3) を使うことである。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:130
+#: build/C/man3/tmpnam.3:139
msgid ""
"Portable applications that use threads cannot call B<tmpnam>() with a NULL "
"argument if either B<_POSIX_THREADS> or B<_POSIX_THREAD_SAFE_FUNCTIONS> is "
"NULL 引き数で呼び出してはならない。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:134
+#: build/C/man3/tmpnam.3:143
msgid "A POSIX draft proposed to use a function B<tmpnam_r>() defined by"
msgstr ""
"POSIX 草案では、関数 B<tmpnam_r>() を使うことを提案している。 この関数は、以"
"扱いしている。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:142
+#: build/C/man3/tmpnam.3:151
#, no-wrap
msgid ""
"char *\n"
"}\n"
#. type: Plain text
-#: build/C/man3/tmpnam.3:156
+#: build/C/man3/tmpnam.3:165
msgid ""
"apparently as a warning not to use NULL. A few systems implement it. To "
"get a glibc prototype for this function from I<E<lt>stdio.hE<gt>>, define "
"がある。"
#. type: Plain text
-#: build/C/man3/tmpnam.3:168
+#: build/C/man3/tmpnam.3:172
+msgid "Never use this function. Use B<mkstemp>(3) or B<tmpfile>(3) instead."
+msgstr ""
+"決してこの関数を使ってはならない。代わりに B<mkstemp>(3) か B<tmpfile>(3) "
+"を使うこと。"
+
+#. type: Plain text
+#: build/C/man3/tmpnam.3:177
msgid "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
msgstr "B<mkstemp>(3), B<mktemp>(3), B<tempnam>(3), B<tmpfile>(3)"
#. type: TH
-#: build/C/man2/unlink.2:32
+#: build/C/man2/unlink.2:33
#, no-wrap
msgid "UNLINK"
msgstr "UNLINK"
-#. type: TH
-#: build/C/man2/unlink.2:32
-#, no-wrap
-msgid "2011-09-15"
-msgstr "2011-09-15"
-
#. type: Plain text
-#: build/C/man2/unlink.2:35
-msgid "unlink - delete a name and possibly the file it refers to"
+#: build/C/man2/unlink.2:36
+#, fuzzy
+#| msgid "unlink - delete a name and possibly the file it refers to"
+msgid "unlink, unlinkat - delete a name and possibly the file it refers to"
msgstr ""
"unlink - 名前を削除し、場合によってはそれが参照しているファイルも削除する"
#. type: Plain text
-#: build/C/man2/unlink.2:39
-msgid "B<int unlink(const char *>I<pathname>B<);>"
+#: build/C/man2/unlink.2:41
+#, fuzzy, no-wrap
+#| msgid "B<int unlink(const char *>I<pathname>B<);>"
+msgid "B<int unlink(const char *>I<pathname>B<);>\n"
msgstr "B<int unlink(const char *>I<pathname>B<);>"
#. type: Plain text
-#: build/C/man2/unlink.2:45
+#: build/C/man2/unlink.2:46
+#, fuzzy, no-wrap
+#| msgid "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
+msgid "B<int unlinkat(int >I<dirfd>B<, const char *>I<pathname>B<, int >I<flags>B<);>\n"
+msgstr "B<int vdprintf(int >I<fd>B<, const char *>I<format>B<, va_list >I<ap>B<);>"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:54
+#, fuzzy
+#| msgid "B<symlink>():"
+msgid "B<unlinkat>():"
+msgstr "B<symlink>():"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:72
msgid ""
-"B<unlink>() deletes a name from the file system. If that name was the last "
+"B<unlink>() deletes a name from the filesystem. If that name was the last "
"link to a file and no processes have the file open the file is deleted and "
"the space it was using is made available for reuse."
msgstr ""
"は再利用が可能になる。"
#. type: Plain text
-#: build/C/man2/unlink.2:49
+#: build/C/man2/unlink.2:76
msgid ""
"If the name was the last link to a file but any processes still have the "
"file open the file will remain in existence until the last file descriptor "
"ける。"
#. type: Plain text
-#: build/C/man2/unlink.2:51
+#: build/C/man2/unlink.2:78
msgid "If the name referred to a symbolic link the link is removed."
msgstr ""
"もしその名前がシンボリックリンク (symbolic link) を参照していれば、 リンクは"
"削除される。"
#. type: Plain text
-#: build/C/man2/unlink.2:55
+#: build/C/man2/unlink.2:82
msgid ""
"If the name referred to a socket, fifo or device the name for it is removed "
"but processes which have the object open may continue to use it."
"は削除されるがそのオブジェクトをオープンしていたプロセスは それを使い続けるこ"
"とができる。"
+#. type: SS
+#: build/C/man2/unlink.2:82
+#, no-wrap
+msgid "unlinkat()"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:95
+msgid ""
+"The B<unlinkat>() system call operates in exactly the same way as either "
+"B<unlink>() or B<rmdir>(2) (depending on whether or not I<flags> includes "
+"the B<AT_REMOVEDIR> flag) except for the differences described here."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:107
+msgid ""
+"If the pathname given in I<pathname> is relative, then it is interpreted "
+"relative to the directory referred to by the file descriptor I<dirfd> "
+"(rather than relative to the current working directory of the calling "
+"process, as is done by B<unlink>() and B<rmdir>(2) for a relative "
+"pathname)."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:121
+msgid ""
+"If the pathname given in I<pathname> is relative and I<dirfd> is the special "
+"value B<AT_FDCWD>, then I<pathname> is interpreted relative to the current "
+"working directory of the calling process (like B<unlink>() and B<rmdir>(2))."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:127
+msgid ""
+"If the pathname given in I<pathname> is absolute, then I<dirfd> is ignored."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:133
+msgid ""
+"I<flags> is a bit mask that can either be specified as 0, or by ORing "
+"together flag values that control the operation of B<unlinkat>(). Currently "
+"only one such flag is defined:"
+msgstr ""
+
+#. type: TP
+#: build/C/man2/unlink.2:133
+#, fuzzy, no-wrap
+#| msgid "B<ENOTDIR>"
+msgid "B<AT_REMOVEDIR>"
+msgstr "B<ENOTDIR>"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:148
+msgid ""
+"By default, B<unlinkat>() performs the equivalent of B<unlink>() on "
+"I<pathname>. If the B<AT_REMOVEDIR> flag is specified, then performs the "
+"equivalent of B<rmdir>(2) on I<pathname>."
+msgstr ""
+
#. type: Plain text
-#: build/C/man2/unlink.2:71
+#: build/C/man2/unlink.2:153
+msgid "See B<openat>(2) for an explanation of the need for B<unlinkat>()."
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:169
msgid ""
"Write access to the directory containing I<pathname> is not allowed for the "
"process's effective UID, or one of the directories in I<pathname> did not "
"と)。"
#. type: Plain text
-#: build/C/man2/unlink.2:80
+#: build/C/man2/unlink.2:178
msgid ""
"The file I<pathname> cannot be unlinked because it is being used by the "
"system or another process; for example, it is a mount point or the NFS "
"場合 (\"NFS silly renamed\") などがある。"
#. type: Plain text
-#: build/C/man2/unlink.2:92
+#: build/C/man2/unlink.2:190
msgid ""
"I<pathname> refers to a directory. (This is the non-POSIX value returned by "
"Linux since 2.1.132.)"
"で、Linux 2.1.132 以降で返される。)"
#. type: Plain text
-#: build/C/man2/unlink.2:96
+#: build/C/man2/unlink.2:194
msgid "Too many symbolic links were encountered in translating I<pathname>."
msgstr "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。"
#. type: Plain text
-#: build/C/man2/unlink.2:106
+#: build/C/man2/unlink.2:204
msgid ""
"A component in I<pathname> does not exist or is a dangling symbolic link, or "
"I<pathname> is empty."
"I<pathname> が空である。"
#. type: Plain text
-#: build/C/man2/unlink.2:114
+#: build/C/man2/unlink.2:212
msgid ""
"A component used as a directory in I<pathname> is not, in fact, a directory."
msgstr "I<pathname> のディレクトリ部分が、実際には、ディレクトリでない。"
#. type: Plain text
-#: build/C/man2/unlink.2:123
+#: build/C/man2/unlink.2:221
msgid ""
"The system does not allow unlinking of directories, or unlinking of "
"directories requires privileges that the calling process doesn't have. "
"合には Linux は B<EISDIR> を返す。)"
#. type: TP
-#: build/C/man2/unlink.2:123
+#: build/C/man2/unlink.2:221
#, no-wrap
msgid "B<EPERM> (Linux only)"
msgstr "B<EPERM> (Linux のみ)"
#. type: Plain text
-#: build/C/man2/unlink.2:126
-msgid "The file system does not allow unlinking of files."
+#: build/C/man2/unlink.2:224
+msgid "The filesystem does not allow unlinking of files."
msgstr "ファイルシステムがファイルに対する unlink 操作を許していない。"
#. type: Plain text
-#: build/C/man2/unlink.2:137
+#: build/C/man2/unlink.2:235
msgid ""
"The directory containing I<pathname> has the sticky bit (B<S_ISVTX>) set "
"and the process's effective UID is neither the UID of the file to be deleted "
"に特権がない (Linux では B<CAP_FOWNER> ケーパビリティ (capability) がない)。"
#. type: Plain text
-#: build/C/man2/unlink.2:141
-msgid "I<pathname> refers to a file on a read-only file system."
+#: build/C/man2/unlink.2:239
+msgid "I<pathname> refers to a file on a read-only filesystem."
msgstr "I<pathname> が読み込み専用のファイルシステムのファイルを参照している。"
#. type: Plain text
-#: build/C/man2/unlink.2:161
+#: build/C/man2/unlink.2:248
+msgid ""
+"The same errors that occur for B<unlink>() and B<rmdir>(2) can also occur "
+"for B<unlinkat>(). The following additional errors can occur for B<unlinkat>"
+"():"
+msgstr ""
+
+#. type: Plain text
+#: build/C/man2/unlink.2:263
+#, fuzzy
+#| msgid "I<pathname> refers to a directory on a read-only filesystem."
+msgid ""
+"I<pathname> refers to a directory, and B<AT_REMOVEDIR> was not specified in "
+"I<flags>."
+msgstr ""
+"I<pathname> が読み込み専用のファイルシステム上のディレクトリを参照している。"
+
+#. type: Plain text
+#: build/C/man2/unlink.2:273
+#, fuzzy
+#| msgid ""
+#| "B<pipe2>() was added to Linux in version 2.6.27; glibc support is "
+#| "available starting with version 2.9."
+msgid ""
+"B<unlinkat>() was added to Linux in kernel 2.6.16; library support was "
+"added to glibc in version 2.4."
+msgstr ""
+"B<pipe2>() はバージョン 2.6.27 で Linux に追加された。 glibc によるサポート"
+"はバージョン 2.9 以降で利用できる。"
+
+#. SVr4 documents additional error
+#. conditions EINTR, EMULTIHOP, ETXTBSY, ENOLINK.
+#. type: Plain text
+#: build/C/man2/unlink.2:278
+#, fuzzy
+#| msgid "C89, C99, POSIX.1-2001, POSIX.1-2008."
+msgid "B<unlink>(): SVr4, 4.3BSD, POSIX.1-2001, POSIX.1-2008."
+msgstr "C89, C99, POSIX.1-2001, POSIX.1-2008."
+
+#. type: Plain text
+#: build/C/man2/unlink.2:281
+#, fuzzy
+#| msgid "B<pipe>(): POSIX.1-2001."
+msgid "B<unlinkat>(): POSIX.1-2008."
+msgstr "B<pipe>(): POSIX.1-2001."
+
+#. type: Plain text
+#: build/C/man2/unlink.2:296
+#, fuzzy
+#| msgid ""
+#| "B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
+#| "B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), "
+#| "B<path_resolution>(7), B<symlink>(7)"
msgid ""
"B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
-"B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
-"(7), B<symlink>(7)"
+"B<rmdir>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>(7), B<symlink>(7)"
msgstr ""
"B<rm>(1), B<chmod>(2), B<link>(2), B<mknod>(2), B<open>(2), B<rename>(2), "
"B<rmdir>(2), B<unlinkat>(2), B<mkfifo>(3), B<remove>(3), B<path_resolution>"
msgid "UNLOCKED_STDIO"
msgstr "UNLOCKED_STDIO"
+#. type: TH
+#: build/C/man3/unlocked_stdio.3:25
+#, no-wrap
+msgid "2008-08-29"
+msgstr "2008-08-29"
+
#. type: Plain text
#: build/C/man3/unlocked_stdio.3:29
msgid ""
msgid "WRITE"
msgstr "WRITE"
+#. type: TH
+#: build/C/man2/write.2:39
+#, no-wrap
+msgid "2013-01-27"
+msgstr "2013-01-27"
+
#. type: Plain text
#: build/C/man2/write.2:42
msgid "write - write to a file descriptor"
#: build/C/man2/write.2:89
msgid ""
"POSIX requires that a B<read>(2) which can be proved to occur after a "
-"B<write>() has returned returns the new data. Note that not all file "
-"systems are POSIX conforming."
+"B<write>() has returned returns the new data. Note that not all "
+"filesystems are POSIX conforming."
msgstr ""
"POSIX は B<write>() が行なわれた後に実行した B<read>(2) が 新しいデータを返"
"すことを要求している。 全てのファイルシステムが POSIX 準拠ではない点に注意す"
#. type: Plain text
#: build/C/man2/write.2:141
msgid ""
-"The user's quota of disk blocks on the file system containing the file "
+"The user's quota of disk blocks on the filesystem containing the file "
"referred to by I<fd> has been exhausted."
msgstr ""
"I<fd> が参照するファイルを含むファイルシステムのディスクブロックのユーザ"
"B<close>(2), B<fcntl>(2), B<fsync>(2), B<ioctl>(2), B<lseek>(2), B<open>(2), "
"B<pwrite>(2), B<read>(2), B<select>(2), B<writev>(2), B<fwrite>(3)"
-#~ msgid "2001-12-18"
-#~ msgstr "2001-12-18"
-
-#~ msgid "2007-07-26"
-#~ msgstr "2007-07-26"
-
-#~ msgid "2006-12-27"
-#~ msgstr "2006-12-27"
+#~ msgid ""
+#~ " if (argc != 2) {\n"
+#~ "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
+#~ "\texit(EXIT_FAILURE);\n"
+#~ " }\n"
+#~ msgstr ""
+#~ " if (argc != 2) {\n"
+#~ "\tfprintf(stderr, \"Usage: %s E<lt>fileE<gt>\\en\", argv[0]);\n"
+#~ "\texit(EXIT_FAILURE);\n"
+#~ " }\n"
-#~ msgid "1999-07-25"
-#~ msgstr "1999-07-25"
+#~ msgid "2013-03-27"
+#~ msgstr "2013-03-27"
-#~ msgid "2008-06-14"
-#~ msgstr "2008-06-14"
+#~ msgid "2013-08-09"
+#~ msgstr "2013-08-09"
-#~ msgid "2010-06-12"
-#~ msgstr "2010-06-12"
+#~ msgid ""
+#~ "The file is opened for synchronous I/O. Any B<write>(2)s on the "
+#~ "resulting file descriptor will block the calling process until the data "
+#~ "has been physically written to the underlying hardware. I<But see NOTES "
+#~ "below>."
+#~ msgstr ""
+#~ "ファイルは同期 (synchronous) I/O モードでオープンされる。 B<open>() が返"
+#~ "したファイルディスクリプタに対して B<write>(2) を行うと、必ず呼び出したプ"
+#~ "ロセスをブロックし、 該当ハードウェアに物理的に書き込まれるまで返らない。 "
+#~ "I<以下の「注意」の章も参照。>"
-#~ msgid "2010-02-03"
-#~ msgstr "2010-02-03"
+#~ msgid ""
+#~ "Some of these optional flags can be altered using B<fcntl>(2) after the "
+#~ "file has been opened."
+#~ msgstr ""
+#~ "これらの選択フラグのいくつかはファイルをオープンした後でも B<fcntl>(2) を"
+#~ "使用して変更することができる。"
-#~ msgid "2001-12-16"
-#~ msgstr "2001-12-16"
+#~ msgid ""
+#~ "Too many symbolic links were encountered in resolving I<pathname>, or "
+#~ "B<O_NOFOLLOW> was specified but I<pathname> was a symbolic link."
+#~ msgstr ""
+#~ "I<pathname> を解決する際に遭遇したシンボリックリンクが多過ぎる。 または "
+#~ "B<O_NOFOLLOW> が指定されており、 I<pathname> がシンボリックリンクだった。"
-#~ msgid "2008-08-06"
-#~ msgstr "2008-08-06"
+#~ msgid ""
+#~ "The B<O_CLOEXEC> flag is not specified in POSIX.1-2001, but is specified "
+#~ "in POSIX.1-2008."
+#~ msgstr ""
+#~ "B<O_CLOEXEC> フラグは POSIX.1-2001 では規定されていないが、 POSIX.1-2008 "
+#~ "で規定されている。"
-#~ msgid "2010-09-10"
-#~ msgstr "2010-09-10"
+#~ msgid ""
+#~ "B<O_DIRECT> is not specified in POSIX; one has to define B<_GNU_SOURCE> "
+#~ "(before including I<any> header files) to get its definition."
+#~ msgstr ""
+#~ "B<O_DIRECT> は POSIX では規定されていない。 B<O_DIRECT> の定義を得るには "
+#~ "(「どの」ヘッダファイルをインクルードするよりも前に) B<_GNU_SOURCE> を定"
+#~ "義しなければならない。"
#~ msgid ""
-#~ "Many file systems and disks were considered to be fast enough that the "
-#~ "implementation of B<O_NONBLOCK> was deemed unnecessary. So, "
-#~ "B<O_NONBLOCK> may not be available on files and/or disks."
+#~ "POSIX provides for three different variants of synchronized I/O, "
+#~ "corresponding to the flags B<O_SYNC>, B<O_DSYNC>, and B<O_RSYNC>. "
+#~ "Currently (2.6.31), Linux implements only B<O_SYNC>, but glibc maps "
+#~ "B<O_DSYNC> and B<O_RSYNC> to the same numerical value as B<O_SYNC>. Most "
+#~ "Linux filesystems don't actually implement the POSIX B<O_SYNC> semantics, "
+#~ "which require all metadata updates of a write to be on disk on returning "
+#~ "to user space, but only the B<O_DSYNC> semantics, which require only "
+#~ "actual file data and metadata necessary to retrieve it to be on disk by "
+#~ "the time the system call returns."
#~ msgstr ""
-#~ "多くのファイルシステムやディスクは B<O_NONBLOCK> の実装はしなくても済むく"
-#~ "らいに十分に高速であると考えられている。 それでそのようなファイルやディス"
-#~ "クには B<O_NONBLOCK> は利用できないかもしれない。"
+#~ "POSIX では、3 種類の同期 I/O が提供されており、 B<O_SYNC>, B<O_DSYNC>, "
+#~ "B<O_RSYNC> フラグがこれに対応するものである。 今のところ (カーネル "
+#~ "2.6.31)、 Linux では B<O_SYNC> だけが実装されているが、 glibc は "
+#~ "B<O_DSYNC> と B<O_RSYNC> に B<O_SYNC> と同じ数値を割り当てている。 ほとん"
+#~ "どの Linux のファイルシステムは、実際には POSIX の B<O_SYNC> の動作ではな"
+#~ "く B<O_DSYNC> の動作だけを実装している。 POSIX の B<O_SYNC> では、 B<open>"
+#~ "() がユーザ空間に返る際に、書き込みに関する全てのメタデータの 更新がディ"
+#~ "スクに書き込まれている必要がある。 一方、 B<O_DSYNC> では、 B<open>() が"
+#~ "返るまでに、実際のファイルのデータとそのデータを取得するために 必要なメタ"
+#~ "データだけがディスクに書き込まれていればよい。"
#~ msgid ""
-#~ "The I<local_iov> and I<remote_iov> arguments point to an array of "
-#~ "I<iovec> structures, defined in I<E<lt>sys/uio.hE<gt>> as:"
+#~ " if (argc != 2) {\n"
+#~ "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
+#~ "\texit(EXIT_FAILURE);\n"
+#~ " }\n"
#~ msgstr ""
-#~ "引き数 I<local_iov> と I<remote_iov> は I<iovec> 構造体の配列へのポイン\n"
-#~ "タである。 I<iovec> 構造体は I<E<lt>sys/uio.hE<gt>> で以下のように定義\n"
-#~ "されている:"
+#~ " if (argc != 2) {\n"
+#~ "\tfprintf(stderr, \"Usage: %s E<lt>stringE<gt>\\en\", argv[0]);\n"
+#~ "\texit(EXIT_FAILURE);\n"
+#~ " }\n"
+
+#~ msgid "2013-09-04"
+#~ msgstr "2013-09-04"
+
+#~ msgid "2011-09-28"
+#~ msgstr "2011-09-28"
+
+#~ msgid "2013-07-18"
+#~ msgstr "2013-07-18"
+
+#~ msgid "2008-12-03"
+#~ msgstr "2008-12-03"
+
+#~ msgid "4.3BSD, C89, C99, POSIX.1-2001."
+#~ msgstr "4.3BSD, C89, C99, POSIX.1-2001."
#~ msgid ""
-#~ "Buffers are processed in array order. This means that B<process_vm_readv>"
-#~ "() completely fills I<local_iov[0]> before proceeding to I<local_iov[1]"
-#~ ">, and so on. Likewise, I<remote_iov[0]> is completely read before "
-#~ "proceeding to I<remote_iov[1]>, and so on."
+#~ "Since version 2.7, glibc also provides the B<m> modifier for the same "
+#~ "purpose as the B<a> modifier. The B<m> modifier has the following "
+#~ "advantages:"
#~ msgstr ""
-#~ "バッファは配列の順序で処理される。これは、 B<process_vm_readv>() が\n"
-#~ "I<local_iov>[0] が完全に一杯になるまでデータを詰めてから、\n"
-#~ "I<local_iov>[1] に進むといったことを意味する。同様に、\n"
-#~ "I<remote_iov>[0] を完全に読み出してから I<remote_iov>[1] に進み、\n"
-#~ "以降も同様である。"
+#~ "バージョン 2.7 以降では、glibc は B<a> 修飾子と同じ目的で B<m> 修飾子も提"
+#~ "供している。 B<m> 修飾子は以下の利点がある。"
+
+#~ msgid "It is specified in the POSIX.1-2008 standard."
+#~ msgstr "POSIX.1-2008 標準で規定されている。"
+
+#~ msgid "2012-08-03"
+#~ msgstr "2012-08-03"
+
+#~ msgid "2011-09-15"
+#~ msgstr "2011-09-15"
+
+#~ msgid "2004-12-11"
+#~ msgstr "2004-12-11"
+
+#~ msgid "2013-07-21"
+#~ msgstr "2013-07-21"
+
+#~ msgid "2013-03-05"
+#~ msgstr "2013-03-05"