NextPrevUpTopContentsIndex

allocate-foreign-object

Function
Summary

Allocates memory for an instance of a foreign object.

Package

fli

Signature

allocate-foreign-object &key type pointer-type initial-element initial-contents nelems => pointer

Arguments

type

An FLI type specifying the type of the object to be allocated. If type is supplied, pointer-type must not be supplied.

pointer-type

A FLI pointer type specifying the type of the pointer object to be allocated. If pointer-type is supplied, type must not be supplied.

initial-element

A keyword setting the initial value of every element in the newly allocated object to initial-element .

initial-contents

A list of forms which initialize the contents of each element in the newly allocated object.

nelems

An integer specifying how many copies of the object should be allocated. The default value is 1.

Values

pointer

A pointer to the specified type or pointer-type .

Description

The function allocate-foreign-object allocates memory for a new instance of an object of type type or an instance of a pointer object of type pointer-type . Memory allocated in this manner must be explicitly freed using free-foreign-object once the object is no longer needed.

Example

In the following example a structure is defined and an instance with a specified initial value of 10 is created with memory allocated using allocate-foreign-object . The dereference function is then used to get the value that point points to.

(fli:define-c-typedef LONG :long)
(setq point (fli:allocate-foreign-object
             :type 'LONG
             :initial-element 10))
(fli:dereference point)
See also

allocate-dynamic-foreign-object
free-foreign-object


LispWorks Foreign Language Interface User Guide and Reference Manual - 27 Mar 2005

NextPrevUpTopContentsIndex