µOS++ IIIe Reference  v6.3.15
“Perfekt ist nicht gut genug”
The third edition of µOS++, a POSIX inspired open source system, written in C++.
os-decls.h File Reference
#include <cmsis-plus/os-versions.h>
#include <cmsis-plus/os-app-config.h>
#include <cmsis-plus/rtos/port/os-decls.h>
#include <cmsis-plus/diag/trace.h>
#include <cstdint>
#include <cstddef>
#include <cerrno>
#include <cstring>
#include <cmsis-plus/rtos/internal/os-lists.h>
#include <cmsis-plus/rtos/os-types.h>
#include <cmsis-plus/estd/system_error>

Go to the source code of this file.


class  os::rtos::memory::allocator_stateless_default_resource< T >
 Standard allocator based on the RTOS system default memory manager. More...
class  os::rtos::internal::attributes_clocked
 Base class for attributes. More...
class  os::rtos::port::clock_highres
class  os::rtos::port::clock_rtc
class  os::rtos::port::clock_systick
class  os::rtos::port::context
class  os::rtos::port::interrupts::critical_section
class  os::rtos::null_locker
 Null locker. More...
class  os::rtos::internal::object_named
 Base class for named objects. More...
class  os::rtos::internal::object_named_system
 Base class for named system objects. More...
class  os::rtos::port::thread
class  os::rtos::port::interrupts::uncritical_section


 System namespace.
 RTOS namespace.
 Generic flags namespace.
 Flags modes.
 A namespace to group all internal implementation objects.
 Interrupts namespace.
 Values returned by RTOS functions.
 Scheduler namespace.
 Statistics namespace.
 A convenience namespace to access the current running thread.


#define os_assert_err(__e, __er)   assert(__e)
 Assert or return an error. More...
#define os_assert_throw(__e, __er)   assert(__e)
 Assert or throw a system error exception. More...
#define OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES   (os::rtos::port::stack::default_size_bytes)
#define OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES   (os::rtos::port::stack::default_size_bytes)


using os::rtos::statistics::counter_t = uint64_t
 Type of variables holding context switches counters. More...
using os::rtos::statistics::duration_t = uint64_t
 Type of variables holding durations in CPU cycles. More...
using os::rtos::port::clock::duration_t = uint32_t
 Type of variables holding timer durations. More...
using os::rtos::flags::mask_t = uint32_t
 Type of variables holding flags masks. More...
using os::rtos::flags::mode_t = uint32_t
 Type of variables holding flags modes. More...
using os::rtos::port::clock::offset_t = int64_t
using os::rtos::result_t = uint32_t
 Type of values returned by RTOS functions. More...
using os::rtos::scheduler::state_t = port::scheduler::state_t
 Type of variables holding scheduler state codes. More...
using os::rtos::interrupts::state_t = port::interrupts::state_t
 Type of variables holding interrupts statu codes. More...
using os::rtos::port::clock::timestamp_t = uint64_t
 Type of variables holding time stamps. More...


enum  : result_t { os::rtos::result::ok = 0 }
 Custom enumerated values. More...
enum  : mask_t {
  os::rtos::flags::any = 0,
  os::rtos::flags::all = 0xFFFFFFFF
 Flags sets with special meaning. More...
enum  : mode_t {
  os::rtos::flags::mode::all = 1,
  os::rtos::flags::mode::any = 2,
  os::rtos::flags::mode::clear = 4
 Bits used to specify the flags modes. More...


void os::rtos::port::scheduler::_wait_for_interrupt (void)
void os::rtos::port::scheduler::greeting (void)
bool os::rtos::port::interrupts::in_handler_mode (void)
 Check if the CPU is in handler mode. More...
result_t os::rtos::port::scheduler::initialize (void)
 Initialise the RTOS scheduler. More...
port::scheduler::state_t os::rtos::port::scheduler::lock (void)
 Lock the scheduler. More...
port::scheduler::state_t os::rtos::port::scheduler::locked (port::scheduler::state_t state)
 Lock/unlock the scheduler. More...
bool os::rtos::port::scheduler::locked (void)
 Check if the scheduler is locked. More...
bool os::rtos::port::scheduler::preemptive (void)
 Check if the scheduler is in preemptive mode. More...
bool os::rtos::port::scheduler::preemptive (bool)
 Set the scheduler preemptive mode. More...
void os::rtos::port::this_thread::prepare_suspend (void)
void os::rtos::port::scheduler::reschedule (void)
void os::rtos::port::scheduler::start (void)
 Start the RTOS scheduler. More...
stack::element_t * os::rtos::port::scheduler::switch_stacks (stack::element_t *sp)
port::scheduler::state_t os::rtos::port::scheduler::unlock (void)
 Unlock the scheduler. More...
void os::rtos::port::this_thread::yield (void)
 Yield the CPU to the next ready thread. More...

Macro Definition Documentation

◆ os_assert_err

#define os_assert_err (   __e,
)    assert(__e)

Assert or return an error.

As required by the ANSI standards, if NDEBUG is defined, the assertion is disabled and if the condition is true, the given error code is returned.

Definition at line 1112 of file os-decls.h.

◆ os_assert_throw

#define os_assert_throw (   __e,
)    assert(__e)

Assert or throw a system error exception.

As required by the ANSI standards, if NDEBUG is defined, the assertion is disabled and if the condition is true, a ssytem error exception is thrown (which is replaced by an abort() if exceptions are disabled).

Definition at line 1127 of file os-decls.h.



Definition at line 1152 of file os-decls.h.


#define OS_INTEGER_RTOS_IDLE_STACK_SIZE_BYTES   (os::rtos::port::stack::default_size_bytes)

Definition at line 1148 of file os-decls.h.


#define OS_INTEGER_RTOS_MAIN_STACK_SIZE_BYTES   (os::rtos::port::stack::default_size_bytes)

Definition at line 1144 of file os-decls.h.



Definition at line 1138 of file os-decls.h.