1 /*
2  * SPDX-FileCopyrightText: 2025 Espressif Systems (Shanghai) CO LTD
3  *
4  * SPDX-License-Identifier: Apache-2.0
5  */
6 
7 #pragma once
8 
9 #include <zephyr/multi_heap/shared_multi_heap.h>
10 
11 /* Select heap to be used for WiFi adapter and WPA supplicant */
12 #if defined(CONFIG_ESP_WIFI_HEAP_SYSTEM)
13 
14 #define esp_wifi_malloc_func(_size)         k_malloc(_size)
15 #define esp_wifi_calloc_func(_nmemb, _size) k_calloc(_nmemb, _size)
16 #define esp_wifi_free_func(_mem)            k_free(_mem)
17 
18 #define os_wpa_malloc_func(_size)         k_malloc(_size)
19 #define os_wpa_realloc_func(_ptr, _size)  k_realloc(_ptr, _size)
20 #define os_wpa_calloc_func(_nmemb, _size) k_calloc(_nmemb, _size)
21 #define os_wpa_free_func(_mem)            k_free(_mem)
22 
23 #else
24 
25 #define esp_wifi_malloc_func(_size)         malloc(_size)
26 #define esp_wifi_calloc_func(_nmemb, _size) calloc(_nmemb, _size)
27 #define esp_wifi_free_func(_mem)            free(_mem)
28 
29 #define os_wpa_malloc_func(_size)         malloc(_size)
30 #define os_wpa_realloc_func(_ptr, _size)  realloc(_ptr, _size)
31 #define os_wpa_calloc_func(_nmemb, _size) calloc(_nmemb, _size)
32 #define os_wpa_free_func(_mem)            free(_mem)
33 
34 #endif
35 
36 /* Select heap to be used for BLE adapter */
37 #if defined(CONFIG_ESP_BT_HEAP_SYSTEM)
38 
39 #define esp_bt_malloc_func(_size) k_malloc(_size)
40 #define esp_bt_free_func(_mem)    k_free(_mem)
41 
42 #else
43 
44 #define esp_bt_malloc_func(_size) malloc(_size)
45 #define esp_bt_free_func(_mem)    free(_mem)
46 
47 #endif
48