summaryrefslogtreecommitdiff
path: root/static/netbsd/man5/statvfs.5
diff options
context:
space:
mode:
Diffstat (limited to 'static/netbsd/man5/statvfs.5')
-rw-r--r--static/netbsd/man5/statvfs.5191
1 files changed, 191 insertions, 0 deletions
diff --git a/static/netbsd/man5/statvfs.5 b/static/netbsd/man5/statvfs.5
new file mode 100644
index 00000000..65f45174
--- /dev/null
+++ b/static/netbsd/man5/statvfs.5
@@ -0,0 +1,191 @@
+.\" $NetBSD: statvfs.5,v 1.17 2025/02/13 08:14:53 wiz Exp $
+.\"
+.\" Copyright (c) 1989, 1991, 1993
+.\" The Regents of the University of California. All rights reserved.
+.\"
+.\" Redistribution and use in source and binary forms, with or without
+.\" modification, are permitted provided that the following conditions
+.\" are met:
+.\" 1. Redistributions of source code must retain the above copyright
+.\" notice, this list of conditions and the following disclaimer.
+.\" 2. Redistributions in binary form must reproduce the above copyright
+.\" notice, this list of conditions and the following disclaimer in the
+.\" documentation and/or other materials provided with the distribution.
+.\" 3. Neither the name of the University nor the names of its contributors
+.\" may be used to endorse or promote products derived from this software
+.\" without specific prior written permission.
+.\"
+.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+.\" SUCH DAMAGE.
+.\"
+.\" @(#)statfs.2 8.5 (Berkeley) 5/24/95
+.\"
+.Dd February 13, 2025
+.Dt STATVFS 5
+.Os
+.Sh NAME
+.Nm statvfs
+.Nd file system statistics
+.Sh SYNOPSIS
+.In sys/types.h
+.In sys/statvfs.h
+.Sh DESCRIPTION
+The
+.In sys/statvfs.h
+header defines the structures and functions that
+return information about a mounted file system.
+The
+.Nm statvfs
+structure is defined as follows:
+.Bd -literal
+typedef struct { int32_t val[2]; } fsid_t; /* file system id type */
+
+#define VFS_NAMELEN 32 /* length of fs type name, including nul */
+#define VFS_MNAMELEN 1024 /* length of buffer for returned name */
+
+struct statvfs {
+ unsigned long f_flag; /* copy of mount exported flags */
+ unsigned long f_bsize; /* system block size */
+ unsigned long f_frsize; /* system fragment size */
+ unsigned long f_iosize; /* optimal file system block size */
+
+ /* The following are in units of f_frsize */
+ fsblkcnt_t f_blocks; /* number of blocks in file system */
+ fsblkcnt_t f_bfree; /* free blocks avail in file system */
+ fsblkcnt_t f_bavail; /* free blocks avail to non-root */
+ fsblkcnt_t f_bresvd; /* blocks reserved for root */
+
+ fsfilcnt_t f_files; /* total file nodes in file system */
+ fsfilcnt_t f_ffree; /* free file nodes in file system */
+ fsfilcnt_t f_favail /* free file nodes avail to non-root */
+ fsfilcnt_t f_fresvd; /* file nodes reserved for root */
+
+ uint64_t f_syncreads; /* count of sync reads since mount */
+ uint64_t f_syncwrites; /* count of sync writes since mount */
+
+ uint64_t f_asyncreads; /* count of async reads since mount */
+ uint64_t f_asyncwrites; /* count of async writes since mount */
+
+ fsid_t f_fsidx; /* NetBSD compatible file system id */
+ unsigned long f_fsid; /* POSIX compliant file system id */
+
+ unsigned long f_namemax; /* maximum filename length */
+ uid_t f_owner; /* user that mounted the file system */
+
+ uint64_t f_spare[4]; /* spare space */
+
+ char f_fstypename[VFS_NAMELEN]; /* fs type name */
+ char f_mntonname[VFS_MNAMELEN]; /* directory on which mounted */
+ char f_mntfromname[VFS_MNAMELEN]; /* mounted file system */
+ char f_mntfromlabel[_VFS_MNAMELEN]; /* disk label name if avail */
+};
+.Ed
+.Pp
+The
+.Fa f_flag
+argument can have the following bits set:
+.Bl -tag -width ST_SYNCHRONOUS
+.It Dv ST_RDONLY
+The filesystem is mounted read-only;
+Even the super-user may not write on it.
+.It Dv ST_NOEXEC
+Files may not be executed from the filesystem.
+.It Dv ST_NOSUID
+Setuid and setgid bits on files are not honored when they are executed.
+.It Dv ST_NODEV
+Special files in the filesystem may not be opened.
+.It Dv ST_UNION
+Union with underlying filesystem instead of obscuring it.
+.It Dv ST_SYNCHRONOUS
+All I/O to the filesystem is done synchronously.
+.It Dv ST_ASYNC
+No filesystem I/O is done synchronously.
+.It Dv ST_NOCOREDUMP
+Don't write core dumps to this file system.
+.It Dv ST_NOATIME
+Never update access times.
+.It Dv ST_SYMPERM
+Recognize symbolic link permission.
+.It Dv ST_NODEVMTIME
+Never update modification times for device files.
+.It Dv ST_LOG
+Use logging (journaling).
+.It Dv ST_LOCAL
+The filesystem resides locally.
+.It Dv ST_QUOTA
+The filesystem has quotas enabled on it.
+.It Dv ST_ROOTFS
+Identifies the root filesystem.
+.It Dv ST_EXRDONLY
+The filesystem is exported read-only.
+.It Dv ST_EXPORTED
+The filesystem is exported for both reading and writing.
+.It Dv ST_DEFEXPORTED
+The filesystem is exported for both reading and writing to any Internet host.
+.It Dv ST_EXPORTANON
+The filesystem maps all remote accesses to the anonymous user.
+.It Dv ST_EXKERB
+The filesystem is exported with Kerberos uid mapping.
+.It Dv ST_EXNORESPORT
+Don't enforce reserved ports (NFS).
+.It Dv ST_EXPUBLIC
+Public export (WebNFS).
+.El
+.Pp
+Fields that are undefined for a particular file system are set to \-1.
+.Sh NOTES
+.Bl -tag -width f_bavail
+.It f_flag
+The
+.Fa f_flag
+field is the same as the
+.Fa f_flags
+field in the
+.Bx 4.3
+.Ic statfs
+system call.
+.It f_fsid
+Is defined to be
+.Ft unsigned long
+by the X/Open standard.
+Unfortunately this is not enough space to store our
+.Ft fsid_t ,
+so we define an additional
+.Fa f_fsidx
+field.
+.It f_bavail
+Could historically be negative (in the
+.Ic statfs
+system call) when the used space has exceeded
+the non-superuser free space.
+In order to comply with the X/Open standard, we have to define
+.Ft fsblkcnt_t
+as an unsigned type, so in all cases where
+.Fa f_bavail
+would have been negative, we set it to 0.
+In addition we provide
+.Fa f_bresvd
+which contains the amount of reserved blocks for the superuser, so
+the old value of
+.Fa f_bavail
+can be easily computed as:
+.Bd -literal
+ old_bavail = f_bfree - f_bresvd;
+.Ed
+.El
+.Sh SEE ALSO
+.Xr statvfs 2
+.Sh HISTORY
+The
+.In sys/statvfs.h
+header first appeared in
+.Nx 3.0 .