4.4BSD/usr/share/man/cat2/statfs.0

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

STATFS(2)                   BSD Programmer's Manual                  STATFS(2)

NNAAMMEE
     ssttaattffss - get file system statistics

SSYYNNOOPPSSIISS
     ##iinncclluuddee <<ssyyss//ppaarraamm..hh>>
     ##iinncclluuddee <<ssyyss//mmoouunntt..hh>>

     _i_n_t
     ssttaattffss(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f);

     _i_n_t
     ffssttaattffss(_i_n_t _f_d, _s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f);

DDEESSCCRRIIPPTTIIOONN
     SSttaattffss() returns information about a mounted file system.  _P_a_t_h is the
     path name of any file within the mounted filesystem.  _B_u_f is a pointer to
     a ssttaattffss() structure defined as follows:

     typedef quad fsid_t;

     #define MNAMELEN 32     /* length of buffer for returned name */

     struct statfs {
     short   f_type;           /* type of filesystem (see below) */
     short   f_flags;          /* copy of mount flags */
     long    f_bsize;          /* fundamental file system block size */
     long    f_iosize;         /* optimal transfer block size */
     long    f_blocks;         /* total data blocks in file system */
     long    f_bfree;          /* free blocks in fs */
     long    f_bavail;         /* free blocks avail 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[6];       /* spare for later */
     char    f_mntonname[MNAMELEN];    /* mount point */
     char    f_mntfromname[MNAMELEN];  /* mounted filesystem */
     };
     /*
     * File system types.
     */
     #define MOUNT_UFS       1
     #define MOUNT_NFS       2
     #define MOUNT_MFS       3
     #define MOUNT_PC        4

     Fields that are undefined for a particular file system are set to -1.
     FFssttaattffss() returns the same information about an open file referenced by
     descriptor _f_d.

RREETTUURRNN VVAALLUUEESS
     Upon successful completion, a value of 0 is returned.  Otherwise, -1 is
     returned and the global variable _e_r_r_n_o is set to indicate the error.

EERRRROORRSS
     SSttaattffss() fails if one or more of the following are true:

     [ENOTDIR]      A component of the path prefix of _P_a_t_h is not a directory.

     [EINVAL]       _p_a_t_h contains a character with the high-order bit set.

     [ENAMETOOLONG]
                    The length of a component of _p_a_t_h exceeds 255 characters,

                    or the length of _p_a_t_h exceeds 1023 characters.

     [ENOENT]       The file referred to by _p_a_t_h does not exist.

     [EACCES]       Search permission is denied for a component of the path
                    prefix of _p_a_t_h.

     [ELOOP]        Too many symbolic links were encountered in translating
                    _p_a_t_h.

     [EFAULT]       _B_u_f or _p_a_t_h points to an invalid address.

     [EIO]          An I/O error occurred while reading from or writing to the
                    file system.

     FFssttaattffss() fails if one or both of the following are true:

     [EBADF]        _F_d 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.

HHIISSTTOORRYY
     The ssttaattffss function first appeared in 4.4BSD.

4.4BSD                           June 9, 1993                                2