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.

Functions

otPlatCAlloc

void * otPlatCAlloc(
  size_t aNum,
  size_t aSize
)

Dynamically allocates new memory.

On platforms that support it, should just redirect to calloc. For those that don't support calloc, should support the same functionality:

"The calloc() function contiguously allocates enough space for count objects that are size bytes of memory each and returns a pointer to the allocated memory. The allocated memory is filled with bytes of value zero."

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.

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.