package inotify
Inotify bindings for OCaml
Install
Dune Dependency
github.com
Readme
Changelog
LGPL-2.1-only WITH OCaml-LGPL-linking-exception License
Edit opam file
Versions (10)
Authors
Maintainers
Sources
inotify-2.6.tbz
sha256=1d103e7dd32fddd0f1201b2d2f6c5b762548277bc173beef7b072f30ea89ccc4
sha512=660a44e3083f76f0342a6214ba9df4e18b42cc5da833cae3200345e5f0c5c353a3d67dace21ba00d3365d6866a82c90e5b732c9f8e3d9e38687239d6d0fe41f5
Description
Inotify bindings for OCaml
Published: 29 Jul 2024
README
OCaml Inotify bindings
This package contains bindings for Linux's filesystem monitoring interface, inotify.
Installation
The bindings are available via OPAM:
$ opam install inotify
Alternatively, you can do it manually:
# If you want to use lwt_inotify
$ opam install lwt
# If you want to use eio_inotify
$ opam install eio
$ opam install .
Usage
Unix-style interface (findlib package inotify
):
let inotify = Inotify.create () in
let watch = Inotify.add_watch inotify "dir" [Inotify.S_Create] in
print_endline (Inotify.string_of_event (List.hd (Inotify.read inotify)))
(* watch=1 cookie=0 events=CREATE "file" *)
Lwt-style interface (findlib package inotify.lwt
):
Lwt_main.run (
let%lwt inotify = Lwt_inotify.create () in
let%lwt watch = Lwt_inotify.add_watch inotify "dir" [Inotify.S_Create] in
let%lwt event = Lwt_inotify.read inotify in
Lwt_io.printl (Inotify.string_of_event event))
(* watch=1 cookie=0 events=CREATE "file" *)
Eio-style interface (findlib package inotify-eio
):
Eio_main.run @@ fun _env ->
let inotify = Eio_inotify.create () in
let _watch = Eio_inotify.add_watch inotify "dir" [Inotify.S_Create] in
let event = Eio_inotify.read inotify in
print_endline (Inotify.string_of_event event)
(* watch=1 cookie=0 events=CREATE "file" *)
Note that Lwt-style & Eio-style interfaces returns events one-by-one, but the Unix-style one returns them in small batches.
Documentation
The API documentation is available at GitHub pages.
License
Dependencies (4)
-
ocaml
>= "4.03"
- base-bytes
- base-unix
-
dune
>= "3.9"
Dev Dependencies (4)
Used by (6)
-
async_inotify
>= "111.17.00"
- inotify-eio
-
irmin-watcher
>= "0.4.0"
-
slipshow
< "0.0.33"
-
stone
>= "0.4.0"
- xapi-rrdd
Conflicts
None
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page