Provided by: manpages-ru-dev_4.19.0-7_all bug

ИМЯ

       fpathconf, pathconf - получают параметры настроек для файлов

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #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 должны указывать на терминал.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       Возвращаемым значением этих функций может быть одно из:

       •  On error, -1 is returned and errno is set to indicate the error (for  example,  EINVAL,
          indicating that name is invalid).

       •  Если 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,
       могут существовать в заданном каталоге.

       Некоторые  возвращаемые значения могут быть огромны; соответствующие им объекты невозможно
       разместить в памяти.

СМ. ТАКЖЕ

       getconf(1), open(2), statfs(2), confstr(3), sysconf(3)

ПЕРЕВОД

       Русский   перевод   этой    страницы    руководства    был    сделан    Azamat    Hackimov
       <azamat.hackimov@gmail.com>,   Dmitry   Bolkhovskikh  <d20052005@yandex.ru>,  Yuri  Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.