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


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] |
| #define _Objects_Build_name | ( | _C1, | |||
| _C2, | |||||
| _C3, | |||||
| _C4 | ) |
Value:
( (uint32_t)(_C1) << 24 | \
(uint32_t)(_C2) << 16 | \
(uint32_t)(_C3) << 8 | \
(uint32_t)(_C4) )
| [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 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).
| enum Objects_APIs |
This enumerated type is used in the class field of the object ID.
| enum Objects_Classic_API |
This enumerated type is used in the class field of the object ID for the RTEMS Classic API.
| enum Objects_Internal_API |
This enumerated type is used in the class field of the object ID for RTEMS internal object classes.
| enum Objects_ITRON_API |
This enumerated type is used in the class field of the object ID for the ITRON API.
| enum Objects_Locations |
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.
| enum Objects_POSIX_API |
This enumerated type is used in the class field of the object ID for the POSIX API.
| Objects_Control* _Objects_Allocate | ( | Objects_Information * | information | ) |
This function allocates a object control block from the inactive chain of free object control blocks.
| [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.
| [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.
| [in] | api | is the API of interest |
| 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.
| [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.
| [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.
| [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.
| [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. |
| 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.
| [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. |
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_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.
| [in] | the_api | indicates the API for the information we want |
| [in] | the_class | indicates the Class for the information we want |
| Objects_Information* _Objects_Get_information_id | ( | Objects_Id | id | ) |
This function return the information structure given an id of an object.
| [in] | id | is an 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.
| [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. |
| 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.
| [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. |
| 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.
| [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. |
| 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.
| [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. |
| 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.
| [in] | id | is the Id of the object whose name we are locating. |
| [in] | name | will contain the name of the object, if found. |
| 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.
| [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.
| [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. |
| 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.
| [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. |
| void _Objects_Namespace_remove | ( | Objects_Information * | information, | |
| Objects_Control * | the_object | |||
| ) |
This function removes the_object from the namespace.
| [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.
| [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 |
| void _Objects_Shrink_information | ( | Objects_Information * | information | ) |
This function shrink an object class information record.
| [in] | information | points to an object class information block. |
| 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.
1.5.6