
#include <unistd.h> long pathconf(const char *pathname, int configvar);
pathconf determines the value of a configuration variable that
is associated with a file or directory name.
pathname is the file
or directory. configvar is the configuration variable.
configvar is specified as
one of the following symbols defined in
<unisted.h>
:
_PC_LINK_MAX
pathconf returns the maximum number of links
possible for the directory.
_PC_MAX_CANON
pathname refers to a character special file for a
terminal.
_PC_MAX_INPUT
pathname refers to a character special file for a
terminal.
_PC_NAME_MAX
_PC_PATH_MAX
_PC_PIPE_BUF
pathconf returns the value for the file
itself. For directories, pathconf returns the value for FIFO
special files that exist or can be created under the specified
directory. For other kinds of files, an errno of EINVAL is stored.
_PC_CHOWN_RESTRICTED
chown is restricted.
For directories, pathconf
returns the value for files, but not for subdirectories.
_PC_NO_TRUNC
_PC_VDISABLE
pathname must refer to a character special file
for the terminal.
pathconf returns the value defined above for the
particular value of configvar. If not successful,
pathconf returns -1.
pathconf
to determine the maximum number of characters in a filename:
#include <unistd.h>
#include <errno.h>
#include <stdio.h>
.
.
.
long result;
errno = 0;
if ((result = pathconf("/",_PC_NAME_MAX)) == -1)
if (errno == 0)
puts("NAME_MAX has no limit.");
else perror("pathconf() error");
else
print("NAME_MAX is %ld\n", result);
.
.
.
fpathconf, sysconf
Copyright (c) 1998 SAS Institute Inc. Cary, NC, USA. All rights reserved.