The cl-fsnotify Reference Manual

Next: , Previous: , Up: (dir)   [Contents][Index]

The cl-fsnotify Reference Manual

This is the cl-fsnotify Reference Manual, version 0.2.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Aug 15 03:39:04 2022 GMT+0.

Table of Contents


1 Introduction

cl-fsnotify is created to expose the same file notification interface
for both Linux, BSD, and possibly (in future) windows.

Copyright (c) 2012 Chris Howey
Released under the ISC License.


  Supported Common Lisp Implementations and OSs
|===============================================|
|   Common Lisp   |      Operating Systems      |
| Implementations | BSD | OSX | Linux | Windows |
------------------------------------------------|
| CCL             |  Y  |  Y  |   Y   |         |
------------------------------------------------|
| SBCL            |  Y  |  Y  |   Y   |         |
|===============================================|


Future Plans:
- Expose fsnotify instance so you can have multiple open at a time.
- Windows Support


Note:
Files that are created under a watched directory are automatically
added to the watch list. This includes created directories as well.


2 Systems

The main system appears first, followed by any subsystem dependency.


Previous: , Up: Systems   [Contents][Index]

2.1 cl-fsnotify

File system notifications

Author

Chris Howey <chris@howey.me>

License

ISC

Version

0.2.0

Dependencies
  • cffi (system).
  • cffi-grovel (system).
Source

cl-fsnotify.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


Next: , Previous: , Up: Modules   [Contents][Index]

3.1 cl-fsnotify/src

Source

cl-fsnotify.asd.

Parent Component

cl-fsnotify (system).

Child Components

Previous: , Up: Modules   [Contents][Index]

3.2 cl-fsnotify/src/linux

Dependency

package.lisp (file).

Source

cl-fsnotify.asd.

Parent Component

src (module).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


Previous: , Up: Files   [Contents][Index]

4.1 Lisp


Next: , Previous: , Up: Lisp   [Contents][Index]

4.1.1 cl-fsnotify/cl-fsnotify.asd

Source

cl-fsnotify.asd.

Parent Component

cl-fsnotify (system).

ASDF Systems

cl-fsnotify.


4.1.2 cl-fsnotify/src/package.lisp

Source

cl-fsnotify.asd.

Parent Component

src (module).

Packages

cl-fsnotify.


4.1.3 cl-fsnotify/src/linux/package-inotify.lisp

Source

cl-fsnotify.asd.

Parent Component

linux (module).

Packages

cl-fsnotify-inotify.


4.1.4 cl-fsnotify/src/linux/grovel-inotify.lisp

Dependency

package-inotify.lisp (file).

Source

cl-fsnotify.asd.

Parent Component

linux (module).


4.1.5 cl-fsnotify/src/linux/cl-fsnotify-inotify.lisp

Dependency

grovel-inotify.lisp (file).

Source

cl-fsnotify.asd.

Parent Component

linux (module).

Public Interface
Internals

4.1.6 cl-fsnotify/src/linux/cl-fsnotify-linux.lisp

Dependency

cl-fsnotify-inotify.lisp (file).

Source

cl-fsnotify.asd.

Parent Component

linux (module).

Public Interface
Internals

4.1.7 cl-fsnotify/src/cl-fsnotify.lisp

Dependency

linux (module).

Source

cl-fsnotify.asd.

Parent Component

src (module).

Public Interface
Internals

5 Packages

Packages are listed by definition order.


Next: , Previous: , Up: Packages   [Contents][Index]

5.1 cl-fsnotify

Source

package.lisp.

Use List

common-lisp.

Public Interface
Internals

Previous: , Up: Packages   [Contents][Index]

5.2 cl-fsnotify-inotify

Source

package-inotify.lisp.

Use List
  • cffi.
  • common-lisp.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


Next: , Previous: , Up: Definitions   [Contents][Index]

6.1 Public Interface


6.1.1 Macros

Macro: with-inotify ((name) &body body)
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.


6.1.2 Ordinary functions

Function: add-watch (inotify-instance path)
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: close-fsnotify ()

Close a file notification instance.

Package

cl-fsnotify.

Source

cl-fsnotify-linux.lisp.

Function: close-inotify (inotify-instance)
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: del-watch (inotify-instance path)
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: get-events ()

Retrieve an alist of events that have occured for watched files.

Each cons is of the form (EVENT-TYPE . PATHNAME).
EVENT-TYPE is one of the following keywords :CREATE :MODIFY :DELETE PATHNAME is pathname of the file that triggered the event.

Package

cl-fsnotify.

Source

cl-fsnotify-linux.lisp.

Function: get-events (inotify-instance)
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: open-fsnotify ()

Create a file notification instance.

Package

cl-fsnotify.

Source

cl-fsnotify-linux.lisp.

Function: open-inotify ()
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.


6.1.3 Generic functions

Generic Function: add-watch (path)

Adds a path to the notification watchlist.

Package

cl-fsnotify.

Source

cl-fsnotify.lisp.

Methods
Method: add-watch ((path pathname))
Source

cl-fsnotify-linux.lisp.

Method: add-watch ((path string))
Source

cl-fsnotify-linux.lisp.

Generic Function: del-watch (path)

Removes a path to the notification watchlist.

Package

cl-fsnotify.

Source

cl-fsnotify.lisp.

Methods
Method: del-watch ((path pathname))
Source

cl-fsnotify-linux.lisp.

Method: del-watch ((path string))
Source

cl-fsnotify-linux.lisp.


6.2 Internals


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.1 Constants

Constant: +buffer-size+
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.2 Special variables

Special Variable: *inotify*
Package

cl-fsnotify.

Source

cl-fsnotify-linux.lisp.


6.2.3 Ordinary functions

Function: c-inotify-add-watch (fd path mask)

Add watch.

Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: c-inotify-init (flags)

Creates a new inotify instance.

Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: c-inotify-rm-watch (fd wd)

Remove watch.

Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Function: get-fsnotify-compatible-mask (masks)
Package

cl-fsnotify.

Source

cl-fsnotify-linux.lisp.


Next: , Previous: , Up: Internals   [Contents][Index]

6.2.4 Generic functions

Generic Function: add-directory (dir)
Package

cl-fsnotify.

Methods
Method: add-directory ((dir pathname))
Source

cl-fsnotify.lisp.

Generic Function: del-directory (dir)
Package

cl-fsnotify.

Methods
Method: del-directory ((dir pathname))
Source

cl-fsnotify.lisp.

Generic Function: get-files-in-directory (dir)
Package

cl-fsnotify.

Methods
Method: get-files-in-directory ((dir pathname))
Source

cl-fsnotify.lisp.

Generic Reader: inotify-buffer (object)
Generic Writer: (setf inotify-buffer) (object)
Package

cl-fsnotify-inotify.

Methods
Reader Method: inotify-buffer ((inotify-tracker inotify-tracker))
Writer Method: (setf inotify-buffer) ((inotify-tracker inotify-tracker))

Read buffer

Source

cl-fsnotify-inotify.lisp.

Target Slot

buffer.

Generic Reader: inotify-fd (object)
Package

cl-fsnotify-inotify.

Methods
Reader Method: inotify-fd ((inotify-tracker inotify-tracker))

automatically generated reader method

Source

cl-fsnotify-inotify.lisp.

Target Slot

fd.

Generic Writer: (setf inotify-fd) (object)
Package

cl-fsnotify-inotify.

Methods
Writer Method: (setf inotify-fd) ((inotify-tracker inotify-tracker))

automatically generated writer method

Source

cl-fsnotify-inotify.lisp.

Target Slot

fd.

Generic Reader: inotify-path-hash (object)
Generic Writer: (setf inotify-path-hash) (object)
Package

cl-fsnotify-inotify.

Methods
Reader Method: inotify-path-hash ((inotify-tracker inotify-tracker))
Writer Method: (setf inotify-path-hash) ((inotify-tracker inotify-tracker))

Map path to watch descriptor

Source

cl-fsnotify-inotify.lisp.

Target Slot

path-hash.

Generic Reader: inotify-wd-hash (object)
Generic Writer: (setf inotify-wd-hash) (object)
Package

cl-fsnotify-inotify.

Methods
Reader Method: inotify-wd-hash ((inotify-tracker inotify-tracker))
Writer Method: (setf inotify-wd-hash) ((inotify-tracker inotify-tracker))

Map watch descriptor to path

Source

cl-fsnotify-inotify.lisp.

Target Slot

wd-hash.


Previous: , Up: Internals   [Contents][Index]

6.2.5 Classes

Class: inotify-tracker
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Direct methods
Direct slots
Slot: fd
Initform

0

Initargs

:fd

Readers

inotify-fd.

Writers

(setf inotify-fd).

Slot: path-hash

Map path to watch descriptor

Initargs

:path-hash

Readers

inotify-path-hash.

Writers

(setf inotify-path-hash).

Slot: wd-hash

Map watch descriptor to path

Initargs

:wd-hash

Readers

inotify-wd-hash.

Writers

(setf inotify-wd-hash).

Slot: buffer

Read buffer

Initargs

:buffer

Readers

inotify-buffer.

Writers

(setf inotify-buffer).

Class: struct-inotify-event-tclass
Package

cl-fsnotify-inotify.

Source

cl-fsnotify-inotify.lisp.

Direct superclasses
  • foreign-struct-type.
  • translatable-foreign-type.

Appendix A Indexes


Next: , Previous: , Up: Indexes   [Contents][Index]

A.1 Concepts


Next: , Previous: , Up: Indexes   [Contents][Index]

A.2 Functions

Jump to:   (  
A   C   D   F   G   I   M   O   W  
Index Entry  Section

(
(setf inotify-buffer): Private generic functions
(setf inotify-buffer): Private generic functions
(setf inotify-fd): Private generic functions
(setf inotify-fd): Private generic functions
(setf inotify-path-hash): Private generic functions
(setf inotify-path-hash): Private generic functions
(setf inotify-wd-hash): Private generic functions
(setf inotify-wd-hash): Private generic functions

A
add-directory: Private generic functions
add-directory: Private generic functions
add-watch: Public ordinary functions
add-watch: Public generic functions
add-watch: Public generic functions
add-watch: Public generic functions

C
c-inotify-add-watch: Private ordinary functions
c-inotify-init: Private ordinary functions
c-inotify-rm-watch: Private ordinary functions
close-fsnotify: Public ordinary functions
close-inotify: Public ordinary functions

D
del-directory: Private generic functions
del-directory: Private generic functions
del-watch: Public ordinary functions
del-watch: Public generic functions
del-watch: Public generic functions
del-watch: Public generic functions

F
Function, add-watch: Public ordinary functions
Function, c-inotify-add-watch: Private ordinary functions
Function, c-inotify-init: Private ordinary functions
Function, c-inotify-rm-watch: Private ordinary functions
Function, close-fsnotify: Public ordinary functions
Function, close-inotify: Public ordinary functions
Function, del-watch: Public ordinary functions
Function, get-events: Public ordinary functions
Function, get-events: Public ordinary functions
Function, get-fsnotify-compatible-mask: Private ordinary functions
Function, open-fsnotify: Public ordinary functions
Function, open-inotify: Public ordinary functions

G
Generic Function, (setf inotify-buffer): Private generic functions
Generic Function, (setf inotify-fd): Private generic functions
Generic Function, (setf inotify-path-hash): Private generic functions
Generic Function, (setf inotify-wd-hash): Private generic functions
Generic Function, add-directory: Private generic functions
Generic Function, add-watch: Public generic functions
Generic Function, del-directory: Private generic functions
Generic Function, del-watch: Public generic functions
Generic Function, get-files-in-directory: Private generic functions
Generic Function, inotify-buffer: Private generic functions
Generic Function, inotify-fd: Private generic functions
Generic Function, inotify-path-hash: Private generic functions
Generic Function, inotify-wd-hash: Private generic functions
get-events: Public ordinary functions
get-events: Public ordinary functions
get-files-in-directory: Private generic functions
get-files-in-directory: Private generic functions
get-fsnotify-compatible-mask: Private ordinary functions

I
inotify-buffer: Private generic functions
inotify-buffer: Private generic functions
inotify-fd: Private generic functions
inotify-fd: Private generic functions
inotify-path-hash: Private generic functions
inotify-path-hash: Private generic functions
inotify-wd-hash: Private generic functions
inotify-wd-hash: Private generic functions

M
Macro, with-inotify: Public macros
Method, (setf inotify-buffer): Private generic functions
Method, (setf inotify-fd): Private generic functions
Method, (setf inotify-path-hash): Private generic functions
Method, (setf inotify-wd-hash): Private generic functions
Method, add-directory: Private generic functions
Method, add-watch: Public generic functions
Method, add-watch: Public generic functions
Method, del-directory: Private generic functions
Method, del-watch: Public generic functions
Method, del-watch: Public generic functions
Method, get-files-in-directory: Private generic functions
Method, inotify-buffer: Private generic functions
Method, inotify-fd: Private generic functions
Method, inotify-path-hash: Private generic functions
Method, inotify-wd-hash: Private generic functions

O
open-fsnotify: Public ordinary functions
open-inotify: Public ordinary functions

W
with-inotify: Public macros

Jump to:   (  
A   C   D   F   G   I   M   O   W  

Previous: , Up: Indexes   [Contents][Index]

A.4 Data types

Jump to:   C   F   G   I   L   M   P   S  
Index Entry  Section

C
cl-fsnotify: The cl-fsnotify system
cl-fsnotify: The cl-fsnotify package
cl-fsnotify-inotify: The cl-fsnotify-inotify package
cl-fsnotify-inotify.lisp: The cl-fsnotify/src/linux/cl-fsnotify-inotify․lisp file
cl-fsnotify-linux.lisp: The cl-fsnotify/src/linux/cl-fsnotify-linux․lisp file
cl-fsnotify.asd: The cl-fsnotify/cl-fsnotify․asd file
cl-fsnotify.lisp: The cl-fsnotify/src/cl-fsnotify․lisp file
Class, inotify-tracker: Private classes
Class, struct-inotify-event-tclass: Private classes

F
File, cl-fsnotify-inotify.lisp: The cl-fsnotify/src/linux/cl-fsnotify-inotify․lisp file
File, cl-fsnotify-linux.lisp: The cl-fsnotify/src/linux/cl-fsnotify-linux․lisp file
File, cl-fsnotify.asd: The cl-fsnotify/cl-fsnotify․asd file
File, cl-fsnotify.lisp: The cl-fsnotify/src/cl-fsnotify․lisp file
File, grovel-inotify.lisp: The cl-fsnotify/src/linux/grovel-inotify․lisp file
File, package-inotify.lisp: The cl-fsnotify/src/linux/package-inotify․lisp file
File, package.lisp: The cl-fsnotify/src/package․lisp file

G
grovel-inotify.lisp: The cl-fsnotify/src/linux/grovel-inotify․lisp file

I
inotify-tracker: Private classes

L
linux: The cl-fsnotify/src/linux module

M
Module, linux: The cl-fsnotify/src/linux module
Module, src: The cl-fsnotify/src module

P
Package, cl-fsnotify: The cl-fsnotify package
Package, cl-fsnotify-inotify: The cl-fsnotify-inotify package
package-inotify.lisp: The cl-fsnotify/src/linux/package-inotify․lisp file
package.lisp: The cl-fsnotify/src/package․lisp file

S
src: The cl-fsnotify/src module
struct-inotify-event-tclass: Private classes
System, cl-fsnotify: The cl-fsnotify system

Jump to:   C   F   G   I   L   M   P   S