GETVFSSTAT(2)

NAME
getvfsstat - get list of all mounted file systems

LIBRARY
libc

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.