#ifndef COMMON__H #define COMMON__H #include /* Define __IO to be volatile if it's not already. */ #ifndef __IO #define __IO volatile #endif #define bool int #ifndef __cplusplus #define true 1 #define false 0 #endif #define PACKED __attribute__((packed)) #define BIT(n) (1 << (n)) #define RESERVED_CONCAT_IMPL(x, y) x ## y #define RESERVED_MACRO_CONCAT(x, y) RESERVED_CONCAT_IMPL(x, y) #define RESERVED(n) \ bits_t RESERVED_MACRO_CONCAT(_r, __COUNTER__) :n #define RESERVE(type) \ __IO type RESERVED_MACRO_CONCAT(_r, __COUNTER__) typedef uint32_t bits_t; #endif /* COMMON_H */