msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
-"POT-Creation-Date: 2013-03-22 01:04+0900\n"
-"PO-Revision-Date: 2012-05-28 07:48+0900\n"
+"POT-Creation-Date: 2015-02-04 23:30+0900\n"
+"PO-Revision-Date: 2015-02-04 23:37+0900\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
#: build/C/man2/getdents.2:30 build/C/man3/getdirentries.3:27
#: build/C/man3/opendir.3:32 build/C/man2/readdir.2:30
#: build/C/man3/readdir.3:36 build/C/man3/rewinddir.3:31
-#: build/C/man3/scandir.3:36 build/C/man3/scandirat.3:25
-#: build/C/man3/seekdir.3:30 build/C/man3/telldir.3:30
+#: build/C/man3/scandir.3:62 build/C/man3/seekdir.3:31
+#: build/C/man3/telldir.3:30
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr "Linux Programmer's Manual"
#: build/C/man2/getdents.2:31 build/C/man3/getdirentries.3:28
#: build/C/man3/opendir.3:33 build/C/man2/readdir.2:31
#: build/C/man3/readdir.3:37 build/C/man3/rewinddir.3:32
-#: build/C/man3/scandir.3:37 build/C/man3/scandirat.3:26
-#: build/C/man3/seekdir.3:31 build/C/man3/telldir.3:31
+#: build/C/man3/scandir.3:63 build/C/man3/seekdir.3:32
+#: build/C/man3/telldir.3:31
#, no-wrap
msgid "NAME"
msgstr "名前"
#: build/C/man2/getdents.2:33 build/C/man3/getdirentries.3:30
#: build/C/man3/opendir.3:35 build/C/man2/readdir.2:33
#: build/C/man3/readdir.3:39 build/C/man3/rewinddir.3:34
-#: build/C/man3/scandir.3:39 build/C/man3/scandirat.3:28
-#: build/C/man3/seekdir.3:34 build/C/man3/telldir.3:33
+#: build/C/man3/scandir.3:66 build/C/man3/seekdir.3:35
+#: build/C/man3/telldir.3:33
#, no-wrap
msgid "SYNOPSIS"
msgstr "書式"
#. type: Plain text
#: build/C/man3/closedir.3:39 build/C/man3/opendir.3:40
#: build/C/man3/readdir.3:42 build/C/man3/rewinddir.3:39
-#: build/C/man3/scandir.3:42 build/C/man3/seekdir.3:37
+#: build/C/man3/scandir.3:69 build/C/man3/seekdir.3:38
#: build/C/man3/telldir.3:36
#, no-wrap
msgid "B<#include E<lt>dirent.hE<gt>>\n"
#: build/C/man2/getdents.2:41 build/C/man3/getdirentries.3:43
#: build/C/man3/opendir.3:63 build/C/man2/readdir.2:42
#: build/C/man3/readdir.3:61 build/C/man3/rewinddir.3:42
-#: build/C/man3/scandir.3:65 build/C/man3/scandirat.3:44
-#: build/C/man3/seekdir.3:48 build/C/man3/telldir.3:47
+#: build/C/man3/scandir.3:118 build/C/man3/seekdir.3:49
+#: build/C/man3/telldir.3:47
#, no-wrap
msgid "DESCRIPTION"
msgstr "説明"
#. type: Plain text
-#: build/C/man3/closedir.3:53
+#: build/C/man3/closedir.3:55
msgid ""
"The B<closedir>() function closes the directory stream associated with "
"I<dirp>. A successful call to B<closedir>() also closes the underlying "
"B<closedir>() 関数は I<dirp> に関連付けられた ディレクトリストリームをクロー"
"ズする。\n"
"B<closedir>() の呼び出しが成功すると、 I<dirp> に関連付けられた\n"
-"ファイルディスクリプタもクローズされる。\n"
-"ディレクトリストリームディスクリプタ (directory stream descriptor) I<dirp> "
+"ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\82ã\82¯ã\83ã\83¼ã\82ºã\81\95ã\82\8cã\82\8bã\80\82\n"
+"ディレクトリストリームディスクリプター (directory stream descriptor) I<dirp> "
"は、\n"
"この呼び出しの後では使用することができない。"
#. type: SH
-#: build/C/man3/closedir.3:53 build/C/man3/dirfd.3:69
+#: build/C/man3/closedir.3:55 build/C/man3/dirfd.3:69
#: build/C/man2/getdents.2:142 build/C/man3/getdirentries.3:56
#: build/C/man3/opendir.3:83 build/C/man2/readdir.2:91
-#: build/C/man3/readdir.3:119 build/C/man3/rewinddir.3:47
-#: build/C/man3/scandir.3:92 build/C/man3/scandirat.3:78
-#: build/C/man3/seekdir.3:60 build/C/man3/telldir.3:52
+#: build/C/man3/readdir.3:119 build/C/man3/rewinddir.3:49
+#: build/C/man3/scandir.3:184 build/C/man3/seekdir.3:60
+#: build/C/man3/telldir.3:52
#, no-wrap
msgid "RETURN VALUE"
msgstr "返り値"
#. type: Plain text
-#: build/C/man3/closedir.3:60
+#: build/C/man3/closedir.3:62
msgid ""
"The B<closedir>() function returns 0 on success. On error, -1 is returned, "
"and I<errno> is set appropriately."
"I<errno> が適切に設定される。"
#. type: SH
-#: build/C/man3/closedir.3:60 build/C/man3/dirfd.3:72
+#: build/C/man3/closedir.3:62 build/C/man3/dirfd.3:74
#: build/C/man2/getdents.2:148 build/C/man3/getdirentries.3:62
#: build/C/man3/opendir.3:92 build/C/man2/readdir.2:97
-#: build/C/man3/readdir.3:143 build/C/man3/scandir.3:105
-#: build/C/man3/scandirat.3:85 build/C/man3/telldir.3:60
+#: build/C/man3/readdir.3:143 build/C/man3/scandir.3:200
+#: build/C/man3/telldir.3:60
#, no-wrap
msgid "ERRORS"
msgstr "エラー"
#. type: TP
-#: build/C/man3/closedir.3:61 build/C/man2/getdents.2:149
+#: build/C/man3/closedir.3:63 build/C/man2/getdents.2:149
#: build/C/man3/opendir.3:96 build/C/man2/readdir.2:98
-#: build/C/man3/readdir.3:144 build/C/man3/scandirat.3:92
+#: build/C/man3/readdir.3:144 build/C/man3/scandir.3:213
#: build/C/man3/telldir.3:61
#, no-wrap
msgid "B<EBADF>"
msgstr "B<EBADF>"
#. type: Plain text
-#: build/C/man3/closedir.3:64 build/C/man3/readdir.3:147
+#: build/C/man3/closedir.3:67 build/C/man3/readdir.3:147
#: build/C/man3/telldir.3:64
msgid "Invalid directory stream descriptor I<dirp>."
-msgstr "ディレクトリストリームディスクリプタ I<dirp> が無効である。"
+msgstr "ディレクトリストリームディスクリプター I<dirp> が無効である。"
#. type: SH
-#: build/C/man3/closedir.3:64 build/C/man3/dirfd.3:85
-#: build/C/man2/getdents.2:165 build/C/man3/getdirentries.3:64
+#: build/C/man3/closedir.3:67 build/C/man3/dirfd.3:92
+#: build/C/man2/getdents.2:165 build/C/man3/getdirentries.3:69
#: build/C/man3/opendir.3:118 build/C/man2/readdir.2:114
-#: build/C/man3/readdir.3:147 build/C/man3/rewinddir.3:51
-#: build/C/man3/scandir.3:118 build/C/man3/scandirat.3:105
-#: build/C/man3/seekdir.3:64 build/C/man3/telldir.3:64
+#: build/C/man3/readdir.3:156 build/C/man3/rewinddir.3:58
+#: build/C/man3/scandir.3:229 build/C/man3/seekdir.3:69
+#: build/C/man3/telldir.3:69
#, no-wrap
msgid "CONFORMING TO"
msgstr "準拠"
#. type: Plain text
-#: build/C/man3/closedir.3:66
+#: build/C/man3/closedir.3:69
msgid "SVr4, POSIX.1-2001, 4.3BSD."
msgstr "SVr4, POSIX.1-2001, 4.3BSD."
#. type: SH
-#: build/C/man3/closedir.3:66 build/C/man3/dirfd.3:97
-#: build/C/man2/getdents.2:282 build/C/man3/getdirentries.3:72
-#: build/C/man3/opendir.3:140 build/C/man2/readdir.2:125
-#: build/C/man3/readdir.3:243 build/C/man3/rewinddir.3:53
-#: build/C/man3/scandir.3:174 build/C/man3/scandirat.3:112
-#: build/C/man3/seekdir.3:74 build/C/man3/telldir.3:74
+#: build/C/man3/closedir.3:69 build/C/man3/dirfd.3:104
+#: build/C/man2/getdents.2:282 build/C/man3/getdirentries.3:77
+#: build/C/man3/opendir.3:140 build/C/man2/readdir.2:127
+#: build/C/man3/readdir.3:265 build/C/man3/rewinddir.3:60
+#: build/C/man3/scandir.3:283 build/C/man3/seekdir.3:83
+#: build/C/man3/telldir.3:95
#, no-wrap
msgid "SEE ALSO"
msgstr "関連項目"
#. type: Plain text
-#: build/C/man3/closedir.3:74
+#: build/C/man3/closedir.3:77
msgid ""
"B<close>(2), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), B<scandir>(3), "
"B<seekdir>(3), B<telldir>(3)"
"B<seekdir>(3), B<telldir>(3)"
#. type: SH
-#: build/C/man3/closedir.3:74 build/C/man3/dirfd.3:106
-#: build/C/man2/getdents.2:285 build/C/man3/getdirentries.3:75
-#: build/C/man3/opendir.3:149 build/C/man2/readdir.2:128
-#: build/C/man3/readdir.3:255 build/C/man3/rewinddir.3:60
-#: build/C/man3/scandir.3:186 build/C/man3/scandirat.3:116
-#: build/C/man3/seekdir.3:82 build/C/man3/telldir.3:81
+#: build/C/man3/closedir.3:77 build/C/man3/dirfd.3:113
+#: build/C/man2/getdents.2:285 build/C/man3/getdirentries.3:80
+#: build/C/man3/opendir.3:149 build/C/man2/readdir.2:130
+#: build/C/man3/readdir.3:277 build/C/man3/rewinddir.3:67
+#: build/C/man3/scandir.3:294 build/C/man3/seekdir.3:91
+#: build/C/man3/telldir.3:102
#, no-wrap
msgid "COLOPHON"
msgstr "この文書について"
#. type: Plain text
-#: build/C/man3/closedir.3:81 build/C/man3/dirfd.3:113
-#: build/C/man2/getdents.2:292 build/C/man3/getdirentries.3:82
-#: build/C/man3/opendir.3:156 build/C/man2/readdir.2:135
-#: build/C/man3/readdir.3:262 build/C/man3/rewinddir.3:67
-#: build/C/man3/scandir.3:193 build/C/man3/scandirat.3:123
-#: build/C/man3/seekdir.3:89 build/C/man3/telldir.3:88
-#, fuzzy
-#| msgid ""
-#| "This page is part of release 3.41 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/."
+#: build/C/man3/closedir.3:85 build/C/man3/dirfd.3:121
+#: build/C/man2/getdents.2:293 build/C/man3/getdirentries.3:88
+#: build/C/man3/opendir.3:157 build/C/man2/readdir.2:138
+#: build/C/man3/readdir.3:285 build/C/man3/rewinddir.3:75
+#: build/C/man3/scandir.3:302 build/C/man3/seekdir.3:99
+#: build/C/man3/telldir.3:110
msgid ""
-"This page is part of release 3.50 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/."
+"This page is part of release 3.79 of the Linux I<man-pages> project. A "
+"description of the project, information about reporting bugs, and the latest "
+"version of this page, can be found at \\%http://www.kernel.org/doc/man-"
+"pages/."
msgstr ""
-"この man ページは Linux I<man-pages> プロジェクトのリリース 3.41 の一部\n"
+"この man ページは Linux I<man-pages> プロジェクトのリリース 3.79 の一部\n"
"である。プロジェクトの説明とバグ報告に関する情報は\n"
"http://www.kernel.org/doc/man-pages/ に書かれている。"
#. type: TH
#: build/C/man3/dirfd.3:25
#, no-wrap
-msgid "2010-09-26"
-msgstr "2010-09-26"
+msgid "2013-07-05"
+msgstr "2013-07-05"
#. type: TH
#: build/C/man3/dirfd.3:25 build/C/man2/getdents.2:30
-#: build/C/man2/readdir.2:30 build/C/man3/scandirat.3:25
+#: build/C/man2/readdir.2:30
#, no-wrap
msgid "Linux"
msgstr "Linux"
#. type: Plain text
#: build/C/man3/dirfd.3:28
msgid "dirfd - get directory stream file descriptor"
-msgstr "dirfd - ディレクトリストリームのファイルディスクリプタを取得する"
+msgstr "dirfd - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92å\8f\96å¾\97ã\81\99ã\82\8b"
#. type: Plain text
#: build/C/man3/dirfd.3:30
#. type: Plain text
#: build/C/man3/dirfd.3:38 build/C/man3/getdirentries.3:39
#: build/C/man3/opendir.3:48 build/C/man3/readdir.3:52
-#: build/C/man3/scandir.3:57 build/C/man3/seekdir.3:44
+#: build/C/man3/scandir.3:96 build/C/man3/seekdir.3:45
#: build/C/man3/telldir.3:43
msgid ""
"Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr "B<dirfd>():"
#. type: Plain text
-#: build/C/man3/dirfd.3:46
+#: build/C/man3/dirfd.3:46 build/C/man3/scandir.3:105
msgid "_BSD_SOURCE || _SVID_SOURCE"
msgstr "_BSD_SOURCE || _SVID_SOURCE"
#. type: Plain text
-#: build/C/man3/dirfd.3:48
+#: build/C/man3/dirfd.3:48 build/C/man3/scandir.3:107
msgid "|| /* Since glibc 2.10: */"
msgstr "|| /* glibc 2.10 以降: */"
#. type: Plain text
-#: build/C/man3/dirfd.3:50
+#: build/C/man3/dirfd.3:50 build/C/man3/scandir.3:109
msgid "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
msgstr "(_POSIX_C_SOURCE\\ E<gt>=\\ 200809L || _XOPEN_SOURCE\\ E<gt>=\\ 700)"
"directory stream I<dirp>."
msgstr ""
"関数 B<dirfd>() はディレクトリストリーム I<dirp> に関連づけられたファイル"
-"ディスクリプタを返す。"
+"ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82"
#. type: Plain text
#: build/C/man3/dirfd.3:69
msgid ""
"This descriptor is the one used internally by the directory stream. As a "
-"result, it is only useful for functions which do not depend on or alter the "
+"result, it is useful only for functions which do not depend on or alter the "
"file position, such as B<fstat>(2) and B<fchdir>(2). It will be "
"automatically closed when B<closedir>(3) is called."
msgstr ""
-"このディスクリプタはディレクトリストリームが内部で使用するものである。 よっ"
+"ã\81\93ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81\8cå\86\85é\83¨ã\81§ä½¿ç\94¨ã\81\99ã\82\8bã\82\82ã\81®ã\81§ã\81\82ã\82\8bã\80\82 ã\82\88ã\81£"
"て、ファイルの位置に依存せず、かつその位置を変更しない関数 B<fstat>(2) や "
-"B<fchdir>(2) ã\81ªã\81©ã\81§ã\81\97ã\81\8bå½¹ã\81«ç«\8bã\81\9fã\81ªã\81\84ã\80\82 ã\81\93ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ B<closedir>(3) "
-"が呼ばれたときに自動的にクローズされる。"
+"B<fchdir>(2) ã\81ªã\81©ã\81§ã\81\97ã\81\8bå½¹ã\81«ç«\8bã\81\9fã\81ªã\81\84ã\80\82 ã\81\93ã\81®ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ "
+"B<closedir>(3) が呼ばれたときに自動的にクローズされる。"
#. type: Plain text
-#: build/C/man3/dirfd.3:72
+#: build/C/man3/dirfd.3:74
msgid ""
"On success, a nonnegative file descriptor is returned. On error, -1 is "
-"returned."
+"returned, and I<errno> is set to indicate the cause of the error."
msgstr ""
-"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81è² ã\81§ã\81ªã\81\84å\80¤ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\81¯ -1 "
-"が返される。"
+"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81è² ã\81§ã\81ªã\81\84å\80¤ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cè¿\94ã\81\95ã\82\8cã\82\8bã\80\82 ã\82¨ã\83©ã\83¼ã\81®å ´å\90\88ã\81¯ "
+"-1 が返され、 I<errno> にエラーの原因を示す値が設定される。"
#. glibc 2.8
#. type: Plain text
-#: build/C/man3/dirfd.3:77
+#: build/C/man3/dirfd.3:79
msgid ""
"POSIX.1-2008 specifies two errors, neither of which is returned by the "
"current implementation."
"も返されない。"
#. type: TP
-#: build/C/man3/dirfd.3:77 build/C/man2/getdents.2:156
+#: build/C/man3/dirfd.3:79 build/C/man2/getdents.2:156
#: build/C/man2/readdir.2:105
#, no-wrap
msgid "B<EINVAL>"
msgstr "B<EINVAL>"
#. type: Plain text
-#: build/C/man3/dirfd.3:81
+#: build/C/man3/dirfd.3:83
msgid "I<dirp> does not refer to a valid directory stream."
msgstr "I<dirp> が有効なディレクトリストリームを参照していない。"
#. type: TP
-#: build/C/man3/dirfd.3:81
+#: build/C/man3/dirfd.3:83
#, no-wrap
msgid "B<ENOTSUP>"
msgstr "B<ENOTSUP>"
#. type: Plain text
-#: build/C/man3/dirfd.3:85
+#: build/C/man3/dirfd.3:87
msgid ""
"The implementation does not support the association of a file descriptor "
"with a directory."
msgstr ""
-"この実装では、ファイルディスクリプタのディレクトリとの関連付けが サポートされ"
-"ていない。"
+"この実装では、ファイルディスクリプターのディレクトリとの関連付けが サポートさ"
+"れていない。"
+
+#. type: SH
+#: build/C/man3/dirfd.3:87 build/C/man3/getdirentries.3:64
+#: build/C/man3/readdir.3:147 build/C/man3/rewinddir.3:53
+#: build/C/man3/seekdir.3:64 build/C/man3/telldir.3:64
+#, no-wrap
+msgid "ATTRIBUTES"
+msgstr "属性"
+
+#. type: SS
+#: build/C/man3/dirfd.3:88 build/C/man3/getdirentries.3:65
+#: build/C/man3/readdir.3:148 build/C/man3/rewinddir.3:54
+#: build/C/man3/seekdir.3:65 build/C/man3/telldir.3:65
+#, no-wrap
+msgid "Multithreading (see pthreads(7))"
+msgstr "マルチスレッディング (pthreads(7) 参照)"
+
+#. type: Plain text
+#: build/C/man3/dirfd.3:92
+msgid "The B<dirfd>() function is thread-safe."
+msgstr "B<dirfd>() 関数はスレッドセーフである。"
#. It is present in libc5 (since 5.1.2) and in glibc2.
#. type: Plain text
-#: build/C/man3/dirfd.3:89
+#: build/C/man3/dirfd.3:96
msgid ""
"POSIX.1-2008. This function was a BSD extension, present in 4.3BSD-Reno, "
"not in 4.2BSD."
"4.2BSD には存在しない。"
#. type: SH
-#: build/C/man3/dirfd.3:89 build/C/man2/getdents.2:168
+#: build/C/man3/dirfd.3:96 build/C/man2/getdents.2:168
#: build/C/man3/opendir.3:123 build/C/man2/readdir.2:116
-#: build/C/man3/readdir.3:149 build/C/man3/scandirat.3:107
-#: build/C/man3/seekdir.3:66 build/C/man3/telldir.3:66
+#: build/C/man3/readdir.3:158 build/C/man3/scandir.3:252
+#: build/C/man3/seekdir.3:71 build/C/man3/telldir.3:71
#, no-wrap
msgid "NOTES"
msgstr "注意"
#. type: Plain text
-#: build/C/man3/dirfd.3:97
+#: build/C/man3/dirfd.3:104
msgid ""
-"The prototype for B<dirfd>() is only available if B<_BSD_SOURCE> or "
+"The prototype for B<dirfd>() is available only if B<_BSD_SOURCE> or "
"B<_SVID_SOURCE> is defined."
msgstr ""
"B<dirfd>() のプロトタイプが使用可能なのは、 B<_BSD_SOURCE> または "
"B<_SVID_SOURCE> が定義されたときのみである。"
#. type: Plain text
-#: build/C/man3/dirfd.3:106
+#: build/C/man3/dirfd.3:113
msgid ""
"B<open>(2), B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), "
"B<scandir>(3), B<seekdir>(3), B<telldir>(3)"
#. type: TH
#: build/C/man2/getdents.2:30
-#, fuzzy, no-wrap
-#| msgid "2012-04-26"
+#, no-wrap
msgid "2012-08-03"
-msgstr "2012-04-26"
+msgstr "2012-08-03"
#. type: Plain text
#: build/C/man2/getdents.2:33
msgid "getdents - get directory entries"
-msgstr "getdents - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83»ã\82¨ã\83³ã\83\88ã\83ªを取得する"
+msgstr "getdents - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¨ã\83³ã\83\88ã\83ªã\83¼を取得する"
#. type: Plain text
#: build/C/man2/getdents.2:37
#: build/C/man2/getdents.2:41 build/C/man2/readdir.2:42
msgid "I<Note>: There is no glibc wrapper for this system call; see NOTES."
msgstr ""
+"I<注>: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節"
+"を参照。"
#. type: Plain text
#: build/C/man2/getdents.2:47
"pointed to by I<dirp>. The argument I<count> specifies the size of that "
"buffer."
msgstr ""
-"B<getdents>() システムコールは、オープン済みのファイルディスクリプタ I<fd> "
-"で参照されるディレクトリから I<linux_dirent> 構造体をいくつか読み出し、 "
-"I<dirp> が指しているバッファに格納する。 I<count> 引き数はそのバッファのサイ"
-"ズを示す。"
+"B<getdents>() システムコールは、オープン済みのファイルディスクリプター "
+"I<fd> で参照されるディレクトリから I<linux_dirent> 構造体をいくつか読み出"
+"し、 I<dirp> が指しているバッファーに格納する。 I<count> 引き数はそのバッ"
+"ã\83\95ã\82¡ã\83¼ã\81®ã\82µã\82¤ã\82ºã\82\92示ã\81\99ã\80\82"
#. type: Plain text
#: build/C/man2/getdents.2:64
" unsigned long d_off; /* Offset to next I<linux_dirent> */\n"
" unsigned short d_reclen; /* Length of this I<linux_dirent> */\n"
" char d_name[]; /* Filename (null-terminated) */\n"
-" /* length is actually (d_reclen - 2 -\n"
-" offsetof(struct linux_dirent, d_name) */\n"
+" /* length is actually (d_reclen - 2 -\n"
+" offsetof(struct linux_dirent, d_name)) */\n"
" /*\n"
" char pad; // Zero padding byte\n"
-" char d_type; // File type (only since Linux 2.6.4;\n"
-" // offset is (d_reclen - 1))\n"
+" char d_type; // File type (only since Linux\n"
+" // 2.6.4); offset is (d_reclen - 1)\n"
" */\n"
msgstr ""
"struct linux_dirent {\n"
" unsigned long d_off; /* Offset to next I<linux_dirent> */\n"
" unsigned short d_reclen; /* Length of this I<linux_dirent> */\n"
" char d_name[]; /* Filename (null-terminated) */\n"
-" /* length is actually (d_reclen - 2 -\n"
-" offsetof(struct linux_dirent, d_name) */\n"
+" /* length is actually (d_reclen - 2 -\n"
+" offsetof(struct linux_dirent, d_name)) */\n"
" /*\n"
" char pad; // Zero padding byte\n"
-" char d_type; // File type (only since Linux 2.6.4;\n"
-" // offset is (d_reclen - 1))\n"
+" char d_type; // File type (only since Linux\n"
+" // 2.6.4); offset is (d_reclen - 1)\n"
" */\n"
#. type: Plain text
msgstr ""
"I<d_ino> は inode 番号である。 I<d_off> はディレクトリの先頭から次の "
"I<linux_dirent> の先頭までの距離である。 I<d_reclen> はこの I<linux_dirent> "
-"全体のサイズである。 I<d_name> はヌル(null)文字で終わるファイル名である。"
+"全体のサイズである。 I<d_name> はヌル文字で終わるファイル名である。"
#. type: Plain text
#: build/C/man2/getdents.2:99
"以下の値の一つを取る (I<E<lt>dirent.hE<gt>> で定義されている)。"
#. type: TP
-#: build/C/man2/getdents.2:99 build/C/man3/readdir.3:178
+#: build/C/man2/getdents.2:99 build/C/man3/readdir.3:200
#, no-wrap
msgid "B<DT_BLK>"
msgstr "B<DT_BLK>"
#. type: Plain text
-#: build/C/man2/getdents.2:102 build/C/man3/readdir.3:181
+#: build/C/man2/getdents.2:102 build/C/man3/readdir.3:203
msgid "This is a block device."
msgstr "ブロックデバイスである。"
#. type: TP
-#: build/C/man2/getdents.2:102 build/C/man3/readdir.3:181
+#: build/C/man2/getdents.2:102 build/C/man3/readdir.3:203
#, no-wrap
msgid "B<DT_CHR>"
msgstr "B<DT_CHR>"
#. type: Plain text
-#: build/C/man2/getdents.2:105 build/C/man3/readdir.3:184
+#: build/C/man2/getdents.2:105 build/C/man3/readdir.3:206
msgid "This is a character device."
-msgstr "キャラクタデバイスである。"
+msgstr "ã\82ã\83£ã\83©ã\82¯ã\82¿ã\83¼ã\83\87ã\83\90ã\82¤ã\82¹ã\81§ã\81\82ã\82\8bã\80\82"
#. type: TP
-#: build/C/man2/getdents.2:105 build/C/man3/readdir.3:184
+#: build/C/man2/getdents.2:105 build/C/man3/readdir.3:206
#, no-wrap
msgid "B<DT_DIR>"
msgstr "B<DT_DIR>"
#. type: Plain text
-#: build/C/man2/getdents.2:108 build/C/man3/readdir.3:187
+#: build/C/man2/getdents.2:108 build/C/man3/readdir.3:209
msgid "This is a directory."
msgstr "ディレクトリである。"
#. type: TP
-#: build/C/man2/getdents.2:108 build/C/man3/readdir.3:187
+#: build/C/man2/getdents.2:108 build/C/man3/readdir.3:209
#, no-wrap
msgid "B<DT_FIFO>"
msgstr "B<DT_FIFO>"
#. type: Plain text
-#: build/C/man2/getdents.2:111 build/C/man3/readdir.3:190
+#: build/C/man2/getdents.2:111 build/C/man3/readdir.3:212
msgid "This is a named pipe (FIFO)."
msgstr "名前付きパイプ (FIFO) である。"
#. type: TP
-#: build/C/man2/getdents.2:111 build/C/man3/readdir.3:190
+#: build/C/man2/getdents.2:111 build/C/man3/readdir.3:212
#, no-wrap
msgid "B<DT_LNK>"
msgstr "B<DT_LNK>"
#. type: Plain text
-#: build/C/man2/getdents.2:114 build/C/man3/readdir.3:193
+#: build/C/man2/getdents.2:114 build/C/man3/readdir.3:215
msgid "This is a symbolic link."
msgstr "シンボリックリンクである。"
#. type: TP
-#: build/C/man2/getdents.2:114 build/C/man3/readdir.3:193
+#: build/C/man2/getdents.2:114 build/C/man3/readdir.3:215
#, no-wrap
msgid "B<DT_REG>"
msgstr "B<DT_REG>"
#. type: Plain text
-#: build/C/man2/getdents.2:117 build/C/man3/readdir.3:196
+#: build/C/man2/getdents.2:117 build/C/man3/readdir.3:218
msgid "This is a regular file."
msgstr "通常のファイルである。"
#. type: TP
-#: build/C/man2/getdents.2:117 build/C/man3/readdir.3:196
+#: build/C/man2/getdents.2:117 build/C/man3/readdir.3:218
#, no-wrap
msgid "B<DT_SOCK>"
msgstr "B<DT_SOCK>"
#. type: Plain text
-#: build/C/man2/getdents.2:120 build/C/man3/readdir.3:199
+#: build/C/man2/getdents.2:120 build/C/man3/readdir.3:221
msgid "This is a UNIX domain socket."
msgstr "UNIX ドメインソケットである。"
#. type: TP
-#: build/C/man2/getdents.2:120 build/C/man3/readdir.3:199
+#: build/C/man2/getdents.2:120 build/C/man3/readdir.3:221
#, no-wrap
msgid "B<DT_UNKNOWN>"
msgstr "B<DT_UNKNOWN>"
#. The glibc manual says that on some systems this is the only
#. value returned
#. type: Plain text
-#: build/C/man2/getdents.2:123 build/C/man3/readdir.3:204
+#: build/C/man2/getdents.2:123 build/C/man3/readdir.3:226
msgid "The file type is unknown."
msgstr "ファイルタイプが不明である。"
#. kernel 2.6.27
#. The same sentence is in getdents.2
#. type: Plain text
-#: build/C/man2/getdents.2:142 build/C/man3/readdir.3:218
+#: build/C/man2/getdents.2:142 build/C/man3/readdir.3:240
msgid ""
-"Currently, only some file systems (among them: Btrfs, ext2, ext3, and ext4) "
+"Currently, only some filesystems (among them: Btrfs, ext2, ext3, and ext4) "
"have full support for returning the file type in I<d_type>. All "
"applications must properly handle a return of B<DT_UNKNOWN>."
msgstr ""
#. type: Plain text
#: build/C/man2/getdents.2:153 build/C/man2/readdir.2:102
msgid "Invalid file descriptor I<fd>."
-msgstr "ファイルディスクリプタ I<fd> が不正である。"
+msgstr "ファイルディスクリプター I<fd> が不正である。"
#. type: TP
#: build/C/man2/getdents.2:153 build/C/man2/readdir.2:102
#. type: TP
#: build/C/man2/getdents.2:159 build/C/man3/opendir.3:106
-#: build/C/man2/readdir.2:108 build/C/man3/scandir.3:106
+#: build/C/man2/readdir.2:108 build/C/man3/scandir.3:201
#, no-wrap
msgid "B<ENOENT>"
msgstr "B<ENOENT>"
#. type: TP
#: build/C/man2/getdents.2:162 build/C/man3/opendir.3:112
-#: build/C/man2/readdir.2:111 build/C/man3/scandir.3:112
-#: build/C/man3/scandirat.3:96
+#: build/C/man2/readdir.2:111 build/C/man3/scandir.3:207
+#: build/C/man3/scandir.3:217
#, no-wrap
msgid "B<ENOTDIR>"
msgstr "B<ENOTDIR>"
#. type: Plain text
#: build/C/man2/getdents.2:165 build/C/man2/readdir.2:114
msgid "File descriptor does not refer to a directory."
-msgstr "ファイルディスクリプタがディレクトリを参照していない。"
+msgstr "ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\92å\8f\82ç\85§ã\81\97ã\81¦ã\81\84ã\81ªã\81\84ã\80\82"
#. SVr4 documents additional ENOLINK, EIO error conditions.
#. type: Plain text
#. type: Plain text
#: build/C/man2/getdents.2:177
-#, fuzzy
-#| msgid ""
-#| "Glibc does not provide a wrapper for this system call; call it using "
-#| "B<syscall>(2). You will need to define the I<linux_dirent> structure "
-#| "yourself."
msgid ""
"Glibc does not provide a wrapper for this system call; call it using "
"B<syscall>(2). You will need to define the I<linux_dirent> structure "
msgstr ""
"glibc はこのシステムコールに対するラッパー関数を提供していないので、 "
"B<syscall>(2) を使って呼び出すこと。 I<linux_dirent> 構造体は自分で定義する"
-"必要がある。"
+"必要がある。しかし、たいていはこのシステムコールではなく B<readdir>(3) を使う"
+"べき場面のことが多い。"
#. type: Plain text
#: build/C/man2/getdents.2:180
#. type: Plain text
#: build/C/man2/getdents.2:193
msgid ""
-"The original Linux B<getdents>() system call did not handle large file "
-"systems and large file offsets. Consequently, Linux 2.4 added B<getdents64>"
-"(), with wider types for the I<d_ino> and I<d_off> fields employed in the "
-"I<linux_dirent> structure."
+"The original Linux B<getdents>() system call did not handle large "
+"filesystems and large file offsets. Consequently, Linux 2.4 added "
+"B<getdents64>(), with wider types for the I<d_ino> and I<d_off> fields "
+"employed in the I<linux_dirent> structure."
msgstr ""
"元々の Linux の B<getdents>() システムコールは、大きなファイルシステムと\n"
"大きなファイルオフセットを扱うことができなかった。\n"
"I<d_off> でビット幅の大きなデータ型が使われている。"
#. type: SH
-#: build/C/man2/getdents.2:193 build/C/man3/scandir.3:150
+#: build/C/man2/getdents.2:193 build/C/man3/scandir.3:259
#, no-wrap
msgid "EXAMPLE"
msgstr "例"
-#. FIXME: This program uses the older getdents(0 system call
-#. and the structure with smaller field widths.
+#. FIXME The example program needs to be revised, since it uses the older
+#. getdents() system call and the structure with smaller field widths.
#. type: Plain text
#: build/C/man2/getdents.2:200
msgid ""
msgid ""
"$B< ./a.out /testfs/>\n"
"--------------- nread=120 ---------------\n"
-"i-node# file type d_reclen d_off d_name\n"
+"inode# file type d_reclen d_off d_name\n"
" 2 directory 16 12 .\n"
" 2 directory 16 24 ..\n"
" 11 directory 24 44 lost+found\n"
msgstr ""
"$B< ./a.out /testfs/>\n"
"--------------- nread=120 ---------------\n"
-"i-node# file type d_reclen d_off d_name\n"
+"inode# file type d_reclen d_off d_name\n"
" 2 directory 16 12 .\n"
" 2 directory 16 24 ..\n"
" 11 directory 24 44 lost+found\n"
#. type: Plain text
#: build/C/man2/getdents.2:278
-#, fuzzy, no-wrap
-#| msgid ""
-#| " printf(\"--------------- nread=%d ---------------\\en\", nread);\n"
-#| " printf(\"i-node# file type d_reclen d_off d_name\\en\");\n"
-#| " for (bpos = 0; bpos E<lt> nread;) {\n"
-#| " d = (struct linux_dirent *) (buf + bpos);\n"
-#| " printf(\"%8ld \", d-E<gt>d_ino);\n"
-#| " d_type = *(buf + bpos + d-E<gt>d_reclen - 1);\n"
-#| " printf(\"%-10s \", (d_type == DT_REG) ? \"regular\" :\n"
-#| " (d_type == DT_DIR) ? \"directory\" :\n"
-#| " (d_type == DT_FIFO) ? \"FIFO\" :\n"
-#| " (d_type == DT_SOCK) ? \"socket\" :\n"
-#| " (d_type == DT_LNK) ? \"symlink\" :\n"
-#| " (d_type == DT_BLK) ? \"block dev\" :\n"
-#| " (d_type == DT_CHR) ? \"char dev\" : \"???\");\n"
-#| " printf(\"%4d %10lld %s\\en\", d-E<gt>d_reclen,\n"
-#| " (long long) d-E<gt>d_off, (char *) d-E<gt>d_name);\n"
-#| " bpos += d-E<gt>d_reclen;\n"
-#| " }\n"
-#| " }\n"
+#, no-wrap
msgid ""
" printf(\"--------------- nread=%d ---------------\\en\", nread);\n"
-" printf(\"i-node# file type d_reclen d_off d_name\\en\");\n"
+" printf(\"inode# file type d_reclen d_off d_name\\en\");\n"
" for (bpos = 0; bpos E<lt> nread;) {\n"
" d = (struct linux_dirent *) (buf + bpos);\n"
" printf(\"%8ld \", d-E<gt>d_ino);\n"
" }\n"
msgstr ""
" printf(\"--------------- nread=%d ---------------\\en\", nread);\n"
-" printf(\"i-node# file type d_reclen d_off d_name\\en\");\n"
+" printf(\"inode# file type d_reclen d_off d_name\\en\");\n"
" for (bpos = 0; bpos E<lt> nread;) {\n"
" d = (struct linux_dirent *) (buf + bpos);\n"
" printf(\"%8ld \", d-E<gt>d_ino);\n"
" (d_type == DT_BLK) ? \"block dev\" :\n"
" (d_type == DT_CHR) ? \"char dev\" : \"???\");\n"
" printf(\"%4d %10lld %s\\en\", d-E<gt>d_reclen,\n"
-" (long long) d-E<gt>d_off, (char *) d-E<gt>d_name);\n"
+" (long long) d-E<gt>d_off, d-E<gt>d_name);\n"
" bpos += d-E<gt>d_reclen;\n"
" }\n"
" }\n"
#. type: TH
#: build/C/man3/getdirentries.3:27
#, no-wrap
-msgid "2007-07-26"
-msgstr "2007-07-26"
+msgid "2014-06-13"
+msgstr "2014-06-13"
#. type: TH
#: build/C/man3/getdirentries.3:27 build/C/man3/opendir.3:32
-#: build/C/man3/scandir.3:36
+#: build/C/man3/scandir.3:62
#, no-wrap
msgid "GNU"
msgstr "GNU"
#. type: Plain text
#: build/C/man3/getdirentries.3:30
msgid ""
-"getdirentries - get directory entries in a file system-independent format"
+"getdirentries - get directory entries in a filesystem-independent format"
msgstr ""
-"getdirentries - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ã\82¨ã\83³ã\83\88ã\83ªã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81«ä¾\9då\98ã\81\97ã\81ªã\81\84å½¢å¼\8fã\81§å\8f\96"
-"得する"
+"getdirentries - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92ã\83\95ã\82¡ã\82¤ã\83«ã\82·ã\82¹ã\83\86ã\83 ã\81«ä¾\9då\98ã\81\97ã\81ªã\81\84å½¢å¼\8fã\81§"
+"å\8f\96å¾\97ã\81\99ã\82\8b"
#. type: Plain text
#: build/C/man3/getdirentries.3:35
"At most I<nbytes> are read. Reading starts at offset I<*basep>, and "
"I<*basep> is updated with the new position after reading."
msgstr ""
-"I<fd> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8bã\82\89ã\82¨ã\83³ã\83\88ã\83ªã\82\92èªã\81¿ã\80\81 I<buf> ã\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82æ\9c\80大ã\81§ "
-"I<nbytes> が読み込まれる。読み込みはオフセット I<*basep> から開始され、読み込"
-"み終了時には I<*basep> は新しい位置に更新される。"
+"I<fd> ã\81§æ\8c\87å®\9aã\81\95ã\82\8cã\81\9fã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81\8bã\82\89ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92èªã\81¿ã\80\81 I<buf> ã\81«æ ¼ç´\8dã\81\99ã\82\8bã\80\82æ\9c\80大"
+"で I<nbytes> が読み込まれる。読み込みはオフセット I<*basep> から開始され、読"
+"み込み終了時には I<*basep> は新しい位置に更新される。"
#. type: Plain text
#: build/C/man3/getdirentries.3:62
msgstr "詳細は Linux のライブラリソースコードを読んでほしい。"
#. type: Plain text
-#: build/C/man3/getdirentries.3:72
+#: build/C/man3/getdirentries.3:69
+msgid "The B<getdirentries>() function is thread-safe."
+msgstr "B<getdirentries>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/getdirentries.3:77
msgid ""
"Not in POSIX.1-2001. Present on the BSDs, and a few other systems. Use "
"B<opendir>(3) and B<readdir>(3) instead."
"りに B<opendir>(3) と B<readdir>(3) を使用すること。"
#. type: Plain text
-#: build/C/man3/getdirentries.3:75
+#: build/C/man3/getdirentries.3:80
msgid "B<lseek>(2), B<open>(2)"
msgstr "B<lseek>(2), B<open>(2)"
"stream is positioned at the first entry in the directory."
msgstr ""
"B<opendir>() 関数はディレクトリ I<name> に対応する ディレクトリストリームを"
-"ã\82ªã\83¼ã\83\97ã\83³ã\81\97ã\80\81ã\81\9dã\81®ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®ä½\8dç½®ã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ª"
-"ã\81®å\85\88é ã\81®ã\82¨ã\83³ã\83\88ã\83ªに設定される。"
+"ã\82ªã\83¼ã\83\97ã\83³ã\81\97ã\80\81ã\81\9dã\81®ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®ä½\8dç½®ã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88"
+"ã\83ªã\81®å\85\88é ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼に設定される。"
#. type: Plain text
#: build/C/man3/opendir.3:83
"implementation, and should not otherwise be used by the application."
msgstr ""
"B<fdopendir>() 関数は B<opendir>() と同様だが、オープン済みのファイルディス"
-"クリプタ I<fd> により参照されるディレクトリに対する ディレクトリストリームを"
-"返す。 B<fdopendir>() の呼び出しが成功した後は、 I<fd> は実装の内部で使用さ"
-"れる。アプリケーションは I<fd> を他の場面で使用すべきではない。"
+"クリプター I<fd> により参照されるディレクトリに対する ディレクトリストリーム"
+"を返す。 B<fdopendir>() の呼び出しが成功した後は、 I<fd> は実装の内部で使用"
+"ã\81\95ã\82\8cã\82\8bã\80\82ã\82¢ã\83\97ã\83ªã\82±ã\83¼ã\82·ã\83§ã\83³ã\81¯ I<fd> ã\82\92ä»\96ã\81®å ´é\9d¢ã\81§ä½¿ç\94¨ã\81\99ã\81¹ã\81\8dã\81§ã\81¯ã\81ªã\81\84ã\80\82"
#. type: Plain text
#: build/C/man3/opendir.3:92
"directory stream. On error, NULL is returned, and I<errno> is set "
"appropriately."
msgstr ""
-"é\96¢æ\95° B<opendir>() ã\81¨ B<fdopendir>() ã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92"
-"返す。 エラーの場合は、NULL が返されて、 I<errno> が適切に設定される。"
+"é\96¢æ\95° B<opendir>() ã\81¨ B<fdopendir>() ã\81¯ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼"
+"を返す。 エラーの場合は、NULL が返されて、 I<errno> が適切に設定される。"
#. type: TP
#: build/C/man3/opendir.3:93
#: build/C/man3/opendir.3:100
msgid "I<fd> is not a valid file descriptor opened for reading."
msgstr ""
-"I<fd> が読み出し用にオープンされた、有効なファイルディスクリプタではない。"
+"I<fd> ã\81\8cèªã\81¿å\87ºã\81\97ç\94¨ã\81«ã\82ªã\83¼ã\83\97ã\83³ã\81\95ã\82\8cã\81\9fã\80\81æ\9c\89å\8a¹ã\81ªã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81§ã\81¯ã\81ªã\81\84ã\80\82"
#. type: TP
#: build/C/man3/opendir.3:100
#. type: Plain text
#: build/C/man3/opendir.3:103
msgid "Too many file descriptors in use by process."
-msgstr "プロセスが使用中のファイルディスクリプタが多すぎる。"
+msgstr "ã\83\97ã\83ã\82»ã\82¹ã\81\8c使ç\94¨ä¸ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81\8cå¤\9aã\81\99ã\81\8eã\82\8bã\80\82"
#. type: TP
#: build/C/man3/opendir.3:103
msgstr "ディレクトリが存在しないか、または I<name> が空文字列である。"
#. type: TP
-#: build/C/man3/opendir.3:109 build/C/man3/scandir.3:109
+#: build/C/man3/opendir.3:109 build/C/man3/scandir.3:204
#, no-wrap
msgid "B<ENOMEM>"
msgstr "B<ENOMEM>"
#. type: Plain text
-#: build/C/man3/opendir.3:112 build/C/man3/scandir.3:112
+#: build/C/man3/opendir.3:112 build/C/man3/scandir.3:207
msgid "Insufficient memory to complete the operation."
-msgstr "操作を完了するのに十分なメモリがない。"
+msgstr "æ\93\8dä½\9cã\82\92å®\8cäº\86ã\81\99ã\82\8bã\81®ã\81«å\8d\81å\88\86ã\81ªã\83¡ã\83¢ã\83ªã\83¼ã\81\8cã\81ªã\81\84ã\80\82"
#. type: Plain text
#: build/C/man3/opendir.3:115
msgstr "I<name> はディレクトリではない。"
#. type: SH
-#: build/C/man3/opendir.3:115 build/C/man3/scandir.3:115
-#: build/C/man3/scandirat.3:102
+#: build/C/man3/opendir.3:115 build/C/man3/scandir.3:223
#, no-wrap
msgid "VERSIONS"
msgstr "バージョン"
"The underlying file descriptor of the directory stream can be obtained using "
"B<dirfd>(3)."
msgstr ""
-"ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81¯ B<dirfd>(3) ã\82\92使ç\94¨"
-"して得ることができる。"
+"ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81«å¯¾å¿\9cã\81\99ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81¯ B<dirfd>(3) ã\82\92使"
+"用して得ることができる。"
#. type: Plain text
#: build/C/man3/opendir.3:140
"The B<opendir>() function sets the close-on-exec flag for the file "
"descriptor underlying the I<DIR *>. The B<fdopendir>() function leaves the "
"setting of the close-on-exec flag unchanged for the file descriptor, I<fd>. "
-"POSIX.1-200x leaves it unspecified whether a successful call to B<fdopendir>"
-"() will set the close-on-exec flag for the file descriptor, I<fd>."
+"POSIX.1-200x leaves it unspecified whether a successful call to "
+"B<fdopendir>() will set the close-on-exec flag for the file descriptor, "
+"I<fd>."
msgstr ""
-"B<opendir>() 関数は、 I<DIR *> の背後にあるファイルディスクリプタの close-"
-"on-exec ã\83\95ã\83©ã\82°ã\82\92è¨å®\9aã\81\99ã\82\8bã\80\82 B<fdopendir>() é\96¢æ\95°ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\81® "
-"close-on-exec ã\83\95ã\83©ã\82°ã\81®è¨å®\9aã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\80\82 B<fdopendir>() ã\81®å\91¼ã\81³å\87ºã\81\97ã\81\8cæ\88\90å\8a\9fã\81\97ã\81\9f"
-"際に、ファイルディスクリプタ I<fd> の close-on-exec を設定するかどうかは、 "
-"POSIX.1-200x では規定されていない。"
+"B<opendir>() é\96¢æ\95°ã\81¯ã\80\81 I<DIR *> ã\81®è\83\8cå¾\8cã\81«ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼ã\81® close-"
+"on-exec ã\83\95ã\83©ã\82°ã\82\92è¨å®\9aã\81\99ã\82\8bã\80\82 B<fdopendir>() é\96¢æ\95°ã\81¯ã\80\81ã\83\95ã\82¡ã\82¤ã\83«ã\83\87ã\82£ã\82¹ã\82¯ã\83ªã\83\97ã\82¿ã\83¼"
+"ã\81® close-on-exec ã\83\95ã\83©ã\82°ã\81®è¨å®\9aã\82\92å¤\89æ\9b´ã\81\97ã\81ªã\81\84ã\80\82 B<fdopendir>() ã\81®å\91¼ã\81³å\87ºã\81\97ã\81\8cæ\88\90å\8a\9f"
+"した際に、ファイルディスクリプター I<fd> の close-on-exec を設定するかどうか"
+"は、 POSIX.1-200x では規定されていない。"
#. type: Plain text
#: build/C/man3/opendir.3:149
msgstr "READDIR"
#. type: TH
-#: build/C/man2/readdir.2:30
-#, fuzzy, no-wrap
-#| msgid "2012-03-17"
-msgid "2012-07-13"
-msgstr "2012-03-17"
+#: build/C/man2/readdir.2:30 build/C/man3/readdir.3:36
+#, no-wrap
+msgid "2013-06-21"
+msgstr "2013-06-21"
#. type: Plain text
#: build/C/man2/readdir.2:33
msgid "readdir - read directory entry"
-msgstr "readdir - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\83»ã\82¨ã\83³ã\83\88ã\83ªを読み込む"
+msgstr "readdir - ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¨ã\83³ã\83\88ã\83ªã\83¼を読み込む"
#. type: Plain text
#: build/C/man2/readdir.2:38
"the POSIX conforming C library interface. This page documents the bare "
"kernel system call interface, which is superseded by B<getdents>(2)."
msgstr ""
-"ã\81\93ã\82\8cã\81¯ã\81\82ã\81ªã\81\9fã\81®è\88\88å\91³ã\82\92ã\82\82ã\81£ã\81¦ã\81\84ã\82\8bé\96¢æ\95°ã\81§ã\81¯ã\81ªã\81\84ã\80\82 POSIX æº\96æ\8b ã\81® C ã\83©ã\82¤ã\83\96ã\83©ã\83ªã\83»ã\82¤ã\83³"
+"これはあなたの興味をもっている関数ではない。 POSIX 準拠の C ライブラリイン"
"ターフェースについては B<readdir>(3) を見ること。 このページは裸のカーネルの"
-"ã\82·ã\82¹ã\83\86ã\83 ã\82³ã\83¼ã\83«ã\83»ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹ã\81«ã\81¤ã\81\84ã\81¦ è¨\98è¿°ã\81\97ã\81¦ã\81\84ã\82\8bã\81\8cã\80\81ã\81\93ã\81®ã\82¤ã\83³ã\82¿ã\83¼ã\83\95ã\82§ã\83¼ã\82¹"
+"システムコールインターフェースについて 記述しているが、このインターフェース"
"は B<getdents>(2) によって取って代わられた。"
#. type: Plain text
"I<dirp>. The argument I<count> is ignored; at most one I<old_linux_dirent> "
"structure is read."
msgstr ""
-"B<readdir>() は、ファイルディスクリプタ I<fd> が参照しているディレクトリか"
-"ã\82\89 I<old_linux_dirent> æ§\8bé\80 ä½\93ã\82\92èªã\81¿è¾¼ã\81¿ã\80\81 I<dirp> ã\81§æ\8c\87ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\81«æ ¼ç´\8dã\81\99"
-"ã\82\8bã\80\82 I<count> å¼\95ã\81\8dæ\95°ã\81¯(ã\81»ã\81¨ã\82\93ã\81©ã\81® I<old_linux_dirent> æ§\8bé\80 ä½\93ã\81®èªã\81¿è¾¼ã\81¿ã\81«ã\81\8aã\81\84"
-"て)無視される"
+"B<readdir>() は、ファイルディスクリプター I<fd> が参照しているディレクトリか"
+"ã\82\89 I<old_linux_dirent> æ§\8bé\80 ä½\93ã\82\92èªã\81¿è¾¼ã\81¿ã\80\81 I<dirp> ã\81§æ\8c\87ã\81\95ã\82\8cã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«æ ¼ç´\8d"
+"ã\81\99ã\82\8bã\80\82 I<count> å¼\95ã\81\8dæ\95°ã\81¯(ã\81»ã\81¨ã\82\93ã\81©ã\81® I<old_linux_dirent> æ§\8bé\80 ä½\93ã\81®èªã\81¿è¾¼ã\81¿ã\81«ã\81\8a"
+"ã\81\84ã\81¦)ç\84¡è¦\96ã\81\95ã\82\8cã\82\8b"
#. type: Plain text
#: build/C/man2/readdir.2:68
msgid ""
"I<d_ino> is an inode number. I<d_off> is the distance from the start of the "
"directory to this I<old_linux_dirent>. I<d_reclen> is the size of "
-"I<d_name>, not counting the terminating null byte. I<d_name> is a null-"
-"terminated filename."
+"I<d_name>, not counting the terminating null byte (\\(aq\\e0\\(aq). "
+"I<d_name> is a null-terminated filename."
msgstr ""
"I<d_ino> は inode 番号である。 I<d_off> はディレクトリの最初からこの "
"I<old_linux_dirent> まで距離である。 I<d_reclen> は I<d_name> の大きさで、終"
-"端のヌルバイト (null byte) を含まない。 I<d_name> はヌルバイトで終わるファイ"
-"ル名である。"
+"端のヌルバイト (\\(aq\\e0\\(aq) を含まない。 I<d_name> はヌルバイトで終わる"
+"ã\83\95ã\82¡ã\82¤ã\83«å\90\8dã\81§ã\81\82ã\82\8bã\80\82"
#. type: Plain text
#: build/C/man2/readdir.2:97
#. type: Plain text
#: build/C/man2/readdir.2:116
msgid "This system call is Linux-specific."
-msgstr "ã\81\93ã\81®ã\82·ã\82¹ã\83\86ã\83 ã\83»ã\82³ã\83¼ã\83«ã\81¯ Linux ç\89¹æ\9c\89ã\81§ã\81\82ã\82\8bã\80\82"
+msgstr "このシステムコールは Linux 特有である。"
#. type: Plain text
#: build/C/man2/readdir.2:125
-#, fuzzy
-#| msgid ""
-#| "Glibc does not provide a wrapper for this system call; call it using "
-#| "B<syscall>(2). You will need to define the I<old_linux_dirent> structure "
-#| "yourself."
msgid ""
"Glibc does not provide a wrapper for this system call; call it using "
"B<syscall>(2). You will need to define the I<old_linux_dirent> structure "
"yourself. However, probably you should use B<readdir>(3) instead."
msgstr ""
-"glibc はこのシステムコールに対するラッパー関数を提供していない。 B<syscall>"
-"(2) を使って呼び出すこと。 I<old_linux_dirent> 構造体を自分自身で定義する必"
-"要がある。"
+"glibc はこのシステムコールに対するラッパー関数を提供していない。 "
+"B<syscall>(2) を使って呼び出すこと。 I<old_linux_dirent> 構造体を自分自身で"
+"定義する必要がある。しかし、たいていはこのシステムコールではなく "
+"B<readdir>(3) を使うべき場面のことが多い。"
#. type: Plain text
-#: build/C/man2/readdir.2:128
+#: build/C/man2/readdir.2:127
+msgid "This system call does not exist on x86-64."
+msgstr "このシステムコールは x86-64 では存在しない。"
+
+#. type: Plain text
+#: build/C/man2/readdir.2:130
msgid "B<getdents>(2), B<readdir>(3)"
msgstr "B<getdents>(2), B<readdir>(3)"
-#. type: TH
-#: build/C/man3/readdir.3:36
-#, fuzzy, no-wrap
-#| msgid "2012-03-17"
-msgid "2012-07-07"
-msgstr "2012-03-17"
-
#. type: Plain text
#: build/C/man3/readdir.3:39
msgid "readdir, readdir_r - read a directory"
"an error occurred."
msgstr ""
"B<readdir>() 関数は、I<dirp> が指すディレクトリストリームの中で、 次のディレ"
-"ã\82¯ã\83\88ã\83ªã\82¨ã\83³ã\83\88ã\83ªã\82\92表ã\81\99 I<dirent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88"
-"リームの末尾に達した場合や、 エラーが発生した場合は、 NULL を返す。"
+"ã\82¯ã\83\88ã\83ªã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92表ã\81\99 I<dirent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹"
+"ã\83\88ã\83ªã\83¼ã\83 ã\81®æ\9c«å°¾ã\81«é\81\94ã\81\97ã\81\9få ´å\90\88ã\82\84ã\80\81 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81 NULL ã\82\92è¿\94ã\81\99ã\80\82"
#. type: Plain text
#: build/C/man3/readdir.3:73
msgid ""
"struct dirent {\n"
" ino_t d_ino; /* inode number */\n"
-" off_t d_off; /* offset to the next dirent */\n"
+" off_t d_off; /* not an offset; see NOTES */\n"
" unsigned short d_reclen; /* length of this record */\n"
" unsigned char d_type; /* type of file; not supported\n"
-" by all file system types */\n"
+" by all filesystem types */\n"
" char d_name[256]; /* filename */\n"
"};\n"
msgstr ""
"struct dirent {\n"
" ino_t d_ino; /* inode 番号 */\n"
-" off_t d_off; /* 次の dirent へのオフセット */\n"
+" off_t d_off; /* オフセットではない; 注意を参照 */\n"
" unsigned short d_reclen; /* このレコードの長さ */\n"
" unsigned char d_type; /* ファイル種別。全ファイルシステム */\n"
" でサポートされているわけではない */\n"
msgid ""
"The only fields in the I<dirent> structure that are mandated by POSIX.1 are: "
"I<d_name>[], of unspecified size, with at most B<NAME_MAX> characters "
-"preceding the terminating null byte; and (as an XSI extension) I<d_ino>. "
-"The other fields are unstandardized, and not present on all systems; see "
-"NOTES below for some further details."
+"preceding the terminating null byte (\\(aq\\e0\\(aq); and (as an XSI "
+"extension) I<d_ino>. The other fields are unstandardized, and not present "
+"on all systems; see NOTES below for some further details."
msgstr ""
"I<dirent> 構造体のフィールドで POSIX.1 で要求されているのは、 I<d_name>[] と "
"(XSI 拡張での) I<d_ino> だけである。 I<d_name>[] はその大きさも規定されてお"
-"らず、 このフィールドには最大で B<NAME_MAX> 個の文字と、それに続く終端の "
-"NULL バイトが格納される。 他のフィールドは非標準であり、全てのシステムに存在"
-"するわけではない。 詳細については、下記の「注意」を参照のこと。"
+"らず、 このフィールドには最大で B<NAME_MAX> 個の文字と、それに続く終端の ヌル"
+"バイト (\\(aq\\e0\\(aq)が格納される。 他のフィールドは非標準であり、全てのシ"
+"ã\82¹ã\83\86ã\83 ã\81«å\98å\9c¨ã\81\99ã\82\8bã\82\8fã\81\91ã\81§ã\81¯ã\81ªã\81\84ã\80\82 詳細ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\81ä¸\8bè¨\98ã\81®ã\80\8c注æ\84\8fã\80\8dã\82\92å\8f\82ç\85§ã\81®ã\81\93ã\81¨ã\80\82"
#. type: Plain text
#: build/C/man3/readdir.3:104
"encountered, then NULL is instead returned in I<*result>."
msgstr ""
"B<readdir_r>() 関数は B<readdir>() のリエントラント版である。 この関数は"
-"ディレクトリストリーム I<dirp> から次のディレクトリエントリを読み込み、 "
-"I<entry> ã\81\8cæ\8c\87ã\81\99å\91¼ã\81³å\87ºã\81\97å\85\83ã\81\8cå\89²ã\82\8aå½\93ã\81¦ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\81«ã\81\9dã\81®ã\82¨ã\83³ã\83\88ã\83ªã\82\92æ ¼ç´\8dã\81\97ã\81¦è¿\94ã\81\99 (ã\81\93"
-"ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\81®å\89²ã\82\8aå½\93ã\81¦ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\8c注æ\84\8fã\80\8dã\81®ç¯\80ã\82\92å\8f\82ç\85§ã\81®ã\81\93ã\81¨)ã\80\82 è¿\94ã\81\95ã\82\8cã\82\8bã\82¨ã\83³ã\83\88ã\83ªã\81¸"
-"ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81\8c I<*result> ã\81«æ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®æ\9c«å°¾ã\81«é\81\94ã\81\97ã\81\9få ´"
-"合は、 NULL が I<*result> に格納される。"
+"ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 I<dirp> ã\81\8bã\82\89次ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92èªã\81¿è¾¼ã\81¿ã\80\81 "
+"I<entry> ã\81\8cæ\8c\87ã\81\99å\91¼ã\81³å\87ºã\81\97å\85\83ã\81\8cå\89²ã\82\8aå½\93ã\81¦ã\81\9fã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81«ã\81\9dã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\82\92æ ¼ç´\8dã\81\97ã\81¦è¿\94"
+"ã\81\99 (ã\81\93ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\81®å\89²ã\82\8aå½\93ã\81¦ã\81«ã\81¤ã\81\84ã\81¦ã\81¯ã\80\8c注æ\84\8fã\80\8dã\81®ç¯\80ã\82\92å\8f\82ç\85§ã\81®ã\81\93ã\81¨)ã\80\82 è¿\94ã\81\95ã\82\8cã\82\8bã\82¨"
+"ã\83³ã\83\88ã\83ªã\83¼ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8c I<*result> ã\81«æ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®æ\9c«"
+"å°¾ã\81«é\81\94ã\81\97ã\81\9få ´å\90\88ã\81¯ã\80\81 NULL ã\81\8c I<*result> ã\81«æ ¼ç´\8dã\81\95ã\82\8cã\82\8bã\80\82"
#. type: Plain text
#: build/C/man3/readdir.3:134
"is not changed. If an error occurs, NULL is returned and I<errno> is set "
"appropriately."
msgstr ""
-"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 B<readdir>() ã\81¯ I<dirent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92è¿\94ã\81\99ã\80\82 (ã\81\93ã\81®æ§\8bé\80 "
-"体は静的に割り当てられているかもしれない。 このポインタを B<free>(3) しよう"
-"ã\81¨ã\81\97ã\81ªã\81\84ã\81\93ã\81¨ã\80\82) ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®æ\9c«å°¾ã\81«é\81\94ã\81\97ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81NULL ã\81\8cè¿\94ã\81\95"
-"ã\82\8cã\80\81 I<errno> ã\81¯å¤\89å\8c\96ã\81\97ã\81ªã\81\84ã\80\82 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\80\81NULL ã\81\8cè¿\94ã\81\95ã\82\8cã\80\81 I<errno> "
-"が適切に設定される。"
+"æ\88\90å\8a\9fã\81\99ã\82\8bã\81¨ã\80\81 B<readdir>() ã\81¯ I<dirent> æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 (ã\81\93ã\81®æ§\8b"
+"造体は静的に割り当てられているかもしれない。 このポインターを B<free>(3) し"
+"ã\82\88ã\81\86ã\81¨ã\81\97ã\81ªã\81\84ã\81\93ã\81¨ã\80\82) ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82¹ã\83\88ã\83ªã\83¼ã\83 ã\81®æ\9c«å°¾ã\81«é\81\94ã\81\97ã\81\9få ´å\90\88ã\81«ã\81¯ã\80\81NULL ã\81\8cè¿\94"
+"ã\81\95ã\82\8cã\80\81 I<errno> ã\81¯å¤\89å\8c\96ã\81\97ã\81ªã\81\84ã\80\82 ã\82¨ã\83©ã\83¼ã\81\8cç\99ºç\94\9fã\81\97ã\81\9få ´å\90\88ã\80\81NULL ã\81\8cè¿\94ã\81\95ã\82\8cã\80\81 "
+"I<errno> が適切に設定される。"
#. type: Plain text
#: build/C/man3/readdir.3:143
"納する。"
#. type: Plain text
-#: build/C/man3/readdir.3:149 build/C/man3/rewinddir.3:53
+#: build/C/man3/readdir.3:152
+msgid "The B<readdir>() function is not thread-safe."
+msgstr "B<readdir>() 関数はスレッドセーフではない。"
+
+#. type: Plain text
+#: build/C/man3/readdir.3:156
+msgid "The B<readdir_r>() function is thread-safe."
+msgstr "B<readdir_r>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/readdir.3:158 build/C/man3/rewinddir.3:60
msgid "SVr4, 4.3BSD, POSIX.1-2001."
msgstr "SVr4, 4.3BSD, POSIX.1-2001."
#. type: Plain text
-#: build/C/man3/readdir.3:165
+#: build/C/man3/readdir.3:174
msgid ""
"Only the fields I<d_name> and I<d_ino> are specified in POSIX.1-2001. The "
"remaining fields are available on many, but not all systems. Under glibc, "
"B<_DIRENT_HAVE_D_NAMLEN>, B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, "
"B<_DIRENT_HAVE_D_TYPE> が定義されているかをテストすればよい。"
+#. https://lwn.net/Articles/544298/
+#. type: Plain text
+#: build/C/man3/readdir.3:187
+msgid ""
+"The value returned in I<d_off> is the same as would be returned by calling "
+"B<telldir>(3) at the current position in the directory stream. Be aware "
+"that despite its type and name, the I<d_off> field is seldom any kind of "
+"directory offset on modern filesystems. Applications should treat this "
+"field as an opaque value, making no assumptions about its contents; see also "
+"B<telldir>(3)."
+msgstr ""
+"I<d_off> で返される値は B<telldir>(3) が返す値と同じで、ディレクトリストリー"
+"ム内の現在の位置を示す。\n"
+"フィールドの型や名前はこうなっていますが、最近のファイルシステムでは "
+"I<d_off> フィールドが何らかのディレクトリオフセットであることはめったいにな"
+"い。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として"
+"扱うべきであり、その内容について前提を持つべきではない。"
+
#. type: Plain text
-#: build/C/man3/readdir.3:178
+#: build/C/man3/readdir.3:200
msgid ""
"Other than Linux, the I<d_type> field is available mainly only on BSD "
"systems. This field makes it possible to avoid the expense of calling "
"マクロ定数を定義する。"
#. type: Plain text
-#: build/C/man3/readdir.3:209
+#: build/C/man3/readdir.3:231
msgid ""
"If the file type could not be determined, the value B<DT_UNKNOWN> is "
"returned in I<d_type>."
"ファイル種別を決定できなかった場合には、 I<d_type> に B<DT_UNKNOWN> が入る。"
#. type: Plain text
-#: build/C/man3/readdir.3:228
+#: build/C/man3/readdir.3:250
msgid ""
"Since POSIX.1 does not specify the size of the I<d_name> field, and other "
"nonstandard fields may precede that field within the I<dirent> structure, "
"POSIX.1 では I<d_name> フィールドのサイズは規定されておらず、 I<dirent> 構造"
"体の I<d_name> の後ろに他の非標準のフィールドがあるかもしれないので、 移植性"
"が必要なアプリケーションで B<readdir_r>() を使う場合は I<entry> に渡すバッ"
-"ファを次のようにして割り当てるべきである。"
+"ã\83\95ã\82¡ã\83¼ã\82\92次ã\81®ã\82\88ã\81\86ã\81«ã\81\97ã\81¦å\89²ã\82\8aå½\93ã\81¦ã\82\8bã\81¹ã\81\8dã\81§ã\81\82ã\82\8bã\80\82"
#. type: Plain text
-#: build/C/man3/readdir.3:236
+#: build/C/man3/readdir.3:258
#, no-wrap
msgid ""
"name_max = pathconf(dirpath, _PC_NAME_MAX);\n"
"len = offsetof(struct dirent, d_name) + name_max + 1;\n"
"entryp = malloc(len);\n"
msgstr ""
+"name_max = pathconf(dirpath, _PC_NAME_MAX);\n"
+"if (name_max == -1) /* 上限が定義されていない、またはエラー */\n"
+" name_max = 255; /* 適当な値を入れる */\n"
+"len = offsetof(struct dirent, d_name) + name_max + 1;\n"
+"entryp = malloc(len);\n"
#. type: Plain text
-#: build/C/man3/readdir.3:243
+#: build/C/man3/readdir.3:265
msgid ""
"(POSIX.1 requires that I<d_name> is the last field in a I<struct dirent>.)"
msgstr ""
"求している。)"
#. type: Plain text
-#: build/C/man3/readdir.3:255
+#: build/C/man3/readdir.3:277
msgid ""
"B<getdents>(2), B<read>(2), B<closedir>(3), B<dirfd>(3), B<ftw>(3), "
-"B<offsetof>(3), B<opendir>(3), B<rewinddir>(3), B<scandir>(3), B<seekdir>"
-"(3), B<telldir>(3)"
+"B<offsetof>(3), B<opendir>(3), B<rewinddir>(3), B<scandir>(3), "
+"B<seekdir>(3), B<telldir>(3)"
msgstr ""
"B<getdents>(2), B<read>(2), B<closedir>(3), B<dirfd>(3), B<ftw>(3), "
-"B<offsetof>(3), B<opendir>(3), B<rewinddir>(3), B<scandir>(3), B<seekdir>"
-"(3), B<telldir>(3)"
+"B<offsetof>(3), B<opendir>(3), B<rewinddir>(3), B<scandir>(3), "
+"B<seekdir>(3), B<telldir>(3)"
#. type: TH
#: build/C/man3/rewinddir.3:31
msgstr "REWINDDIR"
#. type: TH
-#: build/C/man3/rewinddir.3:31
+#: build/C/man3/rewinddir.3:31 build/C/man3/telldir.3:30
#, no-wrap
-msgid "1995-06-11"
-msgstr "1995-06-11"
+msgid "2013-09-02"
+msgstr "2013-09-02"
#. type: Plain text
#: build/C/man3/rewinddir.3:34
msgstr "B<void rewinddir(DIR *>I<dirp>B<);>\n"
#. type: Plain text
-#: build/C/man3/rewinddir.3:47
+#: build/C/man3/rewinddir.3:49
msgid ""
"The B<rewinddir>() function resets the position of the directory stream "
"I<dirp> to the beginning of the directory."
"の先頭に初期化する。"
#. type: Plain text
-#: build/C/man3/rewinddir.3:51
+#: build/C/man3/rewinddir.3:53
msgid "The B<rewinddir>() function returns no value."
msgstr "B<rewinddir>() 関数は、値を返さない。"
#. type: Plain text
-#: build/C/man3/rewinddir.3:60
+#: build/C/man3/rewinddir.3:58
+msgid "The B<rewinddir>() function is thread-safe."
+msgstr "B<rewinddir>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/rewinddir.3:67
msgid ""
"B<closedir>(3), B<opendir>(3), B<readdir>(3), B<scandir>(3), B<seekdir>(3), "
"B<telldir>(3)"
"B<telldir>(3)"
#. type: TH
-#: build/C/man3/scandir.3:36
+#: build/C/man3/scandir.3:62
#, no-wrap
msgid "SCANDIR"
msgstr "SCANDIR"
#. type: TH
-#: build/C/man3/scandir.3:36
+#: build/C/man3/scandir.3:62
#, no-wrap
-msgid "2012-04-26"
-msgstr "2012-04-26"
+msgid "2014-05-28"
+msgstr "2014-05-28"
#. type: Plain text
-#: build/C/man3/scandir.3:39
-msgid "scandir, alphasort, versionsort - scan a directory for matching entries"
-msgstr "scandir, alphasort, versionsort - ディレクトリを走査する"
+#: build/C/man3/scandir.3:66
+msgid ""
+"scandir, scandirat, alphasort, versionsort - scan a directory for matching "
+"entries"
+msgstr "scandir, scandirat, alphasort, versionsort - ディレクトリを走査する"
#. type: Plain text
-#: build/C/man3/scandir.3:44
+#: build/C/man3/scandir.3:71
#, no-wrap
msgid "B<int scandir(const char *>I<dirp>B<, struct dirent ***>I<namelist>B<,>\n"
msgstr "B<int scandir(const char *>I<dirp>B<, struct dirent ***>I<namelist>B<,>\n"
#. type: Plain text
-#: build/C/man3/scandir.3:47 build/C/man3/scandirat.3:42
+#: build/C/man3/scandir.3:74 build/C/man3/scandir.3:90
#, no-wrap
msgid ""
"B<int (*>I<filter>B<)(const struct dirent *),>\n"
"B<int (*>I<compar>B<)(const struct dirent **, const struct dirent **));>\n"
#. type: Plain text
-#: build/C/man3/scandir.3:50
+#: build/C/man3/scandir.3:77
#, no-wrap
-msgid "B<int alphasort(const void *>I<a>B<, const void *>I<b>B<);>\n"
-msgstr "B<int alphasort(const void *>I<a>B<, const void *>I<b>B<);>\n"
+msgid "B<int alphasort(const struct dirent **>I<a>B<, const struct dirent **>I<b>B<);>\n"
+msgstr "B<int alphasort(const struct dirent **>I<a>B<, const struct dirent **>I<b>B<);>\n"
#. type: Plain text
-#: build/C/man3/scandir.3:52
+#: build/C/man3/scandir.3:79
#, no-wrap
-msgid "B<int versionsort(const void *>I<a>B<, const void *>I<b>B<);>\n"
-msgstr "B<int versionsort(const void *>I<a>B<, const void *>I<b>B<);>\n"
+msgid "B<int versionsort(const struct dirent **>I<a>B<, const struct dirent **>I<b>B<);>\n"
+msgstr "B<int versionsort(const struct dirent **>I<a>B<, const struct dirent **>I<b>B<);>\n"
#. type: Plain text
-#: build/C/man3/scandir.3:62
-msgid "B<scandir>(), B<alphasort>(): _BSD_SOURCE || _SVID_SOURCE"
-msgstr "B<scandir>(), B<alphasort>(): _BSD_SOURCE || _SVID_SOURCE"
+#: build/C/man3/scandir.3:82
+#, no-wrap
+msgid ""
+"B<#include E<lt>fcntl.hE<gt>> /* Definition of AT_* constants */\n"
+"B<#include E<lt>dirent.hE<gt>>\n"
+msgstr ""
+"B<#include E<lt>fcntl.hE<gt>> /* AT_* 定数の定義 */\n"
+"B<#include E<lt>dirent.hE<gt>>\n"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:86
+msgid ""
+"B<int scandirat(int >I<dirfd>B<, const char *>I<dirp>B<,> B<struct dirent "
+"***>I<namelist>B<,>"
+msgstr ""
+"B<int scandirat(int >I<dirfd>B<, const char *>I<dirp>B<,> B<struct dirent "
+"***>I<namelist>B<,>"
#. type: Plain text
-#: build/C/man3/scandir.3:65
+#: build/C/man3/scandir.3:100
+msgid "B<scandir>(), B<alphasort>():"
+msgstr "B<scandir>(), B<alphasort>():"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:115
msgid "B<versionsort>(): _GNU_SOURCE"
msgstr "B<versionsort>(): _GNU_SOURCE"
#. type: Plain text
-#: build/C/man3/scandir.3:80
+#: build/C/man3/scandir.3:118
+msgid "B<scandirat>(): _GNU_SOURCE"
+msgstr "B<scandirat>(): _GNU_SOURCE"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:133
msgid ""
"The B<scandir>() function scans the directory I<dirp>, calling I<filter>() "
"on each directory entry. Entries for which I<filter>() returns nonzero are "
"which is allocated via B<malloc>(3). If I<filter> is NULL, all entries are "
"selected."
msgstr ""
-"関数 B<scandir>() はディレクトリ I<dirp> を走査し、 ディレクトリの各エントリ"
-"ã\82\92å¼\95ã\81\8dæ\95°ã\81¨ã\81\97ã\81¦ B<filter>() ã\82\92å\91¼ã\81³å\87ºã\81\99ã\80\82 B<filter>() ã\81\8c 0 以å¤\96ã\81®å\80¤ã\82\92è¿\94ã\81\99ã\82¨ã\83³"
-"ã\83\88ã\83ªã\81¯ B<malloc>(3) ã\81«ã\82\88ã\81£ã\81¦ 確ä¿\9dã\81\95ã\82\8cã\81\9fæ\96\87å\97å\88\97ã\81«ä¿\9då\98ã\81\95ã\82\8cã\80\81æ¯\94è¼\83é\96¢æ\95° B<compar>"
-"() を用いて B<qsort>(3) によりソートされ、 B<malloc>(3) により確保された配"
-"列 I<namelist> にまとめられる。 I<filter> が NULL ならば、すべてのエントリが"
-"選択される。"
+"関数 B<scandir>() はディレクトリ I<dirp> を走査し、 ディレクトリの各エント"
+"ã\83ªã\83¼ã\82\92å¼\95ã\81\8dæ\95°ã\81¨ã\81\97ã\81¦ B<filter>() ã\82\92å\91¼ã\81³å\87ºã\81\99ã\80\82 B<filter>() ã\81\8c 0 以å¤\96ã\81®å\80¤ã\82\92è¿\94ã\81\99"
+"ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81¯ B<malloc>(3) ã\81«ã\82\88ã\81£ã\81¦ 確ä¿\9dã\81\95ã\82\8cã\81\9fæ\96\87å\97å\88\97ã\81«ä¿\9då\98ã\81\95ã\82\8cã\80\81æ¯\94è¼\83é\96¢æ\95° "
+"B<compar>() を用いて B<qsort>(3) によりソートされ、 B<malloc>(3) により確"
+"保された配列 I<namelist> にまとめられる。 I<filter> が NULL ならば、すべての"
+"エントリーが選択される。"
#. type: Plain text
-#: build/C/man3/scandir.3:92
+#: build/C/man3/scandir.3:145
msgid ""
"The B<alphasort>() and B<versionsort>() functions can be used as the "
"comparison function I<compar>(). The former sorts directory entries using "
msgstr ""
"比較関数 I<compar>() には B<alphasort>() 関数と B<versionsort>() 関数を使"
"うことができる。 B<alphasort>() は B<strcoll>(3) を用いてディレクトリエント"
-"リをソートし、 B<versionsort>() は文字列 I<(*a)-E<gt>d_name> と I<(*b)-"
+"ã\83ªã\83¼ã\82\92ã\82½ã\83¼ã\83\88ã\81\97ã\80\81 B<versionsort>() ã\81¯æ\96\87å\97å\88\97 I<(*a)-E<gt>d_name> ã\81¨ I<(*b)-"
"E<gt>d_name> に対して B<strverscmp>(3) を用いる。"
+#. type: SS
+#: build/C/man3/scandir.3:145
+#, no-wrap
+msgid "scandirat()"
+msgstr "scandirat()"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:151
+msgid ""
+"The B<scandirat>() function operates in exactly the same way as "
+"B<scandir>(), except for the differences described here."
+msgstr ""
+"B<scandirat>() 関数は B<scandir>() と全く同様の動作をする。差分についてはここ"
+"で説明する。"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:161
+msgid ""
+"If the pathname given in I<dirp> 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<scandir>() for a relative pathname)."
+msgstr ""
+"I<dirp> で指定されたパス名が相対パスの場合、ファイルディスクリプター "
+"I<dirfd> が参照するディレクトリからの相対パスと解釈される (これに対して、"
+"B<scandir>() の場合は、相対パス名は、呼び出したプロセスのカレントワーキング"
+"ディレクトリからの相対パスと解釈される)。"
+
#. type: Plain text
-#: build/C/man3/scandir.3:97
+#: build/C/man3/scandir.3:173
msgid ""
-"The B<scandir>() function returns the number of directory entries selected "
-"or -1 if an error occurs."
+"If I<dirp> is relative and I<dirfd> is the special value B<AT_FDCWD>, then "
+"I<dirp> is interpreted relative to the current working directory of the "
+"calling process (like B<scandir>())."
msgstr ""
-"関数 B<scandir>() は選択されたエントリの数か、 (エラーが発生した場合) -1 を"
-"返す。"
+"I<dirp> が相対パスで I<dirfd> が特別な値 B<AT_FDCWD> の場合、 I<dirp> は "
+"(B<scandir>() と同様に) 呼び出したプロセスのカレントワーキングディレクトリか"
+"らの相対パスと解釈される。"
#. type: Plain text
-#: build/C/man3/scandir.3:105
+#: build/C/man3/scandir.3:179
+msgid "If I<dirp> is absolute, then I<dirfd> is ignored."
+msgstr "I<dirp> が絶対パスの場合、I<dirfd> は無視される。"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:184
+msgid "See B<openat>(2) for an explanation of the need for B<scandirat>()."
+msgstr "B<scandirat>() が必要な理由については B<openat>(2) を参照すること。"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:192
+msgid ""
+"The B<scandir>() function returns the number of directory entries "
+"selected. On error, -1 is returned, with I<errno> set to indicate the cause "
+"of the error."
+msgstr ""
+"B<scandir>() 関数は、選択されたディレクトリのエントリー数を返す。 エラーの場"
+"合、 -1 を返し、 I<errno> にエラーの原因を示す値を設定する。"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:200
msgid ""
"The B<alphasort>() and B<versionsort>() functions return an integer less "
"than, equal to, or greater than zero if the first argument is considered to "
"値を返す。"
#. type: Plain text
-#: build/C/man3/scandir.3:109
+#: build/C/man3/scandir.3:204
msgid "The path in I<dirp> does not exist."
msgstr "I<dirp> で指定されたパスが存在しない。"
#. type: Plain text
-#: build/C/man3/scandir.3:115
+#: build/C/man3/scandir.3:210
msgid "The path in I<dirp> is not a directory."
msgstr "I<dirp> で指定されたパスがディレクトリではない。"
#. type: Plain text
-#: build/C/man3/scandir.3:118
-msgid "B<versionsort>() was added to glibc in version 2.1."
-msgstr "B<versionsort>() は、glibc バージョン 2.1 で追加された。"
+#: build/C/man3/scandir.3:213
+msgid "The following additional errors can occur for B<scandirat>():"
+msgstr "B<scandirat>() では追加で以下のエラーも発生する:"
#. type: Plain text
-#: build/C/man3/scandir.3:125
-msgid ""
-"B<alphasort>() and B<scandir>() are specified in POSIX.1-2008, and are "
-"widely available. B<versionsort>() is a GNU extension."
-msgstr ""
-"B<alphasort>() と B<scandir>() は POSIX.1-2008 で規定されており、広く利用可"
-"能である。 B<versionsort>() は GNU 拡張である。"
+#: build/C/man3/scandir.3:217
+msgid "I<dirfd> is not a valid file descriptor."
+msgstr "I<dirfd> が有効なファイルディスクリプターではない。"
#. type: Plain text
-#: build/C/man3/scandir.3:132
+#: build/C/man3/scandir.3:223
msgid ""
-"The functions B<scandir>() and B<alphasort>() are from 4.3BSD, and have "
-"been available under Linux since libc4. Libc4 and libc5 use the more "
-"precise prototype"
+"I<dirp> is a relative path and I<dirfd> is a file descriptor referring to a "
+"file other than a directory."
msgstr ""
-"関数 B<scandir>() と B<alphasort>() は 4.3BSD から取り入れられ、Linux では "
-"libc4 から使用可能になった。 libc4 と libc5 では以下のようなもっと詳細なプロ"
-"トタイプを使っている。"
+"I<dirp> が相対パスで、I<dirfd> がディレクトリ以外のファイルを参照している\n"
+"ファイルディスクリプターである。"
#. type: Plain text
-#: build/C/man3/scandir.3:136
-#, no-wrap
-msgid ""
-" int alphasort(const struct dirent ** a,\n"
-" const struct dirent **b);\n"
-msgstr ""
-" int alphasort(const struct dirent ** a,\n"
-" const struct dirent **b);\n"
+#: build/C/man3/scandir.3:226
+msgid "B<versionsort>() was added to glibc in version 2.1."
+msgstr "B<versionsort>() は、glibc バージョン 2.1 で追加された。"
#. type: Plain text
-#: build/C/man3/scandir.3:139
-msgid "but glibc 2.0 returns to the imprecise BSD prototype."
-msgstr "しかし glibc 2.0 では不正確な BSD のプロトタイプに戻った。"
+#: build/C/man3/scandir.3:229
+msgid "B<scandirat>() was added to glibc in version 2.15."
+msgstr "B<scandirat>() は glibc バージョン 2.15 で追加された。"
#. type: Plain text
-#: build/C/man3/scandir.3:143
-msgid ""
-"The function B<versionsort>() is a GNU extension, available since glibc 2.1."
-msgstr ""
-"関数 B<versionsort>() は GNU の拡張であり、glibc 2.1 以降で使用可能である。"
+#: build/C/man3/scandir.3:233
+msgid "B<alphasort>(), B<scandir>(): 4.3BSD, POSIX.1-2008."
+msgstr "B<alphasort>(), B<scandir>(): 4.3BSD, POSIX.1-2008."
+#. .LP
+#. The functions
+#. .BR scandir ()
+#. and
+#. .BR alphasort ()
+#. are from 4.3BSD, and have been available under Linux since libc4.
+#. Libc4 and libc5 use the more precise prototype
+#. .sp
+#. .nf
+#. int alphasort(const struct dirent ** a,
+#. const struct dirent **b);
+#. .fi
+#. .sp
+#. but glibc 2.0 returns to the imprecise BSD prototype.
#. type: Plain text
-#: build/C/man3/scandir.3:150
+#: build/C/man3/scandir.3:252
+msgid "B<versionsort>() and B<scandirat>() are GNU extensions."
+msgstr "B<versionsort>() と B<scandirat>() は GNU 拡張である。"
+
+#. type: Plain text
+#: build/C/man3/scandir.3:259
msgid ""
"Since glibc 2.1, B<alphasort>() calls B<strcoll>(3); earlier it used "
"B<strcmp>(3)."
"B<alphasort>() は以前は B<strcmp>(3) を使っていた。"
#. type: Plain text
-#: build/C/man3/scandir.3:155
+#: build/C/man3/scandir.3:264
#, no-wrap
msgid ""
"#define _SVID_SOURCE\n"
"#include E<lt>dirent.hE<gt>\n"
#. type: Plain text
-#: build/C/man3/scandir.3:161
+#: build/C/man3/scandir.3:270
#, no-wrap
msgid ""
"int\n"
" int n;\n"
#. type: Plain text
-#: build/C/man3/scandir.3:173
+#: build/C/man3/scandir.3:282
#, no-wrap
msgid ""
" n = scandir(\".\", &namelist, NULL, alphasort);\n"
"}\n"
#. type: Plain text
-#: build/C/man3/scandir.3:186
+#: build/C/man3/scandir.3:294
msgid ""
-"B<closedir>(3), B<fnmatch>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>"
-"(3), B<scandirat>(3), B<seekdir>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<closedir>(3), B<fnmatch>(3), B<opendir>(3), B<readdir>(3), "
+"B<rewinddir>(3), B<seekdir>(3), B<strcmp>(3), B<strcoll>(3), "
"B<strverscmp>(3), B<telldir>(3)"
msgstr ""
-"B<closedir>(3), B<fnmatch>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>"
-"(3), B<scandirat>(3), B<seekdir>(3), B<strcmp>(3), B<strcoll>(3), "
+"B<closedir>(3), B<fnmatch>(3), B<opendir>(3), B<readdir>(3), "
+"B<rewinddir>(3), B<seekdir>(3), B<strcmp>(3), B<strcoll>(3), "
"B<strverscmp>(3), B<telldir>(3)"
#. type: TH
-#: build/C/man3/scandirat.3:25
-#, no-wrap
-msgid "SCANDIRAT"
-msgstr "SCANDIRAT"
-
-#. type: TH
-#: build/C/man3/scandirat.3:25
-#, no-wrap
-msgid "2012-03-17"
-msgstr "2012-03-17"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:28
-msgid "scandirat - scan a directory relative to a directory file descriptor"
-msgstr ""
-"scandirat - ディレクトリのファイルディスクリプタからの相対パスで指定された"
-"ディレクトリを走査する"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:31
-#, no-wrap
-msgid "B<#define _GNU_SOURCE> /* See feature_test_macros(7) */\n"
-msgstr "B<#define _GNU_SOURCE> /* feature_test_macros(7) 参照 */\n"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:34
-#, no-wrap
-msgid ""
-"B<#include E<lt>fcntl.hE<gt>> /* Definition of AT_* constants */\n"
-"B<#include E<lt>dirent.hE<gt>>\n"
-msgstr ""
-"B<#include E<lt>fcntl.hE<gt>> /* AT_* 定数の定義 */\n"
-"B<#include E<lt>dirent.hE<gt>>\n"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:38
-msgid ""
-"B<int scandirat(int >I<dirfd>B<, const char *>I<dirp>B<,> B<struct dirent "
-"***>I<namelist>B<,>"
-msgstr ""
-"B<int scandirat(int >I<dirfd>B<, const char *>I<dirp>B<,> B<struct dirent "
-"***>I<namelist>B<,>"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:50
-msgid ""
-"The B<scandirat>() system call operates in exactly the same way as "
-"B<scandir>(3), except for the differences described in this manual page."
-msgstr ""
-"B<scandirat>() システムコールは B<scandir>() と全く同様の動作をする。\n"
-"差分についてこのマニュアルページで説明する。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:60
-msgid ""
-"If the pathname given in I<dirp> 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<scandir>(3) for a relative pathname)."
-msgstr ""
-"I<dirp> で指定されたパス名が相対パスの場合、ファイルディスクリプタ I<dirfd>\n"
-"が参照するディレクトリからの相対パスと解釈される\n"
-"(これに対して、B<scandir>(3) の場合は、相対パス名は、呼び出したプロセスの\n"
-"カレントワーキングディレクトリからの相対パスと解釈される)。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:72
-msgid ""
-"If I<dirp> is relative and I<dirfd> is the special value B<AT_FDCWD>, then "
-"I<dirp> is interpreted relative to the current working directory of the "
-"calling process (like B<scandir>(3))."
-msgstr ""
-"I<dirp> が相対パスで I<dirfd> が特別な値 B<AT_FDCWD> の場合、\n"
-"I<dirp> は (B<scandir>(3) と同様に) 呼び出したプロセスのカレントワーキング\n"
-"ディレクトリからの相対パスと解釈される。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:78
-msgid "If I<dirp> is absolute, then I<dirfd> is ignored."
-msgstr "I<dirp> が絶対パスの場合、I<dirfd> は無視される。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:85
-msgid ""
-"On success, B<scandirat>() returns the number of directory entries "
-"selected. On error, -1 is returned and I<errno> is set to indicate the "
-"error."
-msgstr ""
-"成功した場合は、 B<scandirat>() は選択されたディレクトリエントリ数を返す。\n"
-"エラーの場合、 -1 が返され、 I<errno> にエラーを示す値が設定される。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:92
-msgid ""
-"The same errors that occur for B<scandir>(3) can also occur for B<scandirat>"
-"(). The following additional errors can occur for B<scandirat>():"
-msgstr ""
-"B<scandir>(3) で発生するのと同じエラーが B<scandirat>() でも発生する。\n"
-"B<scandirat>() では追加で以下のエラーも発生する:"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:96
-msgid "I<dirfd> is not a valid file descriptor."
-msgstr "I<dirfd> が有効なファイルディスクリプタではない。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:102
-msgid ""
-"I<dirp> is a relative path and I<dirfd> is a file descriptor referring to a "
-"file other than a directory."
-msgstr ""
-"I<dirp> が相対パスで、I<dirfd> がディレクトリ以外のファイルを参照している\n"
-"ファイルディスクリプタである。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:105
-msgid "B<scandirat>() was added to glibc in version 2.15."
-msgstr "B<scandirat>() は glibc バージョン 2.15 で追加された。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:107
-msgid "This function is a GNU extension."
-msgstr "この関数は GNU による拡張である。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:112
-msgid "See B<openat>(2) for an explanation of the need for B<scandirat>()."
-msgstr "B<scandirat>() が必要な理由については B<openat>(2) を参照すること。"
-
-#. type: Plain text
-#: build/C/man3/scandirat.3:116
-msgid "B<openat>(2), B<scandir>(3), B<path_resolution>(7)"
-msgstr "B<openat>(2), B<scandir>(3), B<path_resolution>(7)"
-
-#. type: TH
-#: build/C/man3/seekdir.3:30
+#: build/C/man3/seekdir.3:31
#, no-wrap
msgid "SEEKDIR"
msgstr "SEEKDIR"
#. type: TH
-#: build/C/man3/seekdir.3:30 build/C/man3/telldir.3:30
+#: build/C/man3/seekdir.3:31
#, no-wrap
-msgid "2009-03-11"
-msgstr "2009-03-11"
+msgid "2013-09-09"
+msgstr "2013-09-09"
#. type: Plain text
-#: build/C/man3/seekdir.3:34
+#: build/C/man3/seekdir.3:35
msgid ""
"seekdir - set the position of the next readdir() call in the directory "
"stream."
"設定する"
#. type: Plain text
-#: build/C/man3/seekdir.3:39
+#: build/C/man3/seekdir.3:40
#, no-wrap
-msgid "B<void seekdir(DIR *>I<dirp>B<, long >I<offset>B<);>\n"
-msgstr "B<void seekdir(DIR *>I<dirp>B<, long >I<offset>B<);>\n"
+msgid "B<void seekdir(DIR *>I<dirp>B<, long >I<loc>B<);>\n"
+msgstr "B<void seekdir(DIR *>I<dirp>B<, long >I<loc>B<);>\n"
#. type: Plain text
-#: build/C/man3/seekdir.3:48
+#: build/C/man3/seekdir.3:49
msgid "B<seekdir>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
msgstr "B<seekdir>(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE"
#: build/C/man3/seekdir.3:60
msgid ""
"The B<seekdir>() function sets the location in the directory stream from "
-"which the next B<readdir>(2) call will start. B<seekdir>() should be used "
-"with an I<offset> returned by B<telldir>(3)."
+"which the next B<readdir>(2) call will start. The I<loc> argument should "
+"be a value returned by a previous call to B<telldir>(3)."
msgstr ""
"B<seekdir>() 関数は、次の B<readdir>(3) 呼び出しの開始位置である、 ディレク"
-"トリストリームの中での位置を設定する。 B<seekdir>() は B<telldir>(3) によっ"
-"て返される I<offset> とともに使用されるべきである。"
+"トリストリームの中での位置を設定する。 I<loc> 引き数には、それ以前の "
+"B<telldir>(3) の呼び出しで返された値を渡すべきである。"
#. type: Plain text
#: build/C/man3/seekdir.3:64
msgstr "B<seekdir>() 関数は、値を返さない。"
#. type: Plain text
-#: build/C/man3/seekdir.3:66 build/C/man3/telldir.3:66
+#: build/C/man3/seekdir.3:69
+msgid "The B<seekdir>() function is thread-safe."
+msgstr "B<seekdir>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/seekdir.3:71 build/C/man3/telldir.3:71
msgid "4.3BSD, POSIX.1-2001."
msgstr "4.3BSD, POSIX.1-2001."
#. type: Plain text
-#: build/C/man3/seekdir.3:74
+#: build/C/man3/seekdir.3:83
msgid ""
-"In glibc up to version 2.1.1, the type of the I<offset> argument was "
-"I<off_t>. POSIX.1-2001 specifies I<long>, and this is the type used since "
-"glibc 2.1.2."
+"In glibc up to version 2.1.1, the type of the I<loc> argument was I<off_t>. "
+"POSIX.1-2001 specifies I<long>, and this is the type used since glibc "
+"2.1.2. See B<telldir>(3) for information on why you should be careful in "
+"making any assumptions about the value in this argument."
msgstr ""
-"バージョン 2.1.1 以前の glibc では、 I<offset> 引き数の型は I<off_t> であっ"
-"た。 POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では "
-"I<long> になっている。"
+"バージョン 2.1.1 以前の glibc では、 I<loc> 引き数の型は I<off_t> であった。 "
+"POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では I<long> に"
+"なっている。この引き数の値に前提を置く際には気を付けないといけない理由につい"
+"ては B<telldir>(3) を参照のこと。"
#. type: Plain text
-#: build/C/man3/seekdir.3:82
+#: build/C/man3/seekdir.3:91
msgid ""
"B<lseek>(2), B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), "
"B<scandir>(3), B<telldir>(3)"
"す。 エラーの場合、-1 が返されて、 I<errno> が適切に設定される。"
#. type: Plain text
-#: build/C/man3/telldir.3:74
+#: build/C/man3/telldir.3:69
+msgid "The B<telldir>() function is thread-safe."
+msgstr "B<telldir>() 関数はスレッドセーフである。"
+
+#. type: Plain text
+#: build/C/man3/telldir.3:79
msgid ""
"In glibc up to version 2.1.1, the return type of B<telldir>() was "
"I<off_t>. POSIX.1-2001 specifies I<long>, and this is the type used since "
"あった。 POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では "
"I<long> になっている。"
+#. https://lwn.net/Articles/544298/
#. type: Plain text
-#: build/C/man3/telldir.3:81
+#: build/C/man3/telldir.3:95
msgid ""
-"B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), B<scandir>"
-"(3), B<seekdir>(3)"
+"In early filesystems, the value returned by B<telldir>() was a simple file "
+"offset within a directory. Modern filesystems use tree or hash structures, "
+"rather than flat tables, to represent directories. On such filesystems, the "
+"value returned by B<telldir>() (and used internally by B<readdir>(3)) is a "
+"\"cookie\" that is used by the implementation to derive a position within a "
+"directory. Application programs should treat this strictly as an opaque "
+"value, making I<no> assumptions about its contents."
msgstr ""
-"B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), B<scandir>"
-"(3), B<seekdir>(3)"
-
-#~ msgid "2010-11-21"
-#~ msgstr "2010-11-21"
+"初期のファイルシステムでは、 B<telldir>() が返す値は単なるディレクトリ内の"
+"ファイルオフセットであった。新しめのファイルシステムでは、ディレクトリを表現"
+"するのに、フラットなテーブルではなく、ツリーやハッシュ構造が使用されている。"
+"このようなファイルシステムでは、 B<telldir>() が返す値 (および B<readdir>(3) "
+"が内部で使用する値) は、ディレクトリ内での値を示すのにファイルシステム実装が"
+"使っている \"cookie\" となる。アプリケーションプログラムでは、必ずこの値を内"
+"容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは"
+"「ない」。"
-#~ msgid "2008-10-02"
-#~ msgstr "2008-10-02"
-
-#~ msgid "2010-09-10"
-#~ msgstr "2010-09-10"
-
-#~ msgid ""
-#~ "len = offsetof(struct dirent, d_name) +\n"
-#~ " pathconf(dirpath, _PC_NAME_MAX) + 1\n"
-#~ "entryp = malloc(len);\n"
-#~ msgstr ""
-#~ "len = offsetof(struct dirent, d_name) +\n"
-#~ " pathconf(dirpath, _PC_NAME_MAX) + 1\n"
-#~ "entryp = malloc(len);\n"
-
-#~ msgid ""
-#~ "Currently, only some file systems (among them: Btrfs, ext2, ext3, and "
-#~ "ext4) have full support returning the file type in I<d_type>. All "
-#~ "applications must properly handle a return of B<DT_UNKNOWN>."
-#~ msgstr ""
-#~ "現在のところ、 I<d_type> でファイルタイプを返す機能が完全にサポートされて"
-#~ "いるのは、 いくつかのファイルシステムにおいてのみである (Btrfs, ext2, "
-#~ "ext3, ext4 はサポートしている)。 どのアプリケーションも、 B<DT_UNKNOWN> が"
-#~ "返された際に適切に処理できなければならない。"
+#. type: Plain text
+#: build/C/man3/telldir.3:102
+msgid ""
+"B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), "
+"B<scandir>(3), B<seekdir>(3)"
+msgstr ""
+"B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), "
+"B<scandir>(3), B<seekdir>(3)"