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

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

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

NNAAMMEE
     ggeettffssssttaatt - get list of all mounted filesystems

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

     _i_n_t
     ggeettffssssttaatt(_s_t_r_u_c_t _s_t_a_t_f_s _*_b_u_f, _l_o_n_g _b_u_f_s_i_z_e, _i_n_t _f_l_a_g_s);

DDEESSCCRRIIPPTTIIOONN
     GGeettffssssttaatt() returns information about all mounted filesystems.  _B_u_f is a
     pointer to statfs structures 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 filesystem block size */
         long    f_iosize;   /* optimal transfer block size */
         long    f_blocks;   /* total data blocks in filesystem */
         long    f_bfree;    /* free blocks in fs */
         long    f_bavail;   /* free blocks avail to non-superuser */
         long    f_files;    /* total file nodes in filesystem */
         long    f_ffree;    /* free file nodes in fs */
         fsid_t  f_fsid;     /* filesystem id */
         long    f_spare[6]; /* spare for later */
         char    f_mntonname[MNAMELEN]; /* directory on which mounted */
         char    f_mntfromname[MNAMELEN]; /* mounted filesystem */
     };
     /*
      * File system types.
      */
     #define MOUNT_UFS       1
     #define MOUNT_NFS       2
     #define MOUNT_PC        3

     Fields that are undefined for a particular filesystem are set to -1.  The
     buffer is filled with an array of _f_s_s_t_a_t structures, one for each mounted
     filesystem up to the size specified by _b_u_f_s_i_z_e.

     If _b_u_f is given as NULL, ggeettffssssttaatt() returns just the number of mounted
     filesystems.

     Normally _f_l_a_g_s should be specified as MNT_WAIT. If _f_l_a_g_s is set to
     MNT_NOWAIT, ggeettffssssttaatt() will return the information it has available
     without requesting an update from each filesystem.  Thus, some of the in-
     formation will be out of date, but ggeettffssssttaatt() will not block waiting for
     information from a filesystem that is unable to respond.

RREETTUURRNN VVAALLUUEESS
     Upon successful completion, the number of _f_s_s_t_a_t structures is returned.
     Otherwise, -1 is returned and the global variable _e_r_r_n_o is set to indi-
     cate the error.

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


     EFAULT        _B_u_f points to an invalid address.

     EIO           An I/O error occurred while reading from or writing to the
                   filesystem.

SSEEEE AALLSSOO
     statfs(2),  fstab(5),  mount(8)

HHIISSTTOORRYY
     The ggeettffssssttaatt function first appeared in 4.4BSD.

4.4BSD                           June 9, 1993                                2