RTEMS CPU Kit with SuperCore
4.11.2
|
Constants and Structures Associated with the Object Handler. More...
Go to the source code of this file.
Data Structures | |
union | Objects_Name |
The following type defines the control block used to manage object names. More... | |
struct | Objects_Control |
The following defines the Object Control Block used to manage each object local to this node. More... | |
Macros | |
#define | OBJECTS_INDEX_START_BIT 0U |
This is the bit position of the starting bit of the index portion of the object Id. | |
#define | OBJECTS_NODE_START_BIT 16U |
This is the bit position of the starting bit of the node portion of the object Id. | |
#define | OBJECTS_API_START_BIT 24U |
This is the bit position of the starting bit of the API portion of the object Id. | |
#define | OBJECTS_CLASS_START_BIT 27U |
This is the bit position of the starting bit of the class portion of the object Id. | |
#define | OBJECTS_INDEX_MASK (Objects_Id)0x0000ffffU |
This mask is used to extract the index portion of an object Id. | |
#define | OBJECTS_NODE_MASK (Objects_Id)0x00ff0000U |
This mask is used to extract the node portion of an object Id. | |
#define | OBJECTS_API_MASK (Objects_Id)0x07000000U |
This mask is used to extract the API portion of an object Id. | |
#define | OBJECTS_CLASS_MASK (Objects_Id)0xf8000000U |
This mask is used to extract the class portion of an object Id. | |
#define | OBJECTS_INDEX_VALID_BITS (Objects_Id)0x0000ffffU |
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. | |
#define | OBJECTS_NODE_VALID_BITS (Objects_Id)0x000000ffU |
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. | |
#define | OBJECTS_API_VALID_BITS (Objects_Id)0x00000007U |
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. | |
#define | OBJECTS_CLASS_VALID_BITS (Objects_Id)0x0000001fU |
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. | |
#define | OBJECTS_UNLIMITED_OBJECTS 0x80000000U |
Mask to enable unlimited objects. More... | |
#define | OBJECTS_ID_INITIAL_INDEX (0) |
This is the lowest value for the index portion of an object Id. | |
#define | OBJECTS_ID_FINAL_INDEX (0xffffU) |
This is the highest value for the index portion of an object Id. | |
#define | OBJECTS_APIS_LAST OBJECTS_POSIX_API |
This macro is used to generically specify the last API index. More... | |
#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_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_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_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_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. | |
#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_FINAL ((Objects_Id)~0) |
This macro specifies the highest object ID value. | |
#define | _Objects_Build_name(_C1, _C2, _C3, _C4) |
This macro is used to build a thirty-two bit style name from four characters. More... | |
#define | _Objects_Maximum_per_allocation(maximum) ((Objects_Maximum) ((maximum) & ~OBJECTS_UNLIMITED_OBJECTS)) |
Typedefs | |
typedef uint32_t | Objects_Id |
The following type defines the control block used to manage object IDs. More... | |
typedef uint16_t | Objects_Maximum |
This type is used to store the maximum number of allowed objects of each type. | |
Enumerations | |
enum | Objects_APIs { OBJECTS_NO_API = 0, OBJECTS_INTERNAL_API = 1, OBJECTS_CLASSIC_API = 2, OBJECTS_POSIX_API = 3, OBJECTS_FAKE_OBJECTS_API = 7 } |
This enumerated type is used in the class field of the object ID. | |
Functions | |
RTEMS_INLINE_ROUTINE Objects_APIs | _Objects_Get_API (Objects_Id id) |
This function returns the API portion of the ID. More... | |
RTEMS_INLINE_ROUTINE uint32_t | _Objects_Get_class (Objects_Id id) |
This function returns the class portion of the ID. More... | |
RTEMS_INLINE_ROUTINE uint32_t | _Objects_Get_node (Objects_Id id) |
This function returns the node portion of the ID. More... | |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Get_index (Objects_Id id) |
This function returns the index portion of the ID. More... | |
RTEMS_INLINE_ROUTINE Objects_Id | _Objects_Build_id (Objects_APIs the_api, uint16_t the_class, uint8_t node, uint16_t index) |
This function builds an object's id from the processor node and index values specified. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_unlimited (uint32_t maximum) |
Returns if the object maximum specifies unlimited objects. More... | |
Constants and Structures Associated with the Object Handler.
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.