A stack which works with or without an Mbed os library. Provides IPv4 or IPv6 with a full 1500 byte buffer.

Dependents:   oldheating gps motorhome heating

Revision:
14:e75a59c1123d
Parent:
11:c051adb70c5a
Child:
22:914b970356f0
--- a/net.cpp	Mon May 01 18:20:55 2017 +0000
+++ b/net.cpp	Fri May 05 17:44:16 2017 +0000
@@ -10,67 +10,6 @@
 
 char* NetName;
 
-static void addHexNibble(bool* pAdded, int number, int index, char** pp)
-{
-    int nibble = number;
-    if (index) nibble >>= 4;
-    nibble &= 0xF;
-    
-    if (nibble || *pAdded)
-    {
-        **pp = nibble < 10 ? nibble + '0' : nibble - 10 + 'a';
-        *pp += 1;
-        *pAdded = true;
-    }
-}
-int NetIp6AddressToString(char* pIp, int size, char* pText)
-{
-    char* pIpE = pIp + 16;
-    char* p = pText;
-    while (true)
-    {
-        bool added = false;
-        if (*pIp || *(pIp + 1))
-        {
-            if (p > pText + size - 2) break;  addHexNibble(&added, *(pIp + 0), 1, &p);
-            if (p > pText + size - 2) break;  addHexNibble(&added, *(pIp + 0), 0, &p);
-            if (p > pText + size - 2) break;  addHexNibble(&added, *(pIp + 1), 1, &p);
-            if (p > pText + size - 2) break;  addHexNibble(&added, *(pIp + 1), 0, &p);
-        }
-        
-        pIp += 2;
-        if (pIp >= pIpE) break;
-        
-        if (p > pText + size - 2) break; *p++ = ':';
-    }
-    *p = 0;
-    return p - pText;
-}
-int NetIp4AddressToString(uint32_t ip, int size, char* text)
-{
-    int a0 = (ip & 0xFF000000) >> 24;
-    int a1 = (ip & 0x00FF0000) >> 16;
-    int a2 = (ip & 0x0000FF00) >>  8;
-    int a3 = (ip & 0x000000FF);
-    return snprintf(text, size, "%d.%d.%d.%d", a3, a2, a1, a0); 
-}
-int NetMacToString(char* mac, int size, char* text)
-{
-    return snprintf(text, size, "%02x:%02x:%02x:%02x:%02x:%02x", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-}
-void NetProtocolToString(uint8_t protocol, int size, char* text)
-{
-    switch (protocol)
-    {
-        case  ICMP: strncpy (text, "ICMP",  size);        break;
-        case  IGMP: strncpy (text, "IGMP",  size);        break;
-        case ICMP6: strncpy (text, "ICMP6", size);        break;
-        case   TCP: strncpy (text, "TCP"  , size);        break;
-        case   UDP: strncpy (text, "UDP"  , size);        break;
-        default:    snprintf(text, size, "%d", protocol); break;
-    }
-}
-
 int16_t NetToHost16(int16_t n)
 {
     int16_t h;