*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> standard/statfs (2)              


STATFS(2)							     STATFS(2)

NAME    [Toc]    [Back]

     statfs, fstatfs - get file	system information

SYNOPSIS    [Toc]    [Back]

     #include <sys/types.h>
     #include <sys/statfs.h>

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

     int fstatfs (int fildes, struct statfs *buf, int len, int fstyp);

DESCRIPTION    [Toc]    [Back]

     statfs returns a ``generic	superblock'' describing	a file system.	It can
     be	used to	acquire	information about mounted as well as unmounted file
     systems, and usage	is slightly different in the two cases.	 In all	cases,
     buf is a pointer to a structure (described	below) which will be filled by
     the system	call, and len is the number of bytes of	information which the
     system should return in the structure.  Len must be no greater than
     sizeof (struct statfs) and	ordinarily it will contain exactly that	value;
     if	it holds a smaller value the system will fill the structure with that
     number of bytes.  (This allows future versions of the system to grow the
     structure without invalidating older binary programs.)

     If	the file system	of interest is currently mounted, path should name a
     file which	resides	on that	file system.  In this case the file system
     type is known to the operating system and the fstyp argument must be
     zero.  For	an unmounted file system path must name	the block special file
     containing	it and fstyp must contain the (non-zero) file system type.  In
     both cases	read, write, or	execute	permission of the named	file is	not
     required, but all directories listed in the path name leading to the file
     must be searchable.

     The statfs	structure pointed to by	buf includes the following members:
	  short	  f_fstyp;    /* File system type */
	  long	  f_bsize;    /* Block size */
	  long	  f_frsize;   /* Fragment size */
	  long	  f_blocks;   /* Total number of blocks	*/
	  long	  f_bfree;    /* Count of free blocks */
	  long	  f_files;    /* Total number of file nodes */
	  long	  f_ffree;    /* Count of free file nodes */
	  char	  f_fname[6]; /* Volume	name */
	  char	  f_fpack[6]; /* Pack name */

     In	ABI N32	applications, the fields f_blocks, f_bfree, f_files, and
     f_ffree are of type __int64_t (long long) instead of long.

     fstatfs is	similar, except	that the file named by path in statfs is
     instead identified	by an open file	descriptor filedes obtained from a
     successful	open(2), creat(2), dup(2), fcntl(2), or	pipe(2)	system call.

									Page 1

STATFS(2)							     STATFS(2)

     statfs obsoletes ustat(2) and should be used in preference	to it in new

     For XFS filesystems with real-time	subvolumes (see	xfs(4)), the statfs(2)
     system call returns information concerning	the data portion of the
     filesystem	only.  The syssgi(2) system call with the SGI_XFS_OPERATIONS
     request argument can be used to acquire information concerning the	size
     and usage of space	within the real-time portion of	the filesystem.

     statfs and	fstatfs	will fail if one or more of the	following are true:

     [ENOTDIR]	    A component	of the path prefix is not a directory.

     [ENOENT]	    The	named file does	not exist.

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

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

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

     [EINVAL]	    Fstyp is an	invalid	file system type; path is not a	block
		    special file and fstyp is nonzero; len is negative or is
		    greater than sizeof	(struct	statfs).

DIAGNOSTICS    [Toc]    [Back]

     Upon successful completion	a value	of 0 is	returned.  Otherwise, a	value
     of	-1 is returned and errno is set	to indicate the	error.

SEE ALSO    [Toc]    [Back]

     chmod(2), chown(2), creat(2), link(2), mknod(2), pipe(2), read(2),
     statvfs(2), time(2), unlink(2), utime(2), write(2), fs(4).

									PPPPaaaaggggeeee 2222
[ Back ]
 Similar pages
Name OS Title
sizer Tru64 Displays information about the system or kernel, or creates a system configuration file
dxsysinfo Tru64 Monitors system information such as CPU activity, memory, swap space, and file system usage
getfsfile_r Tru64 Get information about a file system
endfsent_r Tru64 Get information about a file system
getfsspec_r Tru64 Get information about a file system
setfsent_r Tru64 Get information about a file system
getvfsbyname FreeBSD get information about a file system
getfsspec Tru64 Get information about a file system
getfsfile Tru64 Get information about a file system
getfsent_r Tru64 Get information about a file system
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service