Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ () — Motorola System V 88k Release 3.2 Version 1.2C

Media Vault

Software Library

Restoration Projects

Artifacts Sought



  STATFS(2)                                               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
       statfs returns a ``generic superblock'' describing a file
       system.  It can be used to acquire information 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 structure.  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
       permission of the named file is not required, but all
       directories listed in the path name leading to the file must


  Page 1                                                   May 1989


















  STATFS(2)                                               STATFS(2)



       be searchable.

       The statfs structure pointed to by buf includes the
       following 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 */
            char    f_fpack[6]; /* Pack name */

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

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

       statfs and fstatfs will fail if one or more of the following
       are 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


  Page 2                                                   May 1989


















  STATFS(2)                                               STATFS(2)



                      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
                      multiple remote machines.

  DIAGNOSTICS
       Upon successful completion a value of 0 is returned.
       Otherwise, a value of -1 is returned and errno is set to
       indicate the error.

  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).


























  Page 3                                                   May 1989
















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