NAME
pathconf,
fpathconf
- get configurable pathname variables
LIBRARY
Standard C Library (libc, -lc)
SYNOPSIS
long
pathconf(
const char *path
, int name
)
long
fpathconf(
int fd
, int name
)
DESCRIPTION
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 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 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 1 if filenames longer than
{NAME_MAX}
are truncated.
_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.
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, or
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 occurred while reading from or writing to the file system.
- [
ELOOP
] -
Too many symbolic links were encountered in translating the pathname.
- [
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
] -
fd
is not a valid open file descriptor.
- [
EIO
] -
An I/O error occurred while reading from or writing to the file system.
SEE ALSO
sysctl(3)
STANDARDS
The
pathconf(
)
and
fpathconf(
)
functions conform to
ISO/IEC 9945-1:1990 (``POSIX.1'') .
HISTORY
The
pathconf
and
fpathconf
functions first appeared in
4.4BSD.