(asdf:operate 'asdf:load-op :cffi) (defpackage tmp (:use cl cffi)) (in-package :tmp) (define-foreign-library libsane (:unix (:or "libsane.so.1" "libsane.so")) (t (:default "libsane"))) (use-foreign-library libsane) (defcfun "sane_init" :int (version-code :pointer) (authorize :pointer)) (defcfun "sane_get_devices" :int (device-list :pointer) (local-only :int)) (defcfun "sane_exit" :void) (with-foreign-object (dlist :pointer) (with-foreign-object (version :pointer) (sane-init version (null-pointer)) (sane-get-devices dlist 1) (sane-exit)))