X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/55e303ae13a4cf49d70f2294092726f2fffb9ef2..cb3231590a3c94ab4375e2228bd5e86b0cf1ad7e:/bsd/man/man2/getfsstat.2?ds=sidebyside diff --git a/bsd/man/man2/getfsstat.2 b/bsd/man/man2/getfsstat.2 index 525f6a04f..22c6edef9 100644 --- a/bsd/man/man2/getfsstat.2 +++ b/bsd/man/man2/getfsstat.2 @@ -33,7 +33,7 @@ .\" .\" @(#)getfsstat.2 8.1 (Berkeley) 6/9/93 .\" -.Dd June 9, 1993 +.Dd Oct 28, 2008 .Dt GETFSSTAT 2 .Os .Sh NAME @@ -44,43 +44,27 @@ .Fd #include .Fd #include .Ft int -.Fn getfsstat "struct statfs *buf" "long bufsize" "int flags" +.Fn getfsstat "struct statfs *buf" "int bufsize" "int flags" +.Sh TRANSITIIONAL SYNOPSIS (NOW DEPRECATED) +.Ft int +.br +.Fn getfsstat64 "struct statfs64 *buf" "int bufsize" "int flags" ; .Sh DESCRIPTION -.Fn Getfsstat -returns information about all mounted file systems. -.Fa Buf -is a pointer to an array of -.Xr statfs -structures defined as follows: -.Bd -literal -typedef struct { int32_t val[2]; } fsid_t; - -#define MFSNAMELEN 15 /* length of fs type name, not inc. nul */ -#define MNAMELEN 90 /* length of buffer for returned name */ - -struct statfs { - short f_otype; /* type of file system (reserved: zero) */ - short f_oflags; /* copy of mount flags (reserved: zero) */ - 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 (super-user only) */ - uid_t f_owner; /* user that mounted the file system */ - short f_reserved1; /* reserved for future use */ - short f_type; /* type of file system (reserved) */ - long f_flags; /* copy of mount flags (reserved) */ - long f_reserved2[2]; /* reserved for future use */ - char f_fstypename[MFSNAMELEN]; /* fs type name */ - char f_mntonname[MNAMELEN]; /* directory on which mounted */ - char f_mntfromname[MNAMELEN]; /* mounted file system */ - char f_reserved3; /* reserved for future use */ - long f_reserved4[4]; /* reserved for future use */ -}; -.Ed +The +.Fn getfsstat +function returns information about all mounted file systems. +The +.Fa buf +argument is a pointer to an array of +.Fa statfs +structures (see +.Xr statfs 2 ) . +As +.Xr statfs 2 +indicates, the structure is defined differently depending on +whether the macro _DARWIN_FEATURE_64_BIT_INODE is defined (see +.Xr stat 2 +for more information on this macro). .Pp Fields that are undefined for a particular file system are set to -1. The buffer is filled with an array of @@ -95,21 +79,24 @@ is given as NULL, .Fn getfsstat returns just the number of mounted file systems. .Pp -Normally -.Fa flags -should be specified as -.Dv MNT_WAIT . If .Fa flags is set to .Dv MNT_NOWAIT , .Fn getfsstat -will return the information it has available without requesting -an update from each file system. -Thus, some of the information will be out of date, but +will directly return the information retained in the kernel +to avoid delays caused by waiting for updated information from +a file system that is perhaps temporarily unable to respond. +Some of the information returned may be out of date, however; if +.Fa flags +is set to +.Dv MNT_WAIT +or +.Dv MNT_DWAIT +instead, .Fn getfsstat -will not block waiting for information from a file system that is -unable to respond. +will request updated information from each mounted filesystem before +returning. .Sh RETURN VALUES Upon successful completion, the number of .Fa statfs @@ -118,18 +105,29 @@ Otherwise, -1 is returned and the global variable .Va errno is set to indicate the error. .Sh ERRORS -.Fn Getfsstat +.Fn getfsstat fails if one or more of the following are true: .Bl -tag -width Er .It Bq Er EFAULT -.Fa Buf -points to an invalid address. +The +.Fa buf +argument points to an invalid address. .It Bq Er EIO An .Tn I/O error occurred while reading from or writing to the file system. .El +.Sh TRANSITIONAL DESCRIPTION (NOW DEPRECATED) +The +.Fn getfsstat64 +routine is equivalent to the default +.Fn getfstat +(when +.Dv _DARWIN_FEATURE_64_BIT_INODE +is defined), so there is no longer any reason to use it (it will be removed +in the future). .Sh SEE ALSO +.Xr stat 2 , .Xr statfs 2 , .Xr fstab 5 , .Xr mount 8