# PXFPATHCONF

POSIX Subroutine: Gets the value for a configuration option of an opened file.

## Module

USE IFPOSIX

CALL PXFPATHCONF (path,ilen,name,ival,ierror)

path | (Input) Character. The path to the opened file.
ilen | (Input) INTEGER(4). The length of path.
name | (Input) INTEGER(4). The configurable option.
ival | (Input) INTEGER(4). The value of the configurable option.
ierror | (Output) INTEGER(4). The error status.

If successful, ierror is set to zero; otherwise, an error code.

The PXFPATHCONF subroutine gets a value for the configuration option named for the opened file with path path.

The configuration option, defined in name, can be obtained by using PXFCONST or IPXFCONST with one of the following constant names:

Constant | Action
--- | ---
_PC_LINK_MAX | Returns the maximum number of links to the file. If path refers to a directory, then the value applies to the whole directory.
_PC_MAX_CANON1 | Returns the maximum length of a formatted input line; the path must refer to a terminal.
_PC_MAX_INPUT1 | Returns the maximum length of an input line; the path must refer to a terminal.
_PC_NAME_MAX | Returns the maximum length of a filename in path that the process is allowed to create.
_PC_PATH_MAX | Returns the maximum length of a relative pathname when path is the current working directory.
_PC_PIPE_BUF | Returns the size of the pipe buffer; the path must refer to a FIFO.
_PC_CHOWN_RESTRICTED1 | Returns nonzero if PXFCHOWN may not be used on this file. If path refers to a directory, then this applies to all files in that directory.
_PC_NO_TRUNC1 | Returns nonzero if accessing filenames longer than _POSIX_NAME_MAX will generate an error.
_PC_VDISABLE1 | Returns nonzero if special character processing can be disabled; the path must refer to a terminal.
1L*X, M*X

On Linux* and macOS systems, the corresponding macros are defined in <unistd.h>. The values for name can be obtained by using PXFCONST or IPXFCONST when passing the string names of predefined macros in <unistd.h>. The following table shows the corresponding macro names for the above constants:

Constant | Corresponding Macro
--- | ---
_PC_LINK_MAX | _POSIX_LINK_MAX
_PC_MAX_CANON | _POSIX_MAX_CANON
_PC_MAX_INPUT | _POSIX_MAX_INPUT
_PC_NAME_MAX | _POSIX_NAME_MAX
_PC_PATH_MAX | _POSIX_PATH_MAX
_PC_PIPE_BUF | _POSIX_PIPE_BUF
_PC_CHOWN_RESTRICTED | _POSIX_CHOWN_RESTRICTED
_PC_NO_TRUNC | _POSIX_NO_TRUN C
_PC_VDISABLE | _POSIX_VDISABLE

Parent topic: POSIX* Library Routines

## See Also

IPXFCONST
PXFCONST
PXFFPATHCONF