source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ftw.h@ 1180

Last change on this file since 1180 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.9 KB
Line 
1/**
2 * This file is part of the mingw-w64 runtime package.
3 * No warranty is given; refer to the file DISCLAIMER within this package.
4 */
5
6#ifndef _FTW_HXX
7#define _FTW_HXX
8
9#include <sys/types.h>
10#include <sys/stat.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16 struct FTW {
17 int base;
18 int level;
19 };
20
21 /* A regular file. */
22#define FTW_F 0
23 /* A directory. */
24#define FTW_D 1
25 /* An unreadable directory. */
26#define FTW_DNR 2
27 /* An unstatable file. */
28#define FTW_NS 3
29 /* A symbolic link (not supported). */
30#define FTW_SL 4
31 /* A directory (all subdirs are visited). */
32#define FTW_DP 5
33 /* A symbolic link naming non-existing file (not supported). */
34#define FTW_SLN 6
35
36 /* Do a physical walk (ignore symlinks). */
37#define FTW_PHYS 1
38 /* Do report only files on same device as the argument (partial supported). */
39#define FTW_MOUNT 2
40 /* Change to current directory while processing (unsupported). */
41#define FTW_CHDIR 4
42 /* Do report files in directory before the directory itself.*/
43#define FTW_DEPTH 8
44 /* Tell callback to return FTW_* values instead of zero to continue and non-zero to terminate. */
45#define FTW_ACTIONRETVAL 16
46
47 /* Continue with next sibling or with the first child-directory. */
48#define FTW_CONTINUE 0
49 /* Return from ftw or nftw with FTW_STOP as return value. */
50#define FTW_STOP 1
51 /* Valid only for FTW_D: Don't walk through the subtree. */
52#define FTW_SKIP_SUBTREE 2
53 /* Continue with FTW_DP callback for current directory (if FTW_DEPTH) and then its siblings. */
54#define FTW_SKIP_SIBLINGS 3
55
56 int ftw (const char *, int (*) (const char *, const struct stat *, int), int);
57 int ftw64 (const char *, int (*) (const char *, const struct stat64 *, int), int);
58
59 int nftw (const char *, int (*) (const char *, const struct stat *, int , struct FTW *), int, int);
60 int nftw64 (const char *, int (*) (const char *, const struct stat64 *, int , struct FTW *), int, int);
61
62#ifdef __cplusplus
63}
64#endif
65
66#endif
Note: See TracBrowser for help on using the repository browser.