37#ifndef _RTEMS_SCORE_SCHEDULERSIMPLEIMPL_H
38#define _RTEMS_SCORE_SCHEDULERSIMPLEIMPL_H
62 _Scheduler_simple_Get_context(
const Scheduler_Control *scheduler )
79static inline bool _Scheduler_simple_Priority_less_equal(
85 const unsigned int *priority_to_insert;
86 const Thread_Control *thread_next;
89 priority_to_insert = (
const unsigned int *) key;
90 thread_next = (
const Thread_Control *) next;
92 return *priority_to_insert <= _Thread_Get_priority( thread_next );
102static inline void _Scheduler_simple_Insert(
104 Thread_Control *to_insert,
105 unsigned int insert_priority
108 _Chain_Insert_ordered_unprotected(
112 _Scheduler_simple_Priority_less_equal
123static inline void _Scheduler_simple_Extract(
124 const Scheduler_Control *scheduler,
125 Thread_Control *the_thread,
132 _Chain_Extract_unprotected( &the_thread->
Object.
Node );
140static inline Thread_Control *_Scheduler_simple_Get_highest_ready(
141 const Scheduler_Control *scheduler
145 _Scheduler_simple_Get_context( scheduler );
147 return (Thread_Control *) _Chain_First( &
context->Ready );
This header file provides interfaces of the Chain Handler which are only used by the implementation.
This header file provides interfaces of the Simple Priority Scheduler which are used by the implement...
This header file provides interfaces of the supporting the implementation of uniprocessor schedulers.
This structure represents a chain node.
Definition chain.h:78
Chain_Node Node
Definition objectdata.h:63
Scheduler node for per-thread data.
Definition schedulernode.h:94
Simple scheduler context.
Definition schedulersimple.h:85
Objects_Control Object
Definition thread.h:839
unsigned context
Definition tlb.h:1
This union represents a chain control block.
Definition chain.h:96