pathconf
![]() |
![]() |
![]() |
![]() |
pathconf()
Return the value of a configurable limit
Synopsis:
#include <unistd.h>
long pathconf( const char* path,
int name );
Arguments:
- path
- The name of the file whose limit you want to get.
- name
- The name of the configurable limit; see below.
Library:
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
Description:
The pathconf() function returns a value of a configurable limit indicated by name, which is associated with the filename given in path.
Configurable limits are defined in <confname.h>, and include at least the following values:
- _PC_LINK_MAX
- Maximum value of a file's link count.
- _PC_MAX_CANON
- Maximum number of bytes in a terminal's canonical input buffer (edit buffer).
- _PC_MAX_INPUT
- Maximum number of bytes in a terminal's raw input buffer.
- _PC_NAME_MAX
- Maximum number of bytes in a file name (not including the terminating null).
- _PC_PATH_MAX
- Maximum number of bytes in a pathname (not including the terminating null).
- _PC_PIPE_BUF
- Maximum number of bytes that can be written atomically when writing to a pipe.
- _PC_CHOWN_RESTRICTED
- If defined (not -1), indicates that the use of the chown() function is restricted to a process with root privileges, and to changing the group ID of a file to the effective group ID of the process or to one of its supplementary group IDs.
- _PC_NO_TRUNC
- If defined (not -1), indicates that the use of pathname components longer than the value given by _PC_NAME_MAX will generate an error.
- _PC_VDISABLE
- If defined (not -1), this is the character value which can be used to individually disable special control characters in the termios control structure.
Returns:
The requested configurable limit, or -1 if an error occurs (errno is set).
Errors:
- EACCES
- Search permission is denied for a component of path.
- EINVAL
- The name argument is invalid, or the indicated limit isn't supported.
- ELOOP
- Too many levels of symbolic links or prefixes.
- ENAMETOOLONG
- The path argument, or a component of path, is too long.
- ENOENT
- The file doesn't exist.
- ENOSYS
- The pathconf() function isn't implemented for the filesystem specified in path.
- ENOTDIR
- A component of the path prefix isn't a directory.
Examples:
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
int main( void )
{
long value;
value = pathconf( "/dev/con1", _PC_MAX_INPUT );
printf( "Input buffer size is %ld bytes\n",
value );
return EXIT_SUCCESS;
}
Classification:
| Safety: | |
|---|---|
| Cancellation point | No |
| Interrupt handler | No |
| Signal handler | Yes |
| Thread | Yes |
See also:
chown(), confstr(), errno, fpathconf(), sysconf(), termios
getconf in the Utilities Reference
Understanding System Limits chapter of the Neutrino User's Guide
![]() |
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Index]](../keyword_index.gif)
![[Next]](../next.gif)
