NAME
statvfsdev, fstatvfsdev — get file system information 
SYNOPSIS
#include <sys/statvfs.h> 
int statvfsdev(const char *path, struct statvfs *buf); 
int fstatvfsdev(int fildes, struct statvfs *buf); 
DESCRIPTION
statvfsdev() 
returns information about the file system on the device file specified by
path.
The file system need not be mounted.
fstatvfsdev() 
returns similar information for an open file.
The parameters for the
stat(),
fstat(),
and
lstat() 
functions are as follows:
- path 
 is a pointer to the name of the device file.  (All directories listed in the
path name must be searchable.)
- buf 
 is a pointer to a
statvfs() 
structure, which is where the file 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)).
buf 
is a pointer to a
statvfs 
structure into which information is placed concerning the file system.
The contents of the structure pointed to by
buf 
are described in
statvfs(2).
fstatvfsdev() 
returns the same information as above,
but about the open device file referred to by file descriptor
fildes.
APPLICATION USAGE
statvfsdev()
and
fstatvfsdev()
are thread-safe.
RETURN VALUE
Upon successful completion,
statvfsdev() 
and
fstatvfsdev() 
return zero.
Otherwise, they return -1 and set the global variable
errno 
to indicate the error.
ERRORS
If
statvfsdev() 
fails,
errno 
is set to one of the following values:
- [EACCES]
 Search permission is denied for a component of the path prefix.
- [EFAULT]
 path 
points to an invalid address.
- [ELOOP]
 Too many symbolic links are encountered during path-name translation.
- [EMFILE]
 The maximum number of file descriptors allowed are currently open.
- [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.
- [ENFILE]
 The system file table is full.
- [ENOENT]
 The named file does not exist.
- [ENOTDIR]
 A component of the path prefix is not a directory.
- [ENXIO]
 The device specified by the named special file does not exist.
If
fstatvfsdev() 
fails,
errno 
is set to one of the following values:
- [EBADF]
 fildes 
is not a valid open file descriptor.
- [ESPIPE]
 filedes 
is invalid.
When both
fstatvfsdev() 
and
statvfsdev() 
fail,
errno 
is set to one of the following values:
- [EINTR]
 A system call was interrupted by a signal.
- [EINVAL]
 The file specified by
path 
or
filedes 
does not contain a file system of any known type.
AUTHOR
statvfsdev() 
and
fstatvfsdev() 
were developed by HP.