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
base/net/web-net6-script.inc
- Committer:
- andrewboyson
- Date:
- 2020-04-02
- Revision:
- 136:be1d42268b5d
- Parent:
- 110:8ab752842d25
- Child:
- 142:b472ba95b018
File content as of revision 136:be1d42268b5d:
"//Net6 script\n"
"'use strict';\n"
"\n"
"let arp = '';\n"
"let dns = '';\n"
"let hopLimit = '';\n"
"let managed = false;\n"
"let other = false;\n"
"let routerMac = '';\n"
"let prefixLength = '';\n"
"let prefixL = false;\n"
"let prefixA = false;\n"
"let prefixLimit = '';\n"
"let prefixPreferred = '';\n"
"let prefix = '';\n"
"let dnsLife = '';\n"
"let dnsIp = '';\n"
"let ndpLease = '';\n"
"let ndpElapsed = '';\n"
"let slaac = '';\n"
"let mtu = '';\n"
"\n"
"function parseArpLine(line)\n"
"{\n"
" if (line.length == 0) return;\n"
" let fields = line.split('\\t');\n"
" \n"
" arp += parseInt(fields[0], 16).toString().padStart(2, ' ');\n"
" \n"
" let minutes = parseInt(fields[1], 16) / 1000 / 60;\n"
" arp += Math.floor(minutes).toString().padStart(4, ' ');\n"
" arp += ' ';\n"
" \n"
" arp += Net.makeIp6(fields[2]).padEnd(40, ' ');\n"
" arp += ' ';\n"
" \n"
" arp += Net.makeMac(fields[3]);\n"
" arp += '\\r\\n';\n"
"}\n"
"function parseDnsLine(line)\n"
"{\n"
" if (line.length == 0) return;\n"
" let fields = line.split('\\t');\n"
" \n"
" dns += parseInt(fields[0], 16).toString().padStart(2, ' ');\n"
" let minutes = parseInt(fields[1], 16) / 1000 / 60;\n"
" dns += Math.floor(minutes).toString().padStart(4, ' ');\n"
" dns += ' ';\n"
" dns += Net.makeIp6(fields[2]).padEnd(40, ' ');\n"
" dns += ' ';\n"
" dns += fields[3];\n"
" dns += ' ';\n"
" dns += fields[4];\n"
" dns += '\\r\\n';\n"
"}\n"
"function parseArpLines(text)\n"
"{\n"
" arp = '';\n"
" text.split('\\n').forEach(parseArpLine);\n"
"}\n"
"function parseDnsLines(text)\n"
"{\n"
" dns = '';\n"
" text.split('\\n').forEach(parseDnsLine);\n"
"}\n"
"function parseGenLines(text)\n"
"{\n"
" let lines = text.split('\\n');\n"
" \n"
" hopLimit = parseInt(lines[ 1], 16);\n"
" managed = Net.hexToBit(lines[ 0], 0);\n"
" other = Net.hexToBit(lines[ 0], 1);\n"
" routerMac = Net.makeMac (lines[ 2], 16);\n"
" prefixLength = parseInt(lines[ 3], 16);\n"
" prefixL = Net.hexToBit(lines[ 0], 2);\n"
" prefixA = Net.hexToBit(lines[ 0], 3);\n"
" prefixLimit = parseInt(lines[ 4], 16);\n"
" prefixPreferred = parseInt(lines[ 5], 16);\n"
" prefix = Net.makeIp6 (lines[ 6] );\n"
" dnsLife = parseInt(lines[ 7], 16);\n"
" dnsIp = Net.makeIp6 (lines[ 8] );\n"
" ndpLease = parseInt(lines[ 9], 16);\n"
" ndpElapsed = parseInt(lines[10], 16);\n"
" slaac = Net.makeIp6 (lines[11] );\n"
" mtu = parseInt(lines[12], 16);\n"
"}\n"
"function parse()\n"
"{\n"
" let topics = Ajax.response.split('\\f');\n"
" parseGenLines(topics[0]);\n"
" parseArpLines(topics[1]);\n"
" parseDnsLines(topics[2]);\n"
"}\n"
"function display()\n"
"{\n"
" let elem;\n"
" \n"
" elem = Ajax.getElementOrNull('ajax-arp' ); if (elem) elem.textContent = arp;\n"
" elem = Ajax.getElementOrNull('ajax-dns' ); if (elem) elem.textContent = dns;\n"
" elem = Ajax.getElementOrNull('ajax-hop-limit' ); if (elem) elem.textContent = hopLimit;\n"
" elem = Ajax.getElementOrNull('ajax-managed' ); if (elem) elem.setAttribute('dir', managed ? 'rtl' : 'ltr');\n"
" elem = Ajax.getElementOrNull('ajax-other' ); if (elem) elem.setAttribute('dir', other ? 'rtl' : 'ltr');\n"
" elem = Ajax.getElementOrNull('ajax-router-mac' ); if (elem) elem.textContent = routerMac;\n"
" elem = Ajax.getElementOrNull('ajax-prefix-length' ); if (elem) elem.textContent = prefixLength;\n"
" elem = Ajax.getElementOrNull('ajax-prefix-l' ); if (elem) elem.setAttribute('dir', prefixL ? 'rtl' : 'ltr');\n"
" elem = Ajax.getElementOrNull('ajax-prefix-a' ); if (elem) elem.setAttribute('dir', prefixA ? 'rtl' : 'ltr');\n"
" elem = Ajax.getElementOrNull('ajax-prefix-limit' ); if (elem) elem.textContent = prefixLimit;\n"
" elem = Ajax.getElementOrNull('ajax-prefix-preferred'); if (elem) elem.textContent = prefixPreferred;\n"
" elem = Ajax.getElementOrNull('ajax-prefix' ); if (elem) elem.textContent = prefix;\n"
" elem = Ajax.getElementOrNull('ajax-dns-life' ); if (elem) elem.textContent = dnsLife;\n"
" elem = Ajax.getElementOrNull('ajax-dns-ip' ); if (elem) elem.textContent = dnsIp;\n"
" elem = Ajax.getElementOrNull('ajax-ndp-lease' ); if (elem) elem.textContent = ndpLease;\n"
" elem = Ajax.getElementOrNull('ajax-ndp-elapsed' ); if (elem) elem.textContent = ndpElapsed;\n"
" elem = Ajax.getElementOrNull('ajax-slaac' ); if (elem) elem.textContent = slaac;\n"
" elem = Ajax.getElementOrNull('ajax-mtu' ); if (elem) elem.textContent = mtu;\n"
"}\n"
"\n"
"Ajax.server = '/net6-ajax';\n"
"Ajax.onResponse = function() { parse(); display(); };\n"
"Ajax.init();"