HPlogo HP-UX Reference Volume 3 of 5 > s

statfs(2)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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(), or pipe() 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.

[EFAULT]

buf points to an invalid address.

[EIO]

An I/O error occurs while reading from or writing to the file system.

AUTHOR

statfs() and fstatfs() were developed by Sun Microsystems, Inc.

© Hewlett-Packard Development Company, L.P.