Provided by: manpages-posix-dev_2.16-1_all bug

NAME

       fstatvfs, statvfs - get file system information

SYNOPSIS

       #include <sys/statvfs.h>

       int fstatvfs(int fildes, struct statvfs *buf);
       int statvfs(const char *restrict path, struct statvfs *restrict buf);

DESCRIPTION

       The fstatvfs() function shall obtain information about the file system containing the file
       referenced by fildes.

       The statvfs() function shall obtain information about the file system containing the  file
       named by path.

       For  both  functions,  the  buf argument is a pointer to a statvfs structure that shall be
       filled. Read, write, or execute permission of the named file is not required.

       The following flags can be returned in the f_flag member:

       ST_RDONLY
              Read-only file system.

       ST_NOSUID
              Setuid/setgid bits ignored by exec.

       It is unspecified whether all members of the statvfs structure have meaningful  values  on
       all file systems.

RETURN VALUE

       Upon  successful  completion,  statvfs() shall return 0. Otherwise, it shall return -1 and
       set errno to indicate the error.

ERRORS

       The fstatvfs() and statvfs() functions shall fail if:

       EIO    An I/O error occurred while reading the file system.

       EINTR  A signal was caught during execution of the function.

       EOVERFLOW
              One of the values to be returned cannot be represented correctly in  the  structure
              pointed to by buf.

       The fstatvfs() function shall fail if:

       EBADF  The fildes argument is not an open file descriptor.

       The statvfs() function shall fail if:

       EACCES Search permission is denied on a component of the path prefix.

       ELOOP  A loop exists in symbolic links encountered during resolution of the path argument.

       ENAMETOOLONG
              The  length of a pathname exceeds {PATH_MAX} or a pathname component is longer than
              {NAME_MAX}.

       ENOENT A component of path does not name an existing file or path is an empty string.

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

       The statvfs() function may fail if:

       ELOOP  More than {SYMLOOP_MAX} symbolic links were encountered during  resolution  of  the
              path argument.

       ENAMETOOLONG
              Pathname resolution of a symbolic link produced an intermediate result whose length
              exceeds {PATH_MAX}.

       The following sections are informative.

EXAMPLES

   Obtaining File System Information Using fstatvfs()
       The following example shows how to obtain file system information for the file system upon
       which  the  file  named  /home/cnd/mod1  resides,  using  the  fstatvfs()  function.   The
       /home/cnd/mod1 file is opened with read/write privileges and the open file  descriptor  is
       passed to the fstatvfs() function.

              #include <statvfs.h>
              #include <fcntl.h>

              struct statvfs buffer;
              int            status;
              ...
              fildes = open("/home/cnd/mod1", O_RDWR);
              status  = fstatvfs(fildes, &buffer);

   Obtaining File System Information Using statvfs()
       The following example shows how to obtain file system information for the file system upon
       which the file named /home/cnd/mod1 resides, using the statvfs() function.

              #include <statvfs.h>

              struct statvfs buffer;
              int            status;
              ...
              status = statvfs("/home/cnd/mod1", &buffer);

APPLICATION USAGE

       None.

RATIONALE

       None.

FUTURE DIRECTIONS

       None.

SEE ALSO

       chmod() , chown() , creat() , dup() , exec() , fcntl() ,  link()  ,  mknod()  ,  open()  ,
       pipe()  ,  read() , time() , unlink() , utime() , write() , the Base Definitions volume of
       IEEE Std 1003.1-2001, <sys/statvfs.h>

COPYRIGHT

       Portions of this text are reprinted and  reproduced  in  electronic  form  from  IEEE  Std
       1003.1,  2003  Edition,  Standard  for Information Technology -- Portable Operating System
       Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003  by
       the  Institute  of  Electrical  and  Electronics Engineers, Inc and The Open Group. In the
       event of any discrepancy between this version and the original IEEE  and  The  Open  Group
       Standard,  the  original  IEEE  and  The  Open Group Standard is the referee document. The
       original Standard can be obtained online at http://www.opengroup.org/unix/online.html .