ex
Fork of mbed-os-example-mbed5-blinky by
Diff: DuerOS-Light-SDK-v1.1.0/duer-os-light/src/iot-baidu-ca/source/baidu_ca_memory.h
- Revision:
- 47:9e361da97763
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/DuerOS-Light-SDK-v1.1.0/duer-os-light/src/iot-baidu-ca/source/baidu_ca_memory.h Tue Jul 18 16:54:45 2017 +0800 @@ -0,0 +1,85 @@ +// Copyright 2017 Baidu Inc. All Rights Reserved. +// Author: Su Hao (suhao@baidu.com) +// +// Description: The APIs for memory management. + +#ifndef BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SOURCE_BAIDU_CA_MEMORY_H +#define BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SOURCE_BAIDU_CA_MEMORY_H + +#include "baidu_ca_types.h" + +/* + * malloc function + * + * @Param size, bca_size_t, the expected size of the memory + * @Return the alloced memory pointer + */ +BCA_INT void* bca_malloc(bca_size_t size); + +/* + * realloc function + * + * @Param ptr, void *, the old alloced memory + * @Param size, bca_size_t, the expected size of the memory + * @Return the new alloced memory pointer + */ +BCA_INT void* bca_realloc(void* ptr, bca_size_t size); + +/* + * free function + * + * @Param ptr, void *, the alloced memory + */ +BCA_INT void bca_free(void* ptr); + +/* + * malloc function + * + * @Param size, bca_size_t, the expected size of the memory + * @Param file, const char *, the file name when alloc the memory + * @Param line, bca_u32_t, the line number of the file when alloc the memory + * @Return the alloced memory pointer + */ +BCA_INT void* bca_malloc_ext(bca_size_t size, const char* file, bca_u32_t line); + +/* + * realloc function + * + * @Param ptr, void *, the old alloced memory + * @Param size, bca_size_t, the expected size of the memory + * @Param file, const char *, the file name when alloc the memory + * @Param line, bca_u32_t, the line number of the file when alloc the memory + * @Return the new alloced memory pointer + */ +BCA_INT void* bca_realloc_ext(void* ptr, bca_size_t size, const char* file, + bca_u32_t line); + +/* + * free function + * + * @Param ptr, void *, the alloced memory + * @Param file, const char *, the file name when alloc the memory + * @Param line, bca_u32_t, the line number of the file when alloc the memory + */ +BCA_INT void bca_free_ext(void* ptr, const char* file, bca_u32_t line); + +#ifdef BCA_MEMORY_USAGE +BCA_INT void bca_memdbg_usage(); +#define BCA_MEMDBG_USAGE(...) bca_memdbg_usage() +#else +#define BCA_MEMDBG_USAGE(...) +#endif + +#ifdef BCA_MEMORY_DEBUG +#define BCA_MALLOC(_s) bca_malloc_ext(_s, __FILE__, __LINE__) +#define BCA_REALLOC(_p, _s) bca_realloc_ext(_p, _s, __FILE__, __LINE__) +#define BCA_FREE(_p) bca_free_ext(_p, __FILE__, __LINE__) +#else/*BCA_MEMORY_DEBUG*/ +#define BCA_MALLOC(_s) bca_malloc(_s) +#define BCA_REALLOC(_p, _s) bca_realloc(_p, _s) +#define BCA_FREE(_p) bca_free(_p) +#endif/*BCA_MEMORY_DEBUG*/ + +#define BCA_CALLOC(_s, _n) BCA_MALLOC((_s) * (_n)) + +#endif // BAIDU_IOT_TINYDU_IOT_OS_SRC_IOT_BAIDU_CA_SOURCE_BAIDU_CA_MEMORY_H
