LispWorks Foreign Language Interface User Guide and Reference Manual

NextPrevTopContents

Index

A

align-of function 51

alloca function 52

allocate-dynamic-foreign-object function 52

allocate-foreign-object function 54

allocating memory dynamically 7

B

:boolean type 155

:byte type 156

C

C

calling from Lisp 2 , 81

calling into Lisp 45 , 71

C code

declarations 187

C++

calling from Lisp 2 , 81

calling into Lisp 45 , 71

:c-array type 156

cast-integer function 56

:char type 157

conditions

foreign-type-error 113

connected-module-pathname function 56

:const type 158

convert-from-foreign-string function 57

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

convert-to-dynamic-foreign-string function 61

convert-to-foreign-string function 59

copy-pointer function 62

D

decf-pointer function 63

define-c-enum macro 64

define-c-struct macro 66

define-c-typedef macro 69

define-c-union macro 70

define-foreign-callable macro 44 , 47 , 71

define-foreign-converter macro 76

define-foreign-forward-reference-type macro 79

define-foreign-funcallable macro 80

define-foreign-function macro 44 , 81

define-foreign-pointer macro 20 , 87

define-foreign-type macro 9 , 88

define-foreign-variable macro 89

define-opaque-pointer macro 93

defining FLI functions 5

defining FLI types 4

defining forms

ambiguity 196

automated generation 187

dereference function 94

disconnect-module function 97

DLLs

exporting functions from 48 - 50

documentation strings 10

:double type 158

dynamic memory allocation 7

E

:ef-mb-string type 159

:ef-wc-string type 160

:enum type 161

:enumeration type 162

enum-symbols function 98

enum-symbol-value function 98

enum-symbol-value-pairs function 98

enum-values function 98

enum-value-symbol function 98

F

fill-foreign-object function 100

:fixnum type 162

FLI functions

defining 5

FLI templates 129 , 143

FLI types

defining 4

:float type 162

foreign callable

defining 44

passing and returning strings 46

Foreign Parser 187

foreign-aref function 100

:foreign-array type 163

foreign-array-dimensions function 102

foreign-array-element-type function 103

foreign-array-pointer function 104

foreign-parser package symbols

process-foreign-file 194

foreign-slot-names function 105

foreign-slot-offset function 106

foreign-slot-pointer function 107

foreign-slot-type function 108

foreign-slot-value function 110

foreign-typed-aref function 114

foreign-type-equal-p function 112

foreign-type-error condition 113

free function 115

free-foreign-object function 115

:function type 163

functions

align-of 51

alloca 52

allocate-dynamic-foreign-object 52

allocate-foreign-object 54

cast-integer 56

connected-module-pathname 56

convert-from-foreign-string 57

convert-integer-to-dynamic-foreign-object 58

convert-to-dynamic-foreign-string 61

convert-to-foreign-string 59

copy-pointer 62

decf-pointer 63

dereference 94

disconnect-module 97

enum-symbols 98

enum-symbol-value 98

enum-symbol-value-pairs 98

enum-values 98

enum-value-symbol 98

fill-foreign-object 100

foreign-aref 100

foreign-array-dimensions 102

foreign-array-element-type 103

foreign-array-pointer 104

foreign-slot-names 105

foreign-slot-offset 106

foreign-slot-pointer 107

foreign-slot-type 108

foreign-slot-value 110

foreign-typed-aref 114

foreign-type-equal-p 112

free 115

free-foreign-object 115

incf-pointer 116

make-integer-from-bytes 118

make-pointer 119

malloc 120

module-unresolved-symbols 121

null-pointer-p 122

pointer-address 123

pointer-element-size 124

pointer-element-type 125

pointer-element-type-p 126

pointer-eq 126

pointerp 128

pointer-pointer-type 127

print-collected-template-info 129

print-foreign-modules 130

process-foreign-file 194

register-module 130

replace-foreign-array 136

replace-foreign-object 139

set-locale 140

set-locale-encodings 141

size-of 142

start-collecting-template-info 143

G

gdi+ 50

gdiplus 50

graphics functions 50

I

incf-pointer function 116

:int type 164

:int16 type 165

:int32 type 165

:int64 type 165

:int8 type 165

:intmax type 165

:intptr type 165

L

languages supported 1

Lisp

calling from C 45 , 71

calling from C++ 45 , 71

calling into C 2 , 81

calling into C++ 2 , 81

:lisp-array type 166

:lisp-double-float type 168

:lisp-float type 168

:lisp-simple-1d-array type 169

:lisp-single-float type 169

*locale-external-formats* variable 117

:long type 170

:long-long type 170

lpctstr type 40

lptstr type 40

M

macros

define-c-enum 64

define-c-struct 66

define-c-typedef 69

define-c-union 70

define-foreign-callable 44 , 47 , 71

define-foreign-converter 76

define-foreign-forward-reference-type 79

define-foreign-funcallable 80

define-foreign-function 44 , 81

define-foreign-pointer 20 , 87

define-foreign-type 9 , 88

define-foreign-variable 89

define-opaque-pointer 93

process-foreign-code 192

with-coerced-pointer 143

with-dynamic-foreign-objects 145

with-dynamic-lisp-array-pointer 148

with-foreign-slots 150

with-foreign-string 152

with-integer-bytes 154

make-integer-from-bytes function 118

make-pointer function 119

malloc 21

malloc function 120

memory allocation 7 , 21

module-unresolved-symbols function 121

N

New in LispWorks 6.0

:ptrdiff-t 173

:size-t 177

:ssize-t 178

:time-t 180

convert-integer-to-dynamic-foreign-object 58

enum-symbols 98

enum-symbol-value-pairs 98

enum-values 98

make-integer-from-bytes 118

new-function 154

with-integer-bytes 154

null pointers 21

*null-pointer* variable 122

null-pointer-p function 122

O

:one-of type 171

P

:pointer type 172

pointer-address function 123

pointer-element-size function 124

pointer-element-type function 125

pointer-element-type-p function 126

pointer-eq function 126

pointerp function 128

pointer-pointer-type function 127

pointers 19 - 26

coercing 23

copying 21

creating 19

dereferencing 22 - 24

dynamically allocating 25

null pointers 21

test functions for 21 - 22

*preprocessor* variable 188 , 191

*preprocessor-format-string* variable 191

*preprocessor-include-path* variable 191 , 192

*preprocessor-options* variable 192

print-collected-template-info function 129

print-foreign-modules function 130

process-foreign-code macro 192

process-foreign-file function 194

:ptr type 172

:ptrdiff-t type 173

R

:reference type 173

:reference-pass type 175

:reference-return type 175

register-module function 130

replace-foreign-array function 136

replace-foreign-object function 139

S

set-locale function 140

set-locale-encodings function 141

:short type 176

:signed type 176

size-of function 142

:size-t type 177

:ssize-t type 178

start-collecting-template-info function 143

strings

modifying in C 29

passing to C 27 , 31

returning from C 33

:struct type 178

T

templates, FLI 129 , 143

:time-t type 180

tstr type 40

type constructors 10

types

:boolean 155

:byte 156

:c-array 156

:char 157

:const 158

:double 158

:ef-mb-string 159

:ef-wc-string 160

:enum 161

:enumeration 162

:fixnum 162

:float 162

:foreign-array 163

:function 163

:int 164

:int16 165

:int32 165

:int64 165

:int8 165

:intmax 165

:intptr 165

:lisp-array 166

:lisp-double-float 168

:lisp-float 168

:lisp-simple-1d-array 169

:lisp-single-float 169

:long 170

:long-long 170

:one-of 171

:pointer 172

:ptr 172

:ptrdiff-t 173

:reference 173

:reference-pass 175

:reference-return 175

:short 176

:signed 176

:size-t 177

:ssize-t 178

:struct 178

:time-t 180

:uint16 180

:uint32 180

:uint64 180

:uint8 180

:uintmax 180

:uintptr 180

:union 181

:unsigned 182

:void 183

:volatile 184

:wchar-t 184

:wrapper 185

aggregate 10 , 12 - 14

defining new types 44

immediate 10 - 11

lpctstr 40

lptstr 40

tstr 40

U

:uint16 type 180

:uint32 type 180

:uint64 type 180

:uint8 type 180

:uintmax type 180

:uintptr type 180

:union type 181

:unsigned type 182

V

variables

*locale-external-formats* 117

*null-pointer* 122

*preprocessor* 188 , 191

*preprocessor-format-string* 191

*preprocessor-include-path* 191 , 192

*preprocessor-options* 192

:void type 183

:volatile type 184

W

:wchar-t type 184

with-coerced-pointer macro 143

with-dynamic-foreign-objects macro 145

with-dynamic-lisp-array-pointer macro 148

with-foreign-slots macro 150

with-foreign-string macro 152

with-integer-bytes macro 154

:wrapper type 185


LispWorks Foreign Language Interface User Guide and Reference Manual - 21 Dec 2009

NextPrevTopContents