BSD 4_4_Lite1 release
[unix-history] / usr / src / lib / libc / sys / statfs.2
index e32d28b..a7a1da2 100644 (file)
@@ -1,18 +1,44 @@
-.\" Copyright (c) 1989, 1991 The Regents of the University of California.
-.\" All rights reserved.
+.\" Copyright (c) 1989, 1991, 1993
+.\"    The Regents of the University of California.  All rights reserved.
 .\"
 .\"
-.\" %sccs.include.redist.roff%
+.\" 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. All advertising materials mentioning features or use of this software
+.\"    must display the following acknowledgement:
+.\"    This product includes software developed by the University of
+.\"    California, Berkeley and its contributors.
+.\" 4. 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.
 .\"
 .\"
-.\"    @(#)statfs.2    6.5 (Berkeley) %G%
+.\" 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.
 .\"
 .\"
-.Dd 
+.\"    @(#)statfs.2    8.3 (Berkeley) 2/11/94
+.\"
+.Dd February 11, 1994
 .Dt STATFS 2
 .Os
 .Sh NAME
 .Nm statfs
 .Nd get file system statistics
 .Sh SYNOPSIS
 .Dt STATFS 2
 .Os
 .Sh NAME
 .Nm statfs
 .Nd get file system statistics
 .Sh SYNOPSIS
-.Fd #include <sys/types.h>
+.Fd #include <sys/param.h>
 .Fd #include <sys/mount.h>
 .Ft int
 .Fn statfs "const char *path" "struct statfs *buf"
 .Fd #include <sys/mount.h>
 .Ft int
 .Fn statfs "const char *path" "struct statfs *buf"
@@ -30,30 +56,41 @@ structure defined as follows:
 .Bd -literal
 typedef quad fsid_t;
 
 .Bd -literal
 typedef quad fsid_t;
 
-#define MNAMELEN 32    /* length of buffer for returned name */
+#define MNAMELEN 90    /* length of buffer for returned name */
 
 struct statfs {
 short  f_type;           /* type of filesystem (see below) */
 short  f_flags;          /* copy of mount flags */
 
 struct statfs {
 short  f_type;           /* type of filesystem (see below) */
 short  f_flags;          /* copy of mount flags */
-long   f_fsize;          /* fundamental file system block size */
-long   f_bsize;          /* optimal transfer block size */
+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 */
 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 */
-long   f_spare[6];       /* spare for later */
+long   f_spare[9];       /* spare for later */
 char   f_mntonname[MNAMELEN];    /* mount point */
 char   f_mntfromname[MNAMELEN];  /* mounted filesystem */
 };
 /*
 * File system types.
 */
 char   f_mntonname[MNAMELEN];    /* mount point */
 char   f_mntfromname[MNAMELEN];  /* mounted filesystem */
 };
 /*
 * File system types.
 */
-#define        MOUNT_UFS       1
-#define        MOUNT_NFS       2
-#define        MOUNT_MFS       3
-#define        MOUNT_PC        4
+#define        MOUNT_UFS       1       /* Fast Filesystem */
+#define        MOUNT_NFS       2       /* Sun-compatible Network Filesystem */
+#define        MOUNT_MFS       3       /* Memory-based Filesystem */
+#define        MOUNT_MSDOS     4       /* MS/DOS Filesystem */
+#define        MOUNT_LFS       5       /* Log-based Filesystem */
+#define        MOUNT_LOFS      6       /* Loopback Filesystem */
+#define        MOUNT_FDESC     7       /* File Descriptor Filesystem */
+#define        MOUNT_PORTAL    8       /* Portal Filesystem */
+#define MOUNT_NULL     9       /* Minimal Filesystem Layer */
+#define MOUNT_UMAP     10      /* Uid/Gid Remapping Filesystem */
+#define MOUNT_KERNFS   11      /* Kernel Information Filesystem */
+#define MOUNT_PROCFS   12      /* /proc Filesystem */
+#define MOUNT_AFS      13      /* Andrew Filesystem */
+#define MOUNT_CD9660   14      /* ISO9660 (aka CDROM) Filesystem */
+#define MOUNT_UNION    15      /* Union (translucent) Filesystem */
 .Ed
 .Pp
 Fields that are undefined for a particular file system are set to -1.
 .Ed
 .Pp
 Fields that are undefined for a particular file system are set to -1.
@@ -105,7 +142,7 @@ error occurred while reading from or writing to the file system.
 .El
 .Pp
 .Fn Fstatfs
 .El
 .Pp
 .Fn Fstatfs
-fails if one or both of the following are true:
+fails if one or more of the following are true:
 .Bl -tag -width ENAMETOOLONGA
 .It Bq Er EBADF
 .Fa Fd
 .Bl -tag -width ENAMETOOLONGA
 .It Bq Er EBADF
 .Fa Fd
@@ -121,5 +158,4 @@ error occurred while reading from or writing to the file system.
 .Sh HISTORY
 The
 .Nm statfs
 .Sh HISTORY
 The
 .Nm statfs
-function call is
-.Ud .
+function first appeared in 4.4BSD.