1951899d967b2dd726bc3e01e419bbd52dc871c6
[cl-inotify.git] / package.lisp
1 ;;; -*- mode: lisp; syntax: common-lisp; coding: utf-8; package: cl-user; -*-
2
3 ;; Copyright (c) 2011-12, Olof-Joachim Frahm
4 ;; All rights reserved.
5
6 ;; Redistribution and use in source and binary forms, with or without
7 ;; modification, are permitted provided that the following conditions
8 ;; are met:
9
10 ;; 1. Redistributions of source code must retain the above copyright
11 ;; notice, this list of conditions and the following disclaimer.
12
13 ;; 2. Redistributions in binary form must reproduce the above copyright
14 ;; notice, this list of conditions and the following disclaimer in the
15 ;; documentation and/or other materials provided with the distribution.
16
17 ;; THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18 ;; "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19 ;; LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20 ;; A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21 ;; OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22 ;; SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23 ;; LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24 ;; DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25 ;; THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26 ;; (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27 ;; OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28
29 (in-package #:cl-user)
30
31 (defpackage cl-inotify
32   (:use #:cl #:cffi)
33   (:export ;;; used types for documentation
34            #:inotify-add/read-flag
35            #:inotify-read-flag
36            #:inotify-add-flag
37
38            ;;; very raw
39            #:read-raw-event-from-stream
40
41            ;;; basic stuff
42            #:close-inotify
43
44            ;;; inotify accessors
45            #:inotify-fd
46            #:inotify-stream
47            #:inotify-nonblocking
48
49            ;;; event parsing functions
50            #:make-unregistered-inotify
51            #:read-event-from-stream
52            #:watch-raw
53            #:unwatch-raw
54
55            ;;; event accessors
56            #:inotify-event-wd
57            #:inotify-event-mask
58            #:inotify-event-cookie
59            #:inotify-event-name
60
61            ;;; enhanced functionality
62            #:make-inotify
63            #:pathname-handle/flags
64            #:event-pathname/flags
65            #:watch
66            #:unwatch
67            #:event-availablep
68            #:read-event
69            #:next-event
70
71            ;;; convenience functions
72            #:list-watched
73            #:do-events
74            #:next-events
75
76            ;;; macros
77            #:with-inotify
78            #:with-unregistered-inotify)
79   (:documentation "A binding (not only?) for the LINUX inotify(7) API."))