statfs

Name

statfs -- (deprecated)

Synopsis

#include <sys/vfs.h>

int statfs(const char *path, (struct statfs *buf));

Description

statfs is expected to disappear from a future version of the LSB; applications should call the statvfs interface.

statfs returns information about a mounted file system. path is the path name of any file within the mounted filesystem.

buf is a pointer to a statfs structure defined as follow:
  struct statfs {
             long    f_type;      /* type of filesystem (see below) */
             long    f_bsize;     /* optimal transfer block size */
             long    f_blocks;    /* total data blocks in file system */
             long    f_bfree;     /* free blocks in fs */
             long    f_bavail;    /* free blocks avail to non-superuser */
             long    f_files;     /* total file nodes in file system */
             long    f_ffree;     /* free file nodes in fs */
             long    f_ffree;     /* free file nodes in fs */
             fsid_t  f_fsid;      /* file system id */
             long    f_namelen;   /* maximum length of filenames */
             long    f_spare[6];  /* spare for later */
  };

Fields that are undefined for a particular file system are set to 0.

Return Value

On success, 0 is returned. On error, -1 is returned and the global variable errno is set appropriately.

Errors

ENOTDIR

A component of the path prefix of path is not a directory.

ENAMETOOLONG

path is too long.

ENOENT

The file referred to by path does not exist.

EACCES

Search permission is denied for a component of the path prefix of path.

ELOOP

Too many symbolic links were encountered in translating path.

EFAULT

buf or path points to an invalid address.

EIO

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

ENOMEM

Insufficient kernel memory was available.

ENOSYS

The filesystem path is on does not support statfs.