


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