STATFS(2)STATFS(2)NAMEstatfs - 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;
DESCRIPTIONstatfs 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 {
long val[2];
} fsid_t;
struct statfs {
long f_type; /* type of info, zero for now */
long f_bsize; /* fundamental file system block size */
long f_blocks; /* total blocks in file system */
long f_bfree; /* free blocks */
long f_bavail; /* free blocks available 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[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.
ERRORSstatfs fails if one or more of the following are true:
ENOTDIR A component of the path prefix of path is not a
directory.
EINVAL path contains a character with the high-order bit set.
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 or writing to
the file system.
16 July 1986 STATFS(2)