Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ statvfs(2) — UnixWare 2.01

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 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 pathname leading
             to the file must be searchable.

             The statvfs structure pointed to by buf includes the following
             members:

                   ulong   f_bsize;         /* preferred file system block size */
                   ulong   f_frsize;        /* fundamental filesystem block size
                                            (if supported) */
                   ulong   f_blocks;        /* total # of blocks on file system
                                            in units of f_frsize */
                   ulong   f_bfree;         /* total # of free blocks */
                   ulong   f_bavail;        /* # of free blocks avail to
                                                 non-superuser */
                   ulong   f_files;         /* total # of file nodes (inodes) */
                   ulong   f_ffree;         /* total # of free file nodes */
                   ulong   f_favail;        /* # of inodes avail to
                                                 non-superuser*/
                   fsid_t  f_fsid;          /* file system id (dev for now) */
                   char    f_basetype[FSTYPSZ]; /*  target fs type name,
                                                 null-terminated */
                   ulong   f_flag;          /* bit mask of flags */
                   ulong   f_namemax;       /* maximum file name length */
                   char    f_fstr[32];      /* file system specific string */
                   ulong   f_filler[16];    /* reserved for future expansion */





                           Copyright 1994 Novell, Inc.               Page 1













      statvfs(2)                                                statvfs(2)


            f_basetype contains a null-terminated FSType name of the
            mounted target (for example, s5 mounted over NFS will contain
            nfs).

            The following flags can be returned in the f_flag field:

                  ST_RDONLY     0x01       /* read-only file system */
                  ST_NOSUID     0x02       /* does not support setuid/setgid
                                                semantics */
                  ST_NOTRUNC    0x04       /* does not truncate file names
                                                longer than {NAME_MAX}*/

            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.

         Return Values
            On success, statvfs and fstatvfs return 0.  On failure,
            statvfs and fstatvfs return -1 and set errno to identify the
            error.

         Errors
            In the following conditions, statvfs fails and sets errno to:

            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 multiple
                           remote machines and file system type does not
                           allow it.

            ENAMETOOLONG   The length of a path component exceeds
                           {NAME_MAX} characters, or the length of path
                           exceeds {PATH_MAX} characters.


                          Copyright 1994 Novell, Inc.               Page 2













       statvfs(2)                                                statvfs(2)


             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.

             In the following conditions, fstatvfs fails and sets errno to:

             EFAULT         buf points to an invalid address.

             EBADF          fildes is not an open file descriptor.

             EINTR          A signal was caught during fstatvfs execution.

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

       REFERENCES
             chmod(2), chown(2), creat(2), link(2), mknod(2), pipe(2),
             read(2), time(2), unlink(2), utime(2), write(2)

























                           Copyright 1994 Novell, Inc.               Page 3








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