HP-UX Reference (11i v1 05/09) - 2 System Calls (vol 5)

s
statfs(2) statfs(2)
NAME
statfs, fstatfs - get file system statistics
SYNOPSIS
#include <sys/vfs.h>
int statfs(const char *path, struct statfs *buf);
int fstatfs(int fildes, struct statfs *buf);
DESCRIPTION
statfs() returns status information for a mounted file system.
fstatfs() returns similar information for an open file.
The parameters for the statfs() and fstatfs()
functions are as follows:
path is a pointer to a path name of any file within the mounted file system.
buf is a pointer to a
statfs structure, which is where the file system status infor-
mation is stored.
fildes is a file descriptor for an open file, which is created with the successful comple-
tion of an
open(), creat(), dup(), fcntl(),orpipe() system call (see
open(2), creat(2), dup(2), fcntl(2), or pipe(2)).
The statfs structure contains the following members:
long f_bavail; /* free blocks available to non-superuser */
long f_bfree; /* free blocks */
long f_blocks; /* total blocks in file system */
long f_bsize; /* fundamental file system block size in bytes */
long f_ffree; /* free file nodes in file system */
long f_files; /* total file nodes in file system */
long f_type; /* type of info, zero for now */
fsid_t f_fsid /* file system ID. f_fsid[1] is the file system
type; see sysfs(2) */
The fields f_blocks , f_bavail and f_bfree are expressed in terms of blocks of size
f_bsize.
A file node is a structure in the file system hierarchy that describes a file.
Fields that are undefined for a particular file system are set to 1.
RETURN VALUE
statfs() and fstatfs() return 0 upon successful completion; otherwise, they return 1 and set
errno to indicate the error.
ERRORS
If statfs() fails, errno is set to one of the following values:
[EACCES] Search permission is denied for a component of the path prefix.
[EFAULT] buf or path point to an invalid address.
[EIO] An I/O error occurred while reading from or writing to the file system.
[ELOOP] Too many symbolic links are encountered during path-name translation.
[ENAMETOOLONG]
The length of the specified path name exceeds PATH_MAX bytes, or the length
of a component of the path name exceeds NAME_MAX bytes while
_POSIX_NO_TRUNC is in effect.
[ENOENT] The named file does not exist (for example, path is null or a component of path
does not exist).
[ENOTDIR] A component of the path prefix is not a directory.
If fstatfs() fails, errno is set to one of the following values:
[EBADF] fildes is not a valid open file descriptor.
Section 2404 Hewlett-Packard Company 1 HP-UX 11i Version 1: September 2005