Skip to content
The Common Foreign Function Interface
Common Lisp C Other
Latest commit 10de555 Apr 29, 2016 @attila-lendvai attila-lendvai c2ffi: fix: unconditionally include unnamed toplevel entries
Used to call cl-ppcre with NIL before this fix.
Failed to load latest commit information.
doc Added expand-into-foreign-memory Apr 27, 2016
examples Make CFFI-grovel play well with ASDF 3.1.6 Oct 19, 2015
grovel grovel: fix pkg-config-cflags and use grovel-error Feb 5, 2016
libffi Fix the reinstating of :sizet, this time also considering the load or… Feb 24, 2016
scripts scripts/release: better new-version-number-candidates implementation Aug 12, 2013
src c2ffi: fix: unconditionally include unnamed toplevel entries Apr 29, 2016
tests Fully liberate defcenum base-type until final decision is made. Feb 24, 2016
toolchain parse-command-flags: added #\Return to separators Apr 27, 2016
uffi-compat Make CFFI-grovel play well with ASDF 3.1.6 Oct 19, 2015
.gitignore doc: generate an info directory file Nov 4, 2012
.travis.yml Revert "travis: sbcl32 is flaky" Apr 3, 2016
COPYRIGHT New example: mapping.lisp Apr 13, 2007
HEADER New example: mapping.lisp Apr 13, 2007
Makefile Makefile: rename acl to alisp Jun 4, 2008
README.md Fix badge URL Dec 6, 2014
TODO TODO cleanup Sep 12, 2008
cffi-examples.asd New example: mapping.lisp Apr 13, 2007
cffi-grovel.asd Make CFFI-grovel play well with ASDF 3.1.6 Oct 19, 2015
cffi-libffi.asd Refactor libffi code, get rid of type descriptor caching. Jan 19, 2016
cffi-tests.asd Fix libffi with enum argument Dec 19, 2015
cffi-toolchain.asd cffi-toolchain: depend on cffi Mar 12, 2016
cffi-uffi-compat.asd More copyright header year updates. May 3, 2006
cffi.asd Add ASDF:VERSION-SATISFIES method Mar 3, 2016

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.