Library Interface

NameDescription
Macros
TCPIP_PACKET_LOG_ENABLEEnable the packet logger Simple module that logs the packets as they fly through the stack from creation until acknowledged Default is disabled
TCPIP_PKT_LOG_SIZENumber of log entries, if the packet logger is enabled Each entry takes approx 24 bytes
TCPIP_STACK_ALIAS_INTERFACE_SUPPORTEnable support for alias interfaces An alias interface uses the physical interface of another network interface. It allows multiple IP addresses for a host on the same interface, for example. Default is disabled.
TCPIP_STACK_CALLOC_FUNCStack allocation function, calloc style This is the function the stack will call to allocate memory needed for its own heap: TCPIP_STACK_DRAM_SIZE. Use standard C library 'calloc' as a default
TCPIP_STACK_COMMAND_ENABLETCP/IP commands support - requires the system console and the command processor
TCPIP_STACK_CONFIGURATION_SAVE_RESTOREThis setting enables the configuration get/set operations: TCPIP_STACK_ModuleConfigGet, TCPIP_STACK_NetConfigGet, TCPIP_STACK_NetConfigSet If true, the functionality is built in and could be used by the application If false, these functions do not exist and the generated code is smaller
TCPIP_STACK_DOWN_OPERATIONThis setting enables the TCPIP_STACK_Deinitialize() operation If this symbol is false, then the TCPIP_STACK_Deinitialize is not built in Useful when stack stop and restart is not needed at run time - smaller code footprint for the TCP/IP stack.
TCPIP_STACK_DRAM_DEBUG_ENABLEEnable debugging of an allocation call that failed. If the system debug is enabled (SYS_DEBUG_ENABLE) the stack will issue a warning message at the system debug channel.
TCPIP_STACK_DRAM_RUN_LIMITThe minimum amount of dynamic memory left for run time allocation by the stack (IP, UDP, etc) This is just a warning threshold. If after all the modules are initialized the amount of memory available in the TCPIP heap is less then TCPIP_STACK_DRAM_RUN_LIMIT then a warning will be displayed (if the debug channel is enabled) For proper operation there should be always a heap reserve of at least few KB.
TCPIP_STACK_DRAM_SIZEThe total amount of internal dynamic memory heap that the TCPIP stack will create at start up. This is the size of the internal heap, relevant only for the TCPIP_STACK_USE_INTERNAL_HEAP
TCPIP_STACK_DRAM_TRACE_SLOTSEnable tracing of the allocated memory by each module. The stack will trace all the memory allocated by a module and various statistics. #define TCPIP_STACK_DRAM_TRACE_ENABLE Number of trace slots to be used. There is on slot needed per module that allocates memory from the heap.
TCPIP_STACK_FREE_FUNCStack deallocation function, free style This is the function the stack will call for freeing the allocated memory when the stack is deinitialized. Use standard C library 'free' as a default
TCPIP_STACK_IF_UP_DOWN_OPERATIONThis setting enables the TCPIP_STACK_NetUp/TCPIP_STACK_NetDown operations When enabled, these functions are built in and can be used by an app Useful when interfaces do not need restarting at run time - results in smaller code footprint.
TCPIP_STACK_INTERFACE_CHANGE_SIGNALINGThis setting enables/disables the stack signaling when an interface address changes This could be triggered by the DHCP kicking into action, by ZCLL or other address service, or simply by the user changing the IP address of an interface If it is enabled, the socket modules (UDP, TCP) will be notified and they will disconnect their sockets that are currently connected on that interface that has changed. User can be notified by registering an event handler either with socket events or with the general stack signaling mechanism Default setting is true
TCPIP_STACK_INTERNAL_HEAP_POOL_EXPANSION_SIZEThe size of the expansion heap for a TCPIP_STACK_USE_INTERNAL_HEAP_POOL This is the amount of heap allocated besides the size resulting from the pool entries and allows expanding at run time. How a specific entry expands is controlled per entry If set to 0, then there is no expansion at run time.
TCPIP_STACK_MAC_DOWN_OPERATIONThis setting specifies the behavior of stack regarding the MAC and PHY drivers when the TCPIP_STACK_DOWN_OPERATION == false in the situation where the stack initialization failed and the stack cannot be started. If true, the MAC (and the corresponding PHY) TCPIP_MAC_Deinitialize will be called. This operation is supposed to exist and this setting will conserve power. If false, the TCPIP_MAC_Deinitialize waon't be called and the code footprint could be smaller. The TCPIP_MAC_Deinitialize operation, which is expensive, could be unimplemented.
TCPIP_STACK_MALLOC_FUNCStack allocation function, malloc style This is the function the stack will call to allocate memory needed for its own heap: TCPIP_STACK_DRAM_SIZE. Use standard C library 'malloc' as a default
TCPIP_STACK_SECURE_PORT_ENTRIESThe number of entries in the internally maintained secure port table This table is populated at stack initialization with default well-known port values Currently this number should be >= 10
TCPIP_STACK_SUPPORTED_HEAPSNumber of heap types at run time to enable debugging, statistics, trace on, etc. Currently only 1 heap type is supported at run time, one of: internal heap, internal pool and external
TCPIP_STACK_TICK_RATETCPIP task processing rate, in milliseconds. The TCP/IP task will require a timer event with this rate for maintaining its own state machine, processing timeouts for all modules, or dispatching the RX traffic if the interrupt operation is not enabled, etc. The lower this value (higher the frequency) the higher the priority of the TCP/IP stack and a higher performance can be obtained.
TCPIP_STACK_USE_ANNOUNCEMicrochip Embedded Ethernet Device Discoverer server/client
TCPIP_STACK_USE_BERKELEY_APIBerkeley Sockets APIs are available
TCPIP_STACK_USE_DHCP_CLIENTDynamic Host Configuration Protocol client for obtaining IP address and other parameters
TCPIP_STACK_USE_DHCP_SERVERDHCP server
TCPIP_STACK_USE_DNSDomain Name Service Client for resolving hostname strings to IP addresses
TCPIP_STACK_USE_DNS_SERVERDomain Name Service Server for redirection to the local device
TCPIP_STACK_USE_EVENT_NOTIFICATIONEvent Notifications Options ======================================================================= This setting enables the stack event notification. It allows the MAC drivers to report their TX/RX related events to the stack manager but also allows users of the stack to register notification handler so that they are notified of specific events. The operation of the stack is more efficient when event notification is turned on and this is how the stack is designed to run. Always leave this setting defined. The choice for selecting this parameter will eventually be removed. Maintained for backward compatibility.
TCPIP_STACK_USE_FTP_SERVERFile Transfer Protocol
TCPIP_STACK_USE_HTTP_NET_SERVERHTTP NET server with POST, Cookies, Authentication, etc. and encryption support
TCPIP_STACK_USE_ICMP_CLIENTPing query capability
TCPIP_STACK_USE_ICMP_SERVERPing response capability
TCPIP_STACK_USE_ICMPV6_SERVERenable IPv6 ICMP functionality
TCPIP_STACK_USE_INTERNAL_HEAPdefine TCPIP_STACK_USE_EXTERNAL_HEAP define TCPIP_STACK_USE_INTERNAL_HEAP_POOL
TCPIP_STACK_USE_IPERFEnable the Iperf module for standard network benchmarking
TCPIP_STACK_USE_IPV4enable IPv4 functionality
TCPIP_STACK_USE_IPV6enable IPv6 functionality
TCPIP_STACK_USE_LLDPLLDP limited beta functionality - not supported through MHC configuration
TCPIP_STACK_USE_NBNSNetBIOS Name Service Server for responding to NBNS hostname broadcast queries
TCPIP_STACK_USE_REBOOT_SERVERModule for resetting this PIC remotely. Primarily useful for a Bootloader.
TCPIP_STACK_USE_SMTPCSimple Mail Transfer Protocol for sending email with encryption support
TCPIP_STACK_USE_SNMP_SERVERSimple Network Management Protocol v2C Community Agent
TCPIP_STACK_USE_SNMPV3_SERVERSNMP v3 agent
TCPIP_STACK_USE_SNTP_CLIENTSimple Network Time Protocol for obtaining current date/time from Internet
TCPIP_STACK_USE_TCPEnable the TCP module
TCPIP_STACK_USE_TELNET_SERVERTelnet server
TCPIP_STACK_USE_TFTP_CLIENTTFTP client functionality
TCPIP_STACK_USE_UDPEnable the UDP module
TCPIP_STACK_USE_ZEROCONF_LINK_LOCALZeroconf IPv4 Link-Local Addressing;
TCPIP_STACK_USE_ZEROCONF_MDNS_SDZeroconf mDNS and mDNS service discovery
TCPIP_STACK_USER_NOTIFICATIONThis setting enables the reporting of the events by the stack to the user using the notification system If enabled, then TCPIP_STACK_HandlerRegister and TCPIP_STACK_HandlerDeregister functions are compiled in and can be used If disabled, these functions do not exist and cannot be used/called Relevant only when TCPIP_STACK_USE_EVENT_NOTIFICATION is enabled
TCPIP_STACK_EXTERN_PACKET_PROCESSThis setting enables/disables the processing of the RX packets by an external handler The user of the stack can register an external function to process the incoming packets If true, the functionality is built in and could be used by the application If false, the functionality does not exist and the generated code is slightly smaller
Helper Functions
TCPIP_Helper_FormatNetBIOSNameFormats a string to a valid NetBIOS name.
TCPIP_Helper_htonlThis is function TCPIP_Helper_htonl.
TCPIP_Helper_htonllThis is function TCPIP_Helper_htonll.
TCPIP_Helper_htonsThis is function TCPIP_Helper_htons.
TCPIP_Helper_IPAddressToStringConverts an IPV4 address to an ASCII string.
TCPIP_Helper_IPv6AddressToStringConverts an IPv6 address to a string representation.
TCPIP_Helper_IsBcastAddressThis is function TCPIP_Helper_IsBcastAddress.
TCPIP_Helper_IsMcastAddressThis is function TCPIP_Helper_IsMcastAddress.
TCPIP_Helper_IsPrivateAddressDetects a private (non-routable) address.
TCPIP_Helper_MACAddressToStringConverts a MAC address to a string.
TCPIP_Helper_ntohl!defined(_mips_)
TCPIP_Helper_ntohllThis is function TCPIP_Helper_ntohll.
TCPIP_Helper_ntohsThis is function TCPIP_Helper_ntohs.
TCPIP_Helper_SecurePortGetByIndexReturns the secure port belonging to a specified index.
TCPIP_Helper_SecurePortSetSets the required port secure connection status.
TCPIP_Helper_StringToIPAddressConverts an ASCII string to an IPV4 address.
TCPIP_Helper_StringToIPv6AddressConverts a string to an IPv6 address.
TCPIP_Helper_StringToMACAddressConverts a string to an MAC address.
TCPIP_Helper_TCPSecurePortGetChecks if the required TCP port is a secure port.
TCPIP_Helper_UDPSecurePortGetChecks if the required UDP port is a secure port.
TCPIP_Helper_Base64DecodeHelper function to decode a Base-64 encoded array.
TCPIP_Helper_Base64EncodeHelper function to encode to Base-64.
Task and Initialize Functions
TCPIP_STACK_HandlerDeregisterDeregisters an event notification handler.
TCPIP_STACK_HandlerRegisterSets a new event notification handler.
TCPIP_MODULE_SignalFunctionDeregisterDeregisters a signal function for a stack module.
TCPIP_MODULE_SignalFunctionRegisterRegisters a new signal function for a stack module.
TCPIP_MODULE_SignalGetReturns the current signals for a TCP/IP module.
TCPIP_STACK_VersionGetGets the TCP/IP stack version in numerical format.
TCPIP_STACK_VersionStrGetGets the TCP/IP stack version in string format.
TCPIP_STACK_TaskTCP/IP Stack task function.
TCPIP_STACK_DeinitializeStack deinitialization function.
TCPIP_STACK_InitializeStack initialization function.
TCPIP_STACK_MACObjectGetReturns the network MAC driver object of this interface.
TCPIP_STACK_PacketHandlerDeregisterDeregisters a previously registered packet handler.
TCPIP_STACK_PacketHandlerRegisterSets a new packet processing handler.
Network Status and Control Functions
TCPIP_STACK_IndexToNetNetwork interface handle from interface number.
TCPIP_STACK_NetBIOSNameNetwork interface NetBIOS name.
TCPIP_STACK_NetBiosNameSetSets network interface NetBIOS name.
TCPIP_STACK_NetDefaultGetDefault network interface handle.
TCPIP_STACK_NetDefaultSetSets the default network interface handle.
TCPIP_STACK_NetHandleGetNetwork interface handle from a name.
TCPIP_STACK_NetIndexGetNetwork interface number from interface handle.
TCPIP_STACK_NetMaskNetwork interface IPv4 address mask.
TCPIP_STACK_NetNameGetNetwork interface name from a handle.
TCPIP_STACK_NumberOfNetworksGetNumber of network interfaces in the stack.
TCPIP_STACK_EventsPendingGetReturns the currently pending events.
TCPIP_STACK_ModuleConfigGetGet stack module configuration data.
TCPIP_STACK_NetMACIdGetGet the MAC ID of the network interface.
TCPIP_STACK_NetMACStatisticsGetGet the MAC statistics data.
TCPIP_STACK_InitializeDataGetGet the TCP/IP stack initialization data.
TCPIP_STACK_NetMulticastGetDefault multicast network interface handle.
TCPIP_STACK_NetMulticastSetSets the default multicast network interface.
TCPIP_STACK_NetGetTypeGets the network interface type: primary, alias, etc.
Network Up/Down/Linked Functions
TCPIP_STACK_NetDownTurns down a network interface.
TCPIP_STACK_NetIsLinkedGets the network interface link status.
TCPIP_STACK_NetIsUpGets the network interface up or down status.
TCPIP_STACK_NetUpTurns up a network interface. As part of this process, the corresponding MAC driver is initialized.
TCPIP_STACK_NetAliasNameGetNetwork interface alias name from a handle.
TCPIP_STACK_NetIsReadyGets the network interface configuration status.
TCPIP_STACK_NetMACRegisterStatisticsGetGet the MAC statistics register data.
Network Address Status and Control Functions
TCPIP_STACK_NetAddressNetwork interface IPv4 address.
TCPIP_STACK_NetAddressBcastNetwork interface broadcast address.
TCPIP_STACK_NetAddressDnsPrimaryNetwork interface DNS address.
TCPIP_STACK_NetAddressDnsPrimarySetSets network interface IPv4 DNS address.
TCPIP_STACK_NetAddressDnsSecondNetwork interface secondary DNS address.
TCPIP_STACK_NetAddressDnsSecondSetSets network interface IPv4 secondary DNS address.
TCPIP_STACK_NetAddressGatewayNetwork interface IPv4 gateway address.
TCPIP_STACK_NetAddressGatewaySetSets network interface IPv4 gateway address.
TCPIP_STACK_NetAddressMacNetwork interface MAC address.
TCPIP_STACK_NetAddressSetSets network interface IPv4 address.
TCPIP_STACK_NetIPv6AddressGetGets network interface IPv6 address.
TCPIP_STACK_NetAddressMacSetSets network interface MAC address.
TCPIP_STACK_StatusProvides the current status of the TCPIP stack module.
Network Structure Storage Functions
TCPIP_STACK_NetConfigGetGet stack network interface configuration data.
TCPIP_STACK_NetConfigSetRestores stack network interface configuration data.
Heap Functions
TCPIP_STACK_HEAP_FreeSizeReturns the size of the space currently available in the heap.
TCPIP_STACK_HEAP_LastErrorReturns the last error encountered in a heap operation and clears the value of the last error variable.
TCPIP_STACK_HEAP_MaxSizeReturns the maximum size of a block that can be currently allocated from this heap.
TCPIP_STACK_HEAP_SizeReturns the size of the heap.
TCPIP_STACK_HeapHandleGetReturns the current TCP/IP stack heap handle.
TCPIP_STACK_HEAP_HighWatermarkReturns the current heap watermark.
Data Types and Constants
TCPIP_NET_HANDLEDefines a network interface handle.
TCPIP_EVENTDefines the possible TCPIP event types.
TCPIP_EVENT_HANDLEDefines a TCPIP stack event handle.
TCPIP_STACK_EVENT_HANDLERPointer to a function(handler) that will get called to process an event.
TCPIP_MODULE_SIGNALLists the signals that are generated by the TCP/IP stack manager and processed by the stack modules.
TCPIP_MODULE_SIGNAL_FUNCPointer to a function(handler) that will get called when a stack internal signal occurred.
TCPIP_MODULE_SIGNAL_HANDLEDefines a TCPIP stack signal function handle.
TCPIP_Helper_ntohlThis is macro TCPIP_Helper_ntohl.
TCPIP_Helper_ntohllThis is macro TCPIP_Helper_ntohll.
TCPIP_Helper_ntohsThis is macro TCPIP_Helper_ntohs.
_TCPIP_HELPERS_HThis is macro _TCPIP_HELPERS_H.
_TCPIP_MANAGER_HThis is macro _TCPIP_MANAGER_H.
TCPIP_NETWORK_TYPEReturns the type of a network interface.
TCPIP_STACK_HEAP_CONFIGDefines the data required to initialize the TCP/IP stack heap.
TCPIP_STACK_HEAP_EXTERNAL_CONFIGDefines the data required to initialize the TCP/IP stack external heap.
TCPIP_STACK_HEAP_FLAGSDefines the flags supported by a TCP/IP heap.
TCPIP_STACK_HEAP_HANDLEDefines a TCP/IP stack heap handle type.
TCPIP_STACK_HEAP_INTERNAL_CONFIGDefines the data required to initialize the TCP/IP stack internal heap.
TCPIP_STACK_HEAP_POOL_CONFIGThis is type TCPIP_STACK_HEAP_POOL_CONFIG.
TCPIP_STACK_HEAP_POOL_ENTRYDefines the data required to initialize the TCP/IP stack internal memory pool.
TCPIP_STACK_HEAP_RESDefines the results of a TCP/IP heap error function.
TCPIP_STACK_HEAP_TYPEDefines a TCP/IP stack heap type.
TCPIP_STACK_HEAP_USAGEDefines a TCP/IP stack heap purpose.
TCPIP_STACK_PACKET_HANDLERPointer to a function(handler) that will get called to process an incoming packet.
TCPIP_STACK_PROCESS_HANDLEDefines a TCPIP stack packet processing handle.