From 91c0185d644f2f70330d24577ec28c4855d07a98 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Sun, 2 Dec 2007 12:34:13 +0000 Subject: * include/ftw.h: Include sys/cdefs.h. --- winsup/cygwin/ChangeLog | 9 +++--- winsup/cygwin/include/ftw.h | 71 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+), 5 deletions(-) create mode 100644 winsup/cygwin/include/ftw.h diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index 674f7293654..ff78bf8bb9b 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -4,11 +4,6 @@ _daylight variable. (timezone): Only define if __timezonefunc__ is undefined. -2007-12-01 Corinna Vinschen - - * include/cygwin/time.h: Only define timezone if __timezonefunc__ - is undefined. - 2007-12-01 Corinna Vinschen Brian Dessent @@ -342,6 +337,10 @@ * sigproc.cc (child_info::child_info): Set msv_count to non-zero value only on systems requiring it. +2007-01-28 Corinna Vinschen + + * include/ftw.h: Include sys/cdefs.h. + 2007-01-18 Corinna Vinschen * mmap.cc (list::hash): Fix type to __ino64_t. diff --git a/winsup/cygwin/include/ftw.h b/winsup/cygwin/include/ftw.h new file mode 100644 index 00000000000..501081e73bd --- /dev/null +++ b/winsup/cygwin/include/ftw.h @@ -0,0 +1,71 @@ +/* $OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp $ */ + +/* + * Copyright (c) 2003 Todd C. Miller + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + * + * Sponsored in part by the Defense Advanced Research Projects + * Agency (DARPA) and Air Force Research Laboratory, Air Force + * Materiel Command, USAF, under agreement number F39502-99-1-0512. + * + * $FreeBSD: /repoman/r/ncvs/src/include/ftw.h,v 1.2 2004/08/24 13:00:54 tjr Exp $ + */ + +#ifndef _FTW_H +#define _FTW_H + +#include +#include +#include + +/* + * Valid flags for the 3rd argument to the function that is passed as the + * second argument to ftw(3) and nftw(3). Say it three times fast! + */ +#define FTW_F 0 /* File. */ +#define FTW_D 1 /* Directory. */ +#define FTW_DNR 2 /* Directory without read permission. */ +#define FTW_DP 3 /* Directory with subdirectories visited. */ +#define FTW_NS 4 /* Unknown type; stat() failed. */ +#define FTW_SL 5 /* Symbolic link. */ +#define FTW_SLN 6 /* Sym link that names a nonexistent file. */ + +/* + * Flags for use as the 4th argument to nftw(3). These may be ORed together. + */ +#define FTW_PHYS 0x01 /* Physical walk, don't follow sym links. */ +#define FTW_MOUNT 0x02 /* The walk does not cross a mount point. */ +#define FTW_DEPTH 0x04 /* Subdirs visited before the dir itself. */ +#define FTW_CHDIR 0x08 /* Change to a directory before reading it. */ + +struct FTW { + int base; + int level; +}; + +__BEGIN_DECLS +#ifdef __INSIDE_CYGWIN__ +int ftw(const char *, int (*)(const char *, const struct __stat64 *, int), int); +int nftw(const char *, int (*)(const char *, const struct __stat64 *, int, + struct FTW *), int, int); +#elif defined (__CYGWIN__) && !defined (__CYGWIN_USE_BIG_TYPES__) + #error "ftw requires __CYGWIN_USE_BIG_TYPES__" +#else +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); +#endif +__END_DECLS + +#endif /* !_FTW_H */ -- cgit v1.2.1