fslot-value-typed

$Revision: 5.0.2.2 $

Function

Package: FOREIGN-FUNCTIONS

Arguments: (type allocation object &rest slot-names)

Access a slot from an object. The type must be

The allocation must be one of :foreign, :foreign-static-gc, :lisp,:c or nil. If the allocation is nil then the allocation type will be computed from the object argument. Note that an allocation type of :foreign or :foreign-static-gc will yield identical results, so you can specify either.

The slot-names are symbols or integers. Symbols name the slots to access. Integers are used to specify array indices.

The symbol naming a slot can either be the exact symbol used when the type was defined, or it can be a keyword package symbol with the same symbol-name as the one used to define the slot.

The value accessed must be a primitive value. It cannot be a structure or a whole array.

The special slot-name asterisk '*' is used to denote dereferencing a pointer. If a slot has the type (* foo) then you use the * slot name to indicate that you want to follow the pointer to the foo-typed object.   If the object is an array, then the asterisk will access the first element of the array (the element at index zero).

When the allocation argument is given (i.e. not nil), and the slot names are all constants, then this function will be open coded by the compiler if the comp:optimize-fslot-value-switch is true.

See ftype.htm for information on foreign types in Allegro CL. See foreign_functions.htm for general information on foreign functions in Allegro CL.

The general documentation description is in introduction.htm. The index in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.