翻訳ドキュメント管理用
Révision | cd81b3325e2c4becdaa88dc12295e95dc8d8956e (tree) |
---|---|
l'heure | 2021-07-01 01:40:26 |
Auteur | Akihiro Motoki <amotoki@gmai...> |
Commiter | Akihiro Motoki |
LDP: Translate dirent ja.po
@@ -60,28 +60,28 @@ getdents, getdents64 \- ディレクトリエントリーを取得する | ||
60 | 60 | .PP |
61 | 61 | \fI注\fP: \fBgetdents\fP() の glibc のラッパー関数は存在しない。「注意」の節を参照。 |
62 | 62 | .SH 説明 |
63 | -これらはあなたの関心を引くようなインターフェースではない。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3) | |
64 | -を見ること。 このページは、カーネルシステムコールの生のインターフェースについて 記載したものである。 | |
63 | +これらはあなたの関心を引くようなインターフェースではないだろう。 POSIX 準拠の C ライブラリインターフェースについては | |
64 | +\fBreaddir\fP(3) を参照のこと。このページは、カーネルシステムコールの生のインターフェースについて記載したものである。 | |
65 | 65 | .SS getdents() |
66 | 66 | \fBgetdents\fP() システムコールは、オープン済みのファイルディスクリプター \fIfd\fP で参照されるディレクトリから |
67 | 67 | \fIlinux_dirent\fP 構造体をいくつか読み出し、 \fIdirp\fP が指しているバッファーに格納する。 \fIcount\fP |
68 | 68 | 引き数はそのバッファーのサイズを示す。 |
69 | 69 | .PP |
70 | -\fIlinux_dirent\fP 構造体は以下のように宣言されている: | |
70 | +\fIlinux_dirent\fP 構造体は以下のように宣言されている。 | |
71 | 71 | .PP |
72 | 72 | .in +4n |
73 | 73 | .EX |
74 | 74 | 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 \- | |
80 | 80 | offsetof(struct linux_dirent, d_name)) */ |
81 | 81 | /* |
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) | |
85 | 85 | */ |
86 | 86 | } |
87 | 87 | .EE |
@@ -90,7 +90,7 @@ struct linux_dirent { | ||
90 | 90 | \fId_ino\fP は inode 番号である。 \fId_off\fP はディレクトリの先頭から次の \fIlinux_dirent\fP の先頭までの距離である。 |
91 | 91 | \fId_reclen\fP はこの \fIlinux_dirent\fP 全体のサイズである。 \fId_name\fP はヌル文字で終わるファイル名である。 |
92 | 92 | .PP |
93 | -\fId_type\fP は、構造体の最後のバイトであり、ファイルタイプを示す。 \fId_type\fP は以下の値の一つを取る | |
93 | +\fId_type\fP は、構造体の最後のバイトであり、ファイルタイプを示す。 \fId_type\fP は以下の値のいずれか一つを取る | |
94 | 94 | (\fI<dirent.h>\fP で定義されている)。 |
95 | 95 | .TP 12 |
96 | 96 | \fBDT_BLK\fP |
@@ -115,35 +115,34 @@ struct linux_dirent { | ||
115 | 115 | UNIX ドメインソケットである。 |
116 | 116 | .TP |
117 | 117 | \fBDT_UNKNOWN\fP |
118 | -ファイルタイプが不明である。 | |
118 | +ファイルタイプが不明。 | |
119 | 119 | .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) が返される。 | |
123 | 123 | .PP |
124 | 124 | .\" kernel 2.6.27 |
125 | 125 | .\" The same sentence is in readdir.2 |
126 | 126 | 現在のところ、 \fId_type\fP でファイルタイプを返す機能が完全にサポートされているのは、 いくつかのファイルシステムにおいてのみである |
127 | -(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも、 \fBDT_UNKNOWN\fP | |
127 | +(Btrfs, ext2, ext3, ext4 はサポートしている)。 どのアプリケーションも \fBDT_UNKNOWN\fP | |
128 | 128 | が返された際に適切に処理できなければならない。 |
129 | 129 | .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 フィールドを明示的にサポートされている。 | |
134 | 134 | .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 | +番目の引き数が以下の構造体が入ったバッファへのポインターである点が異なる。 | |
138 | 137 | .PP |
139 | 138 | .in +4n |
140 | 139 | .EX |
141 | 140 | 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[]; /* ファイル名 (ヌル終端される) */ | |
147 | 146 | }; |
148 | 147 | .EE |
149 | 148 | .in |
@@ -156,7 +155,7 @@ struct linux_dirent64 { | ||
156 | 155 | ファイルディスクリプター \fIfd\fP が不正である。 |
157 | 156 | .TP |
158 | 157 | \fBEFAULT\fP |
159 | -引き数が呼び出したプロセスのアドレス空間外を指している。 | |
158 | +引き数が呼び出し元プロセスのアドレス空間外を指している。 | |
160 | 159 | .TP |
161 | 160 | \fBEINVAL\fP |
162 | 161 | 結果用のバッファーが小さすぎる。 |
@@ -170,13 +169,12 @@ struct linux_dirent64 { | ||
170 | 169 | .\" SVr4 documents additional ENOLINK, EIO error conditions. |
171 | 170 | SVr4. |
172 | 171 | .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 | +を自分で定義する必要があるだろう。 | |
178 | 176 | .PP |
179 | -Probably, you want to use \fBreaddir\fP(3) instead of these system calls. | |
177 | +おそらく、あなたが使いたいのは、これらのシステムコールではなく \fBreaddir\fP(3) の方であろう。 | |
180 | 178 | .PP |
181 | 179 | これらのシステムコールは \fBreaddir\fP(2) を置き換えるものである。 |
182 | 180 | .SH 例 |
@@ -203,7 +201,7 @@ inode# file type d_reclen d_off d_name | ||
203 | 201 | \& |
204 | 202 | .EX |
205 | 203 | #define _GNU_SOURCE |
206 | -#include <dirent.h> /* Defines DT_* constants */ | |
204 | +#include <dirent.h> /* DT_* 定数の定義 */ | |
207 | 205 | #include <fcntl.h> |
208 | 206 | #include <stdint.h> |
209 | 207 | #include <stdio.h> |
@@ -52,31 +52,31 @@ readdir \- ディレクトリエントリーを読み込む | ||
52 | 52 | .PP |
53 | 53 | \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。 |
54 | 54 | .SH 説明 |
55 | -これはあなたの興味をもっている関数ではない。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3) を見ること。 | |
56 | -このページは裸のカーネルのシステムコールインターフェースについて 記述しているが、このインターフェースは \fBgetdents\fP(2) | |
57 | -によって取って代わられた。 | |
55 | +これはあなたの関心を引くような関数ではないだろう。 POSIX 準拠の C ライブラリインターフェースについては \fBreaddir\fP(3) | |
56 | +を参照のこと。このページでは、生のカーネルのシステムコールインターフェースについて記載しているが、このインターフェースは \fBgetdents\fP(2) | |
57 | +によって置き換えられた。 | |
58 | 58 | .PP |
59 | 59 | \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 構造体が読み出される。 | |
62 | 62 | .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 | +以下のように宣言される: | |
65 | 65 | .PP |
66 | 66 | .in +4n |
67 | 67 | .EX |
68 | 68 | 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 終端された) ファイル名 */ | |
73 | 73 | } |
74 | 74 | .EE |
75 | 75 | .in |
76 | 76 | .PP |
77 | 77 | \fId_ino\fP は inode 番号である。 \fId_offset\fP はディレクトリの最初からこの \fIold_linux_dirent\fP |
78 | 78 | まで距離である。 \fId_reclen\fP は \fId_name\fP の大きさで、終端のヌルバイト (\(aq\e0\(aq) を含まない。 |
79 | -\fId_name\fP はヌルバイトで終わるファイル名である。 | |
79 | +\fId_name\fP はヌルで終端されたファイル名である。 | |
80 | 80 | .SH 返り値 |
81 | 81 | 成功した場合は、1 が返される。 ディレクトリの最後では 0 が返される。 エラーの場合は \-1 が返され、 \fIerrno\fP が適切に設定される。 |
82 | 82 | .SH エラー |
@@ -85,7 +85,7 @@ struct old_linux_dirent { | ||
85 | 85 | ファイルディスクリプター \fIfd\fP が不正である。 |
86 | 86 | .TP |
87 | 87 | \fBEFAULT\fP |
88 | -引き数が呼び出したプロセスのアドレス空間外を指している。 | |
88 | +引き数が呼び出し元プロセスのアドレス空間外を指している。 | |
89 | 89 | .TP |
90 | 90 | \fBEINVAL\fP |
91 | 91 | 結果用のバッファーが小さすぎる。 |
@@ -96,7 +96,7 @@ struct old_linux_dirent { | ||
96 | 96 | \fBENOTDIR\fP |
97 | 97 | ファイルディスクリプターがディレクトリを参照していない。 |
98 | 98 | .SH 準拠 |
99 | -このシステムコールは Linux 特有である。 | |
99 | +このシステムコールは Linux 固有である。 | |
100 | 100 | .SH 注意 |
101 | 101 | glibc はこのシステムコールに対するラッパー関数を提供していない。 \fBsyscall\fP(2) を使って呼び出すこと。 |
102 | 102 | \fIold_linux_dirent\fP 構造体を自分自身で定義する必要がある。しかし、たいていはこのシステムコールではなく \fBreaddir\fP(3) |
@@ -54,21 +54,20 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
54 | 54 | .RS 4 |
55 | 55 | .PD 0 |
56 | 56 | .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 | |
59 | 59 | .PD |
60 | 60 | .RE |
61 | 61 | .ad |
62 | 62 | .SH 説明 |
63 | 63 | 関数 \fBdirfd\fP() はディレクトリストリーム \fIdirp\fP に関連づけられたファイルディスクリプターを返す。 |
64 | 64 | .PP |
65 | -このファイルディスクリプターはディレクトリストリームが内部で使用するものである。 よって、ファイルの位置に依存せず、かつその位置を変更しない関数 | |
66 | -\fBfstat\fP(2) や \fBfchdir\fP(2) などでしか役に立たない。 このファイルディスクリプターは \fBclosedir\fP(3) | |
65 | +このファイルディスクリプターはディレクトリストリームが内部で使用するものである。結果的に、この関数が役に立つのは、ファイルの位置に依存しない関数やその位置を変更しない関数 | |
66 | +(\fBfstat\fP(2) や \fBfchdir\fP(2) など) においてだけである。このファイルディスクリプターは \fBclosedir\fP(3) | |
67 | 67 | が呼ばれたときに自動的にクローズされる。 |
68 | 68 | .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 | +にエラーの原因を示す値が設定される。 | |
72 | 71 | .SH エラー |
73 | 72 | .\" glibc 2.8 |
74 | 73 | POSIX.1\-2008 では 2 つのエラーが規定されている。 現在の実装ではどちらのエラーも返されない。 |
@@ -72,7 +72,7 @@ _GNU_SOURCE | ||
72 | 72 | .ad |
73 | 73 | .PD |
74 | 74 | .SH 説明 |
75 | -\fBopendir\fP() 関数はディレクトリ \fIname\fP に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。 | |
75 | +\fBopendir\fP() 関数は、ディレクトリ \fIname\fP に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。 | |
76 | 76 | ストリームの位置はディレクトリの先頭のエントリーに設定される。 |
77 | 77 | .PP |
78 | 78 | \fBfdopendir\fP() 関数は \fBopendir\fP() と同様だが、オープン済みのファイルディスクリプター \fIfd\fP |
@@ -90,11 +90,10 @@ _GNU_SOURCE | ||
90 | 90 | \fIfd\fP が読み出し用にオープンされた、有効なファイルディスクリプターではない。 |
91 | 91 | .TP |
92 | 92 | \fBEMFILE\fP |
93 | -The per\-process limit on the number of open file descriptors has been | |
94 | -reached. | |
93 | +オープンされたファイルディスクリプター数がプロセス単位の上限に達している。 | |
95 | 94 | .TP |
96 | 95 | \fBENFILE\fP |
97 | -The system\-wide limit on the total number of open files has been reached. | |
96 | +オープンされたファイルの総数がシステム全体の上限に達している。 | |
98 | 97 | .TP |
99 | 98 | \fBENOENT\fP |
100 | 99 | ディレクトリが存在しないか、または \fIname\fP が空文字列である。 |
@@ -122,9 +121,9 @@ T} Thread safety MT\-Safe | ||
122 | 121 | \fBopendir\fP() は SVr4 と 4.3BSD に存在し、 POSIX.1\-2001 で規定されている。 \fBfdopendir\fP() は |
123 | 122 | POSIX.1\-2008 で規定されている。 |
124 | 123 | .SH 注意 |
125 | -Filename entries can be read from a directory stream using \fBreaddir\fP(3). | |
124 | +ファイル名エントリーをディレクトリストリームから読み込むには \fBreaddir\fP(3) を使用する。 | |
126 | 125 | .PP |
127 | -ディレクトリストリームに対応するファイルディスクリプターは \fBdirfd\fP(3) を使用して得ることができる。 | |
126 | +ディレクトリストリームに対応するファイルディスクリプターは \fBdirfd\fP(3) を使用して取得できる。 | |
128 | 127 | .PP |
129 | 128 | \fBopendir\fP() 関数は、 \fIDIR *\fP の背後にあるファイルディスクリプターの close\-on\-exec フラグを設定する。 |
130 | 129 | \fBfdopendir\fP() 関数は、ファイルディスクリプターの close\-on\-exec フラグの設定を変更しない。 \fBfdopendir\fP() |
@@ -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/ に書かれている。 |
@@ -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/ に書かれている。 |
@@ -109,8 +109,8 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
109 | 109 | .RS 4 |
110 | 110 | .PD 0 |
111 | 111 | .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 | |
114 | 114 | .PD |
115 | 115 | .RE |
116 | 116 | .PP |
@@ -118,32 +118,32 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
118 | 118 | .PP |
119 | 119 | \fBscandirat\fP(): _GNU_SOURCE |
120 | 120 | .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 ならば、すべてのエントリーが選択される。 | |
125 | 125 | .PP |
126 | 126 | 比較関数 \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) を用いる。 | |
129 | 129 | .SS scandirat() |
130 | -\fBscandirat\fP() 関数は \fBscandir\fP() と全く同様の動作をする。差分についてはここで説明する。 | |
130 | +\fBscandirat\fP() 関数は \fBscandir\fP() と全く同様の動作をする。ここでは差分を説明する。 | |
131 | 131 | .PP |
132 | -\fIdirp\fP で指定されたパス名が相対パスの場合、ファイルディスクリプター \fIdirfd\fP が参照するディレクトリからの相対パスと解釈される | |
133 | -(これに対して、\fBscandir\fP() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される)。 | |
132 | +\fIdirp\fP で指定されたパス名が相対パスの場合、ファイルディスクリプター \fIdirfd\fP が参照するディレクトリからの相対パスと解釈される。 | |
133 | +(一方、\fBscandir\fP() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。) | |
134 | 134 | .PP |
135 | 135 | \fIdirp\fP が相対パスで \fIdirfd\fP が特別な値 \fBAT_FDCWD\fP の場合、 \fIdirp\fP は (\fBscandir\fP() と同様に) |
136 | 136 | 呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。 |
137 | 137 | .PP |
138 | 138 | \fIdirp\fP が絶対パスの場合、\fIdirfd\fP は無視される。 |
139 | 139 | .PP |
140 | -\fBscandirat\fP() が必要な理由については \fBopenat\fP(2) を参照すること。 | |
140 | +\fBscandirat\fP() が必要な理由については \fBopenat\fP(2) を参照のこと。 | |
141 | 141 | .SH 返り値 |
142 | 142 | \fBscandir\fP() 関数は、選択されたディレクトリのエントリー数を返す。 エラーの場合、 \-1 を返し、 \fIerrno\fP |
143 | 143 | にエラーの原因を示す値を設定する。 |
144 | 144 | .PP |
145 | -関数 \fBalphasort\fP() と \fBversionsort\fP() は 1 番目の引き数が 2 番目の引き数に対して、 | |
146 | -[小さい/等しい/大きい] かに応じて、0 より [小さい/等しい/大きい] 値を返す。 | |
145 | +関数 \fBalphasort\fP() と \fBversionsort\fP() は、 1 番目の引き数が 2 番目の引き数に対して [小さい/等しい/大きい] | |
146 | +かに応じて、 0 より [小さい/等しい/大きい] 整数値を返す。 | |
147 | 147 | .SH エラー |
148 | 148 | .TP |
149 | 149 | \fBENOENT\fP |
@@ -155,7 +155,7 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
155 | 155 | \fBENOTDIR\fP |
156 | 156 | \fIdirp\fP で指定されたパスがディレクトリではない。 |
157 | 157 | .PP |
158 | -\fBscandirat\fP() では追加で以下のエラーも発生する: | |
158 | +\fBscandirat\fP() では、上記に加えて以下のエラーも発生する。 | |
159 | 159 | .TP |
160 | 160 | \fBEBADF\fP |
161 | 161 | \fIdirfd\fP が有効なファイルディスクリプターではない。 |
@@ -206,15 +206,13 @@ T} Thread safety MT\-Safe locale | ||
206 | 206 | glibc 2.1 以降では \fBalphasort\fP() は \fBstrcoll\fP(3) を呼び出す。 \fBalphasort\fP() は以前は |
207 | 207 | \fBstrcmp\fP(3) を使っていた。 |
208 | 208 | .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()) の定義を標準に合致するように変更した。 | |
214 | 213 | .SH 例 |
215 | 214 | .\" |
216 | -The program below prints a list of the files in the current directory in | |
217 | -reverse order. | |
215 | +以下のプログラムは、現在のディレクトリ内のファイル一覧を逆順で表示する。 | |
218 | 216 | .SS プログラムのソース |
219 | 217 | \& |
220 | 218 | .EX |
@@ -43,7 +43,7 @@ | ||
43 | 43 | .\" |
44 | 44 | .TH SEEKDIR 3 2016\-03\-15 "" "Linux Programmer's Manual" |
45 | 45 | .SH 名前 |
46 | -seekdir \- 次の readdir() 呼び出しのために、ディレクトリストリーム中の位置を 設定する | |
46 | +seekdir \- 次の readdir() 呼び出し用にディレクトリストリーム中の位置を設定する | |
47 | 47 | .SH 書式 |
48 | 48 | .nf |
49 | 49 | \fB#include <dirent.h>\fP |
@@ -57,13 +57,13 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
57 | 57 | .PP |
58 | 58 | \fBseekdir\fP(): |
59 | 59 | _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 | |
62 | 62 | .SH 説明 |
63 | -\fBseekdir\fP() 関数は、次の \fBreaddir\fP(3) 呼び出しの開始位置である、 ディレクトリストリームの中での位置を設定する。 | |
63 | +\fBseekdir\fP() 関数は、 \fBreaddir\fP(3) の次の呼び出しでの開始位置となる、ディレクトリストリーム中での位置を設定する。 | |
64 | 64 | \fIloc\fP 引き数には、それ以前の \fBtelldir\fP(3) の呼び出しで返された値を渡すべきである。 |
65 | 65 | .SH 返り値 |
66 | -\fBseekdir\fP() 関数は、値を返さない。 | |
66 | +\fBseekdir\fP() 関数は、値を返さない。 | |
67 | 67 | .SH 属性 |
68 | 68 | この節で使用されている用語の説明については、 \fBattributes\fP(7) を参照。 |
69 | 69 | .TS |
@@ -80,7 +80,7 @@ POSIX.1\-2001, POSIX.1\-2008, 4.3BSD. | ||
80 | 80 | .SH 注意 |
81 | 81 | バージョン 2.1.1 以前の glibc では、 \fIloc\fP 引き数の型は \fIoff_t\fP であった。 POSIX.1\-2001 では |
82 | 82 | \fIlong\fP と規定されており、glibc 2.1.2 以降では \fIlong\fP |
83 | -になっている。この引き数の値に前提を置く際には気を付けないといけない理由については \fBtelldir\fP(3) を参照のこと。 | |
83 | +になっている。この引き数の値に前提を持つ場合には注意が必要であり、理由については \fBtelldir\fP(3) を参照のこと。 | |
84 | 84 | .SH 関連項目 |
85 | 85 | \fBlseek\fP(2), \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), |
86 | 86 | \fBscandir\fP(3), \fBtelldir\fP(3) |
@@ -56,12 +56,12 @@ glibc 向けの機能検査マクロの要件 (\fBfeature_test_macros\fP(7) 参 | ||
56 | 56 | .PP |
57 | 57 | \fBtelldir\fP(): |
58 | 58 | _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 | |
61 | 61 | .SH 説明 |
62 | -\fBtelldir\fP() 関数は、ディレクトリストリーム \fIdirp\fP に結びつけられた 現在位置を返す。 | |
62 | +\fBtelldir\fP() 関数は、ディレクトリストリーム \fIdirp\fP の現在位置を返す。 | |
63 | 63 | .SH 返り値 |
64 | -成功した場合、 \fBtelldir\fP() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、\-1 が返されて、 \fIerrno\fP | |
64 | +成功した場合、 \fBtelldir\fP() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、\-1 が返り、 \fIerrno\fP | |
65 | 65 | が適切に設定される。 |
66 | 66 | .SH エラー |
67 | 67 | .TP |
@@ -81,15 +81,15 @@ T} Thread safety MT\-Safe | ||
81 | 81 | .SH 準拠 |
82 | 82 | POSIX.1\-2001, POSIX.1\-2008, 4.3BSD. |
83 | 83 | .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 | |
85 | 85 | では \fIlong\fP と規定されており、glibc 2.1.2 以降では \fIlong\fP になっている。 |
86 | 86 | .PP |
87 | 87 | .\" https://lwn.net/Articles/544298/ |
88 | 88 | 初期のファイルシステムでは、 \fBtelldir\fP() |
89 | -が返す値は単なるディレクトリ内のファイルオフセットであった。新しめのファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリーやハッシュ構造が使用されている。このようなファイルシステムでは、 | |
89 | +が返す値は単なるディレクトリ内のファイルオフセットであった。最近のファイルシステムでは、ディレクトリを表現するのに、フラットなテーブルではなく、ツリー構造やハッシュ構造が使用されている。このようなファイルシステムでは、 | |
90 | 90 | \fBtelldir\fP() が返す値 (および \fBreaddir\fP(3) が内部で使用する値) |
91 | -は、ディレクトリ内での値を示すのにファイルシステム実装が使っている "cookie" | |
92 | -となる。アプリケーションプログラムでは、必ずこの値を内容を意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。 | |
91 | +は、ファイルシステム実装がディレクトリ内での位置を得るのに使用する "cookie" | |
92 | +となる。アプリケーションプログラムでは、必ずこの値を内容の意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。 | |
93 | 93 | .SH 関連項目 |
94 | 94 | \fBclosedir\fP(3), \fBopendir\fP(3), \fBreaddir\fP(3), \fBrewinddir\fP(3), |
95 | 95 | \fBscandir\fP(3), \fBseekdir\fP(3) |
@@ -7,7 +7,7 @@ msgid "" | ||
7 | 7 | msgstr "" |
8 | 8 | "Project-Id-Version: PACKAGE VERSION\n" |
9 | 9 | "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" | |
11 | 11 | "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" |
12 | 12 | "Language-Team: LANGUAGE <LL@li.org>\n" |
13 | 13 | "Language: \n" |
@@ -356,6 +356,8 @@ msgid "" | ||
356 | 356 | "/* Since glibc 2.10: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n" |
357 | 357 | " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n" |
358 | 358 | msgstr "" |
359 | +"/* glibc 2.10 以降: */ _POSIX_C_SOURCE\\ E<gt>=\\ 200809L\n" | |
360 | +" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n" | |
359 | 361 | |
360 | 362 | #. type: Plain text |
361 | 363 | #: build/C/man3/dirfd.3:55 |
@@ -373,21 +375,15 @@ msgid "" | ||
373 | 375 | "a result, it is useful only for functions which do not depend on or alter " |
374 | 376 | "the file position, such as B<fstat>(2) and B<fchdir>(2). It will be " |
375 | 377 | "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) が呼ばれたときに自動的にクローズされる。" | |
377 | 379 | |
378 | 380 | #. type: Plain text |
379 | 381 | #: 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." | |
384 | 382 | msgid "" |
385 | 383 | "On success, B<dirfd>() returns a file descriptor (a nonnegative integer). " |
386 | 384 | "On error, -1 is returned, and I<errno> is set to indicate the cause of the " |
387 | 385 | "error." |
388 | -msgstr "" | |
389 | -"成功すると、負でない値のファイルディスクリプターが返される。 エラーの場合は " | |
390 | -"-1 が返され、 I<errno> にエラーの原因を示す値が設定される。" | |
386 | +msgstr "成功すると、 B<dirfd>() はファイルディスクリプター (非負の整数) を返す。エラーの場合、 -1 が返され、 I<errno> にエラーの原因を示す値が設定される。" | |
391 | 387 | |
392 | 388 | #. glibc 2.8 |
393 | 389 | #. type: Plain text |
@@ -503,7 +499,7 @@ msgid "" | ||
503 | 499 | "These are not the interfaces you are interested in. Look at B<readdir>(3) " |
504 | 500 | "for the POSIX-conforming C library interface. This page documents the bare " |
505 | 501 | "kernel system call interfaces." |
506 | -msgstr "これらはあなたの関心を引くようなインターフェースではない。 POSIX 準拠の C ライブラリインターフェースについては B<readdir>(3) を見ること。 このページは、カーネルシステムコールの生のインターフェースについて 記載したものである。" | |
502 | +msgstr "これらはあなたの関心を引くようなインターフェースではないだろう。 POSIX 準拠の C ライブラリインターフェースについては B<readdir>(3) を参照のこと。このページは、カーネルシステムコールの生のインターフェースについて記載したものである。" | |
507 | 503 | |
508 | 504 | #. type: SS |
509 | 505 | #: build/C/man2/getdents.2:55 |
@@ -527,7 +523,7 @@ msgstr "" | ||
527 | 523 | #. type: Plain text |
528 | 524 | #: build/C/man2/getdents.2:72 |
529 | 525 | msgid "The I<linux_dirent> structure is declared as follows:" |
530 | -msgstr "I<linux_dirent> 構造体は以下のように宣言されている:" | |
526 | +msgstr "I<linux_dirent> 構造体は以下のように宣言されている。" | |
531 | 527 | |
532 | 528 | #. type: Plain text |
533 | 529 | #: build/C/man2/getdents.2:88 |
@@ -548,16 +544,16 @@ msgid "" | ||
548 | 544 | "}\n" |
549 | 545 | msgstr "" |
550 | 546 | "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" | |
556 | 552 | " offsetof(struct linux_dirent, d_name)) */\n" |
557 | 553 | " /*\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" | |
561 | 557 | " */\n" |
562 | 558 | "}\n" |
563 | 559 |
@@ -578,9 +574,7 @@ msgid "" | ||
578 | 574 | "I<d_type> is a byte at the end of the structure that indicates the file " |
579 | 575 | "type. It contains one of the following values (defined in I<E<lt>dirent." |
580 | 576 | "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>> で定義されている)。" | |
584 | 578 | |
585 | 579 | #. type: TP |
586 | 580 | #: build/C/man2/getdents.2:106 build/C/man3/readdir.3:120 |
@@ -668,7 +662,7 @@ msgstr "B<DT_UNKNOWN>" | ||
668 | 662 | #. type: Plain text |
669 | 663 | #: build/C/man2/getdents.2:130 |
670 | 664 | msgid "The file type is unknown." |
671 | -msgstr "ファイルタイプが不明である。" | |
665 | +msgstr "ファイルタイプが不明。" | |
672 | 666 | |
673 | 667 | #. type: Plain text |
674 | 668 | #: build/C/man2/getdents.2:140 |
@@ -677,11 +671,7 @@ msgid "" | ||
677 | 671 | "that was previously a zero-filled padding byte in the I<linux_dirent> " |
678 | 672 | "structure. Thus, on kernels up to and including 2.6.3, attempting to access " |
679 | 673 | "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>) が返される。" | |
685 | 675 | |
686 | 676 | #. kernel 2.6.27 |
687 | 677 | #. The same sentence is in getdents.2 |
@@ -691,11 +681,7 @@ msgid "" | ||
691 | 681 | "Currently, only some filesystems (among them: Btrfs, ext2, ext3, and ext4) " |
692 | 682 | "have full support for returning the file type in I<d_type>. All " |
693 | 683 | "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> が返された際に適切に処理できなければならない。" | |
699 | 685 | |
700 | 686 | #. type: SS |
701 | 687 | #: build/C/man2/getdents.2:149 |
@@ -705,23 +691,12 @@ msgstr "getdents64()" | ||
705 | 691 | |
706 | 692 | #. type: Plain text |
707 | 693 | #: 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." | |
714 | 694 | msgid "" |
715 | 695 | "The original Linux B<getdents>() system call did not handle large " |
716 | 696 | "filesystems and large file offsets. Consequently, Linux 2.4 added " |
717 | 697 | "B<getdents64>(), with wider types for the I<d_ino> and I<d_off> fields. In " |
718 | 698 | "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> フィールドを明示的にサポートされている。" | |
725 | 700 | |
726 | 701 | #. type: Plain text |
727 | 702 | #: build/C/man2/getdents.2:172 |
@@ -729,20 +704,11 @@ msgid "" | ||
729 | 704 | "The B<getdents64>() system call is like B<getdents>(), except that its " |
730 | 705 | "second argument is a pointer to a buffer containing structures of the " |
731 | 706 | "following type:" |
732 | -msgstr "" | |
707 | +msgstr "B<getdents64>() システムコールは B<getdents>() と似ているが、 2 番目の引き数が以下の構造体が入ったバッファへのポインターである点が異なる。" | |
733 | 708 | |
734 | 709 | #. type: Plain text |
735 | 710 | #: 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 | |
746 | 712 | msgid "" |
747 | 713 | "struct linux_dirent64 {\n" |
748 | 714 | " ino64_t d_ino; /* 64-bit inode number */\n" |
@@ -752,13 +718,12 @@ msgid "" | ||
752 | 718 | " char d_name[]; /* Filename (null-terminated) */\n" |
753 | 719 | "};\n" |
754 | 720 | 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" | |
762 | 727 | "};\n" |
763 | 728 | |
764 | 729 | #. type: Plain text |
@@ -784,7 +749,7 @@ msgstr "B<EFAULT>" | ||
784 | 749 | #. type: Plain text |
785 | 750 | #: build/C/man2/getdents.2:198 build/C/man2/readdir.2:107 |
786 | 751 | msgid "Argument points outside the calling process's address space." |
787 | -msgstr "引き数が呼び出したプロセスのアドレス空間外を指している。" | |
752 | +msgstr "引き数が呼び出し元プロセスのアドレス空間外を指している。" | |
788 | 753 | |
789 | 754 | #. type: Plain text |
790 | 755 | #: build/C/man2/getdents.2:201 build/C/man2/readdir.2:110 |
@@ -839,12 +804,12 @@ msgid "" | ||
839 | 804 | "B<getdents64>() on earlier glibc versions) requires the use of " |
840 | 805 | "B<syscall>(2). In that case you will need to define the I<linux_dirent> or " |
841 | 806 | "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> を自分で定義する必要があるだろう。" | |
843 | 808 | |
844 | 809 | #. type: Plain text |
845 | 810 | #: build/C/man2/getdents.2:231 |
846 | 811 | msgid "Probably, you want to use B<readdir>(3) instead of these system calls." |
847 | -msgstr "" | |
812 | +msgstr "おそらく、あなたが使いたいのは、これらのシステムコールではなく B<readdir>(3) の方であろう。" | |
848 | 813 | |
849 | 814 | #. type: Plain text |
850 | 815 | #: build/C/man2/getdents.2:234 |
@@ -916,7 +881,7 @@ msgid "" | ||
916 | 881 | "#include E<lt>sys/syscall.hE<gt>\n" |
917 | 882 | msgstr "" |
918 | 883 | "#define _GNU_SOURCE\n" |
919 | -"#include E<lt>dirent.hE<gt> /* Defines DT_* constants */\n" | |
884 | +"#include E<lt>dirent.hE<gt> /* DT_* 定数の定義 */\n" | |
920 | 885 | "#include E<lt>fcntl.hE<gt>\n" |
921 | 886 | "#include E<lt>stdint.hE<gt>\n" |
922 | 887 | "#include E<lt>stdio.hE<gt>\n" |
@@ -1241,10 +1206,7 @@ msgid "" | ||
1241 | 1206 | "The B<opendir>() function opens a directory stream corresponding to the " |
1242 | 1207 | "directory I<name>, and returns a pointer to the directory stream. The " |
1243 | 1208 | "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> に対応する ディレクトリストリームをオープンし、そのストリームへのポインターを返す。 ストリームの位置はディレクトリの先頭のエントリーに設定される。" | |
1248 | 1210 | |
1249 | 1211 | #. type: Plain text |
1250 | 1212 | #: build/C/man3/opendir.3:82 |
@@ -1297,7 +1259,7 @@ msgstr "B<EMFILE>" | ||
1297 | 1259 | msgid "" |
1298 | 1260 | "The per-process limit on the number of open file descriptors has been " |
1299 | 1261 | "reached." |
1300 | -msgstr "" | |
1262 | +msgstr "オープンされたファイルディスクリプター数がプロセス単位の上限に達している。" | |
1301 | 1263 | |
1302 | 1264 | #. type: TP |
1303 | 1265 | #: build/C/man3/opendir.3:102 |
@@ -1309,7 +1271,7 @@ msgstr "B<ENFILE>" | ||
1309 | 1271 | #: build/C/man3/opendir.3:105 |
1310 | 1272 | msgid "" |
1311 | 1273 | "The system-wide limit on the total number of open files has been reached." |
1312 | -msgstr "" | |
1274 | +msgstr "オープンされたファイルの総数がシステム全体の上限に達している。" | |
1313 | 1275 | |
1314 | 1276 | #. type: Plain text |
1315 | 1277 | #: build/C/man3/opendir.3:108 |
@@ -1366,16 +1328,14 @@ msgstr "" | ||
1366 | 1328 | #: build/C/man3/opendir.3:138 |
1367 | 1329 | msgid "" |
1368 | 1330 | "Filename entries can be read from a directory stream using B<readdir>(3)." |
1369 | -msgstr "" | |
1331 | +msgstr "ファイル名エントリーをディレクトリストリームから読み込むには B<readdir>(3) を使用する。" | |
1370 | 1332 | |
1371 | 1333 | #. type: Plain text |
1372 | 1334 | #: build/C/man3/opendir.3:141 |
1373 | 1335 | msgid "" |
1374 | 1336 | "The underlying file descriptor of the directory stream can be obtained using " |
1375 | 1337 | "B<dirfd>(3)." |
1376 | -msgstr "" | |
1377 | -"ディレクトリストリームに対応するファイルディスクリプターは B<dirfd>(3) を使" | |
1378 | -"用して得ることができる。" | |
1338 | +msgstr "ディレクトリストリームに対応するファイルディスクリプターは B<dirfd>(3) を使用して取得できる。" | |
1379 | 1339 | |
1380 | 1340 | #. type: Plain text |
1381 | 1341 | #: build/C/man3/opendir.3:155 |
@@ -1442,11 +1402,7 @@ msgid "" | ||
1442 | 1402 | "This is not the function you are interested in. Look at B<readdir>(3) for " |
1443 | 1403 | "the POSIX conforming C library interface. This page documents the bare " |
1444 | 1404 | "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) によって置き換えられた。" | |
1450 | 1406 | |
1451 | 1407 | #. type: Plain text |
1452 | 1408 | #: build/C/man2/readdir.2:64 |
@@ -1455,20 +1411,14 @@ msgid "" | ||
1455 | 1411 | "referred to by the file descriptor I<fd> into the buffer pointed to by " |
1456 | 1412 | "I<dirp>. The argument I<count> is ignored; at most one I<old_linux_dirent> " |
1457 | 1413 | "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> 構造体が読み出される。" | |
1463 | 1415 | |
1464 | 1416 | #. type: Plain text |
1465 | 1417 | #: build/C/man2/readdir.2:70 |
1466 | -#, fuzzy | |
1467 | -#| msgid "The I<old_linux_dirent> structure is declared as follows:" | |
1468 | 1418 | msgid "" |
1469 | 1419 | "The I<old_linux_dirent> structure is declared (privately in Linux kernel " |
1470 | 1420 | "file B<fs/readdir.c>) as follows:" |
1471 | -msgstr "I<old_linux_dirent> 構造体は以下のように宣言される:" | |
1421 | +msgstr "I<old_linux_dirent> 構造体は (Linux カーネルのファイル B<fs/readdir.c> で内部用として) 以下のように宣言される:" | |
1472 | 1422 | |
1473 | 1423 | #. type: Plain text |
1474 | 1424 | #: build/C/man2/readdir.2:79 |
@@ -1482,10 +1432,10 @@ msgid "" | ||
1482 | 1432 | "}\n" |
1483 | 1433 | msgstr "" |
1484 | 1434 | "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" | |
1489 | 1439 | "}\n" |
1490 | 1440 | |
1491 | 1441 | #. type: Plain text |
@@ -1495,7 +1445,7 @@ msgid "" | ||
1495 | 1445 | "the directory to this I<old_linux_dirent>. I<d_reclen> is the size of " |
1496 | 1446 | "I<d_name>, not counting the terminating null byte (\\(aq\\e0\\(aq). " |
1497 | 1447 | "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> はヌルで終端されたファイル名である。" | |
1499 | 1449 | |
1500 | 1450 | #. type: Plain text |
1501 | 1451 | #: build/C/man2/readdir.2:99 |
@@ -1509,7 +1459,7 @@ msgstr "" | ||
1509 | 1459 | #. type: Plain text |
1510 | 1460 | #: build/C/man2/readdir.2:118 |
1511 | 1461 | msgid "This system call is Linux-specific." |
1512 | -msgstr "このシステムコールは Linux 特有である。" | |
1462 | +msgstr "このシステムコールは Linux 固有である。" | |
1513 | 1463 | |
1514 | 1464 | #. type: Plain text |
1515 | 1465 | #: build/C/man2/readdir.2:127 |
@@ -1564,16 +1514,7 @@ msgstr "glibc の実装では I<dirent> 構造体は以下のように定義さ | ||
1564 | 1514 | |
1565 | 1515 | #. type: Plain text |
1566 | 1516 | #: 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 | |
1577 | 1518 | msgid "" |
1578 | 1519 | "struct dirent {\n" |
1579 | 1520 | " ino_t d_ino; /* Inode number */\n" |
@@ -1586,32 +1527,20 @@ msgid "" | ||
1586 | 1527 | msgstr "" |
1587 | 1528 | "struct dirent {\n" |
1588 | 1529 | " ino_t d_ino; /* inode 番号 */\n" |
1589 | -" off_t d_off; /* オフセットではない; 注意を参照 */\n" | |
1530 | +" off_t d_off; /* オフセットではない; 下記を参照 */\n" | |
1590 | 1531 | " unsigned short d_reclen; /* このレコードの長さ */\n" |
1591 | 1532 | " unsigned char d_type; /* ファイル種別。全ファイルシステム */\n" |
1592 | 1533 | " でサポートされているわけではない */\n" |
1593 | -" char d_name[256]; /* ファイル名 */\n" | |
1534 | +" char d_name[256]; /* ヌル終端されたファイル名 */\n" | |
1594 | 1535 | "};\n" |
1595 | 1536 | |
1596 | 1537 | #. type: Plain text |
1597 | 1538 | #: 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." | |
1605 | 1539 | msgid "" |
1606 | 1540 | "The only fields in the I<dirent> structure that are mandated by POSIX.1 are " |
1607 | 1541 | "I<d_name> and I<d_ino>. The other fields are unstandardized, and not " |
1608 | 1542 | "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> だけである。他のフィールドは非標準であり、すべてのシステムで存在するわけではない。 詳細については、下記の「注意」を参照のこと。" | |
1615 | 1544 | |
1616 | 1545 | #. type: Plain text |
1617 | 1546 | #: build/C/man3/readdir.3:83 |
@@ -1626,10 +1555,8 @@ msgstr "I<d_ino>" | ||
1626 | 1555 | |
1627 | 1556 | #. type: Plain text |
1628 | 1557 | #: build/C/man3/readdir.3:86 |
1629 | -#, fuzzy | |
1630 | -#| msgid "This is a regular file." | |
1631 | 1558 | msgid "This is the inode number of the file." |
1632 | -msgstr "通常のファイルである。" | |
1559 | +msgstr "ファイルの inode 番号である。" | |
1633 | 1560 | |
1634 | 1561 | #. type: TP |
1635 | 1562 | #: build/C/man3/readdir.3:86 |
@@ -1647,13 +1574,7 @@ msgid "" | ||
1647 | 1574 | "directory offset on modern filesystems. Applications should treat this " |
1648 | 1575 | "field as an opaque value, making no assumptions about its contents; see also " |
1649 | 1576 | "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) も参照。" | |
1657 | 1578 | |
1658 | 1579 | #. type: TP |
1659 | 1580 | #: build/C/man3/readdir.3:100 |
@@ -1666,7 +1587,7 @@ msgstr "I<d_reclen>" | ||
1666 | 1587 | msgid "" |
1667 | 1588 | "This is the size (in bytes) of the returned record. This may not match the " |
1668 | 1589 | "size of the structure definition shown above; see NOTES." |
1669 | -msgstr "" | |
1590 | +msgstr "返されたレコードの (バイト単位の) サイズである。この値は上記の構造体の定義のサイズとは一致しないかもしれない。「注意」を参照。" | |
1670 | 1591 | |
1671 | 1592 | #. type: TP |
1672 | 1593 | #: build/C/man3/readdir.3:105 |
@@ -1680,7 +1601,7 @@ msgid "" | ||
1680 | 1601 | "This field contains a value indicating the file type, making it possible to " |
1681 | 1602 | "avoid the expense of calling B<lstat>(2) if further actions depend on the " |
1682 | 1603 | "type of the file." |
1683 | -msgstr "" | |
1604 | +msgstr "ファイル種別を示す値が格納される。これにより、これ以降の処理がファイル種別に依存している場合に B<lstat>(2) を呼び出すコストを避けることができる。" | |
1684 | 1605 | |
1685 | 1606 | #. type: Plain text |
1686 | 1607 | #: build/C/man3/readdir.3:119 |
@@ -1689,14 +1610,12 @@ msgid "" | ||
1689 | 1610 | "versions since 2.19, or B<_BSD_SOURCE> on glibc versions 2.19 and earlier), " |
1690 | 1611 | "glibc defines the following macro constants for the value returned in " |
1691 | 1612 | "I<d_type>:" |
1692 | -msgstr "" | |
1613 | +msgstr "適切な機能検査マクロ (glibc 2.19 以降では B<_DEFAULT_SOURCE>、 glibc 2.19 以前では B<_BSD_SOURCE>) が定義されている場合、 glibc は I<d_type> の値に対応する以下のマクロ定数を定義する。" | |
1693 | 1614 | |
1694 | 1615 | #. type: Plain text |
1695 | 1616 | #: build/C/man3/readdir.3:144 |
1696 | -#, fuzzy | |
1697 | -#| msgid "The file type is unknown." | |
1698 | 1617 | msgid "The file type could not be determined." |
1699 | -msgstr "ファイルタイプが不明である。" | |
1618 | +msgstr "ファイル種別が判別できなかった。" | |
1700 | 1619 | |
1701 | 1620 | #. type: TP |
1702 | 1621 | #: build/C/man3/readdir.3:154 |
@@ -1707,7 +1626,7 @@ msgstr "I<d_name>" | ||
1707 | 1626 | #. type: Plain text |
1708 | 1627 | #: build/C/man3/readdir.3:158 |
1709 | 1628 | msgid "This field contains the null terminated filename. I<See NOTES>." |
1710 | -msgstr "" | |
1629 | +msgstr "このフィールドはヌル終端されたファイル名である。「注意」を参照。" | |
1711 | 1630 | |
1712 | 1631 | #. type: Plain text |
1713 | 1632 | #: build/C/man3/readdir.3:164 |
@@ -1720,22 +1639,10 @@ msgstr "" | ||
1720 | 1639 | |
1721 | 1640 | #. type: Plain text |
1722 | 1641 | #: 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." | |
1730 | 1642 | msgid "" |
1731 | 1643 | "On success, B<readdir>() returns a pointer to a I<dirent> structure. (This " |
1732 | 1644 | "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) しようとしないこと。)" | |
1739 | 1646 | |
1740 | 1647 | #. type: Plain text |
1741 | 1648 | #: build/C/man3/readdir.3:187 |
@@ -1745,7 +1652,7 @@ msgid "" | ||
1745 | 1652 | "appropriately. To distinguish end of stream from an error, set I<errno> to " |
1746 | 1653 | "zero before calling B<readdir>() and then check the value of I<errno> if " |
1747 | 1654 | "NULL is returned." |
1748 | -msgstr "" | |
1655 | +msgstr "ディレクトリストリームの末尾に達した場合には、NULL が返され、 I<errno> は変化しない。 エラーが発生した場合、NULL が返され、 I<errno> が適切に設定される。エラーからストリームの末尾を区別するには、 B<readdir>() を呼び出す前に I<errno> を 0 に設定しておき、 NULL が返された場合に I<errno> の値を確認すればよい。" | |
1749 | 1656 | |
1750 | 1657 | #. type: tbl table |
1751 | 1658 | #: build/C/man3/readdir.3:201 |
@@ -1773,14 +1680,12 @@ msgid "" | ||
1773 | 1680 | "B<readdir_r>(3) function. It is expected that a future version of POSIX.1 " |
1774 | 1681 | "will require that B<readdir>() be thread-safe when concurrently employed on " |
1775 | 1682 | "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>() は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。" | |
1777 | 1684 | |
1778 | 1685 | #. type: Plain text |
1779 | 1686 | #: build/C/man3/readdir.3:229 |
1780 | -#, fuzzy | |
1781 | -#| msgid "Invalid directory stream descriptor I<dirp>." | |
1782 | 1687 | msgid "A directory stream is opened using B<opendir>(3)." |
1783 | -msgstr "ディレクトリストリームディスクリプター I<dirp> が無効である。" | |
1688 | +msgstr "ディレクトリストリームは B<opendir>(3) を使ってオープンする。" | |
1784 | 1689 | |
1785 | 1690 | #. type: Plain text |
1786 | 1691 | #: build/C/man3/readdir.3:234 |
@@ -1788,19 +1693,11 @@ msgid "" | ||
1788 | 1693 | "The order in which filenames are read by successive calls to B<readdir>() " |
1789 | 1694 | "depends on the filesystem implementation; it is unlikely that the names will " |
1790 | 1695 | "be sorted in any fashion." |
1791 | -msgstr "" | |
1696 | +msgstr "連続する B<readdir>() の呼び出しで読み込まれるファイル名の順序は、ファイルシステムの実装に依存する。名前が何らかの方法でソートされていることはありえない。" | |
1792 | 1697 | |
1793 | 1698 | #. POSIX.1-2001, POSIX.1-2008 |
1794 | 1699 | #. type: Plain text |
1795 | 1700 | #: 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." | |
1804 | 1701 | msgid "" |
1805 | 1702 | "Only the fields I<d_name> and (as an XSI extension) I<d_ino> are specified " |
1806 | 1703 | "in POSIX.1. Other than Linux, the I<d_type> field is available mainly only " |
@@ -1809,26 +1706,20 @@ msgid "" | ||
1809 | 1706 | "not defined in POSIX.1 by testing whether the macros " |
1810 | 1707 | "B<_DIRENT_HAVE_D_NAMLEN>, B<_DIRENT_HAVE_D_RECLEN>, B<_DIRENT_HAVE_D_OFF>, " |
1811 | 1708 | "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> が定義されているかをテストすればよい。" | |
1819 | 1710 | |
1820 | 1711 | #. type: SS |
1821 | 1712 | #: build/C/man3/readdir.3:255 |
1822 | 1713 | #, no-wrap |
1823 | 1714 | msgid "The d_name field" |
1824 | -msgstr "" | |
1715 | +msgstr "d_name フィールド" | |
1825 | 1716 | |
1826 | 1717 | #. type: Plain text |
1827 | 1718 | #: build/C/man3/readdir.3:262 |
1828 | 1719 | msgid "" |
1829 | 1720 | "The I<dirent> structure definition shown above is taken from the glibc " |
1830 | 1721 | "headers, and shows the I<d_name> field with a fixed size." |
1831 | -msgstr "" | |
1722 | +msgstr "上記の I<dirent> 構造体の定義は glibc のヘッダーからの引用であり、 I<d_name> フィールドは固定サイズとなっている。" | |
1832 | 1723 | |
1833 | 1724 | #. type: Plain text |
1834 | 1725 | #: build/C/man3/readdir.3:272 |
@@ -1837,7 +1728,7 @@ msgid "" | ||
1837 | 1728 | "I<d_name> field. POSIX defines it as I<char\\ d_name[]>, a character array " |
1838 | 1729 | "of unspecified size, with at most B<NAME_MAX> characters preceding the " |
1839 | 1730 | "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> 文字が入る。" | |
1841 | 1732 | |
1842 | 1733 | #. type: Plain text |
1843 | 1734 | #: build/C/man3/readdir.3:286 |
@@ -1847,12 +1738,12 @@ msgid "" | ||
1847 | 1738 | "I<strlen(d_name)> instead. (On some systems, this field is defined as I<char" |
1848 | 1739 | "\\ d_name[1]>!) By implication, the use I<sizeof(struct dirent)> to capture " |
1849 | 1740 | "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)> を使用することも間違いであることを暗に示している。" | |
1851 | 1742 | |
1852 | 1743 | #. type: Plain text |
1853 | 1744 | #: build/C/man3/readdir.3:288 |
1854 | 1745 | msgid "Note that while the call" |
1855 | -msgstr "" | |
1746 | +msgstr "多くのファイルシステムでは、" | |
1856 | 1747 | |
1857 | 1748 | #. type: Plain text |
1858 | 1749 | #: build/C/man3/readdir.3:290 |
@@ -1868,7 +1759,7 @@ msgid "" | ||
1868 | 1759 | "returned in I<d_name> can actually exceed this size. In such cases, the " |
1869 | 1760 | "I<d_reclen> field will contain a value that exceeds the size of the glibc " |
1870 | 1761 | "I<dirent> structure shown above." |
1871 | -msgstr "" | |
1762 | +msgstr "の呼び出しは値 255 を返すが、いくつかのファイルシステム (例えば CIFS や Windows SMB サーバーなど) では、(正しい動作なのだが) I<d_name> で返されるヌル終端されたファイル名は実際にはこのサイズを超える場合がある点に注意すること。このような場合、 I<d_reclen> フィールドは、上記の glibc I<dirent> 構造体のサイズよりも大きな値となる。" | |
1872 | 1763 | |
1873 | 1764 | #. type: Plain text |
1874 | 1765 | #: build/C/man3/readdir.3:314 |
@@ -1913,34 +1804,22 @@ msgid "" | ||
1913 | 1804 | "_POSIX_C_SOURCE\n" |
1914 | 1805 | " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n" |
1915 | 1806 | msgstr "" |
1807 | +"_POSIX_C_SOURCE\n" | |
1808 | +" || /* glibc 2.19 以前: */ _BSD_SOURCE || _SVID_SOURCE\n" | |
1916 | 1809 | |
1917 | 1810 | #. type: Plain text |
1918 | 1811 | #: build/C/man3/readdir_r.3:53 |
1919 | 1812 | msgid "This function is deprecated; use B<readdir>(3) instead." |
1920 | -msgstr "" | |
1813 | +msgstr "この関数は非推奨である。代わりに B<readdir>(3) を使用すること。" | |
1921 | 1814 | |
1922 | 1815 | #. type: Plain text |
1923 | 1816 | #: 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>." | |
1932 | 1817 | msgid "" |
1933 | 1818 | "The B<readdir_r>() function was invented as a reentrant version of " |
1934 | 1819 | "B<readdir>(3). It reads the next directory entry from the directory stream " |
1935 | 1820 | "I<dirp>, and returns it in the caller-allocated buffer pointed to by " |
1936 | 1821 | "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) を参照。" | |
1944 | 1823 | |
1945 | 1824 | #. type: Plain text |
1946 | 1825 | #: build/C/man3/readdir_r.3:72 |
@@ -1948,7 +1827,7 @@ msgid "" | ||
1948 | 1827 | "A pointer to the returned buffer is placed in I<*result>; if the end of the " |
1949 | 1828 | "directory stream was encountered, then NULL is instead returned in " |
1950 | 1829 | "I<*result>." |
1951 | -msgstr "" | |
1830 | +msgstr "結果を返すバッファへのポインターが I<*result> に格納される。ディレクトリストリームの末尾に達した場合は、NULL が代わりに I<*result> で返される。" | |
1952 | 1831 | |
1953 | 1832 | #. type: Plain text |
1954 | 1833 | #: build/C/man3/readdir_r.3:80 |
@@ -1956,7 +1835,7 @@ msgid "" | ||
1956 | 1835 | "It is recommended that applications use B<readdir>(3) instead of " |
1957 | 1836 | "B<readdir_r>(). Furthermore, since version 2.24, glibc deprecates " |
1958 | 1837 | "B<readdir_r>(). The reasons are as follows:" |
1959 | -msgstr "" | |
1838 | +msgstr "アプリケーションでは B<readdir_r>() の代わりに B<readdir>(3) を使用することを推奨する。さらに、glibc 2.24 以降では B<readdir_r>() は非推奨となっている。理由は以下の通りである。" | |
1960 | 1839 | |
1961 | 1840 | #. type: IP |
1962 | 1841 | #: build/C/man3/readdir_r.3:80 build/C/man3/readdir_r.3:87 |
@@ -1971,7 +1850,7 @@ msgid "" | ||
1971 | 1850 | "On systems where B<NAME_MAX> is undefined, calling B<readdir_r>() may be " |
1972 | 1851 | "unsafe because the interface does not allow the caller to specify the length " |
1973 | 1852 | "of the buffer used for the returned directory entry." |
1974 | -msgstr "" | |
1853 | +msgstr "B<NAME_MAX> が定義されていないシステムでは、 B<readdir_r>() の呼び出しは安全ではない。このインターフェースでは、呼び出し元がディレクトリエントリーを返す際に使用されるバッファの長さを指定することができないからである。" | |
1975 | 1854 | |
1976 | 1855 | #. type: Plain text |
1977 | 1856 | #: build/C/man3/readdir_r.3:101 |
@@ -1982,7 +1861,7 @@ msgid "" | ||
1982 | 1861 | "directory entry has been read>. On some other systems, B<readdir_r>() may " |
1983 | 1862 | "return a success status, but the returned I<d_name> field may not be null " |
1984 | 1863 | "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> フィールドがヌル終端されていなかったり、文字列が途中までで切り詰められていたりすることがある。" | |
1986 | 1865 | |
1987 | 1866 | #. type: Plain text |
1988 | 1867 | #: build/C/man3/readdir_r.3:118 |
@@ -1995,7 +1874,7 @@ msgid "" | ||
1995 | 1874 | "cases where multiple threads must read from the same directory stream, using " |
1996 | 1875 | "B<readdir>(3) with external synchronization is still preferable to the use " |
1997 | 1876 | "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) を使う方が推奨される。" | |
1999 | 1878 | |
2000 | 1879 | #. FIXME . |
2001 | 1880 | #. http://www.austingroupbugs.net/view.php?id=696 |
@@ -2005,7 +1884,7 @@ msgid "" | ||
2005 | 1884 | "It is expected that a future version of POSIX.1 will make B<readdir_r>() " |
2006 | 1885 | "obsolete, and require that B<readdir>(3) be thread-safe when concurrently " |
2007 | 1886 | "employed on different directory streams." |
2008 | -msgstr "" | |
1887 | +msgstr "POSIX.1 の将来のバージョンでは、 B<readdir_r>() は廃止予定 (obsolete) となり、 B<readdir>(3) は異なるディレクトリストリームに対して同時に使用された際にスレッドセーフであることが必須となる予定である。" | |
2009 | 1888 | |
2010 | 1889 | #. type: Plain text |
2011 | 1890 | #: build/C/man3/readdir_r.3:136 |
@@ -2028,7 +1907,7 @@ msgstr "B<ENAMETOOLONG>" | ||
2028 | 1907 | #. type: Plain text |
2029 | 1908 | #: build/C/man3/readdir_r.3:143 |
2030 | 1909 | msgid "A directory entry whose name was too long to be read was encountered." |
2031 | -msgstr "" | |
1910 | +msgstr "読み込むには名前が長過ぎるディレクトリエントリーに遭遇した。" | |
2032 | 1911 | |
2033 | 1912 | #. type: tbl table |
2034 | 1913 | #: build/C/man3/readdir_r.3:153 |
@@ -2183,13 +2062,7 @@ msgid "" | ||
2183 | 2062 | "the comparison function I<compar>(), and collected in array I<namelist> " |
2184 | 2063 | "which is allocated via B<malloc>(3). If I<filter> is NULL, all entries are " |
2185 | 2064 | "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 ならば、すべてのエントリーが選択される。" | |
2193 | 2066 | |
2194 | 2067 | #. type: Plain text |
2195 | 2068 | #: build/C/man3/scandir.3:139 |
@@ -2198,11 +2071,7 @@ msgid "" | ||
2198 | 2071 | "comparison function I<compar>(). The former sorts directory entries using " |
2199 | 2072 | "B<strcoll>(3), the latter using B<strverscmp>(3) on the strings I<(*a)-" |
2200 | 2073 | "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) を用いる。" | |
2206 | 2075 | |
2207 | 2076 | #. type: SS |
2208 | 2077 | #: build/C/man3/scandir.3:139 |
@@ -2215,9 +2084,7 @@ msgstr "scandirat()" | ||
2215 | 2084 | msgid "" |
2216 | 2085 | "The B<scandirat>() function operates in exactly the same way as " |
2217 | 2086 | "B<scandir>(), except for the differences described here." |
2218 | -msgstr "" | |
2219 | -"B<scandirat>() 関数は B<scandir>() と全く同様の動作をする。差分についてはここ" | |
2220 | -"で説明する。" | |
2087 | +msgstr "B<scandirat>() 関数は B<scandir>() と全く同様の動作をする。ここでは差分を説明する。" | |
2221 | 2088 | |
2222 | 2089 | #. type: Plain text |
2223 | 2090 | #: build/C/man3/scandir.3:155 |
@@ -2226,11 +2093,7 @@ msgid "" | ||
2226 | 2093 | "relative to the directory referred to by the file descriptor I<dirfd> " |
2227 | 2094 | "(rather than relative to the current working directory of the calling " |
2228 | 2095 | "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>() の場合は、相対パス名は、呼び出したプロセスのカレントワーキングディレクトリからの相対パスと解釈される。)" | |
2234 | 2097 | |
2235 | 2098 | #. type: Plain text |
2236 | 2099 | #: build/C/man3/scandir.3:167 |
@@ -2251,7 +2114,7 @@ msgstr "I<dirp> が絶対パスの場合、I<dirfd> は無視される。" | ||
2251 | 2114 | #. type: Plain text |
2252 | 2115 | #: build/C/man3/scandir.3:178 |
2253 | 2116 | 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) を参照のこと。" | |
2255 | 2118 | |
2256 | 2119 | #. type: Plain text |
2257 | 2120 | #: build/C/man3/scandir.3:186 |
@@ -2269,10 +2132,7 @@ msgid "" | ||
2269 | 2132 | "The B<alphasort>() and B<versionsort>() functions return an integer less " |
2270 | 2133 | "than, equal to, or greater than zero if the first argument is considered to " |
2271 | 2134 | "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 より [小さい/等しい/大きい] 整数値を返す。" | |
2276 | 2136 | |
2277 | 2137 | #. type: Plain text |
2278 | 2138 | #: build/C/man3/scandir.3:198 |
@@ -2287,7 +2147,7 @@ msgstr "I<dirp> で指定されたパスがディレクトリではない。" | ||
2287 | 2147 | #. type: Plain text |
2288 | 2148 | #: build/C/man3/scandir.3:207 |
2289 | 2149 | msgid "The following additional errors can occur for B<scandirat>():" |
2290 | -msgstr "B<scandirat>() では追加で以下のエラーも発生する:" | |
2150 | +msgstr "B<scandirat>() では、上記に加えて以下のエラーも発生する。" | |
2291 | 2151 | |
2292 | 2152 | #. type: Plain text |
2293 | 2153 | #: build/C/man3/scandir.3:211 |
@@ -2381,14 +2241,14 @@ msgid "" | ||
2381 | 2241 | "safe I<const struct dirent\\ **>, and glibc 2.10 changed the definition of " |
2382 | 2242 | "B<alphasort>() (and the nonstandard B<versionsort>()) to match the " |
2383 | 2243 | "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>()) の定義を標準に合致するように変更した。" | |
2385 | 2245 | |
2386 | 2246 | #. type: Plain text |
2387 | 2247 | #: build/C/man3/scandir.3:292 |
2388 | 2248 | msgid "" |
2389 | 2249 | "The program below prints a list of the files in the current directory in " |
2390 | 2250 | "reverse order." |
2391 | -msgstr "" | |
2251 | +msgstr "以下のプログラムは、現在のディレクトリ内のファイル一覧を逆順で表示する。" | |
2392 | 2252 | |
2393 | 2253 | #. type: Plain text |
2394 | 2254 | #: build/C/man3/scandir.3:299 |
@@ -2474,9 +2334,7 @@ msgstr "SEEKDIR" | ||
2474 | 2334 | msgid "" |
2475 | 2335 | "seekdir - set the position of the next readdir() call in the directory " |
2476 | 2336 | "stream." |
2477 | -msgstr "" | |
2478 | -"seekdir - 次の readdir() 呼び出しのために、ディレクトリストリーム中の位置を " | |
2479 | -"設定する" | |
2337 | +msgstr "seekdir - 次の readdir() 呼び出し用にディレクトリストリーム中の位置を設定する" | |
2480 | 2338 | |
2481 | 2339 | #. type: Plain text |
2482 | 2340 | #: build/C/man3/seekdir.3:40 |
@@ -2493,6 +2351,10 @@ msgid "" | ||
2493 | 2351 | " || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n" |
2494 | 2352 | " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n" |
2495 | 2353 | 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" | |
2496 | 2358 | |
2497 | 2359 | #. type: Plain text |
2498 | 2360 | #: build/C/man3/seekdir.3:62 |
@@ -2500,15 +2362,12 @@ msgid "" | ||
2500 | 2362 | "The B<seekdir>() function sets the location in the directory stream from " |
2501 | 2363 | "which the next B<readdir>(2) call will start. The I<loc> argument should " |
2502 | 2364 | "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) の呼び出しで返された値を渡すべきである。" | |
2507 | 2366 | |
2508 | 2367 | #. type: Plain text |
2509 | 2368 | #: build/C/man3/seekdir.3:66 |
2510 | 2369 | msgid "The B<seekdir>() function returns no value." |
2511 | -msgstr "B<seekdir>() 関数は、値を返さない。" | |
2370 | +msgstr "B<seekdir>() 関数は、値を返さない。" | |
2512 | 2371 | |
2513 | 2372 | #. type: tbl table |
2514 | 2373 | #: build/C/man3/seekdir.3:76 |
@@ -2528,11 +2387,7 @@ msgid "" | ||
2528 | 2387 | "POSIX.1-2001 specifies I<long>, and this is the type used since glibc " |
2529 | 2388 | "2.1.2. See B<telldir>(3) for information on why you should be careful in " |
2530 | 2389 | "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) を参照のこと。" | |
2536 | 2391 | |
2537 | 2392 | #. type: Plain text |
2538 | 2393 | #: build/C/man3/seekdir.3:100 |
@@ -2569,15 +2424,17 @@ msgid "" | ||
2569 | 2424 | " || /* Glibc since 2.19: */ _DEFAULT_SOURCE\n" |
2570 | 2425 | " || /* Glibc versions E<lt>= 2.19: */ _BSD_SOURCE || _SVID_SOURCE\n" |
2571 | 2426 | 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" | |
2572 | 2431 | |
2573 | 2432 | #. type: Plain text |
2574 | 2433 | #: build/C/man3/telldir.3:54 |
2575 | 2434 | msgid "" |
2576 | 2435 | "The B<telldir>() function returns the current location associated with the " |
2577 | 2436 | "directory stream I<dirp>." |
2578 | -msgstr "" | |
2579 | -"B<telldir>() 関数は、ディレクトリストリーム I<dirp> に結びつけられた 現在位" | |
2580 | -"置を返す。" | |
2437 | +msgstr "B<telldir>() 関数は、ディレクトリストリーム I<dirp> の現在位置を返す。" | |
2581 | 2438 | |
2582 | 2439 | #. type: Plain text |
2583 | 2440 | #: build/C/man3/telldir.3:62 |
@@ -2585,9 +2442,7 @@ msgid "" | ||
2585 | 2442 | "On success, the B<telldir>() function returns the current location in the " |
2586 | 2443 | "directory stream. On error, -1 is returned, and I<errno> is set " |
2587 | 2444 | "appropriately." |
2588 | -msgstr "" | |
2589 | -"成功した場合、 B<telldir>() 関数はディレクトリストリーム中の現在位置を返" | |
2590 | -"す。 エラーの場合、-1 が返されて、 I<errno> が適切に設定される。" | |
2445 | +msgstr "成功した場合、 B<telldir>() 関数はディレクトリストリーム中の現在位置を返す。 エラーの場合、-1 が返り、 I<errno> が適切に設定される。" | |
2591 | 2446 | |
2592 | 2447 | #. type: tbl table |
2593 | 2448 | #: build/C/man3/telldir.3:76 |
@@ -2601,10 +2456,7 @@ msgid "" | ||
2601 | 2456 | "In glibc up to version 2.1.1, the return type of B<telldir>() was " |
2602 | 2457 | "I<off_t>. POSIX.1-2001 specifies I<long>, and this is the type used since " |
2603 | 2458 | "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> になっている。" | |
2608 | 2460 | |
2609 | 2461 | #. https://lwn.net/Articles/544298/ |
2610 | 2462 | #. type: Plain text |
@@ -2617,15 +2469,7 @@ msgid "" | ||
2617 | 2469 | "\"cookie\" that is used by the implementation to derive a position within a " |
2618 | 2470 | "directory. Application programs should treat this strictly as an opaque " |
2619 | 2471 | "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\" となる。アプリケーションプログラムでは、必ずこの値を内容の意識せず単なる値として扱うべきであり、その内容について前提を持つべきでは「ない」。" | |
2629 | 2473 | |
2630 | 2474 | #. type: Plain text |
2631 | 2475 | #: build/C/man3/telldir.3:111 |
@@ -2635,91 +2479,3 @@ msgid "" | ||
2635 | 2479 | msgstr "" |
2636 | 2480 | "B<closedir>(3), B<opendir>(3), B<readdir>(3), B<rewinddir>(3), " |
2637 | 2481 | "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" |
@@ -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 |
@@ -27,16 +27,6 @@ | ||
27 | 27 | <TR class="over80"><TD>bootparam.7</TD><TD>23/146</TD><TD>84.25</TD></TR> |
28 | 28 | <TR class="over80"><TD>reboot.2</TD><TD>7/60</TD><TD>88.33</TD></TR> |
29 | 29 | <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> | |
40 | 30 | <TR class="title"><TD COLSPAN=3>epoll</TD></TR> |
41 | 31 | <TR class="over80"><TD>epoll.7</TD><TD>14/111</TD><TD>87.39</TD></TR> |
42 | 32 | <TR class="over80"><TD>epoll_create.2</TD><TD>2/42</TD><TD>95.24</TD></TR> |
@@ -630,9 +620,9 @@ | ||
630 | 620 | <TR class="title"><TD COLSPAN=3>Summary</TD></TR> |
631 | 621 | <TR><TD COLSPAN=3> |
632 | 622 | <UL> |
633 | -<LI>Total uncompleted: 571 | |
634 | -<LI>>=80%: 400 | |
635 | -<LI>>=70%: 44 | |
623 | +<LI>Total uncompleted: 562 | |
624 | +<LI>>=80%: 393 | |
625 | +<LI>>=70%: 42 | |
636 | 626 | <LI>>=60%: 36 |
637 | 627 | <LI><60%: 91 |
638 | 628 | </UL> |