1570af302Sopenharmony_ci#ifdef _XOPEN_SOURCE
2570af302Sopenharmony_ci#include <ftw.h>
3570af302Sopenharmony_ci#define T(t) (t*)0;
4570af302Sopenharmony_ci#define F(t,n) {t *y = &x.n;}
5570af302Sopenharmony_ci#define C(n) switch(n){case n:;}
6570af302Sopenharmony_cistatic void f()
7570af302Sopenharmony_ci{
8570af302Sopenharmony_ciT(struct FTW)
9570af302Sopenharmony_ciT(struct stat)
10570af302Sopenharmony_ciC(FTW_F)
11570af302Sopenharmony_ciC(FTW_D)
12570af302Sopenharmony_ciC(FTW_DNR)
13570af302Sopenharmony_ciC(FTW_DP)
14570af302Sopenharmony_ciC(FTW_NS)
15570af302Sopenharmony_ciC(FTW_SL)
16570af302Sopenharmony_ciC(FTW_SLN)
17570af302Sopenharmony_ciC(FTW_PHYS)
18570af302Sopenharmony_ciC(FTW_MOUNT)
19570af302Sopenharmony_ciC(FTW_DEPTH)
20570af302Sopenharmony_ciC(FTW_CHDIR)
21570af302Sopenharmony_ciC(S_IRWXU)
22570af302Sopenharmony_ciC(S_IRUSR)
23570af302Sopenharmony_ciC(S_IWUSR)
24570af302Sopenharmony_ciC(S_IXUSR)
25570af302Sopenharmony_ciC(S_IRWXG)
26570af302Sopenharmony_ciC(S_IRGRP)
27570af302Sopenharmony_ciC(S_IWGRP)
28570af302Sopenharmony_ciC(S_IXGRP)
29570af302Sopenharmony_ciC(S_IRWXO)
30570af302Sopenharmony_ciC(S_IROTH)
31570af302Sopenharmony_ciC(S_IWOTH)
32570af302Sopenharmony_ciC(S_IXOTH)
33570af302Sopenharmony_ciC(S_ISUID)
34570af302Sopenharmony_ciC(S_ISGID)
35570af302Sopenharmony_ciC(S_ISVTX)
36570af302Sopenharmony_ciC(S_IFMT)
37570af302Sopenharmony_ciC(S_IFBLK)
38570af302Sopenharmony_ciC(S_IFCHR)
39570af302Sopenharmony_ciC(S_IFIFO)
40570af302Sopenharmony_ciC(S_IFREG)
41570af302Sopenharmony_ciC(S_IFDIR)
42570af302Sopenharmony_ciC(S_IFLNK)
43570af302Sopenharmony_ciC(S_IFSOCK)
44570af302Sopenharmony_ciC(S_ISBLK(0))
45570af302Sopenharmony_ciC(S_ISCHR(0))
46570af302Sopenharmony_ciC(S_ISDIR(0))
47570af302Sopenharmony_ciC(S_ISFIFO(0))
48570af302Sopenharmony_ciC(S_ISREG(0))
49570af302Sopenharmony_ciC(S_ISLNK(0))
50570af302Sopenharmony_ciC(S_ISSOCK(0))
51570af302Sopenharmony_ci{
52570af302Sopenharmony_cistruct FTW x;
53570af302Sopenharmony_ciF(int, base)
54570af302Sopenharmony_ciF(int, level)
55570af302Sopenharmony_ci}
56570af302Sopenharmony_ci{
57570af302Sopenharmony_cistruct stat x;
58570af302Sopenharmony_ciF(dev_t, st_dev)
59570af302Sopenharmony_ciF(ino_t, st_ino)
60570af302Sopenharmony_ciF(mode_t, st_mode)
61570af302Sopenharmony_ciF(nlink_t, st_nlink)
62570af302Sopenharmony_ciF(uid_t, st_uid)
63570af302Sopenharmony_ciF(gid_t, st_gid)
64570af302Sopenharmony_ciF(dev_t, st_rdev)
65570af302Sopenharmony_ciF(off_t, st_size)
66570af302Sopenharmony_ciF(struct timespec, st_atim)
67570af302Sopenharmony_ciF(struct timespec, st_mtim)
68570af302Sopenharmony_ciF(struct timespec, st_ctim)
69570af302Sopenharmony_ciF(blksize_t, st_blksize)
70570af302Sopenharmony_ciF(blkcnt_t, st_blocks)
71570af302Sopenharmony_ci}
72570af302Sopenharmony_ci{int(*p)(const char*,int(*)(const char*,const struct stat*,int),int) = ftw;}
73570af302Sopenharmony_ci{int(*p)(const char*,int(*)(const char*,const struct stat*,int,struct FTW*),int,int) = nftw;}
74570af302Sopenharmony_ci}
75570af302Sopenharmony_ci#endif
76570af302Sopenharmony_ci
77