FunctionPackage: ffToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1. Minimal update since 8.1 release.
8.0 version

fslot-address-typed

Arguments: type allocation object &rest slot-names

The arguments to this function are like those of fslot-value-typed, but this function returns a Lisp integer that represents the address of the slot instead of the value in the slot.

The value of the allocation argument can be a keyword specifying the storage class (the values are described below) or nil, in which case the allocation will be computed from the object argument (but see the warning about allocation values which are not recommended).

If the allocation of the object is :foreign-static-gc or :c, then the integer address may be used to access the interior of the object. If allocation is not nil and all the slot names are constants, then this function will be open coded by the compiler if the optimize-fslot-value-switch is true.

Other accepted values for allocation are :foreign, :lisp, and :lisp-short, but specifying those values is not recommended because the returned address may already be or may become invalid since the referenced object may be moved by the garbage collector after the address has been computed (and even before it is returned by this function), making the address meaningless. If the returned integer is used as an address in a memory reference, it is possible to reference non-existent memory, or to damage a random unrelated location in memory.

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


Copyright (c) 1998-2009, Franz Inc. Oakland, CA., USA. All rights reserved.
Documentation for Allegro CL version 8.1. This page was not revised from the 8.0 page.
Created 2009.7.29.

ToCDocOverviewCGDocRelNotesFAQIndexPermutedIndex
Allegro CL version 8.1
Unrevised from 8.0 to 8.1. Minimal update since 8.1 release.
8.0 version