2.11BSD/man/cat2/statfs.0

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




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



NAME
     statfs, fstatfs - get file system statistics

SYNOPSIS
     #include <sys/param.h>
     #include <sys/mount.h>

     _i_n_t
     statfs(path,buf)
     _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
     fstatfs(fd,buf)
     _i_n_t _f_d;
     _s_t_r_u_c_t _s_t_a_t_f_s *_b_u_f;

DESCRIPTION
     Statfs() 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 _s_t_a_t_f_s structure defined
     as follows:


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

     struct statfs {
     short   f_type;	       /* type of filesystem (see below) */
     short   f_flags;	       /* copy of mount flags */
     short   f_bsize;	       /* fundamental file system block size */
     short   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 */
     ino_t   f_files;	       /* total file nodes in file system */
     ino_t   f_ffree;	       /* free file nodes in fs */
     u_long  f_fsid[2];        /* file system id */
     long    f_spare[4];       /* spare for later */
     char    f_mntonname[MNAMELEN];    /* mount point */
     char    f_mntfromname[MNAMELEN];  /* mounted filesystem */
     };
     /*
     * File system types. - Only UFS is supported so the other types are not
     * given.
     */
     #define   MOUNT_UFS 1    /* Fast Filesystem */

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





Printed 11/26/99	December 26, 1995			1






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



RETURN VALUES
     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
     Statfs() 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 63 characters, or the length of
			 _p_a_t_h exceeds 255 characters.

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

     [EACCES]		 Search permission is denied for a com-
			 ponent 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.

     Fstatfs() fails if one or more 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.

HISTORY
     The statfs function first appeared in 4.4BSD.









Printed 11/26/99	December 26, 1995			2