STATFS(2) — SYSTEM CALLS
NAME
statfs − get file system statistics
SYNOPSIS
#include <sys/vfs.h>
statfs(path, buf)
char ∗path;
struct statfs ∗buf;
fstatfs(fd, buf)
int fd;
struct statfs ∗buf;
DESCRIPTION
Statfs returns information about a mounted file system. Path is the pathname 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-superuser ∗/
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 is not a directory.
[EPERM] The pathname contains a character with the high-order bit set.
[ENAMETOOLONG]
The pathname was too long.
[ENOENT] The named file does not exist.
[EACCES] Search permission is denied for a component of the path prefix.
[EFAULT] Buf or name points to an invalid address.
[ELOOP] Too many symbolic links were encountered in translating the pathname.
[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] Fildes is not a valid open file descriptor.
[EFAULT] Buf points to an invalid address.
[EIO] An I/O error occurred while reading from or writing to the file system.
Sun Release 3.0β — Last change: 19 August 1985