summaryrefslogtreecommitdiffstats
path: root/libc-top-half/musl/include/ftw.h
blob: 2b1b270c777d39a1f94fcce0f985847ee67f8a81 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
#ifndef _FTW_H
#define	_FTW_H

#ifdef __cplusplus
extern "C" {
#endif

#include <features.h>
#include <sys/stat.h>

#define FTW_F   1
#define FTW_D   2
#define FTW_DNR 3
#define FTW_NS  4
#define FTW_SL  5
#define FTW_DP  6
#define FTW_SLN 7

#define FTW_PHYS  1
#define FTW_MOUNT 2
#define FTW_CHDIR 4
#define FTW_DEPTH 8

struct FTW {
	int base;
	int level;
};

#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */
int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
#endif
int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);

#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
#ifdef __wasilibc_unmodified_upstream /* WASI libc doesn't build the legacy functions */
#define ftw64 ftw
#endif
#define nftw64 nftw
#endif

#ifdef __cplusplus
}
#endif

#endif