unixdev.net


Switch to SpeakEasy.net DSL

The Modular Manual Browser

Home Page
Manual: (SunOS-4.1.3)
Page:
Section:
Apropos / Subsearch:
optional field

STATFS(2)                     System Calls Manual                    STATFS(2)



NAME
       statfs, fstatfs - get file system statistics

SYNOPSIS
       #include <&lt;sys/vfs.h>&gt;

       int statfs(path, buf)
       char *path;
       struct statfs *buf;

       int fstatfs(fd, buf)
       int fd;
       struct statfs *buf;

DESCRIPTION
       statfs()  returns information about a mounted file system.  path is the
       path name of any file within the mounted filesystem.  buf is a  pointer
       to a statfs() structure defined as follows:
              typedef struct {
                     long    val[2];
              } fsid_t;
              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-super-user */
                     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.
       fstatfs() returns the same information about an open file referenced by
       descriptor fd.

RETURN VALUES
       statfs() and fstatfs() return:

       0      on success.

       -1     on failure and set errno to indicate the error.

ERRORS
       statfs() fails if one or more of the following are true:

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

       EFAULT              buf or path points to an invalid address.

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

       ELOOP               Too  many symbolic links were encountered in trans-
                           lating path.

       ENAMETOOLONG        The length of the path argument exceeds {PATH_MAX}.

                           A pathname component is longer than {NAME_MAX} (see
                           sysconf(2V))  while  {_POSIX_NO_TRUNC} is in effect
                           (see pathconf(2V)).

       ENOENT              The file referred to by path does not exist.

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

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

       EBADF               fd is not a valid open file descriptor.

       EFAULT              buf points to an invalid address.

       EIO                 An  I/O  error occurred while reading from the file
                           system.

BUGS
       The NFS revision 2 protocol does not permit the number of free files to
       be provided to the client; thus, when statfs() or fstatfs() are done on
       a file on an NFS file system, f_files and f_ffree are always -1.



                                21 January 1990                      STATFS(2)