Memory

This module includes the platform abstraction for dynamic memory allocation.

Summary

Functions

otPlatCAlloc(size_t aNum, size_t aSize)
void *
Dynamically allocates new memory.
otPlatFree(void *aPtr)
void
Frees memory that was dynamically allocated by otPlatCAlloc().

Functions

otPlatCAlloc

void * otPlatCAlloc(
  size_t aNum,
  size_t aSize
)

Dynamically allocates new memory.

On platforms that support it, they should redirect to calloc. For those that don't support calloc, they should implement the standard calloc behavior.

See: https://man7.org/linux/man-pages/man3/calloc.3.html

Is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE.

Details
Parameters
[in] aNum
The number of blocks to allocate
[in] aSize
The size of each block to allocate
Return Values
void*
The pointer to the front of the memory allocated
NULL
Failed to allocate the memory requested.

otPlatFree

void otPlatFree(
  void *aPtr
)

Frees memory that was dynamically allocated by otPlatCAlloc().

Is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE.

Details
Parameters
[in] aPtr
A pointer the memory blocks to free. The pointer may be NULL.

Resources

OpenThread API Reference topics originate from the source code, available on GitHub. For more information, or to contribute to our documentation, refer to Resources.