sl@0: /* $OpenBSD: ftw.h,v 1.1 2003/07/21 21:13:18 millert Exp $ */ sl@0: sl@0: /* sl@0: * Copyright (c) 2003 Todd C. Miller sl@0: sl@0: * sl@0: * Permission to use, copy, modify, and distribute this software for any sl@0: * purpose with or without fee is hereby granted, provided that the above sl@0: * copyright notice and this permission notice appear in all copies. sl@0: * sl@0: * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES sl@0: * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF sl@0: * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR sl@0: * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES sl@0: * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN sl@0: * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF sl@0: * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. sl@0: * sl@0: * Sponsored in part by the Defense Advanced Research Projects sl@0: * Agency (DARPA) and Air Force Research Laboratory, Air Force sl@0: * Materiel Command, USAF, under agreement number F39502-99-1-0512. sl@0: * sl@0: * $FreeBSD: src/include/ftw.h,v 1.2 2004/08/24 13:00:54 tjr Exp $ sl@0: */ sl@0: sl@0: /* Portions Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). All rights reserved.*/ sl@0: sl@0: #ifndef _FTW_H sl@0: #define _FTW_H sl@0: sl@0: #ifdef __cplusplus sl@0: extern "C" { sl@0: #endif sl@0: #include sl@0: #include sl@0: sl@0: /* sl@0: * Valid flags for the 3rd argument to the function that is passed as the sl@0: * second argument to ftw(3) and nftw(3). Say it three times fast! sl@0: */ sl@0: #define FTW_F 0 /* File. */ sl@0: #define FTW_D 1 /* Directory. */ sl@0: #define FTW_DNR 2 /* Directory without read permission. */ sl@0: #define FTW_DP 3 /* Directory with subdirectories visited. */ sl@0: #define FTW_NS 4 /* Unknown type; stat() failed. */ sl@0: #define FTW_SL 5 /* Symbolic link. */ sl@0: #define FTW_SLN 6 /* Sym link that names a nonexistent file. */ sl@0: sl@0: /* sl@0: * Flags for use as the 4th argument to nftw(3). These may be ORed together. sl@0: */ sl@0: #define FTW_PHYS 0x01 /* Physical walk, don't follow sym links. */ sl@0: #define FTW_MOUNT 0x02 /* The walk does not cross a mount point. */ sl@0: #define FTW_DEPTH 0x04 /* Subdirs visited before the dir itself. */ sl@0: #define FTW_CHDIR 0x08 /* Change to a directory before reading it. */ sl@0: sl@0: struct FTW { sl@0: int base; sl@0: int level; sl@0: }; sl@0: sl@0: __BEGIN_DECLS sl@0: sl@0: IMPORT_C int ftw(const char *, int (*)(const char *, const struct stat *, int), int); sl@0: sl@0: #if defined(SYMBIAN_OE_LARGE_FILE_SUPPORT) && !defined(SYMBIAN_OE_NO_LFS) sl@0: #define ftw64 ftw sl@0: #endif /* SYMBIAN_OE_LARGE_FILE_SUPPORT && !SYMBIAN_OE_NO_LFS */ sl@0: sl@0: sl@0: #ifndef __SYMBIAN32__ sl@0: IMPORT_C int nftw(const char *, int (*)(const char *, const struct stat *, int, sl@0: struct FTW *), int, int); sl@0: #endif sl@0: __END_DECLS sl@0: sl@0: #ifdef __cplusplus sl@0: } sl@0: #endif sl@0: #endif /* !_FTW_H */