ustat - get filesystem statistics
#include <sys/types.h>
#include <unistd.h> /* libc[45] */
#include <ustat.h> /* glibc2 */
int ustat(dev_t dev, struct ustat *ubuf);
ustat() returns information about a mounted filesystem.
dev is a
device number identifying a device containing a mounted filesystem.
ubuf is a pointer to a
ustat structure that contains the
following members:
daddr_t f_tfree; /* Total free blocks */
ino_t f_tinode; /* Number of free inodes */
char f_fname[6]; /* Filsys name */
char f_fpack[6]; /* Filsys pack name */
The last two fields,
f_fname and
f_fpack, are not implemented and
will always be filled with null bytes ('\0').
On success, zero is returned and the
ustat structure pointed to by
ubuf will be filled in. On error, -1 is returned, and
errno is
set appropriately.
- EFAULT
- ubuf points outside of your accessible address space.
- EINVAL
- dev does not refer to a device containing a mounted
filesystem.
- ENOSYS
- The mounted filesystem referenced by dev does not support this
operation, or any version of Linux before 1.3.16.
Since version 2.28, glibc no longer provides a wrapper for this system call.
SVr4.
ustat() is deprecated and has been provided only for compatibility. All
new programs should use
statfs(2) instead.
The HP-UX version of the
ustat structure has an additional field,
f_blksize, that is unknown elsewhere. HP-UX warns: For some
filesystems, the number of free inodes does not change. Such filesystems will
return -1 in the field
f_tinode. For some filesystems, inodes are
dynamically allocated. Such filesystems will return the current number of free
inodes.
stat(2),
statfs(2)