inotify_init, inotify_init1 -
инициализирует
экземпляр
inotify
Standard C library (
libc,
-lc)
#include <sys/inotify.h>
int inotify_init(void);
int inotify_init1(int flags);
Обзор
программного
интерфейса
inotify смотрите
в
inotify(7).
inotify_init()
инициализирует
новый
экземпляр
inotify и
возвращает
файловый
дескриптор,
связанный
с очередью
событий
нового inotify.
Если
flags
равен 0, то
inotify_init1()
выполняет
тоже, что и
inotify_init(). Чтобы
получить
другое
поведение,
следующие
значения
могут быть
сложены с
помощью
побитового
ИЛИ в
flags:
- IN_NONBLOCK
- Устанавливает
флаг
состояния
файла O_NONBLOCK
для нового
открытого
файлового
описания
(смотрите
open(2)), на
которое
ссылается
новый
файловый
дескриптор.
Использование
данного
флага
делает
ненужными
дополнительные
вызовы fcntl(2)
для
достижения
того же
результата.
- IN_CLOEXEC
- Устанавливает
флаг close-on-exec ( FD_CLOEXEC)
для нового
открытого
файлового
дескриптора.
Смотрите
описание
флага O_CLOEXEC в
open(2) для того,
чтобы
узнать как
это может
пригодиться.
При
успешном
выполнении
данные
системные
вызовы
возвращают
новый
файловый
дескриптор.
При ошибке
возвращается
-1 и
errno
устанавливается
в
соответствующее
значение.
- EINVAL
- (inotify_init1())
Указано
неверное
значение в
flags.
- EMFILE
- Достигнуто
максимальное
количество
экземпляров
inotify
доступных
пользователю.
- EMFILE
- Было
достигнуто
ограничение
по
количеству
открытых
файловых
дескрипторов
на
процесс.
- ENFILE
- Достигнуто
максимальное
количество
открытых
файлов в
системе.
- ENOMEM
- Не
хватает
памяти
ядра.
inotify_init() first appeared in Linux 2.6.13; library support was added
in glibc 2.4.
inotify_init1() was added in Linux 2.6.27; library
support was added in glibc 2.9.
Данные
системные
вызовы
есть
только в Linux.
inotify_add_watch(2),
inotify_rm_watch(2),
inotify(7)
Русский
перевод
этой
страницы
руководства
был сделан
Azamat Hackimov <
[email protected]>, Dmitriy S. Seregin
<
[email protected]>, Yuri Kozlov <
[email protected]> и
Иван
Павлов <
[email protected]>
Этот
перевод
является
бесплатной
документацией;
прочитайте
Стандартную
общественную
лицензию GNU
версии 3
или более
позднюю,
чтобы
узнать об
условиях
авторского
права. Мы не
несем
НИКАКОЙ
ОТВЕТСТВЕННОСТИ.
Если вы
обнаружите
ошибки в
переводе
этой
страницы
руководства,
пожалуйста,
отправьте
электронное
письмо на
[email protected]