![]() |
RTEMS 6.3
|
This group contains the Workspace Handler implementation. More...
Files | |
| file | bsps/shared/start/wkspaceinitmulti.c |
| This source file contains the _Workspace_Handler_initialization() implementation which supports more than one memory area. | |
| file | bsps/shared/start/wkspaceinitone.c |
| This source file contains the _Workspace_Handler_initialization() implementation which supports exactly one memory area. | |
| file | cpukit/include/rtems/score/wkspace.h |
| This header file provides interfaces of the Workspace Handler which are only used by the implementation. | |
| file | cpukit/include/rtems/score/wkspacedata.h |
| This header file provides data structures used by the implementation and the Application Configuration to define _Workspace_Size, _Workspace_Is_unified, and _Workspace_Malloc_initializer. | |
| file | cpukit/include/rtems/score/wkspaceinitmulti.h |
| This header file provides the implementation of _Workspace_Initialize_for_multiple_areas(). | |
| file | cpukit/include/rtems/score/wkspaceinitone.h |
| This header file provides the implementation of _Workspace_Initialize_for_one_area(). | |
| file | cpukit/score/src/wkspace.c |
| This source file contains the definition of _Workspace_Area and the Workspace Handler system initialization. | |
| file | cpukit/score/src/wkspaceallocate.c |
| This source file contains the implementation of _Workspace_Allocate(). | |
| file | cpukit/score/src/wkspacefree.c |
| This source file contains the implementation of _Workspace_Free(). | |
| file | cpukit/score/src/wkspaceisunifieddefault.c |
| This source file contains the default definition of _Workspace_Is_unified. | |
| file | cpukit/score/src/wkspacemallocinitdefault.c |
| This source file contains the default definition of _Workspace_Malloc_initializer. | |
| file | cpukit/score/src/wkspacemallocinitunified.c |
| This source file contains the implementation of _Workspace_Malloc_initialize_unified(). | |
| file | cpukit/score/src/wkstringduplicate.c |
| This source file contains the implementation of _Workspace_String_duplicate(). | |
Functions | |
| void | _Workspace_Handler_initialization (void) |
| Initializes the workspace handler. | |
| void * | _Workspace_Allocate (size_t size) |
| Allocates a memory block of the specified size from the workspace. | |
| void | _Workspace_Free (void *block) |
| Frees memory to the workspace. | |
| char * | _Workspace_String_duplicate (const char *string, size_t len) |
| Duplicates string with memory from the workspace. | |
| struct Heap_Control * | _Workspace_Malloc_initialize_separate (void) |
| Initializes the C Program Heap separated from the RTEMS Workspace. | |
| struct Heap_Control * | _Workspace_Malloc_initialize_unified (void) |
| Initializes the C Program Heap so that it is unified with the RTEMS Workspace. | |
Variables | |
| Heap_Control | _Workspace_Area |
| Executive workspace control. | |
| const uintptr_t | _Workspace_Size |
| The workspace size in bytes. | |
| const bool | _Workspace_Is_unified |
| Indicates if the workspace and C program heap are unified. | |
| struct Heap_Control *(*const) | _Workspace_Malloc_initializer (void) |
| This constant provides the C Program Heap initialization handler. | |
This group contains the Workspace Handler implementation.
This handler encapsulates functionality related to the management of the RTEMS Workspace. It provides mechanisms which can be used to define, initialize and manipulate the RTEMS Workspace.
| void * _Workspace_Allocate | ( | size_t | size | ) |
Allocates a memory block of the specified size from the workspace.
| size | The size of the memory block. |
| pointer | The pointer to the memory block. The pointer is at least aligned by CPU_HEAP_ALIGNMENT. |
| NULL | No memory block with the requested size is available in the workspace. |
| void _Workspace_Free | ( | void * | block | ) |
Frees memory to the workspace.
This function frees the specified block of memory.
| block | The memory to free. |
| void _Workspace_Handler_initialization | ( | void | ) |
Initializes the workspace handler.
This routine performs the initialization necessary for this handler.
| struct Heap_Control * _Workspace_Malloc_initialize_separate | ( | void | ) |
Initializes the C Program Heap separated from the RTEMS Workspace.
| struct Heap_Control * _Workspace_Malloc_initialize_unified | ( | void | ) |
Initializes the C Program Heap so that it is unified with the RTEMS Workspace.
| char * _Workspace_String_duplicate | ( | const char * | string, |
| size_t | len ) |
Duplicates string with memory from the workspace.
| string | The pointer to a zero terminated string. |
| len | The length of the string (equal to strlen(string)). |
| other | Duplicated string. |
| NULL | Not enough memory. |
|
extern |
Executive workspace control.
This is the heap control structure used to manage the RTEMS Executive Workspace.
|
extern |
Indicates if the workspace and C program heap are unified.
This constant is defined by the application configuration via <rtems/confdefs.h>.
|
extern |
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.
|
extern |
The workspace size in bytes.
This constant is defined by the application configuration via <rtems/confdefs.h>.