Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


home | help
GETFSSTAT(2)		    BSD	System Calls Manual		  GETFSSTAT(2)

     getfsstat -- get list of all mounted file systems

     Standard C	Library	(libc, -lc)

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

     getfsstat(struct statfs *buf, long	bufsize, int flags);

     Getfsstat() returns information about all mounted file systems.  Buf is a
     pointer to	statfs structures defined as follows:

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

      *	file system statistics

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

     struct statfs {
	 long	 f_spare2;	     /*	placeholder */
	 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 */
	 int	 f_type;	     /*	type of	file system (see below)	*/
	 int	 f_flags;	     /*	copy of	mount flags */
	 long	 f_spare[2];	     /*	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 file	system is mounted read-only; Even the super-
		       user may	not write on it.

     MNT_NOEXEC	       Files may not be	executed from the file system.

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

     MNT_NODEV	       Special files in	the file system	may not	be opened.

     MNT_SYNCHRONOUS   All I/O to the file system is done synchronously.

     MNT_ASYNCHRONOUS  No file system I/O is done synchronously.

     MNT_LOCAL	       The file	system resides locally.

     MNT_QUOTA	       The file	system has quotas enabled on it.

     MNT_ROOTFS	       Identifies the root file	system.

     MNT_EXRDONLY      The file	system is exported read-only.

     MNT_EXPORTED      The file	system is exported for both reading and	writ-

     MNT_DEFEXPORTED   The file	system is exported for both reading and	writ-
		       ing to any Internet host.

     MNT_EXPORTANON    The file	system maps all	remote accesses	to the anony-
		       mous user.

     MNT_EXKERB	       The file	system is exported with	Kerberos uid mapping.

     Fields that are undefined for a particular	file system are	set to -1.
     The buffer	is filled with an array	of fsstat structures, one for each
     mounted file system up to the size	specified by bufsize.

     If	buf is given as	NULL, getfsstat() returns just the number of mounted
     file systems.

     Normally flags should be specified	as MNT_WAIT.  If flags is set to
     MNT_NOWAIT, 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 getfsstat() will not block waiting
     for information from a file system	that is	unable to respond.

     Upon successful completion, the number of fsstat structures is returned.
     Otherwise,	-1 is returned and the global variable errno is	set to indi-
     cate the error.

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

     [EFAULT]		Buf points to an invalid address.

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

     statfs(2),	fstab(5), mount(8)

     The getfsstat() function first appeared in	4.4BSD.

BSD				 May 25, 1995				   BSD


Want to link to this manual page? Use this URL:

home | help