HP-UX Reference (11i v2 03/08) - 2 System Calls (vol 5)
s
statvfs(2) statvfs(2)
NAME
statvfs, fstatvfs - get file system information
SYNOPSIS
#include <sys/types.h>
#include <sys/statvfs.h>
int statvfs (const char *path, struct statvfs *buf);
int fstatvfs (int fildes, struct statvfs *buf);
DESCRIPTION
statvfs() returns information about a mounted file system.
fstatvfs() returns similar information about an open file.
The parameters for the
statvfs() and fstatvfs() 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
statvfs
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 com-
pletion of an
open(), creat(), dup(), fcntl(),orpipe() system call
(see open (2), creat (2), dup(2), fcntl (2), or pipe (2)).
The
statvfs structure contains the following members:
fsblkcnt_t f_blocks; /* total blocks of f_frsize on file system */
fsblkcnt_t f_bfree; /* free blocks */
fsblkcnt_t f_bavail; /* blocks available to non-superuser */
fsfilcnt_t f_files; /* total file nodes in file system */
fsfilcnt_t f_ffree; /* free file nodes in file system */
fsfilcnt_t f_favail; /* file nodes available to non-superuser */
ulong f_bsize; /* preferred file system block size */
ulong f_frsize; /* fundamental file system block size */
ulong f_size; /* see note below */
ulong f_fsid; /* file system ID for file system */
/* type; see sysfs(2) */
char f_basetype[FSTYPSZ]; /* file system type name is */
/* null-terminated */
ulong f_flag; /* bit mask of flags */
ulong f_namemax /* maximum file name length */
char f_fstr[32]; /* file system specific string */
time_t f_time; /* Last time file system was written */
The field f_size contains the size of file system in
f_frsize units. Note that this field is not part of the
standard POSIX definition of statvfs. When a 32-bit application uses statvfs64() with a large file
system, f_size will top out at MAXINT, rather than return an [EOVERFLOW] error. Use f_blocks instead.
The field f_basetype contains a null-terminated file-system-type name.
The constant
[FSTYPSZ] is defined in the header file <statvfs.h>.
The following flags can be returned in the f_flag field:
ST_LARGEFILES File system is enabled for large files.
ST_RDONLY File system is read-only.
ST_NOSUID File system does not support setuid and setgid semantics.
ST_EXPORTED File system is exported (NFS).
ST_QUOTA Quotas are enabled on this file system.
RETURN VALUE
statvfs() and fstatvfs() return 0 upon successful completion; otherwise, they return −1 and set
errno to indicate the error.
HP-UX 11i Version 2: August 2003 − 1 − Hewlett-Packard Company Section 2−−409