1e01aa904Sopenharmony_citypedef struct opaque_struct * opaque_struct_pointer_type;
2e01aa904Sopenharmony_ci
3e01aa904Sopenharmony_citypedef struct public_struct_type *public_struct_pointer_type;
4e01aa904Sopenharmony_citypedef struct public_struct_type2 *public_struct_pointer_type2;
5e01aa904Sopenharmony_ci
6e01aa904Sopenharmony_citypedef void (*FuncPointerType0) (public_struct_pointer_type,
7e01aa904Sopenharmony_ci				  public_struct_pointer_type);
8e01aa904Sopenharmony_ci
9e01aa904Sopenharmony_citypedef void (*FuncPointerType1) (public_struct_pointer_type, int);
10e01aa904Sopenharmony_ci
11e01aa904Sopenharmony_citypedef struct public_struct_type2
12e01aa904Sopenharmony_ci{
13e01aa904Sopenharmony_ci  FuncPointerType0 m0;
14e01aa904Sopenharmony_ci  FuncPointerType1 m1;
15e01aa904Sopenharmony_ci} public_struct_type2;
16e01aa904Sopenharmony_ci
17e01aa904Sopenharmony_citypedef struct public_struct_type
18e01aa904Sopenharmony_ci{
19e01aa904Sopenharmony_ci  opaque_struct_pointer_type m0;
20e01aa904Sopenharmony_ci  public_struct_type2 *m1;
21e01aa904Sopenharmony_ci} public_struct_type;
22e01aa904Sopenharmony_ci
23e01aa904Sopenharmony_civoid foo(public_struct_pointer_type p1);
24e01aa904Sopenharmony_ci
25e01aa904Sopenharmony_civoid bar(second_public_struct_pointer_type p1,
26e01aa904Sopenharmony_ci	 second_opaque_struct_pointer_type p2);
27