Added overview.edoc.
[erlang-gen_inotify.git] / src / overview.edoc
1 @author Stanislaw Klekot <dozzie@jarowit.net>
2 @title inotify bindings for Erlang
3 @version 0.0.0
4 @doc
5
6 `gen_inotify' is an Erlang bindings library to `inotify(7)' Linux subsystem to
7 watch filesystem events.
8
9 == Usage example ==
10
11 ```
12 1> file:make_dir("/tmp/watch").
13 ok
14 2> {ok, H} = gen_inotify:open().
15 {ok,#Port<0.620>}
16 3> gen_inotify:add(H, "/tmp/watch", [if_dir, create, delete]).
17 ok
18 4> file:make_dir("/tmp/watch/subdir").
19 ok
20 5> file:del_dir("/tmp/watch/subdir").
21 ok
22 6> flush().
23 Shell got {inotify,#Port<0.620>,"/tmp/watch/subdir",0,[is_dir,create]}
24 Shell got {inotify,#Port<0.620>,"/tmp/watch/subdir",0,[is_dir,delete]}
25 ok
26 '''
27
28 == /proc interface ==
29
30 <i>inotify</i> has per-UID limits on number of sockets, events, and watches.
31 These limits can be read and modified using `/proc' interface.
32
33 <ul>
34   <li>`/proc/sys/fs/inotify/max_user_instances' -- limit on number of open
35       <i>inotify</i> descriptors</li>
36   <li>`/proc/sys/fs/inotify/max_user_watches' -- limit on total number of
37       watched objects (files and directories) across the <i>inotify</i>
38       descriptors</li>
39   <li>`/proc/sys/fs/inotify/max_queued_events' -- maximum number of unread
40       filesystem events before a queue overflow message is generated and the
41       events start being dropped</li>
42 </ul>
43
44 Details are described in `inotify(7)' man page.