It's not too difficult to use the built in functionality. Simply scanning for function prototypes should be sufficient. It's not like FFIs in CL where you have to map each type to a newLISP type.Quote from: "Jeff"
Typically, if you need regular access to data in a composite C type, you would define a function that accepts a pointer to the struct and use unpack or get-foo functions to pull the data out that you need.
The biggest issue is when you need to allocae memory for the data structure ahead of time, and there is a lot of functions which expect the caller to do the memory allocation and pass in addresses to be written to.