#include #define T(t) (t*)0; #define F(t,n) {t *y = &x.n;} #define C(n) switch(n){case n:;} static void f() { T(fsblkcnt_t) T(fsfilcnt_t) { struct statvfs x; F(unsigned long, f_bsize) F(unsigned long, f_frsize) F(fsblkcnt_t,f_blocks) F(fsblkcnt_t,f_bfree) F(fsblkcnt_t,f_bavail) F(fsfilcnt_t,f_files) F(fsfilcnt_t,f_ffree) F(fsfilcnt_t,f_favail) F(unsigned long, f_fsid) F(unsigned long, f_flag) F(unsigned long, f_namemax) } C(ST_RDONLY) C(ST_NOSUID) {int(*p)(int,struct statvfs*) = fstatvfs;} {int(*p)(const char*restrict,struct statvfs*restrict) = statvfs;} }