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 ) 62 _Thread_queue_Destroy( &the_region->Wait_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.
void _Objects_Free(Objects_Information *information, Objects_Control *the_object)
Frees an object.
Definition: objectfree.c:25
Objects_Control * _Objects_Allocate(Objects_Information *information)
Allocates an object.
Definition: objectallocate.c:89
void _Region_Process_queue(Region_Control *the_region)
Process Region Queue.
Definition: regionprocessqueue.c:25
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:65
Heap Handler Implementation.
Objects_Control * _Objects_Get_no_protection(Objects_Id id, const Objects_Information *information)
Maps object ids to object control blocks.
Definition: objectgetnoprotection.c:23
Definition: regiondata.h:40
RTEMS_INLINE_ROUTINE Region_Control * _Region_Allocate(void)
Region_Allocate.
Definition: regionimpl.h:47
RTEMS_INLINE_ROUTINE void * _Heap_Allocate(Heap_Control *heap, uintptr_t size)
See _Heap_Allocate_aligned_with_boundary() with alignment and boundary equals zero.
Definition: heapimpl.h:135
RTEMS_INLINE_ROUTINE bool _Region_Free_segment(Region_Control *the_region, void *the_segment)
Region_Free_segment.
Definition: regionimpl.h:110
RTEMS_INLINE_ROUTINE void _Region_Free(Region_Control *the_region)
Region_Free.
Definition: regionimpl.h:58
RTEMS_INLINE_ROUTINE void * _Region_Allocate_segment(Region_Control *the_region, uintptr_t size)
Region_Allocate_segment.
Definition: regionimpl.h:97
Classic Region Manager Data Structures.
Inlined Routines in the Object Handler.
unsigned size
Definition: tte.h:74
uint32_t Objects_Id
Definition: object.h:75
bool _Heap_Free(Heap_Control *heap, void *addr)
Frees the allocated memory area starting at addr in the heap heap.
Definition: heapfree.c:99
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77