HPlogo HP-UX Reference Volume 4 of 5 > s

statvfsdev(3C)

» 

Technical documentation

Complete book in PDF

 » Table of Contents

 » Index

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.

© Hewlett-Packard Development Company, L.P.