18 #ifndef _RTEMS_SCORE_PROTECTED_HEAP_H 19 #define _RTEMS_SCORE_PROTECTED_HEAP_H void _Protected_heap_Iterate(Heap_Control *heap, Heap_Block_visitor visitor, void *visitor_arg)
Iterates over all blocks of the heap.
Definition: pheapiterate.c:29
bool _Protected_heap_Get_free_information(Heap_Control *heap, Heap_Information *info)
Returns information about free blocks for the heap.
Definition: pheapgetfreeinfo.c:24
RTEMS_INLINE_ROUTINE uintptr_t _Protected_heap_Initialize(Heap_Control *heap, void *area_begin, uintptr_t area_size, uintptr_t page_size)
Initializes the protected heap.
Definition: protectedheap.h:48
RTEMS_INLINE_ROUTINE void * _Protected_heap_Allocate_aligned(Heap_Control *heap, uintptr_t size, uintptr_t alignment)
Allocates an aligned memory area.
Definition: protectedheap.h:114
Heap Handler Implementation.
bool _Protected_heap_Resize_block(Heap_Control *heap, void *addr, uintptr_t size)
Resizes the block of the allocated memory area.
Definition: pheapresizeblock.c:24
bool _Protected_heap_Get_information(Heap_Control *heap, Heap_Information_block *info)
Returns information about used and free blocks for the heap.
Definition: pheapgetinfo.c:24
bool _Protected_heap_Walk(Heap_Control *heap, int source, bool dump)
Verifies the integrity of the heap.
Definition: pheapwalk.c:25
Control block used to manage a heap.
Definition: heap.h:318
uintptr_t _Heap_Initialize(Heap_Control *heap, void *area_begin, uintptr_t area_size, uintptr_t page_size)
Initializes the heap control block.
Definition: heap.c:207
bool _Protected_heap_Get_block_size(Heap_Control *heap, void *addr, uintptr_t *size)
Returns the size of the allocatable memory area.
Definition: pheapgetblocksize.c:24
bool _Protected_heap_Extend(Heap_Control *heap, void *area_begin, uintptr_t area_size)
Extends the protected heap.
Definition: pheapextend.c:24
void * _Protected_heap_Allocate_aligned_with_boundary(Heap_Control *heap, uintptr_t size, uintptr_t alignment, uintptr_t boundary)
Allocates an aligned memory area with boundary constraint for the protected heap.
Definition: pheapallocate.c:24
RTEMS_INLINE_ROUTINE void * _Protected_heap_Allocate(Heap_Control *heap, uintptr_t size)
Allocates a memory area.
Definition: protectedheap.h:137
bool(* Heap_Block_visitor)(const Heap_Block *block, uintptr_t block_size, bool block_is_used, void *visitor_arg)
Heap block visitor.
Definition: heapimpl.h:204
uintptr_t _Protected_heap_Get_size(Heap_Control *heap)
Returns the size of the allocatable area in bytes.
Definition: pheapgetsize.c:24
unsigned size
Definition: tte.h:74
#define RTEMS_INLINE_ROUTINE
Definition: basedefs.h:66
bool _Protected_heap_Free(Heap_Control *heap, void *addr)
Frees the allocated memory area.
Definition: pheapfree.c:24