fpathconf, pathconf - получают значения параметров настроек для файлов
СИНТАКСИС
#include <unistd.h>long fpathconf(int filedes, int name);long pathconf(char *path, int name);
ОПИСАНИЕ
fpathconf()
получает значение параметра настроек
name
для открытого описателя файла
filedes.
pathconf()
получает значение параметра настроек
name
для имени файла
path.
Соответствующий макрос, определенный в
<unistd.h>,
выдает минимальные значения; если приложение собирается использовать
изменяющиеся значения, то необходимо вызывать функции
fpathconf()
или
pathconf(),
которые выдают результаты более гибким образом.
Если приравнивать
name
следующим константам, то выдаются, соответственно, их режимы работы:
_PC_LINK_MAX
возвращает максимальное количество ссылок на файл. Если
filedes
или
path
обращаются к каталогу, то значение применяется ко всему каталогу.
Соответствующий макрос -
_POSIX_LINK_MAX.
_PC_MAX_CANON
возвращает максимальную длину отформатированной строки ввода, причем,
filedes
или
path
должны обращаться к терминалу. Соответствующий макрос -
_POSIX_MAX_CANON.
_PC_MAX_INPUT
возвращает максимальную длину строки ввода, причем,
filedes
или
path
должны обращаться к терминалу. Соответствующий макрос -
_POSIX_MAX_INPUT.
_PC_NAME_MAX
возвращает максимальную длину имени файла в каталоге
path
или
filedes,
которую процесс разрешает создать. Соответствующий макрос -
_POSIX_NAME_MAX.
_PC_PATH_MAX
возвращает максимальную длину относительного имени файла, где
path
или
filedes
являются текущими рабочими каталогами. Соответствующий макрос -
_POSIX_PATH_MAX.
_PC_PIPE_BUF
возвращает размер буфера каналов, где
filedes
должно обращаться к каналу или к каналу FIFO, и
path
должно обращаться к каналу FIFO. Соответствующий макрос -
_POSIX_PIPE_BUF.
_PC_CHOWN_RESTRICTED
возвращает ненулевое значение, если для этого файла вызов
chown(2)
невозможен. Если
filedes
или
path
обращаются к каталогу, то это относится ко всем файлам в этом каталоге.
Соответствующий макрос -
_POSIX_CHOWN_RESTRICTED.
_PC_NO_TRUNC
возвращает ненулевое значение, если команда доступа к файловым именам
длиннее, чем
_POSIX_NAME_MAX ,
это приводит к ошибке. Соответствующий макрос -
_POSIX_NO_TRUNC.
_PC_VDISABLE
возвращает ненулевое значение, если обработка спецсимволов
может быть отключена, при этом
filedes
или
path
должны обращаться к терминалу.
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ
Возвращаются ограничения, если таковые существуют.
Если система не имеет ограничений для требуемого ресурса, то возвращается -1
и переменная
errno
не изменяется. Если есть ошибка, то возвращается -1, но в переменную
errno
записывается код ошибки.
СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1
ЗАМЕЧАНИЯ
Файлы, имена которых длиннее, чем значение, возвращаемое для
name,
и равны
_PC_NAME_MAX ,
могут существовать в текущем каталоге.
Некоторые возвращаемые значения могут быть огромны;
не рекомендуется размещать их в памяти.