VP
Size: a a a
VP
С
VP
С
VP
VP
С
VP
В программный интерфейс входят следующие системные вызовы:
* Вызов inotify_init(2) создаёт экземпляр inotify и возвращает файловый
дескриптор, ссылающийся на экземпляр inotify. Более новый
inotify_init1(2) подобен inotify_init(2), но имеет аргумент flags,
который предоставляет доступ к некоторым дополнительным возможностям.
* Вызов inotify_add_watch(2) изменяет «список наблюдения», связанный с
экземпляром inotify. Каждый элемент (сторожок (watch)) в списке задаёт
путь к файлу или каталогу и некоторый набор событий, которые ядро
должно отслеживать для файла, на который указывает этот путь. Вызов
inotify_add_watch(2) или создаёт новый сторожок, или изменяет
существующий. Каждый сторожок имеет уникальный «дескриптор сторожка» —
целое число, возвращаемое inotify_add_watch(2) при создании сторожка.
* При возникновении событий с отслеживаемыми файлами и каталогами, эти
события становятся доступны приложению в виде структурированных данных,
которые можно прочитать из файлового дескриптора inotify с помощью
read(2) (смотрите ниже).
...
Чтение событий из файлового дескриптора inotify
Чтобы определить, что события произошли, приложение должно прочитать
(read(2)) файловый дескриптор inotify. Если событий не было, то
предполагая, что это блокирующий файловый дескриптор, вызов read(2)
заблокирует работу до возникновения, по крайней мере, одного события (если
не будет прерван сигналом; в этом случае вызов завершается с ошибкой
EINTR, смотрите signal(7)).
При успешном выполнении read(2) возвращает буфер с одной или более
структурами следующего вида:
...
E
E
VP
E
E
HH
HH
E