This is the lev Reference Manual, version 0.1.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 05:31:29 2025 GMT+0.
The main system appears first, followed by any subsystem dependency.
levlibev bindings for Common Lisp
Eitaro Fukamachi
BSD 2-Clause
# LEV
LEV is [libev](http://software.schmorp.de/pkg/libev.html) bindings for Common Lisp.
## Usage
“‘common-lisp
(ql:quickload :lev)
(cffi:defcallback stdin-cb :void ((evloop :pointer) (io :pointer) (revents :int))
(declare (ignore revents))
(format t "stdin ready~%")
(lev:ev-io-stop evloop io))
(cffi:defcallback timeout-cb :void ((evloop :pointer) (timer :pointer) (revents :int))
(declare (ignore timer revents))
(format t "timeout~%")
(lev:ev-break evloop lev:+EVBREAK-ONE+))
(let ((evloop (lev:ev-default-loop 0))
(stdin-watcher (cffi:foreign-alloc ’(:struct lev:ev-io)))
(timeout-watcher (cffi:foreign-alloc ’(:struct lev:ev-timer))))
(unwind-protect
(progn
;; initialize an io watcher, then start it
;; this one will watch for stdin to become readable
(lev:ev-io-init stdin-watcher ’stdin-cb 0 lev:+EV-READ+)
(lev:ev-io-start evloop stdin-watcher)
;; initialize a timer watcher, then start it
;; simple non-repeating 5.5 second timeout
(lev:ev-timer-init timeout-watcher ’timeout-cb 5.5d0 0d0)
(lev:ev-timer-start evloop timeout-watcher)
(format t "running~%")
(lev:ev-run evloop 0))
(cffi:foreign-free stdin-watcher)
(cffi:foreign-free timeout-watcher)))
“‘
## Why not cl-ev?
We already have [cl-ev](https://github.com/sbryant/cl-ev) for libev bindings, however I found there’s some problems in it.
* Wrapping with CLOS. It’s bad for performance, obviously
* Incomplete API
* The author is inactive in Common Lisp world anymore
## See Also
* [libev’s documentation](http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod)
## Author
* Eitaro Fukamachi (e.arrows@gmail.com)
## Copyright
Copyright (c) 2014 Eitaro Fukamachi (e.arrows@gmail.com)
## License
Licensed under the BSD 2-Clause License.
0.1.0
cffi (system).
lev-config (system).
src (module).
lev-configConfigure libev to be used by lev.
Eitaro Fukamachi
BSD 2-Clause
0.1.0
config.lisp (file).
Modules are listed depth-first from the system components tree.
lev/srclev (system).
lev.lisp (file).
bindings.lisp (file).
exports.lisp (file).
wrapper.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
lev/lev.asdlev-config/lev-config.asdlev/src/lev.lisplev/src/bindings.lisplev/src/exports.lisplev/src/wrapper.lisplev-config/config.lisplev/src/lev.lispwrapper.lisp (file).
src (module).
lev.
lev/src/bindings.lisplev.lisp (file).
src (module).
+ev--iofdset+ (constant).
+ev-async+ (constant).
+ev-check+ (constant).
+ev-child+ (constant).
+ev-cleanup+ (constant).
+ev-custom+ (constant).
+ev-embed+ (constant).
+ev-error+ (constant).
+ev-fork+ (constant).
+ev-idle+ (constant).
+ev-io+ (constant).
+ev-maxpri+ (constant).
+ev-minpri+ (constant).
+ev-none+ (constant).
+ev-periodic+ (constant).
+ev-prepare+ (constant).
+ev-read+ (constant).
+ev-signal+ (constant).
+ev-stat+ (constant).
+ev-timeout+ (constant).
+ev-timer+ (constant).
+ev-undef+ (constant).
+ev-version-major+ (constant).
+ev-version-minor+ (constant).
+ev-write+ (constant).
+evbackend-all+ (constant).
+evbackend-devpoll+ (constant).
+evbackend-epoll+ (constant).
+evbackend-kqueue+ (constant).
+evbackend-mask+ (constant).
+evbackend-poll+ (constant).
+evbackend-port+ (constant).
+evbackend-select+ (constant).
+evbreak-all+ (constant).
+evbreak-cancel+ (constant).
+evbreak-one+ (constant).
+evflag-auto+ (constant).
+evflag-forkcheck+ (constant).
+evflag-noenv+ (constant).
+evflag-noinotify+ (constant).
+evflag-nosigfd+ (constant).
+evflag-nosigmask+ (constant).
+evflag-signalfd+ (constant).
+evloop-oneshot+ (constant).
+evrun-nowait+ (constant).
+evrun-once+ (constant).
+evunloop-all+ (constant).
+evunloop-cancel+ (constant).
+evunloop-one+ (constant).
ev-async-init (function).
ev-async-send (function).
ev-async-set (function).
ev-async-start (function).
ev-async-stop (function).
ev-backend (function).
ev-break (function).
ev-cb (function).
(setf ev-cb) (function).
ev-check-init (function).
ev-check-set (function).
ev-check-start (function).
ev-check-stop (function).
ev-child-init (function).
ev-child-set (function).
ev-child-start (function).
ev-child-stop (function).
ev-cleanup-init (function).
ev-cleanup-set (function).
ev-cleanup-start (function).
ev-cleanup-stop (function).
ev-clear-pending (function).
ev-default-destroy (function).
ev-default-fork (function).
ev-default-loop (function).
ev-default-loop-uc- (function).
ev-depth (function).
ev-embed-init (function).
ev-embed-set (function).
ev-embed-start (function).
ev-embed-stop (function).
ev-embed-sweep (function).
ev-embeddable-backends (function).
ev-feed-event (function).
ev-feed-fd-event (function).
ev-feed-signal (function).
ev-feed-signal-event (function).
ev-fork-init (function).
ev-fork-set (function).
ev-fork-start (function).
ev-fork-stop (function).
ev-idle-init (function).
ev-idle-set (function).
ev-idle-start (function).
ev-idle-stop (function).
ev-init (function).
ev-invoke (function).
ev-invoke-pending (function).
ev-io-init (function).
ev-io-set (function).
ev-io-start (function).
ev-io-stop (function).
ev-is-active (function).
ev-is-default-loop (function).
ev-is-pending (function).
ev-iteration (function).
ev-loop (function).
ev-loop-count (function).
ev-loop-depth (function).
ev-loop-destroy (function).
ev-loop-fork (function).
ev-loop-new (function).
ev-loop-verify (function).
ev-now (function).
ev-now-update (function).
ev-once (function).
ev-pending-count (function).
ev-periodic-again (function).
ev-periodic-at (function).
ev-periodic-init (function).
ev-periodic-set (function).
ev-periodic-start (function).
ev-periodic-stop (function).
ev-prepare-init (function).
ev-prepare-set (function).
ev-prepare-start (function).
ev-prepare-stop (function).
ev-priority (function).
(setf ev-priority) (function).
ev-recommended-backends (function).
ev-ref (function).
ev-resume (function).
ev-run (function).
ev-set-allocator (function).
ev-set-cb (function).
ev-set-invoke-pending-cb (function).
ev-set-io-collect-interval (function).
ev-set-loop-release-cb (function).
ev-set-priority (function).
ev-set-syserr-cb (function).
ev-set-timeout-collect-interval (function).
ev-set-userdata (function).
ev-signal-init (function).
ev-signal-set (function).
ev-signal-start (function).
ev-signal-stop (function).
ev-sleep (function).
ev-stat-init (function).
ev-stat-set (function).
ev-stat-start (function).
ev-stat-stat (function).
ev-stat-stop (function).
ev-supported-backends (function).
ev-suspend (function).
ev-time (function).
ev-timer-again (function).
ev-timer-init (function).
ev-timer-remaining (function).
ev-timer-set (function).
ev-timer-start (function).
ev-timer-stop (function).
ev-unloop (function).
ev-unref (function).
ev-userdata (function).
ev-verify (function).
ev-version-major (function).
ev-version-minor (function).
*ev-watcher-list-slots* (special variable).
*ev-watcher-slots* (special variable).
*ev-watcher-time-slots* (special variable).
ev-async-tclass (class).
ev-check-tclass (class).
ev-child-tclass (class).
ev-cleanup-tclass (class).
ev-embed-tclass (class).
ev-fork-tclass (class).
ev-idle-tclass (class).
ev-io-tclass (class).
ev-periodic-tclass (class).
ev-prepare-tclass (class).
ev-signal-tclass (class).
ev-stat-tclass (class).
ev-timer-tclass (class).
ev-watcher-list-tclass (class).
ev-watcher-tclass (class).
ev-watcher-time-tclass (class).
evloop-nonblock (constant).
lev/src/wrapper.lispsrc (module).
defanonenum (macro).
lispify (function).
lev-config/config.lisplev-config (system).
load-from-custom-path (macro).
Packages are listed by definition order.
lev.wrappercommon-lisp.
lev.
defanonenum (macro).
lispify (function).
levcommon-lisp.
lev.wrapper.
+ev--iofdset+ (constant).
+ev-async+ (constant).
+ev-check+ (constant).
+ev-child+ (constant).
+ev-cleanup+ (constant).
+ev-custom+ (constant).
+ev-embed+ (constant).
+ev-error+ (constant).
+ev-fork+ (constant).
+ev-idle+ (constant).
+ev-io+ (constant).
+ev-maxpri+ (constant).
+ev-minpri+ (constant).
+ev-none+ (constant).
+ev-periodic+ (constant).
+ev-prepare+ (constant).
+ev-read+ (constant).
+ev-signal+ (constant).
+ev-stat+ (constant).
+ev-timeout+ (constant).
+ev-timer+ (constant).
+ev-undef+ (constant).
+ev-version-major+ (constant).
+ev-version-minor+ (constant).
+ev-write+ (constant).
+evbackend-all+ (constant).
+evbackend-devpoll+ (constant).
+evbackend-epoll+ (constant).
+evbackend-kqueue+ (constant).
+evbackend-mask+ (constant).
+evbackend-poll+ (constant).
+evbackend-port+ (constant).
+evbackend-select+ (constant).
+evbreak-all+ (constant).
+evbreak-cancel+ (constant).
+evbreak-one+ (constant).
+evflag-auto+ (constant).
+evflag-forkcheck+ (constant).
+evflag-noenv+ (constant).
+evflag-noinotify+ (constant).
+evflag-nosigfd+ (constant).
+evflag-nosigmask+ (constant).
+evflag-signalfd+ (constant).
+evloop-oneshot+ (constant).
+evrun-nowait+ (constant).
+evrun-once+ (constant).
+evunloop-all+ (constant).
+evunloop-cancel+ (constant).
+evunloop-one+ (constant).
ev-async-init (function).
ev-async-send (function).
ev-async-set (function).
ev-async-start (function).
ev-async-stop (function).
ev-backend (function).
ev-break (function).
ev-cb (function).
(setf ev-cb) (function).
ev-check-init (function).
ev-check-set (function).
ev-check-start (function).
ev-check-stop (function).
ev-child-init (function).
ev-child-set (function).
ev-child-start (function).
ev-child-stop (function).
ev-cleanup-init (function).
ev-cleanup-set (function).
ev-cleanup-start (function).
ev-cleanup-stop (function).
ev-clear-pending (function).
ev-default-destroy (function).
ev-default-fork (function).
ev-default-loop (function).
ev-default-loop-uc- (function).
ev-depth (function).
ev-embed-init (function).
ev-embed-set (function).
ev-embed-start (function).
ev-embed-stop (function).
ev-embed-sweep (function).
ev-embeddable-backends (function).
ev-feed-event (function).
ev-feed-fd-event (function).
ev-feed-signal (function).
ev-feed-signal-event (function).
ev-fork-init (function).
ev-fork-set (function).
ev-fork-start (function).
ev-fork-stop (function).
ev-idle-init (function).
ev-idle-set (function).
ev-idle-start (function).
ev-idle-stop (function).
ev-init (function).
ev-invoke (function).
ev-invoke-pending (function).
ev-io-init (function).
ev-io-set (function).
ev-io-start (function).
ev-io-stop (function).
ev-is-active (function).
ev-is-default-loop (function).
ev-is-pending (function).
ev-iteration (function).
ev-loop (function).
ev-loop-count (function).
ev-loop-depth (function).
ev-loop-destroy (function).
ev-loop-fork (function).
ev-loop-new (function).
ev-loop-verify (function).
ev-now (function).
ev-now-update (function).
ev-once (function).
ev-pending-count (function).
ev-periodic-again (function).
ev-periodic-at (function).
ev-periodic-init (function).
ev-periodic-set (function).
ev-periodic-start (function).
ev-periodic-stop (function).
ev-prepare-init (function).
ev-prepare-set (function).
ev-prepare-start (function).
ev-prepare-stop (function).
ev-priority (function).
(setf ev-priority) (function).
ev-recommended-backends (function).
ev-ref (function).
ev-resume (function).
ev-run (function).
ev-set-allocator (function).
ev-set-cb (function).
ev-set-invoke-pending-cb (function).
ev-set-io-collect-interval (function).
ev-set-loop-release-cb (function).
ev-set-priority (function).
ev-set-syserr-cb (function).
ev-set-timeout-collect-interval (function).
ev-set-userdata (function).
ev-signal-init (function).
ev-signal-set (function).
ev-signal-start (function).
ev-signal-stop (function).
ev-sleep (function).
ev-stat-init (function).
ev-stat-set (function).
ev-stat-start (function).
ev-stat-stat (function).
ev-stat-stop (function).
ev-supported-backends (function).
ev-suspend (function).
ev-time (function).
ev-timer-again (function).
ev-timer-init (function).
ev-timer-remaining (function).
ev-timer-set (function).
ev-timer-start (function).
ev-timer-stop (function).
ev-unloop (function).
ev-unref (function).
ev-userdata (function).
ev-verify (function).
ev-version-major (function).
ev-version-minor (function).
*ev-watcher-list-slots* (special variable).
*ev-watcher-slots* (special variable).
*ev-watcher-time-slots* (special variable).
ev-async-tclass (class).
ev-check-tclass (class).
ev-child-tclass (class).
ev-cleanup-tclass (class).
ev-embed-tclass (class).
ev-fork-tclass (class).
ev-idle-tclass (class).
ev-io-tclass (class).
ev-periodic-tclass (class).
ev-prepare-tclass (class).
ev-signal-tclass (class).
ev-stat-tclass (class).
ev-timer-tclass (class).
ev-watcher-list-tclass (class).
ev-watcher-tclass (class).
ev-watcher-time-tclass (class).
evloop-nonblock (constant).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Converts anonymous enums to defconstants.
Define the path where libev is to be found:
(ql:quickload :lev-config)
(lev-config:load-from-custom-path "/opt/local/lib/libev.so")
(ql:quickload :lev)
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
lev.
foreign-struct-type.
translatable-foreign-type.
| Jump to: | (
D E F L M |
|---|
| Jump to: | (
D E F L M |
|---|
| Jump to: | *
+
C E S |
|---|
| Jump to: | *
+
C E S |
|---|
| Jump to: | B C E F L M P S W |
|---|
| Jump to: | B C E F L M P S W |
|---|