Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

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

NAME
     statfs - get file system statistics

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

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

     int
     fstatfs(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 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_fsize;          /* fundamental file system block size */
     long    f_bsize;          /* 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.
     Fstatfs() returns the same information about an open file referenced by
     descriptor fd.

RETURN VALUES
     Upon successful completion, a value of 0 is returned.  Otherwise, -1 is
     returned and the global variable errno 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 Path is not a directory.

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

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

                    or the length of path exceeds 1023 characters.
     [ENOENT]       The file referred to by path does not exist.

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

     [ELOOP]        Too many symbolic links were encountered in translating
                    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.

     Fstatfs() fails if one or both 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 or writing to the
                    file system.

HISTORY
     The statfs function call is currently under development.

BSDI BSD/386                    March 26, 1993                               2







































Typewritten Software • bear@typewritten.org • Edmonds, WA 98026