Skip to content
The Common Foreign Function Interface http://common-lisp.net/project/cffi
Common Lisp C Other
Latest commit dd0a078 @luismbo luismbo grovel: fix pkg-config-cflags and use grovel-error
Bug report and initial patch courtesy of Thayne McCombs.
Failed to load latest commit information.
doc Manual: remove statement that C structs cannot be passed by value
examples Make CFFI-grovel play well with ASDF 3.1.6
grovel grovel: fix pkg-config-cflags and use grovel-error
libffi Comments, and also remove #+fsbv usage in the tests.
scripts scripts/release: better new-version-number-candidates implementation
src Seems that Darwin's _Bool is now byte-sized
tests tests: avoid collisions with other constants
toolchain Make CFFI-grovel play well with ASDF 3.1.6
uffi-compat Make CFFI-grovel play well with ASDF 3.1.6
.gitignore doc: generate an info directory file
.travis.yml Pass -y to apt-get install
COPYRIGHT New example: mapping.lisp
HEADER New example: mapping.lisp
Makefile Makefile: rename acl to alisp
README.md Fix badge URL
TODO TODO cleanup
cffi-examples.asd New example: mapping.lisp
cffi-grovel.asd Make CFFI-grovel play well with ASDF 3.1.6
cffi-libffi.asd Refactor libffi code, get rid of type descriptor caching.
cffi-tests.asd Fix libffi with enum argument
cffi-toolchain.asd Make CFFI-grovel play well with ASDF 3.1.6
cffi-uffi-compat.asd More copyright header year updates.
cffi.asd cffi/c2ffi: split the generator into a separate lazy-loaded ASDF system.

README.md

Build Status

CFFI, the Common Foreign Function Interface, purports to be a portable foreign function interface for Common Lisp. The CFFI library is composed of a Lisp-implementation-specific backend in the CFFI-SYS package, and a portable frontend in the CFFI package.

The CFFI-SYS backend package defines a low-level interface to the native FFI support in the Lisp implementation. It offers operators for allocating and dereferencing foreign memory, calling foreign functions, and loading shared libraries. The CFFI frontend provides a declarative interface for defining foreign functions, structures, typedefs, enumerated types, etc. It is implemented in portable ANSI CL making use of the low-level operators exported by CFFI-SYS.

Please consult the manual for further details, including installation instructions.

Something went wrong with that request. Please try again.