| Nstk | Namespace of STK package |
| Nhw | Hardware Abstraction Layer (HAL) for architecture-specific operations |
| CCriticalSection | Nestable, SMP-safe critical section that combines local interrupt masking with a global cross-core spinlock |
| CScopedLock | RAII guard that enters the critical section on construction and exits it on destruction |
| CSpinLock | Atomic busy-wait lock used as the global cross-core synchronisation primitive inside CriticalSection |
| CHiResClock | High-resolution clock for high-precision measurements |
| Nutil | Internal utility namespace containing data structure helpers (linked lists, etc.) used by the kernel implementation. Not part of the public user API |
| CDListHead | Intrusive doubly-linked list container. Manages a collection of DListEntry nodes embedded in host objects of type T |
| CDListEntry | Intrusive doubly-linked list node. Embed this as a base class in any object (T) that needs to participate in a DListHead list |
| Nsync | Synchronization primitives for task coordination and resource protection |
| CScopedCriticalSection | RAII-style low-level synchronization primitive for atomic code execution. Used as building brick for other stk::sync classes, consider using hw::CriticalSection::ScopedLock implementation instead |
| CConditionVariable | Condition Variable primitive for signaling between tasks based on specific predicates |
| CEvent | Binary synchronization event (signaled / non-signaled) primitive |
| CEventFlags | 32-bit event flags group for multi-flag synchronization between tasks |
| CMutex | Recursive mutex primitive that allows the same thread to acquire the lock multiple times |
| CPipe | Thread-safe FIFO communication pipe for inter-task data passing |
| CRWMutex | Reader-Writer Lock synchronization primitive for non-recursive shared and exclusive access |
| CScopedTimedLock | RAII wrapper for attempting exclusive write access with a timeout |
| CScopedTimedReadMutex | RAII wrapper for attempting shared read access with a timeout |
| CSemaphore | Counting semaphore primitive for resource management and signaling |
| CSpinLock | Recursive spinlock |
| Ntime | Time-related primitives |
| CTimerHost | Software timer multiplexer that manages multiple Timer instances on top of a small fixed set of kernel tasks |
| CTimer | Abstract base class for a timer managed by TimerHost |
| CTimerWorkerTask | The actual task that executes timer callback |
| CTimerCommand | |
| CPeriodicTrigger | Lightweight periodic trigger: returns true once per configured period when polled |
| Ntest | Namespace of the test inventory |
| Nchain | Namespace of Chain test |
| CTestTask | Chain test task |
| Ncondvar | Namespace of ConditionVariable test |
| CNotifyOneWakesTask | Tests that NotifyOne() wakes exactly one waiting task per call |
| CNotifyAllWakesTask | Tests that NotifyAll() wakes every waiting task in one call |
| CTimeoutExpiresTask | Tests that Wait() returns false within the expected time when no notification arrives |
| CMutexReacquiredTask | Tests that Wait() atomically releases the mutex and re-acquires it before returning |
| CPredicateLoopTask | Tests the canonical spurious-wakeup-safe predicate loop pattern |
| CNotifyOneOrderTask | Tests that NotifyOne() releases waiters in FIFO arrival order |
| CNoWaitTimeoutTask | Tests that Wait(NO_WAIT) returns false immediately without blocking |
| CStressTestTask | Stress test of ConditionVariable under full five-task contention |
| Nevent | Namespace of Event test |
| CAutoResetBasicTask | Tests auto-reset event: Set() wakes exactly one waiting task then resets |
| CManualResetBasicTask | Tests manual-reset event: Set() wakes all waiting tasks and state stays signaled |
| CInitialStateTask | Tests event constructed with initial_state=true |
| CTimeoutWaitTask | Tests Wait() timeout behavior |
| CTryWaitTask | Tests TryWait() non-blocking poll behavior |
| CResetManualTask | Tests Reset() on a manual-reset event |
| CPulseAutoResetTask | Tests Pulse() on an auto-reset event |
| CPulseManualResetTask | Tests Pulse() on a manual-reset event |
| Neventflags | Namespace of EventFlags test |
| CSetWaitAnyTask | Tests WAIT_ANY (OR) semantics: a single flag unblocks a waiting task |
| CSetWaitAllTask | Tests WAIT_ALL (AND) semantics: all requested flags must be set before unblocking |
| CClearTask | Tests Clear() return value and effect on subsequent Wait() calls |
| CNoClearTask | Tests NO_CLEAR option: matched flags are not consumed after a successful Wait() |
| CTimeoutTask | Tests Wait() timeout when the required flags are never set |
| CTryWaitTask | Tests TryWait() non-blocking poll |
| CGetTask | Tests Get() returns a non-destructive snapshot of the flags word |
| CMultiWaiterAnyTask | Tests WAIT_ANY with multiple concurrent waiters watching different flag subsets |
| CMultiWaiterAllTask | Tests WAIT_ALL with multiple concurrent waiters, each requiring the full flag set |
| CInitialFlagsTask | Tests EventFlags constructed with a non-zero initial flags word |
| Nstk | Mock of GetTimeNowMs() |
| CKernelServiceMock | |
| Nhrt | Namespace of HRT test |
| CTimeInfo | Task pass time info |
| CTestTask | HRT test task |
| Nmutex | Namespace of Mutex test |
| CBasicLockUnlockTask | Tests basic lock/unlock functionality |
| CRecursiveLockTask | Tests recursive locking capability |
| CTryLockTask | Tests TryLock() non-blocking behavior |
| CTimedLockTask | Tests TimedLock() timeout behavior |
| CFIFOOrderTask | Tests FIFO ordering of waiting threads |
| CStressTestTask | Stress test with many lock/unlock cycles |
| CRecursiveDepthTask | Tests deep recursive locking |
| CInterTaskCoordinationTask | Tests mutex for coordinating work between tasks |
| Npipe | Namespace of Pipe test |
| CBasicWriteReadTask | Tests basic Write()/Read() functionality in producer-consumer arrangement |
| CWriteBlocksWhenFullTask | Tests that Write() blocks when the pipe is full and unblocks when space is freed |
| CReadBlocksWhenEmptyTask | Tests that Read() blocks when the pipe is empty and unblocks when data arrives |
| CTimeoutTask | Tests that Write() and Read() return false within the expected time on timeout |
| CBulkWriteReadTask | Tests WriteBulk()/ReadBulk() for multi-element block transfers |
| CGetSizeIsEmptyTask | Tests GetSize() and IsEmpty() reflect accurate pipe state |
| CMultiProducerConsumerTask | Tests concurrent multi-producer / multi-consumer throughput |
| CStressTestTask | Stress test of Pipe under full five-task contention |
| Nrwmutex | Namespace of RWMutex test |
| CConcurrentReadersTask | Tests that multiple readers can acquire ReadLock() simultaneously |
| CWriterExclusivityTask | Tests that writer Lock()/Unlock() provides mutual exclusion |
| CWriterStarvationTask | Tests writer preference policy: writers don't starve under reader flood |
| CTimedReadLockTask | Tests TimedReadLock() timeout behavior |
| CTimedWriteLockTask | Tests TimedLock() timeout behavior for writers |
| CTryReadLockWhileWriterTask | Tests TryReadLock() returns false when writer is active; true after release |
| CReadUnlockWakesWriterTask | Tests that the last reader releasing wakes a waiting writer immediately |
| CWriterPriorityTask | Tests writer preference policy: new readers are blocked when writers are waiting |
| CReaderWriterAlternationTask | Tests alternating read and write phases with multiple concurrent readers |
| CStressTestTask | Stress test mixing readers and writers under full five-task contention |
| Nsemaphore | Namespace of Semaphore test |
| CBasicSignalWaitTask | Tests basic Signal/Wait functionality |
| CInitialCountTask | Tests semaphore constructed with a non-zero initial count |
| CTimeoutWaitTask | Tests Wait() timeout behavior |
| CZeroTimeoutTask | Tests Wait(0) (NO_WAIT) non-blocking behavior |
| CSignalBeforeWaitTask | Tests that Signal() before Wait() is remembered by the counter |
| CFIFOOrderTask | Tests FIFO ordering of waiting tasks |
| CStressTestTask | Stress test with many interleaved Signal/Wait cycles |
| CBoundedBufferTask | Tests classic producer/consumer synchronization pattern |
| Nsleep | Namespace of Sleep test |
| CTestTask | Sleep test task |
| Nspinlock | Namespace of SpinLock test |
| CMutualExclusionTask | Tests that Lock()/Unlock() provides mutual exclusion under concurrent access |
| CTryLockFreeTask | Tests TryLock() succeeds immediately when the lock is free |
| CTryLockContendedTask | Tests TryLock() returns false immediately when the lock is held by another task |
| CRecursiveLockTask | Tests recursive Lock()/Unlock() by the same task |
| CRecursiveTryLockTask | Tests TryLock() recursive acquisition by the owning task |
| CYieldUnderContentionTask | Tests that Lock() yields cooperatively when spin count is exhausted |
| CUnlockTransferTask | Tests that Unlock() correctly transfers the lock to a waiting contender |
| CStressTestTask | Stress test mixing Lock() and TryLock() under full five-task contention |
| Nswitch_ | Namespace of Switch test |
| CTestTask | Switch test task |
| Ntimer | Namespace of TimerHost test |
| CTestTimer | Concrete timer implementation that increments g_ExpiredCount on each expiry |
| COneShotTimerTask | Tests that a one-shot timer fires exactly once at the expected time |
| CPeriodicTimerTask | Tests that a periodic timer fires repeatedly at regular intervals |
| CMultipleTimersTask | Tests that multiple concurrent timers with different periods fire independently |
| CStopTimerTask | Tests that Stop() cancels a pending timer before it fires |
| CResetPeriodicTimerTask | Tests that Reset() reanchors a periodic timer's deadline from now |
| CRestartTimerTask | Tests that Restart() atomically stops and re-starts a timer |
| CStartOrResetTask | Tests StartOrReset(): starts if inactive, resets if active+periodic |
| CSetPeriodTask | Tests SetPeriod(): changes reload period without affecting current deadline |
| CStressTestTask | Stress test of TimerHost under full five-task contention |
| CKernelMock | |
| CAddTaskWhenStartedRelaxCpuContext | |
| CHrtTaskDeadlineMissedRelaxCpuContext | |
| CSyncWaitRelaxCpuContext | |
| CDelayContext | |
| CSwitchToNextRelaxCpuContext | |
| CSleepRelaxCpuContext | |
| CSleepAllAndWakeRelaxCpuContext | |
| CSleepAndWakeTicklessRelaxCpuContext | |
| CEDFDynamicSchedulingContext | |
| CPrioritySleepRelaxCpuContext | |
| CSyncWaitWakeRelaxCpuContext | |
| CTestAssertPassed | Throwable class for catching assertions from STK_ASSERT_HANDLER() |
| CPlatformTestMock | IPlatform mock |
| CStackInfo | |
| CKernelServiceMock | IKernelService mock |
| CTaskMock | Task mock |
| CTaskMockW | Task mock for SwitchStrategySmoothWeightedRoundRobin and similar algorithms |
| CMutexMock | |
| CSyncObjectMock | |
| CTestContext | Common context for a test suite |
| CPlatformArmCortexM | Concrete implementation of IPlatform driver for the Arm Cortex-M0, M3, M4, M7 processors |
| CPlatformRiscV | Concrete implementation of IPlatform driver for the Risc-V processors |
| CISpecificEventHandler | |
| CPlatformContext | Base platform context for all platform implementations |
| CPlatformX86Win32 | Concrete implementation of IPlatform driver for the x86 Win32 platform |
| CKernel | Concrete implementation of IKernel |
| CKernelTask | Internal per-slot kernel descriptor that wraps a user ITask instance |
| CAddTaskRequest | Payload for an in-flight AddTask() request issued by a running task |
| CSrtInfo | Per-task soft real-time (SRT) metadata |
| CHrtInfo | Per-task Hard Real-Time (HRT) scheduling metadata |
| CWaitObject | Concrete implementation of IWaitObject, embedded in each KernelTask slot |
| CWaitRequest | Payload stored in the sync object's kernel-side list entry while a task is waiting |
| CKernelService | Concrete implementation of IKernelService exposed to running tasks |
| CSleepTrapStack | Storage bundle for the sleep trap: a Stack descriptor paired with its backing memory |
| CExitTrapStack | Storage bundle for the exit trap: a Stack descriptor paired with its backing memory |
| CStackMemoryDef | Stack memory type definition |
| CStack | Stack descriptor |
| CIStackMemory | Interface for a stack memory region |
| CIWaitObject | Wait object |
| CITraceable | Traceable object |
| CISyncObject | Synchronization object |
| CIMutex | Interface for mutex synchronization primitive |
| CScopedLock | Locks bound mutex within a scope of execution. Ensures the mutex is always unlocked when leaving the scope, even when exceptions are thrown |
| CITask | Interface for a user task |
| CIKernelTask | Scheduling-strategy-facing interface for a kernel task slot |
| CIPlatform | Interface for a platform driver |
| CIEventHandler | Interface for a back-end event handler |
| CIEventOverrider | Interface for a platform event overrider |
| CITaskSwitchStrategy | Interface for a task switching strategy implementation |
| CIKernel | Interface for the implementation of the kernel of the scheduler. It supports Soft and Hard Real-Time modes |
| CIKernelService | Interface for the kernel services exposed to the user processes during run-time when Kernel started scheduling the processes |
| CTask | Partial implementation of the user task |
| CTaskW | Partial implementation of the user task with a compile-time scheduling weight. Use when the kernel is configured with SwitchStrategySmoothWeightedRoundRobin |
| CStackMemoryWrapper | Adapts an externally-owned stack memory array to the IStackMemory interface |
| CSwitchStrategyEDF | Earliest Deadline First (EDF) scheduling strategy: always selects the runnable task with the least time remaining before its deadline expires |
| CSwitchStrategyFixedPriority | Fixed-priority preemptive scheduling strategy with round-robin arbitration within each priority level |
| CSwitchStrategyMonotonic | Monotonic scheduling strategy: Rate-Monotonic (RM) or Deadline-Monotonic (DM), selected at compile time by the _Type template parameter |
| CSchedulabilityCheck | Utility class providing static methods for Worst-Case Response Time (WCRT) schedulability analysis of a monotonic HRT task set |
| CTaskTiming | Execution deadline and scheduling period for a single periodic HRT task, used as input to CalculateWCRT() and GetTaskCpuLoad() |
| CTaskCpuLoad | CPU utilisation values for a single task, in whole percent |
| CTaskInfo | Analysis results for a single task: CPU load and computed WCRT |
| CSchedulabilityCheckResult | Result of a WCRT schedulability test: overall verdict plus per-task details |
| CSwitchStrategyRoundRobin | Round-Robin task-switching strategy: each runnable task receives one time slice (one tick interval) in turn before the kernel moves to the next task |
| CSwitchStrategySmoothWeightedRoundRobin | Smooth Weighted Round-Robin (SWRR) task-switching strategy: distributes CPU time proportionally to per-task weights while avoiding execution bursts by spreading selections evenly over time |
| CCTimerWrapper | |
| CIEventHandler | RISC-V specific event handler |
| Cstk_cv_mem_t | Opaque memory container for a ConditionVariable instance |
| Cstk_cv_t | |
| Cstk_ef_mem_t | Opaque memory container for an EventFlags instance |
| Cstk_ef_t | |
| Cstk_event_mem_t | Opaque memory container for an Event instance |
| Cstk_event_t | |
| Cstk_mutex_mem_t | Opaque memory container for a Mutex instance |
| Cstk_mutex_t | |
| Cstk_periodic_trigger_mem_t | Opaque memory container for a stk_periodic_trigger_t instance |
| Cstk_periodic_trigger_t | |
| Cstk_pipe_mem_t | Opaque memory container for a Pipe instance |
| Cstk_pipe_t | |
| Cstk_rwmutex_mem_t | Opaque memory container for an RWMutex instance |
| Cstk_rwmutex_t | |
| Cstk_sem_mem_t | Opaque memory container for a Semaphore instance |
| Cstk_sem_t | |
| Cstk_spinlock_mem_t | Opaque memory container for SpinLock object |
| Cstk_spinlock_t | |
| Cstk_task_t | |
| Cstk_timer_t | |
| Cstk_timerhost_t | |
| CTaskSlot | |
| CTaskWrapper | |
| CTimerSlot | |