GETVFSSTAT(2) | System Calls Manual | GETVFSSTAT(2)

# NAME

`getvfsstat` — get list of all mounted file systems

# LIBRARY

Standard C Library (libc, -lc)

# SYNOPSIS

`#include <sys/types.h>`
`#include <sys/statvfs.h>`

int
`getvfsstat`(struct statvfs *buf, size_t bufsize, int flags);

# DESCRIPTION

`getvfsstat`() returns information about all mounted file systems. buf is a pointer to an array of `statvfs` structures defined in statvfs(5).

The buffer is filled with an array of statvfs structures, one for each mounted file system up to the size specified by bufsize.

If buf is given as `NULL`, `getvfsstat`() returns just the number of mounted file systems.

Normally flags should be specified as `ST_WAIT`. If flags is set to `ST_NOWAIT`, `getvfsstat`() will return the information it has available without requesting an update from each file system. Thus, some of the information will be out of date, but `getvfsstat`() will not block waiting for information from a file system that is unable to respond.

Note that bufsize is the size of the buffer in bytes, not the count of structures that will fit in it, and the return value is the count of structures, not the size.

# RETURN VALUES

Upon successful completion, the number of statvfs structures is returned. Otherwise, -1 is returned and the global variable errno is set to indicate the error.

# ERRORS

`getvfsstat`() fails if one or more of the following are true:

[`EFAULT`]
  buf points to an invalid address.
[`EIO`]
  An I/O error occurred while reading from or writing to the file system.

# SEE ALSO

statvfs(2), getmntinfo(3), fstab(5), mount(8)

# HISTORY

The `getvfsstat`() function first appeared in NetBSD 3.0 to replace `getfsstat`() which appeared in 4.4BSD.

March 27, 2021 | NetBSD 11.0