Lines Matching full:heap

13  * @defgroup multi_heap_wrapper Multi-Heap Wrapper
19 * @brief Multi-heap allocator
30 * function whose job it is to select a heap based on information in
31 * the config specifier and runtime state (heap full state, etc...)
36 * @brief Multi-heap choice function
42 * free to choose any registered heap backend to perform the
50 * @param mheap Multi-heap structure.
62 struct sys_heap *heap; member
73 * @brief Initialize multi-heap
77 * sys_multi_heap_add_heap so that the heap bounds can be tracked by
78 * the multi heap code.
87 * will assemble a multi-heap on its own.
89 * @param heap A sys_multi_heap to initialize
93 void sys_multi_heap_init(struct sys_multi_heap *heap,
97 * @brief Add sys_heap to multi heap
99 * This adds a known sys_heap backend to an existing multi heap,
100 * allowing the multi heap internals to track the bounds of the heap
101 * and determine which heap (if any) from which a freed block was
104 * @param mheap A sys_multi_heap to which to add a heap
105 * @param heap The heap to add
106 * @param user_data pointer to any data for the heap
108 void sys_multi_heap_add_heap(struct sys_multi_heap *mheap, struct sys_heap *heap, void *user_data);
111 * @brief Allocate memory from multi heap
115 * passed to the multi heap choice function, which is used by
116 * integration code to choose a heap backend.
118 * @param mheap Multi heap pointer
121 * @return A valid pointer to heap memory, or NULL if no memory is available
126 * @brief Allocate aligned memory from multi heap
132 * @param mheap Multi heap pointer
136 * @return A valid pointer to heap memory, or NULL if no memory is available
142 * @brief Get a specific heap for provided address
144 * Finds a single system heap (with user_data)
147 * @param mheap Multi heap pointer
150 * or NULL if the heap has not been found
156 * @brief Free memory allocated from multi heap
160 * sys_multi_heap_aligned_alloc() call, to the heap backend from which
166 * @param mheap Multi heap pointer
171 /** @brief Expand the size of an existing allocation on the multi heap
179 * the remaining memory returned to the heap. If the allocation of a
182 * for the heap used will be bases on the cfg parameter (same as in sys_multi_heap_aligned_alloc).
184 * @param mheap Multi heap pointer