28 #ifndef ASCENSION_UTILS_H |
28 #ifndef ASCENSION_UTILS_H |
29 #define ASCENSION_UTILS_H |
29 #define ASCENSION_UTILS_H |
30 |
30 |
31 #include <stdbool.h> |
31 #include <stdbool.h> |
32 |
32 |
33 static inline bool asc_test_flag(unsigned int reg, int flag) { |
33 #define asc_test_flag(reg, flag) ((reg & flag) == flag) |
34 return (reg & flag) == flag; |
34 #define asc_test_flag_masked(reg, mask, flag) ((reg & mask) == flag) |
35 } |
35 #define asc_clear_flag(reg, flag) (reg &= ~flag) |
36 |
36 #define asc_set_flag(reg, flag) (reg |= flag) |
37 static inline void asc_set_flag(unsigned int *reg, int flag) { |
37 #define asc_set_flag_masked(reg, mask, flag) (reg = (reg & ~mask) | flag) |
38 *reg |= flag; |
|
39 } |
|
40 |
|
41 static inline void asc_clear_flag(unsigned int *reg, int flag) { |
|
42 *reg &= ~flag; |
|
43 } |
|
44 |
38 |
45 #endif /* ASCENSION_UTILS_H */ |
39 #endif /* ASCENSION_UTILS_H */ |
46 |
40 |