Next: , Previous: Primitive Types, Up: Types


2.3.2 Structures

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.

— ffi_type:

The ffi_type has 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_type objects. There is one element per field of the struct.