• R/O
  • HTTP
  • SSH
  • HTTPS

Commit

Tags
Aucun tag

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

翻訳ドキュメント管理用


Commit MetaInfo

Révisioncd81b3325e2c4becdaa88dc12295e95dc8d8956e (tree)
l'heure2021-07-01 01:40:26
AuteurAkihiro Motoki <amotoki@gmai...>
CommiterAkihiro Motoki

Message de Log

LDP: Translate dirent ja.po

Change Summary

Modification

--- a/manual/LDP_man-pages/draft/man2/getdents.2
+++ b/manual/LDP_man-pages/draft/man2/getdents.2
@@ -60,28 +60,28 @@ getdents, getdents64 \- ディレクトリエントリーを取得する
6060 .PP
6161 \fI注\fP: \fBgetdents\fP() の glibc のラッパー関数は存在しない。「注意」の節を参照。
6262 .SH 説明
63-これらはあなたの関心を引くようなインターフェースではない。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3)
64-を見ること。 このページは、カーネルシステムコールの生のインターフェースについて 記載したものである。
63+これらはあなたの関心を引くようなインターフェースではないだろう。 POSIX 準拠の C ライブラリインターフェースについては
64+\fBreaddir\fP(3) を参照のこと。このページは、カーネルシステムコールの生のインターフェースについて記載したものである。
6565 .SS getdents()
6666 \fBgetdents\fP() システムコールは、オープン済みのファイルディスクリプター \fIfd\fP で参照されるディレクトリから
6767 \fIlinux_dirent\fP 構造体をいくつか読み出し、 \fIdirp\fP が指しているバッファーに格納する。 \fIcount\fP
6868 引き数はそのバッファーのサイズを示す。
6969 .PP
70-\fIlinux_dirent\fP 構造体は以下のように宣言されている:
70+\fIlinux_dirent\fP 構造体は以下のように宣言されている。
7171 .PP
7272 .in +4n
7373 .EX
7474 struct linux_dirent {
75- unsigned long d_ino; /* Inode number */
76- unsigned long d_off; /* Offset to next \fIlinux_dirent\fP */
77- unsigned short d_reclen; /* Length of this \fIlinux_dirent\fP */
78- char d_name[]; /* Filename (null\-terminated) */
79- /* length is actually (d_reclen \- 2 \-
75+ unsigned long d_ino; /* inode 番号 */
76+ unsigned long d_off; /* 次の \fIlinux_dirent\fP へのオフセット */
77+ unsigned short d_reclen; /* この \fIlinux_dirent\fP の長さ */
78+ char d_name[]; /* ファイル名 (ヌル終端される) */
79+ /* 実際の長さは (d_reclen \- 2 \-
8080 offsetof(struct linux_dirent, d_name)) */
8181 /*
82- char pad; // Zero padding byte
83- char d_type; // File type (only since Linux
84- // 2.6.4); offset is (d_reclen \- 1)
82+ char pad; // 値 0 のパディングバイト
83+ char d_type; // ファイル種別 (Linux 2.6.4 以降のみ);
84+ // オフセットは (d_reclen \- 1)
8585 */
8686 }
8787 .EE
@@ -90,7 +90,7 @@ struct linux_dirent {
9090 \fId_ino\fP は inode 番号である。 \fId_off\fP はディレクトリの先頭から次の \fIlinux_dirent\fP の先頭までの距離である。
9191 \fId_reclen\fP はこの \fIlinux_dirent\fP 全体のサイズである。 \fId_name\fP はヌル文字で終わるファイル名である。
9292 .PP
93-\fId_type\fP は、構造体の最後のバイトであり、ファイルタイプを示す。 \fId_type\fP は以下の値の一つを取る
93+\fId_type\fP は、構造体の最後のバイトであり、ファイルタイプを示す。 \fId_type\fP は以下の値のいずれか一つを取る
9494 (\fI<dirent.h>\fP で定義されている)。
9595 .TP 12
9696 \fBDT_BLK\fP
@@ -115,35 +115,34 @@ struct linux_dirent {
115115 UNIX ドメインソケットである。
116116 .TP
117117 \fBDT_UNKNOWN\fP
118-ファイルタイプが不明である。
118+ファイルタイプが不明。
119119 .PP
120-\fId_type\fP フィールドは Linux 2.6.4 から実装されている。 これは \fIlinux_dirent\fP
121-構造体のうち、以前はゼロで埋められていた空間に配置されている。 従って、2.6.3 以前のカーネルでは、このフィールドにアクセスしようとすると 常に値
122-0 (\fBDT_UNKNOWN\fP) が返される。
120+\fId_type\fP フィールドは Linux 2.6.4 以降で実装されている。 このフィールドは、 \fIlinux_dirent\fP
121+構造体の中で以前はゼロで埋められていた空間に配置されている。 したがって、2.6.3 以前のカーネルでは、このフィールドにアクセスしようとすると 常に値
122+0 (\fBDT_UNKNOWN\fP) が返される。
123123 .PP
124124 .\" kernel 2.6.27
125125 .\" The same sentence is in readdir.2
126126 現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである
127-(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも、 \fBDT_UNKNOWN\fP
127+(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも \fBDT_UNKNOWN\fP
128128 が返された際に適切に処理できなければならない。
129129 .SS getdents64()
130-The original Linux \fBgetdents\fP() system call did not handle large
131-filesystems and large file offsets. Consequently, Linux 2.4 added
132-\fBgetdents64\fP(), with wider types for the \fId_ino\fP and \fId_off\fP fields. In
133-addition, \fBgetdents64\fP() supports an explicit \fId_type\fP field.
130+元々の Linux の \fBgetdents\fP()
131+システムコールは、大きなファイルシステムと大きなファイルオフセットを扱うことができなかった。そのため、Linux 2.4 で
132+\fBgetdents64\fP() が追加された。 \fBgetdents64\fP() では、 \fId_ino\fP と \fId_off\fP
133+でビット幅の大きなデータ型が使われている。また、 \fBgetdents64\fP() では \fId_type\fP フィールドを明示的にサポートされている。
134134 .PP
135-The \fBgetdents64\fP() system call is like \fBgetdents\fP(), except that its
136-second argument is a pointer to a buffer containing structures of the
137-following type:
135+\fBgetdents64\fP() システムコールは \fBgetdents\fP() と似ているが、 2
136+番目の引き数が以下の構造体が入ったバッファへのポインターである点が異なる。
138137 .PP
139138 .in +4n
140139 .EX
141140 struct linux_dirent64 {
142- ino64_t d_ino; /* 64\-bit inode number */
143- off64_t d_off; /* 64\-bit offset to next structure */
144- unsigned short d_reclen; /* Size of this dirent */
145- unsigned char d_type; /* File type */
146- char d_name[]; /* Filename (null\-terminated) */
141+ ino64_t d_ino; /* 64 ビットの inode 番号 */
142+ off64_t d_off; /* 次の構造体への 64 ビットのオフセット */
143+ unsigned short d_reclen; /* この dirent の大きさ */
144+ unsigned char d_type; /* ファイル種別 */
145+ char d_name[]; /* ファイル名 (ヌル終端される) */
147146 };
148147 .EE
149148 .in
@@ -156,7 +155,7 @@ struct linux_dirent64 {
156155 ファイルディスクリプター \fIfd\fP が不正である。
157156 .TP
158157 \fBEFAULT\fP
159-引き数が呼び出したプロセスのアドレス空間外を指している。
158+引き数が呼び出し元プロセスのアドレス空間外を指している。
160159 .TP
161160 \fBEINVAL\fP
162161 結果用のバッファーが小さすぎる。
@@ -170,13 +169,12 @@ struct linux_dirent64 {
170169 .\" SVr4 documents additional ENOLINK, EIO error conditions.
171170 SVr4.
172171 .SH 注意
173-Library support for \fBgetdents64\fP() was added in glibc 2.30; there is no
174-glibc wrapper for \fBgetdents\fP(). Calling \fBgetdents\fP() (or \fBgetdents64\fP()
175-on earlier glibc versions) requires the use of \fBsyscall\fP(2). In that case
176-you will need to define the \fIlinux_dirent\fP or \fIlinux_dirent64\fP structure
177-yourself.
172+\fBgetdents64\fP() に対応するライブラリのサポートは glibc 2.30 で追加された。 \fBgetdents\fP() に対する glibc
173+ラッパー関数は存在しない。 \fBgetdents\fP() (もしくは glibc の古いバージョンでの \fBgetdents64\fP()) を呼び出すには、
174+\fBsyscall\fP(2) を使う必要がある。その場合、構造体 \fIlinux_dirent\fP や \fIlinux_dirent64\fP
175+を自分で定義する必要があるだろう。
178176 .PP
179-Probably, you want to use \fBreaddir\fP(3) instead of these system calls.
177+おそらく、あなたが使いたいのは、これらのシステムコールではなく \fBreaddir\fP(3) の方であろう。
180178 .PP
181179 これらのシステムコールは \fBreaddir\fP(2) を置き換えるものである。
182180 .SH 例
@@ -203,7 +201,7 @@ inode# file type d_reclen d_off d_name
203201 \&
204202 .EX
205203 #define _GNU_SOURCE
206-#include <dirent.h> /* Defines DT_* constants */
204+#include <dirent.h> /* DT_* 定数の定義 */
207205 #include <fcntl.h>
208206 #include <stdint.h>
209207 #include <stdio.h>
--- a/manual/LDP_man-pages/draft/man2/readdir.2
+++ b/manual/LDP_man-pages/draft/man2/readdir.2
@@ -52,31 +52,31 @@ readdir \- ディレクトリエントリーを読み込む
5252 .PP
5353 \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
5454 .SH 説明
55-これはあなたの興味をもっている関数ではない。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3) を見ること。
56-このページは裸のカーネルのシステムコールインターフェースについて 記述しているが、このインターフェースは \fBgetdents\fP(2)
57-によって取って代わられた。
55+これはあなたの関心を引くような関数ではないだろう。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3)
56+を参照のこと。このページでは、生のカーネルのシステムコールインターフェースについて記載しているが、このインターフェースは \fBgetdents\fP(2)
57+によって置き換えられた。
5858 .PP
5959 \fBreaddir\fP() は、ファイルディスクリプター \fIfd\fP が参照しているディレクトリから \fIold_linux_dirent\fP
60-構造体を読み込み、 \fIdirp\fP で指されたバッファーに格納する。 \fIcount\fP 引き数は(ほとんどの \fIold_linux_dirent\fP
61-構造体の読み込みにおいて)無視される
60+構造体をひとつ読み込み、 \fIdirp\fP で指されたバッファーに格納する。 \fIcount\fP 引き数は無視される。最大で 1 個の
61+\fIold_linux_dirent\fP 構造体が読み出される。
6262 .PP
63-The \fIold_linux_dirent\fP structure is declared (privately in Linux kernel
64-file \fBfs/readdir.c\fP) as follows:
63+\fIold_linux_dirent\fP 構造体は (Linux カーネルのファイル \fBfs/readdir.c\fP で内部用として)
64+以下のように宣言される:
6565 .PP
6666 .in +4n
6767 .EX
6868 struct old_linux_dirent {
69- unsigned long d_ino; /* inode number */
70- unsigned long d_offset; /* offset to this \fIold_linux_dirent\fP */
71- unsigned short d_namlen; /* length of this \fId_name\fP */
72- char d_name[1]; /* filename (null\-terminated) */
69+ unsigned long d_ino; /* inode 番号 */
70+ unsigned long d_offset; /* この \fIold_linux_dirent\fP へのオフセット */
71+ unsigned short d_namlen; /* この \fId_name\fP の長さ */
72+ char d_name[1]; /* (NULL 終端された) ファイル名 */
7373 }
7474 .EE
7575 .in
7676 .PP
7777 \fId_ino\fP は inode 番号である。 \fId_offset\fP はディレクトリの最初からこの \fIold_linux_dirent\fP
7878 まで距離である。 \fId_reclen\fP は \fId_name\fP の大きさで、終端のヌルバイト (\(aq\e0\(aq) を含まない。
79-\fId_name\fP はヌルバイトで終わるファイル名である。
79+\fId_name\fP はヌルで終端されたファイル名である。
8080 .SH 返り値
8181 成功した場合は、1 が返される。 ディレクトリの最後では 0 が返される。 エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。
8282 .SH エラー
@@ -85,7 +85,7 @@ struct old_linux_dirent {
8585 ファイルディスクリプター \fIfd\fP が不正である。
8686 .TP
8787 \fBEFAULT\fP
88-引き数が呼び出したプロセスのアドレス空間外を指している。
88+引き数が呼び出し元プロセスのアドレス空間外を指している。
8989 .TP
9090 \fBEINVAL\fP
9191 結果用のバッファーが小さすぎる。
@@ -96,7 +96,7 @@ struct old_linux_dirent {
9696 \fBENOTDIR\fP
9797 ファイルディスクリプターがディレクトリを参照していない。
9898 .SH 準拠
99-このシステムコールは Linux 特有である。
99+このシステムコールは Linux 固有である。
100100 .SH 注意
101101 glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。
102102 \fIold_linux_dirent\fP 構造体を自分自身で定義する必要がある。しかし、たいていはこのシステムコールではなく \fBreaddir\fP(3)
--- a/manual/LDP_man-pages/draft/man3/dirfd.3
+++ b/manual/LDP_man-pages/draft/man3/dirfd.3
@@ -54,21 +54,20 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
5454 .RS 4
5555 .PD 0
5656 .ad l
57-/* Since glibc 2.10: */ _POSIX_C_SOURCE\ >=\ 200809L
58- || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
57+/* glibc 2.10 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
58+ || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
5959 .PD
6060 .RE
6161 .ad
6262 .SH 説明
6363 関数 \fBdirfd\fP() はディレクトリストリーム \fIdirp\fP に関連づけられたファイルディスクリプターを返す。
6464 .PP
65-このファイルディスクリプターはディレクトリストリームが内部で使用するものである。 よって、ファイルの位置に依存せず、かつその位置を変更しない関数
66-\fBfstat\fP(2) や \fBfchdir\fP(2) などでしか役に立たない。 このファイルディスクリプターは \fBclosedir\fP(3)
65+このファイルディスクリプターはディレクトリストリームが内部で使用するものである。結果的に、この関数が役に立つのは、ファイルの位置に依存しない関数やその位置を変更しない関数
66+(\fBfstat\fP(2) や \fBfchdir\fP(2) など) においてだけである。このファイルディスクリプターは \fBclosedir\fP(3)
6767 が呼ばれたときに自動的にクローズされる。
6868 .SH 返り値
69-On success, \fBdirfd\fP() returns a file descriptor (a nonnegative integer).
70-On error, \-1 is returned, and \fIerrno\fP is set to indicate the cause of the
71-error.
69+成功すると、 \fBdirfd\fP() はファイルディスクリプター (非負の整数) を返す。エラーの場合、 \-1 が返され、 \fIerrno\fP
70+にエラーの原因を示す値が設定される。
7271 .SH エラー
7372 .\" glibc 2.8
7473 POSIX.1\-2008 では 2 つのエラーが規定されている。 現在の実装ではどちらのエラーも返されない。
--- a/manual/LDP_man-pages/draft/man3/opendir.3
+++ b/manual/LDP_man-pages/draft/man3/opendir.3
@@ -72,7 +72,7 @@ _GNU_SOURCE
7272 .ad
7373 .PD
7474 .SH 説明
75-\fBopendir\fP() 関数はディレクトリ \fIname\fP に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。
75+\fBopendir\fP() 関数は、ディレクトリ \fIname\fP に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。
7676 ストリームの位置はディレクトリの先頭のエントリーに設定される。
7777 .PP
7878 \fBfdopendir\fP() 関数は \fBopendir\fP() と同様だが、オープン済みのファイルディスクリプター \fIfd\fP
@@ -90,11 +90,10 @@ _GNU_SOURCE
9090 \fIfd\fP が読み出し用にオープンされた、有効なファイルディスクリプターではない。
9191 .TP
9292 \fBEMFILE\fP
93-The per\-process limit on the number of open file descriptors has been
94-reached.
93+オープンされたファイルディスクリプター数がプロセス単位の上限に達している。
9594 .TP
9695 \fBENFILE\fP
97-The system\-wide limit on the total number of open files has been reached.
96+オープンされたファイルの総数がシステム全体の上限に達している。
9897 .TP
9998 \fBENOENT\fP
10099 ディレクトリが存在しないか、または \fIname\fP が空文字列である。
@@ -122,9 +121,9 @@ T} Thread safety MT\-Safe
122121 \fBopendir\fP() は SVr4 と 4.3BSD に存在し、 POSIX.1\-2001 で規定されている。 \fBfdopendir\fP() は
123122 POSIX.1\-2008 で規定されている。
124123 .SH 注意
125-Filename entries can be read from a directory stream using \fBreaddir\fP(3).
124+ファイル名エントリーをディレクトリストリームから読み込むには \fBreaddir\fP(3) を使用する。
126125 .PP
127-ディレクトリストリームに対応するファイルディスクリプターは \fBdirfd\fP(3) を使用して得ることができる。
126+ディレクトリストリームに対応するファイルディスクリプターは \fBdirfd\fP(3) を使用して取得できる。
128127 .PP
129128 \fBopendir\fP() 関数は、 \fIDIR *\fP の背後にあるファイルディスクリプターの close\-on\-exec フラグを設定する。
130129 \fBfdopendir\fP() 関数は、ファイルディスクリプターの close\-on\-exec フラグの設定を変更しない。 \fBfdopendir\fP()
--- /dev/null
+++ b/manual/LDP_man-pages/draft/man3/readdir.3
@@ -0,0 +1,217 @@
1+.\" Copyright (C) 1993 David Metcalfe (david@prism.demon.co.uk)
2+.\" and Copyright (C) 2008, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
3+.\"
4+.\" %%%LICENSE_START(VERBATIM)
5+.\" Permission is granted to make and distribute verbatim copies of this
6+.\" manual provided the copyright notice and this permission notice are
7+.\" preserved on all copies.
8+.\"
9+.\" Permission is granted to copy and distribute modified versions of this
10+.\" manual under the conditions for verbatim copying, provided that the
11+.\" entire resulting derived work is distributed under the terms of a
12+.\" permission notice identical to this one.
13+.\"
14+.\" Since the Linux kernel and libraries are constantly changing, this
15+.\" manual page may be incorrect or out-of-date. The author(s) assume no
16+.\" responsibility for errors or omissions, or for damages resulting from
17+.\" the use of the information contained herein. The author(s) may not
18+.\" have taken the same level of care in the production of this manual,
19+.\" which is licensed free of charge, as they might when working
20+.\" professionally.
21+.\"
22+.\" Formatted or processed versions of this manual, if unaccompanied by
23+.\" the source, must acknowledge the copyright and authors of this work.
24+.\" %%%LICENSE_END
25+.\"
26+.\" References consulted:
27+.\" Linux libc source code
28+.\" Lewine's _POSIX Programmer's Guide_ (O'Reilly & Associates, 1991)
29+.\" 386BSD man pages
30+.\" Modified Sat Jul 24 16:09:49 1993 by Rik Faith (faith@cs.unc.edu)
31+.\" Modified 11 June 1995 by Andries Brouwer (aeb@cwi.nl)
32+.\" Modified 22 July 1996 by Andries Brouwer (aeb@cwi.nl)
33+.\" 2007-07-30 Ulrich Drepper <drepper@redhat.com>, mtk:
34+.\" Rework discussion of nonstandard structure fields.
35+.\"
36+.\"*******************************************************************
37+.\"
38+.\" This file was generated with po4a. Translate the source file.
39+.\"
40+.\"*******************************************************************
41+.\"
42+.\" Japanese Version Copyright (c) 1997 HIROFUMI Nishizuka
43+.\" all rights reserved.
44+.\" Translated 1997-12-24, HIROFUMI Nishizuka <nishi@rpts.cl.nec.co.jp>
45+.\" Updated & Modified 2002-03-24, Yuichi SATO <ysato@h4.dion.ne.jp>
46+.\" Updated & Modified 2005-01-16, Yuichi SATO <ysato444@yahoo.co.jp>
47+.\" Updated & Modified 2005-09-06, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
48+.\" Updated 2008-08-11, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v3.05
49+.\" Updated 2013-03-26, Akihiro MOTOKI <amotoki@gmail.com>
50+.\" Updated 2013-05-01, Akihiro MOTOKI <amotoki@gmail.com>
51+.\" Updated 2013-07-22, Akihiro MOTOKI <amotoki@gmail.com>
52+.\"
53+.TH READDIR 3 2019\-03\-06 "" "Linux Programmer's Manual"
54+.SH 名前
55+readdir \- ディレクトリを読み込む
56+.SH 書式
57+.nf
58+\fB#include <dirent.h>\fP
59+.PP
60+\fBstruct dirent *readdir(DIR *\fP\fIdirp\fP\fB);\fP
61+.fi
62+.SH 説明
63+\fBreaddir\fP() 関数は、\fIdirp\fP が指すディレクトリストリームの中で、 次のディレクトリエントリーを表す \fIdirent\fP
64+構造体へのポインターを返す。 ディレクトリストリームの末尾に達した場合や、 エラーが発生した場合は、 NULL を返す。
65+.PP
66+glibc の実装では \fIdirent\fP 構造体は以下のように定義されている。
67+.PP
68+.in +4n
69+.EX
70+struct dirent {
71+ ino_t d_ino; /* inode 番号 */
72+ off_t d_off; /* オフセットではない; 下記を参照 */
73+ unsigned short d_reclen; /* このレコードの長さ */
74+ unsigned char d_type; /* ファイル種別。全ファイルシステム */
75+ でサポートされているわけではない */
76+ char d_name[256]; /* ヌル終端されたファイル名 */
77+};
78+.EE
79+.in
80+.PP
81+\fIdirent\fP 構造体のフィールドのうち POSIX.1 で要求されているのは、 \fId_name\fP と \fId_ino\fP
82+だけである。他のフィールドは非標準であり、すべてのシステムで存在するわけではない。 詳細については、下記の「注意」を参照のこと。
83+.PP
84+\fIdirent\fP 構造体のフィールドは以下の通りである:
85+.TP
86+\fId_ino\fP
87+ファイルの inode 番号である。
88+.TP
89+\fId_off\fP
90+.\" https://lwn.net/Articles/544298/
91+\fId_off\fP で返される値は、ディレクトリストリームの現在の位置で \fBtelldir\fP(3)
92+を呼び出した場合の返り値と同じである。フィールドの型や名前はこうなっているが、最近のファイルシステムでは \fId_off\fP
93+フィールドが何らかのディレクトリオフセットであることはめったにない。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきではない。
94+\fBtelldir\fP(3) も参照。
95+.TP
96+\fId_reclen\fP
97+返されたレコードの (バイト単位の) サイズである。この値は上記の構造体の定義のサイズとは一致しないかもしれない。「注意」を参照。
98+.TP
99+\fId_type\fP
100+ファイル種別を示す値が格納される。これにより、これ以降の処理がファイル種別に依存している場合に \fBlstat\fP(2)
101+を呼び出すコストを避けることができる。
102+.IP
103+適切な機能検査マクロ (glibc 2.19 以降では \fB_DEFAULT_SOURCE\fP、 glibc 2.19 以前では
104+\fB_BSD_SOURCE\fP) が定義されている場合、 glibc は \fId_type\fP の値に対応する以下のマクロ定数を定義する。
105+.RS
106+.TP 12
107+\fBDT_BLK\fP
108+ブロックデバイスである。
109+.TP
110+\fBDT_CHR\fP
111+キャラクターデバイスである。
112+.TP
113+\fBDT_DIR\fP
114+ディレクトリである。
115+.TP
116+\fBDT_FIFO\fP
117+名前付きパイプ (FIFO) である。
118+.TP
119+\fBDT_LNK\fP
120+シンボリックリンクである。
121+.TP
122+\fBDT_REG\fP
123+通常のファイルである。
124+.TP
125+\fBDT_SOCK\fP
126+UNIX ドメインソケットである。
127+.TP
128+\fBDT_UNKNOWN\fP
129+ファイル種別が判別できなかった。
130+.RE
131+.IP
132+.\" kernel 2.6.27
133+.\" The same sentence is in getdents.2
134+現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである
135+(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも \fBDT_UNKNOWN\fP
136+が返された際に適切に処理できなければならない。
137+.TP
138+\fId_name\fP
139+このフィールドはヌル終端されたファイル名である。「注意」を参照。
140+.PP
141+\fBreaddir\fP() によって返されるデータは、それ以降の同じストリームに対する \fBreaddir\fP()
142+の呼び出しによって上書きされる可能性がある。
143+.SH 返り値
144+成功すると、 \fBreaddir\fP() は \fIdirent\fP 構造体へのポインターを返す。 (この構造体は静的に割り当てられているかもしれない。
145+このポインターを \fBfree\fP(3) しようとしないこと。)
146+.PP
147+ディレクトリストリームの末尾に達した場合には、NULL が返され、 \fIerrno\fP は変化しない。 エラーが発生した場合、NULL が返され、
148+\fIerrno\fP が適切に設定される。エラーからストリームの末尾を区別するには、 \fBreaddir\fP() を呼び出す前に \fIerrno\fP を 0
149+に設定しておき、 NULL が返された場合に \fIerrno\fP の値を確認すればよい。
150+.SH エラー
151+.TP
152+\fBEBADF\fP
153+ディレクトリストリームディスクリプター \fIdirp\fP が無効である。
154+.SH 属性
155+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
156+.TS
157+allbox;
158+lb lb lb
159+l l l.
160+インターフェース 属性 値
161+T{
162+\fBreaddir\fP()
163+T} Thread safety MT\-Unsafe race:dirstream
164+.TE
165+.sp 1
166+.PP
167+.\" FIXME .
168+.\" http://www.austingroupbugs.net/view.php?id=696
169+現在の POSIX.1 標準 (POSIX.1\-2008) では、 \fBreaddir\fP()
170+がスレッドセーフであることは求められていない。しかしながら、最近の実装 (glibc による実装も含む) では、異なるディレクトリストリームに対する
171+\fBreaddir\fP()
172+の同時並行の呼び出しはスレッドセーフである。複数のスレッドが同じディレクトリストリームから読み込みを行う必要がある場合も、非推奨の
173+\fBreaddir_r\fP(3) 関数を使用するよりも、外部同期を用いた \fBreaddir\fP() を使う方が推奨される。 POSIX.1
174+の将来のバージョンでは、 \fBreaddir\fP()
175+は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。
176+.SH 準拠
177+POSIX.1\-2001, POSIX.1\-2008, SVr4, 4.3BSD.
178+.SH 注意
179+ディレクトリストリームは \fBopendir\fP(3) を使ってオープンする。
180+.PP
181+連続する \fBreaddir\fP()
182+の呼び出しで読み込まれるファイル名の順序は、ファイルシステムの実装に依存する。名前が何らかの方法でソートされていることはありえない。
183+.PP
184+.\" POSIX.1-2001, POSIX.1-2008
185+.\"
186+フィールド \fId_name\fP と (XSI 拡張の) \fId_ino\fP だけが POSIX.1 で規定されている。 \fId_type\fP フィールドは、
187+Linux 以外では、おもに BSD
188+系のシステムでのみ利用可能である。残りのフィールドは多くのシステムに存在するが、全てのシステムに存在するわけではない。 glibc では、プログラムが
189+POSIX.1 で定義されていないフィールドが 利用できるかをチェックすることができる。 チェックするには、マクロ
190+\fB_DIRENT_HAVE_D_NAMLEN\fP, \fB_DIRENT_HAVE_D_RECLEN\fP, \fB_DIRENT_HAVE_D_OFF\fP,
191+\fB_DIRENT_HAVE_D_TYPE\fP が定義されているかをテストすればよい。
192+.SS "d_name フィールド"
193+上記の \fIdirent\fP 構造体の定義は glibc のヘッダーからの引用であり、 \fId_name\fP フィールドは固定サイズとなっている。
194+.PP
195+\fI警告\fP: アプリケーションは、 \fId_name\fP フィールドのサイズに依存すべきではない。 POSIX ではこのフィールドは \fIchar\ d_name[]\fP (サイズ不定の文字配列) として規定しており、最大で終端のヌルバイト (\(aq\e0\(aq) の前に \fBNAME_MAX\fP
196+文字が入る。
197+.PP
198+POSIX.1 は、このフィールドを左辺値として使用すべきではないと明記している。また、 POSIX.1 では、 \fIsizeof(d_name)\fP
199+の使用は間違いであり、代わりに \fIstrlen(d_name)\fP を使用するように、との注記もある (いくつかのシステムでは、このフィールドは
200+\fIchar\ d_name[1]\fP! として定義されている)。このことは、 \fId_name\fP を含むレコードのサイズを取得するために
201+\fIsizeof(struct dirent)\fP を使用することも間違いであることを暗に示している。
202+.PP
203+多くのファイルシステムでは、
204+.PP
205+ fpathconf(fd, _PC_NAME_MAX)
206+.PP
207+の呼び出しは値 255 を返すが、いくつかのファイルシステム (例えば CIFS や Windows SMB サーバーなど)
208+では、(正しい動作なのだが) \fId_name\fP
209+で返されるヌル終端されたファイル名は実際にはこのサイズを超える場合がある点に注意すること。このような場合、 \fId_reclen\fP フィールドは、上記の
210+glibc \fIdirent\fP 構造体のサイズよりも大きな値となる。
211+.SH 関連項目
212+\fBgetdents\fP(2), \fBread\fP(2), \fBclosedir\fP(3), \fBdirfd\fP(3), \fBftw\fP(3),
213+\fBoffsetof\fP(3), \fBopendir\fP(3), \fBreaddir_r\fP(3), \fBrewinddir\fP(3),
214+\fBscandir\fP(3), \fBseekdir\fP(3), \fBtelldir\fP(3)
215+.SH この文書について
216+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
217+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
--- /dev/null
+++ b/manual/LDP_man-pages/draft/man3/readdir_r.3
@@ -0,0 +1,111 @@
1+.\" Copyright (C) 2008, 2016 Michael Kerrisk <mtk.manpages@gmail.com>
2+.\" and Copyright (C) 2016 Florian Weimer <fweimer@redhat.com>
3+.\"
4+.\" %%%LICENSE_START(VERBATIM)
5+.\" Permission is granted to make and distribute verbatim copies of this
6+.\" manual provided the copyright notice and this permission notice are
7+.\" preserved on all copies.
8+.\"
9+.\" Permission is granted to copy and distribute modified versions of this
10+.\" manual under the conditions for verbatim copying, provided that the
11+.\" entire resulting derived work is distributed under the terms of a
12+.\" permission notice identical to this one.
13+.\"
14+.\" Since the Linux kernel and libraries are constantly changing, this
15+.\" manual page may be incorrect or out-of-date. The author(s) assume no
16+.\" responsibility for errors or omissions, or for damages resulting from
17+.\" the use of the information contained herein. The author(s) may not
18+.\" have taken the same level of care in the production of this manual,
19+.\" which is licensed free of charge, as they might when working
20+.\" professionally.
21+.\"
22+.\" Formatted or processed versions of this manual, if unaccompanied by
23+.\" the source, must acknowledge the copyright and authors of this work.
24+.\" %%%LICENSE_END
25+.\"
26+.\"*******************************************************************
27+.\"
28+.\" This file was generated with po4a. Translate the source file.
29+.\"
30+.\"*******************************************************************
31+.TH READDIR_R 3 2016\-03\-01 "" "Linux Programmer's Manual"
32+.SH 名前
33+readdir_r \- ディレクトリを読み込む
34+.SH 書式
35+.nf
36+\fB#include <dirent.h>\fP
37+.PP
38+\fBint readdir_r(DIR *\fP\fIdirp\fP\fB, struct dirent *\fP\fIentry\fP\fB, struct dirent **\fP\fIresult\fP\fB);\fP
39+.fi
40+.PP
41+.RS -4
42+glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参照):
43+.ad l
44+.RE
45+.PP
46+\fBreaddir_r\fP():
47+.RS 4
48+_POSIX_C_SOURCE
49+ || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
50+.RE
51+.ad b
52+.SH 説明
53+この関数は非推奨である。代わりに \fBreaddir\fP(3) を使用すること。
54+.PP
55+\fBreaddir_r\fP() 関数は \fBreaddir\fP(3) のリエントラント版として導入された。この関数はディレクトリストリーム \fIdirp\fP
56+から次のディレクトリエントリーを読み込み、 \fIentry\fP が指す呼び出し元が割り当てたバッファーにそのエントリーを格納して返す。 \fIdirent\fP
57+構造体の詳細は \fBreaddir\fP(3) を参照。
58+.PP
59+結果を返すバッファへのポインターが \fI*result\fP に格納される。ディレクトリストリームの末尾に達した場合は、NULL が代わりに
60+\fI*result\fP で返される。
61+.PP
62+アプリケーションでは \fBreaddir_r\fP() の代わりに \fBreaddir\fP(3) を使用することを推奨する。さらに、glibc 2.24
63+以降では \fBreaddir_r\fP() は非推奨となっている。理由は以下の通りである。
64+.IP * 3
65+\fBNAME_MAX\fP が定義されていないシステムでは、 \fBreaddir_r\fP()
66+の呼び出しは安全ではない。このインターフェースでは、呼び出し元がディレクトリエントリーを返す際に使用されるバッファの長さを指定することができないからである。
67+.IP *
68+いくつかのシステムでは、 \fBreaddir_r\fP() は非常に長い名前のディレクトリエントリーを読み込むことができない。 glibc
69+の実装ではこのような名前に遭遇した場合、 \fBreaddir_r\fP() は \fI最後のディレクトリエントリーを読み込んだ後\fP エラー
70+\fBENAMETOOLONG\fP で失敗する。他のいくつかのシステムでは、 \fBreaddir_r\fP() が成功ステータスを返しても、返された
71+\fId_name\fP フィールドがヌル終端されていなかったり、文字列が途中までで切り詰められていたりすることがある。
72+.IP *
73+現在の POSIX.1 標準 (POSIX.1\-2008) では、 \fBreaddir\fP(3)
74+がスレッドセーフであることは求められていない。しかしながら、新し目の実装 (glibc による実装も含む) では、異なるディレクトリストリームに対する
75+\fBreaddir\fP(3) の同時並行の呼び出しはスレッドセーフである。したがって、マルチスレッドプログラムにおいて \fBreaddir_r\fP()
76+の使用は不要である。複数のスレッドが同じディレクトリストリームから読み込みを行う必要がある場合も、上記で挙げた理由から、非推奨の
77+\fBreaddir_r\fP() 関数を使用するよりも、外部同期を用いた \fBreaddir\fP(3) を使う方が推奨される。
78+.IP *
79+.\" FIXME .
80+.\" http://www.austingroupbugs.net/view.php?id=696
81+POSIX.1 の将来のバージョンでは、 \fBreaddir_r\fP() は廃止予定 (obsolete) となり、 \fBreaddir\fP(3)
82+は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。
83+.SH 返り値
84+成功すると、 \fBreaddir_r\fP() 関数は 0 を返す。 エラーの場合、(「エラー」の節のリストに載っている) 正のエラー番号を返す。
85+ディレクトリストリームの末尾に達した場合、 \fBreaddir_r\fP() は返り値として 0 を返し、 \fI*result\fP に NULL
86+を格納する。
87+.SH エラー
88+.TP
89+\fBEBADF\fP
90+ディレクトリストリームディスクリプター \fIdirp\fP が無効である。
91+.TP
92+\fBENAMETOOLONG\fP
93+読み込むには名前が長過ぎるディレクトリエントリーに遭遇した。
94+.SH 属性
95+この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
96+.TS
97+allbox;
98+lb lb lb
99+l l l.
100+インターフェース 属性 値
101+T{
102+\fBreaddir_r\fP()
103+T} Thread safety MT\-Safe
104+.TE
105+.SH 準拠
106+POSIX.1\-2001, POSIX.1\-2008.
107+.SH 関連項目
108+\fBreaddir\fP(3)
109+.SH この文書について
110+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
111+\%https://www.kernel.org/doc/man\-pages/ に書かれている。
--- a/manual/LDP_man-pages/draft/man3/scandir.3
+++ b/manual/LDP_man-pages/draft/man3/scandir.3
@@ -109,8 +109,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
109109 .RS 4
110110 .PD 0
111111 .ad b
112-/* Since glibc 2.10: */ _POSIX_C_SOURCE\ >=\ 200809L
113- || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
112+/* glibc 2.10 以降: */ _POSIX_C_SOURCE\ >=\ 200809L
113+ || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
114114 .PD
115115 .RE
116116 .PP
@@ -118,32 +118,32 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
118118 .PP
119119 \fBscandirat\fP(): _GNU_SOURCE
120120 .SH 説明
121-関数 \fBscandir\fP() はディレクトリ \fIdirp\fP を走査し、 ディレクトリの各エントリーを引き数として \fBfilter\fP()
122-を呼び出す。 \fBfilter\fP() が 0 以外の値を返すエントリーは \fBmalloc\fP(3) によって 確保された文字列に保存され、比較関数
123-\fBcompar\fP() を用いて \fBqsort\fP(3) によりソートされ、 \fBmalloc\fP(3) により確保された配列
124-\fInamelist\fP にまとめられる。 \fIfilter\fP が NULL ならば、すべてのエントリーが選択される。
121+関数 \fBscandir\fP() はディレクトリ \fIdirp\fP を走査し、 ディレクトリの各エントリーを引き数として \fIfilter\fP()
122+を呼び出す。 \fIfilter\fP() が 0 以外の値を返すエントリーは、 \fBmalloc\fP(3) により確保sれた文字列に格納され、比較関数
123+\fIcompar\fP() を用いた \fBqsort\fP(3) によりソートされて、 \fBmalloc\fP(3) により確保された配列 \fInamelist\fP
124+にまとめられる。 \fIfilter\fP が NULL ならば、すべてのエントリーが選択される。
125125 .PP
126126 比較関数 \fIcompar\fP() には \fBalphasort\fP() 関数と \fBversionsort\fP() 関数を使うことができる。
127-\fBalphasort\fP() は \fBstrcoll\fP(3) を用いてディレクトリエントリーをソートし、 \fBversionsort\fP()
128-は文字列 \fI(*a)\->d_name\fP と \fI(*b)\->d_name\fP に対して \fBstrverscmp\fP(3) を用いる。
127+\fBalphasort\fP() は \fBstrcoll\fP(3) を用いてディレクトリエントリーをソートする。 \fBversionsort\fP()
128+は文字列 \fI(*a)\->d_name\fP と \fI(*b)\->d_name\fP に対して \fBstrverscmp\fP(3) を用いる。
129129 .SS scandirat()
130-\fBscandirat\fP() 関数は \fBscandir\fP() と全く同様の動作をする。差分についてはここで説明する。
130+\fBscandirat\fP() 関数は \fBscandir\fP() と全く同様の動作をする。ここでは差分を説明する。
131131 .PP
132-\fIdirp\fP で指定されたパス名が相対パスの場合、ファイルディスクリプター \fIdirfd\fP が参照するディレクトリからの相対パスと解釈される
133-(これに対して、\fBscandir\fP() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される)。
132+\fIdirp\fP で指定されたパス名が相対パスの場合、ファイルディスクリプター \fIdirfd\fP が参照するディレクトリからの相対パスと解釈される。
133+(一方、\fBscandir\fP() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。)
134134 .PP
135135 \fIdirp\fP が相対パスで \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 \fIdirp\fP は (\fBscandir\fP() と同様に)
136136 呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。
137137 .PP
138138 \fIdirp\fP が絶対パスの場合、\fIdirfd\fP は無視される。
139139 .PP
140-\fBscandirat\fP() が必要な理由については \fBopenat\fP(2) を参照すること。
140+\fBscandirat\fP() が必要な理由については \fBopenat\fP(2) を参照のこと。
141141 .SH 返り値
142142 \fBscandir\fP() 関数は、選択されたディレクトリのエントリー数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP
143143 にエラーの原因を示す値を設定する。
144144 .PP
145-関数 \fBalphasort\fP() と \fBversionsort\fP() は 1 番目の引き数が 2 番目の引き数に対して、
146-[小さい/等しい/大きい] かに応じて、0 より [小さい/等しい/大きい] 値を返す。
145+関数 \fBalphasort\fP() と \fBversionsort\fP() は、 1 番目の引き数が 2 番目の引き数に対して [小さい/等しい/大きい]
146+かに応じて、 0 より [小さい/等しい/大きい] 整数値を返す。
147147 .SH エラー
148148 .TP
149149 \fBENOENT\fP
@@ -155,7 +155,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
155155 \fBENOTDIR\fP
156156 \fIdirp\fP で指定されたパスがディレクトリではない。
157157 .PP
158-\fBscandirat\fP() では追加で以下のエラーも発生する:
158+\fBscandirat\fP() では、上記に加えて以下のエラーも発生する。
159159 .TP
160160 \fBEBADF\fP
161161 \fIdirfd\fP が有効なファイルディスクリプターではない。
@@ -206,15 +206,13 @@ T} Thread safety MT\-Safe locale
206206 glibc 2.1 以降では \fBalphasort\fP() は \fBstrcoll\fP(3) を呼び出す。 \fBalphasort\fP() は以前は
207207 \fBstrcmp\fP(3) を使っていた。
208208 .PP
209-Before glibc 2.10, the two arguments of \fBalphasort\fP() and \fBversionsort\fP()
210-were typed as \fIconst void\ *\fP. When \fBalphasort\fP() was standardized in
211-POSIX.1\-2008, the argument type was specified as the type\-safe \fIconst
212-struct dirent\ **\fP, and glibc 2.10 changed the definition of \fBalphasort\fP()
213-(and the nonstandard \fBversionsort\fP()) to match the standard.
209+glibc 2.10 より前では、 \fBalphasort\fP() と \fBversionsort\fP() の 2 つの引き数の型は \fIconst
210+void\ *\fP であった。 \fBalphasort\fP() が POSIX.1\-2008 で標準化された際、引き数の型は型安全な \fIconst
211+struct dirent\ **\fP として規定され、 glibc 2.10 は \fBalphasort\fP() (と非標準の
212+\fBversionsort\fP()) の定義を標準に合致するように変更した。
214213 .SH 例
215214 .\"
216-The program below prints a list of the files in the current directory in
217-reverse order.
215+以下のプログラムは、現在のディレクトリ内のファイル一覧を逆順で表示する。
218216 .SS プログラムのソース
219217 \&
220218 .EX
--- a/manual/LDP_man-pages/draft/man3/seekdir.3
+++ b/manual/LDP_man-pages/draft/man3/seekdir.3
@@ -43,7 +43,7 @@
4343 .\"
4444 .TH SEEKDIR 3 2016\-03\-15 "" "Linux Programmer's Manual"
4545 .SH 名前
46-seekdir \- 次の readdir() 呼び出しのために、ディレクトリストリーム中の位置を 設定する
46+seekdir \- 次の readdir() 呼び出し用にディレクトリストリーム中の位置を設定する
4747 .SH 書式
4848 .nf
4949 \fB#include <dirent.h>\fP
@@ -57,13 +57,13 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
5757 .PP
5858 \fBseekdir\fP():
5959 _XOPEN_SOURCE
60- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
61- || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
60+ || /* glibc 2.19 以降: */ _DEFAULT_SOURCE
61+ || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
6262 .SH 説明
63-\fBseekdir\fP() 関数は、次の \fBreaddir\fP(3) 呼び出しの開始位置である、 ディレクトリストリームの中での位置を設定する。
63+\fBseekdir\fP() 関数は、 \fBreaddir\fP(3) の次の呼び出しでの開始位置となる、ディレクトリストリーム中での位置を設定する。
6464 \fIloc\fP 引き数には、それ以前の \fBtelldir\fP(3) の呼び出しで返された値を渡すべきである。
6565 .SH 返り値
66-\fBseekdir\fP() 関数は、値を返さない。
66+\fBseekdir\fP() 関数は、値を返さない。
6767 .SH 属性
6868 この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。
6969 .TS
@@ -80,7 +80,7 @@ POSIX.1\-2001, POSIX.1\-2008, 4.3BSD.
8080 .SH 注意
8181 バージョン 2.1.1 以前の glibc では、 \fIloc\fP 引き数の型は \fIoff_t\fP であった。 POSIX.1\-2001 では
8282 \fIlong\fP と規定されており、glibc 2.1.2 以降では \fIlong\fP
83-になっている。この引き数の値に前提を置く際には気を付けないといけない理由については \fBtelldir\fP(3) を参照のこと。
83+になっている。この引き数の値に前提を持つ場合には注意が必要であり、理由については \fBtelldir\fP(3) を参照のこと。
8484 .SH 関連項目
8585 \fBlseek\fP(2), \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3),
8686 \fBscandir\fP(3), \fBtelldir\fP(3)
--- a/manual/LDP_man-pages/draft/man3/telldir.3
+++ b/manual/LDP_man-pages/draft/man3/telldir.3
@@ -56,12 +56,12 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参
5656 .PP
5757 \fBtelldir\fP():
5858 _XOPEN_SOURCE
59- || /* Glibc since 2.19: */ _DEFAULT_SOURCE
60- || /* Glibc versions <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
59+ || /* glibc 2.19 以降: */ _DEFAULT_SOURCE
60+ || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE
6161 .SH 説明
62-\fBtelldir\fP() 関数は、ディレクトリストリーム \fIdirp\fP に結びつけられた 現在位置を返す。
62+\fBtelldir\fP() 関数は、ディレクトリストリーム \fIdirp\fP の現在位置を返す。
6363 .SH 返り値
64-成功した場合、 \fBtelldir\fP() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、\-1 が返されて、 \fIerrno\fP
64+成功した場合、 \fBtelldir\fP() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、\-1 が返り、 \fIerrno\fP
6565 が適切に設定される。
6666 .SH エラー
6767 .TP
@@ -81,15 +81,15 @@ T} Thread safety MT\-Safe
8181 .SH 準拠
8282 POSIX.1\-2001, POSIX.1\-2008, 4.3BSD.
8383 .SH 注意
84-バージョン 2.1.1 以前の glibc では、 \fBtelldir\fP()9 の返り値の型は \fIoff_t\fP であった。 POSIX.1\-2001
84+バージョン 2.1.1 以前の glibc では、 \fBtelldir\fP() の返り値の型は \fIoff_t\fP であった。 POSIX.1\-2001
8585 では \fIlong\fP と規定されており、glibc 2.1.2 以降では \fIlong\fP になっている。
8686 .PP
8787 .\" https://lwn.net/Articles/544298/
8888 初期のファイルシステムでは、 \fBtelldir\fP()
89-が返す値は単なるディレクトリ内のファイルオフセットであった。新しめのファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリーやハッシュ構造が使用されている。このようなファイルシステムでは、
89+が返す値は単なるディレクトリ内のファイルオフセットであった。最近のファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリー構造やハッシュ構造が使用されている。このようなファイルシステムでは、
9090 \fBtelldir\fP() が返す値 (および \fBreaddir\fP(3) が内部で使用する値)
91-は、ディレクトリ内での値を示すのにファイルシステム実装が使っている "cookie"
92-となる。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。
91+は、ファイルシステム実装がディレクトリ内での位置を得るのに使用する "cookie"
92+となる。アプリケーションプログラムでは、必ずこの値を内容の意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。
9393 .SH 関連項目
9494 \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3),
9595 \fBscandir\fP(3), \fBseekdir\fP(3)
--- a/manual/LDP_man-pages/po4a/dirent/po/ja.po
+++ b/manual/LDP_man-pages/po4a/dirent/po/ja.po
@@ -7,7 +7,7 @@ msgid ""
77 msgstr ""
88 "Project-Id-Version: PACKAGE VERSION\n"
99 "POT-Creation-Date: 2021-03-12 14:01+0900\n"
10-"PO-Revision-Date: 2021-03-27 18:02+0900\n"
10+"PO-Revision-Date: 2021-05-21 14:57+0900\n"
1111 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
1212 "Language-Team: LANGUAGE <LL@li.org>\n"
1313 "Language: \n"
@@ -356,6 +356,8 @@ msgid ""
356356 "/* Since glibc 2.10: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
357357 " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
358358 msgstr ""
359+"/* glibc 2.10 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n"
360+" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
359361
360362 #. type: Plain text
361363 #: build/C/man3/dirfd.3:55
@@ -373,21 +375,15 @@ msgid ""
373375 "a result, it is useful only for functions which do not depend on or alter "
374376 "the file position, such as B<fstat>(2) and B<fchdir>(2). It will be "
375377 "automatically closed when B<closedir>(3) is called."
376-msgstr "このファイルディスクリプターはディレクトリストリームが内部で使用するものである。 よって、ファイルの位置に依存せず、かつその位置を変更しない関数 B<fstat>(2) や B<fchdir>(2) などでしか役に立たない。 このファイルディスクリプターは B<closedir>(3) が呼ばれたときに自動的にクローズされる。"
378+msgstr "このファイルディスクリプターはディレクトリストリームが内部で使用するものである。結果的に、この関数が役に立つのは、ファイルの位置に依存しない関数やその位置を変更しない関数 (B<fstat>(2) や B<fchdir>(2) など) においてだけである。このファイルディスクリプターは B<closedir>(3) が呼ばれたときに自動的にクローズされる。"
377379
378380 #. type: Plain text
379381 #: build/C/man3/dirfd.3:72
380-#, fuzzy
381-#| msgid ""
382-#| "On success, a nonnegative file descriptor is returned. On error, -1 is "
383-#| "returned, and I<errno> is set to indicate the cause of the error."
384382 msgid ""
385383 "On success, B<dirfd>() returns a file descriptor (a nonnegative integer). "
386384 "On error, -1 is returned, and I<errno> is set to indicate the cause of the "
387385 "error."
388-msgstr ""
389-"成功すると、負でない値のファイルディスクリプターが返される。 エラーの場合は "
390-"-1 が返され、 I<errno> にエラーの原因を示す値が設定される。"
386+msgstr "成功すると、 B<dirfd>() はファイルディスクリプター (非負の整数) を返す。エラーの場合、 -1 が返され、 I<errno> にエラーの原因を示す値が設定される。"
391387
392388 #. glibc 2.8
393389 #. type: Plain text
@@ -503,7 +499,7 @@ msgid ""
503499 "These are not the interfaces you are interested in. Look at B<readdir>(3) "
504500 "for the POSIX-conforming C library interface. This page documents the bare "
505501 "kernel system call interfaces."
506-msgstr "これらはあなたの関心を引くようなインターフェースではない。 POSIX 準拠の C ライブラリインターフェースについては B<readdir>(3) を見ること。 このページは、カーネルシステムコールの生のインターフェースについて 記載したものである。"
502+msgstr "これらはあなたの関心を引くようなインターフェースではないだろう。 POSIX 準拠の C ライブラリインターフェースについては B<readdir>(3) を参照のこと。このページは、カーネルシステムコールの生のインターフェースについて記載したものである。"
507503
508504 #. type: SS
509505 #: build/C/man2/getdents.2:55
@@ -527,7 +523,7 @@ msgstr ""
527523 #. type: Plain text
528524 #: build/C/man2/getdents.2:72
529525 msgid "The I<linux_dirent> structure is declared as follows:"
530-msgstr "I<linux_dirent> 構造体は以下のように宣言されている:"
526+msgstr "I<linux_dirent> 構造体は以下のように宣言されている。"
531527
532528 #. type: Plain text
533529 #: build/C/man2/getdents.2:88
@@ -548,16 +544,16 @@ msgid ""
548544 "}\n"
549545 msgstr ""
550546 "struct linux_dirent {\n"
551-" unsigned long d_ino; /* Inode number */\n"
552-" unsigned long d_off; /* Offset to next I<linux_dirent> */\n"
553-" unsigned short d_reclen; /* Length of this I<linux_dirent> */\n"
554-" char d_name[]; /* Filename (null-terminated) */\n"
555-" /* length is actually (d_reclen - 2 -\n"
547+" unsigned long d_ino; /* inode 番号 */\n"
548+" unsigned long d_off; /* 次の I<linux_dirent> へのオフセット */\n"
549+" unsigned short d_reclen; /* この I<linux_dirent> の長さ */\n"
550+" char d_name[]; /* ファイル名 (ヌル終端される) */\n"
551+" /* 実際の長さは (d_reclen - 2 -\n"
556552 " offsetof(struct linux_dirent, d_name)) */\n"
557553 " /*\n"
558-" char pad; // Zero padding byte\n"
559-" char d_type; // File type (only since Linux\n"
560-" // 2.6.4); offset is (d_reclen - 1)\n"
554+" char pad; // 値 0 のパディングバイト\n"
555+" char d_type; // ファイル種別 (Linux 2.6.4 以降のみ);\n"
556+" // オフセットは (d_reclen - 1)\n"
561557 " */\n"
562558 "}\n"
563559
@@ -578,9 +574,7 @@ msgid ""
578574 "I<d_type> is a byte at the end of the structure that indicates the file "
579575 "type. It contains one of the following values (defined in I<E<lt>dirent."
580576 "hE<gt>>):"
581-msgstr ""
582-"I<d_type> は、構造体の最後のバイトであり、ファイルタイプを示す。 I<d_type> は"
583-"以下の値の一つを取る (I<E<lt>dirent.hE<gt>> で定義されている)。"
577+msgstr "I<d_type> は、構造体の最後のバイトであり、ファイルタイプを示す。 I<d_type> は以下の値のいずれか一つを取る (I<E<lt>dirent.hE<gt>> で定義されている)。"
584578
585579 #. type: TP
586580 #: build/C/man2/getdents.2:106 build/C/man3/readdir.3:120
@@ -668,7 +662,7 @@ msgstr "B<DT_UNKNOWN>"
668662 #. type: Plain text
669663 #: build/C/man2/getdents.2:130
670664 msgid "The file type is unknown."
671-msgstr "ファイルタイプが不明である。"
665+msgstr "ファイルタイプが不明。"
672666
673667 #. type: Plain text
674668 #: build/C/man2/getdents.2:140
@@ -677,11 +671,7 @@ msgid ""
677671 "that was previously a zero-filled padding byte in the I<linux_dirent> "
678672 "structure. Thus, on kernels up to and including 2.6.3, attempting to access "
679673 "this field always provides the value 0 (B<DT_UNKNOWN>)."
680-msgstr ""
681-"I<d_type> フィールドは Linux 2.6.4 から実装されている。 これは "
682-"I<linux_dirent> 構造体のうち、以前はゼロで埋められていた空間に配置されてい"
683-"る。 従って、2.6.3 以前のカーネルでは、このフィールドにアクセスしようとする"
684-"と 常に値 0 (B<DT_UNKNOWN>) が返される。"
674+msgstr "I<d_type> フィールドは Linux 2.6.4 以降で実装されている。 このフィールドは、 I<linux_dirent> 構造体の中で以前はゼロで埋められていた空間に配置されている。 したがって、2.6.3 以前のカーネルでは、このフィールドにアクセスしようとすると 常に値 0 (B<DT_UNKNOWN>) が返される。"
685675
686676 #. kernel 2.6.27
687677 #. The same sentence is in getdents.2
@@ -691,11 +681,7 @@ msgid ""
691681 "Currently, only some filesystems (among them: Btrfs, ext2, ext3, and ext4) "
692682 "have full support for returning the file type in I<d_type>. All "
693683 "applications must properly handle a return of B<DT_UNKNOWN>."
694-msgstr ""
695-"現在のところ、 I<d_type> でファイルタイプを返す機能が完全にサポートされている"
696-"のは、 いくつかのファイルシステムにおいてのみである (Btrfs, ext2, ext3, ext4 "
697-"はサポートしている)。 どのアプリケーションも、 B<DT_UNKNOWN> が返された際に適"
698-"切に処理できなければならない。"
684+msgstr "現在のところ、 I<d_type> でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである (Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも B<DT_UNKNOWN> が返された際に適切に処理できなければならない。"
699685
700686 #. type: SS
701687 #: build/C/man2/getdents.2:149
@@ -705,23 +691,12 @@ msgstr "getdents64()"
705691
706692 #. type: Plain text
707693 #: build/C/man2/getdents.2:165
708-#, fuzzy
709-#| msgid ""
710-#| "The original Linux B<getdents>() system call did not handle large "
711-#| "filesystems and large file offsets. Consequently, Linux 2.4 added "
712-#| "B<getdents64>(), with wider types for the I<d_ino> and I<d_off> fields "
713-#| "employed in the I<linux_dirent> structure."
714694 msgid ""
715695 "The original Linux B<getdents>() system call did not handle large "
716696 "filesystems and large file offsets. Consequently, Linux 2.4 added "
717697 "B<getdents64>(), with wider types for the I<d_ino> and I<d_off> fields. In "
718698 "addition, B<getdents64>() supports an explicit I<d_type> field."
719-msgstr ""
720-"元々の Linux の B<getdents>() システムコールは、大きなファイルシステムと\n"
721-"大きなファイルオフセットを扱うことができなかった。\n"
722-"その結果、Linux 2.4 で B<getdents64>() が追加された。\n"
723-"B<getdents64>() では、I<linux_dirent> 構造体のフィールド I<d_ino> と\n"
724-"I<d_off> でビット幅の大きなデータ型が使われている。"
699+msgstr "元々の Linux の B<getdents>() システムコールは、大きなファイルシステムと大きなファイルオフセットを扱うことができなかった。そのため、Linux 2.4 で B<getdents64>() が追加された。 B<getdents64>() では、 I<d_ino> と I<d_off> でビット幅の大きなデータ型が使われている。また、 B<getdents64>() では I<d_type> フィールドを明示的にサポートされている。"
725700
726701 #. type: Plain text
727702 #: build/C/man2/getdents.2:172
@@ -729,20 +704,11 @@ msgid ""
729704 "The B<getdents64>() system call is like B<getdents>(), except that its "
730705 "second argument is a pointer to a buffer containing structures of the "
731706 "following type:"
732-msgstr ""
707+msgstr "B<getdents64>() システムコールは B<getdents>() と似ているが、 2 番目の引き数が以下の構造体が入ったバッファへのポインターである点が異なる。"
733708
734709 #. type: Plain text
735710 #: build/C/man2/getdents.2:182
736-#, fuzzy, no-wrap
737-#| msgid ""
738-#| "struct dirent {\n"
739-#| " ino_t d_ino; /* inode number */\n"
740-#| " off_t d_off; /* not an offset; see NOTES */\n"
741-#| " unsigned short d_reclen; /* length of this record */\n"
742-#| " unsigned char d_type; /* type of file; not supported\n"
743-#| " by all filesystem types */\n"
744-#| " char d_name[256]; /* filename */\n"
745-#| "};\n"
711+#, no-wrap
746712 msgid ""
747713 "struct linux_dirent64 {\n"
748714 " ino64_t d_ino; /* 64-bit inode number */\n"
@@ -752,13 +718,12 @@ msgid ""
752718 " char d_name[]; /* Filename (null-terminated) */\n"
753719 "};\n"
754720 msgstr ""
755-"struct dirent {\n"
756-" ino_t d_ino; /* inode 番号 */\n"
757-" off_t d_off; /* オフセットではない; 注意を参照 */\n"
758-" unsigned short d_reclen; /* このレコードの長さ */\n"
759-" unsigned char d_type; /* ファイル種別。全ファイルシステム */\n"
760-" でサポートされているわけではない */\n"
761-" char d_name[256]; /* ファイル名 */\n"
721+"struct linux_dirent64 {\n"
722+" ino64_t d_ino; /* 64 ビットの inode 番号 */\n"
723+" off64_t d_off; /* 次の構造体への 64 ビットのオフセット */\n"
724+" unsigned short d_reclen; /* この dirent の大きさ */\n"
725+" unsigned char d_type; /* ファイル種別 */\n"
726+" char d_name[]; /* ファイル名 (ヌル終端される) */\n"
762727 "};\n"
763728
764729 #. type: Plain text
@@ -784,7 +749,7 @@ msgstr "B<EFAULT>"
784749 #. type: Plain text
785750 #: build/C/man2/getdents.2:198 build/C/man2/readdir.2:107
786751 msgid "Argument points outside the calling process's address space."
787-msgstr "引き数が呼び出したプロセスのアドレス空間外を指している。"
752+msgstr "引き数が呼び出し元プロセスのアドレス空間外を指している。"
788753
789754 #. type: Plain text
790755 #: build/C/man2/getdents.2:201 build/C/man2/readdir.2:110
@@ -839,12 +804,12 @@ msgid ""
839804 "B<getdents64>() on earlier glibc versions) requires the use of "
840805 "B<syscall>(2). In that case you will need to define the I<linux_dirent> or "
841806 "I<linux_dirent64> structure yourself."
842-msgstr ""
807+msgstr "B<getdents64>() に対応するライブラリのサポートは glibc 2.30 で追加された。 B<getdents>() に対する glibc ラッパー関数は存在しない。 B<getdents>() (もしくは glibc の古いバージョンでの B<getdents64>()) を呼び出すには、 B<syscall>(2) を使う必要がある。その場合、構造体 I<linux_dirent> や I<linux_dirent64> を自分で定義する必要があるだろう。"
843808
844809 #. type: Plain text
845810 #: build/C/man2/getdents.2:231
846811 msgid "Probably, you want to use B<readdir>(3) instead of these system calls."
847-msgstr ""
812+msgstr "おそらく、あなたが使いたいのは、これらのシステムコールではなく B<readdir>(3) の方であろう。"
848813
849814 #. type: Plain text
850815 #: build/C/man2/getdents.2:234
@@ -916,7 +881,7 @@ msgid ""
916881 "#include E<lt>sys/syscall.hE<gt>\n"
917882 msgstr ""
918883 "#define _GNU_SOURCE\n"
919-"#include E<lt>dirent.hE<gt> /* Defines DT_* constants */\n"
884+"#include E<lt>dirent.hE<gt> /* DT_* 定数の定義 */\n"
920885 "#include E<lt>fcntl.hE<gt>\n"
921886 "#include E<lt>stdint.hE<gt>\n"
922887 "#include E<lt>stdio.hE<gt>\n"
@@ -1241,10 +1206,7 @@ msgid ""
12411206 "The B<opendir>() function opens a directory stream corresponding to the "
12421207 "directory I<name>, and returns a pointer to the directory stream. The "
12431208 "stream is positioned at the first entry in the directory."
1244-msgstr ""
1245-"B<opendir>() 関数はディレクトリ I<name> に対応する ディレクトリストリームを"
1246-"オープンし、そのストリームへのポインターを返す。 ストリームの位置はディレクト"
1247-"リの先頭のエントリーに設定される。"
1209+msgstr "B<opendir>() 関数は、ディレクトリ I<name> に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。 ストリームの位置はディレクトリの先頭のエントリーに設定される。"
12481210
12491211 #. type: Plain text
12501212 #: build/C/man3/opendir.3:82
@@ -1297,7 +1259,7 @@ msgstr "B<EMFILE>"
12971259 msgid ""
12981260 "The per-process limit on the number of open file descriptors has been "
12991261 "reached."
1300-msgstr ""
1262+msgstr "オープンされたファイルディスクリプター数がプロセス単位の上限に達している。"
13011263
13021264 #. type: TP
13031265 #: build/C/man3/opendir.3:102
@@ -1309,7 +1271,7 @@ msgstr "B<ENFILE>"
13091271 #: build/C/man3/opendir.3:105
13101272 msgid ""
13111273 "The system-wide limit on the total number of open files has been reached."
1312-msgstr ""
1274+msgstr "オープンされたファイルの総数がシステム全体の上限に達している。"
13131275
13141276 #. type: Plain text
13151277 #: build/C/man3/opendir.3:108
@@ -1366,16 +1328,14 @@ msgstr ""
13661328 #: build/C/man3/opendir.3:138
13671329 msgid ""
13681330 "Filename entries can be read from a directory stream using B<readdir>(3)."
1369-msgstr ""
1331+msgstr "ファイル名エントリーをディレクトリストリームから読み込むには B<readdir>(3) を使用する。"
13701332
13711333 #. type: Plain text
13721334 #: build/C/man3/opendir.3:141
13731335 msgid ""
13741336 "The underlying file descriptor of the directory stream can be obtained using "
13751337 "B<dirfd>(3)."
1376-msgstr ""
1377-"ディレクトリストリームに対応するファイルディスクリプターは B<dirfd>(3) を使"
1378-"用して得ることができる。"
1338+msgstr "ディレクトリストリームに対応するファイルディスクリプターは B<dirfd>(3) を使用して取得できる。"
13791339
13801340 #. type: Plain text
13811341 #: build/C/man3/opendir.3:155
@@ -1442,11 +1402,7 @@ msgid ""
14421402 "This is not the function you are interested in. Look at B<readdir>(3) for "
14431403 "the POSIX conforming C library interface. This page documents the bare "
14441404 "kernel system call interface, which is superseded by B<getdents>(2)."
1445-msgstr ""
1446-"これはあなたの興味をもっている関数ではない。 POSIX 準拠の C ライブラリイン"
1447-"ターフェースについては B<readdir>(3) を見ること。 このページは裸のカーネルの"
1448-"システムコールインターフェースについて 記述しているが、このインターフェース"
1449-"は B<getdents>(2) によって取って代わられた。"
1405+msgstr "これはあなたの関心を引くような関数ではないだろう。 POSIX 準拠の C ライブラリインターフェースについては B<readdir>(3) を参照のこと。このページでは、生のカーネルのシステムコールインターフェースについて記載しているが、このインターフェースは B<getdents>(2) によって置き換えられた。"
14501406
14511407 #. type: Plain text
14521408 #: build/C/man2/readdir.2:64
@@ -1455,20 +1411,14 @@ msgid ""
14551411 "referred to by the file descriptor I<fd> into the buffer pointed to by "
14561412 "I<dirp>. The argument I<count> is ignored; at most one I<old_linux_dirent> "
14571413 "structure is read."
1458-msgstr ""
1459-"B<readdir>() は、ファイルディスクリプター I<fd> が参照しているディレクトリか"
1460-"ら I<old_linux_dirent> 構造体を読み込み、 I<dirp> で指されたバッファーに格納"
1461-"する。 I<count> 引き数は(ほとんどの I<old_linux_dirent> 構造体の読み込みにお"
1462-"いて)無視される"
1414+msgstr "B<readdir>() は、ファイルディスクリプター I<fd> が参照しているディレクトリから I<old_linux_dirent> 構造体をひとつ読み込み、 I<dirp> で指されたバッファーに格納する。 I<count> 引き数は無視される。最大で 1 個の I<old_linux_dirent> 構造体が読み出される。"
14631415
14641416 #. type: Plain text
14651417 #: build/C/man2/readdir.2:70
1466-#, fuzzy
1467-#| msgid "The I<old_linux_dirent> structure is declared as follows:"
14681418 msgid ""
14691419 "The I<old_linux_dirent> structure is declared (privately in Linux kernel "
14701420 "file B<fs/readdir.c>) as follows:"
1471-msgstr "I<old_linux_dirent> 構造体は以下のように宣言される:"
1421+msgstr "I<old_linux_dirent> 構造体は (Linux カーネルのファイル B<fs/readdir.c> で内部用として) 以下のように宣言される:"
14721422
14731423 #. type: Plain text
14741424 #: build/C/man2/readdir.2:79
@@ -1482,10 +1432,10 @@ msgid ""
14821432 "}\n"
14831433 msgstr ""
14841434 "struct old_linux_dirent {\n"
1485-" unsigned long d_ino; /* inode number */\n"
1486-" unsigned long d_offset; /* offset to this I<old_linux_dirent> */\n"
1487-" unsigned short d_namlen; /* length of this I<d_name> */\n"
1488-" char d_name[1]; /* filename (null-terminated) */\n"
1435+" unsigned long d_ino; /* inode 番号 */\n"
1436+" unsigned long d_offset; /* この I<old_linux_dirent> へのオフセット */\n"
1437+" unsigned short d_namlen; /* この I<d_name> の長さ */\n"
1438+" char d_name[1]; /* (NULL 終端された) ファイル名 */\n"
14891439 "}\n"
14901440
14911441 #. type: Plain text
@@ -1495,7 +1445,7 @@ msgid ""
14951445 "the directory to this I<old_linux_dirent>. I<d_reclen> is the size of "
14961446 "I<d_name>, not counting the terminating null byte (\\(aq\\e0\\(aq). "
14971447 "I<d_name> is a null-terminated filename."
1498-msgstr "I<d_ino> は inode 番号である。 I<d_offset> はディレクトリの最初からこの I<old_linux_dirent> まで距離である。 I<d_reclen> は I<d_name> の大きさで、終端のヌルバイト (\\(aq\\e0\\(aq) を含まない。 I<d_name> はヌルバイトで終わるファイル名である。"
1448+msgstr "I<d_ino> は inode 番号である。 I<d_offset> はディレクトリの最初からこの I<old_linux_dirent> まで距離である。 I<d_reclen> は I<d_name> の大きさで、終端のヌルバイト (\\(aq\\e0\\(aq) を含まない。 I<d_name> はヌルで終端されたファイル名である。"
14991449
15001450 #. type: Plain text
15011451 #: build/C/man2/readdir.2:99
@@ -1509,7 +1459,7 @@ msgstr ""
15091459 #. type: Plain text
15101460 #: build/C/man2/readdir.2:118
15111461 msgid "This system call is Linux-specific."
1512-msgstr "このシステムコールは Linux 特有である。"
1462+msgstr "このシステムコールは Linux 固有である。"
15131463
15141464 #. type: Plain text
15151465 #: build/C/man2/readdir.2:127
@@ -1564,16 +1514,7 @@ msgstr "glibc の実装では I<dirent> 構造体は以下のように定義さ
15641514
15651515 #. type: Plain text
15661516 #: build/C/man3/readdir.3:68
1567-#, fuzzy, no-wrap
1568-#| msgid ""
1569-#| "struct dirent {\n"
1570-#| " ino_t d_ino; /* inode number */\n"
1571-#| " off_t d_off; /* not an offset; see NOTES */\n"
1572-#| " unsigned short d_reclen; /* length of this record */\n"
1573-#| " unsigned char d_type; /* type of file; not supported\n"
1574-#| " by all filesystem types */\n"
1575-#| " char d_name[256]; /* filename */\n"
1576-#| "};\n"
1517+#, no-wrap
15771518 msgid ""
15781519 "struct dirent {\n"
15791520 " ino_t d_ino; /* Inode number */\n"
@@ -1586,32 +1527,20 @@ msgid ""
15861527 msgstr ""
15871528 "struct dirent {\n"
15881529 " ino_t d_ino; /* inode 番号 */\n"
1589-" off_t d_off; /* オフセットではない; 注意を参照 */\n"
1530+" off_t d_off; /* オフセットではない; 下記を参照 */\n"
15901531 " unsigned short d_reclen; /* このレコードの長さ */\n"
15911532 " unsigned char d_type; /* ファイル種別。全ファイルシステム */\n"
15921533 " でサポートされているわけではない */\n"
1593-" char d_name[256]; /* ファイル名 */\n"
1534+" char d_name[256]; /* ヌル終端されたファイル名 */\n"
15941535 "};\n"
15951536
15961537 #. type: Plain text
15971538 #: build/C/man3/readdir.3:79
1598-#, fuzzy
1599-#| msgid ""
1600-#| "The only fields in the I<dirent> structure that are mandated by POSIX.1 "
1601-#| "are: I<d_name>[], of unspecified size, with at most B<NAME_MAX> "
1602-#| "characters preceding the terminating null byte (\\(aq\\e0\\(aq); and (as "
1603-#| "an XSI extension) I<d_ino>. The other fields are unstandardized, and "
1604-#| "not present on all systems; see NOTES below for some further details."
16051539 msgid ""
16061540 "The only fields in the I<dirent> structure that are mandated by POSIX.1 are "
16071541 "I<d_name> and I<d_ino>. The other fields are unstandardized, and not "
16081542 "present on all systems; see NOTES below for some further details."
1609-msgstr ""
1610-"I<dirent> 構造体のフィールドで POSIX.1 で要求されているのは、 I<d_name>[] と "
1611-"(XSI 拡張での) I<d_ino> だけである。 I<d_name>[] はその大きさも規定されてお"
1612-"らず、 このフィールドには最大で B<NAME_MAX> 個の文字と、それに続く終端の ヌル"
1613-"バイト (\\(aq\\e0\\(aq)が格納される。 他のフィールドは非標準であり、全てのシ"
1614-"ステムに存在するわけではない。 詳細については、下記の「注意」を参照のこと。"
1543+msgstr "I<dirent> 構造体のフィールドのうち POSIX.1 で要求されているのは、 I<d_name> と I<d_ino> だけである。他のフィールドは非標準であり、すべてのシステムで存在するわけではない。 詳細については、下記の「注意」を参照のこと。"
16151544
16161545 #. type: Plain text
16171546 #: build/C/man3/readdir.3:83
@@ -1626,10 +1555,8 @@ msgstr "I<d_ino>"
16261555
16271556 #. type: Plain text
16281557 #: build/C/man3/readdir.3:86
1629-#, fuzzy
1630-#| msgid "This is a regular file."
16311558 msgid "This is the inode number of the file."
1632-msgstr "通常のファイルである。"
1559+msgstr "ファイルの inode 番号である。"
16331560
16341561 #. type: TP
16351562 #: build/C/man3/readdir.3:86
@@ -1647,13 +1574,7 @@ msgid ""
16471574 "directory offset on modern filesystems. Applications should treat this "
16481575 "field as an opaque value, making no assumptions about its contents; see also "
16491576 "B<telldir>(3)."
1650-msgstr ""
1651-"I<d_off> で返される値は B<telldir>(3) が返す値と同じで、ディレクトリストリー"
1652-"ム内の現在の位置を示す。\n"
1653-"フィールドの型や名前はこうなっていますが、最近のファイルシステムでは "
1654-"I<d_off> フィールドが何らかのディレクトリオフセットであることはめったいにな"
1655-"い。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として"
1656-"扱うべきであり、その内容について前提を持つべきではない。"
1577+msgstr "I<d_off> で返される値は、ディレクトリストリームの現在の位置で B<telldir>(3) を呼び出した場合の返り値と同じである。フィールドの型や名前はこうなっているが、最近のファイルシステムでは I<d_off> フィールドが何らかのディレクトリオフセットであることはめったにない。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきではない。 B<telldir>(3) も参照。"
16571578
16581579 #. type: TP
16591580 #: build/C/man3/readdir.3:100
@@ -1666,7 +1587,7 @@ msgstr "I<d_reclen>"
16661587 msgid ""
16671588 "This is the size (in bytes) of the returned record. This may not match the "
16681589 "size of the structure definition shown above; see NOTES."
1669-msgstr ""
1590+msgstr "返されたレコードの (バイト単位の) サイズである。この値は上記の構造体の定義のサイズとは一致しないかもしれない。「注意」を参照。"
16701591
16711592 #. type: TP
16721593 #: build/C/man3/readdir.3:105
@@ -1680,7 +1601,7 @@ msgid ""
16801601 "This field contains a value indicating the file type, making it possible to "
16811602 "avoid the expense of calling B<lstat>(2) if further actions depend on the "
16821603 "type of the file."
1683-msgstr ""
1604+msgstr "ファイル種別を示す値が格納される。これにより、これ以降の処理がファイル種別に依存している場合に B<lstat>(2) を呼び出すコストを避けることができる。"
16841605
16851606 #. type: Plain text
16861607 #: build/C/man3/readdir.3:119
@@ -1689,14 +1610,12 @@ msgid ""
16891610 "versions since 2.19, or B<_BSD_SOURCE> on glibc versions 2.19 and earlier), "
16901611 "glibc defines the following macro constants for the value returned in "
16911612 "I<d_type>:"
1692-msgstr ""
1613+msgstr "適切な機能検査マクロ (glibc 2.19 以降では B<_DEFAULT_SOURCE>、 glibc 2.19 以前では B<_BSD_SOURCE>) が定義されている場合、 glibc は I<d_type> の値に対応する以下のマクロ定数を定義する。"
16931614
16941615 #. type: Plain text
16951616 #: build/C/man3/readdir.3:144
1696-#, fuzzy
1697-#| msgid "The file type is unknown."
16981617 msgid "The file type could not be determined."
1699-msgstr "ファイルタイプが不明である。"
1618+msgstr "ファイル種別が判別できなかった。"
17001619
17011620 #. type: TP
17021621 #: build/C/man3/readdir.3:154
@@ -1707,7 +1626,7 @@ msgstr "I<d_name>"
17071626 #. type: Plain text
17081627 #: build/C/man3/readdir.3:158
17091628 msgid "This field contains the null terminated filename. I<See NOTES>."
1710-msgstr ""
1629+msgstr "このフィールドはヌル終端されたファイル名である。「注意」を参照。"
17111630
17121631 #. type: Plain text
17131632 #: build/C/man3/readdir.3:164
@@ -1720,22 +1639,10 @@ msgstr ""
17201639
17211640 #. type: Plain text
17221641 #: build/C/man3/readdir.3:173
1723-#, fuzzy
1724-#| msgid ""
1725-#| "On success, B<readdir>() returns a pointer to a I<dirent> structure. "
1726-#| "(This structure may be statically allocated; do not attempt to "
1727-#| "B<free>(3) it.) If the end of the directory stream is reached, NULL is "
1728-#| "returned and I<errno> is not changed. If an error occurs, NULL is "
1729-#| "returned and I<errno> is set appropriately."
17301642 msgid ""
17311643 "On success, B<readdir>() returns a pointer to a I<dirent> structure. (This "
17321644 "structure may be statically allocated; do not attempt to B<free>(3) it.)"
1733-msgstr ""
1734-"成功すると、 B<readdir>() は I<dirent> 構造体へのポインターを返す。 (この構"
1735-"造体は静的に割り当てられているかもしれない。 このポインターを B<free>(3) し"
1736-"ようとしないこと。) ディレクトリストリームの末尾に達した場合には、NULL が返"
1737-"され、 I<errno> は変化しない。 エラーが発生した場合、NULL が返され、 "
1738-"I<errno> が適切に設定される。"
1645+msgstr "成功すると、 B<readdir>() は I<dirent> 構造体へのポインターを返す。 (この構造体は静的に割り当てられているかもしれない。 このポインターを B<free>(3) しようとしないこと。)"
17391646
17401647 #. type: Plain text
17411648 #: build/C/man3/readdir.3:187
@@ -1745,7 +1652,7 @@ msgid ""
17451652 "appropriately. To distinguish end of stream from an error, set I<errno> to "
17461653 "zero before calling B<readdir>() and then check the value of I<errno> if "
17471654 "NULL is returned."
1748-msgstr ""
1655+msgstr "ディレクトリストリームの末尾に達した場合には、NULL が返され、 I<errno> は変化しない。 エラーが発生した場合、NULL が返され、 I<errno> が適切に設定される。エラーからストリームの末尾を区別するには、 B<readdir>() を呼び出す前に I<errno> を 0 に設定しておき、 NULL が返された場合に I<errno> の値を確認すればよい。"
17491656
17501657 #. type: tbl table
17511658 #: build/C/man3/readdir.3:201
@@ -1773,14 +1680,12 @@ msgid ""
17731680 "B<readdir_r>(3) function. It is expected that a future version of POSIX.1 "
17741681 "will require that B<readdir>() be thread-safe when concurrently employed on "
17751682 "different directory streams."
1776-msgstr ""
1683+msgstr "現在の POSIX.1 標準 (POSIX.1-2008) では、 B<readdir>() がスレッドセーフであることは求められていない。しかしながら、最近の実装 (glibc による実装も含む) では、異なるディレクトリストリームに対する B<readdir>() の同時並行の呼び出しはスレッドセーフである。複数のスレッドが同じディレクトリストリームから読み込みを行う必要がある場合も、非推奨の B<readdir_r>(3) 関数を使用するよりも、外部同期を用いた B<readdir>() を使う方が推奨される。 POSIX.1 の将来のバージョンでは、 B<readdir>() は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。"
17771684
17781685 #. type: Plain text
17791686 #: build/C/man3/readdir.3:229
1780-#, fuzzy
1781-#| msgid "Invalid directory stream descriptor I<dirp>."
17821687 msgid "A directory stream is opened using B<opendir>(3)."
1783-msgstr "ディレクトリストリームディスクリプター I<dirp> が無効である。"
1688+msgstr "ディレクトリストリームは B<opendir>(3) を使ってオープンする。"
17841689
17851690 #. type: Plain text
17861691 #: build/C/man3/readdir.3:234
@@ -1788,19 +1693,11 @@ msgid ""
17881693 "The order in which filenames are read by successive calls to B<readdir>() "
17891694 "depends on the filesystem implementation; it is unlikely that the names will "
17901695 "be sorted in any fashion."
1791-msgstr ""
1696+msgstr "連続する B<readdir>() の呼び出しで読み込まれるファイル名の順序は、ファイルシステムの実装に依存する。名前が何らかの方法でソートされていることはありえない。"
17921697
17931698 #. POSIX.1-2001, POSIX.1-2008
17941699 #. type: Plain text
17951700 #: build/C/man3/readdir.3:255
1796-#, fuzzy
1797-#| msgid ""
1798-#| "Only the fields I<d_name> and I<d_ino> are specified in POSIX.1-2001. "
1799-#| "The remaining fields are available on many, but not all systems. Under "
1800-#| "glibc, programs can check for the availability of the fields not defined "
1801-#| "in POSIX.1 by testing whether the macros B<_DIRENT_HAVE_D_NAMLEN>, "
1802-#| "B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, or "
1803-#| "B<_DIRENT_HAVE_D_TYPE> are defined."
18041701 msgid ""
18051702 "Only the fields I<d_name> and (as an XSI extension) I<d_ino> are specified "
18061703 "in POSIX.1. Other than Linux, the I<d_type> field is available mainly only "
@@ -1809,26 +1706,20 @@ msgid ""
18091706 "not defined in POSIX.1 by testing whether the macros "
18101707 "B<_DIRENT_HAVE_D_NAMLEN>, B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, "
18111708 "or B<_DIRENT_HAVE_D_TYPE> are defined."
1812-msgstr ""
1813-"フィールド I<d_name> と I<d_ino> だけが POSIX.1-2001 で規定されている。 残り"
1814-"のフィールドは多くのシステムに存在するが、全てのシステムに 存在するわけではな"
1815-"い。 glibc では、プログラムが POSIX.1 で定義されていないフィールドが 利用でき"
1816-"るかをチェックすることができる。 チェックするには、マクロ "
1817-"B<_DIRENT_HAVE_D_NAMLEN>, B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, "
1818-"B<_DIRENT_HAVE_D_TYPE> が定義されているかをテストすればよい。"
1709+msgstr "フィールド I<d_name> と (XSI 拡張の) I<d_ino> だけが POSIX.1 で規定されている。 I<d_type> フィールドは、 Linux 以外では、おもに BSD 系のシステムでのみ利用可能である。残りのフィールドは多くのシステムに存在するが、全てのシステムに存在するわけではない。 glibc では、プログラムが POSIX.1 で定義されていないフィールドが 利用できるかをチェックすることができる。 チェックするには、マクロ B<_DIRENT_HAVE_D_NAMLEN>, B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, B<_DIRENT_HAVE_D_TYPE> が定義されているかをテストすればよい。"
18191710
18201711 #. type: SS
18211712 #: build/C/man3/readdir.3:255
18221713 #, no-wrap
18231714 msgid "The d_name field"
1824-msgstr ""
1715+msgstr "d_name フィールド"
18251716
18261717 #. type: Plain text
18271718 #: build/C/man3/readdir.3:262
18281719 msgid ""
18291720 "The I<dirent> structure definition shown above is taken from the glibc "
18301721 "headers, and shows the I<d_name> field with a fixed size."
1831-msgstr ""
1722+msgstr "上記の I<dirent> 構造体の定義は glibc のヘッダーからの引用であり、 I<d_name> フィールドは固定サイズとなっている。"
18321723
18331724 #. type: Plain text
18341725 #: build/C/man3/readdir.3:272
@@ -1837,7 +1728,7 @@ msgid ""
18371728 "I<d_name> field. POSIX defines it as I<char\\ d_name[]>, a character array "
18381729 "of unspecified size, with at most B<NAME_MAX> characters preceding the "
18391730 "terminating null byte (\\(aq\\e0\\(aq)."
1840-msgstr ""
1731+msgstr "I<警告>: アプリケーションは、 I<d_name> フィールドのサイズに依存すべきではない。 POSIX ではこのフィールドは I<char\\ d_name[]> (サイズ不定の文字配列) として規定しており、最大で終端のヌルバイト (\\(aq\\e0\\(aq) の前に B<NAME_MAX> 文字が入る。"
18411732
18421733 #. type: Plain text
18431734 #: build/C/man3/readdir.3:286
@@ -1847,12 +1738,12 @@ msgid ""
18471738 "I<strlen(d_name)> instead. (On some systems, this field is defined as I<char"
18481739 "\\ d_name[1]>!) By implication, the use I<sizeof(struct dirent)> to capture "
18491740 "the size of the record including the size of I<d_name> is also incorrect."
1850-msgstr ""
1741+msgstr "POSIX.1 は、このフィールドを左辺値として使用すべきではないと明記している。また、 POSIX.1 では、 I<sizeof(d_name)> の使用は間違いであり、代わりに I<strlen(d_name)> を使用するように、との注記もある (いくつかのシステムでは、このフィールドは I<char\\ d_name[1]>! として定義されている)。このことは、 I<d_name> を含むレコードのサイズを取得するために I<sizeof(struct dirent)> を使用することも間違いであることを暗に示している。"
18511742
18521743 #. type: Plain text
18531744 #: build/C/man3/readdir.3:288
18541745 msgid "Note that while the call"
1855-msgstr ""
1746+msgstr "多くのファイルシステムでは、"
18561747
18571748 #. type: Plain text
18581749 #: build/C/man3/readdir.3:290
@@ -1868,7 +1759,7 @@ msgid ""
18681759 "returned in I<d_name> can actually exceed this size. In such cases, the "
18691760 "I<d_reclen> field will contain a value that exceeds the size of the glibc "
18701761 "I<dirent> structure shown above."
1871-msgstr ""
1762+msgstr "の呼び出しは値 255 を返すが、いくつかのファイルシステム (例えば CIFS や Windows SMB サーバーなど) では、(正しい動作なのだが) I<d_name> で返されるヌル終端されたファイル名は実際にはこのサイズを超える場合がある点に注意すること。このような場合、 I<d_reclen> フィールドは、上記の glibc I<dirent> 構造体のサイズよりも大きな値となる。"
18721763
18731764 #. type: Plain text
18741765 #: build/C/man3/readdir.3:314
@@ -1913,34 +1804,22 @@ msgid ""
19131804 "_POSIX_C_SOURCE\n"
19141805 " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
19151806 msgstr ""
1807+"_POSIX_C_SOURCE\n"
1808+" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
19161809
19171810 #. type: Plain text
19181811 #: build/C/man3/readdir_r.3:53
19191812 msgid "This function is deprecated; use B<readdir>(3) instead."
1920-msgstr ""
1813+msgstr "この関数は非推奨である。代わりに B<readdir>(3) を使用すること。"
19211814
19221815 #. type: Plain text
19231816 #: build/C/man3/readdir_r.3:66
1924-#, fuzzy
1925-#| msgid ""
1926-#| "The B<readdir_r>() function is a reentrant version of B<readdir>(). It "
1927-#| "reads the next directory entry from the directory stream I<dirp>, and "
1928-#| "returns it in the caller-allocated buffer pointed to by I<entry>. (See "
1929-#| "NOTES for information on allocating this buffer.) A pointer to the "
1930-#| "returned item is placed in I<*result>; if the end of the directory stream "
1931-#| "was encountered, then NULL is instead returned in I<*result>."
19321817 msgid ""
19331818 "The B<readdir_r>() function was invented as a reentrant version of "
19341819 "B<readdir>(3). It reads the next directory entry from the directory stream "
19351820 "I<dirp>, and returns it in the caller-allocated buffer pointed to by "
19361821 "I<entry>. For details of the I<dirent> structure, see B<readdir>(3)."
1937-msgstr ""
1938-"B<readdir_r>() 関数は B<readdir>() のリエントラント版である。 この関数は"
1939-"ディレクトリストリーム I<dirp> から次のディレクトリエントリーを読み込み、 "
1940-"I<entry> が指す呼び出し元が割り当てたバッファーにそのエントリーを格納して返"
1941-"す (このバッファーの割り当てについては「注意」の節を参照のこと)。 返されるエ"
1942-"ントリーへのポインターが I<*result> に格納される。ディレクトリストリームの末"
1943-"尾に達した場合は、 NULL が I<*result> に格納される。"
1822+msgstr "B<readdir_r>() 関数は B<readdir>(3) のリエントラント版として導入された。この関数はディレクトリストリーム I<dirp> から次のディレクトリエントリーを読み込み、 I<entry> が指す呼び出し元が割り当てたバッファーにそのエントリーを格納して返す。 I<dirent> 構造体の詳細は B<readdir>(3) を参照。"
19441823
19451824 #. type: Plain text
19461825 #: build/C/man3/readdir_r.3:72
@@ -1948,7 +1827,7 @@ msgid ""
19481827 "A pointer to the returned buffer is placed in I<*result>; if the end of the "
19491828 "directory stream was encountered, then NULL is instead returned in "
19501829 "I<*result>."
1951-msgstr ""
1830+msgstr "結果を返すバッファへのポインターが I<*result> に格納される。ディレクトリストリームの末尾に達した場合は、NULL が代わりに I<*result> で返される。"
19521831
19531832 #. type: Plain text
19541833 #: build/C/man3/readdir_r.3:80
@@ -1956,7 +1835,7 @@ msgid ""
19561835 "It is recommended that applications use B<readdir>(3) instead of "
19571836 "B<readdir_r>(). Furthermore, since version 2.24, glibc deprecates "
19581837 "B<readdir_r>(). The reasons are as follows:"
1959-msgstr ""
1838+msgstr "アプリケーションでは B<readdir_r>() の代わりに B<readdir>(3) を使用することを推奨する。さらに、glibc 2.24 以降では B<readdir_r>() は非推奨となっている。理由は以下の通りである。"
19601839
19611840 #. type: IP
19621841 #: build/C/man3/readdir_r.3:80 build/C/man3/readdir_r.3:87
@@ -1971,7 +1850,7 @@ msgid ""
19711850 "On systems where B<NAME_MAX> is undefined, calling B<readdir_r>() may be "
19721851 "unsafe because the interface does not allow the caller to specify the length "
19731852 "of the buffer used for the returned directory entry."
1974-msgstr ""
1853+msgstr "B<NAME_MAX> が定義されていないシステムでは、 B<readdir_r>() の呼び出しは安全ではない。このインターフェースでは、呼び出し元がディレクトリエントリーを返す際に使用されるバッファの長さを指定することができないからである。"
19751854
19761855 #. type: Plain text
19771856 #: build/C/man3/readdir_r.3:101
@@ -1982,7 +1861,7 @@ msgid ""
19821861 "directory entry has been read>. On some other systems, B<readdir_r>() may "
19831862 "return a success status, but the returned I<d_name> field may not be null "
19841863 "terminated or may be truncated."
1985-msgstr ""
1864+msgstr "いくつかのシステムでは、 B<readdir_r>() は非常に長い名前のディレクトリエントリーを読み込むことができない。 glibc の実装ではこのような名前に遭遇した場合、 B<readdir_r>() は I<最後のディレクトリエントリーを読み込んだ後> エラー B<ENAMETOOLONG> で失敗する。他のいくつかのシステムでは、 B<readdir_r>() が成功ステータスを返しても、返された I<d_name> フィールドがヌル終端されていなかったり、文字列が途中までで切り詰められていたりすることがある。"
19861865
19871866 #. type: Plain text
19881867 #: build/C/man3/readdir_r.3:118
@@ -1995,7 +1874,7 @@ msgid ""
19951874 "cases where multiple threads must read from the same directory stream, using "
19961875 "B<readdir>(3) with external synchronization is still preferable to the use "
19971876 "of B<readdir_r>(), for the reasons given in the points above."
1998-msgstr ""
1877+msgstr "現在の POSIX.1 標準 (POSIX.1-2008) では、 B<readdir>(3) がスレッドセーフであることは求められていない。しかしながら、新し目の実装 (glibc による実装も含む) では、異なるディレクトリストリームに対する B<readdir>(3) の同時並行の呼び出しはスレッドセーフである。したがって、マルチスレッドプログラムにおいて B<readdir_r>() の使用は不要である。複数のスレッドが同じディレクトリストリームから読み込みを行う必要がある場合も、上記で挙げた理由から、非推奨の B<readdir_r>() 関数を使用するよりも、外部同期を用いた B<readdir>(3) を使う方が推奨される。"
19991878
20001879 #. FIXME .
20011880 #. http://www.austingroupbugs.net/view.php?id=696
@@ -2005,7 +1884,7 @@ msgid ""
20051884 "It is expected that a future version of POSIX.1 will make B<readdir_r>() "
20061885 "obsolete, and require that B<readdir>(3) be thread-safe when concurrently "
20071886 "employed on different directory streams."
2008-msgstr ""
1887+msgstr "POSIX.1 の将来のバージョンでは、 B<readdir_r>() は廃止予定 (obsolete) となり、 B<readdir>(3) は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。"
20091888
20101889 #. type: Plain text
20111890 #: build/C/man3/readdir_r.3:136
@@ -2028,7 +1907,7 @@ msgstr "B<ENAMETOOLONG>"
20281907 #. type: Plain text
20291908 #: build/C/man3/readdir_r.3:143
20301909 msgid "A directory entry whose name was too long to be read was encountered."
2031-msgstr ""
1910+msgstr "読み込むには名前が長過ぎるディレクトリエントリーに遭遇した。"
20321911
20331912 #. type: tbl table
20341913 #: build/C/man3/readdir_r.3:153
@@ -2183,13 +2062,7 @@ msgid ""
21832062 "the comparison function I<compar>(), and collected in array I<namelist> "
21842063 "which is allocated via B<malloc>(3). If I<filter> is NULL, all entries are "
21852064 "selected."
2186-msgstr ""
2187-"関数 B<scandir>() はディレクトリ I<dirp> を走査し、 ディレクトリの各エント"
2188-"リーを引き数として B<filter>() を呼び出す。 B<filter>() が 0 以外の値を返す"
2189-"エントリーは B<malloc>(3) によって 確保された文字列に保存され、比較関数 "
2190-"B<compar>() を用いて B<qsort>(3) によりソートされ、 B<malloc>(3) により確"
2191-"保された配列 I<namelist> にまとめられる。 I<filter> が NULL ならば、すべての"
2192-"エントリーが選択される。"
2065+msgstr "関数 B<scandir>() はディレクトリ I<dirp> を走査し、 ディレクトリの各エントリーを引き数として I<filter>() を呼び出す。 I<filter>() が 0 以外の値を返すエントリーは、 B<malloc>(3) により確保sれた文字列に格納され、比較関数 I<compar>() を用いた B<qsort>(3) によりソートされて、 B<malloc>(3) により確保された配列 I<namelist> にまとめられる。 I<filter> が NULL ならば、すべてのエントリーが選択される。"
21932066
21942067 #. type: Plain text
21952068 #: build/C/man3/scandir.3:139
@@ -2198,11 +2071,7 @@ msgid ""
21982071 "comparison function I<compar>(). The former sorts directory entries using "
21992072 "B<strcoll>(3), the latter using B<strverscmp>(3) on the strings I<(*a)-"
22002073 "E<gt>d_name> and I<(*b)-E<gt>d_name>."
2201-msgstr ""
2202-"比較関数 I<compar>() には B<alphasort>() 関数と B<versionsort>() 関数を使"
2203-"うことができる。 B<alphasort>() は B<strcoll>(3) を用いてディレクトリエント"
2204-"リーをソートし、 B<versionsort>() は文字列 I<(*a)-E<gt>d_name> と I<(*b)-"
2205-"E<gt>d_name> に対して B<strverscmp>(3) を用いる。"
2074+msgstr "比較関数 I<compar>() には B<alphasort>() 関数と B<versionsort>() 関数を使うことができる。 B<alphasort>() は B<strcoll>(3) を用いてディレクトリエントリーをソートする。 B<versionsort>() は文字列 I<(*a)-E<gt>d_name> と I<(*b)-E<gt>d_name> に対して B<strverscmp>(3) を用いる。"
22062075
22072076 #. type: SS
22082077 #: build/C/man3/scandir.3:139
@@ -2215,9 +2084,7 @@ msgstr "scandirat()"
22152084 msgid ""
22162085 "The B<scandirat>() function operates in exactly the same way as "
22172086 "B<scandir>(), except for the differences described here."
2218-msgstr ""
2219-"B<scandirat>() 関数は B<scandir>() と全く同様の動作をする。差分についてはここ"
2220-"で説明する。"
2087+msgstr "B<scandirat>() 関数は B<scandir>() と全く同様の動作をする。ここでは差分を説明する。"
22212088
22222089 #. type: Plain text
22232090 #: build/C/man3/scandir.3:155
@@ -2226,11 +2093,7 @@ msgid ""
22262093 "relative to the directory referred to by the file descriptor I<dirfd> "
22272094 "(rather than relative to the current working directory of the calling "
22282095 "process, as is done by B<scandir>() for a relative pathname)."
2229-msgstr ""
2230-"I<dirp> で指定されたパス名が相対パスの場合、ファイルディスクリプター "
2231-"I<dirfd> が参照するディレクトリからの相対パスと解釈される (これに対して、"
2232-"B<scandir>() の場合は、相対パス名は、呼び出したプロセスのカレントワーキング"
2233-"ディレクトリからの相対パスと解釈される)。"
2096+msgstr "I<dirp> で指定されたパス名が相対パスの場合、ファイルディスクリプター I<dirfd> が参照するディレクトリからの相対パスと解釈される。 (一方、B<scandir>() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。)"
22342097
22352098 #. type: Plain text
22362099 #: build/C/man3/scandir.3:167
@@ -2251,7 +2114,7 @@ msgstr "I<dirp> が絶対パスの場合、I<dirfd> は無視される。"
22512114 #. type: Plain text
22522115 #: build/C/man3/scandir.3:178
22532116 msgid "See B<openat>(2) for an explanation of the need for B<scandirat>()."
2254-msgstr "B<scandirat>() が必要な理由については B<openat>(2) を参照すること。"
2117+msgstr "B<scandirat>() が必要な理由については B<openat>(2) を参照のこと。"
22552118
22562119 #. type: Plain text
22572120 #: build/C/man3/scandir.3:186
@@ -2269,10 +2132,7 @@ msgid ""
22692132 "The B<alphasort>() and B<versionsort>() functions return an integer less "
22702133 "than, equal to, or greater than zero if the first argument is considered to "
22712134 "be respectively less than, equal to, or greater than the second."
2272-msgstr ""
2273-"関数 B<alphasort>() と B<versionsort>() は 1 番目の引き数が 2 番目の引き数"
2274-"に対して、 [小さい/等しい/大きい] かに応じて、0 より [小さい/等しい/大きい] "
2275-"値を返す。"
2135+msgstr "関数 B<alphasort>() と B<versionsort>() は、 1 番目の引き数が 2 番目の引き数に対して [小さい/等しい/大きい] かに応じて、 0 より [小さい/等しい/大きい] 整数値を返す。"
22762136
22772137 #. type: Plain text
22782138 #: build/C/man3/scandir.3:198
@@ -2287,7 +2147,7 @@ msgstr "I<dirp> で指定されたパスがディレクトリではない。"
22872147 #. type: Plain text
22882148 #: build/C/man3/scandir.3:207
22892149 msgid "The following additional errors can occur for B<scandirat>():"
2290-msgstr "B<scandirat>() では追加で以下のエラーも発生する:"
2150+msgstr "B<scandirat>() では、上記に加えて以下のエラーも発生する。"
22912151
22922152 #. type: Plain text
22932153 #: build/C/man3/scandir.3:211
@@ -2381,14 +2241,14 @@ msgid ""
23812241 "safe I<const struct dirent\\ **>, and glibc 2.10 changed the definition of "
23822242 "B<alphasort>() (and the nonstandard B<versionsort>()) to match the "
23832243 "standard."
2384-msgstr ""
2244+msgstr "glibc 2.10 より前では、 B<alphasort>() と B<versionsort>() の 2 つの引き数の型は I<const void\\ *> であった。 B<alphasort>() が POSIX.1-2008 で標準化された際、引き数の型は型安全な I<const struct dirent\\ **> として規定され、 glibc 2.10 は B<alphasort>() (と非標準の B<versionsort>()) の定義を標準に合致するように変更した。"
23852245
23862246 #. type: Plain text
23872247 #: build/C/man3/scandir.3:292
23882248 msgid ""
23892249 "The program below prints a list of the files in the current directory in "
23902250 "reverse order."
2391-msgstr ""
2251+msgstr "以下のプログラムは、現在のディレクトリ内のファイル一覧を逆順で表示する。"
23922252
23932253 #. type: Plain text
23942254 #: build/C/man3/scandir.3:299
@@ -2474,9 +2334,7 @@ msgstr "SEEKDIR"
24742334 msgid ""
24752335 "seekdir - set the position of the next readdir() call in the directory "
24762336 "stream."
2477-msgstr ""
2478-"seekdir - 次の readdir() 呼び出しのために、ディレクトリストリーム中の位置を "
2479-"設定する"
2337+msgstr "seekdir - 次の readdir() 呼び出し用にディレクトリストリーム中の位置を設定する"
24802338
24812339 #. type: Plain text
24822340 #: build/C/man3/seekdir.3:40
@@ -2493,6 +2351,10 @@ msgid ""
24932351 " || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n"
24942352 " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
24952353 msgstr ""
2354+"B<seekdir>():\n"
2355+" _XOPEN_SOURCE\n"
2356+" || /* glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
2357+" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
24962358
24972359 #. type: Plain text
24982360 #: build/C/man3/seekdir.3:62
@@ -2500,15 +2362,12 @@ msgid ""
25002362 "The B<seekdir>() function sets the location in the directory stream from "
25012363 "which the next B<readdir>(2) call will start. The I<loc> argument should "
25022364 "be a value returned by a previous call to B<telldir>(3)."
2503-msgstr ""
2504-"B<seekdir>() 関数は、次の B<readdir>(3) 呼び出しの開始位置である、 ディレク"
2505-"トリストリームの中での位置を設定する。 I<loc> 引き数には、それ以前の "
2506-"B<telldir>(3) の呼び出しで返された値を渡すべきである。"
2365+msgstr "B<seekdir>() 関数は、 B<readdir>(3) の次の呼び出しでの開始位置となる、ディレクトリストリーム中での位置を設定する。 I<loc> 引き数には、それ以前の B<telldir>(3) の呼び出しで返された値を渡すべきである。"
25072366
25082367 #. type: Plain text
25092368 #: build/C/man3/seekdir.3:66
25102369 msgid "The B<seekdir>() function returns no value."
2511-msgstr "B<seekdir>() 関数は、値を返さない。"
2370+msgstr "B<seekdir>() 関数は、値を返さない。"
25122371
25132372 #. type: tbl table
25142373 #: build/C/man3/seekdir.3:76
@@ -2528,11 +2387,7 @@ msgid ""
25282387 "POSIX.1-2001 specifies I<long>, and this is the type used since glibc "
25292388 "2.1.2. See B<telldir>(3) for information on why you should be careful in "
25302389 "making any assumptions about the value in this argument."
2531-msgstr ""
2532-"バージョン 2.1.1 以前の glibc では、 I<loc> 引き数の型は I<off_t> であった。 "
2533-"POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では I<long> に"
2534-"なっている。この引き数の値に前提を置く際には気を付けないといけない理由につい"
2535-"ては B<telldir>(3) を参照のこと。"
2390+msgstr "バージョン 2.1.1 以前の glibc では、 I<loc> 引き数の型は I<off_t> であった。 POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では I<long> になっている。この引き数の値に前提を持つ場合には注意が必要であり、理由については B<telldir>(3) を参照のこと。"
25362391
25372392 #. type: Plain text
25382393 #: build/C/man3/seekdir.3:100
@@ -2569,15 +2424,17 @@ msgid ""
25692424 " || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n"
25702425 " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n"
25712426 msgstr ""
2427+"B<telldir>():\n"
2428+" _XOPEN_SOURCE\n"
2429+" || /* glibc 2.19 以降: */ _DEFAULT_SOURCE\n"
2430+" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n"
25722431
25732432 #. type: Plain text
25742433 #: build/C/man3/telldir.3:54
25752434 msgid ""
25762435 "The B<telldir>() function returns the current location associated with the "
25772436 "directory stream I<dirp>."
2578-msgstr ""
2579-"B<telldir>() 関数は、ディレクトリストリーム I<dirp> に結びつけられた 現在位"
2580-"置を返す。"
2437+msgstr "B<telldir>() 関数は、ディレクトリストリーム I<dirp> の現在位置を返す。"
25812438
25822439 #. type: Plain text
25832440 #: build/C/man3/telldir.3:62
@@ -2585,9 +2442,7 @@ msgid ""
25852442 "On success, the B<telldir>() function returns the current location in the "
25862443 "directory stream. On error, -1 is returned, and I<errno> is set "
25872444 "appropriately."
2588-msgstr ""
2589-"成功した場合、 B<telldir>() 関数はディレクトリストリーム中の現在位置を返"
2590-"す。 エラーの場合、-1 が返されて、 I<errno> が適切に設定される。"
2445+msgstr "成功した場合、 B<telldir>() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、-1 が返り、 I<errno> が適切に設定される。"
25912446
25922447 #. type: tbl table
25932448 #: build/C/man3/telldir.3:76
@@ -2601,10 +2456,7 @@ msgid ""
26012456 "In glibc up to version 2.1.1, the return type of B<telldir>() was "
26022457 "I<off_t>. POSIX.1-2001 specifies I<long>, and this is the type used since "
26032458 "glibc 2.1.2."
2604-msgstr ""
2605-"バージョン 2.1.1 以前の glibc では、 B<telldir>()9 の返り値の型は I<off_t> で"
2606-"あった。 POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では "
2607-"I<long> になっている。"
2459+msgstr "バージョン 2.1.1 以前の glibc では、 B<telldir>() の返り値の型は I<off_t> であった。 POSIX.1-2001 では I<long> と規定されており、glibc 2.1.2 以降では I<long> になっている。"
26082460
26092461 #. https://lwn.net/Articles/544298/
26102462 #. type: Plain text
@@ -2617,15 +2469,7 @@ msgid ""
26172469 "\"cookie\" that is used by the implementation to derive a position within a "
26182470 "directory. Application programs should treat this strictly as an opaque "
26192471 "value, making I<no> assumptions about its contents."
2620-msgstr ""
2621-"初期のファイルシステムでは、 B<telldir>() が返す値は単なるディレクトリ内の"
2622-"ファイルオフセットであった。新しめのファイルシステムでは、ディレクトリを表現"
2623-"するのに、フラットなテーブルではなく、ツリーやハッシュ構造が使用されている。"
2624-"このようなファイルシステムでは、 B<telldir>() が返す値 (および B<readdir>(3) "
2625-"が内部で使用する値) は、ディレクトリ内での値を示すのにファイルシステム実装が"
2626-"使っている \"cookie\" となる。アプリケーションプログラムでは、必ずこの値を内"
2627-"容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは"
2628-"「ない」。"
2472+msgstr "初期のファイルシステムでは、 B<telldir>() が返す値は単なるディレクトリ内のファイルオフセットであった。最近のファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリー構造やハッシュ構造が使用されている。このようなファイルシステムでは、 B<telldir>() が返す値 (および B<readdir>(3) が内部で使用する値) は、ファイルシステム実装がディレクトリ内での位置を得るのに使用する \"cookie\" となる。アプリケーションプログラムでは、必ずこの値を内容の意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。"
26292473
26302474 #. type: Plain text
26312475 #: build/C/man3/telldir.3:111
@@ -2635,91 +2479,3 @@ msgid ""
26352479 msgstr ""
26362480 "B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), "
26372481 "B<scandir>(3), B<seekdir>(3)"
2638-
2639-#~ msgid "|| /* Since glibc 2.10: */"
2640-#~ msgstr "|| /* glibc 2.10 以降: */"
2641-
2642-#~ msgid ""
2643-#~ "The prototype for B<dirfd>() is available only if B<_BSD_SOURCE> or "
2644-#~ "B<_SVID_SOURCE> is defined."
2645-#~ msgstr ""
2646-#~ "B<dirfd>() のプロトタイプが使用可能なのは、 B<_BSD_SOURCE> または "
2647-#~ "B<_SVID_SOURCE> が定義されたときのみである。"
2648-
2649-#~ msgid ""
2650-#~ "Glibc does not provide a wrapper for this system call; call it using "
2651-#~ "B<syscall>(2). You will need to define the I<linux_dirent> structure "
2652-#~ "yourself. However, you probably want to use B<readdir>(3) instead."
2653-#~ msgstr ""
2654-#~ "glibc はこのシステムコールに対するラッパー関数を提供していないので、 "
2655-#~ "B<syscall>(2) を使って呼び出すこと。 I<linux_dirent> 構造体は自分で定義す"
2656-#~ "る必要がある。しかし、たいていはこのシステムコールではなく B<readdir>(3) "
2657-#~ "を使うべき場面のことが多い。"
2658-
2659-#~ msgid "Too many file descriptors in use by process."
2660-#~ msgstr "プロセスが使用中のファイルディスクリプターが多すぎる。"
2661-
2662-#~ msgid "Too many files are currently open in the system."
2663-#~ msgstr "システムでオープンされているファイルが多すぎる。"
2664-
2665-#~ msgid ""
2666-#~ "Other than Linux, the I<d_type> field is available mainly only on BSD "
2667-#~ "systems. This field makes it possible to avoid the expense of calling "
2668-#~ "B<lstat>(2) if further actions depend on the type of the file. If the "
2669-#~ "B<_BSD_SOURCE> feature test macro is defined, then glibc defines the "
2670-#~ "following macro constants for the value returned in I<d_type>:"
2671-#~ msgstr ""
2672-#~ "I<d_type> フィールドは、Linux 以外では、 主に BSD 系のシステムにだけ存在す"
2673-#~ "る。 このフィールドを使うと、 その後の動作がファイルの種別により決まる場合"
2674-#~ "に、 B<lstat>(2) を呼び出すコストを避けることができる。 機能検査マクロ "
2675-#~ "B<_BSD_SOURCE> が定義された場合、glibc は I<d_type> で返される値として以下"
2676-#~ "のマクロ定数を定義する。"
2677-
2678-#~ msgid ""
2679-#~ "If the file type could not be determined, the value B<DT_UNKNOWN> is "
2680-#~ "returned in I<d_type>."
2681-#~ msgstr ""
2682-#~ "ファイル種別を決定できなかった場合には、 I<d_type> に B<DT_UNKNOWN> が入"
2683-#~ "る。"
2684-
2685-#~ msgid ""
2686-#~ "Since POSIX.1 does not specify the size of the I<d_name> field, and other "
2687-#~ "nonstandard fields may precede that field within the I<dirent> structure, "
2688-#~ "portable applications that use B<readdir_r>() should allocate the buffer "
2689-#~ "whose address is passed in I<entry> as follows:"
2690-#~ msgstr ""
2691-#~ "POSIX.1 では I<d_name> フィールドのサイズは規定されておらず、 I<dirent> 構"
2692-#~ "造体の I<d_name> の後ろに他の非標準のフィールドがあるかもしれないので、 移"
2693-#~ "植性が必要なアプリケーションで B<readdir_r>() を使う場合は I<entry> に渡"
2694-#~ "すバッファーを次のようにして割り当てるべきである。"
2695-
2696-#~ msgid ""
2697-#~ "name_max = pathconf(dirpath, _PC_NAME_MAX);\n"
2698-#~ "if (name_max == -1) /* Limit not defined, or error */\n"
2699-#~ " name_max = 255; /* Take a guess */\n"
2700-#~ "len = offsetof(struct dirent, d_name) + name_max + 1;\n"
2701-#~ "entryp = malloc(len);\n"
2702-#~ msgstr ""
2703-#~ "name_max = pathconf(dirpath, _PC_NAME_MAX);\n"
2704-#~ "if (name_max == -1) /* 上限が定義されていない、またはエラー */\n"
2705-#~ " name_max = 255; /* 適当な値を入れる */\n"
2706-#~ "len = offsetof(struct dirent, d_name) + name_max + 1;\n"
2707-#~ "entryp = malloc(len);\n"
2708-
2709-#~ msgid ""
2710-#~ "(POSIX.1 requires that I<d_name> is the last field in a I<struct dirent>.)"
2711-#~ msgstr ""
2712-#~ "(POSIX.1 では I<struct dirent> の最後のフィールドが I<d_name> であることを"
2713-#~ "要求している。)"
2714-
2715-#~ msgid "The B<rewinddir>() function is thread-safe."
2716-#~ msgstr "B<rewinddir>() 関数はスレッドセーフである。"
2717-
2718-#~ msgid ""
2719-#~ "#define _SVID_SOURCE\n"
2720-#~ "/* print files in current directory in reverse order */\n"
2721-#~ "#include E<lt>dirent.hE<gt>\n"
2722-#~ msgstr ""
2723-#~ "#define _SVID_SOURCE\n"
2724-#~ "/* カレントディレクトリのファイルを逆順に出力する */\n"
2725-#~ "#include E<lt>dirent.hE<gt>\n"
--- a/manual/LDP_man-pages/stats/dirent
+++ b/manual/LDP_man-pages/stats/dirent
@@ -1,10 +0,0 @@
1-# pagename,#complete,#remaining,#all
2-dirfd.3,36,2,38
3-getdents.2,73,5,78
4-opendir.3,52,3,55
5-readdir.2,36,1,37
6-readdir.3,55,20,75
7-readdir_r.3,35,10,45
8-scandir.3,73,3,76
9-seekdir.3,29,1,30
10-telldir.3,33,1,34
--- a/manual/LDP_man-pages/untrans.html
+++ b/manual/LDP_man-pages/untrans.html
@@ -27,16 +27,6 @@
2727 <TR class="over80"><TD>bootparam.7</TD><TD>23/146</TD><TD>84.25</TD></TR>
2828 <TR class="over80"><TD>reboot.2</TD><TD>7/60</TD><TD>88.33</TD></TR>
2929 <TR class="over80"><TD>sync.2</TD><TD>7/46</TD><TD>84.78</TD></TR>
30-<TR class="title"><TD COLSPAN=3>dirent</TD></TR>
31-<TR class="over80"><TD>dirfd.3</TD><TD>2/38</TD><TD>94.74</TD></TR>
32-<TR class="over80"><TD>getdents.2</TD><TD>5/78</TD><TD>93.59</TD></TR>
33-<TR class="over80"><TD>opendir.3</TD><TD>3/55</TD><TD>94.55</TD></TR>
34-<TR class="over80"><TD>readdir.2</TD><TD>1/37</TD><TD>97.30</TD></TR>
35-<TR class="over70"><TD>readdir.3</TD><TD>20/75</TD><TD>73.33</TD></TR>
36-<TR class="over70"><TD>readdir_r.3</TD><TD>10/45</TD><TD>77.78</TD></TR>
37-<TR class="over80"><TD>scandir.3</TD><TD>3/76</TD><TD>96.05</TD></TR>
38-<TR class="over80"><TD>seekdir.3</TD><TD>1/30</TD><TD>96.67</TD></TR>
39-<TR class="over80"><TD>telldir.3</TD><TD>1/34</TD><TD>97.06</TD></TR>
4030 <TR class="title"><TD COLSPAN=3>epoll</TD></TR>
4131 <TR class="over80"><TD>epoll.7</TD><TD>14/111</TD><TD>87.39</TD></TR>
4232 <TR class="over80"><TD>epoll_create.2</TD><TD>2/42</TD><TD>95.24</TD></TR>
@@ -630,9 +620,9 @@
630620 <TR class="title"><TD COLSPAN=3>Summary</TD></TR>
631621 <TR><TD COLSPAN=3>
632622 <UL>
633-<LI>Total uncompleted: 571
634-<LI>&gt;=80%: 400
635-<LI>&gt;=70%: 44
623+<LI>Total uncompleted: 562
624+<LI>&gt;=80%: 393
625+<LI>&gt;=70%: 42
636626 <LI>&gt;=60%: 36
637627 <LI>&lt;60%: 91
638628 </UL>