PATHCONF(2) BSD Programmer's Manual PATHCONF(2) NNAAMMEE ppaatthhccoonnff, ffppaatthhccoonnff - get configurable pathname variables SSYYNNOOPPSSIISS ##iinncclluuddee <<uunniissttdd..hh>> _l_o_n_g ppaatthhccoonnff(_c_o_n_s_t _c_h_a_r _*_p_a_t_h, _i_n_t _n_a_m_e); _l_o_n_g ffppaatthhccoonnff(_i_n_t _f_d, _i_n_t _n_a_m_e); DDEESSCCRRIIPPTTIIOONN The ppaatthhccoonnff() and ffppaatthhccoonnff() functions provides a method for applica- tions to determine the current value of a configurable system limit or option variable associated with a pathname or file descriptor. For ppaatthhccoonnff, the _p_a_t_h argument is the name of a file or directory. For ffppaatthhccoonnff, the _f_d argument is an open file descriptor. The _n_a_m_e argument specifies the system variable to be queried. Symbolic constants for each name value are found in the include file <unistd.h>. The available values are as follows: _PC_LINK_MAX The maximum file link count. _PC_MAX_CANON The maximum number of bytes in terminal canonical input line. _PC_MAX_INPUT The minimum maximum number of bytes for which space is available in a terminal input queue. _PC_NAME_MAX The maximum number of bytes in a file name. _PC_PATH_MAX The maximum number of bytes in a pathname. _PC_PIPE_BUF The maximum number of bytes which will be written atomically to a pipe. _PC_CHOWN_RESTRICTED Return 1 if appropriate privileges are required for the chown(2) system call, otherwise 0. _PC_NO_TRUNC Return 1 if file names longer than KERN_NAME_MAX are truncated. _PC_VDISABLE Returns the terminal character disabling value. RREETTUURRNN VVAALLUUEESS If the call to ppaatthhccoonnff or ffppaatthhccoonnff is not successful, -1 is returned and _e_r_r_n_o is set appropriately. Otherwise, if the variable is associated with functionality that does not have a limit in the system, -1 is re- turned and _e_r_r_n_o is not modified. Otherwise, the current variable value is returned. EERRRROORRSS If any of the following conditions occur, the ppaatthhccoonnff and ffppaatthhccoonnff functions shall return -1 and set _e_r_r_n_o to the corresponding value. [EINVAL] The value of the _n_a_m_e argument is invalid. [EINVAL] The implementation does not support an association of the variable name with the associated file. PPaatthhccoonnff() will fail if: [ENOTDIR] A component of the path prefix is not a directory. [ENAMETOOLONG] A component of a pathname exceeded 255 characters, or an entire path name exceeded 1023 characters. [ENOENT] The named file does not exist. [EACCES] Search permission is denied for a component of the path prefix. [ELOOP] Too many symbolic links were encountered in translating the pathname. [EIO] An I/O error occurred while reading from or writing to the file system. FFppaatthhccoonnff() will fail if: [EBADF] _f_d is not a valid open file descriptor. [EIO] An I/O error occurred while reading from or writing to the file system. SSEEEE AALLSSOO sysctl(3) HHIISSTTOORRYY The ppaatthhccoonnff and ffppaatthhccoonnff functions first appeared in 4.4BSD. 4th Berkeley Distribution June 4, 1993 2