A foreign object, a pointer to a foreign object, or a foreign structure or union type.
A symbol or a list of symbols identifying the slot to be accessed, as described for foreign-slot-value.
The function foreign-slot-offset
returns the offset, in bytes, of a slot in a FLI object. The offset is the number of bytes from the beginning of the object to the start of the slot. For example, the offset of the first slot in any FLI object is 0.
The following example defines a structure, creates an instance of the structure pointed to by dir
, and then finds the offset of the third slot in the object.
(fli:define-c-struct COMPASS
(east :int)
(west (:c-array :char 20))
(north :int)
(south :int))
(fli:foreign-slot-offset 'COMPASS 'north)
(setq dir (fli:allocate-foreign-object :type 'COMPASS))
(fli:foreign-slot-offset dir 'north)
LispWorks Foreign Language Interface User Guide and Reference Manual - 16 Feb 2015