fpathconf(2) fpathconf(2)
fpathconf, pathconf - get configurable pathname variables
#include <unistd.h>
long fpathconf (int fildes, int name);
long pathconf (const char *path, int name);
The functions fpathconf and pathconf return the current value of a
configurable limit or option associated with a file or directory. The
path argument points to the pathname of a file or directory; fildes is an
open file descriptor; and name is the symbolic constant (defined in
<sys/unistd.h>) representing the configurable system limit or option to
be returned.
The values returned by pathconf and fpathconf depend on the type of file
specified by path or fildes. The following table contains the symbolic
constants supported by pathconf and fpathconf. The return value is based
on the type of file specified by path or fildes.
___________________________________
| Value of name | See Note |
|______________________|___________|
|______________________|___________|
|_PC_LINK_MAX | 1 |
|______________________|___________|
|_PC_MAX_CANON | 2 |
|______________________|___________|
|_PC_MAX_INPUT | 2 |
|______________________|___________|
|_PC_NAME_MAX | 3,4 |
|______________________|___________|
|_PC_PATH_MAX | 4,5 |
|______________________|___________|
|_PC_PIPE_BUF | 6 |
|______________________|___________|
|_PC_CHOWN_RESTRICTED | 7 |
|______________________|___________|
|_PC_NO_TRUNC | 3,4 |
|______________________|___________|
|_PC_VDISABLE | 2 |
|______________________|___________|
|_PC_ASYNC_IO | 8 |
|______________________|___________|
|_PC_ABI_ASYNC_IO | 8 |
|______________________|___________|
|_PC_ABI_AIO_XFER_MAX | 8 |
|______________________|___________|
Page 1
fpathconf(2) fpathconf(2)
_|______________________|___________|
|_PC_SYNC_IO | 8 |
|______________________|___________|
|_PC_PRIO_IO | 8 |
|______________________|___________|
Notes:
1 If path or fildes refers to a directory, the value returned applies
to the directory itself.
2 The behavior is undefined if path or fildes does not refer to a
terminal file.
3 If path or fildes refers to a directory, the value returned applies
to the filenames within the directory.
4 The behavior is undefined if path or fildes does not refer to a
directory.
5 If path or fildes refers to a directory, the value returned is the
maximum length of a relative pathname when the specified directory
is the working directory.
6 If path or fildes refers to a pipe or FIFO, the value returned
applies to the FIFO itself. If path or fildes refers to a
directory, the value returned applies to any FIFOs that exist or can
be created within the directory. If path or fildes refer to any
other type of file, the behavior is undefined.
7 If path or fildes refers to a directory, the value returned applies
to any files, other than directories, that exist or can be created
within the directory.
8 The behavior is undefined if path or fildes refers to a directory.
The value of the configurable system limit or option specified by name
does not change during the lifetime of the calling process.
fpathconf fails if the following is true:
EACCES Read permission is denied on the named file.
EBADF fildes is not a valid file descriptor.
pathconf fails if one or more of the following are true:
EACCES search permission is denied for a component of the path prefix.
Page 2
fpathconf(2) fpathconf(2)
ELOOP too many symbolic links are encountered while translating path.
EMULTIHOP
components of path require hopping to multiple remote machines and
file system type does not allow it.
ENAMETOOLONG
the length of a pathname exceeds {PATH_MAX}, or pathname component
is longer than {NAME_MAX} while (_POSIX_NO_TRUNC) is in effect.
ENOENT path is needed for the command specified and the named file does
not exist or if the path argument points to an empty string.
ENOLINKpath points to a remote machine and the link to that machine is no
longer active.
ETIMEDOUT
A component of path resides on a remote system which is not
available [see intro(2)].
ENOTDIRa component of the path prefix is not a directory.
Both fpathconf and pathconf fail if the following is true:
EINVAL if name is an invalid value.
sysconf(3c), ulimit(2), limits(4).
If the configurable system limit or option corresponding to name is not
supported on the system, -1 is returned and the value of errno is not
changed.
If the option corresponding to name is known but of unlimited value for
the given path, -1 is returned and the value of errno is not changed.
If fpathconf or pathconf are invoked with an invalid symbolic constant,
-1 is returned and errno is set to indicate the error.
PPPPaaaaggggeeee 3333 [ Back ]
|