RTEMS  5.0.0
Files | Data Structures | Macros | Functions | Variables
Classic Region Manager Implementation

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.
 

Detailed Description

Macro Definition Documentation

◆ REGION_INFORMATION_DEFINE

#define REGION_INFORMATION_DEFINE (   max)
Value:
_Region, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_REGIONS, \
max, \
NULL \
)
Definition: regiondata.h:40
#define OBJECTS_NO_STRING_NAME
Constant for the object information string name length to indicate that this object class has no stri...
Definition: objectdata.h:94
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:333
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77

Macro to define the objects information for the Classic Region objects.

This macro should only be used by <rtems/confdefs.h>.

Parameters
maxThe configured object maximum (the OBJECTS_UNLIMITED_OBJECTS flag may be set).

Function Documentation

◆ _Region_Allocate()

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.

◆ _Region_Allocate_segment()

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.

◆ _Region_Free()

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.

◆ _Region_Free_segment()

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.

◆ _Region_Process_queue()

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.

Parameters
[in]the_regionis the the region