1202375Srdivacky#pragma once 2202375Srdivacky 3202375Srdivacky#ifdef __cplusplus 4202375Srdivackyextern "C" { 5202375Srdivacky#endif 6202375Srdivacky 7202375Srdivacky#include <features.h> 8202375Srdivacky 9202375Srdivacky#define __NEED_fsblkcnt_t 10202375Srdivacky#define __NEED_fsfilcnt_t 11202375Srdivacky#include <bits/alltypes.h> 12202375Srdivacky 13202375Srdivacky#include <endian.h> 14202375Srdivacky 15202375Srdivackystruct statvfs { 16226633Sdim unsigned long f_bsize, f_frsize; 17207618Srdivacky fsblkcnt_t f_blocks, f_bfree, f_bavail; 18202375Srdivacky fsfilcnt_t f_files, f_ffree, f_favail; 19202375Srdivacky#if __BYTE_ORDER == __LITTLE_ENDIAN 20202375Srdivacky unsigned long f_fsid; 21202375Srdivacky unsigned : 8 * (2 * sizeof(int) - sizeof(long)); 22202375Srdivacky#else 23202375Srdivacky unsigned : 8 * (2 * sizeof(int) - sizeof(long)); 24202375Srdivacky unsigned long f_fsid; 25202375Srdivacky#endif 26202375Srdivacky unsigned long f_flag, f_namemax; 27202375Srdivacky int __reserved[6]; 28218893Sdim}; 29202375Srdivacky 30202375Srdivackyint statvfs(const char* __restrict, struct statvfs* __restrict); 31218893Sdimint fstatvfs(int, struct statvfs*); 32202375Srdivacky 33202375Srdivacky#define ST_RDONLY 1 34218893Sdim#define ST_NOSUID 2 35218893Sdim#define ST_NODEV 4 36202375Srdivacky#define ST_NOEXEC 8 37202375Srdivacky#define ST_SYNCHRONOUS 16 38202375Srdivacky#define ST_MANDLOCK 64 39202375Srdivacky#define ST_WRITE 128 40202375Srdivacky#define ST_APPEND 256 41202375Srdivacky#define ST_IMMUTABLE 512 42202375Srdivacky#define ST_NOATIME 1024 43202375Srdivacky#define ST_NODIRATIME 2048 44202375Srdivacky 45202375Srdivacky#ifdef __cplusplus 46202375Srdivacky} 47202375Srdivacky#endif 48202375Srdivacky