cdef extern from "test.h": ctypedef enum totallyDifferentEnum: DIFFERENT_ENUM_1 ctypedef enum enumType: ENUM_VALUE_1 = 1 ENUM_VALUE_2 = 10 ctypedef enumType someAlias ctypedef struct aliasDataStruct: someAlias type char * data ctypedef struct dataStruct: enumType type char * data ctypedef dataStruct* dataType ctypedef aliasDataStruct *aliasType cdef void compare(dataType de): if de.type == ENUM_VALUE_1: return cdef void compare2(aliasType de): if de.type == ENUM_VALUE_2: return cdef void compare3(aliasType de): if de.type == DIFFERENT_ENUM_1: #should fail return