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