Module Inotify

module Inotify: sig .. end
Inotify binding for OCaml
See also Inotify manual page

type selector = 
| S_Access
| S_Attrib
| S_Close_write
| S_Close_nowrite
| S_Create
| S_Delete
| S_Delete_self
| S_Modify
| S_Move_self
| S_Moved_from
| S_Moved_to
| S_Open
| S_Dont_follow
| S_Mask_add
| S_Oneshot
| S_Onlydir
| S_Move
| S_Close
| S_All
Type of event masks.
type event_kind = 
| Access
| Attrib
| Close_write
| Close_nowrite
| Create
| Delete
| Delete_self
| Modify
| Move_self
| Moved_from
| Moved_to
| Open
| Ignored
| Isdir
| Q_overflow
| Unmount
Type of observed events.
type watch 
Type of watch descriptors.
type event = watch * event_kind list * int32 * string option 
Type of received events, corresponding to struct inotify_event. In event wd, kinds, cookie, path, wd corresponds to inotify_event.wd, kinds corresponds to the bits set in inotify_event.mask, cookie corresponds to inotify_event.cookie, path is Some filename if inotify_event.len > 0 and None otherwise.
val int_of_watch : watch -> int
int_of_watch wd returns the underlying integer representation of watch descriptor wd.
val string_of_event_kind : event_kind -> string
string_of_event_kind ek returns the string representation of event kind ek, e.g. string_of_event_kind Move_self"MOVE_SELF".
val string_of_event : event -> string
string_of_event event returns the string representation of event ev, e.g. string_of_event
val create : unit -> Unix.file_descr
create () returns a fresh inotify file descriptor or raises Unix.Unix_error(errno, "inotify_init""").
val add_watch : Unix.file_descr -> string -> selector list -> watch
add_watch fd path events starts observing events from events for path path at inotify file descriptor fd and returns a fresh watch descriptor, or raises Unix.Unix_error(errno, "inotify_add_watch", path).
val rm_watch : Unix.file_descr -> watch -> unit
rm_watch fd watch stops observing events corresponding to watch descriptor watch at inotify file descriptor fd, or raises Unix.Unix_error(errno, "inotify_rm_watch", path).
val read : Unix.file_descr -> event list
read fd requests a list of events for inotify file descriptor fd. Each event will include the watch descriptor, which can be used to determine the path that caused it, and Moved_to and Moved_from events will include a cookie that allows to associate them with each other.

If Inotify.read is not called often enough, the kernel event buffer may overflow, in which case the event kind list will consist of [Q_overflow]. Such an event would be associated with a watch descriptor -1, never returned from Inotify.add_watch.