Whenever a backend doesn't support one of CFFI's features, a
specific symbol is pushed onto common-lisp:*features*
. The
meanings of these symbols follow.
:library
option to defcfun
, defcvar
, etc...
foreign-funcall
is not available. On such
platforms, the only way to call a foreign function is through
defcfun
. See foreign-funcall, and defcfun.
long long
type is not available as a foreign
type.
However, on such platforms CFFI provides its own implementation of
the long long
type for all of operations in chapters
Foreign Types, Pointers and Variables. The
functionality described in Functions and Callbacks will
not be available.
32-bit Lispworks 5.0+ is an exception. In addition to the CFFI
implementation described above, Lispworks itself implements the
long long
type for Functions. Callbacks are still
missing long long
support, though.
stdcall
calling convention. Note
that it only makes sense to support stdcall
on (32-bit) x86
platforms.