All Manuals > LispWorks Foreign Language Interface User Guide and Reference Manual

NextPrevTopContents

Index

A

aggregate FLI types 12 , 14 - 16

aggregate types 12

align-of function 67

alloca function 68

allocate-dynamic-foreign-object function 68

allocate-foreign-block function 70

allocate-foreign-object function 71

allocating memory dynamically 7 , 72

Android 35

B

Block object 61

:boolean FLI type 193

:byte FLI type 194

C

C 61

calling from Lisp 2 , 61 , 103

calling from Lisp with a block 61

calling into Lisp 32 , 93

C++

calling from Lisp 2 , 61 , 103

calling from Lisp with a block 61

calling into Lisp 32 , 93

C code

declarations 229

calling convention

hard-float 35

soft-float 35

:c-array FLI type 194

cast-integer function 74

:char FLI type 196

CLANG 61

conditions

foreign-type-error 141

connected-module-pathname function 74

:connection-style

argument to register-module 164

:const FLI type 197

convert-from-foreign-string function 75

convert-integer-to-dynamic-foreign-object function 77

convert-to-dynamic-foreign-string function 79

convert-to-foreign-string function 77

copy-pointer function 81

D

decf-pointer function 82

define-c-enum macro 83

define-c-struct macro 85

define-c-typedef macro 88

define-c-union macro 89

define-foreign-block-callable-type macro 91

define-foreign-block-invoker macro 92

define-foreign-callable macro 31 , 35 , 93

define-foreign-converter macro 98

define-foreign-forward-reference-type macro 102

define-foreign-funcallable macro 102

define-foreign-function macro 31 , 103

define-foreign-pointer macro 22 , 109

define-foreign-type macro 11 , 110

define-foreign-variable macro 112

define-opaque-pointer macro 116

defining FLI functions 6

defining FLI types 4

defining forms

ambiguity 237

automated generation 229

defsystem macro 60

dereference function 117

disconnect-module function 120

DLLs

exporting functions from 58 - 60

documentation strings 12

:double FLI type 197

dynamic memory allocation 7

E

:ef-mb-string FLI type 198

:ef-wc-string FLI type 199

Embedded dynamic modules 60

:embedded-module member option 60

:enum FLI type 200

:enumeration FLI type 201

enum-symbols function 121

enum-symbol-value function 121

enum-symbol-value-pairs function 121

enum-values function 121

enum-value-symbol function 121

environment variable

DYLD_LIBRARY_PATH 166

LD_LIBRARY_PATH 166

PATH 166

F

fill-foreign-object function 123

:fixnum FLI type 201

FLI functions

defining 6

FLI templates 162 , 178

FLI type constructors 12

FLI types

aggregate 12 , 14 - 16

:boolean 193

:byte 194

:c-array 194

:char 196

:const 197

defining 4

defining new types 57

:double 197

:ef-mb-string 198

:ef-wc-string 199

:enum 200

:enumeration 201

:fixnum 201

:float 201

:foreign-array 202

foreign-block-pointer 61 , 203

:function 204

immediate 12 - 13

:int 205

:int16 205

:int32 205

:int64 205

:int8 205

:intmax 205

:intptr 205

:lisp-array 206

:lisp-double-float 208

:lisp-float 209

:lisp-simple-1d-array 209

:lisp-single-float 210

:long 210

:long-long 211

lpcstr 53

lpctstr 54

lpcwstr 54

lptstr 54

:one-of 212

:pointer 213

:ptr 213

:ptrdiff-t 214

:reference 214

:reference-pass 216

:reference-return 216

released-foreign-block-pointer 217

:short 217

:signed 218

:size-t 219

:ssize-t 219

str 53

:struct 220

:time-t 221

tstr 54

:uint16 222

:uint32 222

:uint64 222

:uint8 222

:uintmax 222

:uintptr 222

:union 223

:unsigned 224

:void 225

:volatile 226

:wchar-t 226

:wrapper 226

wstr 54

:float FLI type 201

Foreign blocks 60

foreign callable

defining 31

passing and returning strings 34

Foreign Parser 229

foreign-aref function 124

:foreign-array FLI type 202

foreign-array-dimensions function 125

foreign-array-element-type function 126

foreign-array-pointer function 127

foreign-block-copy function 128

foreign-block-pointer FLI type 61 , 203

foreign-block-release function 129

foreign-function-pointer function 130

foreign-parser package symbols

process-foreign-file 234

foreign-slot-names function 132

foreign-slot-offset function 133

foreign-slot-pointer function 134

foreign-slot-type function 135

foreign-slot-value function 137

foreign-typed-aref function 141

foreign-type-equal-p function 140

foreign-type-error condition 141

free function 142

free-foreign-block function 143

free-foreign-object function 144

:function FLI type 204

functions

align-of 67

alloca 68

allocate-dynamic-foreign-object 68

allocate-foreign-block 70

allocate-foreign-object 71

cast-integer 74

connected-module-pathname 74

convert-from-foreign-string 75

convert-integer-to-dynamic-foreign-object 77

convert-to-dynamic-foreign-string 79

convert-to-foreign-string 77

copy-pointer 81

decf-pointer 82

dereference 117

disconnect-module 120

enum-symbols 121

enum-symbol-value 121

enum-symbol-value-pairs 121

enum-values 121

enum-value-symbol 121

fill-foreign-object 123

foreign-aref 124

foreign-array-dimensions 125

foreign-array-element-type 126

foreign-array-pointer 127

foreign-block-copy 128

foreign-block-release 129

foreign-function-pointer 130

foreign-slot-names 132

foreign-slot-offset 133

foreign-slot-pointer 134

foreign-slot-type 135

foreign-slot-value 137

foreign-typed-aref 141

foreign-type-equal-p 140

free 142

free-foreign-block 143

free-foreign-object 144

get-embedded-module 145

get-embedded-module-data 146

incf-pointer 148

install-embedded-module 149

make-integer-from-bytes 151

make-pointer 151

malloc 153

module-unresolved-symbols 154

null-pointer-p 155

pointer-address 156

pointer-element-size 157

pointer-element-type 157

pointer-element-type-p 159

pointer-eq 159

pointerp 161

pointer-pointer-type 160

print-collected-template-info 162

print-foreign-modules 163

process-foreign-file 234

register-module 163

replace-foreign-array 169

replace-foreign-object 173

set-locale 174

set-locale-encodings 175

setup-embedded-module 176

size-of 177

start-collecting-template-info 178

G

GCD 61

gdi+ 64

gdiplus 64

get-embedded-module function 145

get-embedded-module-data function 146

Grand Central Dispatch 61

graphics functions 64

I

immediate FLI types 12 - 13

incf-pointer function 148

install-embedded-module function 149

:int FLI type 205

:int16 FLI type 205

:int32 FLI type 205

int32 type 142

:int64 FLI type 205

int64 type 142

:int8 FLI type 205

:intmax FLI type 205

:intptr FLI type 205

iOS 35

L

languages supported 1

:lifetime

argument to register-module 164

Linux 35

Lisp

calling from C 32 , 93

calling from C++ 32 , 93

calling into C 2 , 61 , 103

calling into C++ 2 , 61 , 103

calling into C with a block 61

calling into C++ with a block 61

:lisp-array FLI type 206

:lisp-double-float FLI type 208

:lisp-float FLI type 209

:lisp-simple-1d-array FLI type 209

:lisp-single-float FLI type 210

*locale-external-formats* variable 150

:long FLI type 210

:long-long FLI type 211

lpcstr FLI type 53

lpctstr FLI type 54

lpcwstr FLI type 54

lptstr FLI type 54

M

macros

define-c-enum 83

define-c-struct 85

define-c-typedef 88

define-c-union 89

define-foreign-block-callable-type 91

define-foreign-block-invoker 92

define-foreign-callable 31 , 35 , 93

define-foreign-converter 98

define-foreign-forward-reference-type 102

define-foreign-funcallable 102

define-foreign-function 31 , 103

define-foreign-pointer 22 , 109

define-foreign-type 11 , 110

define-foreign-variable 112

define-opaque-pointer 116

defsystem 60

with-coerced-pointer 178

with-dynamic-foreign-objects 180

with-dynamic-lisp-array-pointer 184

with-foreign-block 185

with-foreign-slots 187

with-foreign-string 188

with-integer-bytes 190

with-local-foreign-block 191

make-integer-from-bytes function 151

make-pointer function 151

malloc 23

malloc function 153

memory allocation 7 , 23

module-unresolved-symbols function 154

N

New in LispWorks 7.0

64-bit integer FLI types supported in 32-bit LispWorks 97 , 119 , 138

:allow-sign-mismatch argument to replace-foreign-array 170

foreign-function-pointer function 130

hard-float and soft-float calling conventions for ARM platforms 35

released-foreign-block-pointer FLI type descriptor 217

Store a foreign module in a Lisp image with defsystem member option :embedded-module 60

null pointers 24

*null-pointer* variable 154

null-pointer-p function 155

O

:one-of FLI type 212

P

:pointer FLI type 213

pointer-address function 156

pointer-element-size function 157

pointer-element-type function 157

pointer-element-type-p function 159

pointer-eq function 159

pointerp function 161

pointer-pointer-type function 160

pointers 21 - 30

coercing 25

copying 23

creating 21

dereferencing 24 - 27

dynamically allocating 27

null pointers 24

test functions for 23 - 24

*preprocessor* variable 230 , 233

*preprocessor-format-string* variable 233

*preprocessor-include-path* variable 233 , 234

*preprocessor-options* variable 234

print-collected-template-info function 162

print-foreign-modules function 163

process-foreign-file function 234

:ptr FLI type 213

:ptrdiff-t FLI type 214

R

:reference FLI type 214

:reference-pass FLI type 216

:reference-return FLI type 216

register-module function 163

released-foreign-block-pointer FLI type 217

replace-foreign-array function 169

replace-foreign-object function 173

S

Self-contained examples

foreign blocks 65

miscellaneous examples 66

set-locale function 174

set-locale-encodings function 175

setup-embedded-module function 176

:short FLI type 217

:signed FLI type 218

size-of function 177

:size-t FLI type 219

:ssize-t FLI type 219

start-collecting-template-info function 178

str FLI type 53

strings

modifying in C 41

passing to C 39 , 43

returning from C 45

:struct FLI type 220

T

templates, FLI 162 , 178

:time-t FLI type 221

tstr FLI type 54

type constructors 12

types

int32 142

int64 142

U

:uint16 FLI type 222

:uint32 FLI type 222

:uint64 FLI type 222

:uint8 FLI type 222

:uintmax FLI type 222

:uintptr FLI type 222

:union FLI type 223

:unsigned FLI type 224

V

variables

*locale-external-formats* 150

*null-pointer* 154

*preprocessor* 230 , 233

*preprocessor-format-string* 233

*preprocessor-include-path* 233 , 234

*preprocessor-options* 234

:void FLI type 225

:volatile FLI type 226

W

:wchar-t FLI type 226

with-coerced-pointer macro 178

with-dynamic-foreign-objects macro 180

with-dynamic-lisp-array-pointer macro 184

with-foreign-block macro 185

with-foreign-slots macro 187

with-foreign-string macro 188

with-integer-bytes macro 190

with-local-foreign-block macro 191

:wrapper FLI type 226

wstr FLI type 54


LispWorks Foreign Language Interface User Guide and Reference Manual - 16 Feb 2015

NextPrevTopContents