| /* | 
|  * Traditional DNS header RCODEs (4-bits) defined by IANA in | 
|  * https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml | 
|  */ | 
|   | 
| exports.toString = function (rcode) { | 
|   switch (rcode) { | 
|     case 0: return 'NOERROR' | 
|     case 1: return 'FORMERR' | 
|     case 2: return 'SERVFAIL' | 
|     case 3: return 'NXDOMAIN' | 
|     case 4: return 'NOTIMP' | 
|     case 5: return 'REFUSED' | 
|     case 6: return 'YXDOMAIN' | 
|     case 7: return 'YXRRSET' | 
|     case 8: return 'NXRRSET' | 
|     case 9: return 'NOTAUTH' | 
|     case 10: return 'NOTZONE' | 
|     case 11: return 'RCODE_11' | 
|     case 12: return 'RCODE_12' | 
|     case 13: return 'RCODE_13' | 
|     case 14: return 'RCODE_14' | 
|     case 15: return 'RCODE_15' | 
|   } | 
|   return 'RCODE_' + rcode | 
| } | 
|   | 
| exports.toRcode = function (code) { | 
|   switch (code.toUpperCase()) { | 
|     case 'NOERROR': return 0 | 
|     case 'FORMERR': return 1 | 
|     case 'SERVFAIL': return 2 | 
|     case 'NXDOMAIN': return 3 | 
|     case 'NOTIMP': return 4 | 
|     case 'REFUSED': return 5 | 
|     case 'YXDOMAIN': return 6 | 
|     case 'YXRRSET': return 7 | 
|     case 'NXRRSET': return 8 | 
|     case 'NOTAUTH': return 9 | 
|     case 'NOTZONE': return 10 | 
|     case 'RCODE_11': return 11 | 
|     case 'RCODE_12': return 12 | 
|     case 'RCODE_13': return 13 | 
|     case 'RCODE_14': return 14 | 
|     case 'RCODE_15': return 15 | 
|   } | 
|   return 0 | 
| } |