17 #ifndef _RTEMS_RTEMS_REGIONIMPL_H 18 #define _RTEMS_RTEMS_REGIONIMPL_H 38 #define REGION_OF_THREAD_QUEUE_QUEUE( queue ) \ 39 RTEMS_CONTAINER_OF( queue, Region_Control, Wait_queue.Queue ) 70 _RTEMS_Lock_allocator();
75 if ( the_region != NULL ) {
80 _RTEMS_Unlock_allocator();
87 _RTEMS_Unlock_allocator();
115 return _Heap_Free( &the_region->Memory, the_segment );
Objects_Information _Region_Information
The Classic Region objects information.
static __inline__ void _Region_Free(Region_Control *the_region)
Region_Free.
bool _Heap_Free(Heap_Control *heap, void *addr)
Frees the allocated memory area.
void _Region_Process_queue(Region_Control *the_region)
Process Region Queue.
RTEMS_INLINE_ROUTINE void * _Heap_Allocate(Heap_Control *heap, uintptr_t size)
Allocates a memory area.
Heap Handler Implementation.
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
static __inline__ Region_Control * _Region_Allocate(void)
Region_Allocate.
static __inline__ void * _Region_Allocate_segment(Region_Control *the_region, uintptr_t size)
Region_Allocate_segment.
Inlined Routines in the Object Handler.
Constants and Structures Associated with the Manipulation of Objects.
Classic Region Manager Data Structures.
static __inline__ void _Thread_queue_Destroy(Thread_queue_Control *the_thread_queue)
Destroys the thread queue.
#define RTEMS_INLINE_ROUTINE
Gives a hint to the compiler in a function declaration to inline this function.
static __inline__ bool _Region_Free_segment(Region_Control *the_region, void *the_segment)
Region_Free_segment.
Objects_Control * _Objects_Get_no_protection(Objects_Id id, const Objects_Information *information)
Maps object ids to object control blocks.
static __inline__ void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.