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 filesystems

     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 filesystems.  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 filesystem */
	 int	 f_type;	     /*	type of	filesystem (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 filesystem */

     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_ASYNCHRONOUS  No filesystem I/O is done synchronously.

     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 writ-

     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 anony-
		       mous user.

     MNT_EXKERB	       The filesystem is exported with Kerberos	uid mapping.

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

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

     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 filesystem.	 Thus, some of the in-
     formation will be out of date, but	getfsstat() will not block waiting for
     information from a	filesystem 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 filesystem.

     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