/* * ftw.h * * file tree traversal. Based on the Single UNIX(r) Specification, * Version 2 * * This file is part of the ReactOS Operating System. * * Contributors: * Created by KJK::Hyperion * * THIS SOFTWARE IS NOT COPYRIGHTED * * This source code is offered for use in the public domain. You may * use, modify or distribute it freely. * * This code is distributed in the hope that it will be useful but * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY * DISCLAMED. This includes but is not limited to warranties of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * */ #ifndef __FTW_H_INCLUDED__ #define __FTW_H_INCLUDED__ /* INCLUDES */ #ifdef __PSXDLL__ /* headers for internal usage by psxdll.dll and ReactOS */ #else /* ! __PSXDLL__ */ /* standard POSIX headers */ #endif /* OBJECTS */ /* TYPES */ struct FTW { int base int level } /* CONSTANTS */ /* Values of the third argument to the application-supplied function that is passed as the second argument to ftw() and nftw() */ #define FTW_F (1) /* File. */ #define FTW_D (2) /* Directory. */ #define FTW_DNR (3) /* Directory without read permission. */ #define FTW_DP (4) /* Directory with subdirectories visited. */ #define FTW_NS (5) /* Unknown type, stat() failed. */ #define FTW_SL (6) /* Symbolic link. */ #define FTW_SLN (7) /* Symbolic link that names a non-existent file. */ /* Values of the fourth argument to nftw() */ #define FTW_PHYS (0x00000001) /* Physical walk, does not follow symbolic links. Otherwise, nftw() will follow links but will not walk down any path that crosses itself. */ #define FTW_MOUNT (0x00000002) /* The walk will not cross a mount point. */ #define FTW_DEPTH (0x00000004) /* All subdirectories will be visited before the directory itself. */ #define FTW_CHDIR (0x00000008) /* The walk will change to each directory before reading it. */ /* PROTOTYPES */ int ftw(const char *, int (*)(const char *, const struct stat *, int), int); int nftw(const char *, int (*) (const char *, const struct stat *, int, struct FTW*), int, int); /* MACROS */ #endif /* __FTW_H_INCLUDED__ */ /* EOF */