Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

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

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

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

       •  В случае ошибки возвращается -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-2008.

ИСТОРИЯ

       POSIX.1-2001.

ПРИМЕЧАНИЯ

       Файлы,  имена  которых  длиннее,  чем  значение,  возвращаемое  для  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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                     fpathconf(3)