src/ascension/utils.h

changeset 58
26ebb2f1e6e6
parent 14
9dbfc0031887
child 61
b7954818a6b7
equal deleted inserted replaced
57:7daec2f067a9 58:26ebb2f1e6e6
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

mercurial