C library - gpio_lib. Higher layer allocates objects, usually ObjC or c++. gpio_type is target specific, so each MCU has different definition for gpio_type.
void gpio_write(gpio_type *object, int32_t pin);
I want to write abstraction of Gpio object n Rust, using C library calls. Therefore need something like opaque pointer type, which will be known at the run time (currently just set to 4 bytes). This targets embedded devices, therefore no std, no libc. I don't want to redefine gpio_type for each target in rust (copy the C declaration for each target), looking for something to just allocate memory for the object.
pub enum gpio_type {}