µOS++ IIIe Reference 7.0.0
The third edition of µOS++, a POSIX inspired open source framework, written in C++
Loading...
Searching...
No Matches
os-c-decls.h File Reference
#include <cmsis-plus/os-versions.h>
#include <cmsis-plus/rtos/port/os-decls.h>
#include <stdint.h>
#include <stddef.h>
#include <stdbool.h>

Go to the source code of this file.

Classes

struct  os_clock_node_s
 
struct  os_clock_s
 Clock object storage. More...
 
struct  os_condvar_attr_s
 Condition variable attributes. More...
 
struct  os_condvar_s
 Condition variable object storage. More...
 
struct  os_evflags_attr_s
 Event flags attributes. More...
 
struct  os_evflags_s
 Event flags object storage. More...
 
struct  os_internal_clock_timestamps_list_s
 
struct  os_internal_double_list_links_s
 
struct  os_internal_evflags_s
 Internal event flags. More...
 
struct  os_internal_thread_children_list_s
 
struct  os_internal_waiting_thread_node_s
 
struct  os_memory_s
 Memory resource object storage. More...
 
struct  os_mempool_attr_s
 Memory pool attributes. More...
 
struct  os_mempool_s
 Memory pool object storage. More...
 
struct  os_mqueue_attr_s
 Message queue attributes. More...
 
struct  os_mqueue_s
 Message queue object storage. More...
 
struct  os_mutex_attr_s
 Mutex attributes. More...
 
struct  os_mutex_s
 Mutex object storage. More...
 
struct  os_semaphore_attr_s
 Semaphore attributes. More...
 
struct  os_semaphore_s
 Semaphore object storage. More...
 
struct  os_thread_attr_s
 Thread attributes. More...
 
struct  os_thread_context_s
 Thread context. More...
 
struct  os_thread_s
 Thread object storage. More...
 
struct  os_thread_stack_s
 Thread stack. More...
 
struct  os_thread_statistics_s
 Thread statistics. More...
 
struct  os_timer_attr_s
 Timer attributes. More...
 
struct  os_timer_s
 Timer object storage. More...
 

Macros

#define os_flags_all   0xFFFFFFFF
 
#define os_flags_any   0
 Special mask to represent any flag.
 
#define OS_THREAD_PRIO_SHIFT   (4)
 

Typedefs

typedef os_port_clock_duration_t os_clock_duration_t
 Type of variables holding clock durations.
 
typedef os_port_clock_offset_t os_clock_offset_t
 Type of variables holding clock offsets.
 
typedef struct os_clock_s os_clock_t
 Clock object storage.
 
typedef os_port_clock_timestamp_t os_clock_timestamp_t
 Type of variables holding clock time stamps.
 
typedef struct os_condvar_attr_s os_condvar_attr_t
 Condition variable attributes.
 
typedef struct os_condvar_s os_condvar_t
 Condition variable object storage.
 
typedef struct os_evflags_attr_s os_evflags_attr_t
 Event flags attributes.
 
typedef struct os_evflags_s os_evflags_t
 Event flags object storage.
 
typedef uint32_t os_flags_mask_t
 Type of variables holding flags masks.
 
typedef uint32_t os_flags_mode_t
 Type of variables holding flags modes.
 
typedef struct os_clock_node_s os_internal_clock_timer_node_t
 
typedef struct os_internal_clock_timestamps_list_s os_internal_clock_timestamps_list_t
 
typedef struct os_internal_double_list_links_s os_internal_double_list_links_t
 
typedef struct os_internal_evflags_s os_internal_evflags_t
 Internal event flags.
 
typedef struct os_internal_thread_children_list_s os_internal_thread_children_list_t
 
typedef os_internal_double_list_links_t os_internal_threads_waiting_list_t
 
typedef struct os_internal_waiting_thread_node_s os_internal_waiting_thread_node_t
 
typedef os_port_irq_state_t os_irq_state_t
 Type of variables holding interrupts priority values.
 
typedef void * os_iterator_t
 Generic iterator, implemented as a pointer.
 
typedef struct os_memory_s os_memory_t
 Memory resource object storage.
 
typedef struct os_mempool_attr_s os_mempool_attr_t
 Memory pool attributes.
 
typedef uint16_t os_mempool_size_t
 
typedef struct os_mempool_s os_mempool_t
 Memory pool object storage.
 
typedef struct os_mqueue_attr_s os_mqueue_attr_t
 Message queue attributes.
 
typedef os_mqueue_size_t os_mqueue_index_t
 
typedef uint16_t os_mqueue_msg_size_t
 
typedef uint8_t os_mqueue_prio_t
 Type of variables holding message queue priorities.
 
typedef uint8_t os_mqueue_size_t
 
typedef struct os_mqueue_s os_mqueue_t
 Message queue object storage.
 
typedef struct os_mutex_attr_s os_mutex_attr_t
 Mutex attributes.
 
typedef int16_t os_mutex_count_t
 
typedef uint8_t os_mutex_protocol_t
 
typedef uint8_t os_mutex_robustness_t
 
typedef struct os_mutex_s os_mutex_t
 Mutex object storage.
 
typedef uint8_t os_mutex_type_t
 
typedef uint32_t os_result_t
 Type of values returned by RTOS functions.
 
typedef os_port_scheduler_state_t os_sched_state_t
 Type of variables holding scheduler state codes.
 
typedef struct os_semaphore_attr_s os_semaphore_attr_t
 Semaphore attributes.
 
typedef int16_t os_semaphore_count_t
 Type of variables holding semaphore counts.
 
typedef struct os_semaphore_s os_semaphore_t
 Semaphore object storage.
 
typedef uint64_t os_statistics_counter_t
 Type of variables holding context switches counters.
 
typedef uint64_t os_statistics_duration_t
 Type of variables holding durations in CPU cycles.
 
typedef struct os_thread_attr_s os_thread_attr_t
 Thread attributes.
 
typedef struct os_thread_context_s os_thread_context_t
 Thread context.
 
typedef void * os_thread_func_args_t
 Type of thread function arguments.
 
typedef void *(* os_thread_func_t) (os_thread_func_args_t args)
 Type of thread function.
 
typedef uint8_t os_thread_prio_t
 Type of variables holding thread priorities.
 
typedef os_port_thread_stack_allocation_element_t os_thread_stack_allocation_element_t
 Type of variables holding aligned stack elements.
 
typedef os_port_thread_stack_element_t os_thread_stack_element_t
 Type of variables holding stack words.
 
typedef struct os_thread_stack_s os_thread_stack_t
 Thread stack.
 
typedef uint8_t os_thread_state_t
 Type of variables holding thread states.
 
typedef struct os_thread_statistics_s os_thread_statistics_t
 Thread statistics.
 
typedef struct os_thread_s os_thread_t
 Thread object storage.
 
typedef struct os_timer_attr_s os_timer_attr_t
 Timer attributes.
 
typedef void * os_timer_func_args_t
 Type of timer function arguments.
 
typedef void(* os_timer_func_t) (os_timer_func_args_t args)
 Type of timer function.
 
typedef uint8_t os_timer_state_t
 Type of variables holding timer states.
 
typedef struct os_timer_s os_timer_t
 Timer object storage.
 
typedef uint8_t os_timer_type_t
 Type of variables holding timer types.
 

Enumerations

enum  {
  os_flags_mode_all = 1 ,
  os_flags_mode_any = 2 ,
  os_flags_mode_clear = 4
}
 Bits used to specify the flags modes. More...
 
enum  {
  os_thread_priority_none = 0 ,
  os_thread_priority_idle = (1 << (4) ) ,
  os_thread_priority_lowest = (2 << (4) ) ,
  os_thread_priority_low = (2 << (4) ) ,
  os_thread_priority_below_normal = (4 << (4) ) ,
  os_thread_priority_normal = (6 << (4) ) ,
  os_thread_priority_above_normal = (8 << (4) ) ,
  os_thread_priority_high = (10 << (4) ) ,
  os_thread_priority_realtime = (12 << (4) ) ,
  os_thread_priority_highest = (((13 + 1) << (4) ) - 1) ,
  os_thread_priority_isr = (((14 + 1) << (4) ) - 1) ,
  os_thread_priority_error = (((15 + 1) << (4) ) - 1)
}
 Thread priorities; intermediate values are also possible. More...
 
enum  {
  os_thread_state_undefined = 0 ,
  os_thread_state_ready = 1 ,
  os_thread_state_running = 2 ,
  os_thread_state_suspended = 3 ,
  os_thread_state_terminated = 4 ,
  os_thread_state_destroyed = 5 ,
  os_thread_state_initialising = 6
}
 An enumeration with all possible thread states. More...
 
enum  {
  os_timer_once = 0 ,
  os_timer_periodic = 1
}
 An enumeration with the timer types. More...
 
enum  {
  os_mutex_protocol_none = 0 ,
  os_mutex_protocol_inherit = 1 ,
  os_mutex_protocol_protect = 2 ,
  os_mutex_protocol_default = os_mutex_protocol_inherit
}
 An enumeration with mutex protocols. More...
 
enum  {
  os_mutex_robustness_stalled = 0 ,
  os_mutex_robustness_robust = 1 ,
  os_mutex_robustness_default = os_mutex_robustness_stalled
}
 An enumeration with mutex robustness. More...
 
enum  {
  os_mutex_type_normal = 0 ,
  os_mutex_type_errorcheck = 1 ,
  os_mutex_type_recursive = 2 ,
  os_mutex_type_default = os_mutex_type_normal
}
 An enumeration with mutex types. More...
 

Functions

Clock handlers
void os_rtc_handler (void)
 RTC interrupt handler.
 
void os_systick_handler (void)
 SysTick interrupt handler.
 

Macro Definition Documentation

◆ OS_THREAD_PRIO_SHIFT

#define OS_THREAD_PRIO_SHIFT   (4)

Definition at line 256 of file os-c-decls.h.

Typedef Documentation

◆ os_internal_clock_timer_node_t

◆ os_internal_clock_timestamps_list_t

◆ os_internal_double_list_links_t

◆ os_internal_evflags_t

Internal event flags.

See also
os::rtos::internal::event_flags

◆ os_internal_thread_children_list_t

◆ os_internal_threads_waiting_list_t

◆ os_internal_waiting_thread_node_t

◆ os_mempool_size_t

typedef uint16_t os_mempool_size_t

Definition at line 1173 of file os-c-decls.h.

◆ os_mqueue_index_t

Definition at line 1277 of file os-c-decls.h.

◆ os_mqueue_msg_size_t

typedef uint16_t os_mqueue_msg_size_t

Definition at line 1276 of file os-c-decls.h.

◆ os_mqueue_size_t

typedef uint8_t os_mqueue_size_t

Definition at line 1273 of file os-c-decls.h.

◆ os_mutex_count_t

typedef int16_t os_mutex_count_t

Definition at line 817 of file os-c-decls.h.

◆ os_mutex_protocol_t

typedef uint8_t os_mutex_protocol_t

Definition at line 819 of file os-c-decls.h.

◆ os_mutex_robustness_t

typedef uint8_t os_mutex_robustness_t

Definition at line 820 of file os-c-decls.h.

◆ os_mutex_type_t

typedef uint8_t os_mutex_type_t

Definition at line 818 of file os-c-decls.h.