mirror of
git://git.musl-libc.org/musl
synced 2024-12-17 12:14:42 +00:00
2dd8d5e1b8
musl does not support legacy 32-bit-off_t whatsoever. off_t is always 64 bit, and correct programs that use off_t and the standard functions will just work out of the box. (on glibc, they would require -D_FILE_OFFSET_BITS=64 to work.) however, some programs instead define _LARGEFILE64_SOURCE and use alternate versions of all the standard types and functions with "64" appended to their names. we do not want code to actually get linked against these functions (it's ugly and inconsistent), so macros are used instead of prototypes with weak aliases in the library itself. eventually the weak aliases may be added at the library level for the sake of using code that was originally built against glibc, but the macros will still be the desired solution in the headers.
45 lines
814 B
C
45 lines
814 B
C
#ifndef _FTW_H
|
|
#define _FTW_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/* Normally we do not nest header includes. However useless bloat
|
|
* like ftw may be treated as a special case. Otherwise we would
|
|
* have to deal with duplicating all the stat.h mess. */
|
|
#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;
|
|
};
|
|
|
|
int ftw(const char *, int (*)(const char *, const struct stat *, int), int);
|
|
int nftw(const char *, int (*)(const char *, const struct stat *, int, struct FTW *), int, int);
|
|
|
|
#ifdef _LARGEFILE64_SOURCE
|
|
#define ftw64 ftw
|
|
#define nftw64 nftw
|
|
#endif
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif
|