feat(openthread): support alloc nat64 session from psram

This commit is contained in:
zwx
2024-11-13 16:46:29 +08:00
committed by BOT
parent bb24084db4
commit 98bd2ef93c
4 changed files with 55 additions and 7 deletions
@@ -0,0 +1,21 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
#include "esp_heap_caps.h"
#include <utility>
#include "common/new.hpp"
template <typename T, typename... Args>
inline T *New(uint32_t alloc_caps, Args &&...args)
{
void *p = heap_caps_calloc(1, sizeof(T), alloc_caps);
if (p != nullptr) {
return new (p) T(std::forward<Args>(args)...);
}
return nullptr;
}
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2021-2024 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -84,7 +84,7 @@ void esp_openthread_platform_workflow_unregister(const char *name);
* @brief Initializes the platform-specific support for the OpenThread stack.
*
* @note This function is not called by and will not call the OpenThread library.
* The user needs to call otInstanceInitSingle to intialize the OpenThread
* The user needs to call otInstanceInitSingle to initialize the OpenThread
* stack after calling this function.
*
* @param[in] init_config The initialization configuration.
@@ -146,6 +146,15 @@ esp_err_t esp_openthread_platform_process(otInstance *instance, const esp_openth
*
*/
void esp_openthread_set_storage_name(const char *name);
/**
* @brief Gets the caps of memory allocation.
*
* @return
* - The caps of the memory.
*/
uint32_t esp_openthread_get_alloc_caps(void);
#ifdef __cplusplus
} // end of extern "C"
#endif