Maxime Devos 09cec57a96 Do some hacks to start building something. %!s(int64=3) %!d(string=hai) anos
..
doc 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
examples 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
grovel 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
libffi 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
scripts 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
src 09cec57a96 Do some hacks to start building something. %!s(int64=3) %!d(string=hai) anos
tests 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
toolchain 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
uffi-compat 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
.gitignore 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
.travis.yml 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
COPYRIGHT 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
HEADER 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
Makefile 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
README.md 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
TODO 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-examples.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-grovel.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-libffi.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-tests.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-toolchain.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi-uffi-compat.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos
cffi.asd 92e218d9fb Merge commit '3d6414134edb7ceb0c213c83d22382be41b7f212' as 'cffi' %!s(int64=3) %!d(string=hai) anos

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.

CFFI/C2FFI is an ASDF-integrated mechanism to automatically generate a complete CFFI binding for a C project using the JSON output of c2ffi. c2ffi generates its output by using LLVM/Clang as a library to parse any C project. Until CFFI/C2FFI is properly documented, please see these projects as examples: here, here, here, and here.

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

Please visit Launchpad for bug reports and feature suggestions.