NAME

ftw.h — file tree traversal

SYNOPSIS

[XSI] [Option Start] #include <ftw.h> [Option End]

DESCRIPTION

The <ftw.h> header shall define the FTW structure, which shall include at least the following members:

int  base
int  level

The <ftw.h> header shall define the following symbolic constants for use as values of the third argument to the application-supplied function that is passed as the second argument to nftw():

FTW_F
Non-directory file.
FTW_D
Directory.
FTW_DNR
Directory without read permission.
FTW_DP
Directory with subdirectories visited.
FTW_NS
Unknown type; stat() failed.
FTW_SL
Symbolic link.
FTW_SLN
Symbolic link that names a nonexistent file.

The <ftw.h> header shall define the following symbolic constants for use as values of the fourth argument to nftw():

FTW_PHYS
Physical walk, does not follow symbolic links. Otherwise, nftw() follows links but does not walk down any path that crosses itself.
FTW_MOUNT
The walk only reports files that have the same device ID as the starting directory and does not descend below directories that have a different device ID than the starting directory.
FTW_XDEV
The walk does not descend below directories that have a different device ID than the starting directory.
FTW_DEPTH
All subdirectories are visited before the directory itself.
FTW_CHDIR
The walk changes to each directory before reading it.

The following shall be declared as a function and may also be defined as a macro. A function prototype shall be provided.

int nftw(const char *, int (*)(const char *, const struct stat *,
    int, struct FTW *), int, int);

The <ftw.h> header shall define the stat structure and the symbolic names for st_mode and the file type test macros as described in <sys/stat.h>.

Inclusion of the <ftw.h> header may also make visible all symbols from <sys/stat.h>.


The following sections are informative.

APPLICATION USAGE

None.

RATIONALE

None.

FUTURE DIRECTIONS

None.

SEE ALSO

<sys/stat.h>

XSH nftw

CHANGE HISTORY

First released in Issue 1. Derived from Issue 1 of the SVID.

Issue 5

A description of FTW_DP is added.

Issue 7

The ftw() function is marked obsolescent.

This reference page is clarified with respect to macros and symbolic constants.

POSIX.1-2008, Technical Corrigendum 1, XBD/TC1-2008/0048 [403] is applied.

Issue 8

Austin Group Defect 1133 is applied, adding FTW_XDEV.

Austin Group Defect 1210 is applied, changing the description of FTW_MOUNT.

Austin Group Defect 1330 is applied, removing obsolescent interfaces.

End of informative text.