Manpages

名 前

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/ に 書 か れ て い る 。