INOTIFY_INIT(2)

名前
inotify_init, inotify_init1 - inotify インスタンスを初期化する

書式
#include <sys/inotify.h>

int inotify_init(void);
int inotify_init1(int flags);

説明
inotify API の概要については inotify(7) を参照。 inotify_init() は、新規の inotify インスタンスを初期化し、作成された inotify イベントキュー に対応するファイルディスクリプターを返す。 inotify_init1() は、 flags が 0 の場合、 inotify_init() と同じである。 flags に以下の値をビット毎の論理和 (OR) で指定することで、 異なる動作をさせることができる。

IN_NONBLOCK
    新しく生成されるオープンファイル記述 (open file description) の BR O_NONBLOCK ファイルステータスフラグをセットする。 このフラグを使うことで、 O_NONBLOCK をセットするために fcntl(2) を追加で呼び出す必要がなくなる。

IN_CLOEXEC
    新しいファイルディスクリプターに対して close-on-exec (FD_CLOEXEC) フラグをセットする。 このフラグが役に立つ理由については、 open(2) の O_CLOEXEC フラグの説明を参照のこと。

返り値
成功すると、これらのシステムコールは新しいファイルディスクリプターを返す。 エラーの場合、-1 を返し、 errno をエラーを示す値に設定する。

エラー

EINVAL
    (inotify_init1()) 無効な値が flags に指定された。

EMFILE
    inotify インスタンスの総数がユーザー単位の上限に達していた。

ENFILE
    inotify ファイルディスクリプターの総数がシステムの上限に達していた。

ENOMEM
    カーネルメモリーが十分になかった。

バージョン
inotify_init() は Linux 2.6.13 で初めて登場し、 ライブラリによるサポートは glibc バージョン 2.4 で追加された。 inotify_init1() は Linux 2.6.27 で追加され、 ライブラリによるサポートは glibc バージョン 2.9 で追加された。

準拠
これらのシステムコールは Linux 独自である。

関連項目
inotify_add_watch(2), inotify_rm_watch(2), inotify(7)

この文書について
この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。