May 19, 2006 GETVFSSTAT 2

### NAME

getvfsstat - get list of all mounted file systems

### LIBRARY

Standard C Library (libc, -lc)

### SYNOPSIS

```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.

### 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 NetBSD3.0 to replace getfsstat(``) which appeared in 4.4BSD.