13#ifndef CMSIS_PLUS_RTOS_OS_EVFLAGS_H_
14#define CMSIS_PLUS_RTOS_OS_EVFLAGS_H_
18#if defined(__cplusplus)
22#if defined(OS_USE_OS_APP_CONFIG_H)
23#include <cmsis-plus/os-app-config.h>
31#pragma GCC diagnostic push
33#pragma clang diagnostic ignored "-Wc++98-compat"
45#pragma GCC diagnostic push
47#pragma clang diagnostic ignored "-Wpadded"
48#elif defined(__GNUC__)
49#pragma GCC diagnostic ignored "-Wpadded"
307#if !defined(OS_USE_RTOS_PORT_EVENT_FLAGS)
312#if defined(OS_USE_RTOS_PORT_EVENT_FLAGS)
313 friend class port::event_flags;
314 os_evflags_port_data_t port_;
332#pragma GCC diagnostic pop
351#pragma GCC diagnostic pop
constexpr attributes()
Construct an event flags attributes object instance.
~attributes()=default
Destruct the event flags attributes object instance.
attributes(attributes &&)=default
attributes & operator=(const attributes &)=default
attributes(const attributes &)=default
Synchronised event flags.
result_t wait(flags::mask_t mask, flags::mask_t *oflags, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Wait for event flags.
result_t timed_wait(flags::mask_t mask, clock::duration_t timeout, flags::mask_t *oflags=nullptr, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Timed wait for event flags.
~event_flags()
Destruct the event flags object instance.
bool waiting(void)
Check if there are threads waiting.
bool operator==(const event_flags &rhs) const
Compare event flags.
flags::mask_t get(flags::mask_t mask, flags::mode_t mode=flags::mode::clear)
Get (and possibly clear) event flags.
result_t try_wait(flags::mask_t mask, flags::mask_t *oflags=nullptr, flags::mode_t mode=flags::mode::all|flags::mode::clear)
Try to wait for event flags.
result_t raise(flags::mask_t mask, flags::mask_t *oflags=nullptr)
Raise event flags.
result_t clear(flags::mask_t mask, flags::mask_t *oflags=nullptr)
Clear event flags.
Base class for attributes.
Internal event flags implementation.
Base class for named system objects.
const char * name(void) const
Get object name.
Priority ordered list of threads.
port::clock::duration_t duration_t
Type of variables holding clock durations.
static const attributes initializer
Default event flags initialiser.
@ all
Return when all flags are set.
@ clear
Ask for flags to be cleared after read.
uint32_t mode_t
Type of variables holding flags modes.
uint32_t mask_t
Type of variables holding flags masks.
uint32_t result_t
Type of values returned by RTOS functions.