14 #ifndef LAZULI_SYS_SCHEDULER_H 15 #define LAZULI_SYS_SCHEDULER_H void Scheduler_HandleClockTick(void *const sp)
This function is called when a clock tick occured, catch by the interrupt handler.
#define _EXTERN_C_DECL_BEGIN
Open C++ header file declarations.
Task * Scheduler_GetCurrentTask(void)
Get a pointer to the current running task.
void Scheduler_WaitEvent(void *const sp, const uint8_t eventCode)
This function is called from arch-specific Wait routine in order to get the current running task wait...
void Scheduler_WakeupTasksWaitingMutex(Lz_Mutex *const mutex)
Wake up all tasks waiting for a mutex.
void Scheduler_AbortTask(void *const sp)
Call the appropriate scheduler to abort the curent running task.
The public API of the Lazuli kernel.
unsigned char uint8_t
Represents a unsigned integer type with width of exactly 8 bits.
Base task definition and context description.
void Scheduler_HandleInterrupt(const uint8_t interruptCode)
This function is called by arch-specific interrupt handling routine.
void Scheduler_SleepUntilEndOfTimeSlice(void)
Put the current task to sleep until the end of its time slice.
Basic type definitions and useful macros.
#define _EXTERN_C_DECL_END
Close C++ header file declarations.
void Scheduler_Init(void)
Initialize the scheduler prior to running it.
void(*)(void) ReverseBytesOfFunctionPointer(void(*const pointer)(void))
Reverse the bytes of a function pointer.