RTEMS
5.1
|
Files | |
file | regiondata.h |
Classic Region Manager Data Structures. | |
file | regionimpl.h |
Classic Region Manager Implementation. | |
Data Structures | |
struct | Region_Control |
Macros | |
#define | REGION_INFORMATION_DEFINE(max) |
Macro to define the objects information for the Classic Region objects. More... | |
#define | REGION_OF_THREAD_QUEUE_QUEUE(queue) RTEMS_CONTAINER_OF( queue, Region_Control, Wait_queue.Queue ) |
Functions | |
RTEMS_INLINE_ROUTINE Region_Control * | _Region_Allocate (void) |
Region_Allocate. More... | |
RTEMS_INLINE_ROUTINE void | _Region_Free (Region_Control *the_region) |
Region_Free. More... | |
RTEMS_INLINE_ROUTINE Region_Control * | _Region_Get_and_lock (Objects_Id id) |
RTEMS_INLINE_ROUTINE void | _Region_Unlock (Region_Control *the_region) |
RTEMS_INLINE_ROUTINE void * | _Region_Allocate_segment (Region_Control *the_region, uintptr_t size) |
Region_Allocate_segment. More... | |
RTEMS_INLINE_ROUTINE bool | _Region_Free_segment (Region_Control *the_region, void *the_segment) |
Region_Free_segment. More... | |
void | _Region_Process_queue (Region_Control *the_region) |
Process Region Queue. More... | |
Variables | |
Objects_Information | _Region_Information |
The Classic Region objects information. | |
#define REGION_INFORMATION_DEFINE | ( | max | ) |
Macro to define the objects information for the Classic Region objects.
This macro should only be used by <rtems/confdefs.h>.
max | The configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set). |
RTEMS_INLINE_ROUTINE Region_Control* _Region_Allocate | ( | void | ) |
Region_Allocate.
This function allocates a region control block from the inactive chain of free region control blocks.
RTEMS_INLINE_ROUTINE void* _Region_Allocate_segment | ( | Region_Control * | the_region, |
uintptr_t | size | ||
) |
Region_Allocate_segment.
This function attempts to allocate a segment from the_region. If successful, it returns the address of the allocated segment. Otherwise, it returns NULL.
RTEMS_INLINE_ROUTINE void _Region_Free | ( | Region_Control * | the_region | ) |
Region_Free.
This routine frees a region control block to the inactive chain of free region control blocks.
RTEMS_INLINE_ROUTINE bool _Region_Free_segment | ( | Region_Control * | the_region, |
void * | the_segment | ||
) |
Region_Free_segment.
This function frees the_segment to the_region.
void _Region_Process_queue | ( | Region_Control * | the_region | ) |
Process Region Queue.
This is a helper routine which is invoked any time memory is freed. It looks at the set of waiting tasks and attempts to satisfy all outstanding requests.
[in] | the_region | is the the region |