1#ifndef _FTW_H
 2#define	_FTW_H
 3
 4#ifdef __cplusplus
 5extern "C" {
 6#endif
 7
 8#include <features.h>
 9#include <sys/stat.h>
10
11#define FTW_F   1
12#define FTW_D   2
13#define FTW_DNR 3
14#define FTW_NS  4
15#define FTW_SL  5
16#define FTW_DP  6
17#define FTW_SLN 7
18
19#define FTW_PHYS  1
20#define FTW_MOUNT 2
21#define FTW_CHDIR 4
22#define FTW_DEPTH 8
23
24struct FTW {
25	int base;
26	int level;
27};
28
29#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */
30int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
31#endif
32int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);
33
34#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
35#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */
36#define ftw64 ftw
37#endif
38#define nftw64 nftw
39#endif
40
41#ifdef __cplusplus
42}
43#endif
44
45#endif