fpathconf(2) fpathconf(2)
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 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 unistd.h [see unistd(4)]
representing the configurable system limit or option to be
returned.
The value of the configurable system limit or option specified
by name does not change during the lifetime of the calling
process.
Return Values
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 return value. 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_CANNON | 2
_____________________|___________
_PC_MAX_INPUT | 2
_____________________|___________
_PC_NAME_MAX | 3,4
_____________________|___________
_PC_PATH_MAX | 4,5
_____________________|___________
_PC_PIPE_BUF | 6
_____________________|___________
_PC_CHOWN_RESTRICTED | 7
Copyright 1994 Novell, Inc. Page 1
fpathconf(2) fpathconf(2)
_____________________|___________
_PC_NO_TRUNC | 3,4
_____________________|___________
_PC_VDISABLE | 2
_____________________|___________
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 current 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.
If fpathconf or pathconf are invoked with a symbolic constant
that corresponds to a configurable system limit or option
without a fixed upper bound, a value of -1 is returned and the
value of errno is not changed.
Errors
In the following conditions, fpathconf fails and sets errno
to:
Copyright 1994 Novell, Inc. Page 2
fpathconf(2) fpathconf(2)
EACCES Read permission is denied on the named file.
EBADF fildes is not a valid file descriptor.
In the following conditions, pathconf fails and sets errno to:
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 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.
ENOLINK
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.
In the following conditions, both fpathconf and pathconf fail
and set errno to:
EINVAL name is invalid.
REFERENCES
limits(4), sysconf(3C), unistd(4)
Copyright 1994 Novell, Inc. Page 3