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 available and can ONLY be used only when support for multiple OpenThread instances is enabled.

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 available and can ONLY be used only when support for multiple OpenThread instances is enabled.

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