diff options
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/macros/rtems/score/object.inl | 30 |
1 files changed, 24 insertions, 6 deletions
diff --git a/cpukit/score/macros/rtems/score/object.inl b/cpukit/score/macros/rtems/score/object.inl index cce2cbde9b..62994ee4e5 100644 --- a/cpukit/score/macros/rtems/score/object.inl +++ b/cpukit/score/macros/rtems/score/object.inl @@ -93,21 +93,39 @@ /*PAGE * - * _Objects_Allocate + * _Objects_Get_local_object * */ -#define _Objects_Allocate( _information ) \ - (Objects_Control *) _Chain_Get( &(_information)->Inactive ) +#define _Objects_Get_local_object( information, index ) \ + ( ( index > information->maximum) ? NULL : \ + information->local_table[ index ] ) /*PAGE * - * _Objects_Free + * _Objects_Set_local_object * */ -#define _Objects_Free( _information, _the_object ) \ - _Chain_Append( &(_information)->Inactive, &(_the_object)->Node ) +#define _Objects_Set_local_object( information, index, the_object ) \ + { \ + if ( index <= information->maximum) \ + information->local_table[ index ] = the_object; \ + } + + +/*PAGE + * + * _Objects_Get_information + * + */ + +#define _Objects_Get_information( id ) \ + ( \ + ( !_Objects_Is_class_valid( _Objects_Get_class( id ) ) ) ? \ + NULL : \ + _Objects_Information_table[ _Objects_Get_class( id ) ] \ + ) /*PAGE * |