19#pragma clang diagnostic ignored "-Wc++98-compat"
37 assert (port::interrupts::is_priority_valid ());
43 if (oflags !=
nullptr)
45 *oflags = flags_mask_;
48#pragma GCC diagnostic push
50#pragma clang diagnostic ignored "-Wdeprecated-volatile"
51#elif defined(__GNUC__)
52#pragma GCC diagnostic ignored "-Wvolatile"
55#pragma GCC diagnostic pop
71 if (oflags !=
nullptr)
73 *oflags = flags_mask_;
87 && ((flags_mask_ &
mask) != 0)))
89 if (oflags !=
nullptr)
91 *oflags = (flags_mask_ &
mask);
96#pragma GCC diagnostic push
98#pragma clang diagnostic ignored "-Wdeprecated-volatile"
99#elif defined(__GNUC__)
100#pragma GCC diagnostic ignored "-Wvolatile"
103 flags_mask_ &= ~mask;
104#pragma GCC diagnostic pop
127 ret = flags_mask_ &
mask;
130#pragma GCC diagnostic push
131#if defined(__clang__)
132#pragma clang diagnostic ignored "-Wdeprecated-volatile"
133#elif defined(__GNUC__)
134#pragma GCC diagnostic ignored "-Wvolatile"
137 flags_mask_ &= ~mask;
138#pragma GCC diagnostic pop
157 if (oflags !=
nullptr)
159 *oflags = flags_mask_;
162#pragma GCC diagnostic push
163#if defined(__clang__)
164#pragma clang diagnostic ignored "-Wdeprecated-volatile"
165#elif defined(__GNUC__)
166#pragma GCC diagnostic ignored "-Wvolatile"
169 flags_mask_ &= ~mask;
170#pragma GCC diagnostic pop
result_t raise(flags::mask_t mask, flags::mask_t *oflags)
Raise event flags.
flags::mask_t get(flags::mask_t mask, flags::mode_t mode)
Get (and possibly clear) event flags.
bool check_raised(flags::mask_t mask, flags::mask_t *oflags, flags::mode_t mode)
Check if expected flags are raised.
result_t clear(flags::mask_t mask, flags::mask_t *oflags)
Clear event flags.
flags::mask_t mask(void)
Get the flags mask.
Interrupts critical section RAII helper.
@ all
Return when all flags are set.
@ clear
Ask for flags to be cleared after read.
@ any
Return when at least one flag is set.
@ any
Special mask to represent any flag.
uint32_t mode_t
Type of variables holding flags modes.
uint32_t mask_t
Type of variables holding flags masks.
@ ok
Function completed; no errors or events occurred.
uint32_t result_t
Type of values returned by RTOS functions.
#define os_assert_err(__e, __er)
Assert or return an error.
Single file µOS++ RTOS definitions.