| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150 | /* Copyright (C) 1992,1996,1997,1998,1999,2003 Free Software Foundation, Inc.   This file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  *//* *	X/Open Portability Guide 4.2: ftw.h */#ifndef _FTW_H#define	_FTW_H	1#include <features.h>#include <sys/types.h>#include <sys/stat.h>__BEGIN_DECLS/* Values for the FLAG argument to the user function passed to `ftw'   and 'nftw'.  */enum{  FTW_F,		/* Regular file.  */#define FTW_F	 FTW_F  FTW_D,		/* Directory.  */#define FTW_D	 FTW_D  FTW_DNR,		/* Unreadable directory.  */#define FTW_DNR	 FTW_DNR  FTW_NS,		/* Unstatable file.  */#define FTW_NS	 FTW_NS#if defined __USE_BSD || defined __USE_XOPEN_EXTENDED  FTW_SL,		/* Symbolic link.  */# define FTW_SL	 FTW_SL#endif#ifdef __USE_XOPEN_EXTENDED/* These flags are only passed from the `nftw' function.  */  FTW_DP,		/* Directory, all subdirs have been visited. */# define FTW_DP	 FTW_DP  FTW_SLN		/* Symbolic link naming non-existing file.  */# define FTW_SLN FTW_SLN#endif	/* extended X/Open */};#ifdef __USE_XOPEN_EXTENDED/* Flags for fourth argument of `nftw'.  */enum{  FTW_PHYS = 1,		/* Perform physical walk, ignore symlinks.  */# define FTW_PHYS	FTW_PHYS  FTW_MOUNT = 2,	/* Report only files on same file system as the			   argument.  */# define FTW_MOUNT	FTW_MOUNT  FTW_CHDIR = 4,	/* Change to current directory while processing it.  */# define FTW_CHDIR	FTW_CHDIR  FTW_DEPTH = 8		/* Report files in directory before directory itself.*/# define FTW_DEPTH	FTW_DEPTH};/* Structure used for fourth argument to callback function for `nftw'.  */struct FTW  {    int base;    int level;  };#endif	/* extended X/Open *//* Convenient types for callback functions.  */typedef int (*__ftw_func_t) (__const char *__filename,			     __const struct stat *__status, int __flag);#ifdef __USE_LARGEFILE64typedef int (*__ftw64_func_t) (__const char *__filename,			       __const struct stat64 *__status, int __flag);#endif#ifdef __USE_XOPEN_EXTENDEDtypedef int (*__nftw_func_t) (__const char *__filename,			      __const struct stat *__status, int __flag,			      struct FTW *__info);# ifdef __USE_LARGEFILE64typedef int (*__nftw64_func_t) (__const char *__filename,				__const struct stat64 *__status,				int __flag, struct FTW *__info);# endif#endif/* Call a function on every element in a directory tree.   This function is a possible cancellation point and therefore not   marked with __THROW.  */#ifndef __USE_FILE_OFFSET64extern int ftw (__const char *__dir, __ftw_func_t __func, int __descriptors);#else# ifdef __REDIRECTextern int __REDIRECT (ftw, (__const char *__dir, __ftw_func_t __func,			     int __descriptors), ftw64);# else#  define ftw ftw64# endif#endif#ifdef __USE_LARGEFILE64extern int ftw64 (__const char *__dir, __ftw64_func_t __func,		  int __descriptors);#endif#ifdef __USE_XOPEN_EXTENDED/* Call a function on every element in a directory tree.  FLAG allows   to specify the behaviour more detailed.   This function is a possible cancellation point and therefore not   marked with __THROW.  */# ifndef __USE_FILE_OFFSET64extern int nftw (__const char *__dir, __nftw_func_t __func, int __descriptors,		 int __flag);# else#  ifdef __REDIRECTextern int __REDIRECT (nftw, (__const char *__dir, __nftw_func_t __func,			      int __descriptors, int __flag), nftw64);#  else#   define nftw nftw64#  endif# endif# ifdef __USE_LARGEFILE64extern int nftw64 (__const char *__dir, __nftw64_func_t __func,		   int __descriptors, int __flag);# endif#endif__END_DECLS#endif	/* ftw.h */
 |