type must evaluate to a supported element type for foreign arrays. In 32-bit LispWorks these types are
(signed-byte 8) and
sys:int32. In 64-bit LispWorks type can also be
(signed-byte 64) and
In the case the memory is allocated by the operating system the best approach is to reference it from Lisp by a pointer type, to avoid making a :c-array foreign type dynamically.
index should be a valid byte index for array. If index is declared to be of type
fixnum then the compiler will optimize it slightly better. Some parts of the FLI (for example, allocate-foreign-object) assume
fixnum sizes so it is best to use fixnums only.
LispWorks Foreign Language Interface User Guide and Reference Manual - 29 Sep 2017