summaryrefslogtreecommitdiffstats
path: root/cpukit/score/inline
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-23 19:30:23 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1995-08-23 19:30:23 +0000
commit3235ad9a2cd717df901853ad5220a4aaffae84a9 (patch)
treef73a01d8c3065188a3ab283cf545b3ce7bc4f696 /cpukit/score/inline
parentAdded file .. fixed RCS Id (diff)
downloadrtems-3235ad9a2cd717df901853ad5220a4aaffae84a9.tar.bz2
Support for variable length names added to Object Handler. This supports
both fixed length "raw" names and strings from the API's point of view. Both inline and macro implementations were tested.
Diffstat (limited to 'cpukit/score/inline')
-rw-r--r--cpukit/score/inline/rtems/score/object.inl45
1 files changed, 7 insertions, 38 deletions
diff --git a/cpukit/score/inline/rtems/score/object.inl b/cpukit/score/inline/rtems/score/object.inl
index da65807aa1..687ffd923b 100644
--- a/cpukit/score/inline/rtems/score/object.inl
+++ b/cpukit/score/inline/rtems/score/object.inl
@@ -19,39 +19,6 @@
/*PAGE
*
- * _Objects_Is_name_valid
- *
- */
-
-STATIC INLINE boolean _Objects_Is_name_valid (
- Objects_Name name
-)
-{
- return ( name != 0 );
-}
-
-/*PAGE
- *
- * rtems_name_to_characters
- *
- */
-
-STATIC INLINE void rtems_name_to_characters(
- Objects_Name name,
- char *c1,
- char *c2,
- char *c3,
- char *c4
-)
-{
- *c1 = (name >> 24) & 0xff;
- *c2 = (name >> 16) & 0xff;
- *c3 = (name >> 8) & 0xff;
- *c4 = name & 0xff;
-}
-
-/*PAGE
- *
* _Objects_Build_id
*
*/
@@ -186,12 +153,15 @@ STATIC INLINE void _Objects_Open(
Objects_Name name
)
{
- unsigned32 index;
+ unsigned32 index;
index = rtems_get_index( the_object->id );
information->local_table[ index ] = the_object;
- information->name_table[ index ] = name;
- the_object->name = &information->name_table[ index ];
+
+ if ( information->is_string )
+ _Objects_Copy_name_string( name, the_object->name );
+ else
+ _Objects_Copy_name_raw( name, the_object->name, information->name_length );
}
/*PAGE
@@ -209,8 +179,7 @@ STATIC INLINE void _Objects_Close(
index = rtems_get_index( the_object->id );
information->local_table[ index ] = NULL;
- information->name_table[ index ] = 0;
- the_object->name = 0;
+ _Objects_Clear_name( the_object->name, information->name_length );
}
#endif