Provided by: manpages-ja-dev_0.5.0.0.20221215+dfsg-1_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() の呼び出しが成功すると、 pathname に対応するファイルシステムオブジェクト (inode) に対
       する、 一意な監視対象ディスクリプター (watch descriptor) を、 対象の  inotify  インスタンスに対して返す。
       そのファイルシステムオブジェクトが対象の  inotify インスタンスによって以前に監視されていない場合には、 監
       視対象ディスクリプターは新規に割り当てられる。 ファイルシステムオブジェクトが (おそらく同じオブジェクトに
       対する異なるリンク経由で) すでに監視されている場合には、 既存の監視に対するディスクリプターが返される。

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

返り値

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

エラー

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

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

       EEXIST mask contains IN_MASK_CREATE and pathname refers to a file already being watched by the same fd.

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

       EINVAL The   given  event  mask  contains  no  valid  events;  or  mask  contains  both  IN_MASK_ADD  and
              IN_MASK_CREATE; or fd is not an inotify file descriptor.

       ENAMETOOLONG
              pathname が長過ぎる。

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

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

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

       ENOTDIR
              mask contains IN_ONLYDIR and pathname is not a directory.

バージョン

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

準拠

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

       inotify(7) 参照。

関連項目

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

この文書について

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