type {struct statvfs}

element {struct statvfs} {unsigned long} f_bsize
element {struct statvfs} {unsigned long} f_frsize
element {struct statvfs} fsblkcnt_t f_blocks
element {struct statvfs} fsblkcnt_t f_bfree
element {struct statvfs} fsblkcnt_t f_bavail
element {struct statvfs} fsfilcnt_t f_files
element {struct statvfs} fsfilcnt_t f_ffree
element {struct statvfs} fsfilcnt_t f_favail
element {struct statvfs} {unsigned long} f_fsid
element {struct statvfs} {unsigned long} f_flag
element {struct statvfs} {unsigned long} f_namemax

type fsblkcnt_t
type fsfilcnt_t

constant ST_RDONLY
constant ST_NOSUID

function int statvfs (const char*, struct statvfs*)
function int fstatvfs (int, struct statvfs*)

allow f_*
allow ST_*
allow *_t
