rpm  5.4.10
Data Structures | Macros | Typedefs | Functions | Variables
fts.h File Reference
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
Include dependency graph for fts.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  FTS
struct  _ftsent

Macros

#define __THROW
#define FTS_COMFOLLOW   0x0001 /* follow command line symlinks */
#define FTS_LOGICAL   0x0002 /* logical walk */
#define FTS_NOCHDIR   0x0004 /* don't change directories */
#define FTS_NOSTAT   0x0008 /* don't get stat info */
#define FTS_PHYSICAL   0x0010 /* physical walk */
#define FTS_SEEDOT   0x0020 /* return dot and dot-dot */
#define FTS_XDEV   0x0040 /* don't cross devices */
#define FTS_WHITEOUT   0x0080 /* return whiteout information */
#define FTS_OPTIONMASK   0x00ff /* valid user option mask */
#define FTS_NAMEONLY   0x0100 /* (private) child names only */
#define FTS_STOP   0x0200 /* (private) unrecoverable error */
#define FTS_ROOTPARENTLEVEL   -1
#define FTS_ROOTLEVEL   0
#define FTS_D   1 /* preorder directory */
#define FTS_DC   2 /* directory that causes cycles */
#define FTS_DEFAULT   3 /* none of the above */
#define FTS_DNR   4 /* unreadable directory */
#define FTS_DOT   5 /* dot or dot-dot */
#define FTS_DP   6 /* postorder directory */
#define FTS_ERR   7 /* error; errno is set */
#define FTS_F   8 /* regular file */
#define FTS_INIT   9 /* initialized only */
#define FTS_NS   10 /* stat(2) failed */
#define FTS_NSOK   11 /* no stat(2) requested */
#define FTS_SL   12 /* symbolic link */
#define FTS_SLNONE   13 /* symbolic link without target */
#define FTS_W   14 /* whiteout object */
#define FTS_DONTCHDIR   0x01 /* don't chdir .. to the parent */
#define FTS_SYMFOLLOW   0x02 /* followed a symlink to get here */
#define FTS_AGAIN   1 /* read node again */
#define FTS_FOLLOW   2 /* follow symbolic link */
#define FTS_NOINSTR   3 /* no instructions */
#define FTS_SKIP   4 /* discard node */

Typedefs

typedef struct _ftsent FTSENT

Functions

FTSENTFts_children (FTS *sp, int instr)
 Return list of children of the current node.
int Fts_close (FTS *sp)
 Destroy a file hierarchy traversal handle.
FTSFts_open (char *const *argv, int options, int(*compar)(const FTSENT **, const FTSENT **))
 Create a handle for file hierarchy traversal.
FTSENTFts_read (FTS *sp)
 Return next node in the file hierarchy traversal.
int Fts_set (FTS *sp, FTSENT *p, int instr)
 Modify the traversal for a file set member.

Variables

int _fts_debug

Macro Definition Documentation

#define __THROW

Definition at line 38 of file fts.h.

#define FTS_AGAIN   1 /* read node again */

Definition at line 149 of file fts.h.

Referenced by Fts_read(), Fts_set(), and rpmfts_new().

#define FTS_COMFOLLOW   0x0001 /* follow command line symlinks */
#define FTS_D   1 /* preorder directory */
#define FTS_DC   2 /* directory that causes cycles */
#define FTS_DEFAULT   3 /* none of the above */
#define FTS_DNR   4 /* unreadable directory */
#define FTS_DONTCHDIR   0x01 /* don't chdir .. to the parent */

Definition at line 145 of file fts.h.

Referenced by fts_build(), Fts_read(), and rpmfts_new().

#define FTS_DOT   5 /* dot or dot-dot */
#define FTS_DP   6 /* postorder directory */
#define FTS_ERR   7 /* error; errno is set */
#define FTS_F   8 /* regular file */
#define FTS_FOLLOW   2 /* follow symbolic link */

Definition at line 150 of file fts.h.

Referenced by Fts_read(), Fts_set(), and rpmfts_new().

#define FTS_INIT   9 /* initialized only */
#define FTS_LOGICAL   0x0002 /* logical walk */
#define FTS_NAMEONLY   0x0100 /* (private) child names only */

Definition at line 97 of file fts.h.

Referenced by Fts_children(), Fts_read(), and rpmfts_new().

#define FTS_NOCHDIR   0x0004 /* don't change directories */
#define FTS_NOINSTR   3 /* no instructions */

Definition at line 151 of file fts.h.

Referenced by fts_alloc(), Fts_read(), Fts_set(), and rpmfts_new().

#define FTS_NOSTAT   0x0008 /* don't get stat info */
#define FTS_NS   10 /* stat(2) failed */
#define FTS_NSOK   11 /* no stat(2) requested */
#define FTS_OPTIONMASK   0x00ff /* valid user option mask */

Definition at line 95 of file fts.h.

Referenced by Fts_open(), and rpmfts_new().

#define FTS_PHYSICAL   0x0010 /* physical walk */
#define FTS_ROOTLEVEL   0
#define FTS_ROOTPARENTLEVEL   -1

Definition at line 125 of file fts.h.

Referenced by Fts_open(), Fts_read(), and rpmfts_new().

#define FTS_SEEDOT   0x0020 /* return dot and dot-dot */

Definition at line 92 of file fts.h.

Referenced by fts_build(), and rpmfts_new().

#define FTS_SKIP   4 /* discard node */
#define FTS_SL   12 /* symbolic link */
#define FTS_SLNONE   13 /* symbolic link without target */
#define FTS_STOP   0x0200 /* (private) unrecoverable error */

Definition at line 98 of file fts.h.

Referenced by fts_build(), Fts_children(), Fts_read(), and rpmfts_new().

#define FTS_SYMFOLLOW   0x02 /* followed a symlink to get here */

Definition at line 146 of file fts.h.

Referenced by Fts_read(), and rpmfts_new().

#define FTS_W   14 /* whiteout object */
#define FTS_WHITEOUT   0x0080 /* return whiteout information */

Definition at line 94 of file fts.h.

Referenced by fts_build(), and rpmfts_new().

#define FTS_XDEV   0x0040 /* don't cross devices */

Definition at line 93 of file fts.h.

Referenced by Fts_read(), rpmfts_new(), and rpmrepoDoFinalMove().

Typedef Documentation

typedef struct _ftsent FTSENT

Function Documentation

FTSENT* Fts_children ( FTS sp,
int  instr 
)

Return list of children of the current node.

Parameters
spfile hierarchy state
instr
Returns
file set member

Definition at line 705 of file fts.c.

References __close, __fchdir, __open, __set_errno, _fts_debug, BCHILD, BNAMES, _ftsent::fts_accpath, fts_build(), FTS::fts_child, FTS::fts_cur, FTS_D, _ftsent::fts_info, FTS_INIT, _ftsent::fts_level, fts_lfree(), _ftsent::fts_link, FTS_NAMEONLY, FTS_NOCHDIR, FTS_ROOTLEVEL, FTS_STOP, ISSET, and SET.

Referenced by mtreeVisitD(), and rpmfts_Children().

int Fts_close ( FTS sp)
FTS* Fts_open ( char *const *  argv,
int  options,
int(*)(const FTSENT **, const FTSENT **)  compar 
)
FTSENT* Fts_read ( FTS sp)
int Fts_set ( FTS sp,
FTSENT p,
int  instr 
)

Modify the traversal for a file set member.

Parameters
spfile hierarchy state
pfile set member
instrnew disposition for file set member
Returns
0 on success, -1 on error

Definition at line 688 of file fts.c.

References __set_errno, _fts_debug, FTS_AGAIN, FTS_FOLLOW, _ftsent::fts_instr, FTS_NOINSTR, and FTS_SKIP.

Referenced by cacheWalkPathFilter(), mtreeCWalk(), mtreeVWalk(), rpmcliWalkFirst(), rpmdcCWalk(), and rpmfts_Set().

Variable Documentation

int _fts_debug

Definition at line 165 of file fts.c.