NAME
sys/statvfs.h —
VFS File System information structure
SYNOPSIS
#include
<sys/statvfs.h>
DESCRIPTION
The <sys/statvfs.h> header shall define the statvfs structure, which shall include at least the following members:
unsigned long f_bsize File system block size.
unsigned long f_frsize Fundamental file system block size.
fsblkcnt_t f_blocks Total number of blocks on file system in units of f_frsize.
fsblkcnt_t f_bfree Total number of free blocks.
fsblkcnt_t f_bavail Number of free blocks available to
non-privileged process.
fsfilcnt_t f_files Total number of file serial numbers.
fsfilcnt_t f_ffree Total number of free file serial numbers.
fsfilcnt_t f_favail Number of file serial numbers available to
non-privileged process.
unsigned long f_fsid File system ID.
unsigned long f_flag Bit mask of f_flag values.
unsigned long f_namemax Maximum filename length.
The <sys/statvfs.h> header shall define the fsblkcnt_t and fsfilcnt_t types as described in <sys/types.h>.
The <sys/statvfs.h> header shall define the following symbolic constants for the f_flag member:
- ST_RDONLY
- Read-only file system.
- ST_NOSUID
- Does not support the semantics of the ST_ISUID and ST_ISGID file mode bits.
The following shall be declared as functions and may also be defined as macros. Function prototypes shall be provided.
int fstatvfs(int, struct statvfs *); int statvfs(const char *restrict, struct statvfs *restrict);
APPLICATION USAGE
None.
RATIONALE
None.
FUTURE DIRECTIONS
None.
SEE ALSO
XSH fstatvfs(3)
CHANGE HISTORY
First released in Issue 4, Version 2.
Issue 5
The type of f_blocks, f_bfree, and f_bavail is changed from unsigned long to fsblkcnt_t; the type of f_files, f_ffree, and f_favail is changed from unsigned long to fsfilcnt_t.
Issue 6
The Open Group Corrigendum U035/5 is applied. In the DESCRIPTION, the types fsblkcnt_t and fsfilcnt_t have been described.
The restrict keyword is added to the prototype for statvfs(3).
IEEE Std 1003.1-2001 (“POSIX.1”)/Cor 1-2002, item XBD/TC1/D6/18 is applied, changing the description of ST_NOSUID from "Does not support setuid(3) / setgid(3) semantics" to "Does not support the semantics of the ST_ISUID and ST_ISGID file mode bits".
Issue 7
The <sys/statvfs.h> header is moved from the XSI option to the Base.
This reference page is clarified with respect to macros and symbolic constants.