Jump to main content

##

# TCPIP_STACK_HEAP_FLAGS Enumeration

## C

    typedef enum {
    TCPIP_STACK_HEAP_FLAG_NONE = 0x00,
    TCPIP_STACK_HEAP_FLAG_ALLOC_UNCACHED = 0x01,
    TCPIP_STACK_HEAP_FLAG_NO_MTHREAD_SYNC = 0x02,
    TCPIP_STACK_HEAP_FLAG_ALLOC_UNALIGN = 0x04,
    TCPIP_STACK_HEAP_FLAG_POOL_STRICT = 0x08,
    TCPIP_STACK_HEAP_FLAG_NO_WARN_MESSAGE = 0x10
    } TCPIP_STACK_HEAP_FLAGS;

## Description

Enumeration: TCPIP_STACK_HEAP_FLAGS.

Defines the flags supported by a TCP/IP heap creation function.

## Members

Members | Description
--- | ---
TCPIP_STACK_HEAP_FLAG_ALLOC_UNCACHED = 0x01 | The heap needs to provide non-cached buffers. Default is enabled.
TCPIP_STACK_HEAP_FLAG_NO_MTHREAD_SYNC = 0x02 | TCPIP_STACK_HEAP_TYPE_EXTERNAL_HEAP type specific flag: when external heap functions are used this flag suppresses the multi-threaded synchronization directives and assumes that the protection is done by the external heap manager. Default is disabled.
TCPIP_STACK_HEAP_FLAG_ALLOC_UNALIGN = 0x04 | TCPIP_STACK_HEAP_TYPE_EXTERNAL_HEAP type specific flag: when external heap functions are used this flag suppresses the internal implementation of buffer alignment required by the TCP/IP stack. Therefore, the external allocation functions need to provide aligned buffers (usually on the cache line on cached platforms). The allocation function will return failure if the flag is turned on and the returned buffer is not properly aligned. Default is disabled.
TCPIP_STACK_HEAP_FLAG_POOL_STRICT = 0x08 | TCPIP_STACK_HEAP_TYPE_INTERNAL_HEAP_POOL type specific flag: If the strict flag is enabled, the allocation will be tried strictly from the pool entry that matches the requested size. Otherwise, all the pool entries that have blocks larger than the requested size will be tried.
TCPIP_STACK_HEAP_FLAG_NO_WARN_MESSAGE = 0x10 | When debugging is enabled, do not issue a warning when a memory allocation operation fails. Default is disabled.

## Remarks

New flags could be added in the future. 16-bit only flags supported.