Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ fstatvfs(2) — CX/UX 6.20

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)



statvfs(2)                                             statvfs(2)



NAME
     statvfs, fstatvfs - get file system information

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

     int statvfs (const char *path, struct statvfs *buf);

     int fstatvfs (int fildes, struct statvfs *buf);

DESCRIPTION
     statvfs returns descriptive information about a mounted file
     system containing the file referenced by path. buf is a
     pointer to a structure (described below) that is filled by
     the system call.

     path must name a file that resides on the file system for
     which information is desired.  Read, write, or execute per-
     mission for the named file is not required, but all direc-
     tories listed in the path name leading to the file must be
     searchable.

     The statvfs structure pointed to by buf includes the follow-
     ing members:

          ulong   fbsize;         /* preferred file system block size */
          ulong   ffrsize;        /* fundamental filesystem block size */
          ulong   fblocks;        /* total # of blocks on file system
                                        in units of ffrsize */
          ulong   fbfree;         /* total # of free blocks */
          ulong   fbavail;        /* # of free blocks avail to
                                        non-superuser */
          ulong   ffiles;         /* total # of file nodes (inodes) */
          ulong   fffree;         /* total # of free file nodes */
          ulong   ffavail;        /* # of inodes avail to
                                        non-superuser */
          ulong   ffsid;          /* file system id (dev for now) */
          char    fbasetype[FSTYPSZ]; /*  target fs type name,
                                        null-terminated */
          ulong   fflag;          /* bit mask of flags */
          ulong   fnamemax;       /* maximum file name length */
          char    ffstr[32];      /* file system specific string */

     fbasetype contains the null-terminated file system type
     name of the mounted target.

     The following flags can be returned in the fflag field:

          STRDONLY     0x01       /* read-only file system */
          STNOSUID     0x02       /* does not support setuid/setgid
                                        semantics */



Page 1                        CX/UX Programmer's Reference Manual





statvfs(2)                                             statvfs(2)



          STNOTRUNC    0x04       /* does not truncate file names
                                        longer than {NAMEMAX} */

     The statvfs structure, the constant FSTYPSZ, and the flag
     values are all defined in the header file <sys/statvfs.h>.

     fstatvfs is similar to statvfs, except that the file named
     by path in statvfs is instead identified by an open file
     descriptor fildes obtained from a successful open, creat,
     dup, fcntl, or pipe system call.

     statvfs fails if one or more of the following are true:

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

     EFAULT         path or buf points outside the process's
                    allocated address space.

     EINTR          A signal was caught during statvfs execution.

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

     ELOOP          Too many symbolic links were encountered in
                    translating path.

     EMULTIHOP      Components of path require hopping to multi-
                    ple remote machines and file system type does
                    not allow it.

     ENAMETOOLONG   The length of a path component exceeds
                    {NAMEMAX} characters, or the length of path
                    exceeds {PATHMAX} characters.

     ENOENT         Either a component of the path prefix or the
                    file referred to by path does not exist.

     ENOLINK        path points to a remote machine and the link
                    to that machine is no longer active.

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

     fstatvfs fails if one or more of the following are true:

     EFAULT         buf points to an invalid address.

     EBADF          fildes is not an open file descriptor.

     EINTR          A signal was caught during fstatvfs execu-
                    tion.



Page 2                        CX/UX Programmer's Reference Manual





statvfs(2)                                             statvfs(2)



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

DIAGNOSTICS
     Upon successful completion a value of 0 is returned.  Other-
     wise, 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).












































Page 3                        CX/UX Programmer's Reference Manual



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