typedef volatile unsigned char reg8; typedef volatile unsigned short reg16; typedef volatile unsigned long reg32; #define static_assert _Static_assert #define offsetof __builtin_offsetof