object.h File Reference

#include <rtems/score/chain.h>
#include <rtems/score/isr.h>
#include <rtems/score/object.inl>

Include dependency graph for object.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  Objects_Name
struct  Objects_Control
struct  Objects_Information

Defines

#define OBJECTS_NAME_ALIGNMENT   sizeof( uint32_t )
#define OBJECTS_INDEX_START_BIT   0
#define OBJECTS_NODE_START_BIT   16
#define OBJECTS_API_START_BIT   24
#define OBJECTS_CLASS_START_BIT   27
#define OBJECTS_INDEX_MASK   (Objects_Id)0x0000ffff
#define OBJECTS_NODE_MASK   (Objects_Id)0x00ff0000
#define OBJECTS_API_MASK   (Objects_Id)0x07000000
#define OBJECTS_CLASS_MASK   (Objects_Id)0xf8000000
#define OBJECTS_INDEX_VALID_BITS   (Objects_Id)0x0000ffff
#define OBJECTS_NODE_VALID_BITS   (Objects_Id)0x000000ff
#define OBJECTS_API_VALID_BITS   (Objects_Id)0x00000007
#define OBJECTS_CLASS_VALID_BITS   (Objects_Id)0x0000001f
#define OBJECTS_UNLIMITED_OBJECTS   0x80000000
#define OBJECTS_ID_INITIAL_INDEX   (0)
#define OBJECTS_ID_FINAL_INDEX   (0xff)
#define OBJECTS_APIS_LAST   OBJECTS_ITRON_API
#define OBJECTS_INTERNAL_CLASSES_LAST   OBJECTS_INTERNAL_MUTEXES
#define OBJECTS_RTEMS_CLASSES_LAST   OBJECTS_RTEMS_BARRIERS
#define OBJECTS_POSIX_CLASSES_LAST   OBJECTS_POSIX_RWLOCKS
#define OBJECTS_ITRON_CLASSES_LAST   OBJECTS_ITRON_FIXED_MEMORY_POOLS
#define _Objects_Local_node   ((uint16_t)1)
#define _Objects_Maximum_nodes   1
#define OBJECTS_ID_NONE   0
#define OBJECTS_ID_OF_SELF   ((Objects_Id) 0)
#define OBJECTS_SEARCH_ALL_NODES   0
#define OBJECTS_SEARCH_OTHER_NODES   0x7FFFFFFE
#define OBJECTS_SEARCH_LOCAL_NODE   0x7FFFFFFF
#define OBJECTS_WHO_AM_I   0
#define OBJECTS_ID_INITIAL(_api, _class, _node)   _Objects_Build_id( (_api), (_class), (_node), OBJECTS_ID_INITIAL_INDEX )
#define OBJECTS_ID_FINAL   ((Objects_Id)~0)
#define _Objects_Build_name(_C1, _C2, _C3, _C4)
#define OBJECTS_NAME_ERRORS_FIRST   OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL
#define OBJECTS_NAME_ERRORS_LAST   OBJECTS_INVALID_NODE

Typedefs

typedef boolean(* Objects_Name_comparators )(void *, void *, uint16_t)
typedef uint32_t Objects_Id
typedef uint16_t Objects_Maximum
typedef void(* Objects_Thread_queue_Extract_callout )(void *)

Enumerations

enum  Objects_APIs {
  OBJECTS_NO_API = 0, OBJECTS_INTERNAL_API = 1, OBJECTS_CLASSIC_API = 2, OBJECTS_POSIX_API = 3,
  OBJECTS_ITRON_API = 4
}
enum  Objects_Internal_API { OBJECTS_INTERNAL_NO_CLASS = 0, OBJECTS_INTERNAL_THREADS = 1, OBJECTS_INTERNAL_MUTEXES = 2 }
enum  Objects_Classic_API {
  OBJECTS_CLASSIC_NO_CLASS = 0, OBJECTS_RTEMS_TASKS = 1, OBJECTS_RTEMS_TIMERS = 2, OBJECTS_RTEMS_SEMAPHORES = 3,
  OBJECTS_RTEMS_MESSAGE_QUEUES = 4, OBJECTS_RTEMS_PARTITIONS = 5, OBJECTS_RTEMS_REGIONS = 6, OBJECTS_RTEMS_PORTS = 7,
  OBJECTS_RTEMS_PERIODS = 8, OBJECTS_RTEMS_EXTENSIONS = 9, OBJECTS_RTEMS_BARRIERS = 10
}
enum  Objects_POSIX_API {
  OBJECTS_POSIX_NO_CLASS = 0, OBJECTS_POSIX_THREADS = 1, OBJECTS_POSIX_KEYS = 2, OBJECTS_POSIX_INTERRUPTS = 3,
  OBJECTS_POSIX_MESSAGE_QUEUE_FDS = 4, OBJECTS_POSIX_MESSAGE_QUEUES = 5, OBJECTS_POSIX_MUTEXES = 6, OBJECTS_POSIX_SEMAPHORES = 7,
  OBJECTS_POSIX_CONDITION_VARIABLES = 8, OBJECTS_POSIX_TIMERS = 9, OBJECTS_POSIX_BARRIERS = 10, OBJECTS_POSIX_SPINLOCKS = 11,
  OBJECTS_POSIX_RWLOCKS = 12
}
enum  Objects_ITRON_API {
  OBJECTS_ITRON_NO_CLASS = 0, OBJECTS_ITRON_TASKS = 1, OBJECTS_ITRON_EVENTFLAGS = 2, OBJECTS_ITRON_MAILBOXES = 3,
  OBJECTS_ITRON_MESSAGE_BUFFERS = 4, OBJECTS_ITRON_PORTS = 5, OBJECTS_ITRON_SEMAPHORES = 6, OBJECTS_ITRON_VARIABLE_MEMORY_POOLS = 7,
  OBJECTS_ITRON_FIXED_MEMORY_POOLS = 8
}
enum  Objects_Locations { OBJECTS_LOCAL = 0, OBJECTS_ERROR = 1 }
enum  Objects_Name_or_id_lookup_errors {
  OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL, OBJECTS_INVALID_NAME, OBJECTS_INVALID_ADDRESS, OBJECTS_INVALID_ID,
  OBJECTS_INVALID_NODE
}

Functions

void _Objects_Handler_initialization (void)
void _Objects_Extend_information (Objects_Information *information)
void _Objects_Shrink_information (Objects_Information *information)
void _Objects_Initialize_information (Objects_Information *information, Objects_APIs the_api, uint32_t the_class, uint32_t maximum, uint16_t size, boolean is_string, uint32_t maximum_name_length)
int _Objects_API_maximum_class (uint32_t api)
Objects_Control_Objects_Allocate (Objects_Information *information)
Objects_Control_Objects_Allocate_by_index (Objects_Information *information, uint16_t index, uint16_t sizeof_control)
void _Objects_Free (Objects_Information *information, Objects_Control *the_object)
Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32 (Objects_Information *information, uint32_t name, uint32_t node, Objects_Id *id)
Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string (Objects_Information *information, const char *name, Objects_Id *id)
Objects_Name_or_id_lookup_errors _Objects_Id_to_name (Objects_Id id, Objects_Name *name)
Objects_Control_Objects_Get (Objects_Information *information, Objects_Id id, Objects_Locations *location)
Objects_Control_Objects_Get_isr_disable (Objects_Information *information, Objects_Id id, Objects_Locations *location, ISR_Level *level)
Objects_Control_Objects_Get_by_index (Objects_Information *information, Objects_Id id, Objects_Locations *location)
Objects_Control_Objects_Get_no_protection (Objects_Information *information, Objects_Id id, Objects_Locations *location)
Objects_Control_Objects_Get_next (Objects_Information *information, Objects_Id id, Objects_Locations *location_p, Objects_Id *next_id_p)
Objects_Information_Objects_Get_information (Objects_APIs the_api, uint32_t the_class)
Objects_Information_Objects_Get_information_id (Objects_Id id)
char * _Objects_Get_name_as_string (Objects_Id id, size_t length, char *name)
boolean _Objects_Set_name (Objects_Information *information, Objects_Control *the_object, const char *name)
void _Objects_Namespace_remove (Objects_Information *information, Objects_Control *the_object)
void _Objects_Close (Objects_Information *information, Objects_Control *the_object)

Variables

SCORE_EXTERN Objects_Information ** _Objects_Information_table [OBJECTS_APIS_LAST+1]


Detailed Description

This include file contains all the constants and structures associated with the Object Handler. This Handler provides mechanisms which can be used to initialize and manipulate all objects which have ids.

Define Documentation

#define _Objects_Build_name ( _C1,
_C2,
_C3,
_C4   ) 

Value:

( (uint32_t)(_C1) << 24 | \
    (uint32_t)(_C2) << 16 | \
    (uint32_t)(_C3) << 8 | \
    (uint32_t)(_C4) )
This macro is used to build a thirty-two bit style name from four characters. The most significant byte will be the character _C1.

Parameters:
[in] _C1 is the first character of the name
[in] _C2 is the second character of the name
[in] _C3 is the third character of the name
[in] _C4 is the fourth character of the name

#define _Objects_Local_node   ((uint16_t)1)

The following is referenced to the node number of the local node.

Referenced by _Objects_Is_local_node().

#define _Objects_Maximum_nodes   1

The following is referenced to the number of nodes in the system.

#define OBJECTS_API_MASK   (Objects_Id)0x07000000

This mask is used to extract the API portion of an object Id.

#define OBJECTS_API_START_BIT   24

This is the bit position of the starting bit of the API portion of the object Id.

Referenced by _Objects_Build_id(), and _Objects_Get_API().

#define OBJECTS_API_VALID_BITS   (Objects_Id)0x00000007

This mask represents the bits that is used to ensure no extra bits are set after shifting to extract the API portion of an object Id.

Referenced by _Objects_Get_API().

#define OBJECTS_APIS_LAST   OBJECTS_ITRON_API

This macro is used to generically specify the last API index.

Referenced by _Objects_Is_api_valid().

#define OBJECTS_CLASS_MASK   (Objects_Id)0xf8000000

This mask is used to extract the class portion of an object Id.

#define OBJECTS_CLASS_START_BIT   27

This is the bit position of the starting bit of the class portion of the object Id.

Referenced by _Objects_Build_id(), and _Objects_Get_class().

#define OBJECTS_CLASS_VALID_BITS   (Objects_Id)0x0000001f

This mask represents the bits that is used to ensure no extra bits are set after shifting to extract the class portion of an object Id.

Referenced by _Objects_Get_class().

#define OBJECTS_ID_FINAL   ((Objects_Id)~0)

This macro specifies the highest object ID value

#define OBJECTS_ID_FINAL_INDEX   (0xff)

This is the highest value for the index portion of an object Id.

#define OBJECTS_ID_INITIAL ( _api,
_class,
_node   )     _Objects_Build_id( (_api), (_class), (_node), OBJECTS_ID_INITIAL_INDEX )

This macros calculates the lowest ID for the specified api, class, and node.

#define OBJECTS_ID_INITIAL_INDEX   (0)

This is the lowest value for the index portion of an object Id.

#define OBJECTS_ID_NONE   0

No object can have this ID.

#define OBJECTS_ID_OF_SELF   ((Objects_Id) 0)

The following defines the constant which may be used with _Objects_Get to manipulate the calling task.

#define OBJECTS_INDEX_MASK   (Objects_Id)0x0000ffff

This mask is used to extract the index portion of an object Id.

#define OBJECTS_INDEX_START_BIT   0

This is the bit position of the starting bit of the index portion of the object Id.

Referenced by _Objects_Build_id(), and _Objects_Get_index().

#define OBJECTS_INDEX_VALID_BITS   (Objects_Id)0x0000ffff

This mask represents the bits that is used to ensure no extra bits are set after shifting to extract the index portion of an object Id.

Referenced by _Objects_Get_index().

#define OBJECTS_INTERNAL_CLASSES_LAST   OBJECTS_INTERNAL_MUTEXES

This macro is used to generically specify the last API index.

#define OBJECTS_ITRON_CLASSES_LAST   OBJECTS_ITRON_FIXED_MEMORY_POOLS

This macro is used to generically specify the last API index.

#define OBJECTS_NAME_ALIGNMENT   sizeof( uint32_t )

Space for object names is allocated in multiples of this.

NOTE: Must be a power of 2. Matches the name manipulation routines.

#define OBJECTS_NAME_ERRORS_FIRST   OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL

This macro defines the first entry in the Objects_Name_or_id_lookup_errors enumerated list.

#define OBJECTS_NAME_ERRORS_LAST   OBJECTS_INVALID_NODE

This macro defines the last entry in the Objects_Name_or_id_lookup_errors enumerated list.

#define OBJECTS_NODE_MASK   (Objects_Id)0x00ff0000

This mask is used to extract the node portion of an object Id.

#define OBJECTS_NODE_START_BIT   16

This is the bit position of the starting bit of the node portion of the object Id.

Referenced by _Objects_Build_id(), and _Objects_Get_node().

#define OBJECTS_NODE_VALID_BITS   (Objects_Id)0x000000ff

This mask represents the bits that is used to ensure no extra bits are set after shifting to extract the node portion of an object Id.

Referenced by _Objects_Get_node().

#define OBJECTS_POSIX_CLASSES_LAST   OBJECTS_POSIX_RWLOCKS

This macro is used to generically specify the last API index.

#define OBJECTS_RTEMS_CLASSES_LAST   OBJECTS_RTEMS_BARRIERS

This macro is used to generically specify the last API index.

#define OBJECTS_SEARCH_ALL_NODES   0

The following constant is used to specify that a name to ID search should search through all nodes.

#define OBJECTS_SEARCH_LOCAL_NODE   0x7FFFFFFF

The following constant is used to specify that a name to ID search should search only on this node.

#define OBJECTS_SEARCH_OTHER_NODES   0x7FFFFFFE

The following constant is used to specify that a name to ID search should search through all nodes except the current node.

#define OBJECTS_UNLIMITED_OBJECTS   0x80000000

Mask to enable unlimited objects. This is used in the configuration table when specifying the number of configured objects.

#define OBJECTS_WHO_AM_I   0

The following constant is used to specify that a name to ID search is being asked for the ID of the currently executing task.


Typedef Documentation

typedef uint32_t Objects_Id

The following type defines the control block used to manage object IDs. The format is as follows (0=LSB):

Bits 0 .. 15 = index (up to 65535 objects of a type) Bits 16 .. 23 = node (up to 255 nodes) Bits 24 .. 26 = API (up to 7 API classes) Bits 27 .. 31 = class (up to 31 object types per API)

typedef uint16_t Objects_Maximum

This type is used to store the maximum number of allowed objects of each type.

typedef boolean(* Objects_Name_comparators)(void *, void *, uint16_t)

Functions which compare names are prototyped like this.

typedef void( * Objects_Thread_queue_Extract_callout)(void *)

The following type defines the callout used when a local task is extracted from a remote thread queue (i.e. it's proxy must extracted from the remote queue).


Enumeration Type Documentation

This enumerated type is used in the class field of the object ID.

This enumerated type is used in the class field of the object ID for the RTEMS Classic API.

This enumerated type is used in the class field of the object ID for RTEMS internal object classes.

This enumerated type is used in the class field of the object ID for the ITRON API.

This enumerated type lists the locations which may be returned by _Objects_Get. These codes indicate the success of locating an object with the specified ID.

This function implements the common portion of the object identification directives. This directive returns the object id associated with name. If more than one object of this class is named name, then the object to which the id belongs is arbitrary. Node indicates the extent of the search for the id of the object named name. If the object class supports global objects, then the search can be limited to a particular node or allowed to encompass all nodes.

This enumerated type is used in the class field of the object ID for the POSIX API.


Function Documentation

Objects_Control* _Objects_Allocate ( Objects_Information information  ) 

This function allocates a object control block from the inactive chain of free object control blocks.

Parameters:
[in] information points to an object class information block.

Referenced by _Thread_Internal_allocate().

Objects_Control* _Objects_Allocate_by_index ( Objects_Information information,
uint16_t  index,
uint16_t  sizeof_control 
)

This function allocates the object control block specified by the index from the inactive chain of free object control blocks.

Parameters:
[in] information points to an object class information block.
[in] index is the index of the object to allocate.
[in] sizeof_control is the size of the object control block.

int _Objects_API_maximum_class ( uint32_t  api  ) 

This function returns the highest numeric value of a valid API for the specified api.

Parameters:
[in] api is the API of interest
Returns:
A positive integer on success and -1 otherwise.

void _Objects_Close ( Objects_Information information,
Objects_Control the_object 
)

This function removes the_object control pointer and object name in the Local Pointer and Local Name Tables.

Parameters:
[in] information points to an Object Information Table
[in] the_object is a pointer to an object

void _Objects_Extend_information ( Objects_Information information  ) 

This function extends an object class information record.

Parameters:
[in] information points to an object class information block.

void _Objects_Free ( Objects_Information information,
Objects_Control the_object 
)

This function frees a object control block to the inactive chain of free object control blocks.

Parameters:
[in] information points to an object class information block.
[in] the_object points to the object to deallocate.

Referenced by _Thread_Internal_free().

Objects_Control* _Objects_Get ( Objects_Information information,
Objects_Id  id,
Objects_Locations location 
)

This function maps object ids to object control blocks. If id corresponds to a local object, then it returns the_object control pointer which maps to id and location is set to OBJECTS_LOCAL. If the object class supports global objects and the object id is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_object is undefined. Otherwise, location is set to OBJECTS_ERROR and the_object is undefined.

Parameters:
[in] information points to an object class information block.
[in] id is the Id of the object whose name we are locating.
[in] location will contain an indication of success or failure.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success id will contain the Id of the requested object.
Note:
_Objects_Get returns with dispatching disabled for local and remote objects. _Objects_Get_isr_disable returns with dispatching disabled for remote objects and interrupts for local objects.

Objects_Control* _Objects_Get_by_index ( Objects_Information information,
Objects_Id  id,
Objects_Locations location 
)

This function maps object index to object control blocks which must. be local. The parameter the_object control pointer which maps to id and location is set to OBJECTS_LOCAL. Otherwise, location is set to OBJECTS_ERROR and the_object is undefined.

Parameters:
[in] information points to an object class information block.
[in] id is the Id of the object whose name we are locating.
[in] location will contain an indication of success or failure.
Returns:
This method returns a pointer to the object associated with ID.

This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success id will contain the id of the requested object.

Note:
_Objects_Get returns with dispatching disabled for local and remote objects. _Objects_Get_isr_disable returns with dispatching disabled for remote objects and interrupts for local objects.

Objects_Information* _Objects_Get_information ( Objects_APIs  the_api,
uint32_t  the_class 
)

This function return the information structure given an the API and Class. This can be done independent of the existence of any objects created by the API.

Parameters:
[in] the_api indicates the API for the information we want
[in] the_class indicates the Class for the information we want
Returns:
This method returns a pointer to the Object Information Table for the class of objects which corresponds to this object ID.

Objects_Information* _Objects_Get_information_id ( Objects_Id  id  ) 

This function return the information structure given an id of an object.

Parameters:
[in] id is an object ID
Returns:
This method returns a pointer to the Object Information Table for the class of objects which corresponds to this object ID.

Objects_Control* _Objects_Get_isr_disable ( Objects_Information information,
Objects_Id  id,
Objects_Locations location,
ISR_Level level 
)

This function maps object ids to object control blocks. If id corresponds to a local object, then it returns the_object control pointer which maps to id and location is set to OBJECTS_LOCAL. If the object class supports global objects and the object id is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_object is undefined. Otherwise, location is set to OBJECTS_ERROR and the_object is undefined.

Parameters:
[in] information points to an object class information block.
[in] id is the Id of the object whose name we are locating.
[in] location will contain an indication of success or failure.
[in] level is the interrupt level being turned.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success name will contain the name of the requested object.
Note:
_Objects_Get returns with dispatching disabled for local and remote objects. _Objects_Get_isr_disable returns with dispatchng disabled for remote objects and interrupts for local objects.

char* _Objects_Get_name_as_string ( Objects_Id  id,
size_t  length,
char *  name 
)

This method objects the name of an object and returns its name in the form of a C string. It attempts to be careful about overflowing the user's string and about returning unprintable characters.

Parameters:
[in] id is the object to obtain the name of
[in] length indicates the length of the caller's buffer
[in] name points a string which will be filled in.
Returns:
This method returns name or NULL on error. *name will contain the name if successful.

Objects_Control* _Objects_Get_next ( Objects_Information information,
Objects_Id  id,
Objects_Locations location_p,
Objects_Id next_id_p 
)

Like _Objects_Get, but is used to find "next" open object.

Parameters:
[in] information points to an object class information block.
[in] id is the Id of the object whose name we are locating.
[in] location_p will contain an indication of success or failure.
[in] next_id_p is the Id of the next object we will look at.
Returns:
This method returns the pointer to the object located or NULL on error.

Objects_Control* _Objects_Get_no_protection ( Objects_Information information,
Objects_Id  id,
Objects_Locations location 
)

This function maps object ids to object control blocks. If id corresponds to a local object, then it returns the_object control pointer which maps to id and location is set to OBJECTS_LOCAL. If the object class supports global objects and the object id is global and resides on a remote node, then location is set to OBJECTS_REMOTE, and the_object is undefined. Otherwise, location is set to OBJECTS_ERROR and the_object is undefined.

Parameters:
[in] information points to an object class information block.
[in] id is the Id of the object whose name we are locating.
[in] location will contain an indication of success or failure.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success id will contain the Id of the requested object.
Note:
_Objects_Get returns with dispatching disabled for local and remote objects. _Objects_Get_isr_disable returns with dispatching disabled for remote objects and interrupts for local objects.

void _Objects_Handler_initialization ( void   ) 

This function performs the initialization necessary for this handler.

Objects_Name_or_id_lookup_errors _Objects_Id_to_name ( Objects_Id  id,
Objects_Name name 
)

This function implements the common portion of the object Id to name directives. This function returns the name associated with object id.

Parameters:
[in] id is the Id of the object whose name we are locating.
[in] name will contain the name of the object, if found.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success name will contain the name of the requested object.
Note:
This function currently does not support string names.

void _Objects_Initialize_information ( Objects_Information information,
Objects_APIs  the_api,
uint32_t  the_class,
uint32_t  maximum,
uint16_t  size,
boolean  is_string,
uint32_t  maximum_name_length 
)

This function initializes an object class information record. SUPPORTS_GLOBAL is TRUE if the object class supports global objects, and FALSE otherwise. Maximum indicates the number of objects required in this class and size indicates the size in bytes of each control block for this object class. The name length and string designator are also set. In addition, the class may be a task, therefore this information is also included.

Parameters:
[in] information points to an object class information block.
[in] the_api indicates the API associated with this information block.
[in] the_class indicates the class of object being managed by this information block. It is specific to the_api.
[in] maximum is the maximum number of instances of this object class which may be concurrently active.
[in] size is the size of the data structure for this class.
[in] is_string is TRUE if this object uses string style names.
[in] maximum_name_length is the maximum length of object names.

Objects_Name_or_id_lookup_errors _Objects_Name_to_id_string ( Objects_Information information,
const char *  name,
Objects_Id id 
)

This method converts an object name to an Id. It performs a look up using the object information block for this object class.

Parameters:
[in] information points to an object class information block.
[in] name is the name of the object to find.
[in] id will contain the Id if the search is successful.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success id will contain the Id of the requested object.

Objects_Name_or_id_lookup_errors _Objects_Name_to_id_u32 ( Objects_Information information,
uint32_t  name,
uint32_t  node,
Objects_Id id 
)

This method converts an object name to an Id. It performs a look up using the object information block for this object class.

Parameters:
[in] information points to an object class information block.
[in] name is the name of the object to find.
[in] node is the set of nodes to search.
[in] id will contain the Id if the search is successful.
Returns:
This method returns one of the values from the Objects_Name_or_id_lookup_errors enumeration to indicate successful or failure. On success id will contain the Id of the requested object.

void _Objects_Namespace_remove ( Objects_Information information,
Objects_Control the_object 
)

This function removes the_object from the namespace.

Parameters:
[in] information points to an Object Information Table
[in] the_object is a pointer to an object

boolean _Objects_Set_name ( Objects_Information information,
Objects_Control the_object,
const char *  name 
)

This method sets the object name to either a copy of a string or up to the first four characters of the string based upon whether this object class uses strings for names.

Parameters:
[in] information points to the object information structure
[in] the_object is the object to operate upon
[in] name is a pointer to the name to use
Returns:
If successful, TRUE is returned. Otherwise FALSE is returned.

void _Objects_Shrink_information ( Objects_Information information  ) 

This function shrink an object class information record.

Parameters:
[in] information points to an object class information block.


Variable Documentation

SCORE_EXTERN Objects_Information** _Objects_Information_table[OBJECTS_APIS_LAST+1]

The following is the list of information blocks per API for each object class. From the ID, we can go to one of these information blocks, and obtain a pointer to the appropriate object control block.


Generated on Fri Jul 4 12:16:35 2008 for RTEMSSuperCore by  doxygen 1.5.6