HP-UX Reference (11i v2 03/08) - 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 information is
stored.
fildes is a file descriptor for an open file, which is created with the successful completion 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:
int32_t f_bavail; /* free blocks available to non-superuser */
int32_t f_bfree; /* free blocks */
int32_t f_blocks; /* total blocks in file system */
int32_t f_bsize; /* fundamental file system block size in bytes */
int32_t f_ffree; /* free file nodes in file system */
int32_t f_files; /* total file nodes in file system */
int32_t 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.
[EOVERFLOW] Result would overflow one or more fields of the statfs struct.
If
fstatfs() fails, errno is set to one of the following values:
[EBADF] fildes is not a valid open file descriptor.
HP-UX 11i Version 2: August 2003 − 1 − Hewlett-Packard Company Section 2−−407