Embedded Artistry Framework
Embedded Systems C++ Framework
Namespaces | Typedefs | Enumerations | Variables
rtos_defs.hpp File Reference
#include <chrono>
#include <cstdint>
Include dependency graph for rtos_defs.hpp:
This graph shows which files directly or indirectly include this file:

Namespaces

 embvm
 Embedded framework core interfaces, classes, and definitions.
 
 embvm::tls
 Thread Local Storage types.
 
 embvm::once
 
 embvm::cv
 Condition Variable types and definitions.
 
 embvm::eventflag
 Event flag types and definitions.
 
 embvm::mutex
 Mutex types and definitions.
 
 embvm::semaphore
 Semaphore types and definitions.
 
 embvm::thread
 Thread types and definitions.
 
 embvm::msgqueue
 Message queue types and definitions.
 

Typedefs

using embvm::tls::handle_t = uintptr_t
 Generic storage for Thread Local Storage handles. More...
 
using embvm::once::handle_t = uint32_t
 Generic storage for Thread Once handles. More...
 
using embvm::os_timeout_t = std::chrono::duration< uint64_t, std::nano >
 Timeout type used for OS-related functions. More...
 
using embvm::cv::handle_t = uintptr_t
 Generic storage for CV handles. More...
 
using embvm::eventflag::handle_t = uintptr_t
 Generic storage for Event Group handles. More...
 
using embvm::eventflag::flag_t = uint32_t
 Underlying storage type for the event flag group. More...
 
using embvm::mutex::handle_t = uintptr_t
 Generic type for mutex handles. More...
 
using embvm::semaphore::count_t = int32_t
 Type used to store the semaphore count. More...
 
using embvm::semaphore::handle_t = uintptr_t
 Generic type for semaphore handles. More...
 
using embvm::thread::handle_t = uintptr_t
 Generic type for thread handles. More...
 
using embvm::thread::input_t = void *
 Thread function's input data type. More...
 
using embvm::thread::func_t = void(*)(input_t)
 Thread function prototype. More...
 
using embvm::msgqueue::handle_t = uintptr_t
 Generic storage for Message Queue handles. More...
 

Enumerations

enum  embvm::eventflag::option : uint8_t { embvm::eventflag::option::AND = 0, embvm::eventflag::option::OR = 1 }
 Option specification for VirtualEventFlag get(). More...
 
enum  embvm::mutex::type : std::uint8_t { embvm::mutex::type::normal = 0, embvm::mutex::type::recursive, embvm::mutex::type::defaultType = recursive }
 Mutex types. More...
 
enum  embvm::mutex::mode : std::uint8_t { embvm::mutex::mode::none = 0, embvm::mutex::mode::priorityInherit, embvm::mutex::mode::protect, embvm::mutex::mode::defaultMode }
 Mutex operational modes. More...
 
enum  embvm::semaphore::mode { embvm::semaphore::mode::defaultMode = 0, embvm::semaphore::mode::binary, embvm::semaphore::mode::counting }
 Semaphore mode options. More...
 
enum  embvm::thread::state : uint8_t {
  embvm::thread::state::ready = 0, embvm::thread::state::executing, embvm::thread::state::suspended, embvm::thread::state::terminated,
  embvm::thread::state::completed
}
 Thread's operational state. More...
 
enum  embvm::thread::priority : uint8_t {
  embvm::thread::priority::panic = 0, embvm::thread::priority::interrupt, embvm::thread::priority::realtime, embvm::thread::priority::veryHigh,
  embvm::thread::priority::high, embvm::thread::priority::aboveNormal, embvm::thread::priority::normal, embvm::thread::priority::belowNormal,
  embvm::thread::priority::low, embvm::thread::priority::lowest, embvm::thread::priority::idle
}
 Default priority settings. More...
 

Variables

constexpr os_timeout_t embvm::OS_WAIT_FOREVER = os_timeout_t{UINT64_C(-1)}
 Create a WAIT_FOREVER alias which can be used. More...