inotify_add_watch(2)

НАИМЕНОВАНИЕ
inotify_add_watch - добавляет сторожок к инициализированному экземпляру inotify

БИБЛИОТЕКА
Стандартная библиотека языка C (libc, -lc)

ОБЗОР
#include <sys/inotify.h>

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

ОПИСАНИЕ
inotify_add_watch() adds a new watch, or modifies an existing watch, for the file whose location is specified in path; the caller must have read permission for this file. The fd argument is a file descriptor referring to the inotify instance whose watch list is to be modified. The events to be monitored for path are specified in the mask bit-mask argument. See inotify(7) for a description of the bits that can be set in mask.

A successful call to inotify_add_watch() returns a unique watch descriptor for this inotify instance, for the filesystem object (inode) that corresponds to path. If the filesystem object was not previously being watched by this inotify instance, then the watch descriptor is newly allocated. If the filesystem object was already being watched (perhaps via a different link to the same object), then the descriptor for the existing watch is returned.

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

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
При успешном выполнении inotify_add_watch() возвращает дескриптор наблюдения (неотрицательное целое число). В случае ошибки возвращает -1, а errno устанавливается для указания ошибки.

ОШИБКИ

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

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

EEXIST
    mask contains IN_MASK_CREATE and path refers to a file already being watched by the same fd.

EFAULT
    path points outside of the process's accessible address space.

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

ENAMETOOLONG
    path слишком длинен.

ENOENT
    A directory component in path does not exist or is a dangling symbolic link.

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

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

ENOTDIR
    mask contains IN_ONLYDIR and path is not a directory.

СТАНДАРТЫ
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>

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

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