The affinity Reference Manual

This is the affinity Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 21:20:33 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 affinity

A higher layer of abstraction over CFFI.

Author

Hector Galbis Sanchis <>

License

MIT

Dependencies
  • cffi (system).
  • clith (system).
  • alexandria (system).
  • named-readtables (system).
  • allioli (system).
  • expanders (system).
Source

affinity.asd.

Child Components

3 Modules

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


3.1 affinity/src

Dependency

src/readtable.lisp (file).

Source

affinity.asd.

Parent Component

affinity (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 affinity/affinity.asd

Source

affinity.asd.

Parent Component

affinity (system).

ASDF Systems

affinity.


4.1.2 affinity/src/package.lisp

Source

affinity.asd.

Parent Component

affinity (system).

Packages

affinity.


4.1.3 affinity/src/readtable.lisp

Dependency

src/package.lisp (file).

Source

affinity.asd.

Parent Component

affinity (system).


4.1.4 affinity/src/types.lisp

Source

affinity.asd.

Parent Component

src (module).

Public Interface

defctype (macro).

Internals

4.1.5 affinity/src/slots.lisp

Dependency

types.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Internals

4.1.6 affinity/src/primitive.lisp

Dependency

slots.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Internals

define-basic-primitive-types (macro).


4.1.7 affinity/src/functions.lisp

Dependency

primitive.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.8 affinity/src/pointer.lisp

Dependency

functions.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.9 affinity/src/structure.lisp

Dependency

pointer.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.10 affinity/src/string.lisp

Dependency

structure.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.11 affinity/src/list-array.lisp

Dependency

string.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Public Interface
Internals

4.1.12 affinity/src/list-ptr.lisp

Dependency

list-array.lisp (file).

Source

affinity.asd.

Parent Component

src (module).

Internals

5 Packages

Packages are listed by definition order.


5.1 affinity

Source

src/package.lisp.

Nickname

affi

Use List
  • alexandria.
  • clith.
  • common-lisp.
  • editor-hints.named-readtables.
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 Macros

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

affinity.

Source

functions.lisp.

Macro: defcfun ((name foreign-name) return-type (&rest arg-slots) &optional docstring)
Package

affinity.

Source

functions.lisp.

Macro: defcstruct (class-name &body object-slots)
Package

affinity.

Source

structure.lisp.

Macro: defctype (name (&rest args) &body body)
Package

affinity.

Source

types.lisp.

Macro: define-c-function ((name foreign-name) return-form (&rest args) &body body)
Package

affinity.

Source

functions.lisp.

Macro: define-callback-definer (name return-type (&rest args))
Package

affinity.

Source

functions.lisp.


6.1.2 Ordinary functions

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.


6.1.3 Standalone methods

Method: compute-effective-slot-definition ((class affinity-class) name direct-slots)
Package

sb-mop.

Source

structure.lisp.

Method: compute-slots ((class affinity-class))
Package

sb-mop.

Source

structure.lisp.

Method: direct-slot-definition-class ((class affinity-class) &rest initargs)
Package

sb-mop.

Source

structure.lisp.

Method: effective-slot-definition-class ((class affinity-class) &rest initargs)
Package

sb-mop.

Source

structure.lisp.

Method: free-translated-object (pointer (obj-type pointer-type) param)
Package

cffi.

Source

pointer.lisp.

Method: free-translated-object (pointer (obj-type list-array) param)
Package

cffi.

Source

list-array.lisp.

Method: slot-missing (class (obj pointer) slot-name (op (eql setf)) &optional new-value)
Source

pointer.lisp.

Method: slot-missing (class (obj pointer) slot-name (op (eql slot-value)) &optional new-value)
Source

pointer.lisp.

Method: (setf slot-value-using-class) ((class affinity-class) object (slot affinity-effective-slot-definition))
Package

sb-mop.

Source

structure.lisp.

Method: slot-value-using-class ((class affinity-class) object (slot affinity-effective-slot-definition))
Package

sb-mop.

Source

structure.lisp.

Method: translate-from-foreign (ptr (obj-type foreign-function-type))
Package

cffi.

Source

functions.lisp.

Method: translate-from-foreign (pointer (obj-type pointer-type))
Package

cffi.

Source

pointer.lisp.

Method: translate-from-foreign (pointer (obj-type list-array))
Package

cffi.

Source

list-array.lisp.

Method: translate-from-foreign (pointer (obj-type string-ptr-type))
Package

cffi.

Source

string.lisp.

Method: translate-into-foreign-memory ((str string) (obj-type string-array-type) pointer)
Package

cffi.

Source

string.lisp.

Method: translate-into-foreign-memory ((object list) (obj-type list-array) pointer)
Package

cffi.

Source

list-array.lisp.

Method: translate-to-foreign ((object pointer) (obj-type pointer-type))
Package

cffi.

Source

pointer.lisp.

Method: translate-to-foreign ((object function-obj) (obj-type foreign-function-type))
Package

cffi.

Source

functions.lisp.

Method: translate-to-foreign ((object list) (obj-type list-array))
Package

cffi.

Source

list-array.lisp.

Method: translate-to-foreign ((str string) (obj-type string-ptr-type))
Package

cffi.

Source

string.lisp.

Method: validate-superclass ((class affinity-class) (super-class standard-class))
Package

sb-mop.

Source

structure.lisp.


6.2 Internals


6.2.1 Special variables

Special Variable: *options*
Package

affinity.

Source

slots.lisp.


6.2.2 Macros

Macro: define-affi-type (name (&rest args) &body body)

Defines an user type.

This macro must return two objects:
1. The primitive type this type is based on. 2. An object that represents the type.

Package

affinity.

Source

types.lisp.

Macro: define-affi-type% (name (&rest args) &body body)

Defines an user type.

This macro must return two objects:
1. The primitive type this type is based on. 2. An object that represents the type.

Package

affinity.

Source

types.lisp.

Macro: define-basic-primitive-types (&rest types)
Package

affinity.

Source

primitive.lisp.

Macro: define-primitive-affi-type (name (&rest args) &body body)
Package

affinity.

Source

types.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.


6.2.3 Ordinary functions

Function: affi-to-cffi (type)
Package

affinity.

Source

types.lisp.

Function: affi-to-primitive-affi (type)
Package

affinity.

Source

types.lisp.

Function: affi-type-alias-p (type)
Package

affinity.

Source

types.lisp.

Function: affi-type-name (type)
Package

affinity.

Source

types.lisp.

Function: affi-type-p (type)
Package

affinity.

Source

types.lisp.

Function: affi-type-to-string (type)
Package

affinity.

Source

types.lisp.

Function: canonicalize-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: cast-pointer (type ptr)

Change the type of the pointer.

Package

affinity.

Source

pointer.lisp.

Function: check-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: check-primitive-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: check-slot-syntax (slot)
Package

affinity.

Source

slots.lisp.

Function: check-user-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: cstruct-from-cffi-memory (struct-name ptr)
Package

affinity.

Source

structure.lisp.

Function: cstruct-into-cffi-memory (cstruct ptr)
Package

affinity.

Source

structure.lisp.

Function: defcallback-bindings (arg-names public-slots)
Package

affinity.

Source

functions.lisp.

Function: defcallback-callback (name function-name return-type foreign-slots public-slots)
Package

affinity.

Source

functions.lisp.

Function: defcallback-function-form (name args body)
Package

affinity.

Source

functions.lisp.

Function: foreign-free (ptr)
Package

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

Function: (setf foreign-slot-value) (ptr slot-name)
Package

affinity.

Source

pointer.lisp.

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

affinity.

Source

string.lisp.

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

affinity.

Source

pointer.lisp.

Function: function-ref-to-pointer (fref)

Turns a function reference to a function pointer.

Package

affinity.

Source

functions.lisp.

Function: inc-pointer (ptr offset)
Package

affinity.

Source

pointer.lisp.

Function: make-accessors (class-name slots)
Package

affinity.

Source

structure.lisp.

Function: make-bindings (foreign-slots)
Package

affinity.

Source

functions.lisp.

Function: make-defclass (class-name slots)
Package

affinity.

Source

structure.lisp.

Function: make-defcstruct (class-name class-type slots)
Package

affinity.

Source

structure.lisp.

Function: make-foreign-funcall (function-ref foreign-slots return-slot)
Package

affinity.

Source

functions.lisp.

Function: make-foreign-slot-binding (var ptr-sym type-sym)
Package

affinity.

Source

pointer.lisp.

Function: make-function-form (function-ref return-form args body)

Returns a list with the lambda list and body of a foreign function call.

Package

affinity.

Source

functions.lisp.

Function: make-object-accessor-context (object-sym foreign-public-names body)
Package

affinity.

Source

structure.lisp.

Function: make-pointer (address ctype)
Package

affinity.

Source

pointer.lisp.

Function: make-pointer-accessor-context (ptr-sym foreign-public-names body)
Package

affinity.

Source

structure.lisp.

Function: make-result-form (return-slot foreign-funcall body)
Package

affinity.

Source

functions.lisp.

Function: make-setters (arg-names public-slots)
Package

affinity.

Source

functions.lisp.

Function: make-translators (class-name class-type)
Package

affinity.

Source

structure.lisp.

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

affinity.

Source

pointer.lisp.

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

affinity.

Source

pointer.lisp.

Function: (setf mem-aref) (ptr &optional index)
Package

affinity.

Source

pointer.lisp.

Function: null-pointer ()
Package

affinity.

Source

pointer.lisp.

Function: null-pointer-p (ptr)
Package

affinity.

Source

pointer.lisp.

Function: parse-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: parse-primitive-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: parse-slot (slot)
Package

affinity.

Source

slots.lisp.

Function: parse-user-affi-type (type)
Package

affinity.

Source

types.lisp.

Function: pointer-address (ptr)
Package

affinity.

Source

pointer.lisp.

Function: pointer-eq (ptr1 ptr2)
Package

affinity.

Source

pointer.lisp.

Function: pointerp (ptr)
Package

affinity.

Source

pointer.lisp.

Function: primitive-affi-to-cffi (type)
Package

affinity.

Source

types.lisp.

Function: primitive-affi-type-p (type)
Package

affinity.

Source

types.lisp.

Function: public-slot-name-p (class slot-name)
Package

affinity.

Source

structure.lisp.

Function: slot-expand-getter (slot)
Package

affinity.

Source

slots.lisp.

Function: slot-expand-setter (new-value slot)
Package

affinity.

Source

slots.lisp.

Function: slot-foreign-p (slot)
Package

affinity.

Source

slots.lisp.

Function: slot-public-p (slot)
Package

affinity.

Source

slots.lisp.

Function: user-affi-to-cffi (type)
Package

affinity.

Source

types.lisp.

Function: user-affi-to-primitive-affi (type)
Package

affinity.

Source

types.lisp.

Function: user-affi-type-p (type)
Package

affinity.

Source

types.lisp.


6.2.4 Generic functions

Generic Function: expand-getter (slot-name obj-type)

Expands to a getter expression.

Package

affinity.

Source

types.lisp.

Methods
Method: expand-getter (slot-name (type list-ptr))
Source

list-ptr.lisp.

Method: expand-getter (slot-name (obj-type function-lens-type))
Source

functions.lisp.

Method: expand-getter (slot-name (obj-type primitive-affi-type))
Method: expand-getter (slot-name obj-type)
Generic Function: expand-setter (new-value slot-name obj-type)

Expands to a setter expression.

Package

affinity.

Source

types.lisp.

Methods
Method: expand-setter (new-value slot-name (type list-ptr))
Source

list-ptr.lisp.

Method: expand-setter (new-value slot-name (obj-type function-lens-type))
Source

functions.lisp.

Method: expand-setter (new-value slot-name (obj-type primitive-affi-type))
Method: expand-setter (new-value slot-name obj-type)
Generic Function: get-structure-value (ptr name slot)
Package

affinity.

Source

pointer.lisp.

Generic Function: (setf get-structure-value) (ptr name slot)
Package

affinity.

Source

pointer.lisp.

Generic Function: object-foreign-slot-value (object slot)

Returns the value of a slot.

Package

affinity.

Source

structure.lisp.

Methods
Method: object-foreign-slot-value (object slot)
Generic Function: (setf object-foreign-slot-value) (object slot)

Sets the value of a slot.

Package

affinity.

Source

structure.lisp.

Methods
Method: (setf object-foreign-slot-value) (object slot)
Generic Function: own-pointer (owner ptr)
Package

affinity.

Methods
Method: own-pointer ((owner pointer) ptr)
Source

pointer.lisp.

Generic Function: owns-pointer-p (owner ptr)
Package

affinity.

Methods
Method: owns-pointer-p ((owner pointer) ptr)
Source

pointer.lisp.

Generic Function: pointer-foreign-slot-value (ptr slot class-name)

Same as foreign-slot-value but for pointers. The dispatch is done by class-name.

Package

affinity.

Source

structure.lisp.

Methods
Method: pointer-foreign-slot-value (ptr slot class-name)
Generic Function: (setf pointer-foreign-slot-value) (ptr slot class-name)

Same as (setf foreign-slot-value) but for pointers. The dispatch is done by class-name.

Package

affinity.

Source

structure.lisp.

Methods
Method: (setf pointer-foreign-slot-value) (ptr slot class-name)
Generic Function: release-pointer (owner ptr)
Package

affinity.

Methods
Method: release-pointer ((owner pointer) ptr)
Source

pointer.lisp.

Generic Reader: slot-affi-type (object)
Package

affinity.

Methods
Reader Method: slot-affi-type ((slot slot))

automatically generated reader method

Source

slots.lisp.

Target Slot

affi-type.

Generic Reader: slot-cffi-type (object)
Package

affinity.

Methods
Reader Method: slot-cffi-type ((slot slot))

automatically generated reader method

Source

slots.lisp.

Target Slot

cffi-type.

Generic Reader: slot-init (object)
Package

affinity.

Methods
Reader Method: slot-init ((slot slot))

automatically generated reader method

Source

slots.lisp.

Target Slot

init.

Generic Reader: slot-name (object)
Package

affinity.

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

automatically generated reader method

Source

slots.lisp.

Target Slot

name.

Generic Reader: slot-private (object)
Package

affinity.

Methods
Reader Method: slot-private ((slot slot))

automatically generated reader method

Source

slots.lisp.

Target Slot

private.


6.2.5 Standalone methods

Method: translate-aggregate-to-foreign (pointer (str string) (obj-type string-array-type))
Package

cffi.

Source

string.lisp.

Method: translate-aggregate-to-foreign (pointer (object list) (obj-type list-array))
Package

cffi.

Source

list-array.lisp.


6.2.6 Classes

Class: affinity-class
Package

affinity.

Source

structure.lisp.

Direct superclasses

standard-class.

Direct methods
Class: affinity-direct-slot-definition
Package

affinity.

Source

structure.lisp.

Direct superclasses
Class: affinity-effective-slot-definition
Package

affinity.

Source

structure.lisp.

Direct superclasses
Direct methods
Class: affinity-slot-definition
Package

affinity.

Source

structure.lisp.

Direct subclasses
Direct slots
Slot: private
Initargs

:private

Class: foreign-function-type
Package

affinity.

Source

functions.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Class: function-lens-type
Package

affinity.

Source

functions.lisp.

Direct methods
Direct slots
Slot: ret-type
Initargs

:ret-type

Slot: arg-slots
Initargs

:arg-slots

Class: function-obj
Package

affinity.

Source

functions.lisp.

Direct superclasses

funcallable-standard-object.

Direct methods

translate-to-foreign.

Direct slots
Slot: function-ref
Initargs

:function-ref

Class: list-array
Package

affinity.

Source

list-array.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct slots
Slot: type
Package

common-lisp.

Initargs

:type

Slot: count
Package

common-lisp.

Initargs

:count

Class: list-ptr
Package

affinity.

Source

list-ptr.lisp.

Direct methods
Direct slots
Slot: size
Initargs

:size

Class: owner
Package

affinity.

Direct subclasses

pointer.

Class: pointer
Package

affinity.

Source

pointer.lisp.

Direct superclasses

owner.

Direct methods
Direct slots
Slot: cpointer
Initargs

:cpointer

Slot: ctype
Initargs

:ctype

Slot: subpointers
Initform

(affinity::make-pool)

Slot: private-access-symbol
Initform

(make-symbol "private-access")

Class: pointer-type
Package

affinity.

Source

pointer.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct slots
Slot: ctype
Initargs

:ctype

Class: primitive-affi-type
Package

affinity.

Source

types.lisp.

Direct methods
Direct slots
Slot: cffi-type
Initargs

:cffi-type

Class: slot
Package

affinity.

Source

slots.lisp.

Direct methods
Direct slots
Slot: name
Initargs

:name

Readers

slot-name.

Writers

This slot is read-only.

Slot: affi-type
Initargs

:affi-type

Readers

slot-affi-type.

Writers

This slot is read-only.

Slot: cffi-type
Initargs

:cffi-type

Readers

slot-cffi-type.

Writers

This slot is read-only.

Slot: init
Initargs

:init

Readers

slot-init.

Writers

This slot is read-only.

Slot: private
Initargs

:private

Readers

slot-private.

Writers

This slot is read-only.

Class: string-array-type
Package

affinity.

Source

string.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct slots
Slot: size
Initargs

:size

Slot: encoding
Initargs

:encoding

Class: string-ptr-type
Package

affinity.

Source

string.lisp.

Direct superclasses

enhanced-foreign-type.

Direct methods
Direct slots
Slot: encoding
Initargs

:encoding

Class: user-affi-type
Package

affinity.

Source

types.lisp.

Direct slots
Slot: primitive-affi-type
Initargs

:primitive-affi-type

Slot: object-type
Initargs

:object-type


Appendix A Indexes


A.1 Concepts


A.2 Functions

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

(
(setf foreign-slot-value): Private ordinary functions
(setf get-structure-value): Private generic functions
(setf mem-aref): Private ordinary functions
(setf mem-ref): Public ordinary functions
(setf object-foreign-slot-value): Private generic functions
(setf object-foreign-slot-value): Private generic functions
(setf pointer-foreign-slot-value): Private generic functions
(setf pointer-foreign-slot-value): Private generic functions
(setf slot-value-using-class): Public standalone methods

A
affi-to-cffi: Private ordinary functions
affi-to-primitive-affi: Private ordinary functions
affi-type-alias-p: Private ordinary functions
affi-type-name: Private ordinary functions
affi-type-p: Private ordinary functions
affi-type-to-string: Private ordinary functions

C
canonicalize-affi-type: Private ordinary functions
cast-pointer: Private ordinary functions
check-affi-type: Private ordinary functions
check-primitive-affi-type: Private ordinary functions
check-slot-syntax: Private ordinary functions
check-user-affi-type: Private ordinary functions
compute-effective-slot-definition: Public standalone methods
compute-slots: Public standalone methods
cstruct-from-cffi-memory: Private ordinary functions
cstruct-into-cffi-memory: Private ordinary functions

D
defcallback: Public macros
defcallback-bindings: Private ordinary functions
defcallback-callback: Private ordinary functions
defcallback-function-form: Private ordinary functions
defcfun: Public macros
defcstruct: Public macros
defctype: Public macros
define-affi-type: Private macros
define-affi-type%: Private macros
define-basic-primitive-types: Private macros
define-c-function: Public macros
define-callback-definer: Public macros
define-primitive-affi-type: Private macros
direct-slot-definition-class: Public standalone methods

E
effective-slot-definition-class: Public standalone methods
expand-getter: Private generic functions
expand-getter: Private generic functions
expand-getter: Private generic functions
expand-getter: Private generic functions
expand-getter: Private generic functions
expand-setter: Private generic functions
expand-setter: Private generic functions
expand-setter: Private generic functions
expand-setter: Private generic functions
expand-setter: Private generic functions

F
foreign-alloc: Public ordinary functions
foreign-free: Private ordinary functions
foreign-slot-pointer: Private ordinary functions
foreign-slot-value: Private ordinary functions
foreign-string-alloc: Private ordinary functions
foreign-symbol-pointer: Private ordinary functions
free-translated-object: Public standalone methods
free-translated-object: Public standalone methods
Function, (setf foreign-slot-value): Private ordinary functions
Function, (setf mem-aref): Private ordinary functions
Function, (setf mem-ref): Public ordinary functions
Function, affi-to-cffi: Private ordinary functions
Function, affi-to-primitive-affi: Private ordinary functions
Function, affi-type-alias-p: Private ordinary functions
Function, affi-type-name: Private ordinary functions
Function, affi-type-p: Private ordinary functions
Function, affi-type-to-string: Private ordinary functions
Function, canonicalize-affi-type: Private ordinary functions
Function, cast-pointer: Private ordinary functions
Function, check-affi-type: Private ordinary functions
Function, check-primitive-affi-type: Private ordinary functions
Function, check-slot-syntax: Private ordinary functions
Function, check-user-affi-type: Private ordinary functions
Function, cstruct-from-cffi-memory: Private ordinary functions
Function, cstruct-into-cffi-memory: Private ordinary functions
Function, defcallback-bindings: Private ordinary functions
Function, defcallback-callback: Private ordinary functions
Function, defcallback-function-form: Private ordinary functions
Function, foreign-alloc: Public ordinary functions
Function, foreign-free: Private ordinary functions
Function, foreign-slot-pointer: Private ordinary functions
Function, foreign-slot-value: Private ordinary functions
Function, foreign-string-alloc: Private ordinary functions
Function, foreign-symbol-pointer: Private ordinary functions
Function, function-ref-to-pointer: Private ordinary functions
Function, inc-pointer: Private ordinary functions
Function, make-accessors: Private ordinary functions
Function, make-bindings: Private ordinary functions
Function, make-defclass: Private ordinary functions
Function, make-defcstruct: Private ordinary functions
Function, make-foreign-funcall: Private ordinary functions
Function, make-foreign-slot-binding: Private ordinary functions
Function, make-function-form: Private ordinary functions
Function, make-object-accessor-context: Private ordinary functions
Function, make-pointer: Private ordinary functions
Function, make-pointer-accessor-context: Private ordinary functions
Function, make-result-form: Private ordinary functions
Function, make-setters: Private ordinary functions
Function, make-translators: Private ordinary functions
Function, mem-aptr: Private ordinary functions
Function, mem-aref: Private ordinary functions
Function, mem-ref: Public ordinary functions
Function, null-pointer: Private ordinary functions
Function, null-pointer-p: Private ordinary functions
Function, parse-affi-type: Private ordinary functions
Function, parse-primitive-affi-type: Private ordinary functions
Function, parse-slot: Private ordinary functions
Function, parse-user-affi-type: Private ordinary functions
Function, pointer-address: Private ordinary functions
Function, pointer-eq: Private ordinary functions
Function, pointerp: Private ordinary functions
Function, primitive-affi-to-cffi: Private ordinary functions
Function, primitive-affi-type-p: Private ordinary functions
Function, public-slot-name-p: Private ordinary functions
Function, slot-expand-getter: Private ordinary functions
Function, slot-expand-setter: Private ordinary functions
Function, slot-foreign-p: Private ordinary functions
Function, slot-public-p: Private ordinary functions
Function, user-affi-to-cffi: Private ordinary functions
Function, user-affi-to-primitive-affi: Private ordinary functions
Function, user-affi-type-p: Private ordinary functions
function-ref-to-pointer: Private ordinary functions

G
Generic Function, (setf get-structure-value): Private generic functions
Generic Function, (setf object-foreign-slot-value): Private generic functions
Generic Function, (setf pointer-foreign-slot-value): Private generic functions
Generic Function, expand-getter: Private generic functions
Generic Function, expand-setter: Private generic functions
Generic Function, get-structure-value: Private generic functions
Generic Function, object-foreign-slot-value: Private generic functions
Generic Function, own-pointer: Private generic functions
Generic Function, owns-pointer-p: Private generic functions
Generic Function, pointer-foreign-slot-value: Private generic functions
Generic Function, release-pointer: Private generic functions
Generic Function, slot-affi-type: Private generic functions
Generic Function, slot-cffi-type: Private generic functions
Generic Function, slot-init: Private generic functions
Generic Function, slot-name: Private generic functions
Generic Function, slot-private: Private generic functions
get-structure-value: Private generic functions

I
inc-pointer: Private ordinary functions
incf-pointer: Private macros

M
Macro, defcallback: Public macros
Macro, defcfun: Public macros
Macro, defcstruct: Public macros
Macro, defctype: Public macros
Macro, define-affi-type: Private macros
Macro, define-affi-type%: Private macros
Macro, define-basic-primitive-types: Private macros
Macro, define-c-function: Public macros
Macro, define-callback-definer: Public macros
Macro, define-primitive-affi-type: Private macros
Macro, incf-pointer: Private macros
Macro, with-foreign-object: Private macros
Macro, with-foreign-pointer: Private macros
Macro, with-foreign-slots: Private macros
make-accessors: Private ordinary functions
make-bindings: Private ordinary functions
make-defclass: Private ordinary functions
make-defcstruct: Private ordinary functions
make-foreign-funcall: Private ordinary functions
make-foreign-slot-binding: Private ordinary functions
make-function-form: Private ordinary functions
make-object-accessor-context: Private ordinary functions
make-pointer: Private ordinary functions
make-pointer-accessor-context: Private ordinary functions
make-result-form: Private ordinary functions
make-setters: Private ordinary functions
make-translators: Private ordinary functions
mem-aptr: Private ordinary functions
mem-aref: Private ordinary functions
mem-ref: Public ordinary functions
Method, (setf object-foreign-slot-value): Private generic functions
Method, (setf pointer-foreign-slot-value): Private generic functions
Method, (setf slot-value-using-class): Public standalone methods
Method, compute-effective-slot-definition: Public standalone methods
Method, compute-slots: Public standalone methods
Method, direct-slot-definition-class: Public standalone methods
Method, effective-slot-definition-class: Public standalone methods
Method, expand-getter: Private generic functions
Method, expand-getter: Private generic functions
Method, expand-getter: Private generic functions
Method, expand-getter: Private generic functions
Method, expand-setter: Private generic functions
Method, expand-setter: Private generic functions
Method, expand-setter: Private generic functions
Method, expand-setter: Private generic functions
Method, free-translated-object: Public standalone methods
Method, free-translated-object: Public standalone methods
Method, object-foreign-slot-value: Private generic functions
Method, own-pointer: Private generic functions
Method, owns-pointer-p: Private generic functions
Method, pointer-foreign-slot-value: Private generic functions
Method, release-pointer: Private generic functions
Method, slot-affi-type: Private generic functions
Method, slot-cffi-type: Private generic functions
Method, slot-init: Private generic functions
Method, slot-missing: Public standalone methods
Method, slot-missing: Public standalone methods
Method, slot-name: Private generic functions
Method, slot-private: Private generic functions
Method, slot-value-using-class: Public standalone methods
Method, translate-aggregate-to-foreign: Private standalone methods
Method, translate-aggregate-to-foreign: Private standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-from-foreign: Public standalone methods
Method, translate-into-foreign-memory: Public standalone methods
Method, translate-into-foreign-memory: Public standalone methods
Method, translate-to-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods
Method, translate-to-foreign: Public standalone methods
Method, validate-superclass: Public standalone methods

N
null-pointer: Private ordinary functions
null-pointer-p: Private ordinary functions

O
object-foreign-slot-value: Private generic functions
object-foreign-slot-value: Private generic functions
own-pointer: Private generic functions
own-pointer: Private generic functions
owns-pointer-p: Private generic functions
owns-pointer-p: Private generic functions

P
parse-affi-type: Private ordinary functions
parse-primitive-affi-type: Private ordinary functions
parse-slot: Private ordinary functions
parse-user-affi-type: Private ordinary functions
pointer-address: Private ordinary functions
pointer-eq: Private ordinary functions
pointer-foreign-slot-value: Private generic functions
pointer-foreign-slot-value: Private generic functions
pointerp: Private ordinary functions
primitive-affi-to-cffi: Private ordinary functions
primitive-affi-type-p: Private ordinary functions
public-slot-name-p: Private ordinary functions

R
release-pointer: Private generic functions
release-pointer: Private generic functions

S
slot-affi-type: Private generic functions
slot-affi-type: Private generic functions
slot-cffi-type: Private generic functions
slot-cffi-type: Private generic functions
slot-expand-getter: Private ordinary functions
slot-expand-setter: Private ordinary functions
slot-foreign-p: Private ordinary functions
slot-init: Private generic functions
slot-init: Private generic functions
slot-missing: Public standalone methods
slot-missing: Public standalone methods
slot-name: Private generic functions
slot-name: Private generic functions
slot-private: Private generic functions
slot-private: Private generic functions
slot-public-p: Private ordinary functions
slot-value-using-class: Public standalone methods

T
translate-aggregate-to-foreign: Private standalone methods
translate-aggregate-to-foreign: Private standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-from-foreign: Public standalone methods
translate-into-foreign-memory: Public standalone methods
translate-into-foreign-memory: Public standalone methods
translate-to-foreign: Public standalone methods
translate-to-foreign: Public standalone methods
translate-to-foreign: Public standalone methods
translate-to-foreign: Public standalone methods

U
user-affi-to-cffi: Private ordinary functions
user-affi-to-primitive-affi: Private ordinary functions
user-affi-type-p: Private ordinary functions

V
validate-superclass: Public standalone methods

W
with-foreign-object: Private macros
with-foreign-pointer: Private macros
with-foreign-slots: Private macros


A.3 Variables

Jump to:   *  
A   C   E   F   I   N   O   P   R   S   T  
Index Entry  Section

*
*options*: Private special variables

A
affi-type: Private classes
arg-slots: Private classes

C
cffi-type: Private classes
cffi-type: Private classes
count: Private classes
cpointer: Private classes
ctype: Private classes
ctype: Private classes

E
encoding: Private classes
encoding: Private classes

F
function-ref: Private classes

I
init: Private classes

N
name: Private classes

O
object-type: Private classes

P
primitive-affi-type: Private classes
private: Private classes
private: Private classes
private-access-symbol: Private classes

R
ret-type: Private classes

S
size: Private classes
size: Private classes
Slot, affi-type: Private classes
Slot, arg-slots: Private classes
Slot, cffi-type: Private classes
Slot, cffi-type: Private classes
Slot, count: Private classes
Slot, cpointer: Private classes
Slot, ctype: Private classes
Slot, ctype: Private classes
Slot, encoding: Private classes
Slot, encoding: Private classes
Slot, function-ref: Private classes
Slot, init: Private classes
Slot, name: Private classes
Slot, object-type: Private classes
Slot, primitive-affi-type: Private classes
Slot, private: Private classes
Slot, private: Private classes
Slot, private-access-symbol: Private classes
Slot, ret-type: Private classes
Slot, size: Private classes
Slot, size: Private classes
Slot, subpointers: Private classes
Slot, type: Private classes
Special Variable, *options*: Private special variables
subpointers: Private classes

T
type: Private classes


A.4 Data types

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

A
affinity: The affinity system
affinity: The affinity package
affinity-class: Private classes
affinity-direct-slot-definition: Private classes
affinity-effective-slot-definition: Private classes
affinity-slot-definition: Private classes
affinity.asd: The affinity/affinity․asd file

C
Class, affinity-class: Private classes
Class, affinity-direct-slot-definition: Private classes
Class, affinity-effective-slot-definition: Private classes
Class, affinity-slot-definition: Private classes
Class, foreign-function-type: Private classes
Class, function-lens-type: Private classes
Class, function-obj: Private classes
Class, list-array: Private classes
Class, list-ptr: Private classes
Class, owner: Private classes
Class, pointer: Private classes
Class, pointer-type: Private classes
Class, primitive-affi-type: Private classes
Class, slot: Private classes
Class, string-array-type: Private classes
Class, string-ptr-type: Private classes
Class, user-affi-type: Private classes

F
File, affinity.asd: The affinity/affinity․asd file
File, functions.lisp: The affinity/src/functions․lisp file
File, list-array.lisp: The affinity/src/list-array․lisp file
File, list-ptr.lisp: The affinity/src/list-ptr․lisp file
File, pointer.lisp: The affinity/src/pointer․lisp file
File, primitive.lisp: The affinity/src/primitive․lisp file
File, slots.lisp: The affinity/src/slots․lisp file
File, src/package.lisp: The affinity/src/package․lisp file
File, src/readtable.lisp: The affinity/src/readtable․lisp file
File, string.lisp: The affinity/src/string․lisp file
File, structure.lisp: The affinity/src/structure․lisp file
File, types.lisp: The affinity/src/types․lisp file
foreign-function-type: Private classes
function-lens-type: Private classes
function-obj: Private classes
functions.lisp: The affinity/src/functions․lisp file

L
list-array: Private classes
list-array.lisp: The affinity/src/list-array․lisp file
list-ptr: Private classes
list-ptr.lisp: The affinity/src/list-ptr․lisp file

M
Module, src: The affinity/src module

O
owner: Private classes

P
Package, affinity: The affinity package
pointer: Private classes
pointer-type: Private classes
pointer.lisp: The affinity/src/pointer․lisp file
primitive-affi-type: Private classes
primitive.lisp: The affinity/src/primitive․lisp file

S
slot: Private classes
slots.lisp: The affinity/src/slots․lisp file
src: The affinity/src module
src/package.lisp: The affinity/src/package․lisp file
src/readtable.lisp: The affinity/src/readtable․lisp file
string-array-type: Private classes
string-ptr-type: Private classes
string.lisp: The affinity/src/string․lisp file
structure.lisp: The affinity/src/structure․lisp file
System, affinity: The affinity system

T
types.lisp: The affinity/src/types․lisp file

U
user-affi-type: Private classes