My library (PDCurses) can be compiled with three defines:
#ifdef CHTYPE_LONG
# if _LP64
typedef unsigned int chtype;
# else
typedef unsigned long chtype; /* 16-bit attr + 16-bit char */
# endif
#else
typedef unsigned short chtype; /* 8-bit attr + 8-bit char */
#endif
CFFI doesn't support them, so I need to choose one. And even if I choose something for parsing with CFFI, there is no guarantee that library was compiled with exactly same defines. Does CFFI protect against that?