20 #ifndef _RTEMS_SCORE_SCHEDULERSIMPLE_H 21 #define _RTEMS_SCORE_SCHEDULERSIMPLE_H 40 #define SCHEDULER_SIMPLE_MAXIMUM_PRIORITY 255 45 #define SCHEDULER_SIMPLE_ENTRY_POINTS \ 47 _Scheduler_simple_Initialize, \ 48 _Scheduler_simple_Schedule, \ 49 _Scheduler_simple_Yield, \ 50 _Scheduler_simple_Block, \ 51 _Scheduler_simple_Unblock, \ 52 _Scheduler_simple_Update_priority, \ 53 _Scheduler_default_Map_priority, \ 54 _Scheduler_default_Unmap_priority, \ 55 SCHEDULER_OPERATION_DEFAULT_ASK_FOR_HELP \ 56 _Scheduler_default_Node_initialize, \ 57 _Scheduler_default_Node_destroy, \ 58 _Scheduler_default_Release_job, \ 59 _Scheduler_default_Cancel_job, \ 60 _Scheduler_default_Tick, \ 61 _Scheduler_default_Start_idle \ 62 SCHEDULER_OPERATION_DEFAULT_GET_SET_AFFINITY \ Scheduler_Context Base
Basic scheduler context.
Chain_Control Ready
One ready queue for all ready threads.
Thread Manipulation with the Priority-Based Scheduler.
Simple scheduler context.
void _Scheduler_simple_Schedule(const Scheduler_Control *scheduler, Thread_Control *the_thread)
Schedules threads.
void _Scheduler_simple_Block(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Blocks the thread.
void _Scheduler_simple_Yield(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Performs the yield of a thread.
Scheduler node for per-thread data.
void _Scheduler_simple_Unblock(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Unblocks the thread.
Constants and Structures Associated with the Scheduler.
void _Scheduler_simple_Initialize(const Scheduler_Control *scheduler)
Initializes simple scheduler.
void _Scheduler_simple_Update_priority(const Scheduler_Control *scheduler, Thread_Control *the_thread, Scheduler_Node *node)
Updates the priority of the node.