1 #ifndef _SYS_STATVFS_H 2 #define _SYS_STATVFS_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 #include <features.h> 9 10 #define __NEED_fsblkcnt_t 11 #define __NEED_fsfilcnt_t 12 #include <bits/alltypes.h> 13 14 struct statvfs { 15 unsigned long f_bsize, f_frsize; 16 fsblkcnt_t f_blocks, f_bfree, f_bavail; 17 fsfilcnt_t f_files, f_ffree, f_favail; 18 #if __BYTE_ORDER == __LITTLE_ENDIAN 19 unsigned long f_fsid; 20 unsigned :8*(2*sizeof(int)-sizeof(long)); 21 #else 22 unsigned :8*(2*sizeof(int)-sizeof(long)); 23 unsigned long f_fsid; 24 #endif 25 unsigned long f_flag, f_namemax; 26 unsigned int f_type; 27 int __reserved[5]; 28 }; 29 30 int statvfs (const char *__restrict, struct statvfs *__restrict); 31 int fstatvfs (int, struct statvfs *); 32 33 #define ST_RDONLY 1 34 #define ST_NOSUID 2 35 #define ST_NODEV 4 36 #define ST_NOEXEC 8 37 #define ST_SYNCHRONOUS 16 38 #define ST_MANDLOCK 64 39 #define ST_WRITE 128 40 #define ST_APPEND 256 41 #define ST_IMMUTABLE 512 42 #define ST_NOATIME 1024 43 #define ST_NODIRATIME 2048 44 #define ST_RELATIME 4096 45 46 #if defined(_LARGEFILE64_SOURCE) 47 #define statvfs64 statvfs 48 #define fstatvfs64 fstatvfs 49 #define fsblkcnt64_t fsblkcnt_t 50 #define fsfilcnt64_t fsfilcnt_t 51 #endif 52 53 #ifdef __cplusplus 54 } 55 #endif 56 57 #endif 58