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