The function foreign-slot-offset
returns the offset, in bytes, of a slot in an 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))
(setq dir (fli:allocate-foreign-object :type 'COMPASS))
(fli:foreign-slot-offset dir 'north)