Next Previous Up Top Contents Index

5 Function and Macro Reference

define-foreign-type

Macro

Summary

Defines a new FLI type specifier.
Package

fli

Signature

define-foreign-type type-name lambda-list &body forms => type-name

Arguments

type-name

A symbol naming the new FLI type.

lambda-list

A lambda list which is the argument list of the new FLI type.

forms

On ore more Lisp forms which provide a definition of the new type.

Values

type-name

The name of the new FLI type.

Description

The macrodefine-foreign-type defines a new FLI type called type-name. The forms in the definition can be used to determine the behavior of the type, depending on the arguments supplied to the lambda-list.
Example

In the following example an integer array type specifier is defined. Note that the type takes a list as its argument, and uses this to determine the size of the array.
(fli:define-foreign-type :int-array (dimensions)
  '(:c-array :int ,@dimensions))

(setq number-array (fli:allocate-foreign-object :type '(:int-array (2 2)))
In the next example a boolean type, called:bool, with the same size as an integer is defined.
(fli:define-foreign-type :bool () '(:boolean :int))

(fli:size-of :bool)

See Also

define-c-typedef

LispWorks Foreign Language Interface - 12 Oct 1998

Next Previous Up Top Contents Index

Generated with Harlequin WebMaker