68 lines
1.1 KiB
Cython
68 lines
1.1 KiB
Cython
#if 0
|
|
DEF PLATFORM_UNIX = 0
|
|
DEF PLATFORM_WIN = 0
|
|
DEF X11 = 0
|
|
DEF M_32 = 0
|
|
#endif
|
|
|
|
|
|
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 *:
|
|
|
|
IF (PLATFORM_WIN or M_32):
|
|
cdef enum:
|
|
A,
|
|
B,
|
|
C,
|
|
ctypedef uint32_t BarType;
|
|
|
|
IF (PLATFORM_UNIX and X11):
|
|
cdef enum:
|
|
A,
|
|
B,
|
|
C,
|
|
ctypedef uint32_t FooType;
|
|
|
|
IF (PLATFORM_UNIX and X11):
|
|
ctypedef struct FooHandle:
|
|
FooType ty;
|
|
int32_t x;
|
|
float y;
|
|
|
|
cdef enum:
|
|
C1,
|
|
C2,
|
|
C3,
|
|
C5,
|
|
ctypedef uint8_t C_Tag;
|
|
|
|
ctypedef struct C5_Body:
|
|
C_Tag tag;
|
|
int32_t int_;
|
|
|
|
ctypedef union C:
|
|
C_Tag tag;
|
|
C5_Body c5;
|
|
|
|
IF (PLATFORM_WIN or M_32):
|
|
ctypedef struct BarHandle:
|
|
BarType ty;
|
|
int32_t x;
|
|
float y;
|
|
|
|
ctypedef struct ConditionalField:
|
|
int32_t field;
|
|
|
|
IF (PLATFORM_UNIX and X11):
|
|
void root(FooHandle a, C c);
|
|
|
|
IF (PLATFORM_WIN or M_32):
|
|
void root(BarHandle a, C c);
|
|
|
|
void cond(ConditionalField a);
|