Although ‘libffi’ has no special support for unions or
bit-fields, it is perfectly happy passing structures back and forth.
You must first describe the structure to ‘libffi’ by creating a
new ffi_type object for it.
The
ffi_typehas the following members:
size_t size- This is set by
libffi; you should initialize it to zero.unsigned short alignment- This is set by
libffi; you should initialize it to zero.unsigned short type- For a structure, this should be set to
FFI_TYPE_STRUCT.ffi_type **elements- This is a ‘NULL’-terminated array of pointers to
ffi_typeobjects. There is one element per field of the struct.