The hinotify package

[Tags: bsd3, library]

This library provides a wrapper to the Linux Kernel's inotify feature, allowing applications to subscribe to notifications when a file is accessed or modified.


[Skip to ReadMe]

Properties

Versions0.1, 0.2, 0.3, 0.3.1, 0.3.2, 0.3.3, 0.3.4, 0.3.5, 0.3.6, 0.3.7
Change logNone available
Dependenciesbase, containers, directory, unix [details]
LicenseBSD3
AuthorLennart Kolmodin
MaintainerLennart Kolmodin <kolmodin@gentoo.org>
CategorySystem
Home pagehttp://haskell.org/~kolmodin/code/hinotify/README.html
UploadedWed Dec 26 11:43:33 UTC 2007 by LennartKolmodin
DistributionsDebian:0.3.7, Fedora:0.3.7, FreeBSD:0.3.7, LTSHaskell:0.3.7, NixOS:0.3.7, Stackage:0.3.7
Downloads25446 total (449 in last 30 days)
Votes
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]

Modules

[Index]

Flags

NameDescriptionDefault
split-baseChoose the new smaller, split-up base package.Enabled

Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info

Downloads

Maintainers' corner

For package maintainers and hackage trustees

Readme for hinotify-0.2

% hinotify: inotify for Haskell
% Lennart Kolmodin <kolmodin@gentoo.org>
% December 26, 2007

About
-----

hinotify, a library to [inotify] which has been part of the Linux kernel
since 2.6.13.

inotify provides file system event notification, simply add a watcher to
a file or directory and get an event when it is accessed or modified.

This module is named `inotify`.

See example code in the `examples` directory, distributed with the source
code.

[inotify]: http://www.kernel.org/pub/linux/kernel/people/rml/inotify/

News
----

**hinotify 0.2**
:   * Updates to the API
        - Function names is now in semiCamelCase
        - Restructure event parameters to make it more consistent
    * Small test suit in `tests/`
    * Compiles with GHC 6.8.2 and GHC 6.6.1
    * Requires Cabal 1.2

**hinotify 0.1**
:   Initial release

API
---

The API basically consists of:

    initINotify :: IO INotify
    addWatch :: INotify
             -> [EventVariety]   -- different events to listen on
             -> FilePath         -- file/directory to watch
             -> (Event -> IO ()) -- event handler
             -> IO WatchDescriptor
    removeWatch :: INotify -> WatchDescriptor -> IO ()

A sample program:

    import System.Directory
    import System.IO

    import System.INotify

    main :: IO ()
    main = do
        inotify <- initINotify
        print inotify
        home <- getHomeDirectory
        wd <- addWatch
                inotify
                [Open,Close,Access,Modify,Move]
                home
                print
        print wd
        putStrLn "Listens to your home directory. Hit enter to terminate."
        getLine
        removeWatch inotify wd


Download
--------

The code is available via the [homepage], and via darcs:

    darcs get --partial http://haskell.org/~kolmodin/code/hinotify/

The [API] is available online.

I'm most grateful for feedback on the API, and what else you might have to
suggest.

Author
------

Lennart Kolmodin

`kolmodin at gentoo.org`

Legal
-----

This software is released under a BSD-style license. See LICENSE for
more details.

Copyright &copy; 2007 Lennart Kolmodin

[homepage]: http://haskell.org/~kolmodin/code/hinotify/

[API]: http://haskell.org/~kolmodin/code/hinotify/docs/api/