OSDN Git Service

Update README
[linuxjm/LDP_man-pages.git] / draft / man3 / fts.3
index 68358ac..8e5be0e 100644 (file)
@@ -71,8 +71,8 @@ fts, fts_open, fts_read, fts_children, fts_set, fts_close \- ファイル階層
 .SH 説明
 fts 関数群は、ファイル階層をたどるために提供されている。 簡単に概略すると次のようになる。 \fBfts_open\fP()  関数は、他の fts
 関数群に渡すための、ファイル階層の「ハンドル」を返す。 \fBfts_read\fP()  関数は、ファイル階層中にある 1
-つのファイルを記述する構造体へのポインタを返す。 \fBfts_children\fP()  関数は、階層中のディレクトリにあるファイルを記述する構造体の
-リンクリストへのポインタを返す。 一般にディレクトリは、 preorder (正方向:下の階層のディレクトリをたどる前) と postorder
\81¤ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92è¨\98è¿°ã\81\99ã\82\8bæ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 \fBfts_children\fP()  é\96¢æ\95°ã\81¯ã\80\81é\9a\8e層中ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81«ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\92è¨\98è¿°ã\81\99ã\82\8bæ§\8bé\80 ä½\93ã\81®
\83ªã\83³ã\82¯ã\83ªã\82¹ã\83\88ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ä¸\80è\88¬ã\81«ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\81¯ã\80\81 preorder (æ­£æ\96¹å\90\91ï¼\9aä¸\8bã\81®é\9a\8e層ã\81®ã\83\87ã\82£ã\83¬ã\82¯ã\83\88ã\83ªã\82\92ã\81\9fã\81©ã\82\8bå\89\8d) ã\81¨ postorder
 (逆方向:下の階層のディレクトリをすべてたどった後) という、 異なる方向で 2 回たどられる。ファイルは 1 回たどられる。
 ディレクトリ階層を「論理的に」(シンボリックリングが指すファイルを見て) 辿ることも、 物理的に (シンボリックリンク自身を見て)
 辿ることも可能である。 また、階層中の移動の道筋を指示すること・ 余分なものを取り除くこと・階層の一部を再びたどることが可能である。
@@ -109,7 +109,7 @@ typedef struct _ftsent {
 \fIfts_info\fP
 .\" .Bl  -tag -width FTS_DEFAULT
 このフィールドは、返された \fIFTSENT\fP 構造体とファイルを説明する以下のフラグのいずれかを表している。 エラーのないディレクトリ
-(\fBFTS_D\fP), ã\81®å ´å\90\88ã\81¯ä¾\8bå¤\96ã\81¨ã\81\97ã\81¦ã\80\81ã\81\9dã\82\8c以å¤\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\81¯çµ\82端ã\81§ã\81\82ã\82\8bã\80\82 ã\81¤ã\81¾ã\82\8aã\80\81ã\82¨ã\83³ã\83\88ã\83ªは再びたどられることもなく、
+(\fBFTS_D\fP), ã\81®å ´å\90\88ã\81¯ä¾\8bå¤\96ã\81¨ã\81\97ã\81¦ã\80\81ã\81\9dã\82\8c以å¤\96ã\81®ã\81\99ã\81¹ã\81¦ã\81®ã\82¨ã\83³ã\83\88ã\83ªã\83¼ã\81¯çµ\82端ã\81§ã\81\82ã\82\8bã\80\82 ã\81¤ã\81¾ã\82\8aã\80\81ã\82¨ã\83³ã\83\88ã\83ªã\83¼は再びたどられることもなく、
 それより下の階層がたどられることもない。
 .RS 12
 .TP  12
@@ -188,12 +188,12 @@ postorder でたどられるディレクトリ。 \fIFTSENT\fP 構造体の内
 .TP 
 \fIfts_parent\fP
 現在のファイルのすぐ上の階層にあるファイル (つまり、現在のファイルがメンバーになっているディレクトリ) を参照する \fIFTSENT\fP
-構造体へのポインタ。 最初の出発点に対しても、親となる構造体は与えられる。 しかし、 \fIfts_level\fP, \fIfts_number\fP,
+æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\80\82 æ\9c\80å\88\9dã\81®å\87ºç\99ºç\82¹ã\81«å¯¾ã\81\97ã\81¦ã\82\82ã\80\81親ã\81¨ã\81ªã\82\8bæ§\8bé\80 ä½\93ã\81¯ä¸\8eã\81\88ã\82\89ã\82\8cã\82\8bã\80\82 ã\81\97ã\81\8bã\81\97ã\80\81 \fIfts_level\fP, \fIfts_number\fP,
 \fIfts_pointer\fP フィールドのみの初期化しか保証されない。
 .TP 
 \fIfts_link\fP
-\fBfts_children\fP()  から返される場合、 \fIfts_link\fP フィールドはディレクトリメンバーの NUL
-終端されたリンクリストの形式で、 次の構造体を指し示す。 それ以外の場合、 \fIfts_link\fP フィールドは定義されない。
+\fBfts_children\fP()  から返される場合、 \fIfts_link\fP フィールドはディレクトリメンバーのヌル終端されたリンクリストの形式で、
+次の構造体を指し示す。 それ以外の場合、 \fIfts_link\fP フィールドは定義されない。
 .TP 
 \fIfts_cycle\fP
 2 つのディレクトリにハードリンクが張られているため、 または、シンボリックリンクがあるディレクトリを指しているために、
@@ -203,17 +203,17 @@ postorder でたどられるディレクトリ。 \fIFTSENT\fP 構造体の内
 .TP 
 \fIfts_statp\fP
 .\" .El
-このファイルの \fBstat\fP(2)  情報へのポインタ。
\81\93ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81® \fBstat\fP(2)  æ\83\85å ±ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\80\82
 .PP
 ファイル階層中のすべてのファイルのパスに対して、 ただ 1 つのバッファーが使われる。 したがって、 \fIfts_path\fP と
-\fIfts_accpath\fP フィールドは、 \fBfts_read\fP()  によって返された最も新しいファイルに対して「のみ」 NULL
-終端されることが保証される。 これらのフィールドを、他の \fIFTSENT\fP 構造体で表現されるファイルを参照するために使うには、 \fIFTSENT\fP
-æ§\8bé\80 ä½\93ã\81® \fIfts_pathlen\fP ã\83\95ã\82£ã\83¼ã\83«ã\83\89ã\81«ã\81\82ã\82\8bæ\83\85å ±ã\82\92使ã\81£ã\81¦ã\83\91ã\82¹ã\81®ã\83\90ã\83\83ã\83\95ã\82¡ã\83¼ã\82\92修正ã\81\99ã\82\8bå¿\85è¦\81ã\81\8cã\81\82ã\82\8bã\80\82 ã\81\93ã\82\8cã\82\89ã\81®ä¿®æ­£ã\81¯ã\80\81ã\81\95ã\82\89ã\81«
-\fBfts_read\fP()  を呼び出そうとする場合には、元に戻しておかなければならない。 \fIfts_name\fP フィールドは、常に \fBNUL\fP
-終端される。
+\fIfts_accpath\fP フィールドは、 \fBfts_read\fP()
+によって返された最も新しいファイルに対して「のみ」ヌル終端されることが保証される。 これらのフィールドを、他の \fIFTSENT\fP
+æ§\8bé\80 ä½\93ã\81§è¡¨ç\8f¾ã\81\95ã\82\8cã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\82\92å\8f\82ç\85§ã\81\99ã\82\8bã\81\9fã\82\81ã\81«ä½¿ã\81\86ã\81«ã\81¯ã\80\81 \fIFTSENT\fP æ§\8bé\80 ä½\93ã\81® \fIfts_pathlen\fP
+フィールドにある情報を使ってパスのバッファーを修正する必要がある。 これらの修正は、さらに \fBfts_read\fP()
+を呼び出そうとする場合には、元に戻しておかなければならない。 \fIfts_name\fP フィールドは、常に \fBNUL\fP 終端される。
 .SS fts_open()
-\fBfts_open\fP()  é\96¢æ\95°ã\81¯ã\80\81æ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿ã\81®é\85\8då\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\82\92å¼\95ã\81\8dæ\95°ã\81«å\8f\96ã\82\8bã\80\82 ã\81\93ã\81®æ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿は、論理ファイル階層をつくる 1
-つ以上のパスの名前になる。 配列は、 null ポインタで終端されなければならない。
+\fBfts_open\fP()  é\96¢æ\95°ã\81¯ã\80\81æ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81®é\85\8då\88\97ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92å¼\95ã\81\8dæ\95°ã\81«å\8f\96ã\82\8bã\80\82 ã\81\93ã\81®æ\96\87å­\97å\88\97ã\83\9dã\82¤ã\83³ã\82¿ã\83¼は、論理ファイル階層をつくる 1
\81¤ä»¥ä¸\8aã\81®ã\83\91ã\82¹ã\81®å\90\8då\89\8dã\81«ã\81ªã\82\8bã\80\82 é\85\8då\88\97ã\81¯ã\80\81 null ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81§çµ\82端ã\81\95ã\82\8cã\81ªã\81\91ã\82\8cã\81°ã\81ªã\82\89ã\81ªã\81\84ã\80\82
 .PP
 .\" .Bl -tag -width "FTS_PHYSICAL"
 多くのオプションがあり、少なくとも 1 つ (\fBFTS_LOGICAL\fP または \fBFTS_PHYSICAL\fP)  が指定されなければならない。
@@ -254,21 +254,21 @@ postorder でたどられるディレクトリ。 \fIFTSENT\fP 構造体の内
 このオプションは、 fts が下り始めのファイルとは異なるデバイス番号を持っている ディレクトリに下りるのを阻止する。
 .PP
 引き数 \fBcompar\fP()  は、階層をたどる順番を決めるのに使われるユーザー定義関数を指定する。 この関数は、引き数として \fIFTSENT\fP
-æ§\8bé\80 ä½\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\81®ã\83\9dã\82¤ã\83³ã\82¿を 2 つとり、 1 番目の引き数で参照されているファイルが 2 番目の引き数で参照されているファイルより
+æ§\8bé\80 ä½\93ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼を 2 つとり、 1 番目の引き数で参照されているファイルが 2 番目の引き数で参照されているファイルより
 前にある場合は負の値・同じ場合はゼロ・後にある場合は正の値を 返さなければならない。 \fIFTSENT\fP 構造体の \fIfts_accpath\fP,
 \fIfts_path\fP, \fIfts_pathlen\fP フィールドは、この比較に「絶対」使ってはいけない。 \fIfts_info\fP フィールドが
 \fBFTS_NS\fP または \fBFTS_NSOK\fP に設定される場合、 \fIfts_statp\fP フィールドはこれらのどちらでもない。
 \fBcompar\fP()  引き数が \fBNULL\fP の場合、ディレクトリをたどる順番は、ルートパスについては \fIpath_argv\fP
 のなかでリストされた順番で、 その他のファイルについてはディレクトリ内でリストされた順番となる。
 .SS fts_read()
-\fBfts_read\fP()  関数は、階層中のファイルを記述する \fIFTSENT\fP 構造体へのポインタを返す。 (読み込み可能で、循環していない)
+\fBfts_read\fP()  é\96¢æ\95°ã\81¯ã\80\81é\9a\8e層中ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92è¨\98è¿°ã\81\99ã\82\8b \fIFTSENT\fP æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 (読ã\81¿è¾¼ã\81¿å\8f¯è\83½ã\81§ã\80\81循ç\92°ã\81\97ã\81¦ã\81\84ã\81ªã\81\84)
 ディレクトリは、 1 回は preorder で、もう 1 回は postorder で、少なくとも 2 回たどられる。 他のファイルは、少なくとも 1
 回たどられる。 (ディレクトリ間のハードリンクによって 循環やシンボリックリンクへのシンボリックリンクが起こらない場合、 ファイルは 2
 回以上、ディレクトリは 3 回以上たどられる。)
 .PP
 階層中のすべてのメンバーが返された場合、 \fBfts_read\fP()  は \fBNULL\fP を返し、外部変数 \fIerrno\fP を 0 にする。
 階層中のファイルに関係しないエラーが起こった場合、 \fBfts_read\fP()  は \fBNULL\fP を返し、 \fIerrno\fP
-をエラーに対応した値にする。 階層中のファイルに関係したエラーが起こった場合、 \fIFTSENT\fP 構造体へのポインタが返され、 \fIerrno\fP
\82\92ã\82¨ã\83©ã\83¼ã\81«å¯¾å¿\9cã\81\97ã\81\9få\80¤ã\81«ã\81\99ã\82\8bã\80\82 é\9a\8e層中ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\81«é\96¢ä¿\82ã\81\97ã\81\9fã\82¨ã\83©ã\83¼ã\81\8cèµ·ã\81\93ã\81£ã\81\9få ´å\90\88ã\80\81 \fIFTSENT\fP æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\81\8cè¿\94ã\81\95ã\82\8cã\80\81 \fIerrno\fP
 は設定される場合と設定されない場合がある (\fIfts_info\fP を参照すること)。
 .PP
 \fBfts_read\fP()  によって返される \fIFTSENT\fP 構造体は、同じファイル階層ストリームへの \fBfts_close\fP()
@@ -276,15 +276,15 @@ postorder でたどられるディレクトリ。 \fIFTSENT\fP 構造体の内
 の呼出しの後でも、構造体がディレクトリを表現していない限り上書きされる。 この場合、 \fBfts_read\fP()  関数によって postorder で
 \fIFTSENT\fP 構造体が返された後、 \fBfts_read\fP()  の呼出しがあるまで、 これらの構造体は上書きされない。
 .SS fts_children()
-\fBfts_children\fP()  関数は、 \fIFTSENT\fP 構造体へのポインタを返す。 この構造体は、( \fBfts_read\fP()
-で最も新しく返された \fIFTSENT\fP 構造体で表現されるディレクトリにあるファイルの)  NUL 終端されたリンクリストの最初のエントリを記述する。
+\fBfts_children\fP()  é\96¢æ\95°ã\81¯ã\80\81 \fIFTSENT\fP æ§\8bé\80 ä½\93ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\81\93ã\81®æ§\8bé\80 ä½\93ã\81¯ã\80\81( \fBfts_read\fP()
+で最も新しく返された \fIFTSENT\fP 構造体で表現されるディレクトリにあるファイルの) ヌル終端されたリンクリストの最初のエントリーを記述する。
 このリストは、 \fIFTSENT\fP 構造体の \fIfts_link\fP フィールドを使ってリンクされ、
 ユーザー指定の比較関数がある場合は、それで順序づけられる。 \fBfts_children\fP()  の呼出しを繰り返すことで、
 このリンクリストは再生成される。
 .PP
 特別な場合として、 \fBfts_read\fP()  がファイル階層について呼ばれていない場合、 \fBfts_children\fP()  は
 \fBfts_open\fP()  に指定された論理ディレクトリ (つまり、 \fBfts_open\fP()  に指定された引き数)
-の中にあるファイルへのポインタを返す。 それ以外の場合で、 \fBfts_read\fP()  によって最も新しく返された \fIFTSENT\fP 構造体が
\81®ä¸­ã\81«ã\81\82ã\82\8bã\83\95ã\82¡ã\82¤ã\83«ã\81¸ã\81®ã\83\9dã\82¤ã\83³ã\82¿ã\83¼ã\82\92è¿\94ã\81\99ã\80\82 ã\81\9dã\82\8c以å¤\96ã\81®å ´å\90\88ã\81§ã\80\81 \fBfts_read\fP()  ã\81«ã\82\88ã\81£ã\81¦æ\9c\80ã\82\82æ\96°ã\81\97ã\81\8fè¿\94ã\81\95ã\82\8cã\81\9f \fIFTSENT\fP æ§\8bé\80 ä½\93ã\81\8c
 preorder でたどられたディレクトリでない場合や 何も含んでいないディレクトリの場合は、 \fBfts_children\fP()  は \fBNULL\fP
 を返し、 \fIerrno\fP を 0 にする。 エラーが起こった場合、 \fBfts_children\fP()  は \fBNULL\fP を返し、
 \fIerrno\fP をエラーに対応した値にする。
@@ -353,9 +353,7 @@ preorder でたどられたディレクトリでない場合や 何も含んで
 4.4BSD.
 .SH バグ
 .\" https://sourceware.org/bugzilla/show_bug.cgi?id=15838
-このマニュアルページで説明した API はいずれも、 LFS API を使うプログラムを 32 ビットシステムでコンパイルする場合
-(例えば、\fI\-D_FILE_OFFSET_BITS=64\fP でコンパイルする場合など)、安全ではない。
-
+.\" https://sourceware.org/bugzilla/show_bug.cgi?id=11460
 .\" The following statement is years old, and seems no closer to
 .\" being true -- mtk
 .\" The
@@ -363,9 +361,11 @@ preorder でたどられたディレクトリでない場合や 何も含んで
 .\" utility is expected to be included in a future
 .\" POSIX.1
 .\" revision.
+このマニュアルページで説明した API はいずれも、 LFS API を使うプログラムをコンパイルする場合
+(例えば、\fI\-D_FILE_OFFSET_BITS=64\fP でコンパイルする場合など)、安全ではない。
 .SH 関連項目
 \fBfind\fP(1), \fBchdir\fP(2), \fBstat\fP(2), \fBftw\fP(3), \fBqsort\fP(3)
 .SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.63 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.79 の一部
 である。プロジェクトの説明とバグ報告に関する情報は
 http://www.kernel.org/doc/man\-pages/ に書かれている。