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 whose type is to be returned. The value is interpreted as described for foreign-slot-value.
In the following example two new types,
WEST are defined. Then a new structure,
COMPASS, is defined, with two slots. An instance of the structure is created, and
foreign-slot-type is used to get the type of the first slot of the structure.
(fli:define-c-typedef EAST (:boolean :int))
(fli:define-c-typedef WEST :long)
(fli:foreign-slot-type 'COMPASS 'x)
(setq dir (fli:allocate-foreign-object :type 'COMPASS))
(fli:foreign-slot-type dir 'x)
LispWorks Foreign Language Interface User Guide and Reference Manual - 29 Sep 2017