Add iolib functions.
[cl-inotify.git] / package.lisp
1 ;;; -*- mode: lisp; syntax: common-lisp; coding: utf-8-unix; 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   (:import-from #:osicat-posix #:defsyscall)
34   (:export ;;; used types for documentation
35            #:inotify-add/read-flag
36            #:inotify-read-flag
37            #:inotify-add-flag
38
39            ;;; very raw
40            #:read-raw-event-from-stream
41
42            ;;; basic stuff
43            #:close-inotify
44
45            ;;; inotify accessors
46            #:inotify-fd
47            #:inotify-stream
48            #:inotify-nonblocking
49
50            ;;; event parsing functions
51            #:make-unregistered-inotify
52            #:read-event-from-stream
53            #:watch-raw
54            #:unwatch-raw
55
56            ;;; event accessors
57            #:inotify-event-wd
58            #:inotify-event-mask
59            #:inotify-event-cookie
60            #:inotify-event-name
61
62            ;;; enhanced functionality
63            #:make-inotify
64            #:pathname-handle/flags
65            #:event-pathname/flags
66            #:watch
67            #:unwatch
68            #:event-availablep
69            #:read-event
70            #:next-event
71
72            ;;; convenience functions
73            #:list-watched
74            #:do-events
75            #:next-events
76
77            ;;; macros
78            #:with-inotify
79            #:with-unregistered-inotify)
80   (:documentation "A binding (not only?) for the LINUX inotify(7) API."))