17777dab0Sopenharmony_ci#ifndef _FTW_H
27777dab0Sopenharmony_ci#define	_FTW_H
37777dab0Sopenharmony_ci
47777dab0Sopenharmony_ci#ifdef __cplusplus
57777dab0Sopenharmony_ciextern "C" {
67777dab0Sopenharmony_ci#endif
77777dab0Sopenharmony_ci
87777dab0Sopenharmony_ci#include <features.h>
97777dab0Sopenharmony_ci#include <sys/stat.h>
107777dab0Sopenharmony_ci
117777dab0Sopenharmony_ci#define FTW_F   1
127777dab0Sopenharmony_ci#define FTW_D   2
137777dab0Sopenharmony_ci#define FTW_DNR 3
147777dab0Sopenharmony_ci#define FTW_NS  4
157777dab0Sopenharmony_ci#define FTW_SL  5
167777dab0Sopenharmony_ci#define FTW_DP  6
177777dab0Sopenharmony_ci#define FTW_SLN 7
187777dab0Sopenharmony_ci
197777dab0Sopenharmony_ci#define FTW_PHYS  1
207777dab0Sopenharmony_ci#define FTW_MOUNT 2
217777dab0Sopenharmony_ci#define FTW_CHDIR 4
227777dab0Sopenharmony_ci#define FTW_DEPTH 8
237777dab0Sopenharmony_ci
247777dab0Sopenharmony_cistruct FTW {
257777dab0Sopenharmony_ci	int base;
267777dab0Sopenharmony_ci	int level;
277777dab0Sopenharmony_ci};
287777dab0Sopenharmony_ci
297777dab0Sopenharmony_ciint ftw(const char *, int (*)(const char *, const struct stat *, int), int);
307777dab0Sopenharmony_ciint nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);
317777dab0Sopenharmony_ci
327777dab0Sopenharmony_ci#if defined(_LARGEFILE64_SOURCE) || defined(_GNU_SOURCE)
337777dab0Sopenharmony_ci#define ftw64 ftw
347777dab0Sopenharmony_ci#define nftw64 nftw
357777dab0Sopenharmony_ci#endif
367777dab0Sopenharmony_ci
377777dab0Sopenharmony_ci#ifdef __cplusplus
387777dab0Sopenharmony_ci}
397777dab0Sopenharmony_ci#endif
407777dab0Sopenharmony_ci
417777dab0Sopenharmony_ci#endif
42