dnsbase
Copyright(c) Viktor Dukhovni 2026
LicenseBSD-3-Clause
Maintainerietf-dane@dukhovni.org
Stabilityunstable
Safe HaskellNone
LanguageGHC2024

Net.DNSBase.RCODE

Description

The RCODE that the server returns in a DNS response. The original RCODE was a 4-bit field in the DNS header (RFC 1035 section 4.1.1); EDNS extends it to 12 bits via the EXTENDED-RCODE field of the OPT pseudo-RR (RFC 6891 section 6.1.3). See the IANA DNS RCODEs registry for the full list.

Synopsis

DNS Message response codes

data RCODE where Source #

The extended (12-bit) DNS RCODE consisting of 4 bits from the basic DNS header, possibly augmented with 8 more bits from the EDNS header.

Should always be zero in well-formed requests. When decoding replies, the high eight bits from any EDNS response are combined with the 4-bit RCODE from the DNS header. When encoding a message, if EDNS is disabled RCODE values larger than 15 are mapped to FORMERR.

RCODES 12 through 15 are reserved, see IANA

Bundled Patterns

pattern BADALG :: RCODE

BADALG - [RFC2930]

pattern BADCOOKIE :: RCODE

BADCOOKIE - [RFC7873]

pattern BADKEY :: RCODE

BADKEY - [RFC2845]

pattern BADMODE :: RCODE

BADMODE - [RFC2930]

pattern BADNAME :: RCODE

BADNAME - [RFC2930]

pattern BADSIG :: RCODE

BADSIG - [RFC2845]

pattern BADTIME :: RCODE

BADTIME - [RFC2845]

pattern BADTRUNC :: RCODE

BADTRUNC - [RFC4635]

pattern BADVERS :: RCODE

BADVERS - [RFC6891]

pattern DSOTYPENI :: RCODE

DSOTYPENI - [RFC8490]

pattern FORMERR :: RCODE

FORMERR - [RFC1035]

pattern NOERROR :: RCODE

NOERROR - [RFC1035]

pattern NOTAUTH :: RCODE

NOTAUTH - [RFC2136]

pattern NOTIMP :: RCODE

NOTIMP - [RFC1035]

pattern NOTZONE :: RCODE

NOTZONE - [RFC2136]

pattern NXDOMAIN :: RCODE

NXDOMAIN - [RFC1035]

pattern NXRRSET :: RCODE

NXRRSET - [RFC2136]

pattern RCODE :: Word16 -> RCODE

Smart constructor ensures provided values are valid. Attempts to construct a values larger than 4095 raises an error.

pattern REFUSED :: RCODE

REFUSED - [RFC1035]

pattern SERVFAIL :: RCODE

SERVFAIL - [RFC1035]

pattern YXDOMAIN :: RCODE

YXDOMAIN - [RFC2136][RFC6672]

pattern YXRRSET :: RCODE

YXRRSET - [RFC2136]

Instances

Instances details
Presentable RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Bounded RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Enum RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Show RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Methods

showsPrec :: Int -> RCODE -> ShowS #

show :: RCODE -> String #

showList :: [RCODE] -> ShowS #

Eq RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Methods

(==) :: RCODE -> RCODE -> Bool #

(/=) :: RCODE -> RCODE -> Bool #

Ord RCODE Source # 
Instance details

Defined in Net.DNSBase.Internal.RCODE

Methods

compare :: RCODE -> RCODE -> Ordering #

(<) :: RCODE -> RCODE -> Bool #

(<=) :: RCODE -> RCODE -> Bool #

(>) :: RCODE -> RCODE -> Bool #

(>=) :: RCODE -> RCODE -> Bool #

max :: RCODE -> RCODE -> RCODE #

min :: RCODE -> RCODE -> RCODE #