logo

Module r3::kernel

source · []
Expand description

The kernel interface.

Not to be confused with r3_kernel, a kernel implementation.

Modules

Kernel configuration

Event groups

Hooks

Hunks

Interrupt lines and handlers

Mutexes

The prelude module. This module re-exports Kernel and other extension traits with impl-only-use (use ... as _, RFC2166).

The low-level kernel interface to be implemented by a kernel implementor.

The low-level kernel static configuration interface to be implemented by a kernel implementor.

Semaphores

Tasks

Timers

Re-exports all traits defined under this module for convenience.

Structs

Wraps a raw_cfg::CfgBase to provide higher-level services.

Represents a single owned event group in a system.

Represents a single borrowed event group in a system.

Represents a single hunk in a system.

Refers to an interrupt line in a system.

A non-Send, 'static task reference. The lack of Send-ness constrains its lifetime to the owning task and thus allows it to represent a current task safely.

Represents a single mutex in a system.

Represents a single borrowed mutex in a system.

Represents a single semaphore in a system.

Represents a single borrowed semaphore in a system.

Represents a registered startup hook in a system.

Represents a registered (second-level) interrupt handler in a system.

Represents a single task in a system.

Represents a single borrowed task in a system.

Represents a single timer in a system.

Represents a single borrowed timer in a system.

Enums

Error type for Mutex::lock.

Specifies the locking protocol to be followed by a mutex.

Error type for Kernel::park.

Specifies the sorting order of a wait queue.

All result codes (including the one indicating success) that a kernel function can return.

Error type for Kernel::sleep.

Error type for Timer::stop.

Error type for Task::unpark.

Error type for wait operations such as EventGroup::wait.

Error type for wait operations with timeout such as EventGroup::wait_timeout.

Traits

A group of traits that must be implemented by kernel object ID types, including KernelBase::RawTaskId.

Provides access to the global functionalities of a kernel.

Type Definitions

Unsigned integer type backing event groups.

Numeric value used to identify interrupt lines.

Priority value for an interrupt line.

Unsigned integer type representing the number of permits held by a semaphore.

A static handle type: MutexRef<'static, System>

A static handle type: SemaphoreRef<'static, System>

A static handle type: TaskRef<'static, System>

A static handle type: TimerRef<'static, System>