The
pathconf() and
fpathconf() functions provide 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
fd 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
<unistd.h> header.
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 filename, not including a terminating null character.
_PC_PATH_MAX
The maximum number of bytes in a pathname, including the terminating null character.
_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 0 if filenames longer than {NAME_MAX} are silently truncated, or non-zero if an error is generated when {NAME_MAX} is exceeded.
_PC_VDISABLE
Returns the terminal character disabling value.
_PC_SYNC_IO
Returns 1 if synchronized I/O is supported, otherwise 0.
_PC_FILESIZEBITS
If the maximum size file that could ever exist on the mounted file system is maxsize, then the returned value is 2 plus the floor of the base 2 logarithm of maxsize.
_PC_SYMLINK_MAX
The maximum number of bytes in a symbolic link.
_PC_2_SYMLINKS
When referring to a directory the system supports the creation of symbolic links within that directory; for nondirectory files, the meaning of {_PC_2_SYMLINKS} is undefined.