RTEMS
5.0.0
|
Inlined Routines in the Object Handler. More...
#include <rtems/score/objectdata.h>
#include <rtems/score/apimutex.h>
#include <rtems/score/isrlock.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_Local_node ((uint16_t)1) |
#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 | |
void | _Objects_Extend_information (Objects_Information *information) |
void | _Objects_Shrink_information (Objects_Information *information) |
Shrink 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) |
Object API Maximum Class. More... | |
Objects_Control * | _Objects_Allocate_unprotected (Objects_Information *information) |
Allocates an object without locking the allocator mutex. More... | |
Objects_Control * | _Objects_Allocate (Objects_Information *information) |
Allocates an object. More... | |
void | _Objects_Free (Objects_Information *information, Objects_Control *the_object) |
Frees 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) |
Implements the common portion of the object Id to name directives. 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) |
Objects_Information * | _Objects_Get_information (Objects_APIs the_api, uint16_t the_class) |
Get object information. More... | |
Objects_Information * | _Objects_Get_information_id (Objects_Id id) |
Get information of an object from an ID. 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) |
Set objects name. More... | |
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) |
Close object. More... | |
Objects_Maximum | _Objects_Active_count (const Objects_Information *information) |
Returns the count of active objects. More... | |
RTEMS_INLINE_ROUTINE bool | _Objects_Has_string_name (const Objects_Information *information) |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Extend_size (const Objects_Information *information) |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_api_valid (uint32_t the_api) |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_local_node (uint32_t node) |
RTEMS_INLINE_ROUTINE bool | _Objects_Is_local_id (Objects_Id id RTEMS_UNUSED) |
RTEMS_INLINE_ROUTINE bool | _Objects_Are_ids_equal (Objects_Id left, Objects_Id right) |
RTEMS_INLINE_ROUTINE Objects_Id | _Objects_Get_minimum_id (Objects_Id id) |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Get_maximum_index (const Objects_Information *information) |
RTEMS_INLINE_ROUTINE Objects_Maximum | _Objects_Is_auto_extend (const Objects_Information *information) |
Returns true if the automatic object extension (unlimited objects) is enabled, otherwise false. More... | |
RTEMS_INLINE_ROUTINE void | _Objects_Set_local_object (const Objects_Information *information, uint32_t index, Objects_Control *the_object) |
RTEMS_INLINE_ROUTINE void | _Objects_Invalidate_Id (const Objects_Information *information, Objects_Control *the_object) |
RTEMS_INLINE_ROUTINE void | _Objects_Open (Objects_Information *information, Objects_Control *the_object, Objects_Name name) |
RTEMS_INLINE_ROUTINE void | _Objects_Open_u32 (const Objects_Information *information, Objects_Control *the_object, uint32_t name) |
RTEMS_INLINE_ROUTINE void | _Objects_Open_string (const Objects_Information *information, Objects_Control *the_object, const char *name) |
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) |
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.