'use strict'
exports.toString =
function (type) {
switch (type) {
// list at
// https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml#dns-parameters-11
case 1:
return 'LLQ'
case 2:
return 'UL'
case 3:
return 'NSID'
case 5:
return 'DAU'
case 6:
return 'DHU'
case 7:
return 'N3U'
case 8:
return 'CLIENT_SUBNET'
case 9:
return 'EXPIRE'
case 10:
return 'COOKIE'
case 11:
return 'TCP_KEEPALIVE'
case 12:
return 'PADDING'
case 13:
return 'CHAIN'
case 14:
return 'KEY_TAG'
case 15:
return 'EDNS_ERROR'
case 26946:
return 'DEVICEID'
}
if (type <
0) {
return null
}
return `OPTION_${type}`
}
exports.toCode =
function (name) {
if (
typeof name ===
'number') {
return name
}
if (!name) {
return -
1
}
switch (name.toUpperCase()) {
case 'OPTION_0':
return 0
case 'LLQ':
return 1
case 'UL':
return 2
case 'NSID':
return 3
case 'OPTION_4':
return 4
case 'DAU':
return 5
case 'DHU':
return 6
case 'N3U':
return 7
case 'CLIENT_SUBNET':
return 8
case 'EXPIRE':
return 9
case 'COOKIE':
return 10
case 'TCP_KEEPALIVE':
return 11
case 'PADDING':
return 12
case 'CHAIN':
return 13
case 'KEY_TAG':
return 14
case 'EDNS_ERROR':
return 15
case 'DEVICEID':
return 26946
case 'OPTION_65535':
return 65535
}
const m = name.match(/_(\d+)$/)
if (m) {
return parseInt(m[
1],
10)
}
return -
1
}
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet am 2026-11-08)
¤
*© Formatika GbR, Deutschland