Manual Page Result
0
Command: ftw | Section: 3 | Source: UNIX v10 | File: ftw.3
FTW(3) Library Functions Manual FTW(3)
NAME
ftw - file tree walk
SYNOPSIS
#include <ftw.h>
int ftw(path, fn, depth)
char *path;
int (*fn)();
int depth;
#include <sys/types.h>
#include <sys/stat.h>
fn(name, statb, code, S)
char *name;
struct stat *statb;
struct FTW *S;
DESCRIPTION
Ftw recursively descends the directory hierarchy rooted in path. For
each entry in the hierarchy, ftw calls fn, passing it information about
the entry: a pointer to a null-terminated pathname string, a pointer to
a stat structure (see stat(2)), and a pointer to the following struc-
ture.
struct FTW {
int quit; see below
int base; &name[base] points to basename
int level; recursion level (initially 0)
};
Possible values of code, defined in are
FTW_D Entry is a directory (before visiting descendants).
FTW_DP Entry is a directory (after visiting descendants).
FTW_SL Entry is a symbolic link.
FTW_F Entry is some other kind of file.
FTW_DNR
Entry is a directory that cannot be read; no descendants will be
visited.
FTW_NS Lstat (see stat(2)) failed on name; contents of statb are unde-
fined
FTW_NSL
Lstat succeeded, but stat failed; contents of statb are unde-
fined.
The tree traversal continues until the tree is exhausted or fn returns
a nonzero value. When the tree is exhausted, ftw returns zero. When
fn returns a nonzero value, ftw stops and returns that value.
Normally symbolic links are not followed. But if on a symbolic link
(FTW_SL) fn sets S->quit to FTW_FOLLOW, ftw will next attempt to follow
the link.
Ftw normally visits a readable directory twice, before and after visit-
ing its descendants. But if on a previsit (FTW_D) fn sets S->quit to
FTW_SKD, ftw will skip the descendants and the postvisit (FTW_DP).
Ftw uses one file descriptor for each level in the tree up to a maximum
of depth (or 1, if depth<1) descriptors. Depth must not exceed the
number of available file descriptors; small values of depth may cause
ftw to run slowly, but will not change its effect.
SEE ALSO
stat(2), directory(3)
DIAGNOSTICS
Ftw returns -1 with errno set to ENOMEM when malloc(3) fails.
Errno is set appropriately when ftw calls fn with code FTW_DNR, FTW_NS,
or FTW_NSL.
FTW(3)