Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ statfs(2) — Interactive 2.2

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(2)

chown(2)

creat(2)

link(2)

mknod(2)

pipe(2)

read(2)

time(2)

unlink(2)

utime(2)

write(2)

fs(4)



          STATFS(2)            INTERACTIVE UNIX System            STATFS(2)



          NAME
               statfs, fstatfs - get file system information

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

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

               int fstatfs (fildes, buf, len, fstyp)
               int fildes;
               struct statfs *buf;
               int len, fstyp;

          DESCRIPTION
               The statfs system call returns a ``generic superblock''
               describing a file system.  It can be used to acquire infor-
               mation about mounted as well as unmounted file systems, and
               usage is slightly different in the two cases.  In all cases,
               buf is a pointer to a structure (described below) which will
               be filled by the system call, and len is the number of bytes
               of information which the system should return in the struc-
               ture.  Len must be no greater than sizeof (struct statfs)
               and ordinarily it will contain exactly that value; if it
               holds a smaller value, the system will fill the structure
               with that number of bytes.  (This allows future versions of
               the system to grow the structure without invalidating older
               binary programs.)

               If the file system of interest is currently mounted, path
               should name a file which resides on that file system.  In
               this case the file system type is known to the operating
               system and the fstyp argument must be zero.  For an
               unmounted file system path must name the block special file
               containing it and fstyp must contain the (non-zero) file
               system type.  In both cases read, write, or execute permis-
               sion of the named file is not required, but all directories
               listed in the path name leading to the file must be search-
               able.

               The statfs structure pointed to by buf includes the follow-
               ing members:
                    short   f_fstyp;    /* File system type */
                    short   f_bsize;    /* Block size */
                    short   f_frsize;   /* Fragment size */
                    long    f_blocks;   /* Total number of blocks */
                    long    f_bfree;    /* Count of free blocks */
                    long    f_files;    /* Total number of file nodes */
                    long    f_ffree;    /* Count of free file nodes */
                    char    f_fname[6]; /* Volume name */


          Rev. C Software Development Set                            Page 1





          STATFS(2)            INTERACTIVE UNIX System            STATFS(2)



                    char    f_fpack[6]; /* Pack name */

               The fstatfs system call is similar, except that the file
               named by path in statfs is instead identified by an open
               file descriptor fildes obtained from a successful open(2),
               creat(2), dup(2), fcntl(2), or pipe(2) system call.

               The statfs system call obsoletes ustat(2) and should be used
               in preference to it in new programs.

               The statfs and fstatfs system calls will fail if one or more
               of the following is true:

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

               [ENOENT]       The named file does not exist.

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

               [EFAULT]       Buf or path points to an invalid address.

               [EBADF]        Fildes is not a valid open file descriptor.

               [EINVAL]       Fstyp is an invalid file system type; path is
                              not a block special file and fstyp is
                              nonzero; len is negative or is greater than
                              sizeof (struct statfs).

               [ENOLINK]      Path points to a remote machine, and the link
                              to that machine is no longer active.

               [EMULTIHOP]    Components of path require hopping to multi-
                              ple remote machines.

          SEE ALSO
               chmod(2), chown(2), creat(2), link(2), mknod(2), pipe(2),
               read(2), time(2), unlink(2), utime(2), write(2), fs(4).

          DIAGNOSTICS
               Upon successful completion a value of 0 is returned.  Other-
               wise, a value of -1 is returned, and errno is set to indi-
               cate the error.











          Rev. C Software Development Set                            Page 2



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