fstatfs -- (deprecated)


#include <sys/vfs.h>

int fstatfs(int fd, struct statfs *buf);


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

fstatfs returns information about a mounted file system. fd is the open file descriptor of any file within the mounted filesystem. buf is a pointer to a statfs structure defined as follows:
  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 */
             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.



fd is not a valid open file descriptor.


buf points to an invalid address.


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


The filesystem fd is open on does not support statfs.