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