The cffi Reference Manual

This is the cffi Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Wed May 15 03:37:23 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cffi

The Common Foreign Function Interface

Maintainer

Luis Oliveira <>

Author

James Bielman <>

License

MIT

Dependencies
  • uiop (system).
  • alexandria (system).
  • trivial-features (system).
  • babel (system).
Source

cffi.asd.

Child Component

src (module).


3 Modules

Modules are listed depth-first from the system components tree.


3.1 cffi/src

Source

cffi.asd.

Parent Component

cffi (system).

Child Components

4 Files

Files are sorted by type and then listed depth-first from the systems components trees.


4.1 Lisp


4.1.1 cffi/cffi.asd

Source

cffi.asd.

Parent Component

cffi (system).

ASDF Systems

cffi.


4.1.2 cffi/src/package.lisp

Source

cffi.asd.

Parent Component

src (module).

Packages

4.1.3 cffi/src/sys-utils.lisp

Dependency

package.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

quoted-form-p (function).


4.1.4 cffi/src/cffi-openmcl.lisp

If Feature

:openmcl

Dependency

sys-utils.lisp (file).

Source

cffi.asd.

Parent Component

src (module).


4.1.5 cffi/src/cffi-mcl.lisp

If Feature

:mcl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.6 cffi/src/cffi-sbcl.lisp

If Feature

:sbcl

Dependencies
Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.7 cffi/src/cffi-cmucl.lisp

If Feature

:cmucl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.8 cffi/src/cffi-scl.lisp

If Feature

:scl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.9 cffi/src/cffi-clisp.lisp

If Feature

:clisp

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.10 cffi/src/cffi-lispworks.lisp

If Feature

:lispworks

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.11 cffi/src/cffi-ecl.lisp

If Feature

:ecl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.12 cffi/src/cffi-allegro.lisp

If Feature

:allegro

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.13 cffi/src/cffi-corman.lisp

If Feature

:cormanlisp

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.14 cffi/src/cffi-abcl.lisp

If Feature

:abcl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.15 cffi/src/cffi-mkcl.lisp

If Feature

:mkcl

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.16 cffi/src/cffi-clasp.lisp

If Feature

:clasp

Dependencies
Source

cffi.asd.

Parent Component

src (module).


4.1.17 cffi/src/utils.lisp

Dependencies
Source

cffi.asd.

Parent Component

src (module).

Internals

4.1.18 cffi/src/libraries.lisp

Dependency

utils.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.19 cffi/src/early-types.lisp

Dependency

libraries.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.20 cffi/src/types.lisp

Dependency

early-types.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.21 cffi/src/enum.lisp

Dependency

types.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.22 cffi/src/strings.lisp

Dependency

enum.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.23 cffi/src/structures.lisp

Dependency

strings.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface

4.1.24 cffi/src/functions.lisp

Dependency

structures.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.25 cffi/src/foreign-vars.lisp

Dependency

functions.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.26 cffi/src/features.lisp

Dependency

foreign-vars.lisp (file).

Source

cffi.asd.

Parent Component

src (module).

Public Interface

cffi-feature-p (function).


5 Packages

Packages are listed by definition order.


5.1 cffi-sys

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
  • sb-alien.
Used By List

cffi.

Public Interface
Internals

5.2 cffi-features

Source

package.lisp.

Use List

common-lisp.

Public Interface

cffi-feature-p (function).


5.3 cffi

Source

package.lisp.

Use List
  • babel-encodings.
  • cffi-sys.
  • common-lisp.
Public Interface
Internals

6 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


6.1 Public Interface


6.1.1 Special variables

Special Variable: *built-in-float-types*

List of real float types supported by CFFI.

Package

cffi.

Source

types.lisp.

Special Variable: *built-in-foreign-types*
Package

cffi.

Source

early-types.lisp.

Special Variable: *built-in-integer-types*

List of integer types supported by CFFI.

Package

cffi.

Source

types.lisp.

Special Variable: *darwin-framework-directories*

List of directories where Frameworks are searched for.

Package

cffi.

Source

libraries.lisp.

Special Variable: *default-foreign-encoding*

Default foreign encoding.

Package

cffi.

Source

strings.lisp.

Special Variable: *foreign-library-directories*

List onto which user-defined library paths can be pushed.

Package

cffi.

Source

libraries.lisp.

Special Variable: *other-builtin-types*

List of types other than integer or float built in to CFFI.

Package

cffi.

Source

types.lisp.


6.1.2 Macros

Macro: %defcallback (name rettype arg-names arg-types body &key convention)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: %foreign-funcall (name args &key library convention)

Perform a foreign function call, document it more later.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: %foreign-funcall-pointer (ptr args &key convention)

Funcall a pointer to a foreign function.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: %foreign-funcall-pointer-varargs (pointer fixed-args varargs &rest args &key convention)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: %foreign-funcall-varargs (name fixed-args varargs &rest args &key convention library)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: callback (name)
Package

cffi.

Source

functions.lisp.

Macro: defbitfield (name-and-options &body masks)

Define an foreign enumerated type.

Package

cffi.

Source

enum.lisp.

Macro: defcallback (name-and-options return-type args &body body)
Package

cffi.

Source

functions.lisp.

Macro: defcenum (name-and-options &body enum-list)

Define an foreign enumerated type.

Package

cffi.

Source

enum.lisp.

Macro: defcfun (name-and-options return-type &body args)

Defines a Lisp function that calls a foreign function.

Package

cffi.

Source

functions.lisp.

Macro: defcstruct (name-and-options &body fields)

Define the layout of a foreign structure.

Package

cffi.

Source

types.lisp.

Macro: defctype (name base-type &optional documentation)

Utility macro for simple C-like typedefs.

Package

cffi.

Source

early-types.lisp.

Macro: defcunion (name-and-options &body fields)

Define the layout of a foreign union.

Package

cffi.

Source

types.lisp.

Macro: defcvar (name-and-options type &optional documentation)

Define a foreign global variable.

Package

cffi.

Source

foreign-vars.lisp.

Macro: define-c-struct-wrapper (class-and-type supers &optional slots)

Define a new class with CLOS slots matching those of a foreign struct type. An INITIALIZE-INSTANCE method is defined which takes a :POINTER initarg that is used to store the slots of a foreign object. This pointer is only used for initialization and it is not retained.

CLASS-AND-TYPE is either a list of the form (class-name struct-type) or a single symbol naming both. The class will inherit SUPERS. If a list of SLOTS is specified, only those slots will be defined and stored.

Package

cffi.

Source

types.lisp.

Macro: define-foreign-library (name-and-options &body pairs)

Defines a foreign library NAME that can be posteriorly used with the USE-FOREIGN-LIBRARY macro.

Package

cffi.

Source

libraries.lisp.

Macro: define-foreign-type (name supers slots &rest options)
Package

cffi.

Source

early-types.lisp.

Macro: define-parse-method (name lambda-list &body body)

Define a type parser on NAME and lists whose CAR is NAME.

Package

cffi.

Source

early-types.lisp.

Macro: define-translation-method ((object type method) &body body)

Define a translation method for the foreign structure type; ’method is one of :into, :from, or :to, meaning relation to foreign memory. If :into, the variable ’pointer is the foreign pointer. Note: type must be defined and loaded before this macro is expanded, and just the bare name (without :struct) should be specified.

Package

cffi.

Source

structures.lisp.

Macro: foreign-funcall (name-and-options &rest args)

Wrapper around %FOREIGN-FUNCALL that translates its arguments.

Package

cffi.

Source

functions.lisp.

Macro: foreign-funcall-pointer (pointer options &rest args)
Package

cffi.

Source

functions.lisp.

Macro: foreign-funcall-pointer-varargs (pointer options fixed-args &rest varargs)

Wrapper around %FOREIGN-FUNCALL-POINTER that translates its arguments and does type promotion for the variadic arguments.

Package

cffi.

Source

functions.lisp.

Macro: foreign-funcall-varargs (name-and-options fixed-args &rest varargs)

Wrapper around %FOREIGN-FUNCALL that translates its arguments and does type promotion for the variadic arguments.

Package

cffi.

Source

functions.lisp.

Macro: incf-pointer (place &optional offset)
Package

cffi.

Source

types.lisp.

Macro: translation-forms-for-class (class type-class)

Make forms for translation of foreign structures to and from a standard class. The class slots are assumed to have the same name as the foreign structure.

Package

cffi.

Source

structures.lisp.

Macro: use-foreign-library (name)
Package

cffi.

Source

libraries.lisp.

Macro: with-foreign-array ((var lisp-array array-type) &body body)

Bind var to a foreign array containing lisp-array elements in body.

Package

cffi.

Source

types.lisp.

Macro: with-foreign-object ((var type &optional count) &body body)

Bind VAR to a pointer to COUNT objects of TYPE during BODY. The buffer has dynamic extent and may be stack allocated.

Package

cffi.

Source

types.lisp.

Macro: with-foreign-objects (bindings &body body)
Package

cffi.

Source

types.lisp.

Macro: with-foreign-pointer ((var size &optional size-var) &body body)

Bind VAR to SIZE bytes of foreign memory during BODY. The pointer in VAR is invalid beyond the dynamic extent of BODY, and may be stack-allocated if supported by the implementation. If SIZE-VAR is supplied, it will be bound to SIZE during BODY.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: with-foreign-pointer-as-string ((var-or-vars size &rest args) &body body)

VAR-OR-VARS is not evaluated and should be a list of the form (VAR &OPTIONAL SIZE-VAR) or just a VAR symbol. VAR is bound to a foreign buffer of size SIZE within BODY. The return value is constructed by calling FOREIGN-STRING-TO-LISP on the foreign buffer along with ARGS.

Package

cffi.

Source

strings.lisp.

Macro: with-foreign-slots ((vars ptr type) &body body)

Create local symbol macros for each var in VARS to reference
foreign slots in PTR of TYPE. Similar to WITH-SLOTS.
Each var can be of the form:
name name bound to slot of same name (:pointer name) name bound to pointer to slot of same name (name slot-name) name bound to slot-name
(name :pointer slot-name) name bound to pointer to slot-name

Package

cffi.

Source

types.lisp.

Macro: with-foreign-string ((var-or-vars lisp-string &rest args) &body body)

VAR-OR-VARS is not evaluated and should be a list of the form (VAR &OPTIONAL BYTE-SIZE-VAR) or just a VAR symbol. VAR is bound to a foreign string containing LISP-STRING in BODY. When BYTE-SIZE-VAR is specified then bind the C buffer size (including the possible null terminator(s)) to this variable.

Package

cffi.

Source

strings.lisp.

Macro: with-foreign-strings (bindings &body body)

See WITH-FOREIGN-STRING’s documentation.

Package

cffi.

Source

strings.lisp.

Macro: with-pointer-to-vector-data ((ptr-var vector) &body body)

Bind PTR-VAR to a foreign pointer to the data in VECTOR.

Package

cffi-sys.

Source

cffi-sbcl.lisp.


6.1.3 Compiler macros

Compiler Macro: %mem-ref (ptr type &optional offset)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Compiler Macro: %mem-set (value ptr type &optional offset)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Compiler Macro: convert-from-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Compiler Macro: convert-into-foreign-memory (value type ptr)
Package

cffi.

Source

early-types.lisp.

Compiler Macro: convert-to-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Compiler Macro: foreign-alloc (type &rest args &key count &allow-other-keys)
Package

cffi.

Source

types.lisp.

Compiler Macro: foreign-bitfield-symbols (type value)

Optimize for when TYPE and SYMBOLS are constant.

Package

cffi.

Source

enum.lisp.

Compiler Macro: foreign-bitfield-value (type symbols)

Optimize for when TYPE and SYMBOLS are constant.

Package

cffi.

Source

enum.lisp.

Compiler Macro: foreign-slot-pointer (ptr type slot-name)
Package

cffi.

Source

types.lisp.

Compiler Macro: foreign-slot-value (ptr type slot-name)

Optimizer for FOREIGN-SLOT-VALUE when TYPE is constant.

Package

cffi.

Source

types.lisp.

Compiler Macro: foreign-type-size (foreign-type)
Package

cffi.

Source

early-types.lisp.

Compiler Macro: inc-pointer (pointer offset)
Package

cffi-sys.

Source

types.lisp.

Compiler Macro: mem-aptr (ptr type &optional index)

The pointer to the element.

Package

cffi.

Source

types.lisp.

Compiler Macro: mem-aref (ptr type &optional index)

Compiler macro to open-code MEM-AREF when TYPE (and eventually INDEX).

Package

cffi.

Source

types.lisp.

Compiler Macro: mem-ref (ptr type &optional offset)

Compiler macro to open-code MEM-REF when TYPE is constant.

Package

cffi.

Source

types.lisp.


6.1.4 Setf expanders

Setf Expander: (setf foreign-slot-value) (ptr type slot-name)

SETF expander for FOREIGN-SLOT-VALUE.

Package

cffi.

Source

types.lisp.

Reader

foreign-slot-value (function).

Setf Expander: (setf mem-aref) (ptr type &optional index)

SETF expander for MEM-AREF.

Package

cffi.

Source

types.lisp.

Reader

mem-aref (function).

Setf Expander: (setf mem-ref) (ptr type &optional offset)

SETF expander for MEM-REF that doesn’t rebind TYPE.
This is necessary for the compiler macro on MEM-SET to be able to open-code (SETF MEM-REF) forms.

Package

cffi.

Source

types.lisp.

Reader

mem-ref (function).


6.1.5 Ordinary functions

Function: %callback (name)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %close-foreign-library (handle)

Closes a foreign library.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %foreign-alloc (size)

Allocate SIZE bytes on the heap and return a pointer.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %foreign-symbol-pointer (name library)

Returns a pointer to a foreign symbol NAME.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %foreign-type-alignment (type-keyword)

Return the alignment in bytes of a foreign type.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %foreign-type-size (type-keyword)

Return the size in bytes of a foreign type.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %load-foreign-library (name path)

Load a foreign library.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %mem-ref (ptr type &optional offset)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: %mem-set (value ptr type &optional offset)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: canonicalize-symbol-name-case (name)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: cffi-feature-p (feature-expression)

Matches a FEATURE-EXPRESSION against those symbols in *FEATURES* that belong to the CFFI-FEATURES package.

Package

cffi-features.

Source

features.lisp.

Function: close-foreign-library (library)

Closes a foreign library.

Package

cffi.

Source

libraries.lisp.

Function: constant-form-p (form &optional env)
Package

cffi-sys.

Source

sys-utils.lisp.

Function: constant-form-value (form &optional env)
Package

cffi-sys.

Source

sys-utils.lisp.

Function: convert-from-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Function: convert-into-foreign-memory (value type ptr)
Package

cffi.

Source

early-types.lisp.

Function: convert-to-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Function: defcfun-helper-forms (name lisp-name rettype args types options)
Package

cffi-sys.

Source

functions.lisp.

Function: foreign-alloc (type &key initial-element initial-contents count null-terminated-p)

Allocate enough memory to hold COUNT objects of type TYPE. If INITIAL-ELEMENT is supplied, each element of the newly allocated memory is initialized with its value. If INITIAL-CONTENTS is supplied, each of its elements will be used to initialize the contents of the newly allocated memory.

Package

cffi.

Source

types.lisp.

Function: foreign-aref (ptr array-type &rest indexes)
Package

cffi.

Source

types.lisp.

Function: (setf foreign-aref) (ptr array-type &rest indexes)
Package

cffi.

Source

types.lisp.

Function: foreign-array-alloc (array array-type)

Allocate a foreign array containing the elements of lisp array. The foreign array must be freed with foreign-array-free.

Package

cffi.

Source

types.lisp.

Function: foreign-array-free (ptr)

Free a foreign array allocated by foreign-array-alloc.

Package

cffi.

Source

types.lisp.

Function: foreign-array-to-lisp (pointer array-type &rest make-array-args)

Copy elements from pointer into a Lisp array. ARRAY-TYPE must be a CFFI array type; the type of the resulting Lisp array can be defined in MAKE-ARRAY-ARGS that are then passed to MAKE-ARRAY. If POINTER is a null pointer, returns NIL.

Package

cffi.

Source

types.lisp.

Function: foreign-bitfield-symbol-list (bitfield-type)

Return a list of SYMBOLS defined in BITFIELD-TYPE.

Package

cffi.

Source

enum.lisp.

Function: foreign-bitfield-symbols (type value)

Convert an integer VALUE into a list of matching symbols according to the bitfield TYPE.

Package

cffi.

Source

enum.lisp.

Function: foreign-bitfield-value (type symbols)

Convert a list of symbols into an integer according to the TYPE bitfield.

Package

cffi.

Source

enum.lisp.

Function: foreign-enum-keyword (type value &key errorp)

Convert an integer VALUE into a keyword according to the enum TYPE.

Package

cffi.

Source

enum.lisp.

Function: foreign-enum-keyword-list (enum-type)

Return a list of KEYWORDS defined in ENUM-TYPE.

Package

cffi.

Source

enum.lisp.

Function: foreign-enum-value (type keyword &key errorp)

Convert a KEYWORD into an integer according to the enum TYPE.

Package

cffi.

Source

enum.lisp.

Function: foreign-free (ptr)

Free a PTR allocated by FOREIGN-ALLOC.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: foreign-library-loaded-p (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-library-pathname (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-library-type (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-slot-count (type slot-name)

Return the number of items in SLOT in a struct TYPE.

Package

cffi.

Source

types.lisp.

Function: foreign-slot-names (type)

Returns a list of TYPE’s slot names in no particular order.

Package

cffi.

Source

types.lisp.

Function: foreign-slot-offset (type slot-name)

Return the offset of SLOT in a struct TYPE.

Package

cffi.

Source

types.lisp.

Function: foreign-slot-pointer (ptr type slot-name)

Return the address of SLOT-NAME in the structure at PTR.

Package

cffi.

Source

types.lisp.

Function: foreign-slot-type (type slot-name)

Return the type of SLOT in a struct TYPE.

Package

cffi.

Source

types.lisp.

Function: foreign-slot-value (ptr type slot-name)

Return the value of SLOT-NAME in the foreign structure at PTR.

Package

cffi.

Source

types.lisp.

Setf expander for this function

(setf foreign-slot-value).

Function: foreign-string-alloc (string &key encoding null-terminated-p start end)

Allocate a foreign string containing Lisp string STRING. The string must be freed with FOREIGN-STRING-FREE.

Package

cffi.

Source

strings.lisp.

Function: foreign-string-free (ptr)

Free a foreign string allocated by FOREIGN-STRING-ALLOC.

Package

cffi.

Source

strings.lisp.

Function: foreign-string-to-lisp (pointer &key offset count max-chars encoding)

Copy at most COUNT bytes from POINTER plus OFFSET encoded in ENCODING into a Lisp string and return it. If POINTER is a null pointer, NIL is returned.

Package

cffi.

Source

strings.lisp.

Function: foreign-symbol-pointer (name &key library)
Package

cffi.

Source

foreign-vars.lisp.

Function: free-converted-object (value type param)
Package

cffi.

Source

early-types.lisp.

Function: get-callback (symbol)
Package

cffi.

Source

functions.lisp.

Function: get-var-pointer (symbol)

Return a pointer to the foreign global variable relative to SYMBOL.

Package

cffi.

Source

foreign-vars.lisp.

Function: inc-pointer (ptr offset)

Return a pointer pointing OFFSET bytes past PTR.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: lisp-array-to-foreign (array pointer array-type)

Copy elements from a Lisp array to POINTER. ARRAY-TYPE must be a CFFI array type.

Package

cffi.

Source

types.lisp.

Function: lisp-string-to-foreign (string buffer bufsize &key start end offset encoding)
Package

cffi.

Source

strings.lisp.

Function: list-foreign-libraries (&key loaded-only type)

Return a list of defined foreign libraries.
If LOADED-ONLY is non-null only loaded libraries are returned. TYPE restricts the output to a specific library type: if NIL all libraries are returned.

Package

cffi.

Source

libraries.lisp.

Function: load-foreign-library (library &key search-path)

Loads a foreign LIBRARY which can be a symbol denoting a library defined through DEFINE-FOREIGN-LIBRARY; a pathname or string in which case we try to load it directly first then search for it in *FOREIGN-LIBRARY-DIRECTORIES*; or finally list: either (:or lib1 lib2) or (:framework <framework-name>). The option :CANARY can specify a symbol that will be searched to detect if the library is already loaded, in which case DEFINE-FOREIGN-LIBRARY will mark the library as loaded and return.

Package

cffi.

Source

libraries.lisp.

Function: make-pointer (address)

Return a pointer pointing to ADDRESS.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: make-shareable-byte-vector (size)

Create a Lisp vector of SIZE bytes that can be passed to WITH-POINTER-TO-VECTOR-DATA.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: mem-aptr (ptr type &optional index)

The pointer to the element.

Package

cffi.

Source

types.lisp.

Function: mem-aref (ptr type &optional index)

Like MEM-REF except for accessing 1d arrays.

Package

cffi.

Source

types.lisp.

Setf expander for this function

(setf mem-aref).

Function: mem-ref (ptr type &optional offset)

Return the value of TYPE at OFFSET bytes from PTR. If TYPE is aggregate, we don’t return its ’value’ but a pointer to it, which is PTR itself.

Package

cffi.

Source

types.lisp.

Setf expander for this function

(setf mem-ref).

Function: native-namestring (pathname)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: null-pointer ()

Construct and return a null pointer.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: null-pointer-p (ptr)

Return true if PTR is a null pointer.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: pointer-address (ptr)

Return the address pointed to by PTR.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: pointer-eq (ptr1 ptr2)

Return true if PTR1 and PTR2 point to the same address.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: pointerp (ptr)

Return true if PTR is a foreign pointer.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: reload-foreign-libraries (&key test)

(Re)load all currently loaded foreign libraries.

Package

cffi.

Source

libraries.lisp.


6.1.6 Generic functions

Generic Function: expand-from-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: expand-from-foreign (value (type foreign-bitfield))
Source

enum.lisp.

Method: expand-from-foreign (value (type foreign-boolean-type))

Optimization for the :boolean type.

Source

types.lisp.

Method: expand-from-foreign (value (type enhanced-typedef))
Method: expand-from-foreign (value (type translatable-foreign-type))
Method: expand-from-foreign :around (value (type translatable-foreign-type))
Method: expand-from-foreign (value type)
Generic Function: expand-into-foreign-memory (value type ptr)
Package

cffi.

Source

early-types.lisp.

Methods
Method: expand-into-foreign-memory (value (type enhanced-typedef) ptr)
Method: expand-into-foreign-memory (value (type translatable-foreign-type) ptr)
Method: expand-into-foreign-memory :around (value (type translatable-foreign-type) ptr)
Method: expand-into-foreign-memory (value type ptr)
Generic Function: expand-to-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: expand-to-foreign (value (type foreign-bitfield))
Source

enum.lisp.

Method: expand-to-foreign (value (type foreign-enum))
Source

enum.lisp.

Method: expand-to-foreign (value (type foreign-boolean-type))

Optimization for the :boolean type.

Source

types.lisp.

Method: expand-to-foreign (value (type enhanced-typedef))
Method: expand-to-foreign (value (type translatable-foreign-type))
Method: expand-to-foreign :around (value (type translatable-foreign-type))
Method: expand-to-foreign (value type)
Generic Function: expand-to-foreign-dyn (value var body type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: expand-to-foreign-dyn (value var body (type enhanced-typedef))
Method: expand-to-foreign-dyn (value var body (type enhanced-foreign-type))
Method: expand-to-foreign-dyn :around (value var body (type enhanced-foreign-type))
Method: expand-to-foreign-dyn (value var body type)
Generic Reader: foreign-library-load-state (object)
Package

cffi.

Methods
Reader Method: foreign-library-load-state ((foreign-library foreign-library))

automatically generated reader method

Source

libraries.lisp.

Target Slot

load-state.

Generic Writer: (setf foreign-library-load-state) (object)
Package

cffi.

Methods
Writer Method: (setf foreign-library-load-state) ((foreign-library foreign-library))

automatically generated writer method

Source

libraries.lisp.

Target Slot

load-state.

Generic Reader: foreign-library-name (object)
Package

cffi.

Methods
Reader Method: foreign-library-name ((foreign-library foreign-library))

automatically generated reader method

Source

libraries.lisp.

Target Slot

name.

Generic Writer: (setf foreign-library-name) (object)
Package

cffi.

Methods
Writer Method: (setf foreign-library-name) ((foreign-library foreign-library))

automatically generated writer method

Source

libraries.lisp.

Target Slot

name.

Generic Function: foreign-type-alignment (foreign-type)

Return the structure alignment in bytes of a foreign type.

Package

cffi.

Source

early-types.lisp.

Methods
Method: foreign-type-alignment (type)

Return the alignment in bytes of a foreign type.

Source

types.lisp.

Method: foreign-type-alignment ((type foreign-array-type))
Source

types.lisp.

Method: foreign-type-alignment ((type foreign-type-alias))

Return the alignment of a foreign typedef.

Method: foreign-type-alignment ((type foreign-struct-type))

Return the alignment requirements for this struct.

Method: foreign-type-alignment ((type foreign-built-in-type))

Return the alignment of a built-in type.

Generic Function: foreign-type-size (foreign-type)

Return the size in bytes of a foreign type.

Package

cffi.

Source

early-types.lisp.

Methods
Method: foreign-type-size ((type foreign-array-type))
Source

types.lisp.

Method: foreign-type-size ((type foreign-type-alias))

Return the size in bytes of a foreign typedef.

Method: foreign-type-size ((type foreign-struct-type))

Return the size in bytes of a foreign structure type.

Method: foreign-type-size ((type foreign-built-in-type))

Return the size of a built-in type.

Method: foreign-type-size (type)

Return the size in bytes of a foreign type.

Generic Function: free-translated-object (value type param)
Package

cffi.

Source

early-types.lisp.

Methods
Method: free-translated-object (ptr (type foreign-struct-type) freep)
Source

structures.lisp.

Method: free-translated-object (ptr (type foreign-string-type) free-p)
Source

strings.lisp.

Method: free-translated-object (pointer (type foreign-array-type) param)
Source

types.lisp.

Method: free-translated-object (value (type enhanced-typedef) param)
Method: free-translated-object (value type param)
Generic Function: translate-camelcase-name (name &key upper-initial-p special-words)
Package

cffi.

Source

functions.lisp.

Methods
Method: translate-camelcase-name ((name string) &key upper-initial-p special-words)
Method: translate-camelcase-name ((name symbol) &key upper-initial-p special-words)
Generic Function: translate-from-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: translate-from-foreign (p (type foreign-struct-type))
Source

structures.lisp.

Method: translate-from-foreign (value (type foreign-string+ptr-type))
Source

strings.lisp.

Method: translate-from-foreign (ptr (type foreign-string-type))
Source

strings.lisp.

Method: translate-from-foreign (value (type foreign-bitfield))
Source

enum.lisp.

Method: translate-from-foreign (value (type foreign-enum))
Source

enum.lisp.

Method: translate-from-foreign (value (type foreign-boolean-type))
Source

types.lisp.

Method: translate-from-foreign (value (type foreign-type-wrapper))
Source

types.lisp.

Method: translate-from-foreign (pointer (type foreign-array-type))
Source

types.lisp.

Method: translate-from-foreign (value (type enhanced-typedef))
Method: translate-from-foreign (value type)
Generic Function: translate-into-foreign-memory (value type pointer)

Translate the Lisp value into the foreign memory location given by pointer. Return value is not used.

Package

cffi.

Source

early-types.lisp.

Methods
Method: translate-into-foreign-memory ((object list) (type foreign-struct-type) p)
Source

structures.lisp.

Method: translate-into-foreign-memory (value (type foreign-enum) pointer)
Source

enum.lisp.

Method: translate-into-foreign-memory (value (type foreign-built-in-type) pointer)
Source

types.lisp.

Method: translate-into-foreign-memory (value (type foreign-pointer-type) pointer)
Source

types.lisp.

Method: translate-into-foreign-memory (value (type enhanced-typedef) pointer)
Generic Function: translate-name-from-foreign (foreign-name package &optional varp)
Package

cffi.

Source

functions.lisp.

Methods
Method: translate-name-from-foreign (foreign-name package &optional varp)
Generic Function: translate-name-to-foreign (lisp-name package &optional varp)
Package

cffi.

Source

functions.lisp.

Methods
Method: translate-name-to-foreign (lisp-name package &optional varp)
Generic Function: translate-to-foreign (value type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: translate-to-foreign (value (type foreign-struct-type))
Source

structures.lisp.

Method: translate-to-foreign (obj (type foreign-string-type))
Source

strings.lisp.

Method: translate-to-foreign ((s string) (type foreign-string-type))
Source

strings.lisp.

Method: translate-to-foreign (value (type foreign-bitfield))
Source

enum.lisp.

Method: translate-to-foreign (value (type foreign-enum))
Source

enum.lisp.

Method: translate-to-foreign (value (type foreign-boolean-type))
Source

types.lisp.

Method: translate-to-foreign (value (type foreign-type-wrapper))
Source

types.lisp.

Method: translate-to-foreign (array (type foreign-array-type))
Source

types.lisp.

Method: translate-to-foreign (value (type enhanced-typedef))
Method: translate-to-foreign (value type)
Generic Function: translate-underscore-separated-name (name)
Package

cffi.

Source

functions.lisp.

Methods
Method: translate-underscore-separated-name ((name string))
Method: translate-underscore-separated-name ((name symbol))

6.1.7 Standalone methods

Method: initialize-instance :after ((lib foreign-library) &key canary search-path cconv calling-convention convention)
Source

libraries.lisp.

Method: initialize-instance :after ((type enhanced-foreign-type) &key)
Source

early-types.lisp.

Method: make-load-form ((type foreign-type) &optional env)

Return the form used to dump types to a FASL file.

Source

early-types.lisp.

Method: print-object ((library foreign-library) stream)
Source

libraries.lisp.

Method: print-object ((type foreign-array-type) stream)

Print a FOREIGN-ARRAY-TYPE instance to STREAM unreadably.

Source

types.lisp.

Method: print-object ((type foreign-pointer-type) stream)
Source

early-types.lisp.

Method: print-object ((type named-foreign-type) stream)

Print a FOREIGN-TYPEDEF instance to STREAM unreadably.

Source

early-types.lisp.

Method: print-object ((type foreign-string-type) stream)
Source

strings.lisp.

Method: print-object ((type foreign-built-in-type) stream)

Print a FOREIGN-TYPE instance to STREAM unreadably.

Source

early-types.lisp.


6.1.8 Conditions

Condition: load-foreign-library-error
Package

cffi.

Source

libraries.lisp.

Direct superclasses

simple-error.


6.1.9 Classes

Class: foreign-library
Package

cffi.

Source

libraries.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

foreign-library-name.

Writers

(setf foreign-library-name).

Slot: type
Package

common-lisp.

Initform

:system

Initargs

:type

Slot: spec
Initargs

:spec

Slot: options
Initargs

:options

Slot: load-state
Initargs

:load-state

Readers

foreign-library-load-state.

Writers

(setf foreign-library-load-state).

Slot: handle
Initargs

:handle

Readers

foreign-library-handle.

Writers

(setf foreign-library-handle).

Slot: pathname
Package

common-lisp.


6.1.10 Types

Type: foreign-pointer ()
Package

cffi-sys.

Source

cffi-sbcl.lisp.


6.2 Internals


6.2.1 Special variables

Special Variable: *callbacks*
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Special Variable: *cffi-feature-suffix-map*

Mapping of OS feature keywords to shared library suffixes.

Package

cffi.

Source

libraries.lisp.

Special Variable: *default-type-parsers*

Hash table for :DEFAULT namespace

Package

cffi.

Source

early-types.lisp.

Special Variable: *defcstruct-hook*
Package

cffi.

Source

types.lisp.

Special Variable: *foreign-libraries*

Hashtable of defined libraries.

Package

cffi.

Source

libraries.lisp.

Special Variable: *foreign-string-mappings*
Package

cffi.

Source

strings.lisp.

Special Variable: *foreign-structures-by-value*

A function that produces a form suitable for calling structures by value.

Package

cffi.

Source

functions.lisp.

Special Variable: *possible-float-types*
Package

cffi.

Source

types.lisp.

Special Variable: *runtime-translator-form*
Package

cffi.

Source

early-types.lisp.

Special Variable: *struct-type-parsers*

Hash table for :STRUCT namespace

Package

cffi.

Source

early-types.lisp.

Special Variable: *union-type-parsers*

Hash table for :UNION namespace

Package

cffi.

Source

early-types.lisp.

Special Variable: +valid-enum-base-types+
Package

cffi.

Source

enum.lisp.


6.2.2 Macros

Macro: %%foreign-funcall (name types fargs rettype)

Internal guts of %FOREIGN-FUNCALL.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: %foreign-string-length (ptr offset type length)
Package

cffi.

Source

strings.lisp.

Macro: bget (ptr off &optional bytes endianness)
Package

cffi.

Source

strings.lisp.

Macro: bset (val ptr off &optional bytes endianness)
Package

cffi.

Source

strings.lisp.

Macro: defctype* (name base-type)

Like DEFCTYPE but defers instantiation until parse-time.

Package

cffi.

Source

early-types.lisp.

Macro: defctype-matching (name size-or-type base-types &key match-by)
Package

cffi.

Source

types.lisp.

Macro: define-built-in-foreign-type (keyword)

Defines a built-in foreign-type.

Package

cffi.

Source

early-types.lisp.

Macro: define-mem-accessors (&body pairs)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: define-type-mapping (accessor-table alien-table)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Macro: discard-docstring (body-var)

Discards the first element of the list in body-var if it’s a string.

Package

cffi.

Source

utils.lisp.

Macro: with-tentative-type-definition ((name value namespace) &body body)
Package

cffi.

Source

types.lisp.


6.2.3 Compiler macros

Compiler Macro: foreign-slot-set (value ptr type slot-name)

Optimizer when TYPE and SLOT-NAME are constant.

Package

cffi.

Source

types.lisp.

Compiler Macro: mem-set (value ptr type &optional offset)

Compiler macro to open-code (SETF MEM-REF) when type is constant.

Package

cffi.

Source

types.lisp.


6.2.4 Ordinary functions

Function: %defcenum-like (name-and-options enum-list type-factory)
Package

cffi.

Source

enum.lisp.

Function: %defcfun (lisp-name foreign-name return-type args options docstring)
Package

cffi.

Source

functions.lisp.

Function: %defcfun-varargs (lisp-name foreign-name return-type args options doc)
Package

cffi.

Source

functions.lisp.

Function: %do-load-foreign-library (library search-path)
Package

cffi.

Source

libraries.lisp.

Function: %foreign-bitfield-symbols (type value)
Package

cffi.

Source

enum.lisp.

Function: %foreign-bitfield-value (type symbols)
Package

cffi.

Source

enum.lisp.

Function: %foreign-enum-keyword (type value &key errorp)
Package

cffi.

Source

enum.lisp.

Function: %foreign-enum-value (type keyword &key errorp)
Package

cffi.

Source

enum.lisp.

Function: %foreign-library-spec (lib)
Package

cffi.

Source

libraries.lisp.

Function: %parse-name-and-options (spec varp)
Package

cffi.

Source

functions.lisp.

Function: adjust-for-alignment (type offset alignment-type firstp)

Return OFFSET aligned properly for TYPE according to ALIGNMENT-TYPE.

Package

cffi.

Source

types.lisp.

Function: array-element-size (array-type)
Package

cffi.

Source

types.lisp.

Function: canonicalize-foreign-type (type)

Convert TYPE to a built-in type by following aliases. Signals an error if the type cannot be resolved.

Package

cffi.

Source

early-types.lisp.

Function: check-for-typedef-cycles (type)
Package

cffi.

Source

early-types.lisp.

Function: check-prefix (l special-words)
Package

cffi.

Source

functions.lisp.

Function: clean-spec-up (spec)
Package

cffi.

Source

libraries.lisp.

Function: collapse-prefix (l special-words)
Package

cffi.

Source

functions.lisp.

Function: convert-foreign-type (type-keyword)
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: darwin-fallback-library-path ()
Package

cffi.

Source

libraries.lisp.

Function: default-library-suffix ()

Return a string to use as default library suffix based on the operating system. This is used to implement the :DEFAULT option. This will need to be extended as we test on more OSes.

Package

cffi.

Source

libraries.lisp.

Function: ensure-parsed-base-type (type)
Package

cffi.

Source

early-types.lisp.

Function: explode-path-environment-variable (name)
Package

cffi.

Source

libraries.lisp.

Function: fallback-darwin-framework-directories ()
Package

cffi.

Source

libraries.lisp.

Function: filter-pathname (thing)
Package

cffi.

Source

libraries.lisp.

Function: find-darwin-framework (framework-name)

Searches for FRAMEWORK-NAME in *DARWIN-FRAMEWORK-DIRECTORIES*.

Package

cffi.

Source

libraries.lisp.

Function: find-default-type-parser (symbol)
Package

cffi.

Source

early-types.lisp.

Function: find-file (path directories)

Searches for PATH in a list of DIRECTORIES and returns the first it finds.

Package

cffi.

Source

libraries.lisp.

Function: find-type-parser (symbol &optional namespace)

Return the type parser for SYMBOL. NAMESPACE is either :DEFAULT (for variables, functions, and typedefs) or :STRUCT (for structs, unions, and enums).

Package

cffi.

Source

early-types.lisp.

Function: (setf find-type-parser) (symbol &optional namespace)

Set the type parser for SYMBOL.

Package

cffi.

Source

early-types.lisp.

Function: fl-error (control &rest arguments)
Package

cffi.

Source

libraries.lisp.

Function: fn-call-by-value-p (argument-types return-type)

One or more structures in the arguments or return from the function are called by value.

Package

cffi.

Source

functions.lisp.

Function: follow-typedefs (type)
Package

cffi.

Source

early-types.lisp.

Function: foreign-expand-runtime-translator-or-binding (value var body type)
Package

cffi.

Source

early-types.lisp.

Function: foreign-funcall-form (thing options args pointerp)
Package

cffi.

Source

functions.lisp.

Function: foreign-funcall-type-and-args (args)

Return an SB-ALIEN function type for ARGS.

Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: foreign-funcall-varargs-form (thing options fixed-args varargs pointerp)
Package

cffi.

Source

functions.lisp.

Function: foreign-library-options (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-library-search-path (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-library-spec (lib)
Package

cffi.

Source

libraries.lisp.

Function: foreign-name (spec varp)
Package

cffi.

Source

functions.lisp.

Function: foreign-options (opts varp)
Package

cffi.

Source

functions.lisp.

Function: foreign-slot-set (value ptr type slot-name)

Set the value of SLOT-NAME in a foreign structure.

Package

cffi.

Source

types.lisp.

Function: foreign-string-length (pointer &key encoding offset)
Package

cffi.

Source

strings.lisp.

Function: foreign-type-error/compound-name (e)
Package

cffi.

Source

early-types.lisp.

Function: fs-pointer-or-lose (foreign-name library)

Like foreign-symbol-ptr but throws an error instead of returning nil when foreign-name is not found.

Package

cffi.

Source

foreign-vars.lisp.

Function: fst-encoding (type)
Package

cffi.

Source

strings.lisp.

Function: generate-struct-accessors (name conc-name slot-names)
Package

cffi.

Source

types.lisp.

Function: get-alignment (type alignment-type firstp)

Return alignment for TYPE according to ALIGNMENT-TYPE.

Package

cffi.

Source

types.lisp.

Function: get-foreign-library (lib)

Look up a library by NAME, signalling an error if not found.

Package

cffi.

Source

libraries.lisp.

Function: (setf get-foreign-library) (name)
Package

cffi.

Source

libraries.lisp.

Function: get-slot-info (type slot-name)

Return the slot info for SLOT-NAME or raise an error.

Package

cffi.

Source

types.lisp.

Function: hash-keys-to-list (ht)
Package

cffi.

Source

enum.lisp.

Function: indexes-to-row-major-index (dimensions &rest subscripts)
Package

cffi.

Source

types.lisp.

Function: inverse-translate-objects (args types declarations rettype call)
Package

cffi.

Source

functions.lisp.

Function: lisp-name (spec varp)
Package

cffi.

Source

functions.lisp.

Function: lisp-name-p (name)
Package

cffi.

Source

functions.lisp.

Function: load-darwin-framework (name framework-name)

Tries to find and load a darwin framework in one of the directories in *DARWIN-FRAMEWORK-DIRECTORIES*. If unable to find FRAMEWORK-NAME, it signals a LOAD-FOREIGN-LIBRARY-ERROR.

Package

cffi.

Source

libraries.lisp.

Function: load-foreign-library-helper (name thing &optional search-path)
Package

cffi.

Source

libraries.lisp.

Function: load-foreign-library-path (name path &optional search-path)

Tries to load PATH using %LOAD-FOREIGN-LIBRARY which should try and find it using the OS’s usual methods. If that fails we try to find it ourselves.

Package

cffi.

Source

libraries.lisp.

Function: make-foreign-bitfield (type-name base-type values)

Makes a new instance of the foreign-bitfield class.

Package

cffi.

Source

enum.lisp.

Function: make-foreign-enum (type-name base-type values &key allow-undeclared-values)

Makes a new instance of the foreign-enum class.

Package

cffi.

Source

enum.lisp.

Function: make-struct-slot (name offset type count)

Make the appropriate type of structure slot.

Package

cffi.

Source

types.lisp.

Function: mem-set (value ptr type &optional offset)

Set the value of TYPE at OFFSET bytes from PTR to VALUE.

Package

cffi.

Source

types.lisp.

Function: mini-eval (form)

Simple EVAL-like function to evaluate the elements of *FOREIGN-LIBRARY-DIRECTORIES* and *DARWIN-FRAMEWORK-DIRECTORIES*.

Package

cffi.

Source

libraries.lisp.

Function: namespace-table (namespace)
Package

cffi.

Source

early-types.lisp.

Function: notice-foreign-struct-definition (name options slots)

Parse and install a foreign structure definition.

Package

cffi.

Source

types.lisp.

Function: notice-foreign-type (name type &optional namespace)
Package

cffi.

Source

early-types.lisp.

Function: notice-foreign-union-definition (name-and-options slots)

Parse and install a foreign union definition.

Package

cffi.

Source

types.lisp.

Function: null-terminator-len (encoding)
Package

cffi.

Source

strings.lisp.

Function: parse-args-and-types (args)

Returns 4 values: types, canonicalized types, args and return type.

Package

cffi.

Source

functions.lisp.

Function: parse-defcallback-options (options)
Package

cffi.

Source

functions.lisp.

Function: parse-defcvar-options (options)
Package

cffi.

Source

foreign-vars.lisp.

Function: parse-deprecated-struct-type (name struct-or-union)
Package

cffi.

Source

types.lisp.

Function: parse-directories (list)
Package

cffi.

Source

libraries.lisp.

Function: parse-foreign-enum-like (type-name base-type values &optional field-mode-p)
Package

cffi.

Source

enum.lisp.

Function: parse-function-options (options &key pointer)
Package

cffi.

Source

functions.lisp.

Function: parse-name-and-options (spec &optional varp)
Package

cffi.

Source

functions.lisp.

Function: parse-type (type)
Package

cffi.

Source

early-types.lisp.

Function: promote-varargs-type (builtin-type)

Default argument promotions.

Package

cffi.

Source

functions.lisp.

Function: quoted-form-p (form)
Package

cffi-sys.

Source

sys-utils.lisp.

Function: read-new-value ()
Package

cffi.

Source

libraries.lisp.

Function: register-foreign-library (name spec &rest options)
Package

cffi.

Source

libraries.lisp.

Function: report-simple-error (name error)
Package

cffi.

Source

libraries.lisp.

Function: row-major-index-to-indexes (index dimensions)
Package

cffi.

Source

types.lisp.

Function: simple-foreign-type-error (type-name namespace format-control &rest format-arguments)
Package

cffi.

Source

early-types.lisp.

Function: single-bit-p (integer)

Answer whether INTEGER, which must be an integer, is a single set twos-complement bit.

Package

cffi.

Source

utils.lisp.

Function: slots-in-order (structure-type)

A list of the structure’s slots in order.

Package

cffi.

Source

early-types.lisp.

Function: split-if (test seq &optional dir)
Package

cffi.

Source

utils.lisp.

Function: structure-by-value-p (ctype)

A structure or union is to be called or returned by value.

Package

cffi.

Source

functions.lisp.

Function: structure-slots (type)

The hash table of slots for the structure type.

Package

cffi.

Source

early-types.lisp.

Function: translate-objects (syms args types rettype call-form &optional indirect)

Helper function for FOREIGN-FUNCALL and DEFCFUN. If ’indirect is T, all arguments are represented by foreign pointers, even those that can be represented by CL objects.

Package

cffi.

Source

functions.lisp.

Function: try-foreign-library-alternatives (name library-list &optional search-path)

Goes through a list of alternatives and only signals an error when none of alternatives were successfully loaded.

Package

cffi.

Source

libraries.lisp.

Function: undefine-foreign-type (symbol &optional namespace)
Package

cffi.

Source

early-types.lisp.

Function: undefined-foreign-type-error (type-name &optional namespace)
Package

cffi.

Source

early-types.lisp.

Function: unload-shared-object-present-p ()
Package

cffi-sys.

Source

cffi-sbcl.lisp.

Function: warn-if-kw-or-belongs-to-cl (name)
Package

cffi.

Source

utils.lisp.

Function: warn-obsolete-argument (old-arg new-arg)
Package

cffi.

Source

utils.lisp.


6.2.5 Generic functions

Generic Reader: actual-type (object)
Package

cffi.

Methods
Reader Method: actual-type ((foreign-type-alias foreign-type-alias))

automatically generated reader method

Source

early-types.lisp.

Target Slot

actual-type.

Generic Writer: (setf actual-type) (object)
Package

cffi.

Methods
Writer Method: (setf actual-type) ((foreign-type-alias foreign-type-alias))

automatically generated writer method

Source

early-types.lisp.

Target Slot

actual-type.

Generic Function: aggregatep (foreign-type)

Return true if FOREIGN-TYPE is an aggregate type.

Package

cffi.

Source

early-types.lisp.

Methods
Method: aggregatep ((type foreign-array-type))
Source

types.lisp.

Method: aggregatep ((type foreign-type-alias))

Return true if TYPE’s actual type is aggregate.

Method: aggregatep ((type foreign-struct-type))

Returns true, structure types are aggregate.

Method: aggregatep ((type foreign-built-in-type))

Returns false, built-in types are never aggregate types.

Generic Reader: alignment (object)
Package

cffi.

Methods
Reader Method: alignment ((foreign-struct-type foreign-struct-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

alignment.

Generic Writer: (setf alignment) (object)
Package

cffi.

Methods
Writer Method: (setf alignment) ((foreign-struct-type foreign-struct-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

alignment.

Generic Reader: allow-undeclared-values (object)
Package

cffi.

Methods
Reader Method: allow-undeclared-values ((foreign-enum foreign-enum))

automatically generated reader method

Source

enum.lisp.

Target Slot

allow-undeclared-values.

Generic Function: bare-struct-type-p (foreign-type)

Return true if FOREIGN-TYPE is a bare struct type or an alias of a bare struct type.

Package

cffi.

Source

early-types.lisp.

Methods
Method: bare-struct-type-p ((type foreign-typedef))
Reader Method: bare-struct-type-p ((foreign-struct-type foreign-struct-type))

automatically generated reader method

Target Slot

bare.

Method: bare-struct-type-p ((type foreign-type))

Return true if FOREIGN-TYPE is a bare struct type or an alias of a bare struct type.

Generic Reader: bit-index->keyword (object)
Package

cffi.

Methods
Reader Method: bit-index->keyword ((foreign-bitfield foreign-bitfield))

automatically generated reader method

Source

enum.lisp.

Target Slot

bit-index->keyword.

Generic Function: canonicalize (foreign-type)

Return the most primitive foreign type for FOREIGN-TYPE, either a built-in type–a keyword–or a struct/union type–a list of the form (:STRUCT/:UNION name). Signals an error if FOREIGN-TYPE is undefined.

Package

cffi.

Source

early-types.lisp.

Methods
Method: canonicalize ((type foreign-type-alias))

Return the built-in type keyword for TYPE.

Method: canonicalize ((type foreign-union-type))
Method: canonicalize ((type foreign-struct-type))
Method: canonicalize ((type foreign-built-in-type))

Return the built-in type keyword for TYPE.

Generic Reader: dimensions (object)
Package

cffi.

Methods
Reader Method: dimensions ((foreign-array-type foreign-array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

dimensions.

Generic Reader: element-type (object)
Package

cffi.

Methods
Reader Method: element-type ((foreign-array-type foreign-array-type))

automatically generated reader method

Source

types.lisp.

Target Slot

element-type.

Generic Reader: encoding (object)
Package

cffi.

Methods
Reader Method: encoding ((foreign-string-type foreign-string-type))

automatically generated reader method

Source

strings.lisp.

Target Slot

encoding.

Generic Function: expand-to-foreign-dyn-indirect (value var body type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: expand-to-foreign-dyn-indirect (value var body (type foreign-string-type))
Source

strings.lisp.

Method: expand-to-foreign-dyn-indirect (value var body (type foreign-enum))
Source

enum.lisp.

Method: expand-to-foreign-dyn-indirect (value var body (type foreign-type-alias))
Method: expand-to-foreign-dyn-indirect (value var body (type translatable-foreign-type))
Method: expand-to-foreign-dyn-indirect (value var body (type foreign-built-in-type))
Method: expand-to-foreign-dyn-indirect (value var body (type foreign-pointer-type))
Method: expand-to-foreign-dyn-indirect :around (value var body (type translatable-foreign-type))
Method: expand-to-foreign-dyn-indirect (value var body type)
Generic Reader: field-keywords (object)
Package

cffi.

Methods
Reader Method: field-keywords ((foreign-bitfield foreign-bitfield))

automatically generated reader method

Source

enum.lisp.

Target Slot

field-keywords.

Generic Reader: fl-name (condition)
Package

cffi.

Methods
Reader Method: fl-name ((condition foreign-library-undefined-error))
Source

libraries.lisp.

Target Slot

name.

Generic Reader: foreign-library-handle (object)
Package

cffi.

Methods
Reader Method: foreign-library-handle ((foreign-library foreign-library))

automatically generated reader method

Source

libraries.lisp.

Target Slot

handle.

Generic Writer: (setf foreign-library-handle) (object)
Package

cffi.

Methods
Writer Method: (setf foreign-library-handle) ((foreign-library foreign-library))

automatically generated writer method

Source

libraries.lisp.

Target Slot

handle.

Generic Function: foreign-struct-slot-pointer (ptr slot)

Get the address of SLOT relative to PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: foreign-struct-slot-pointer (ptr (slot foreign-struct-slot))

Return the address of SLOT relative to PTR.

Generic Function: foreign-struct-slot-pointer-form (ptr slot)

Return a form to get the address of SLOT in PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: foreign-struct-slot-pointer-form (ptr (slot foreign-struct-slot))

Return a form to get the address of SLOT relative to PTR.

Generic Function: foreign-struct-slot-set-form (value ptr slot)

Return a form to set the value of SLOT in struct PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: foreign-struct-slot-set-form (value ptr (slot aggregate-struct-slot))

Return a form to get the value of an aggregate SLOT relative to PTR.

Method: foreign-struct-slot-set-form (value ptr (slot simple-struct-slot))

Return a form to set the value of a simple structure slot.

Generic Function: foreign-struct-slot-value (ptr slot)

Return the value of SLOT in structure PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: foreign-struct-slot-value (ptr (slot aggregate-struct-slot))

Return a pointer to SLOT relative to PTR.

Method: foreign-struct-slot-value (ptr (slot simple-struct-slot))

Return the value of a simple SLOT from a struct at PTR.

Generic Function: (setf foreign-struct-slot-value) (ptr slot)

Set the value of a SLOT in structure PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: (setf foreign-struct-slot-value) (ptr (slot aggregate-struct-slot))

Set the value of an aggregate SLOT to VALUE in PTR.

Method: (setf foreign-struct-slot-value) (ptr (slot simple-struct-slot))

Set the value of a simple SLOT to VALUE in PTR.

Generic Function: foreign-struct-slot-value-form (ptr slot)

Return a form to get the value of SLOT in struct PTR.

Package

cffi.

Source

types.lisp.

Methods
Method: foreign-struct-slot-value-form (ptr (slot aggregate-struct-slot))

Return a form to get the value of SLOT relative to PTR.

Method: foreign-struct-slot-value-form (ptr (slot simple-struct-slot))

Return a form to get the value of a slot from PTR.

Generic Reader: foreign-type-error/namespace (condition)
Generic Writer: (setf foreign-type-error/namespace) (condition)
Package

cffi.

Methods
Reader Method: foreign-type-error/namespace ((condition foreign-type-error))
Writer Method: (setf foreign-type-error/namespace) ((condition foreign-type-error))
Source

early-types.lisp.

Target Slot

namespace.

Generic Reader: foreign-type-error/type-name (condition)
Generic Writer: (setf foreign-type-error/type-name) (condition)
Package

cffi.

Methods
Reader Method: foreign-type-error/type-name ((condition foreign-type-error))
Writer Method: (setf foreign-type-error/type-name) ((condition foreign-type-error))
Source

early-types.lisp.

Target Slot

type-name.

Generic Reader: fst-free-from-foreign-p (object)
Package

cffi.

Methods
Reader Method: fst-free-from-foreign-p ((foreign-string-type foreign-string-type))

automatically generated reader method

Source

strings.lisp.

Target Slot

free-from-foreign.

Generic Reader: fst-free-to-foreign-p (object)
Package

cffi.

Methods
Reader Method: fst-free-to-foreign-p ((foreign-string-type foreign-string-type))

automatically generated reader method

Source

strings.lisp.

Target Slot

free-to-foreign.

Generic Reader: keyword-values (object)
Package

cffi.

Methods
Reader Method: keyword-values ((foreign-enum foreign-enum))

automatically generated reader method

Source

enum.lisp.

Target Slot

keyword-values.

Generic Reader: name (object)
Package

cffi.

Methods
Reader Method: name ((named-foreign-type named-foreign-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

name.

Generic Writer: (setf name) (object)
Package

cffi.

Methods
Writer Method: (setf name) ((named-foreign-type named-foreign-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

name.

Generic Reader: new-arg (condition)
Package

cffi.

Methods
Reader Method: new-arg ((condition obsolete-argument-warning))
Source

utils.lisp.

Target Slot

new-arg.

Generic Reader: old-arg (condition)
Package

cffi.

Methods
Reader Method: old-arg ((condition obsolete-argument-warning))
Source

utils.lisp.

Target Slot

old-arg.

Generic Reader: pointer-type (object)
Package

cffi.

Methods
Reader Method: pointer-type ((foreign-pointer-type foreign-pointer-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

pointer-type.

Generic Writer: (setf pointer-type) (object)
Package

cffi.

Methods
Writer Method: (setf pointer-type) ((foreign-pointer-type foreign-pointer-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

pointer-type.

Generic Reader: size (object)
Package

cffi.

Methods
Reader Method: size ((foreign-struct-type foreign-struct-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

size.

Generic Writer: (setf size) (object)
Package

cffi.

Methods
Writer Method: (setf size) ((foreign-struct-type foreign-struct-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

size.

Generic Reader: slot-count (object)
Package

cffi.

Methods
Reader Method: slot-count ((aggregate-struct-slot aggregate-struct-slot))

automatically generated reader method

Source

types.lisp.

Target Slot

count.

Generic Writer: (setf slot-count) (object)
Package

cffi.

Methods
Writer Method: (setf slot-count) ((aggregate-struct-slot aggregate-struct-slot))

automatically generated writer method

Source

types.lisp.

Target Slot

count.

Generic Reader: slot-name (object)
Package

cffi.

Methods
Reader Method: slot-name ((foreign-struct-slot foreign-struct-slot))

automatically generated reader method

Source

types.lisp.

Target Slot

name.

Generic Reader: slot-offset (object)
Package

cffi.

Methods
Reader Method: slot-offset ((foreign-struct-slot foreign-struct-slot))

automatically generated reader method

Source

types.lisp.

Target Slot

offset.

Generic Writer: (setf slot-offset) (object)
Package

cffi.

Methods
Writer Method: (setf slot-offset) ((foreign-struct-slot foreign-struct-slot))

automatically generated writer method

Source

types.lisp.

Target Slot

offset.

Generic Reader: slot-type (object)
Package

cffi.

Methods
Reader Method: slot-type ((foreign-struct-slot foreign-struct-slot))

automatically generated reader method

Source

types.lisp.

Target Slot

type.

Generic Writer: (setf slot-type) (object)
Package

cffi.

Methods
Writer Method: (setf slot-type) ((foreign-struct-slot foreign-struct-slot))

automatically generated writer method

Source

types.lisp.

Target Slot

type.

Generic Reader: slots (object)
Package

cffi.

Methods
Reader Method: slots ((foreign-struct-type foreign-struct-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

slots.

Generic Writer: (setf slots) (object)
Package

cffi.

Methods
Writer Method: (setf slots) ((foreign-struct-type foreign-struct-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

slots.

Generic Function: translate-aggregate-to-foreign (ptr value type)
Package

cffi.

Source

early-types.lisp.

Methods
Method: translate-aggregate-to-foreign (ptr value (type foreign-struct-type))
Source

types.lisp.

Method: translate-aggregate-to-foreign (ptr value (type foreign-array-type))
Source

types.lisp.

Generic Reader: type-keyword (object)
Package

cffi.

Methods
Reader Method: type-keyword ((foreign-built-in-type foreign-built-in-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

type-keyword.

Generic Writer: (setf type-keyword) (object)
Package

cffi.

Methods
Writer Method: (setf type-keyword) ((foreign-built-in-type foreign-built-in-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

type-keyword.

Generic Function: unparse-type (foreign-type)

Unparse FOREIGN-TYPE to a type specification (symbol or list).

Package

cffi.

Source

early-types.lisp.

Methods
Method: unparse-type ((type enhanced-foreign-type))
Method: unparse-type ((type foreign-struct-type))
Method: unparse-type ((type foreign-pointer-type))
Method: unparse-type ((type foreign-built-in-type))

Returns the symbolic representation of a built-in type.

Method: unparse-type ((type named-foreign-type))
Generic Reader: unparsed-type (object)
Package

cffi.

Methods
Reader Method: unparsed-type ((enhanced-foreign-type enhanced-foreign-type))

automatically generated reader method

Source

early-types.lisp.

Target Slot

unparsed-type.

Generic Writer: (setf unparsed-type) (object)
Package

cffi.

Methods
Writer Method: (setf unparsed-type) ((enhanced-foreign-type enhanced-foreign-type))

automatically generated writer method

Source

early-types.lisp.

Target Slot

unparsed-type.

Generic Reader: value-keywords (object)
Package

cffi.

Methods
Reader Method: value-keywords ((foreign-enum foreign-enum))

automatically generated reader method

Source

enum.lisp.

Target Slot

value-keywords.

Generic Reader: wrapper-from-c (object)
Package

cffi.

Methods
Reader Method: wrapper-from-c ((foreign-type-wrapper foreign-type-wrapper))

automatically generated reader method

Source

types.lisp.

Target Slot

from-c.

Generic Reader: wrapper-to-c (object)
Package

cffi.

Methods
Reader Method: wrapper-to-c ((foreign-type-wrapper foreign-type-wrapper))

automatically generated reader method

Source

types.lisp.

Target Slot

to-c.


6.2.6 Conditions

Condition: cffi-error
Package

cffi.

Source

early-types.lisp.

Direct superclasses

error.

Direct subclasses

foreign-type-error.

Condition: foreign-library-undefined-error
Package

cffi.

Source

libraries.lisp.

Direct superclasses

error.

Direct methods

fl-name.

Direct slots
Slot: name
Initargs

:name

Readers

fl-name.

Writers

This slot is read-only.

Condition: foreign-type-error
Package

cffi.

Source

early-types.lisp.

Direct superclasses

cffi-error.

Direct subclasses
Direct methods
Direct slots
Slot: type-name
Initform

(quote (error "must specify type-name."))

Initargs

:type-name

Readers

foreign-type-error/type-name.

Writers

(setf foreign-type-error/type-name).

Slot: namespace
Initform

(quote :default)

Initargs

:namespace

Readers

foreign-type-error/namespace.

Writers

(setf foreign-type-error/namespace).

Condition: obsolete-argument-warning
Package

cffi.

Source

utils.lisp.

Direct superclasses

style-warning.

Direct methods
Direct slots
Slot: old-arg
Initargs

:old-arg

Readers

old-arg.

Writers

This slot is read-only.

Slot: new-arg
Initargs

:new-arg

Readers

new-arg.

Writers

This slot is read-only.

Condition: simple-foreign-type-error
Package

cffi.

Source

early-types.lisp.

Direct superclasses
Condition: undefined-foreign-type-error
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-type-error.


6.2.7 Classes

Class: aggregate-struct-slot

Aggregate structure slots.

Package

cffi.

Source

types.lisp.

Direct superclasses

foreign-struct-slot.

Direct methods
Direct slots
Slot: count
Package

common-lisp.

Initargs

:count

Readers

slot-count.

Writers

(setf slot-count).

Class: enhanced-foreign-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses
Direct subclasses
Direct methods
Direct slots
Slot: unparsed-type
Readers

unparsed-type.

Writers

(setf unparsed-type).

Class: enhanced-typedef
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-typedef.

Direct methods
Class: foreign-array-type
Package

cffi.

Source

types.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Direct slots
Slot: dimensions
Initargs

:dimensions

Readers

dimensions.

Writers

This slot is read-only.

Slot: element-type
Initargs

:element-type

Readers

element-type.

Writers

This slot is read-only.

Class: foreign-bitfield

Describes a foreign bitfield type.

Package

cffi.

Source

enum.lisp.

Direct superclasses

foreign-enum.

Direct methods
Direct slots
Slot: field-keywords
Initform

(error "must specify field-keywords.")

Initargs

:field-keywords

Readers

field-keywords.

Writers

This slot is read-only.

Slot: bit-index->keyword
Initform

(error "must specify bit-index->keyword")

Initargs

:bit-index->keyword

Readers

bit-index->keyword.

Writers

This slot is read-only.

Class: foreign-boolean-type
Package

cffi.

Source

types.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Class: foreign-built-in-type

A built-in foreign type.

Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-type.

Direct subclasses

foreign-pointer-type.

Direct methods
Direct slots
Slot: type-keyword
Initform

(error "a type keyword is required.")

Initargs

:type-keyword

Readers

type-keyword.

Writers

(setf type-keyword).

Class: foreign-enum

Describes a foreign enumerated type.

Package

cffi.

Source

enum.lisp.

Direct superclasses
Direct subclasses

foreign-bitfield.

Direct methods
Direct slots
Slot: keyword-values
Initform

(error "must specify keyword-values.")

Initargs

:keyword-values

Readers

keyword-values.

Writers

This slot is read-only.

Slot: value-keywords
Initform

(error "must specify value-keywords.")

Initargs

:value-keywords

Readers

value-keywords.

Writers

This slot is read-only.

Slot: allow-undeclared-values
Initargs

:allow-undeclared-values

Readers

allow-undeclared-values.

Writers

This slot is read-only.

Class: foreign-pointer-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-built-in-type.

Direct methods
Direct Default Initargs
InitargValue
:type-keywordpointer
Direct slots
Slot: pointer-type
Initargs

:pointer-type

Readers

pointer-type.

Writers

(setf pointer-type).

Class: foreign-string+ptr-type
Package

cffi.

Source

strings.lisp.

Direct superclasses

foreign-string-type.

Direct methods

translate-from-foreign.

Class: foreign-string-type
Package

cffi.

Source

strings.lisp.

Direct superclasses

enhanced-foreign-type.

Direct subclasses

foreign-string+ptr-type.

Direct methods
Direct Default Initargs
InitargValue
:actual-type(quote (pointer))
Direct slots
Slot: encoding
Initargs

:encoding

Readers

encoding.

Writers

This slot is read-only.

Slot: free-from-foreign
Type

boolean

Initargs

:free-from-foreign

Readers

fst-free-from-foreign-p.

Writers

This slot is read-only.

Slot: free-to-foreign
Type

boolean

Initform

t

Initargs

:free-to-foreign

Readers

fst-free-to-foreign-p.

Writers

This slot is read-only.

Class: foreign-struct-slot

Base class for simple and aggregate slots.

Package

cffi.

Source

types.lisp.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

slot-name.

Writers

This slot is read-only.

Slot: offset
Initargs

:offset

Readers

slot-offset.

Writers

(setf slot-offset).

Slot: type
Package

common-lisp.

Initargs

:type

Readers

slot-type.

Writers

(setf slot-type).

Class: foreign-struct-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses

named-foreign-type.

Direct subclasses

foreign-union-type.

Direct methods
Direct slots
Slot: slots
Initform

(make-hash-table)

Initargs

:slots

Readers

slots.

Writers

(setf slots).

Slot: size
Initargs

:size

Readers

size.

Writers

(setf size).

Slot: alignment
Initargs

:alignment

Readers

alignment.

Writers

(setf alignment).

Slot: bare
Initargs

:bare

Readers

bare-struct-type-p.

Writers

This slot is read-only.

Class: foreign-type

Base class for all foreign types.

Package

cffi.

Source

early-types.lisp.

Direct subclasses
Direct methods
Class: foreign-type-alias

A type that aliases another type.

Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-type.

Direct subclasses
Direct methods
Direct slots
Slot: actual-type
Initform

(error "must specify an actual-type.")

Initargs

:actual-type

Readers

actual-type.

Writers

(setf actual-type).

Class: foreign-type-wrapper

Wrapper type.

Package

cffi.

Source

types.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct slots
Slot: to-c
Initargs

:to-c

Readers

wrapper-to-c.

Writers

This slot is read-only.

Slot: from-c
Initargs

:from-c

Readers

wrapper-from-c.

Writers

This slot is read-only.

Class: foreign-typedef
Package

cffi.

Source

early-types.lisp.

Direct superclasses
Direct subclasses

enhanced-typedef.

Direct methods

bare-struct-type-p.

Class: foreign-union-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-struct-type.

Direct methods

canonicalize.

Class: named-foreign-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-type.

Direct subclasses
Direct methods
Direct slots
Slot: name
Initform

(error "must specify a name.")

Initargs

:name

Readers

name.

Writers

(setf name).

Class: simple-struct-slot

Non-aggregate structure slots.

Package

cffi.

Source

types.lisp.

Direct superclasses

foreign-struct-slot.

Direct methods
Class: translatable-foreign-type
Package

cffi.

Source

early-types.lisp.

Direct superclasses

foreign-type.

Direct subclasses

enhanced-foreign-type.

Direct methods

6.2.8 Types

Type: c-namespace-name ()
Package

cffi.

Source

early-types.lisp.

Type: enum-key ()
Package

cffi.

Source

enum.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   %   (  
A   B   C   D   E   F   G   H   I   K   L   M   N   O   P   Q   R   S   T   U   V   W  
Index Entry  Section

%
%%foreign-funcall: Private macros
%callback: Public ordinary functions
%close-foreign-library: Public ordinary functions
%defcallback: Public macros
%defcenum-like: Private ordinary functions
%defcfun: Private ordinary functions
%defcfun-varargs: Private ordinary functions
%do-load-foreign-library: Private ordinary functions
%foreign-alloc: Public ordinary functions
%foreign-bitfield-symbols: Private ordinary functions
%foreign-bitfield-value: Private ordinary functions
%foreign-enum-keyword: Private ordinary functions
%foreign-enum-value: Private ordinary functions
%foreign-funcall: Public macros
%foreign-funcall-pointer: Public macros
%foreign-funcall-pointer-varargs: Public macros
%foreign-funcall-varargs: Public macros
%foreign-library-spec: Private ordinary functions
%foreign-string-length: Private macros
%foreign-symbol-pointer: Public ordinary functions
%foreign-type-alignment: Public ordinary functions
%foreign-type-size: Public ordinary functions
%load-foreign-library: Public ordinary functions
%mem-ref: Public compiler macros
%mem-ref: Public ordinary functions
%mem-set: Public compiler macros
%mem-set: Public ordinary functions
%parse-name-and-options: Private ordinary functions

(
(setf actual-type): Private generic functions
(setf actual-type): Private generic functions
(setf alignment): Private generic functions
(setf alignment): Private generic functions
(setf find-type-parser): Private ordinary functions
(setf foreign-aref): Public ordinary functions
(setf foreign-library-handle): Private generic functions
(setf foreign-library-handle): Private generic functions
(setf foreign-library-load-state): Public generic functions
(setf foreign-library-load-state): Public generic functions
(setf foreign-library-name): Public generic functions
(setf foreign-library-name): Public generic functions
(setf foreign-slot-value): Public setf expanders
(setf foreign-struct-slot-value): Private generic functions
(setf foreign-struct-slot-value): Private generic functions
(setf foreign-struct-slot-value): Private generic functions
(setf foreign-type-error/namespace): Private generic functions
(setf foreign-type-error/namespace): Private generic functions
(setf foreign-type-error/type-name): Private generic functions
(setf foreign-type-error/type-name): Private generic functions
(setf get-foreign-library): Private ordinary functions
(setf mem-aref): Public setf expanders
(setf mem-ref): Public setf expanders
(setf name): Private generic functions
(setf name): Private generic functions
(setf pointer-type): Private generic functions
(setf pointer-type): Private generic functions
(setf size): Private generic functions
(setf size): Private generic functions
(setf slot-count): Private generic functions
(setf slot-count): Private generic functions
(setf slot-offset): Private generic functions
(setf slot-offset): Private generic functions
(setf slot-type): Private generic functions
(setf slot-type): Private generic functions
(setf slots): Private generic functions
(setf slots): Private generic functions
(setf type-keyword): Private generic functions
(setf type-keyword): Private generic functions
(setf unparsed-type): Private generic functions
(setf unparsed-type): Private generic functions

A
actual-type: Private generic functions
actual-type: Private generic functions
adjust-for-alignment: Private ordinary functions
aggregatep: Private generic functions
aggregatep: Private generic functions
aggregatep: Private generic functions
aggregatep: Private generic functions
aggregatep: Private generic functions
alignment: Private generic functions
alignment: Private generic functions
allow-undeclared-values: Private generic functions
allow-undeclared-values: Private generic functions
array-element-size: Private ordinary functions

B
bare-struct-type-p: Private generic functions
bare-struct-type-p: Private generic functions
bare-struct-type-p: Private generic functions
bare-struct-type-p: Private generic functions
bget: Private macros
bit-index->keyword: Private generic functions
bit-index->keyword: Private generic functions
bset: Private macros

C
callback: Public macros
canonicalize: Private generic functions
canonicalize: Private generic functions
canonicalize: Private generic functions
canonicalize: Private generic functions
canonicalize: Private generic functions
canonicalize-foreign-type: Private ordinary functions
canonicalize-symbol-name-case: Public ordinary functions
cffi-feature-p: Public ordinary functions
check-for-typedef-cycles: Private ordinary functions
check-prefix: Private ordinary functions
clean-spec-up: Private ordinary functions
close-foreign-library: Public ordinary functions
collapse-prefix: Private ordinary functions
Compiler Macro, %mem-ref: Public compiler macros
Compiler Macro, %mem-set: Public compiler macros
Compiler Macro, convert-from-foreign: Public compiler macros
Compiler Macro, convert-into-foreign-memory: Public compiler macros
Compiler Macro, convert-to-foreign: Public compiler macros
Compiler Macro, foreign-alloc: Public compiler macros
Compiler Macro, foreign-bitfield-symbols: Public compiler macros
Compiler Macro, foreign-bitfield-value: Public compiler macros
Compiler Macro, foreign-slot-pointer: Public compiler macros
Compiler Macro, foreign-slot-set: Private compiler macros
Compiler Macro, foreign-slot-value: Public compiler macros
Compiler Macro, foreign-type-size: Public compiler macros
Compiler Macro, inc-pointer: Public compiler macros
Compiler Macro, mem-aptr: Public compiler macros
Compiler Macro, mem-aref: Public compiler macros
Compiler Macro, mem-ref: Public compiler macros
Compiler Macro, mem-set: Private compiler macros
constant-form-p: Public ordinary functions
constant-form-value: Public ordinary functions
convert-foreign-type: Private ordinary functions
convert-from-foreign: Public compiler macros
convert-from-foreign: Public ordinary functions
convert-into-foreign-memory: Public compiler macros
convert-into-foreign-memory: Public ordinary functions
convert-to-foreign: Public compiler macros
convert-to-foreign: Public ordinary functions

D
darwin-fallback-library-path: Private ordinary functions
default-library-suffix: Private ordinary functions
defbitfield: Public macros
defcallback: Public macros
defcenum: Public macros
defcfun: Public macros
defcfun-helper-forms: Public ordinary functions
defcstruct: Public macros
defctype: Public macros
defctype*: Private macros
defctype-matching: Private macros
defcunion: Public macros
defcvar: Public macros
define-built-in-foreign-type: Private macros
define-c-struct-wrapper: Public macros
define-foreign-library: Public macros
define-foreign-type: Public macros
define-mem-accessors: Private macros
define-parse-method: Public macros
define-translation-method: Public macros
define-type-mapping: Private macros
dimensions: Private generic functions
dimensions: Private generic functions
discard-docstring: Private macros

E
element-type: Private generic functions
element-type: Private generic functions
encoding: Private generic functions
encoding: Private generic functions
ensure-parsed-base-type: Private ordinary functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-from-foreign: Public generic functions
expand-into-foreign-memory: Public generic functions
expand-into-foreign-memory: Public generic functions
expand-into-foreign-memory: Public generic functions
expand-into-foreign-memory: Public generic functions
expand-into-foreign-memory: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign: Public generic functions
expand-to-foreign-dyn: Public generic functions
expand-to-foreign-dyn: Public generic functions
expand-to-foreign-dyn: Public generic functions
expand-to-foreign-dyn: Public generic functions
expand-to-foreign-dyn: Public generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
expand-to-foreign-dyn-indirect: Private generic functions
explode-path-environment-variable: Private ordinary functions

F
fallback-darwin-framework-directories: Private ordinary functions
field-keywords: Private generic functions
field-keywords: Private generic functions
filter-pathname: Private ordinary functions
find-darwin-framework: Private ordinary functions
find-default-type-parser: Private ordinary functions
find-file: Private ordinary functions
find-type-parser: Private ordinary functions
fl-error: Private ordinary functions
fl-name: Private generic functions
fl-name: Private generic functions
fn-call-by-value-p: Private ordinary functions
follow-typedefs: Private ordinary functions
foreign-alloc: Public compiler macros
foreign-alloc: Public ordinary functions
foreign-aref: Public ordinary functions
foreign-array-alloc: Public ordinary functions
foreign-array-free: Public ordinary functions
foreign-array-to-lisp: Public ordinary functions
foreign-bitfield-symbol-list: Public ordinary functions
foreign-bitfield-symbols: Public compiler macros
foreign-bitfield-symbols: Public ordinary functions
foreign-bitfield-value: Public compiler macros
foreign-bitfield-value: Public ordinary functions
foreign-enum-keyword: Public ordinary functions
foreign-enum-keyword-list: Public ordinary functions
foreign-enum-value: Public ordinary functions
foreign-expand-runtime-translator-or-binding: Private ordinary functions
foreign-free: Public ordinary functions
foreign-funcall: Public macros
foreign-funcall-form: Private ordinary functions
foreign-funcall-pointer: Public macros
foreign-funcall-pointer-varargs: Public macros
foreign-funcall-type-and-args: Private ordinary functions
foreign-funcall-varargs: Public macros
foreign-funcall-varargs-form: Private ordinary functions
foreign-library-handle: Private generic functions
foreign-library-handle: Private generic functions
foreign-library-load-state: Public generic functions
foreign-library-load-state: Public generic functions
foreign-library-loaded-p: Public ordinary functions
foreign-library-name: Public generic functions
foreign-library-name: Public generic functions
foreign-library-options: Private ordinary functions
foreign-library-pathname: Public ordinary functions
foreign-library-search-path: Private ordinary functions
foreign-library-spec: Private ordinary functions
foreign-library-type: Public ordinary functions
foreign-name: Private ordinary functions
foreign-options: Private ordinary functions
foreign-slot-count: Public ordinary functions
foreign-slot-names: Public ordinary functions
foreign-slot-offset: Public ordinary functions
foreign-slot-pointer: Public compiler macros
foreign-slot-pointer: Public ordinary functions
foreign-slot-set: Private compiler macros
foreign-slot-set: Private ordinary functions
foreign-slot-type: Public ordinary functions
foreign-slot-value: Public compiler macros
foreign-slot-value: Public ordinary functions
foreign-string-alloc: Public ordinary functions
foreign-string-free: Public ordinary functions
foreign-string-length: Private ordinary functions
foreign-string-to-lisp: Public ordinary functions
foreign-struct-slot-pointer: Private generic functions
foreign-struct-slot-pointer: Private generic functions
foreign-struct-slot-pointer-form: Private generic functions
foreign-struct-slot-pointer-form: Private generic functions
foreign-struct-slot-set-form: Private generic functions
foreign-struct-slot-set-form: Private generic functions
foreign-struct-slot-set-form: Private generic functions
foreign-struct-slot-value: Private generic functions
foreign-struct-slot-value: Private generic functions
foreign-struct-slot-value: Private generic functions
foreign-struct-slot-value-form: Private generic functions
foreign-struct-slot-value-form: Private generic functions
foreign-struct-slot-value-form: Private generic functions
foreign-symbol-pointer: Public ordinary functions
foreign-type-alignment: Public generic functions
foreign-type-alignment: Public generic functions
foreign-type-alignment: Public generic functions
foreign-type-alignment: Public generic functions
foreign-type-alignment: Public generic functions
foreign-type-alignment: Public generic functions
foreign-type-error/compound-name: Private ordinary functions
foreign-type-error/namespace: Private generic functions
foreign-type-error/namespace: Private generic functions
foreign-type-error/type-name: Private generic functions
foreign-type-error/type-name: Private generic functions
foreign-type-size: Public compiler macros
foreign-type-size: Public generic functions
foreign-type-size: Public generic functions
foreign-type-size: Public generic functions
foreign-type-size: Public generic functions
foreign-type-size: Public generic functions
foreign-type-size: Public generic functions
free-converted-object: Public ordinary functions
free-translated-object: Public generic functions
free-translated-object: Public generic functions
free-translated-object: Public generic functions
free-translated-object: Public generic functions
free-translated-object: Public generic functions
free-translated-object: Public generic functions
fs-pointer-or-lose: Private ordinary functions
fst-encoding: Private ordinary functions
fst-free-from-foreign-p: Private generic functions
fst-free-from-foreign-p: Private generic functions
fst-free-to-foreign-p: Private generic functions
fst-free-to-foreign-p: Private generic functions
Function, %callback: Public ordinary functions
Function, %close-foreign-library: Public ordinary functions
Function, %defcenum-like: Private ordinary functions
Function, %defcfun: Private ordinary functions
Function, %defcfun-varargs: Private ordinary functions
Function, %do-load-foreign-library: Private ordinary functions
Function, %foreign-alloc: Public ordinary functions
Function, %foreign-bitfield-symbols: Private ordinary functions
Function, %foreign-bitfield-value: Private ordinary functions
Function, %foreign-enum-keyword: Private ordinary functions
Function, %foreign-enum-value: Private ordinary functions
Function, %foreign-library-spec: Private ordinary functions
Function, %foreign-symbol-pointer: Public ordinary functions
Function, %foreign-type-alignment: Public ordinary functions
Function, %foreign-type-size: Public ordinary functions
Function, %load-foreign-library: Public ordinary functions
Function, %mem-ref: Public ordinary functions
Function, %mem-set: Public ordinary functions
Function, %parse-name-and-options: Private ordinary functions
Function, (setf find-type-parser): Private ordinary functions
Function, (setf foreign-aref): Public ordinary functions
Function, (setf get-foreign-library): Private ordinary functions
Function, adjust-for-alignment: Private ordinary functions
Function, array-element-size: Private ordinary functions
Function, canonicalize-foreign-type: Private ordinary functions
Function, canonicalize-symbol-name-case: Public ordinary functions
Function, cffi-feature-p: Public ordinary functions
Function, check-for-typedef-cycles: Private ordinary functions
Function, check-prefix: Private ordinary functions
Function, clean-spec-up: Private ordinary functions
Function, close-foreign-library: Public ordinary functions
Function, collapse-prefix: Private ordinary functions
Function, constant-form-p: Public ordinary functions
Function, constant-form-value: Public ordinary functions
Function, convert-foreign-type: Private ordinary functions
Function, convert-from-foreign: Public ordinary functions
Function, convert-into-foreign-memory: Public ordinary functions
Function, convert-to-foreign: Public ordinary functions
Function, darwin-fallback-library-path: Private ordinary functions
Function, default-library-suffix: Private ordinary functions
Function, defcfun-helper-forms: Public ordinary functions
Function, ensure-parsed-base-type: Private ordinary functions
Function, explode-path-environment-variable: Private ordinary functions
Function, fallback-darwin-framework-directories: Private ordinary functions
Function, filter-pathname: Private ordinary functions
Function, find-darwin-framework: Private ordinary functions
Function, find-default-type-parser: Private ordinary functions
Function, find-file: Private ordinary functions
Function, find-type-parser: Private ordinary functions
Function, fl-error: Private ordinary functions
Function, fn-call-by-value-p: Private ordinary functions
Function, follow-typedefs: Private ordinary functions
Function, foreign-alloc: Public ordinary functions
Function, foreign-aref: Public ordinary functions
Function, foreign-array-alloc: Public ordinary functions
Function, foreign-array-free: Public ordinary functions
Function, foreign-array-to-lisp: Public ordinary functions
Function, foreign-bitfield-symbol-list: Public ordinary functions
Function, foreign-bitfield-symbols: Public ordinary functions
Function, foreign-bitfield-value: Public ordinary functions
Function, foreign-enum-keyword: Public ordinary functions
Function, foreign-enum-keyword-list: Public ordinary functions
Function, foreign-enum-value: Public ordinary functions
Function, foreign-expand-runtime-translator-or-binding: Private ordinary functions
Function, foreign-free: Public ordinary functions
Function, foreign-funcall-form: Private ordinary functions
Function, foreign-funcall-type-and-args: Private ordinary functions
Function, foreign-funcall-varargs-form: Private ordinary functions
Function, foreign-library-loaded-p: Public ordinary functions
Function, foreign-library-options: Private ordinary functions
Function, foreign-library-pathname: Public ordinary functions
Function, foreign-library-search-path: Private ordinary functions
Function, foreign-library-spec: Private ordinary functions
Function, foreign-library-type: Public ordinary functions
Function, foreign-name: Private ordinary functions
Function, foreign-options: Private ordinary functions
Function, foreign-slot-count: Public ordinary functions
Function, foreign-slot-names: Public ordinary functions
Function, foreign-slot-offset: Public ordinary functions
Function, foreign-slot-pointer: Public ordinary functions
Function, foreign-slot-set: Private ordinary functions
Function, foreign-slot-type: Public ordinary functions
Function, foreign-slot-value: Public ordinary functions
Function, foreign-string-alloc: Public ordinary functions
Function, foreign-string-free: Public ordinary functions
Function, foreign-string-length: Private ordinary functions
Function, foreign-string-to-lisp: Public ordinary functions
Function, foreign-symbol-pointer: Public ordinary functions
Function, foreign-type-error/compound-name: Private ordinary functions
Function, free-converted-object: Public ordinary functions
Function, fs-pointer-or-lose: Private ordinary functions
Function, fst-encoding: Private ordinary functions
Function, generate-struct-accessors: Private ordinary functions
Function, get-alignment: Private ordinary functions
Function, get-callback: Public ordinary functions
Function, get-foreign-library: Private ordinary functions
Function, get-slot-info: Private ordinary functions
Function, get-var-pointer: Public ordinary functions
Function, hash-keys-to-list: Private ordinary functions
Function, inc-pointer: Public ordinary functions
Function, indexes-to-row-major-index: Private ordinary functions
Function, inverse-translate-objects: Private ordinary functions
Function, lisp-array-to-foreign: Public ordinary functions
Function, lisp-name: Private ordinary functions
Function, lisp-name-p: Private ordinary functions
Function, lisp-string-to-foreign: Public ordinary functions
Function, list-foreign-libraries: Public ordinary functions
Function, load-darwin-framework: Private ordinary functions
Function, load-foreign-library: Public ordinary functions
Function, load-foreign-library-helper: Private ordinary functions
Function, load-foreign-library-path: Private ordinary functions
Function, make-foreign-bitfield: Private ordinary functions
Function, make-foreign-enum: Private ordinary functions
Function, make-pointer: Public ordinary functions
Function, make-shareable-byte-vector: Public ordinary functions
Function, make-struct-slot: Private ordinary functions
Function, mem-aptr: Public ordinary functions
Function, mem-aref: Public ordinary functions
Function, mem-ref: Public ordinary functions
Function, mem-set: Private ordinary functions
Function, mini-eval: Private ordinary functions
Function, namespace-table: Private ordinary functions
Function, native-namestring: Public ordinary functions
Function, notice-foreign-struct-definition: Private ordinary functions
Function, notice-foreign-type: Private ordinary functions
Function, notice-foreign-union-definition: Private ordinary functions
Function, null-pointer: Public ordinary functions
Function, null-pointer-p: Public ordinary functions
Function, null-terminator-len: Private ordinary functions
Function, parse-args-and-types: Private ordinary functions
Function, parse-defcallback-options: Private ordinary functions
Function, parse-defcvar-options: Private ordinary functions
Function, parse-deprecated-struct-type: Private ordinary functions
Function, parse-directories: Private ordinary functions
Function, parse-foreign-enum-like: Private ordinary functions
Function, parse-function-options: Private ordinary functions
Function, parse-name-and-options: Private ordinary functions
Function, parse-type: Private ordinary functions
Function, pointer-address: Public ordinary functions
Function, pointer-eq: Public ordinary functions
Function, pointerp: Public ordinary functions
Function, promote-varargs-type: Private ordinary functions
Function, quoted-form-p: Private ordinary functions
Function, read-new-value: Private ordinary functions
Function, register-foreign-library: Private ordinary functions
Function, reload-foreign-libraries: Public ordinary functions
Function, report-simple-error: Private ordinary functions
Function, row-major-index-to-indexes: Private ordinary functions
Function, simple-foreign-type-error: Private ordinary functions
Function, single-bit-p: Private ordinary functions
Function, slots-in-order: Private ordinary functions
Function, split-if: Private ordinary functions
Function, structure-by-value-p: Private ordinary functions
Function, structure-slots: Private ordinary functions
Function, translate-objects: Private ordinary functions
Function, try-foreign-library-alternatives: Private ordinary functions
Function, undefine-foreign-type: Private ordinary functions
Function, undefined-foreign-type-error: Private ordinary functions
Function, unload-shared-object-present-p: Private ordinary functions
Function, warn-if-kw-or-belongs-to-cl: Private ordinary functions
Function, warn-obsolete-argument: Private ordinary functions

G
generate-struct-accessors: Private ordinary functions
Generic Function, (setf actual-type): Private generic functions
Generic Function, (setf alignment): Private generic functions
Generic Function, (setf foreign-library-handle): Private generic functions
Generic Function, (setf foreign-library-load-state): Public generic functions
Generic Function, (setf foreign-library-name): Public generic functions
Generic Function, (setf foreign-struct-slot-value): Private generic functions
Generic Function, (setf foreign-type-error/namespace): Private generic functions
Generic Function, (setf foreign-type-error/type-name): Private generic functions
Generic Function, (setf name): Private generic functions
Generic Function, (setf pointer-type): Private generic functions
Generic Function, (setf size): Private generic functions
Generic Function, (setf slot-count): Private generic functions
Generic Function, (setf slot-offset): Private generic functions
Generic Function, (setf slot-type): Private generic functions
Generic Function, (setf slots): Private generic functions
Generic Function, (setf type-keyword): Private generic functions
Generic Function, (setf unparsed-type): Private generic functions
Generic Function, actual-type: Private generic functions
Generic Function, aggregatep: Private generic functions
Generic Function, alignment: Private generic functions
Generic Function, allow-undeclared-values: Private generic functions
Generic Function, bare-struct-type-p: Private generic functions
Generic Function, bit-index->keyword: Private generic functions
Generic Function, canonicalize: Private generic functions
Generic Function, dimensions: Private generic functions
Generic Function, element-type: Private generic functions
Generic Function, encoding: Private generic functions
Generic Function, expand-from-foreign: Public generic functions
Generic Function, expand-into-foreign-memory: Public generic functions
Generic Function, expand-to-foreign: Public generic functions
Generic Function, expand-to-foreign-dyn: Public generic functions
Generic Function, expand-to-foreign-dyn-indirect: Private generic functions
Generic Function, field-keywords: Private generic functions
Generic Function, fl-name: Private generic functions
Generic Function, foreign-library-handle: Private generic functions
Generic Function, foreign-library-load-state: Public generic functions
Generic Function, foreign-library-name: Public generic functions
Generic Function, foreign-struct-slot-pointer: Private generic functions
Generic Function, foreign-struct-slot-pointer-form: Private generic functions
Generic Function, foreign-struct-slot-set-form: Private generic functions
Generic Function, foreign-struct-slot-value: Private generic functions
Generic Function, foreign-struct-slot-value-form: Private generic functions
Generic Function, foreign-type-alignment: Public generic functions
Generic Function, foreign-type-error/namespace: Private generic functions
Generic Function, foreign-type-error/type-name: Private generic functions
Generic Function, foreign-type-size: Public generic functions
Generic Function, free-translated-object: Public generic functions
Generic Function, fst-free-from-foreign-p: Private generic functions
Generic Function, fst-free-to-foreign-p: Private generic functions
Generic Function, keyword-values: Private generic functions
Generic Function, name: Private generic functions
Generic Function, new-arg: Private generic functions
Generic Function, old-arg: Private generic functions
Generic Function, pointer-type: Private generic functions
Generic Function, size: Private generic functions
Generic Function, slot-count: Private generic functions
Generic Function, slot-name: Private generic functions
Generic Function, slot-offset: Private generic functions
Generic Function, slot-type: Private generic functions
Generic Function, slots: Private generic functions
Generic Function, translate-aggregate-to-foreign: Private generic functions
Generic Function, translate-camelcase-name: Public generic functions
Generic Function, translate-from-foreign: Public generic functions
Generic Function, translate-into-foreign-memory: Public generic functions
Generic Function, translate-name-from-foreign: Public generic functions
Generic Function, translate-name-to-foreign: Public generic functions
Generic Function, translate-to-foreign: Public generic functions
Generic Function, translate-underscore-separated-name: Public generic functions
Generic Function, type-keyword: Private generic functions
Generic Function, unparse-type: Private generic functions
Generic Function, unparsed-type: Private generic functions
Generic Function, value-keywords: Private generic functions
Generic Function, wrapper-from-c: Private generic functions
Generic Function, wrapper-to-c: Private generic functions
get-alignment: Private ordinary functions
get-callback: Public ordinary functions
get-foreign-library: Private ordinary functions
get-slot-info: Private ordinary functions
get-var-pointer: Public ordinary functions

H
hash-keys-to-list: Private ordinary functions

I
inc-pointer: Public compiler macros
inc-pointer: Public ordinary functions
incf-pointer: Public macros
indexes-to-row-major-index: Private ordinary functions
initialize-instance: Public standalone methods
initialize-instance: Public standalone methods
inverse-translate-objects: Private ordinary functions

K
keyword-values: Private generic functions
keyword-values: Private generic functions

L
lisp-array-to-foreign: Public ordinary functions
lisp-name: Private ordinary functions
lisp-name-p: Private ordinary functions
lisp-string-to-foreign: Public ordinary functions
list-foreign-libraries: Public ordinary functions
load-darwin-framework: Private ordinary functions
load-foreign-library: Public ordinary functions
load-foreign-library-helper: Private ordinary functions
load-foreign-library-path: Private ordinary functions

M
Macro, %%foreign-funcall: Private macros
Macro, %defcallback: Public macros
Macro, %foreign-funcall: Public macros
Macro, %foreign-funcall-pointer: Public macros
Macro, %foreign-funcall-pointer-varargs: Public macros
Macro, %foreign-funcall-varargs: Public macros
Macro, %foreign-string-length: Private macros
Macro, bget: Private macros
Macro, bset: Private macros
Macro, callback: Public macros
Macro, defbitfield: Public macros
Macro, defcallback: Public macros
Macro, defcenum: Public macros
Macro, defcfun: Public macros
Macro, defcstruct: Public macros
Macro, defctype: Public macros
Macro, defctype*: Private macros
Macro, defctype-matching: Private macros
Macro, defcunion: Public macros
Macro, defcvar: Public macros
Macro, define-built-in-foreign-type: Private macros
Macro, define-c-struct-wrapper: Public macros
Macro, define-foreign-library: Public macros
Macro, define-foreign-type: Public macros
Macro, define-mem-accessors: Private macros
Macro, define-parse-method: Public macros
Macro, define-translation-method: Public macros
Macro, define-type-mapping: Private macros
Macro, discard-docstring: Private macros
Macro, foreign-funcall: Public macros
Macro, foreign-funcall-pointer: Public macros
Macro, foreign-funcall-pointer-varargs: Public macros
Macro, foreign-funcall-varargs: Public macros
Macro, incf-pointer: Public macros
Macro, translation-forms-for-class: Public macros
Macro, use-foreign-library: Public macros
Macro, with-foreign-array: Public macros
Macro, with-foreign-object: Public macros
Macro, with-foreign-objects: Public macros
Macro, with-foreign-pointer: Public macros
Macro, with-foreign-pointer-as-string: Public macros
Macro, with-foreign-slots: Public macros
Macro, with-foreign-string: Public macros
Macro, with-foreign-strings: Public macros
Macro, with-pointer-to-vector-data: Public macros
Macro, with-tentative-type-definition: Private macros
make-foreign-bitfield: Private ordinary functions
make-foreign-enum: Private ordinary functions
make-load-form: Public standalone methods
make-pointer: Public ordinary functions
make-shareable-byte-vector: Public ordinary functions
make-struct-slot: Private ordinary functions
mem-aptr: Public compiler macros
mem-aptr: Public ordinary functions
mem-aref: Public compiler macros
mem-aref: Public ordinary functions
mem-ref: Public compiler macros
mem-ref: Public ordinary functions
mem-set: Private compiler macros
mem-set: Private ordinary functions
Method, (setf actual-type): Private generic functions
Method, (setf alignment): Private generic functions
Method, (setf foreign-library-handle): Private generic functions
Method, (setf foreign-library-load-state): Public generic functions
Method, (setf foreign-library-name): Public generic functions
Method, (setf foreign-struct-slot-value): Private generic functions
Method, (setf foreign-struct-slot-value): Private generic functions
Method, (setf foreign-type-error/namespace): Private generic functions
Method, (setf foreign-type-error/type-name): Private generic functions
Method, (setf name): Private generic functions
Method, (setf pointer-type): Private generic functions
Method, (setf size): Private generic functions
Method, (setf slot-count): Private generic functions
Method, (setf slot-offset): Private generic functions
Method, (setf slot-type): Private generic functions
Method, (setf slots): Private generic functions
Method, (setf type-keyword): Private generic functions
Method, (setf unparsed-type): Private generic functions
Method, actual-type: Private generic functions
Method, aggregatep: Private generic functions
Method, aggregatep: Private generic functions
Method, aggregatep: Private generic functions
Method, aggregatep: Private generic functions
Method, alignment: Private generic functions
Method, allow-undeclared-values: Private generic functions
Method, bare-struct-type-p: Private generic functions
Method, bare-struct-type-p: Private generic functions
Method, bare-struct-type-p: Private generic functions
Method, bit-index->keyword: Private generic functions
Method, canonicalize: Private generic functions
Method, canonicalize: Private generic functions
Method, canonicalize: Private generic functions
Method, canonicalize: Private generic functions
Method, dimensions: Private generic functions
Method, element-type: Private generic functions
Method, encoding: Private generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-from-foreign: Public generic functions
Method, expand-into-foreign-memory: Public generic functions
Method, expand-into-foreign-memory: Public generic functions
Method, expand-into-foreign-memory: Public generic functions
Method, expand-into-foreign-memory: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign: Public generic functions
Method, expand-to-foreign-dyn: Public generic functions
Method, expand-to-foreign-dyn: Public generic functions
Method, expand-to-foreign-dyn: Public generic functions
Method, expand-to-foreign-dyn: Public generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, expand-to-foreign-dyn-indirect: Private generic functions
Method, field-keywords: Private generic functions
Method, fl-name: Private generic functions
Method, foreign-library-handle: Private generic functions
Method, foreign-library-load-state: Public generic functions
Method, foreign-library-name: Public generic functions
Method, foreign-struct-slot-pointer: Private generic functions
Method, foreign-struct-slot-pointer-form: Private generic functions
Method, foreign-struct-slot-set-form: Private generic functions
Method, foreign-struct-slot-set-form: Private generic functions
Method, foreign-struct-slot-value: Private generic functions
Method, foreign-struct-slot-value: Private generic functions
Method, foreign-struct-slot-value-form: Private generic functions
Method, foreign-struct-slot-value-form: Private generic functions
Method, foreign-type-alignment: Public generic functions
Method, foreign-type-alignment: Public generic functions
Method, foreign-type-alignment: Public generic functions
Method, foreign-type-alignment: Public generic functions
Method, foreign-type-alignment: Public generic functions
Method, foreign-type-error/namespace: Private generic functions
Method, foreign-type-error/type-name: Private generic functions
Method, foreign-type-size: Public generic functions
Method, foreign-type-size: Public generic functions
Method, foreign-type-size: Public generic functions
Method, foreign-type-size: Public generic functions
Method, foreign-type-size: Public generic functions
Method, free-translated-object: Public generic functions
Method, free-translated-object: Public generic functions
Method, free-translated-object: Public generic functions
Method, free-translated-object: Public generic functions
Method, free-translated-object: Public generic functions
Method, fst-free-from-foreign-p: Private generic functions
Method, fst-free-to-foreign-p: Private generic functions
Method, initialize-instance: Public standalone methods
Method, initialize-instance: Public standalone methods
Method, keyword-values: Private generic functions
Method, make-load-form: Public standalone methods
Method, name: Private generic functions
Method, new-arg: Private generic functions
Method, old-arg: Private generic functions
Method, pointer-type: Private generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, size: Private generic functions
Method, slot-count: Private generic functions
Method, slot-name: Private generic functions
Method, slot-offset: Private generic functions
Method, slot-type: Private generic functions
Method, slots: Private generic functions
Method, translate-aggregate-to-foreign: Private generic functions
Method, translate-aggregate-to-foreign: Private generic functions
Method, translate-camelcase-name: Public generic functions
Method, translate-camelcase-name: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-from-foreign: Public generic functions
Method, translate-into-foreign-memory: Public generic functions
Method, translate-into-foreign-memory: Public generic functions
Method, translate-into-foreign-memory: Public generic functions
Method, translate-into-foreign-memory: Public generic functions
Method, translate-into-foreign-memory: Public generic functions
Method, translate-name-from-foreign: Public generic functions
Method, translate-name-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-to-foreign: Public generic functions
Method, translate-underscore-separated-name: Public generic functions
Method, translate-underscore-separated-name: Public generic functions
Method, type-keyword: Private generic functions
Method, unparse-type: Private generic functions
Method, unparse-type: Private generic functions
Method, unparse-type: Private generic functions
Method, unparse-type: Private generic functions
Method, unparse-type: Private generic functions
Method, unparsed-type: Private generic functions
Method, value-keywords: Private generic functions
Method, wrapper-from-c: Private generic functions
Method, wrapper-to-c: Private generic functions
mini-eval: Private ordinary functions

N
name: Private generic functions
name: Private generic functions
namespace-table: Private ordinary functions
native-namestring: Public ordinary functions
new-arg: Private generic functions
new-arg: Private generic functions
notice-foreign-struct-definition: Private ordinary functions
notice-foreign-type: Private ordinary functions
notice-foreign-union-definition: Private ordinary functions
null-pointer: Public ordinary functions
null-pointer-p: Public ordinary functions
null-terminator-len: Private ordinary functions

O
old-arg: Private generic functions
old-arg: Private generic functions

P
parse-args-and-types: Private ordinary functions
parse-defcallback-options: Private ordinary functions
parse-defcvar-options: Private ordinary functions
parse-deprecated-struct-type: Private ordinary functions
parse-directories: Private ordinary functions
parse-foreign-enum-like: Private ordinary functions
parse-function-options: Private ordinary functions
parse-name-and-options: Private ordinary functions
parse-type: Private ordinary functions
pointer-address: Public ordinary functions
pointer-eq: Public ordinary functions
pointer-type: Private generic functions
pointer-type: Private generic functions
pointerp: Public ordinary functions
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
promote-varargs-type: Private ordinary functions

Q
quoted-form-p: Private ordinary functions

R
read-new-value: Private ordinary functions
register-foreign-library: Private ordinary functions
reload-foreign-libraries: Public ordinary functions
report-simple-error: Private ordinary functions
row-major-index-to-indexes: Private ordinary functions

S
Setf Expander, (setf foreign-slot-value): Public setf expanders
Setf Expander, (setf mem-aref): Public setf expanders
Setf Expander, (setf mem-ref): Public setf expanders
simple-foreign-type-error: Private ordinary functions
single-bit-p: Private ordinary functions
size: Private generic functions
size: Private generic functions
slot-count: Private generic functions
slot-count: Private generic functions
slot-name: Private generic functions
slot-name: Private generic functions
slot-offset: Private generic functions
slot-offset: Private generic functions
slot-type: Private generic functions
slot-type: Private generic functions
slots: Private generic functions
slots: Private generic functions
slots-in-order: Private ordinary functions
split-if: Private ordinary functions
structure-by-value-p: Private ordinary functions
structure-slots: Private ordinary functions

T
translate-aggregate-to-foreign: Private generic functions
translate-aggregate-to-foreign: Private generic functions
translate-aggregate-to-foreign: Private generic functions
translate-camelcase-name: Public generic functions
translate-camelcase-name: Public generic functions
translate-camelcase-name: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-from-foreign: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-into-foreign-memory: Public generic functions
translate-name-from-foreign: Public generic functions
translate-name-from-foreign: Public generic functions
translate-name-to-foreign: Public generic functions
translate-name-to-foreign: Public generic functions
translate-objects: Private ordinary functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-to-foreign: Public generic functions
translate-underscore-separated-name: Public generic functions
translate-underscore-separated-name: Public generic functions
translate-underscore-separated-name: Public generic functions
translation-forms-for-class: Public macros
try-foreign-library-alternatives: Private ordinary functions
type-keyword: Private generic functions
type-keyword: Private generic functions

U
undefine-foreign-type: Private ordinary functions
undefined-foreign-type-error: Private ordinary functions
unload-shared-object-present-p: Private ordinary functions
unparse-type: Private generic functions
unparse-type: Private generic functions
unparse-type: Private generic functions
unparse-type: Private generic functions
unparse-type: Private generic functions
unparse-type: Private generic functions
unparsed-type: Private generic functions
unparsed-type: Private generic functions
use-foreign-library: Public macros

V
value-keywords: Private generic functions
value-keywords: Private generic functions

W
warn-if-kw-or-belongs-to-cl: Private ordinary functions
warn-obsolete-argument: Private ordinary functions
with-foreign-array: Public macros
with-foreign-object: Public macros
with-foreign-objects: Public macros
with-foreign-pointer: Public macros
with-foreign-pointer-as-string: Public macros
with-foreign-slots: Public macros
with-foreign-string: Public macros
with-foreign-strings: Public macros
with-pointer-to-vector-data: Public macros
with-tentative-type-definition: Private macros
wrapper-from-c: Private generic functions
wrapper-from-c: Private generic functions
wrapper-to-c: Private generic functions
wrapper-to-c: Private generic functions


A.3 Variables

Jump to:   *   +  
A   B   C   D   E   F   H   K   L   N   O   P   S   T   U   V  
Index Entry  Section

*
*built-in-float-types*: Public special variables
*built-in-foreign-types*: Public special variables
*built-in-integer-types*: Public special variables
*callbacks*: Private special variables
*cffi-feature-suffix-map*: Private special variables
*darwin-framework-directories*: Public special variables
*default-foreign-encoding*: Public special variables
*default-type-parsers*: Private special variables
*defcstruct-hook*: Private special variables
*foreign-libraries*: Private special variables
*foreign-library-directories*: Public special variables
*foreign-string-mappings*: Private special variables
*foreign-structures-by-value*: Private special variables
*other-builtin-types*: Public special variables
*possible-float-types*: Private special variables
*runtime-translator-form*: Private special variables
*struct-type-parsers*: Private special variables
*union-type-parsers*: Private special variables

+
+valid-enum-base-types+: Private special variables

A
actual-type: Private classes
alignment: Private classes
allow-undeclared-values: Private classes

B
bare: Private classes
bit-index->keyword: Private classes

C
count: Private classes

D
dimensions: Private classes

E
element-type: Private classes
encoding: Private classes

F
field-keywords: Private classes
free-from-foreign: Private classes
free-to-foreign: Private classes
from-c: Private classes

H
handle: Public classes

K
keyword-values: Private classes

L
load-state: Public classes

N
name: Public classes
name: Private conditions
name: Private classes
name: Private classes
namespace: Private conditions
new-arg: Private conditions

O
offset: Private classes
old-arg: Private conditions
options: Public classes

P
pathname: Public classes
pointer-type: Private classes

S
size: Private classes
Slot, actual-type: Private classes
Slot, alignment: Private classes
Slot, allow-undeclared-values: Private classes
Slot, bare: Private classes
Slot, bit-index->keyword: Private classes
Slot, count: Private classes
Slot, dimensions: Private classes
Slot, element-type: Private classes
Slot, encoding: Private classes
Slot, field-keywords: Private classes
Slot, free-from-foreign: Private classes
Slot, free-to-foreign: Private classes
Slot, from-c: Private classes
Slot, handle: Public classes
Slot, keyword-values: Private classes
Slot, load-state: Public classes
Slot, name: Public classes
Slot, name: Private conditions
Slot, name: Private classes
Slot, name: Private classes
Slot, namespace: Private conditions
Slot, new-arg: Private conditions
Slot, offset: Private classes
Slot, old-arg: Private conditions
Slot, options: Public classes
Slot, pathname: Public classes
Slot, pointer-type: Private classes
Slot, size: Private classes
Slot, slots: Private classes
Slot, spec: Public classes
Slot, to-c: Private classes
Slot, type: Public classes
Slot, type: Private classes
Slot, type-keyword: Private classes
Slot, type-name: Private conditions
Slot, unparsed-type: Private classes
Slot, value-keywords: Private classes
slots: Private classes
spec: Public classes
Special Variable, *built-in-float-types*: Public special variables
Special Variable, *built-in-foreign-types*: Public special variables
Special Variable, *built-in-integer-types*: Public special variables
Special Variable, *callbacks*: Private special variables
Special Variable, *cffi-feature-suffix-map*: Private special variables
Special Variable, *darwin-framework-directories*: Public special variables
Special Variable, *default-foreign-encoding*: Public special variables
Special Variable, *default-type-parsers*: Private special variables
Special Variable, *defcstruct-hook*: Private special variables
Special Variable, *foreign-libraries*: Private special variables
Special Variable, *foreign-library-directories*: Public special variables
Special Variable, *foreign-string-mappings*: Private special variables
Special Variable, *foreign-structures-by-value*: Private special variables
Special Variable, *other-builtin-types*: Public special variables
Special Variable, *possible-float-types*: Private special variables
Special Variable, *runtime-translator-form*: Private special variables
Special Variable, *struct-type-parsers*: Private special variables
Special Variable, *union-type-parsers*: Private special variables
Special Variable, +valid-enum-base-types+: Private special variables

T
to-c: Private classes
type: Public classes
type: Private classes
type-keyword: Private classes
type-name: Private conditions

U
unparsed-type: Private classes

V
value-keywords: Private classes


A.4 Data types

Jump to:   A   C   E   F   L   M   N   O   P   S   T   U  
Index Entry  Section

A
aggregate-struct-slot: Private classes

C
c-namespace-name: Private types
cffi: The cffi system
cffi: The cffi package
cffi-abcl.lisp: The cffi/src/cffi-abcl․lisp file
cffi-allegro.lisp: The cffi/src/cffi-allegro․lisp file
cffi-clasp.lisp: The cffi/src/cffi-clasp․lisp file
cffi-clisp.lisp: The cffi/src/cffi-clisp․lisp file
cffi-cmucl.lisp: The cffi/src/cffi-cmucl․lisp file
cffi-corman.lisp: The cffi/src/cffi-corman․lisp file
cffi-ecl.lisp: The cffi/src/cffi-ecl․lisp file
cffi-error: Private conditions
cffi-features: The cffi-features package
cffi-lispworks.lisp: The cffi/src/cffi-lispworks․lisp file
cffi-mcl.lisp: The cffi/src/cffi-mcl․lisp file
cffi-mkcl.lisp: The cffi/src/cffi-mkcl․lisp file
cffi-openmcl.lisp: The cffi/src/cffi-openmcl․lisp file
cffi-sbcl.lisp: The cffi/src/cffi-sbcl․lisp file
cffi-scl.lisp: The cffi/src/cffi-scl․lisp file
cffi-sys: The cffi-sys package
cffi.asd: The cffi/cffi․asd file
Class, aggregate-struct-slot: Private classes
Class, enhanced-foreign-type: Private classes
Class, enhanced-typedef: Private classes
Class, foreign-array-type: Private classes
Class, foreign-bitfield: Private classes
Class, foreign-boolean-type: Private classes
Class, foreign-built-in-type: Private classes
Class, foreign-enum: Private classes
Class, foreign-library: Public classes
Class, foreign-pointer-type: Private classes
Class, foreign-string+ptr-type: Private classes
Class, foreign-string-type: Private classes
Class, foreign-struct-slot: Private classes
Class, foreign-struct-type: Private classes
Class, foreign-type: Private classes
Class, foreign-type-alias: Private classes
Class, foreign-type-wrapper: Private classes
Class, foreign-typedef: Private classes
Class, foreign-union-type: Private classes
Class, named-foreign-type: Private classes
Class, simple-struct-slot: Private classes
Class, translatable-foreign-type: Private classes
Condition, cffi-error: Private conditions
Condition, foreign-library-undefined-error: Private conditions
Condition, foreign-type-error: Private conditions
Condition, load-foreign-library-error: Public conditions
Condition, obsolete-argument-warning: Private conditions
Condition, simple-foreign-type-error: Private conditions
Condition, undefined-foreign-type-error: Private conditions

E
early-types.lisp: The cffi/src/early-types․lisp file
enhanced-foreign-type: Private classes
enhanced-typedef: Private classes
enum-key: Private types
enum.lisp: The cffi/src/enum․lisp file

F
features.lisp: The cffi/src/features․lisp file
File, cffi-abcl.lisp: The cffi/src/cffi-abcl․lisp file
File, cffi-allegro.lisp: The cffi/src/cffi-allegro․lisp file
File, cffi-clasp.lisp: The cffi/src/cffi-clasp․lisp file
File, cffi-clisp.lisp: The cffi/src/cffi-clisp․lisp file
File, cffi-cmucl.lisp: The cffi/src/cffi-cmucl․lisp file
File, cffi-corman.lisp: The cffi/src/cffi-corman․lisp file
File, cffi-ecl.lisp: The cffi/src/cffi-ecl․lisp file
File, cffi-lispworks.lisp: The cffi/src/cffi-lispworks․lisp file
File, cffi-mcl.lisp: The cffi/src/cffi-mcl․lisp file
File, cffi-mkcl.lisp: The cffi/src/cffi-mkcl․lisp file
File, cffi-openmcl.lisp: The cffi/src/cffi-openmcl․lisp file
File, cffi-sbcl.lisp: The cffi/src/cffi-sbcl․lisp file
File, cffi-scl.lisp: The cffi/src/cffi-scl․lisp file
File, cffi.asd: The cffi/cffi․asd file
File, early-types.lisp: The cffi/src/early-types․lisp file
File, enum.lisp: The cffi/src/enum․lisp file
File, features.lisp: The cffi/src/features․lisp file
File, foreign-vars.lisp: The cffi/src/foreign-vars․lisp file
File, functions.lisp: The cffi/src/functions․lisp file
File, libraries.lisp: The cffi/src/libraries․lisp file
File, package.lisp: The cffi/src/package․lisp file
File, strings.lisp: The cffi/src/strings․lisp file
File, structures.lisp: The cffi/src/structures․lisp file
File, sys-utils.lisp: The cffi/src/sys-utils․lisp file
File, types.lisp: The cffi/src/types․lisp file
File, utils.lisp: The cffi/src/utils․lisp file
foreign-array-type: Private classes
foreign-bitfield: Private classes
foreign-boolean-type: Private classes
foreign-built-in-type: Private classes
foreign-enum: Private classes
foreign-library: Public classes
foreign-library-undefined-error: Private conditions
foreign-pointer: Public types
foreign-pointer-type: Private classes
foreign-string+ptr-type: Private classes
foreign-string-type: Private classes
foreign-struct-slot: Private classes
foreign-struct-type: Private classes
foreign-type: Private classes
foreign-type-alias: Private classes
foreign-type-error: Private conditions
foreign-type-wrapper: Private classes
foreign-typedef: Private classes
foreign-union-type: Private classes
foreign-vars.lisp: The cffi/src/foreign-vars․lisp file
functions.lisp: The cffi/src/functions․lisp file

L
libraries.lisp: The cffi/src/libraries․lisp file
load-foreign-library-error: Public conditions

M
Module, src: The cffi/src module

N
named-foreign-type: Private classes

O
obsolete-argument-warning: Private conditions

P
Package, cffi: The cffi package
Package, cffi-features: The cffi-features package
Package, cffi-sys: The cffi-sys package
package.lisp: The cffi/src/package․lisp file

S
simple-foreign-type-error: Private conditions
simple-struct-slot: Private classes
src: The cffi/src module
strings.lisp: The cffi/src/strings․lisp file
structures.lisp: The cffi/src/structures․lisp file
sys-utils.lisp: The cffi/src/sys-utils․lisp file
System, cffi: The cffi system

T
translatable-foreign-type: Private classes
Type, c-namespace-name: Private types
Type, enum-key: Private types
Type, foreign-pointer: Public types
types.lisp: The cffi/src/types․lisp file

U
undefined-foreign-type-error: Private conditions
utils.lisp: The cffi/src/utils․lisp file