Provided by: manpages-ja-dev_0.5.0.0.20140515+dfsg-2_all bug

名前

       inotify_add_watch - 初期化済み inotify インスタンスに監視対象を追加する

書式

       #include <sys/inotify.h>

       int inotify_add_watch(int fd, const char *pathname, uint32_t mask);

説明

       inotify_add_watch()   は、 pathname で指定された位置にあるファイルを監視する監視アイテム (watch) の新規追
       加、 または既存の監視アイテムの変更を行う。 呼び出し元は、監視対象のファイルに対する読み出し許可を 持って
       いなければならない。 fd 引き数は、変更を行う監視対象リスト (watch list) を持つ inotify インスタンスを参照
       するファイルディスクリプタである。 pathname のどのイベントを監視するかは、引き数のビットマスク mask  で指
       定する。 mask に設定できるビットの説明については inotify(7)  を参照のこと。

       inotify_add_watch()   の呼び出しが成功すると、変更対象の inotify インスタンスで pathname に対応付けられる
       一意な監視対象ディスクリプタ (watch descriptor) を返す。 pathname がその inotify インスタンスに追加されて
       いなければ、 監視対象ディスクリプタが新規に割り当てられる。 pathname がすでに監視対象になっていれば、既存
       の監視アイテムに対する ディスクリプタが返される。

       これ以降に inotify ファイルディスクリプタから read(2)  を行うと、監視対象ディスクリプタが返される。  これ
       らの  read()   を行うと、ファイルシステムイベントを示す inotify_event 構造体が読み出される (inotify(7) 参
       照)。この構造体内の監視対象ディスクリプタにより、    どのオブジェクトでそのイベントが発生したかを特定でき
       る。

返り値

       成功すると、  inotify_add_watch()  は非負の監視対象ディスクリプタを返す。 エラーの場合、-1 を返し、 errno
       を適切に設定する。

エラー

       EACCES 指定されたファイルに対する読み出しアクセスが許可されていない。

       EBADF  指定されたファイルディスクリプタが有効ではない。

       EFAULT pathname が指すアドレスがプロセスがアクセスできるアドレス空間外である。

       EINVAL 指定されたイベントマスクに有効なイベントが含まれていない。 もしくは fd が inotify ファイルディスク
              リプタではない。

       ENAMETOOLONG
              pathname が長過ぎる。

       ENOENT pathname のディレクトリ部分の構成要素が、存在しないか、 リンク切れのシンボリックリンクである。

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

       ENOSPC inotify 監視対象の総数がユーザが追加できる上限に達していた。  もしくは、必要な資源の割り当てにカー
              ネルが失敗した。

バージョン

       inotify は Linux カーネル 2.6.13 に組み込まれた。

準拠

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

関連項目

       inotify_init(2), inotify_rm_watch(2), inotify(7)

この文書について

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

Linux                                              2014-03-28                               INOTIFY_ADD_WATCH(2)