4.3BSD-UWisc/man/cat2/statfs.2

Compare this file to the similar file:
Show the results in this format:




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