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

FreeBSD Manual Pages

  
 
  

home | help
STATFS(2)		  FreeBSD System Calls Manual		     STATFS(2)

NAME
     statfs -- get file	system statistics

LIBRARY
     Standard C	Library	(libc, -lc)

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

     int
     statfs(const char *path, struct statfs *buf);

     int
     fstatfs(int fd, struct statfs *buf);

DESCRIPTION
     Statfs() returns information about	a mounted file system.	Path is	the
     path name of any file within the mounted file system.  Buf	is a pointer
     to	a statfs() structure 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_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 */
     int     f_flags;	       /* copy of mount	flags */
     long    f_syncwrites;     /* count	of sync	writes since mount */
     long    f_asyncwrites;    /* count	of async writes	since mount */
     char    f_fstypename[MFSNAMELEN];/* fs type name */
     char    f_mntonname[MNAMELEN];   /* mount point */
     long    f_syncreads;	      /* count of sync reads since mount */
     long    f_asyncreads;	      /* count of async	reads since mount */
     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_ASYNC	      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-
		      ing.

     MNT_DEFEXPORTED  The file system is exported for both reading and writing
		      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.
     Fstatfs() returns the same	information about an open file referenced by
     descriptor	fd.

RETURN VALUES
     Upon successful completion, the value 0 is	returned; otherwise the
     value -1 is returned and the global variable errno	is set to indicate the
     error.

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

     [ENOTDIR]		A component of the path	prefix of Path is not a	direc-
			tory.

     [ENAMETOOLONG]	The length of a	component of path exceeds 255 charac-
			ters, or the length of path exceeds 1023 characters.

     [ENOENT]		The file referred to by	path does not exist.

     [EACCES]		Search permission is denied for	a component of the
			path prefix of path.

     [ELOOP]		Too many symbolic links	were encountered in translat-
			ing path.

     [EFAULT]		Buf or path points to an invalid address.

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

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

     [EBADF]		fd is not a valid open file descriptor.

     [EFAULT]		Buf points to an invalid address.

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

HISTORY
     The statfs() function first appeared in 4.4BSD.

FreeBSD	11.1			 May 24, 1995			  FreeBSD 11.1

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=statfs&sektion=2&manpath=FreeBSD+5.0-RELEASE>

home | help