diff options
Diffstat (limited to 'cpukit/score/include/rtems/score/schedulerimpl.h')
-rw-r--r-- | cpukit/score/include/rtems/score/schedulerimpl.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cpukit/score/include/rtems/score/schedulerimpl.h b/cpukit/score/include/rtems/score/schedulerimpl.h index 01be51518e..2b8782fe7d 100644 --- a/cpukit/score/include/rtems/score/schedulerimpl.h +++ b/cpukit/score/include/rtems/score/schedulerimpl.h @@ -461,6 +461,19 @@ RTEMS_INLINE_ROUTINE Objects_Id _Scheduler_Build_id( uint32_t scheduler_index ) ); } +RTEMS_INLINE_ROUTINE bool _Scheduler_Get_by_id( + Objects_Id id, + const Scheduler_Control **scheduler +) +{ + uint32_t minimum_id = _Scheduler_Build_id( 0 ); + uint32_t index = id - minimum_id; + + *scheduler = &_Scheduler_Table[ index ]; + + return index < _Scheduler_Count; +} + /** @} */ #ifdef __cplusplus |