INOTIFY_ADD_WATCH
Section: Linux Programmer's Manual (2)
Updated: 2006-02-07
Index
JM Home Page
roff page
名前
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_add_watch()
は非負の監視対象ディスクリプタを返す。
エラーの場合、-1 を返し、
errno
を適切に設定する。
エラー
- EACCES
-
指定されたファイルに対する読み出しアクセスが許可されていない。
- EBADF
-
指定されたファイルディスクリプタが有効ではない。
- EFAULT
-
pathname
が指すアドレスがプロセスがアクセスできるアドレス空間外である。
- EINVAL
-
指定されたイベントマスクに有効なイベントが含まれていない。
もしくは
fd
が inotify ファイルディスクリプタではない。
- ENOMEM
-
カーネルメモリが十分になかった。
- ENOSPC
-
inotify 監視対象の総数がユーザが追加できる上限に達していた。
もしくは、必要な資源の割り当てにカーネルが失敗した。
バージョン
inotify は Linux カーネル 2.6.13 に組み込まれた。
準拠
このシステムコールは Linux 独自である。
関連項目
inotify_init(2),
inotify_rm_watch(2),
inotify(7)
Index
- 名前
-
- 書式
-
- 説明
-
- 返り値
-
- エラー
-
- バージョン
-
- 準拠
-
- 関連項目
-
This document was created by
man2html,
using the manual pages.
Time: 04:31:46 GMT, November 19, 2007