RTEMS
5.1
|
Heap Handler API. More...
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. More... | |
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. More... | |
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. More... | |
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Align_up (uintptr_t value, uintptr_t alignment) |
Aligns the value to a given alignment, rounding up. More... | |
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Min_block_size (uintptr_t page_size) |
Returns the minimal Heap Block size for the given page_size. More... | |
RTEMS_INLINE_ROUTINE uintptr_t | _Heap_Area_overhead (uintptr_t page_size) |
Returns the worst case overhead to manage a memory area. More... | |
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. More... | |
Heap Handler API.