dereference
124
foreign-aref
131
foreign-slot-value
144
foreign-typed-aref
148
aggregate FLI types 12 , 14 - 16
aggregate types 12
align-of
function
73
alloca
function
74
allocate-dynamic-foreign-object
function
74
allocate-foreign-block
function
76
allocate-foreign-object
function
77
allocating memory dynamically 7 , 78
Android 40
C 67
calling from Lisp 2 , 67 , 110
calling from Lisp with a block 67
calling from Lisp 2 , 67 , 110
calling from Lisp with a block 67
declarations 243
specifying 39
:c-array
FLI type
204
cast-integer
function
80
:char
FLI type
206
CLANG 67
foreign-type-error
148
connected-module-pathname
function
80
argument to register-module
171
:const
FLI type
207
convert-from-foreign-string
function
81
convert-integer-to-dynamic-foreign-object
function
83
convert-to-dynamic-foreign-string
function
85
convert-to-foreign-string
function
83
copy-pointer
function
87
decf-pointer
function
88
define-c-enum
macro
89
define-c-struct
macro
91
define-c-typedef
macro
95
define-c-union
macro
96
define-foreign-block-callable-type
macro
97
define-foreign-block-invoker
macro
99
define-foreign-callable
macro
35
,
39
,
100
define-foreign-converter
macro
105
define-foreign-forward-reference-type
macro
108
define-foreign-funcallable
macro
109
define-foreign-function
macro
35
,
110
define-foreign-pointer
macro
26
,
117
define-foreign-type
macro
11
,
118
define-foreign-variable
macro
119
define-opaque-pointer
macro
123
defining FLI functions 6
defining FLI types 4
ambiguity 251
automated generation 243
defsystem
macro
66
dereference
accessor
124
disconnect-module
function
127
exporting functions from 64 - 66
documentation strings 12
:double
FLI type
207
dynamic memory allocation 7
:ef-mb-string
FLI type
208
:ef-wc-string
FLI type
209
Embedded dynamic modules 66
:embedded-module
member option
66
:enum
FLI type
210
:enumeration
FLI type
211
enum-symbols
function
128
enum-symbol-value
function
128
enum-symbol-value-pairs
function
128
enum-values
function
128
enum-value-symbol
function
128
DYLD_LIBRARY_PATH
174
LD_LIBRARY_PATH
174
PATH
173
fill-foreign-object
function
130
:fixnum
FLI type
211
defining 6
FLI type constructors 12
:boolean
203
:byte
204
:c-array
204
:char
206
:const
207
defining 4
defining new types 63
:double
207
:ef-mb-string
208
:ef-wc-string
209
:enum
210
:enumeration
211
:fixnum
211
:float
211
:foreign-array
212
foreign-block-pointer
67
,
213
:function
214
:int
215
:int16
215
:int32
215
:int64
215
:int8
215
:intmax
215
:intptr
215
:lisp-array
216
:lisp-double-float
218
:lisp-float
219
:lisp-simple-1d-array
219
:lisp-single-float
220
:long
220
:long-long
221
lpcstr
59
lpctstr
60
lpcwstr
60
lptstr
60
:one-of
222
:pointer
223
:ptr
223
:ptrdiff-t
224
:reference
224
:reference-pass
226
:reference-return
226
released-foreign-block-pointer
227
:short
227
:signed
228
:size-t
229
:ssize-t
229
str
59
:struct
230
:time-t
231
tstr
60
:uint16
232
:uint32
232
:uint64
232
:uint8
232
:uintmax
232
:uintptr
232
:union
233
:unsigned
234
vector-char16
236
vector-char2
236
vector-char3
236
vector-char32
236
vector-char4
236
vector-char8
236
vector-double2
237
vector-double3
237
vector-double4
237
vector-double8
237
vector-float16
237
vector-float2
237
vector-float3
237
vector-float4
237
vector-float8
237
vector-int16
236
vector-int2
236
vector-int3
236
vector-int4
236
vector-int8
236
vector-long1
237
vector-long2
237
vector-long3
237
vector-long4
237
vector-long8
237
vector-short16
236
vector-short2
236
vector-short3
236
vector-short32
236
vector-short4
236
vector-short8
236
vector-uchar16
236
vector-uchar2
236
vector-uchar3
236
vector-uchar32
236
vector-uchar4
236
vector-uchar8
236
vector-uint16
237
vector-uint2
237
vector-uint3
237
vector-uint4
237
vector-uint8
237
vector-ulong1
237
vector-ulong2
237
vector-ulong3
237
vector-ulong4
237
vector-ulong8
237
vector-ushort16
236
vector-ushort2
236
vector-ushort3
236
vector-ushort32
236
vector-ushort4
236
vector-ushort8
236
:void
240
:volatile
240
:wchar-t
241
:wrapper
241
wstr
60
:float
FLI type
211
Foreign blocks 66
defining 35
passing and returning strings 38
Foreign Parser 243
foreign-aref
accessor
131
:foreign-array
FLI type
212
foreign-array-dimensions
function
133
foreign-array-element-type
function
133
foreign-array-pointer
function
134
foreign-block-copy
function
135
foreign-block-pointer
FLI type
67
,
213
foreign-block-release
function
136
foreign-function-pointer
function
137
foreign-parser package symbols
process-foreign-file
248
foreign-slot-names
function
139
foreign-slot-offset
function
140
foreign-slot-pointer
function
141
foreign-slot-type
function
143
foreign-slot-value
accessor
144
foreign-typed-aref
accessor
148
foreign-type-equal-p
function
147
foreign-type-error
condition
148
free
function
150
free-foreign-block
function
150
free-foreign-object
function
151
:function
FLI type
214
align-of
73
alloca
74
allocate-dynamic-foreign-object
74
allocate-foreign-block
76
allocate-foreign-object
77
cast-integer
80
connected-module-pathname
80
convert-from-foreign-string
81
convert-integer-to-dynamic-foreign-object
83
convert-to-dynamic-foreign-string
85
convert-to-foreign-string
83
copy-pointer
87
decf-pointer
88
disconnect-module
127
enum-symbols
128
enum-symbol-value
128
enum-symbol-value-pairs
128
enum-values
128
enum-value-symbol
128
fill-foreign-object
130
foreign-array-dimensions
133
foreign-array-element-type
133
foreign-array-pointer
134
foreign-block-copy
135
foreign-block-release
136
foreign-function-pointer
137
foreign-slot-names
139
foreign-slot-offset
140
foreign-slot-pointer
141
foreign-slot-type
143
foreign-type-equal-p
147
free
150
free-foreign-block
150
free-foreign-object
151
get-embedded-module
152
get-embedded-module-data
153
incf-pointer
155
install-embedded-module
156
make-integer-from-bytes
158
make-pointer
159
malloc
161
module-unresolved-symbols
161
null-pointer-p
162
pointer-address
163
pointer-element-size
164
pointer-element-type
165
pointer-element-type-p
166
pointer-eq
167
pointerp
169
pointer-pointer-type
168
print-collected-template-info
170
print-foreign-modules
170
process-foreign-file
248
register-module
171
replace-foreign-array
177
replace-foreign-object
181
set-locale
182
set-locale-encodings
183
setup-embedded-module
184
size-of
185
start-collecting-template-info
186
GCD 67
gdi+ 70
gdiplus 70
get-embedded-module
function
152
get-embedded-module-data
function
153
Grand Central Dispatch 67
graphics functions 70
incf-pointer
function
155
install-embedded-module
function
156
:int
FLI type
215
:int16
FLI type
215
:int32
FLI type
215
int32
type
149
:int64
FLI type
215
int64
type
149
:int8
FLI type
215
:intmax
FLI type
215
:intptr
FLI type
215
iOS 40
languages supported 1
argument to register-module
171
Linux 40
calling into C with a block 67
calling into C++ with a block 67
:lisp-array
FLI type
216
:lisp-double-float
FLI type
218
:lisp-float
FLI type
219
:lisp-simple-1d-array
FLI type
219
:lisp-single-float
FLI type
220
*locale-external-formats*
variable
157
:long
FLI type
220
:long-long
FLI type
221
lpcstr
FLI type
59
lpctstr
FLI type
60
lpcwstr
FLI type
60
lptstr
FLI type
60
define-c-enum
89
define-c-struct
91
define-c-typedef
95
define-c-union
96
define-foreign-block-callable-type
97
define-foreign-block-invoker
99
define-foreign-callable
35
,
39
,
100
define-foreign-converter
105
define-foreign-forward-reference-type
108
define-foreign-funcallable
109
define-foreign-function
35
,
110
define-foreign-pointer
26
,
117
define-foreign-variable
119
define-opaque-pointer
123
defsystem
66
with-coerced-pointer
188
with-dynamic-foreign-objects
189
with-dynamic-lisp-array-pointer
193
with-foreign-block
194
with-foreign-slots
196
with-foreign-string
197
with-integer-bytes
199
with-local-foreign-block
200
make-integer-from-bytes
function
158
make-pointer
function
159
malloc 27
malloc
function
161
module-unresolved-symbols
function
161
64-bit integer FLI types supported in 32-bit LispWorks 103 , 126 , 146
:allow-sign-mismatch
argument to replace-foreign-array
177
foreign-function-pointer
function
137
hard-float and soft-float calling conventions for ARM platforms 40
released-foreign-block-pointer
FLI type descriptor
227
Store a foreign module in a Lisp image with defsystem
member option :embedded
-module
66
ARM 64-bit platform 42
fastcall calling convention for 32-bit x86 platforms 42
iOS calling convention for ARM 32-bit platforms 40
specifying variadic foreign functions 115
*use-sse2-for-ext-vector-type*
variable
186
:variadic-num-of-fixed
keyword
115
vector types 16
null pointers 28
*null-pointer*
variable
162
null-pointer-p
function
162
:one-of
FLI type
222
:pointer
FLI type
223
pointer-address
function
163
pointer-element-size
function
164
pointer-element-type
function
165
pointer-element-type-p
function
166
pointer-eq
function
167
pointerp
function
169
pointer-pointer-type
function
168
coercing 29
copying 27
creating 25
dynamically allocating 31
null pointers 28
*preprocessor*
variable
244
,
247
*preprocessor-format-string*
variable
247
*preprocessor-include-path*
variable
247
,
248
*preprocessor-options*
variable
248
print-collected-template-info
function
170
print-foreign-modules
function
170
process-foreign-file
function
248
:ptr
FLI type
223
:ptrdiff-t
FLI type
224
:reference
FLI type
224
:reference-pass
FLI type
226
:reference-return
FLI type
226
register-module
function
171
released-foreign-block-pointer
FLI type
227
replace-foreign-array
function
177
replace-foreign-object
function
181
foreign blocks 71
miscellaneous examples 72
set-locale
function
182
set-locale-encodings
function
183
setup-embedded-module
function
184
:short
FLI type
227
:signed
FLI type
228
size-of
function
185
:size-t
FLI type
229
:ssize-t
FLI type
229
start-collecting-template-info
function
186
str
FLI type
59
modifying in C 50
returning from C 49
:struct
FLI type
230
:uint16
FLI type
232
:uint32
FLI type
232
:uint64
FLI type
232
:uint8
FLI type
232
:uintmax
FLI type
232
:uintptr
FLI type
232
:union
FLI type
233
:unsigned
FLI type
234
*use-sse2-for-ext-vector-type*
variable
186
*locale-external-formats*
157
*null-pointer*
162
*preprocessor-format-string*
247
*preprocessor-include-path*
247
,
248
*preprocessor-options*
248
*use-sse2-for-ext-vector-type*
186
vector-char16
FLI type
236
vector-char2
FLI type
236
vector-char3
FLI type
236
vector-char32
FLI type
236
vector-char4
FLI type
236
vector-char8
FLI type
236
vector-double2
FLI type
237
vector-double3
FLI type
237
vector-double4
FLI type
237
vector-double8
FLI type
237
vector-float16
FLI type
237
vector-float2
FLI type
237
vector-float3
FLI type
237
vector-float4
FLI type
237
vector-float8
FLI type
237
vector-int16
FLI type
236
vector-int2
FLI type
236
vector-int3
FLI type
236
vector-int4
FLI type
236
vector-int8
FLI type
236
vector-long1
FLI type
237
vector-long2
FLI type
237
vector-long3
FLI type
237
vector-long4
FLI type
237
vector-long8
FLI type
237
vector-short16
FLI type
236
vector-short2
FLI type
236
vector-short3
FLI type
236
vector-short32
FLI type
236
vector-short4
FLI type
236
vector-short8
FLI type
236
vector-uchar16
FLI type
236
vector-uchar2
FLI type
236
vector-uchar3
FLI type
236
vector-uchar32
FLI type
236
vector-uchar4
FLI type
236
vector-uchar8
FLI type
236
vector-uint16
FLI type
237
vector-uint2
FLI type
237
vector-uint3
FLI type
237
vector-uint4
FLI type
237
vector-uint8
FLI type
237
vector-ulong1
FLI type
237
vector-ulong2
FLI type
237
vector-ulong3
FLI type
237
vector-ulong4
FLI type
237
vector-ulong8
FLI type
237
vector-ushort16
FLI type
236
vector-ushort2
FLI type
236
vector-ushort3
FLI type
236
vector-ushort32
FLI type
236
vector-ushort4
FLI type
236
vector-ushort8
FLI type
236
:void
FLI type
240
:volatile
FLI type
240
:wchar-t
FLI type
241
with-coerced-pointer
macro
188
with-dynamic-foreign-objects
macro
189
with-dynamic-lisp-array-pointer
macro
193
with-foreign-block
macro
194
with-foreign-slots
macro
196
with-foreign-string
macro
197
with-integer-bytes
macro
199
with-local-foreign-block
macro
200
:wrapper
FLI type
241
wstr
FLI type
60
LispWorks Foreign Language Interface User Guide and Reference Manual - 29 Sep 2017