mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-11-04 06:11:06 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * SPDX-FileCopyrightText: 2022 Espressif Systems (Shanghai) CO LTD
 | 
						|
 *
 | 
						|
 * SPDX-License-Identifier: Apache-2.0
 | 
						|
 */
 | 
						|
#pragma once
 | 
						|
#include <stddef.h>
 | 
						|
#include <stdbool.h>
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
extern "C" {
 | 
						|
#endif
 | 
						|
 | 
						|
/*!
 | 
						|
 * Defines the function prototypes for multi_heap_internal_poison_fill_region
 | 
						|
 * and multi_heap_internal_check_block_poisoning, these two function will
 | 
						|
 * be registered to the ROM tlsf IMPL through the function tlsf_poison_fill_pfunc_set()
 | 
						|
 * and tlsf_poison_check_pfunc_set() when the heap poisoning feature is enabled.
 | 
						|
 */
 | 
						|
typedef void (*poison_fill_pfunc_t)(void *start, size_t size, bool is_free);
 | 
						|
typedef bool (*poison_check_pfunc_t)(void *start, size_t size, bool is_free, bool print_errors);
 | 
						|
 | 
						|
/*!
 | 
						|
 * @brief Set the function to call for filling memory region when
 | 
						|
 * poisoning is configured.
 | 
						|
 *
 | 
						|
 * @note Please keep in mind that this function in ROM still accepts void*.
 | 
						|
 *
 | 
						|
 * @param pfunc The callback function to trigger for poisoning
 | 
						|
 * a memory region.
 | 
						|
 */
 | 
						|
void tlsf_poison_fill_pfunc_set(poison_fill_pfunc_t pfunc);
 | 
						|
 | 
						|
/*!
 | 
						|
 * @brief Set the function to call for checking memory region when
 | 
						|
 * poisoning is configured.
 | 
						|
 *
 | 
						|
 * @param pfunc The callback function to trigger for checking
 | 
						|
 * the content of a memory region.
 | 
						|
 */
 | 
						|
void tlsf_poison_check_pfunc_set(poison_check_pfunc_t pfunc);
 | 
						|
 | 
						|
#ifdef __cplusplus
 | 
						|
}
 | 
						|
#endif
 |