NAME
fpathconf
,
pathconf
—
get configurable pathname
variables
SYNOPSIS
#include
<unistd.h>
long
fpathconf
(int fildes,
int name);
long
pathconf
(const char *path,
int name);
DESCRIPTION
The
pathconf
()
and
fpathconf
()
functions provides a method for applications to determine the current value
of a configurable system limit or option variable associated with a pathname
or file descriptor.
For pathconf
, the
path argument is the name of a file or directory. For
fpathconf
, the fildes argument
is an open file descriptor. The name argument
specifies the system variable to be queried. Symbolic constants for each
name value are found in the include file
<unistd.h>
.
The available values are as follows:
_PC_LINK_MAX
- The maximum file link count.
_PC_MAX_CANON
- The maximum number of bytes in terminal canonical input line.
_PC_MAX_INPUT
- The minimum maximum number of bytes for which space is available in a terminal input queue.
_PC_NAME_MAX
- The maximum number of bytes in a file name.
_PC_PATH_MAX
- The maximum number of bytes in a pathname.
_PC_PIPE_BUF
- The maximum number of bytes which will be written atomically to a pipe.
_PC_CHOWN_RESTRICTED
- Return 1 if appropriate privileges are required for the chown(2) system call, otherwise 0.
_PC_NO_TRUNC
- Return 1 if file names longer than KERN_NAME_MAX are truncated.
_PC_VDISABLE
- Returns the terminal character disabling value.
_PC_XATTR_SIZE_BITS
- Returns the number of bits used to store maximum extended attribute size in bytes. For example, if the maximum attribute size supported by a file system is 128K, the value returned will be 18. However a value 18 can mean that the maximum attribute size can be anywhere from (256KB - 1) to 128KB. As a special case, the resource fork can have much larger size, and some file system specific extended attributes can have smaller and preset size; for example, Finder Info is always 32 bytes.
_PC_MIN_HOLE_SIZE
- If a file system supports the reporting of holes (see
lseek(2)),
pathconf
() andfpathconf
() return a positive number that represents the minimum hole size returned in bytes. The offsets of holes returned will be aligned to this same value. A special value of 1 is returned if the file system does not specify the minimum hole size but still reports holes.
RETURN VALUES
If the call to pathconf
or
fpathconf
is not successful, -1 is returned and
errno is set appropriately. Otherwise, if the variable
is associated with functionality that does not have a limit in the system,
-1 is returned and errno is not modified. Otherwise,
the current variable value is returned.
ERRORS
If any of the following conditions occur, the
pathconf
and fpathconf
functions shall return -1 and set errno to the
corresponding value.
- [
EINVAL
] - The value of the name argument is invalid.
- [
EINVAL
] - The implementation does not support an association of the variable name with the associated file.
pathconf
() will fail if:
- [
EACCES
] - Search permission is denied for a component of the path prefix.
- [
EIO
] - An I/O error occurs while reading from or writing to the file system.
- [
ELOOP
] - Too many symbolic links are encountered in translating the pathname. This is taken to be indicative of a looping symbolic link.
- [
ENAMETOOLONG
] - A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters.
- [
ENOENT
] - The named file does not exist.
- [
ENOTDIR
] - A component of the path prefix is not a directory.
fpathconf
() will fail if:
- [
EBADF
] - fildes is not a valid open file descriptor.
- [
EIO
] - An I/O error occurs while reading from or writing to the file system.
SEE ALSO
HISTORY
The pathconf
and
fpathconf
functions first appeared in 4.4BSD.