1 #if defined(__cplusplus) 2 extern "C" { 3 #endif 4 5 struct Cinner { 6 int c; 7 }; 8 9 struct opaque_a; 10 struct opaque_b; 11 12 struct Cstruct { 13 int a; 14 struct Cinner *b; 15 #ifdef OPAQUE_STRUCT_A 16 struct opaque_a *op; 17 #elif OPAQUE_STRUCT_B 18 struct opaque_b *op; 19 #endif 20 }; 21 22 void CFunction(struct Cstruct **cstruct); 23 24 #if defined(__cplusplus) 25 } 26 #endif 27