RTEMS: Classic Region Manager Implementation

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Files | Data Structures | Macros | Functions | Variables
Classic Region Manager Implementation
Internal » Classic

## 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.
#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.
RTEMS_INLINE_ROUTINE void | _Region_Free (Region_Control *the_region)
| Region_Free.
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.
RTEMS_INLINE_ROUTINE bool | _Region_Free_segment (Region_Control *the_region, void *the_segment)
| Region_Free_segment.
void | _Region_Process_queue (Region_Control *the_region)
| Process Region Queue.

## Variables
Objects_Information | _Region_Information
| The Classic Region objects information.

## Detailed Description

## Macro Definition Documentation

## ◆ REGION_INFORMATION_DEFINE

#define REGION_INFORMATION_DEFINE | ( |  | max | ) |

Value:
OBJECTS_INFORMATION_DEFINE( \
_Region, \
OBJECTS_CLASSIC_API, \
OBJECTS_RTEMS_REGIONS, \
Region_Control, \
max, \
OBJECTS_NO_STRING_NAME, \
NULL \
)
NULL
#define NULL
Requests a GPIO pin group configuration.
Definition: bestcomm_api.h:77
OBJECTS_NO_STRING_NAME
#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:101
OBJECTS_INFORMATION_DEFINE
#define OBJECTS_INFORMATION_DEFINE(name, api, cls, type, max, nl, ex)
Statically initializes an objects information.
Definition: objectdata.h:427
Region_Control
Definition: regiondata.h:40

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

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

Parameters

  max | The 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_region | is the the region