#define SET_FLAG(f) f##_byte |= f##_bit // flag set
#define CLR_FLAG(f) f##_byte &= ~f##_bit // flag clear
#define TOG_FLAG(f) f##_byte ^= f##_bit // flag toggle
#define VAL_FLAG(f) (f##_byte & f##_bit) // flag value for test
#define SET_BIT(f) f##_byte |= f##_bit // bit set
#define CLR_BIT(f) f##_byte &= ~f##_bit // bit clear
#define TOG_BIT(f) f##_byte ^= f##_bit // bit toggle
#define VAL_BIT(f) (f##_byte & f##_bit) // bit value for test