-.PP
-The
-.I ftsopen
-routine takes a pointer to an array of character pointers (``argv'')
-naming the file hierarchies to be traversed.
-The array must be terminated by a pointer to a NULL string.
-.PP
-The
-.I options
-specified are formed by
-.IR or 'ing
-one or more of the following values:
-.TP
-FTS_LOGICAL
-This option causes
-.I ftsread
-to use the function
-.IR stat (2),
-by default, to determine the status of each file.
-If this option is set, the only symbolic links returned to the application
-are those referencing non-existent files.
-Either FTS_LOGICAL or FTS_PHYSICAL
-.B must
-be provided to the
-.I ftsopen
-routine.
-.TP
-FTS_NOCHDIR
-As a performance optimization,
-.I ftsread
-changes directories as it descends the hierarchy.
-This has the side-effect that applications cannot rely on being
-in any particular directory.
-The FTS_NOCHDIR option turns off this optimization.
-Note that applications should not change the current directory
-(even if FTS_NOCHDIR is specified) unless absolute pathnames were
-provided as arguments to
-.IR ftsopen .
-.TP
-FTS_NOSTAT
-By default,
-.I ftsread
-and
-.I ftschildren
-provide file characteristic information (the
-.I statb
-field) for each file they return.
-This option relaxes that requirement; the contents of the
-.I statb
-field may be undefined, and the
-.I info
-field may be set to FTS_NS.
-.TP
-FTS_PHYSICAL
-This option causes
-.I ftsread
-to use the function
-.IR lstat (2),
-by default, to determine the status of each file.
-If this option is set, all symbolic links are returned to the application
-program.
-Either FTS_LOGICAL or FTS_PHYSICAL
-.B must
-be provided to the
-.I ftsopen
-routine.
-.TP
-FTS_SEEDOT
-This option causes the routine
-.I ftsread
-to return structures for the directory entries ``.'' and ``..''.
-By default they are ignored unless specified as an argument to
-.IR ftsopen .
-.TP
-FTS_XDEV
-This option keeps
-.I fts
-from descending into directories that have a different device number
-than the file the descent began from.
-.PP
-The argument
-.I compar
-specifies a user-defined routine which is used to order the traversal
-of directories.
-.I Compar
-takes two pointers to pointers to FTSENT structures as arguments and
-should return a negative value, zero, or a positive value to indicate
-if the file referenced by its first argument comes before, in any order
-with respect to, or after, the file referenced by its second argument.
-.PP
-The
-.I fts_accpath
-and
-.I fts_path
-fields of the FTSENT structures may not be used in this comparison.
-If the option
-.I FTS_NOSTAT
-is specified, the
-.I fts_stab
-field may not be used as well.
-If the
-.I compar
-argument is NULL the directory traversal order is unspecified except
-for the root paths which are traversed in the order listed in
-.IR path_argv .
-.PP
+The function
+.Fn fts_children
+returns a pointer to a linked list of structures, each of which describes
+one of the files contained in a directory in the hierarchy.
+In general, directories are visited two distinguishable times; in pre-order
+(before any of their descendants are visited) and in post-order (after all
+of their descendants have been visited).
+Files are visited once.
+It is possible to walk the hierarchy ``logically'' (ignoring symbolic links)
+or physically (visiting symbolic links), order the walk of the hierarchy or
+prune and/or re-visit portions of the hierarchy.
+.Pp
+Two structures are defined (and typedef'd) in the include file
+.Aq Pa fts.h .
+The first is
+.Fa FTS ,
+the structure that represents the file hierarchy stream.
+The second is
+.Fa FTSENT ,
+the structure that represents a file in the file
+hierarchy.
+Normally, an
+.Fa FTSENT
+structure is returned for every file in the file
+hierarchy.
+In this manual page, ``file'' and
+.Dq Fa FTSENT No structure
+are generally
+interchangeable.