Used structs, opaque pointers and enums