4.3BSD-UWisc/man/cat2/statfs.2
STATFS(2) UNIX Programmer's Manual STATFS(2)
NAME
statfs - get file system statistics
SYNOPSIS
#include <sys/vfs.h>
9 statfs(path, buf)
char *path;
struct statfs *buf;
9 fstatfs(fd, buf)
int fd;
struct statfs *buf;
DESCRIPTION
_S_t_a_t_f_s returns information about a mounted file system.
_P_a_t_h is the pathname of any file within the mounted filesys-
tem. _B_u_f is a pointer to a _s_t_a_t_f_s structure defined as fol-
lows:
typedef struct {
long val[2];
} fsid_t;
9 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. _F_s_t_a_t_f_s returns the same information about an
open file referenced by descriptor _f_d.
RETURN VALUE
Upon successful completion, a value of 0 is returned. Oth-
erwise, -1 is returned and the global variable _e_r_r_n_o is set
to indicate the error.
ERRORS
_S_t_a_t_f_s 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.
Printed 12/27/86 19 August 1985 1
9
STATFS(2) UNIX Programmer's Manual STATFS(2)
[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] _B_u_f or _n_a_m_e 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.
_F_s_t_a_t_f_s fails if one or both of the following are true:
[EBADF] _F_i_l_d_e_s is not a valid open file descriptor.
[EFAULT] _B_u_f points to an invalid address.
[EIO] An I/O error occurred while reading from or
writing to the file system.
Printed 12/27/86 19 August 1985 2