#include <sys/param.h>
#include <sys/ucred.h>
#include <sys/mount.h> int
getfsstat (struct statfs *buf long bufsize int flags);
DESCRIPTION
The
getfsstat ();
system call
returns information about all mounted file systems.
The
Fa buf
argument
is a pointer to
Vt statfs
structures, as described in
statfs(2).
Fields that are undefined for a particular file system are set to -1.
The buffer is filled with an array of
Fa statfs
structures, one for each mounted file system
up to the byte count specified by
Fa bufsize .
Note, the
Fa bufsize
argument is the number of bytes that
Fa buf
can hold, not the count of statfs structures it will hold.
If
Fa buf
is given as NULL,
getfsstat ();
returns just the number of mounted file systems.
Normally
Fa flags
should be specified as
MNT_WAIT
If
Fa flags
is set to
MNT_NOWAIT
getfsstat ();
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
getfsstat ();
will not block waiting for information from a file system that is
unable to respond.
RETURN VALUES
Upon successful completion, the number of
Fa statfs
structures is returned.
Otherwise, -1 is returned and the global variable
errno
is set to indicate the error.
ERRORS
The
getfsstat ();
system call
fails if one or more of the following are true:
Bq Er EFAULT
The
Fa buf
argument
points to an invalid address.
Bq Er EIO
An
I/O
error occurred while reading from or writing to the file system.