The Open Group Base Specifications Issue 7
IEEE Std 1003.1-2008, 2016 Edition
Copyright © 2001-2016 The IEEE and The Open Group

#### 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);

The following sections are informative.

#### APPLICATION USAGE

> None.

#### RATIONALE

> None.

#### FUTURE DIRECTIONS

> None.

#### SEE ALSO

> <sys/types.h>

> XSH fstatvfs

#### 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().

> IEEE Std 1003.1-2001/Cor 1-2002, item XBD/TC1/D6/18 is applied, changing the description of ST_NOSUID from ``Does not support setuid()/ setgid() 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.

End of informative text.

return to top of page

UNIX ® is a registered Trademark of The Open Group.
POSIX ® is a registered Trademark of The IEEE.
Copyright © 2001-2016 The IEEE and The Open Group, All Rights Reserved
[ Main Index | XBD | XSH | XCU | XRAT ]