Implement some of the missing LFS64 support.
This gives us: * <dirent.h> struct dirent64 readdir64, readdir64_r, alphasort64, scandir64 * <fcntl.h> creat64, openat64, open64. * <sys/stat.h> struct stat64 fstat64, fstatat64, lstat64, stat64. * <sys/statvfs.h> struct statvfs64 statvfs64, fstatvfs64. * <sys/vfs.h> struct statfs64 statfs64, fstatfs64. This also removes some of the incorrect #define hacks we've had in the past (for stat64, for example, which we promised to clean up way back in bug 8472078). Bug: 11865851 Bug: 8472078 Change-Id: Ia46443521918519f2dfa64d4621027dfd13ac566
This commit is contained in:
@@ -23,19 +23,21 @@
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
struct statvfs {
|
||||
unsigned long f_bsize;
|
||||
unsigned long f_frsize;
|
||||
fsblkcnt_t f_blocks;
|
||||
fsblkcnt_t f_bfree;
|
||||
fsblkcnt_t f_bavail;
|
||||
fsfilcnt_t f_files;
|
||||
fsfilcnt_t f_ffree;
|
||||
fsfilcnt_t f_favail;
|
||||
unsigned long f_fsid;
|
||||
unsigned long f_flag;
|
||||
unsigned long f_namemax;
|
||||
};
|
||||
#define __STATVFS64_BODY \
|
||||
unsigned long f_bsize; \
|
||||
unsigned long f_frsize; \
|
||||
fsblkcnt_t f_blocks; \
|
||||
fsblkcnt_t f_bfree; \
|
||||
fsblkcnt_t f_bavail; \
|
||||
fsfilcnt_t f_files; \
|
||||
fsfilcnt_t f_ffree; \
|
||||
fsfilcnt_t f_favail; \
|
||||
unsigned long f_fsid; \
|
||||
unsigned long f_flag; \
|
||||
unsigned long f_namemax; \
|
||||
|
||||
struct statvfs { __STATVFS64_BODY };
|
||||
struct statvfs64 { __STATVFS64_BODY };
|
||||
|
||||
#define ST_RDONLY 0x0001
|
||||
#define ST_NOSUID 0x0002
|
||||
@@ -48,7 +50,9 @@ struct statvfs {
|
||||
#define ST_RELATIME 0x1000
|
||||
|
||||
extern int statvfs(const char* __restrict, struct statvfs* __restrict) __nonnull((1, 2));
|
||||
extern int statvfs64(const char* __restrict, struct statvfs64* __restrict) __nonnull((1, 2));
|
||||
extern int fstatvfs(int, struct statvfs*) __nonnull((2));
|
||||
extern int fstatvfs64(int, struct statvfs64*) __nonnull((2));
|
||||
|
||||
__END_DECLS
|
||||
|
||||
|
||||
Reference in New Issue
Block a user