STATFS(2) — UNIX Programmer’s Manual
NAME
statfs − get file system statistics
SYNOPSIS
#include <sys/vfs.h>
int statfs(path, buf)
char ∗path;
struct statfs ∗buf;
int fstatfs(fd, buf)
int fd;
struct statfs ∗buf;
DESCRIPTION
statfs() returns information about a mounted file system. path is the path name of any file within the mounted filesystem. buf is a pointer to a statfs() structure defined as follows:
typedef struct {
longval[2];
} fsid_t;
struct statfs {
longf_type; /∗ type of info, zero for now ∗/
longf_bsize;/∗ fundamental file system block size ∗/
longf_blocks;/∗ total blocks in file system ∗/
longf_bfree;/∗ free blocks ∗/
longf_bavail;/∗ free blocks available to non-super-user ∗/
longf_files;/∗ total file nodes in file system ∗/
longf_ffree;/∗ free file nodes in fs ∗/
fsid_tf_fsid; /∗ file system id ∗/
longf_spare[7];/∗ spare for later ∗/
};
Fields that are undefined for a particular file system are set to −1. fstatfs returns the same information about an open file referenced by descriptor fd.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Otherwise, −1 is returned and the global variable errno is set to indicate the error.
ERRORS
statfs() fails if one or more of the following are true:
ENOTDIR A component of the path prefix of path is not a directory.
ENAMETOOLONG The length of a component of path exceeds 255 characters, or the length of path exceeds 1023 characters.
ENOENT The file referred to by path does not exist.
EACCES Search permission is denied for a component of the path prefix of path.
ELOOP Too many symbolic links were encountered in translating path.
EFAULT buf or path points to an invalid address.
EIO An I/O error occurred while reading from or writing to the file system.
fstatfs fails if one or both of the following are true:
EBADF fd is not a valid open file descriptor.
EFAULT buf points to an invalid address.
EIO An I/O error occurred while reading from the file system.
7th Edition — Revision 1.4 of 01/07/90