.\" Copyright (c) 1989, 1991 The Regents of the University of California.
.\" %sccs.include.redist.man%
.\" @(#)statfs.2 6.4 (Berkeley) %G%
.Nd get file system statistics
.Fd #include <sys/types.h>
.Fd #include <sys/mount.h>
.Fn statfs "const char *path" "struct statfs *buf"
.Fn fstatfs "int fd" "struct statfs *buf"
returns information about a mounted file system.
is the path name of any file within the mounted filesystem.
structure defined as follows:
#define MNAMELEN 32 /* length of buffer for returned name */
short f_type; /* type of filesystem (see below) */
short f_flags; /* copy of mount flags */
long f_fsize; /* fundamental file system block size */
long f_bsize; /* optimal transfer block size */
long f_blocks; /* total data blocks in file system */
long f_bfree; /* free blocks in fs */
long f_bavail; /* free blocks avail to non-superuser */
long f_files; /* total file nodes in file system */
long f_ffree; /* free file nodes in fs */
fsid_t f_fsid; /* file system id */
long f_spare[6]; /* spare for later */
char f_mntonname[MNAMELEN]; /* mount point */
char f_mntfromname[MNAMELEN]; /* mounted filesystem */
Fields that are undefined for a particular file system are set to -1.
returns the same information about an open file referenced by descriptor
Upon successful completion, a value of 0 is returned.
Otherwise, -1 is returned and the global variable
is set to indicate the error.
fails if one or more of the following are true:
.Bl -tag -width ENAMETOOLONGA
A component of the path prefix of
contains a character with the high-order bit set.
The length of a component of
Search permission is denied for a component of the path prefix of
Too many symbolic links were encountered in translating
points to an invalid address.
An I/O error occurred while reading from or writing to the file system.
fails if one or both of the following are true:
.Bl -tag -width ENAMETOOLONGA
is not a valid open file descriptor.
points to an invalid address.
An I/O error occurred while reading from or writing to the file system.
function call is currently under development.