RTEMS
5.1
|
Inlined Routines in the Object Handler. More...
#include <rtems/score/objectdata.h>
#include <rtems/score/apimutex.h>
#include <rtems/score/assert.h>
#include <rtems/score/isrlock.h>
#include <rtems/score/sysstate.h>
#include <rtems/score/threaddispatch.h>
Go to the source code of this file.
Macros | |
#define | OBJECTS_INTERNAL_CLASSES_LAST OBJECTS_INTERNAL_THREADS |
#define | OBJECTS_RTEMS_CLASSES_LAST OBJECTS_RTEMS_BARRIERS |
#define | OBJECTS_POSIX_CLASSES_LAST OBJECTS_POSIX_SHMS |
#define | _Objects_Maximum_nodes 1 |
#define | OBJECTS_INDEX_MINIMUM 1U |
#define | OBJECTS_NAME_ERRORS_FIRST OBJECTS_NAME_OR_ID_LOOKUP_SUCCESSFUL |
#define | OBJECTS_NAME_ERRORS_LAST OBJECTS_INVALID_NODE |
Typedefs | |
typedef bool(* | Objects_Name_comparators) (void *, void *, uint16_t) |
Enumerations | |
enum | Objects_Fake_objects_API { OBJECTS_FAKE_OBJECTS_NO_CLASS = 0, OBJECTS_FAKE_OBJECTS_SCHEDULERS = 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 } |
enum | Objects_Get_by_name_error { OBJECTS_GET_BY_NAME_INVALID_NAME, OBJECTS_GET_BY_NAME_NAME_TOO_LONG, OBJECTS_GET_BY_NAME_NO_OBJECT } |
Functions | |
Objects_Maximum | _Objects_Extend_information (Objects_Information *information) |
Extends an object class information record. More... | |
void | _Objects_Free_objects_block (Objects_Information *information, Objects_Maximum block) |
Free the objects block with the specified index. More... | |
void | _Objects_Shrink_information (Objects_Information *information) |
Shrinks an object class information record. More... | |
void | _Objects_Initialize_information (Objects_Information *information) |
Initializes the specified objects information. More... | |
unsigned int | _Objects_API_maximum_class (uint32_t api) |
Returns highest numeric value of a valid API for the specified API. More... | |
Objects_Control * | _Objects_Allocate (Objects_Information *information) |
Allocates an object. More... | |
Objects_Name_or_id_lookup_errors | _Objects_Name_to_id_u32 (Objects_Information *information, uint32_t name, uint32_t node, Objects_Id *id) |
Converts an object name to an Id. More... | |
Objects_Control * | _Objects_Get_by_name (const Objects_Information *information, const char *name, size_t *name_length_p, Objects_Get_by_name_error *error) |
Gets an object control block identified by its name. More... | |
Objects_Name_or_id_lookup_errors | _Objects_Id_to_name (Objects_Id id, Objects_Name *name) |
Returns the name associated with object id. More... | |
Objects_Control * | _Objects_Get (Objects_Id id, ISR_lock_Context *lock_context, const Objects_Information *information) |
Maps the specified object identifier to the associated local object control block. More... | |
Objects_Control * | _Objects_Get_no_protection (Objects_Id id, const Objects_Information *information) |
Maps object ids to object control blocks. More... | |
Objects_Control * | _Objects_Get_next (Objects_Id id, const Objects_Information *information, Objects_Id *next_id_p) |
Gets the next open object after the specified object identifier. More... | |
Objects_Information * | _Objects_Get_information (Objects_APIs the_api, uint16_t the_class) |
Gets object information. More... | |
Objects_Information * | _Objects_Get_information_id (Objects_Id id) |
Gets information of an object from an ID. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Has_string_name (const Objects_Information *information) |
Returns if the object has a string name. More... | |
char * | _Objects_Get_name_as_string (Objects_Id id, size_t length, char *name) |
Gets object name in the form of a C string. More... | |
size_t | _Objects_Name_to_string (Objects_Name name, bool is_string, char *buffer, size_t buffer_size) |
Converts the specified object name to a text representation. More... | |
bool | _Objects_Set_name (const Objects_Information *information, Objects_Control *the_object, const char *name) |
Sets objects name. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Namespace_remove_u32 (const Objects_Information *information, Objects_Control *the_object) |
Removes object with a 32-bit integer name from its namespace. More... | |
void | _Objects_Namespace_remove_string (const Objects_Information *information, Objects_Control *the_object) |
Removes object with a string name from its namespace. More... | |
void | _Objects_Close (const Objects_Information *information, Objects_Control *the_object) |
Closes object. More... | |
Objects_Maximum | _Objects_Active_count (const Objects_Information *information) |
Returns the count of active objects. More... | |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Extend_size (const Objects_Information *information) |
Returns the object's objects per block. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_api_valid (uint32_t the_api) |
Checks if the api is valid. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_local_node (uint32_t node) |
Checks if the node is of the local object. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_local_id (Objects_Id id RTEMS_UNUSED) |
Checks if the id is of a local object. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Are_ids_equal (Objects_Id left, Objects_Id right) |
Checks if two object IDs are equal. More... | |
RTEMS_INLINE_ROUTINE Objects_Id | _Objects_Get_minimum_id (Objects_Id id) |
Returns the identifier with the minimum index for the specified identifier. More... | |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Get_maximum_index (const Objects_Information *information) |
Returns the maximum index of the specified object class. More... | |
RTEMS_INLINE_ROUTINE Objects_Control * | _Objects_Get_inactive (Objects_Information *information) |
Get an inactive object or NULL. More... | |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Is_auto_extend (const Objects_Information *information) |
Checks if the automatic object extension (unlimited objects) is enabled. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Set_local_object (const Objects_Information *information, uint32_t index, Objects_Control *the_object) |
Sets the pointer to the local_table object referenced by the index. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Invalidate_Id (const Objects_Information *information, Objects_Control *the_object) |
Invalidates an object Id. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Open (Objects_Information *information, Objects_Control *the_object, Objects_Name name) |
Places the_object control pointer and object name in the Local Pointer and Local Name Tables, respectively. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Open_u32 (const Objects_Information *information, Objects_Control *the_object, uint32_t name) |
Places the_object control pointer and object name in the Local Pointer and Local Name Tables, respectively. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Open_string (const Objects_Information *information, Objects_Control *the_object, const char *name) |
Places the_object control pointer and object name in the Local Pointer and Local Name Tables, respectively. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Allocator_lock (void) |
Locks the object allocator mutex. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Allocator_unlock (void) |
Unlocks the object allocator mutex. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Allocator_is_owner (void) |
Checks if the allocator is the owner of the object allocator mutex. More... | |
RTEMS_INLINE_ROUTINE Objects_Control * | _Objects_Allocate_unprotected (Objects_Information *information) |
Allocates an object without locking the allocator mutex. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Free (Objects_Information *information, Objects_Control *the_object) |
Frees an object. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Activate_unlimited (Objects_Information *information, Objects_Control *the_object) |
Activate the object. More... | |
RTEMS_INLINE_ROUTINE Objects_Control * | _Objects_Allocate_with_extend (Objects_Information *information, void(*extend)(Objects_Information *)) |
Allocate an object and extend the objects information on demand. More... | |
Variables | |
Objects_Information **const | _Objects_Information_table [OBJECTS_APIS_LAST+1] |
Inlined Routines in the Object Handler.
This include file contains the static inline implementation of all of the inlined routines in the Object Handler.