Главная » 2017 » Ноябрь » 19 » man 2 inotify_add_watch
22:35
man 2 inotify_add_watch

SEO sprint - Всё для максимальной раскрутки!





ИМЯ


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



ОБЗОР


#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 Указан неверный файловый дескриптор.

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

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

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

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

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

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



ВЕРСИИ


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

Категория: (2) Системные вызовы ядра (функции языка Си) | Просмотров: 423 | Добавил: Администратор | Рейтинг: 0.0/0
Всего комментариев: 0
avatar