inotify_init1(2) inotify インスタンスを初期化する

Other Alias

inotify_init

書式

#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 独自である。

この文書について

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