.\" and copyright (c) 2006 Justin Pryzby <justinpryzby@users.sf.net>
.\" and copyright (c) 2006 Michael Kerrisk <mtk.manpages@gmail.com>
.\"
+.\" %%%LICENSE_START(GPLv2+_DOC_FULL)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
-.\" License along with this manual; if not, write to the Free
-.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
-.\" USA.
+.\" License along with this manual; if not, see
+.\" <http://www.gnu.org/licenses/>.
+.\" %%%LICENSE_END
.\"
.\" Modified Sun Jul 25 11:02:22 1993 by Rik Faith (faith@cs.unc.edu)
.\" 2006-05-24, Justin Pryzby <justinpryzby@users.sf.net>
.\" This file was generated with po4a. Translate the source file.
.\"
.\"*******************************************************************
-.TH FTW 3 2010\-09\-20 Linux "Linux Programmer's Manual"
+.\"
+.\" Japanese Version Copyright (c) 1998 NAKANO Takeo all rights reserved.
+.\" Translated 1998-04-28, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 1999-09-14, NAKANO Takeo <nakano@apm.seikei.ac.jp>
+.\" Updated & Modified 2005-11-04, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
+.\" Updated 2006-07-26, Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>, LDP v2.36
+.\"
+.TH FTW 3 2014\-12\-31 Linux "Linux Programmer's Manual"
.SH 名前
ftw, nftw \- ファイルツリーを歩きまわる
.SH 書式
\fIfpath\fP が読み込みできないディレクトリである
.TP
\fBFTW_NS\fP
-シンボリックリンクではない \fIfpath\fP に対する \fBstat\fP(2) 呼び出しが失敗した。
+\fBstat\fP(2) の呼び出しがシンボリックリンクでない \fIfpath\fP で失敗した。
+これのよくある原因は、呼び出し元が親ディレクトリに対する読み込み許可を持っており、 ファイル名 \fIfpath\fP
+を見ることができたが、実行許可は持っておらず、 そのため \fBstat\fP(2) ではそのファイルに到達できなかった、というものである。
.sp
\fIfpath\fP がシンボリックリンクで、かつ \fBstat\fP(2) が失敗した場合、 \fBFTW_NS\fP と \fBFTW_SL\fP (後述)
のどちらが \fItypeflag\fP に渡されるかは未定義であると、POSIX.1\-2001 には書かれている。
\fBFTW_CHDIR\fP
セットされると、ディレクトリの内容を処理する前に そのディレクトリに \fBchdir\fP(2) する。このフラグは、 \fIfpath\fP
が属すディレクトリで何らかの動作を実行する必要がある場合に 便利である。
+(このフラグを指定しても \fIfn\fP の \fIfpath\fP 引き数で渡されるパス名には影響しない。)
.TP
\fBFTW_DEPTH\fP
セットされると、帰りがけ順探索 (post\-order traversal) を行う。 つまり、ディレクトリそのものを引き数とした \fIfn\fP()
\fBftw\fP() と同じである。 \fItypeflag\fP には、 \fBftw\fP() で取り得る値のいずれか、または以下の値のいずれかが渡される:
.TP
\fBFTW_DP\fP
-\fIfpath\fP がディレクトリで、かつ \fIflags\fP で \fBFTW_DEPTH\fP が指定されていた。 \fIfpath\fP
-配下のファイルとサブディレクトリは全て処理が終わっている。
+\fIfpath\fP がディレクトリで、かつ \fIflags\fP で \fBFTW_DEPTH\fP が指定されていた (\fBFTW_DEPTH\fP が
+\fIflags\fP に指定されていなかった場合、 ディレクトリに対しては常に \fItypeflag\fP が \fBFTW_D\fP で \fIfn\fP()
+が呼び出される)。 \fIfpath\fP 配下のファイルとサブディレクトリは全て処理が終わっている。
.TP
\fBFTW_SL\fP
.\" To obtain the definition of this constant from
\fBnftw\fP() が \fBFTW_ACTIONRETVAL\fP フラグ付きで呼ばれた場合、ツリーの探索を終了させるために \fIfn\fP()
が使用できる、非 0 の値は \fBFTW_STOP\fP だけであり、 この値は \fBnftw\fP() の返り値として返される。
+.SH バージョン
+\fBnftw\fP() は バージョン 2.1 以降の glibc で利用できる。
.SH 準拠
POSIX.1\-2001, SVr4, SUSv1. POSIX.1\-2008 は \fBftw\fP() を廃止予定としている。
.SH 注意
を使うシステム、また \fBftw\fP() が全てのシンボリックリンクに対して \fBFTW_SL\fP を使うシステムもある。
予測可能な動作をさせるためには、 \fBnftw\fP() を使うこと。
.LP
-Linux では、 libc4, libc5, glibc 2.0.6 は 「stat できるがディレクトリではないオブジェクト」 (ファイル,
-シンボリックリンク, fifo 等) に対してはすべて \fBFTW_F\fP を使う。
-
-\fBnftw\fP() 関数は glibc 2.1 以降で利用できる。
+「stat できるがディレクトリではないオブジェクト」 (ファイル, シンボリックリンク, fifo 等) に対しては、すべて \fBFTW_F\fP
+が返される。
\fBFTW_ACTIONRETVAL\fP は glibc 固有である。
.SH 例
以下のプログラムは、一つ目のコマンドライン引き数を名前に持つパス以下の ディレクトリツリーを探索する。引き数が指定されなかった場合は、
カレントディレクトリ以下を探索する。 各々のファイルについて様々の情報が表示される。 二番目のコマンドライン引き数に文字を指定することで、
\fBnftw\fP() を呼び出す際に \fIflags\fP 引き数に渡す値を制御することができる。
+.SS プログラムのソース
.nf
-
#define _XOPEN_SOURCE 500
#include <ftw.h>
#include <stdio.h>
.SH 関連項目
\fBstat\fP(2), \fBfts\fP(3), \fBreaddir\fP(3)
.SH この文書について
-この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.41 の一部
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.78 の一部
である。プロジェクトの説明とバグ報告に関する情報は
http://www.kernel.org/doc/man\-pages/ に書かれている。