RTEMS: cpukit/include/rtems/score/heap.h File Reference

| RTEMS 5.4-rc2

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs | Enumerations | Functions
heap.h File Reference
Internal » SuperCore » Heap Handler

Heap Handler API. More...

`#include <rtems/score/cpu.h>`
`#include <rtems/score/heapinfo.h>`

Go to the source code of this file.

## Data Structures
struct | Heap_Error_context
| Context of a heap error. More...
struct | Heap_Block
| Description for free or used blocks. More...
struct | Heap_Control
| Control block used to manage a heap. More...
struct | Heap_Area
| Heap area structure for table based heap initialization and extension. More...

## Macros
#define | HEAP_PROTECTION_HEADER_SIZE 0
#define | HEAP_BLOCK_HEADER_SIZE (2 * sizeof(uintptr_t) + HEAP_PROTECTION_HEADER_SIZE)
| The block header consists of the two size fields (Heap_Block::prev_size and Heap_Block::size_and_flag).

## Typedefs
typedef struct Heap_Control | Heap_Control
typedef struct Heap_Block | Heap_Block
typedef uintptr_t(* | Heap_Initialization_or_extend_handler) (Heap_Control *heap, void *area_begin, uintptr_t area_size, uintptr_t page_size_or_unused)
| Heap initialization and extend handler type.

## Enumerations
enum | Heap_Error_reason { HEAP_ERROR_BROKEN_PROTECTOR , HEAP_ERROR_FREE_PATTERN , HEAP_ERROR_DOUBLE_FREE , HEAP_ERROR_BAD_USED_BLOCK , HEAP_ERROR_BAD_FREE_BLOCK }
| The heap error reason. More...

## Functions
uintptr_t | _Heap_Extend (Heap_Control *heap, void *area_begin, uintptr_t area_size, uintptr_t unused)
| Extends the memory available for the heap.
uintptr_t | _Heap_No_extend (Heap_Control *unused_0, void *unused_1, uintptr_t unused_2, uintptr_t unused_3)
| This function returns always zero.
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Align_up (uintptr_t value, uintptr_t alignment)
| Aligns the value to a given alignment, rounding up.
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Min_block_size (uintptr_t page_size)
| Returns the minimal Heap Block size for the given page_size.
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Area_overhead (uintptr_t page_size)
| Returns the worst case overhead to manage a memory area.
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Size_with_overhead (uintptr_t page_size, uintptr_t size, uintptr_t alignment)
| Returns the size with administration and alignment overhead for one allocation.

## Detailed Description

Heap Handler API.