12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- #pragma once
- typedef const struct block_header_t *multi_heap_block_handle_t;
- void *multi_heap_malloc_impl(multi_heap_handle_t heap, size_t size);
- void *multi_heap_aligned_alloc_impl(multi_heap_handle_t heap, size_t size, size_t alignment);
- void *multi_heap_aligned_alloc_impl_offs(multi_heap_handle_t heap, size_t size, size_t alignment, size_t offset);
- void multi_heap_free_impl(multi_heap_handle_t heap, void *p);
- void *multi_heap_realloc_impl(multi_heap_handle_t heap, void *p, size_t size);
- multi_heap_handle_t multi_heap_register_impl(void *start, size_t size);
- void multi_heap_get_info_impl(multi_heap_handle_t heap, multi_heap_info_t *info);
- size_t multi_heap_free_size_impl(multi_heap_handle_t heap);
- size_t multi_heap_minimum_free_size_impl(multi_heap_handle_t heap);
- size_t multi_heap_get_allocated_size_impl(multi_heap_handle_t heap, void *p);
- void *multi_heap_get_block_address_impl(multi_heap_block_handle_t block);
- bool multi_heap_internal_check_block_poisoning(void *start, size_t size, bool is_free, bool print_errors);
- void multi_heap_internal_poison_fill_region(void *start, size_t size, bool is_free);
- void multi_heap_internal_lock(multi_heap_handle_t heap);
- void multi_heap_internal_unlock(multi_heap_handle_t heap);
- multi_heap_block_handle_t multi_heap_get_first_block(multi_heap_handle_t heap);
- multi_heap_block_handle_t multi_heap_get_next_block(multi_heap_handle_t heap, multi_heap_block_handle_t block);
- bool multi_heap_is_free(const multi_heap_block_handle_t block);
- void *multi_heap_get_block_address(multi_heap_block_handle_t block);
- void *multi_heap_get_block_owner(multi_heap_block_handle_t block);
|