| from libc.stdint cimport int8_t, int16_t, int32_t, int64_t, intptr_t |
| from libc.stdint cimport uint8_t, uint16_t, uint32_t, uint64_t, uintptr_t |
| cdef extern from *: |
| ctypedef bint bool |
| ctypedef struct va_list |
| |
| cdef extern from *: |
| |
| ctypedef struct Foo: |
| bool a; |
| int32_t b; |
| |
| cdef enum: |
| Baz, |
| Bazz, |
| FooNamed, |
| FooParen, |
| ctypedef uint8_t Bar_Tag; |
| |
| ctypedef struct Bazz_Body: |
| Bar_Tag tag; |
| Foo named; |
| |
| ctypedef struct FooNamed_Body: |
| Bar_Tag tag; |
| int32_t different; |
| uint32_t fields; |
| |
| ctypedef struct FooParen_Body: |
| Bar_Tag tag; |
| int32_t _0; |
| Foo _1; |
| |
| ctypedef union Bar: |
| Bar_Tag tag; |
| Bazz_Body bazz; |
| FooNamed_Body foo_named; |
| FooParen_Body foo_paren; |
| |
| Foo root(Bar aBar); |