Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ statvfs(2) — NEWS-os 5.0.1

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)                SYSTEM CALLS                 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 a ``generic superblock'' describing  a  file
     system;  it can be used to acquire information about mounted
     file systems.  buf is a pointer to  a  structure  (described
     below) that is filled by the system call.

     path should name a file that resides on  that  file  system.
     The  file  system  type  is  known  to the operating system.
     Read, write, or execute permission for the named file is not
     required,  but all directories listed in the path name lead-
     ing 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
                                   (if supported) */
          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*/
          fsidt  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 */
          ulong   ffiller[16];    /* reserved for future expansion */
     fbasetype contains a null-terminated  FSType  name  of  the
     mounted target (e.g. s5 mounted over rfs will contain s5).

     The following flags can be returned in the fflag field:
          STRDONLY     0x01       /* read-only file system */
          STNOSUID     0x02       /* does not support setuid/setgid
                                        semantics */



                                                                1





statvfs(2)                SYSTEM CALLS                 statvfs(2)



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

     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.

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



                                                                2





statvfs(2)                SYSTEM CALLS                 statvfs(2)



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















































                                                                3



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