#include #include #include #include typedef struct Opaque Opaque; typedef struct Option_____Opaque Option_____Opaque; typedef struct { const Opaque *x; Opaque *y; void (*z)(void); void (**zz)(void); } Foo; typedef union { const Opaque *x; Opaque *y; void (*z)(void); void (**zz)(void); } Bar; #ifdef __cplusplus extern "C" { #endif // __cplusplus void root(const Opaque *a, Opaque *b, Foo c, Bar d, Option_____Opaque *e, void (*f)(const Opaque*)); #ifdef __cplusplus } // extern "C" #endif // __cplusplus