Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: oldheating gps motorhome heating
Diff: net/http-net6-script.inc
- Revision:
- 89:615fb951df69
- Parent:
- 88:2857259fc2b4
- Child:
- 96:eb2eb75bad0f
diff -r 2857259fc2b4 -r 615fb951df69 net/http-net6-script.inc
--- a/net/http-net6-script.inc	Wed Apr 10 10:06:14 2019 +0000
+++ b/net/http-net6-script.inc	Thu Apr 11 09:45:36 2019 +0000
@@ -1,10 +1,32 @@
 "'use strict';\n"
 "\n"
-"var response = '';\n"
-"var headers  = '';\n"
-"var arp      = '';\n"
-"var dns      = '';\n"
+"var response        = '';\n"
+"var headers         = '';\n"
+"var arp             = '';\n"
+"var dns             = '';\n"
+"var hopLimit        = '';\n"
+"var managed         = false;\n"
+"var other           = false;\n"
+"var routerMac       = '';\n"
+"var prefixLength    = '';\n"
+"var prefixL         = false;\n"
+"var prefixA         = false;\n"
+"var prefixLimit     = '';\n"
+"var prefixPreferred = '';\n"
+"var prefix          = '';\n"
+"var dnsLife         = '';\n"
+"var dnsIp           = '';\n"
+"var ndpLease        = '';\n"
+"var ndpElapsed      = '';\n"
+"var slaac           = '';\n"
+"var mtu             = '';\n"
 "\n"
+"function hexToBit(text, iBit)\n"
+"{\n"
+"   var value = parseInt(text, 16);\n"
+"   value >>= iBit;\n"
+"   return value & 1;\n"
+"}\n"
 "function makeIpWord(text)\n"
 "{\n"
 "    var word = parseInt(text, 16);\n"
@@ -83,20 +105,58 @@
 "    dns = '';\n"
 "    text.split('\\n').forEach(parseDnsLine);\n"
 "}\n"
+"function parseGenLines(text)\n"
+"{\n"
+"    var lines = text.split('\\n');\n"
+"    \n"
+"    hopLimit        = parseInt(lines[ 1], 16);\n"
+"    managed         = hexToBit(lines[ 0],  0);\n"
+"    other           = hexToBit(lines[ 0],  1);\n"
+"    routerMac       = makeMac (lines[ 2], 16);\n"
+"    prefixLength    = parseInt(lines[ 3], 16);\n"
+"    prefixL         = hexToBit(lines[ 0],  2);\n"
+"    prefixA         = hexToBit(lines[ 0],  3);\n"
+"    prefixLimit     = parseInt(lines[ 4], 16);\n"
+"    prefixPreferred = parseInt(lines[ 5], 16);\n"
+"    prefix          = makeIp  (lines[ 6]    );\n"
+"    dnsLife         = parseInt(lines[ 7], 16);\n"
+"    dnsIp           = makeIp  (lines[ 8]    );\n"
+"    ndpLease        = parseInt(lines[ 9], 16);\n"
+"    ndpElapsed      = parseInt(lines[10], 16);\n"
+"    slaac           = makeIp  (lines[11]    );\n"
+"    mtu             = parseInt(lines[12], 16);\n"
+"}\n"
 "function parseAjax()\n"
 "{\n"
 "    var topics = response.split('\\f');\n"
-"    parseArpLines(topics[0]);\n"
-"    parseDnsLines(topics[1]);\n"
+"    parseGenLines(topics[0]);\n"
+"    parseArpLines(topics[1]);\n"
+"    parseDnsLines(topics[2]);\n"
 "}\n"
 "function displayGeneral()\n"
 "{\n"
-"   var elem;\n"
-"\n"
-"   elem = document.getElementById('ajax-response' ); if (elem) elem.textContent = response;\n"
-"   elem = document.getElementById('ajax-headers'  ); if (elem) elem.textContent = headers;\n"
-"   elem = document.getElementById('ajax-arp'      ); if (elem) elem.textContent = arp;\n"
-"   elem = document.getElementById('ajax-dns'      ); if (elem) elem.textContent = dns;\n"
+"    var elem;\n"
+"    \n"
+"    elem = document.getElementById('ajax-response'        ); if (elem) elem.textContent = response;\n"
+"    elem = document.getElementById('ajax-headers'         ); if (elem) elem.textContent = headers;\n"
+"    elem = document.getElementById('ajax-arp'             ); if (elem) elem.textContent = arp;\n"
+"    elem = document.getElementById('ajax-dns'             ); if (elem) elem.textContent = dns;\n"
+"    elem = document.getElementById('ajax-hop-limit'       ); if (elem) elem.textContent = hopLimit;\n"
+"    elem = document.getElementById('ajax-managed'         ); if (elem) elem.setAttribute('dir', managed ? 'rtl' : 'ltr');\n"
+"    elem = document.getElementById('ajax-other'           ); if (elem) elem.setAttribute('dir', other   ? 'rtl' : 'ltr');\n"
+"    elem = document.getElementById('ajax-router-mac'      ); if (elem) elem.textContent = routerMac;\n"
+"    elem = document.getElementById('ajax-prefix-length'   ); if (elem) elem.textContent = prefixLength;\n"
+"    elem = document.getElementById('ajax-prefix-l'        ); if (elem) elem.setAttribute('dir', prefixL ? 'rtl' : 'ltr');\n"
+"    elem = document.getElementById('ajax-prefix-a'        ); if (elem) elem.setAttribute('dir', prefixA ? 'rtl' : 'ltr');\n"
+"    elem = document.getElementById('ajax-prefix-limit'    ); if (elem) elem.textContent = prefixLimit;\n"
+"    elem = document.getElementById('ajax-prefix-preferred'); if (elem) elem.textContent = prefixPreferred;\n"
+"    elem = document.getElementById('ajax-prefix'          ); if (elem) elem.textContent = prefix;\n"
+"    elem = document.getElementById('ajax-dns-life'        ); if (elem) elem.textContent = dnsLife;\n"
+"    elem = document.getElementById('ajax-dns-ip'          ); if (elem) elem.textContent = dnsIp;\n"
+"    elem = document.getElementById('ajax-ndp-lease'       ); if (elem) elem.textContent = ndpLease;\n"
+"    elem = document.getElementById('ajax-ndp-elapsed'     ); if (elem) elem.textContent = ndpElapsed;\n"
+"    elem = document.getElementById('ajax-slaac'           ); if (elem) elem.textContent = slaac;\n"
+"    elem = document.getElementById('ajax-mtu'             ); if (elem) elem.textContent = mtu;\n"
 "}\n"
 "\n"
 "var ajax;\n"