Linux Man на русском

  User    Syst    Libr    Device    Files    Other    Admin  



   inotify_init1 - инициализирует экземпляр inotify

inotify_init1(2) инициализирует экземпляр inotify

Other Alias

inotify_init


ОБЗОР

#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 для нового открытого файлового дескриптора. Использование данного флага заменяет дополнительные вызовы 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() впервые появился в Linux 2.6.13; поддержка в glibc доступна с версии 2.4. Системный вызов inotify_init1() был добавлен в Linux 2.6.27; поддержка в glibc доступна с версии 2.9.


СООТВЕТСТВИЕ СТАНДАРТАМ

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