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