18 #ifndef _RTEMS_SCORE_OBJECTDATA_H 19 #define _RTEMS_SCORE_OBJECTDATA_H 53 OBJECTS_INTERNAL_NO_CLASS = 0,
54 OBJECTS_INTERNAL_THREADS = 1
62 OBJECTS_CLASSIC_NO_CLASS = 0,
63 OBJECTS_RTEMS_TASKS = 1,
64 OBJECTS_RTEMS_TIMERS = 2,
65 OBJECTS_RTEMS_SEMAPHORES = 3,
66 OBJECTS_RTEMS_MESSAGE_QUEUES = 4,
67 OBJECTS_RTEMS_PARTITIONS = 5,
68 OBJECTS_RTEMS_REGIONS = 6,
69 OBJECTS_RTEMS_PORTS = 7,
70 OBJECTS_RTEMS_PERIODS = 8,
71 OBJECTS_RTEMS_EXTENSIONS = 9,
72 OBJECTS_RTEMS_BARRIERS = 10
80 OBJECTS_POSIX_NO_CLASS = 0,
81 OBJECTS_POSIX_THREADS = 1,
82 OBJECTS_POSIX_KEYS = 2,
83 OBJECTS_POSIX_INTERRUPTS = 3,
84 OBJECTS_POSIX_MESSAGE_QUEUES = 5,
85 OBJECTS_POSIX_SEMAPHORES = 7,
86 OBJECTS_POSIX_TIMERS = 9,
87 OBJECTS_POSIX_SHMS = 12
94 #define OBJECTS_NO_STRING_NAME 0 96 #if defined( RTEMS_MULTIPROCESSING ) 138 } Objects_MP_Control;
145 typedef void ( *Objects_Thread_queue_Extract_callout )(
250 #if defined(RTEMS_MULTIPROCESSING) 256 Objects_Thread_queue_Extract_callout extract;
264 RBTree_Control Global_by_id;
275 RBTree_Control Global_by_name;
279 #if defined(RTEMS_MULTIPROCESSING) 280 #define OBJECTS_INFORMATION_MP( name, extract ) \ 283 RBTREE_INITIALIZER_EMPTY( name.Global_by_id ), \ 284 RBTREE_INITIALIZER_EMPTY( name.Global_by_name ) 286 #define OBJECTS_INFORMATION_MP( name, extract ) 300 #define OBJECTS_INFORMATION_DEFINE_ZERO( name, api, cls, nl ) \ 301 Objects_Information name##_Information = { \ 302 _Objects_Build_id( api, cls, 1, 0 ), \ 308 CHAIN_INITIALIZER_EMPTY( name##_Information.Inactive ), \ 312 OBJECTS_INFORMATION_MP( name##_Information, NULL ) \ 333 #define OBJECTS_INFORMATION_DEFINE( name, api, cls, type, max, nl, ex ) \ 334 static Objects_Control * \ 335 name##_Local_table[ _Objects_Maximum_per_allocation( max ) ]; \ 336 static type name##_Objects[ _Objects_Maximum_per_allocation( max ) ]; \ 337 Objects_Information name##_Information = { \ 338 _Objects_Build_id( api, cls, 1, _Objects_Maximum_per_allocation( max ) ), \ 339 name##_Local_table, \ 341 _Objects_Is_unlimited( max ) ? _Objects_Maximum_per_allocation( max ) : 0, \ 344 CHAIN_INITIALIZER_EMPTY( name##_Information.Inactive ), \ 347 &name##_Objects[ 0 ].Object \ 348 OBJECTS_INFORMATION_MP( name##_Information, ex ) \
Definition: objectdata.h:39
Constants and Structures Associated with the Object Handler.
Red-black tree node.
Definition: rbtree.h:50
Chain_Node Node
Definition: objectdata.h:41
Constants and Structures Associated with the Red-Black Tree Handler.
Objects_Internal_API
Definition: objectdata.h:52
uint16_t Objects_Maximum
Definition: object.h:81
Objects_POSIX_API
Definition: objectdata.h:79
Objects_Classic_API
Definition: objectdata.h:61
Objects_Name name
Definition: objectdata.h:45
uint32_t Objects_Id
Definition: object.h:75
Objects_Id id
Definition: objectdata.h:43