TCPIP_STACK_HEAP_EXTERNAL_CONFIG Structure

C

typedef struct {
TCPIP_STACK_HEAP_TYPE heapType;
TCPIP_STACK_HEAP_FLAGS heapFlags;
TCPIP_STACK_HEAP_USAGE heapUsage;
void* (* malloc_fnc)(size_t bytes);
void* (* calloc_fnc)(size_t nElems, size_t elemSize);
void (* free_fnc)(void* ptr);
} TCPIP_STACK_HEAP_EXTERNAL_CONFIG;

Description

External heap configuration data.

This data type defines the data required to intialize the TCP/IP stack external heap.

Members

MembersDescription
heapTypeType of this heap: TCPIP_STACK_HEAP_TYPE_EXTERNAL_HEAP.
heapFlagsHeap creation flags. TCPIP_STACK_HEAP_FLAG_ALLOC_UNCACHED will be always internally set. TCPIP_STACK_HEAP_FLAG_NO_MTHREAD_SYNC should be cleared if the external heap functions provide multi-threaded synchronization. Should be set if the synchronization needs to be provided by the TCP/IP heap implementation. TCPIP_STACK_HEAP_FLAG_ALLOC_UNALIGN should be set if the external heap functions provide cache line aligned buffers.
heapUsageCurrently not used.
(* malloc_fnc)(size_t bytes)Malloc style function to be called when allocation is needed.
(* calloc_fnc)(size_t nElems, size_t elemSize)Calloc style function to be called when allocation is needed.
(* free_fnc)(void* ptr)Free style function for releasing the allocated memory.

Remarks

Due to the internal alignment restrictions the externally supplied calloc function is not currently used. Instead, a less efficient approach is taken: the malloc function is used and the resulted buffer is zeroed out.