*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->NetBSD man pages -> statfs (2)              



NAME    [Toc]    [Back]

     statfs, fstatfs - get file system statistics

LIBRARY    [Toc]    [Back]

     Standard C Library (libc, -lc)

SYNOPSIS    [Toc]    [Back]

     #include <sys/param.h>
     #include <sys/mount.h>

     statfs(const char *path, struct statfs *buf);

     fstatfs(int fd, struct statfs *buf);

DESCRIPTION    [Toc]    [Back]

     statfs() returns information about a mounted file system.  path is the
     path name of any file within the mounted file system.  buf is a pointer
     to a statfs structure defined as follows:

     typedef struct { int32_t val[2]; } fsid_t;      /* file system id type */

     #define MFSNAMELEN   16 /* length of fs type name, including nul */
     #define MNAMELEN     90 /* length of buffer for returned name */

     struct statfs {
         short   f_type;     /* type of file system (unused; zero) */
         u_short f_oflags;   /* deprecated copy of mount flags */
         long    f_bsize;    /* fundamental file system block size */
         long    f_iosize;   /* optimal transfer block size */
         long    f_blocks;   /* total data blocks in file system */
         long    f_bfree;    /* free blocks in fs */
         long    f_bavail;   /* free blocks avail to non-superuser */
         long    f_files;    /* total file nodes in file system */
         long    f_ffree;    /* free file nodes in fs */
         fsid_t  f_fsid;     /* file system id */
         uid_t   f_owner;    /* user that mounted the file system */
         long    f_flags;    /* copy of mount flags */
         long    f_syncwrites; /* count of sync writes since mount */
         long    f_asyncwrites; /* count of async writes since mount */
         long    f_spare[1]; /* spare for later */
         char    f_fstypename[MFSNAMELEN]; /* fs type name */
         char    f_mntonname[MNAMELEN];    /* directory on which mounted */
         char    f_mntfromname[MNAMELEN];  /* mounted file system */

     The flags that may be returned include:

     MNT_RDONLY       The filesystem is mounted read-only; Even the super-user
                      may not write on it.

     MNT_NOEXEC       Files may not be executed from the filesystem.

     MNT_NOSUID       Setuid and setgid bits on files are not honored when
                      they are executed.

     MNT_NODEV        Special files in the filesystem may not be opened.

     MNT_SYNCHRONOUS  All I/O to the filesystem is done synchronously.

     MNT_ASYNC        No filesystem I/O is done synchronously.

     MNT_UNION        Union with underlying filesystem.

     MNT_NOCOREDUMP   Don't write core dumps to this file system.

     MNT_NOATIME      Never update access times.

     MNT_SYMPERM      Recognize symbolic link permission.

     MNT_NODEVMTIME   Never update mod. times for device files.

     MNT_SOFTDEP      Use soft dependencies.

     MNT_LOCAL        The filesystem resides locally.

     MNT_QUOTA        The filesystem has quotas enabled on it.

     MNT_ROOTFS       Identifies the root filesystem.

     MNT_EXRDONLY     The filesystem is exported read-only.

     MNT_EXPORTED     The filesystem is exported for both reading and writing.

     MNT_DEFEXPORTED  The filesystem is exported for both reading and writing
                      to any Internet host.

     MNT_EXPORTANON   The filesystem maps all remote accesses to the anonymous

     MNT_EXKERB       The filesystem is exported with Kerberos uid mapping.

     MNT_EXNORESPORT  Don't enforce reserved ports (NFS).

     MNT_EXPUBLIC     Public export (WebNFS).

     Fields that are undefined for a particular file system are set to -1.
     fstatfs() returns the same information about an open file referenced by
     descriptor fd.

RETURN VALUES    [Toc]    [Back]

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

ERRORS    [Toc]    [Back]

     statfs() fails if one or more of the following are true:

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

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

     [ENOENT]           The file referred to by path does not exist.

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

     [ELOOP]            Too many symbolic links were encountered in translating

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

     [EIO]              An I/O error occurred while reading from or writing to
                        the file system.

     fstatfs() fails if one or more of the following are true:

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

     [EFAULT]           buf points to an invalid address.

     [EIO]              An I/O error occurred while reading from or writing to
                        the file system.

HISTORY    [Toc]    [Back]

     The statfs() function first appeared in 4.4BSD.

BSD                              May 24, 1995                              BSD
[ Back ]
 Similar pages
Name OS Title
ff_vxfs HP-UX fast find: list file names and statistics for a VxFS file system
ff_hfs HP-UX list file names and statistics for HFS file system
ff HP-UX list file names and statistics for a file system
nfsstat Tru64 Network File System statistics
bsde_get_rule_slots FreeBSD file system firewall statistics
cachefsstat HP-UX Cache File System statistics
bsde_get_rule_count FreeBSD file system firewall statistics
ustat HP-UX get mounted file system statistics
nfsstat HP-UX Network File System statistics
rmtab HP-UX local file system mount statistics
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service