ИМЯ
fpathconf, pathconf -
    получают
    параметры
    настроек
    для
  файлов
ОБЗОР
#include <unistd.h>
long fpathconf(int fd, int name);
long pathconf(const char *path, int name);
ОПИСАНИЕ
fpathconf()
    получает
    значение
    параметра
    настроек name
    для
    открытого
    дескриптора
    файла fd.
pathconf()
    получает
    значение
    параметра
    настроек name
    для файла с
    именем path.
Соответствующие
    макросы,
    определённые
    в <unistd.h>,
    выдают
    минимальные
    значения;
    если
    приложение
    собирается
    использовать
    изменяющиеся
    значения,
    то
    необходимо
    вызывать
    функции fpathconf()
    или pathconf(),
    которые
    выдают
    более
    гибкий
    результат.
При
    установке
    значения name
    в
    следующие
    константы
    возвращаются
    соответствующие
    им
    параметры
    настройки:
  - _PC_LINK_MAX
- Максимальное
      количество
      ссылок на
      файл. Если
      fd или path
      указывают
      на каталог,
      то
      значение
      применяется
      ко всему
      каталогу.
      Соответствует
      макросу
      _POSIX_LINK_MAX.
- _PC_MAX_CANON
- Максимальная
      длина
      отформатированной
      строки
      ввода,
      причём, fd
      или path
      должны
      указывать
      на
      терминал.
      Соответствует
      макросу
      _POSIX_MAX_CANON.
- _PC_MAX_INPUT
- Максимальная
      длина
      строки
      ввода,
      причём, fd
      или path
      должны
      указывать
      на
      терминал.
      Соответствует
      макросу
      _POSIX_MAX_INPUT.
- _PC_NAME_MAX
- Максимальная
      длина
      имени
      файла в
      каталоге
      path или fd,
      которую
      разрешено
      использовать
      процессу
      при
      создании
      файла.
      Соответствует
      макросу
      _POSIX_NAME_MAX.
- _PC_PATH_MAX
- Максимальная
      длина
      относительного
      имени
      файла, где
      path или fd
      являются
      текущим
      рабочим
      каталогом.
      Соответствует
      макросу
      _POSIX_PATH_MAX.
- _PC_PIPE_BUF
- Максимальное
      количество
      байт,
      которое
      может быть
      атомарно
      записано в
      канал FIFO. Для
      fpathconf()
      значение fd
      должно
      указывать
      на канал
      или FIFO. Для fpathconf()
      значение
      path должно
      указывать
      на FIFO или
      каталог; в
      последнем
      случае
      возвращаемое
      значение
      соответствует
      FIFO,
      созданному
      в этом
      каталоге.
      Соответствует
      макросу
      _POSIX_PIPE_BUF.
- _PC_CHOWN_RESTRICTED
- Возвращает
      положительное
      значение,
      если
      использование
      chown(2) и fchown(2) для
      изменения
      идентификатора
      пользователя
      файла
      ограничено
      для
      процесса с
      соответствующими
      правами и
      изменение
      идентификатора
      группы
      файла на
      значение,
      отличающееся
      от
      идентификатора
      эффективной
      группы
      процесса
      или его
      вспомогательных
      идентификаторов
      групп,
      ограничено
      для
      процесса с
      соответствующими
      правами.
      Согласно POSIX.1,
      эта
      переменная
      всегда
      должна
      быть
      определена
      со
      значением
      не равным -1.
      Соответствует
      макросу
      _POSIX_CHOWN_RESTRICTED.
  
  - Если fd или
      path
      указывают
      на каталог,
      то
      возвращаемое
      значение
      относится
      ко всем
      файлам в
      этом
      каталоге.
  - _PC_NO_TRUNC
- Возвращает
      ненулевое
      значение,
      если при
      доступе к
      файловым
      именам
      длиннее,
      чем _POSIX_NAME_MAX,
      возникает
      ошибка.
      Соответствует
      макросу
      _POSIX_NO_TRUNC.
- _PC_VDISABLE
- Возвращает
      ненулевое
      значение,
      если
      обработка
      спецсимволов
      может быть
      отключена,
      при этом fd
      или path
      должны
      указывать
      на
      терминал.
ВОЗВРАЩАЕМОЕ
  ЗНАЧЕНИЕ
Возвращаемым
    значением
    этих
    функций
    может быть
    одно из:
  - При ошибке
      возвращается
      -1, а в errno
      содержится
      код ошибки
      (например,
      EINVAL
      означает,
      что
      некорректно
      name).
- Если name
      соответствует
      максимальному
      или
      минимальному
      ограничителю
      и этот
      ограничитель
      не
      определён,
      то
      возвращается
      -1 и errno не
      изменяется
      (чтобы
      отличать
      неопределённый
      ограничитель
      от ошибки,
      сбросьте
      errno в ноль
      пере
      вызовом, а
      затем
      проверьте,
      что errno не
      равно нулю,
      если
      возвращается
      -1).
- Если name
      соответствует
      параметру,
      то
      возвращается
      положительное
      значение,
      если
      параметр
      поддерживается
      и -1, если
      параметр
      не
      поддерживается.
- В
      противном
      случае
      возвращается
      текущее
      значение
      параметра
      или
      ограничителя.
      Это
      значение
      будет не
      более
      ограничивающем
      чем
      соответствующее
      значение,
      которое
      было
      показано
      приложению
      в <unistd.h> или
      <limits.h> при
      компиляции.
ОШИБКИ
  - EACCES
- (pathconf())
      Запрещён
      поиск в
      одном из
      каталогов
      пути path.
- EBADF
- (fpathconf())
      Значение fd
      не
      является
      правильным
      файловым
      дескриптором.
- EINVAL
- Неверное
      значение
      name.
- EINVAL
- Реализация
      не
      поддерживает
      связь name с
      указанным
      файлом.
- ELOOP
- (pathconf()) Во
      время
      определения
      path
      встретилось
      слишком
      много
      символьных
      ссылок.
- ENAMETOOLONG
- (pathconf())
      Слишком
      длинное
      значение
      аргумента
      path.
- ENOENT
- (pathconf())
      Компонент
      пути path не
      существует
      или в path
      указана
      пустая
      строка.
- ENOTDIR
- (pathconf())
      Компонент
      пути,
      использованный
      как
      каталог в
      path, в
      действительности
      таковым не
      является.
АТРИБУТЫ
Описание
    терминов
    данного
    раздела
    смотрите в
    attributes(7).
  
    | Интерфейс | Атрибут | Значение | 
  
    | fpathconf(), pathconf() | Безвредность
      в нитях | MT-Safe | 
СООТВЕТСТВИЕ
  СТАНДАРТАМ
POSIX.1-2001, POSIX.1-2008.
ЗАМЕЧАНИЯ
Файлы,
    имена
    которых
    длиннее,
    чем
    значение,
    возвращаемое
    для name и
    равны _PC_NAME_MAX,
    могут
    существовать
    в заданном
    каталоге.
Некоторые
    возвращаемые
    значения
    могут быть
    огромны;
    соответствующие
    им объекты
    невозможно
    разместить
    в памяти.