RTEMS
Files | Functions | Variables
Workspace Handler

Files

file  wkspaceinitone.c
 _Workspace_Handler_initialization() Implementation
 
file  wkspace.h
 Information Related to the RAM Workspace.
 
file  wkspacedata.h
 Constants defined by the application configuration for the idle threads.
 
file  wkspaceinitone.h
 Workspace Handler Initialization API.
 
file  wkspace.c
 Workspace Handler System Initialization.
 
file  wkspaceallocate.c
 _Workspace_Allocate() Implementation
 
file  wkspacemallocinitdefault.c
 This source file provides the default definition of _Workspace_Malloc_initializer.
 
file  wkspacemallocinitunified.c
 This source file provides the implementation of _Workspace_Malloc_initialize_unified().
 

Functions

void _Workspace_Handler_initialization (void)
 Initializes the workspace handler. More...
 
void * _Workspace_Allocate (size_t size)
 Allocates a memory block of the specified size from the workspace. More...
 
void _Workspace_Free (void *block)
 Frees memory to the workspace. More...
 
char * _Workspace_String_duplicate (const char *string, size_t len)
 Duplicates string with memory from the workspace. More...
 
struct Heap_Control_Workspace_Malloc_initialize_separate (void)
 Initializes the C Program Heap separated from the RTEMS Workspace. More...
 
struct Heap_Control_Workspace_Malloc_initialize_unified (void)
 Initializes the C Program Heap so that it is unified with the RTEMS Workspace. More...
 
static __inline__ void _Workspace_Initialize_with_one_area (void)
 

Variables

Heap_Control _Workspace_Area
 Executive workspace control. More...
 
const uintptr_t _Workspace_Size
 The workspace size in bytes. More...
 
const bool _Workspace_Is_unified
 Indicates if the workspace and C program heap are unified. More...
 
struct Heap_Control *(*const _Workspace_Malloc_initializer )(void)
 This constant provides the C Program Heap initialization handler. More...
 

Detailed Description

This handler encapsulates functionality related to the management of the RTEMS Executive Workspace.

Function Documentation

◆ _Workspace_Allocate()

void* _Workspace_Allocate ( size_t  size)

Allocates a memory block of the specified size from the workspace.

Parameters
sizeThe size of the memory block.
Return values
pointerThe pointer to the memory block. The pointer is at least aligned by CPU_HEAP_ALIGNMENT.
NULLNo memory block with the requested size is available in the workspace.

Definition at line 43 of file wkspaceallocate.c.

◆ _Workspace_Free()

void _Workspace_Free ( void *  block)

Frees memory to the workspace.

This function frees the specified block of memory.

Parameters
blockThe memory to free.
Note
If block is equal to NULL, then the request is ignored. This allows the caller to not worry about whether or not a pointer is NULL.

◆ _Workspace_Handler_initialization()

void _Workspace_Handler_initialization ( void  )

Initializes the workspace handler.

This routine performs the initialization necessary for this handler.

Definition at line 42 of file wkspaceinitone.c.

◆ _Workspace_Malloc_initialize_separate()

struct Heap_Control* _Workspace_Malloc_initialize_separate ( void  )

Initializes the C Program Heap separated from the RTEMS Workspace.

Returns
Returns the heap control used for the C Program Heap.

Definition at line 45 of file mallocinitone.c.

◆ _Workspace_Malloc_initialize_unified()

struct Heap_Control* _Workspace_Malloc_initialize_unified ( void  )

Initializes the C Program Heap so that it is unified with the RTEMS Workspace.

Returns
Returns the heap control used for the C Program Heap.

Definition at line 44 of file wkspacemallocinitunified.c.

◆ _Workspace_String_duplicate()

char* _Workspace_String_duplicate ( const char *  string,
size_t  len 
)

Duplicates string with memory from the workspace.

Parameters
stringThe pointer to a zero terminated string.
lenThe length of the string (equal to strlen(string)).
Return values
otherDuplicated string.
NULLNot enough memory.

Variable Documentation

◆ _Workspace_Area

Heap_Control _Workspace_Area

Executive workspace control.

This is the heap control structure used to manage the RTEMS Executive Workspace.

Definition at line 43 of file wkspace.c.

◆ _Workspace_Is_unified

const bool _Workspace_Is_unified

Indicates if the workspace and C program heap are unified.

This constant is defined by the application configuration via <rtems/confdefs.h>.

Definition at line 34 of file wkspaceisunifieddefault.c.

◆ _Workspace_Malloc_initializer

struct Heap_Control*( * const _Workspace_Malloc_initializer) (void)

This constant provides the C Program Heap initialization handler.

This constant is defined by the application configuration option CONFIGURE_UNIFIED_WORK_AREAS via <rtems/confdefs.h> or a default configuration.

Definition at line 43 of file wkspacemallocinitdefault.c.

◆ _Workspace_Size

const uintptr_t _Workspace_Size

The workspace size in bytes.

This constant is defined by the application configuration via <rtems/confdefs.h>.