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

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

       inotify_add_watch - добавляет сторожок к инициализированному экземпляру inotify

БИБЛИОТЕКА

       Стандартная библиотека языка C (libc, -lc)

ОБЗОР

       #include <sys/inotify.h>

       int inotify_add_watch(int fd, const char *pathname, uint32_t mask);

ОПИСАНИЕ

       Вызов  inotify_add_watch()  добавляет  новый  сторожок  (watch) или изменяет существующий, для файла, чьё
       расположение указано в pathname; вызывающий должен иметь право читать этот  файл.  Аргумент  fd  является
       файловым  дескриптором,  ссылающимся  на  экземпляр  inotify,  у  которого  изменяется  список сторожков.
       Отслеживаемые с pathname события указываются маской битов в аргументе mask. Описание битов mask  смотрите
       в inotify(7).

       При  успешном выполнении inotify_add_watch() возвращает уникальный дескриптор сторожка данного экземпляра
       inotify, для объекта файловой системы (иноды), связанной с pathname. Если ранее объект  файловой  системы
       не  наблюдался  данным  экземпляром inotify, то создаётся новый дескриптор сторожка. Если объект файловой
       системы уже отслеживался (возможно, через другую ссылку на тот же  объект),  то  возвращается  дескриптор
       существующего сторожка.

       Дескриптор  сторожка возвращается при последующих операциях read(2) из файлового дескриптора inotify. При
       чтении извлекаются структуры inotify_event (см. inotify(7)), указывающие на события в  файловой  системе;
       дескриптор сторожка внутри этой структуры определяет объект, для которого произошло событие.

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

       При  успешном  выполнении  inotify_add_watch()  возвращает  дескриптор  наблюдения (неотрицательное целое
       число). В случае ошибки возвращает -1, а errno устанавливается для указания ошибки.

ОШИБКИ

       EACCES Нет прав на чтение указанного файла.

       EBADF  Указан неверный файловый дескриптор.

       EEXIST В mask содержится IN_MASK_CREATE и pathname ссылается на файл, который уже  отслеживается  тем  же
              fd.

       EFAULT pathname указывает за пределы доступного адресного пространства.

       EINVAL Указанная маска событий не содержит допустимых событий; mask содержит IN_MASK_ADD и IN_MASK_CREATE
              одновременно; fd не является файловым дескриптором inotify.

       ENAMETOOLONG
              Слишком длинное значение аргумента pathname.

       ENOENT Один из каталогов в pathname не существует или является повисшей символьной ссылкой.

       ENOMEM Недостаточное количество памяти ядра.

       ENOSPC Достигнуто  максимальное  количество  сторожков inotify доступных пользователю или ядру не удалось
              выделить необходимые ресурсы.

       ENOTDIR
              В значении mask содержится IN_ONLYDIR и pathname не является каталогом.

СТАНДАРТЫ

       Linux.

ИСТОРИЯ

       Linux 2.6.13.

ПРИМЕРЫ

       Смотрите inotify(7).

СМОТРИТЕ ТАКЖЕ

       inotify_init(2), inotify_rm_watch(2), inotify(7)

ПЕРЕВОД

       Русский перевод этой страницы  руководства  разработал(и)  Azamat  Hackimov  <azamat.hackimov@gmail.com>,
       Dmitriy  S. Seregin <dseregin@59.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 г.                             inotify_add_watch(2)