Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

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

LIBRARY

       Standard C library (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)),
       указывающие  на  события  в  файловой  системе;  дескриптор сторожка внутри этой структуры
       определяет объект, для которого произошло событие.

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

       On success, inotify_add_watch()  returns a watch descriptor (a nonnegative  integer).   On
       error, -1 is returned and errno is set to indicate the error.

ОШИБКИ

       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 не является каталогом.

ВЕРСИИ

       Inotify был добавлен в ядро Linux версии 2.6.13.

СТАНДАРТЫ

       Данный вызов есть только в Linux.

ПРИМЕРЫ

       Смотрите 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>

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

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