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."

This function 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.

This function is required for OPENTHREAD_CONFIG_HEAP_EXTERNAL_ENABLE.

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