man Pages(2): System Calls
只搜尋這本書
以 PDF 格式下載這本書

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 fpathconf( ) and pathconf( ) functions 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 <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( ) along with the POSIX-defined (see standards(5)) return value. The return value is based on the type of file specified by path or fildes.
Value of nameSee Note
_PC_FILESIZEBITS3,4
_PC_LINK_MAX1
_PC_MAX_CANNON2
_PC_MAX_INPUT2
_PC_NAME_MAX3,4
_PC_PATH_MAX4,5
_PC_PIPE_BUF6
_PC_CHOWN_RESTRICTED7
_PC_NO_TRUNC3,4
_PC_VDISABLE2
_PC_ASYNC_IO2
_PC_PRIO_IO2
_PC_SYNC_IO1
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 pipe or FIFO. 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.
The value of the configurable system limit or option specified by name does not change during the lifetime of the calling process.
If the maximum size file that could ever exist on the mounted file system is maxsize, then the value returned by _PC_FILESIZEBITS is 2 plus the floor of the base 2 logarithm of maxsize.

RETURN VALUES

If fpathconf( ) or pathconf( ) are invoked with an invalid symbolic constant or the symbolic constant corresponds to a configurable system limit or option not supported on the system, -1 is returned to the invoking process. If the function fails because the configurable system limit or option corresponding to name is not supported on the system the value of errno is not changed.

ERRORS

The fpathconf( ) function fails if:
EBADF
The fildes argument is not a valid file descriptor.
The pathconf( ) function fails if:
EACCES
Search permission is denied for a component of the path prefix.
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 path name exceeds {PATH_MAX}, or a pathname component is longer than {NAME_MAX} while {_POSIX_NO_TRUNC} is in effect.
ENOENT
The path argument is needed for the command specified and the named file does not exist, or the path argument points to an empty string.
ENOLINK
The path points to a remote machine and the link to that machine is no longer active.
ENOTDIR
A component of the path prefix is not a directory.
Both fpathconf( ) and pathconf( ) fail if:
EINVAL
The name argument is an invalid value.

ATTRIBUTES

See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE
ATTRIBUTE VALUE
MT-Levelpathconf( ) is Async-Signal-Safe

SEE ALSO

sysconf(3C), limits(4), attributes(5), standards(5)