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

Net.DNSBase.RData.Obsolete

Description

A grab-bag of RR types that are no longer used in current zone data but appear in historic records and zone-data archives. They are defined here so wire-form parsers can read stray examples without failing. No new deployment should use any of these types.

The module gathers four loose groups:

T_wks (Well-Known Services) is re-exported here for convenience; its definition lives in Net.DNSBase.RData.WKS.

The pre-RFC-4034 records in this module lower-case their embedded domains in canonical form; T_nsapptr is the exception (its derived instances compare the wire bytes case-sensitively).

Synopsis

Obsolete RR types

Obsolete RR types representing a host name or mailbox.

data X_domain (n :: Nat) where Source #

Shared wire-format representation for the RFC 1035 RR types whose RDATA is a single domain name: NS (section 3.3.11), CNAME (section 3.3.1), PTR (section 3.3.12), and the obsolete mailbox-pointer types MB, MD, MF, MG, MR (RFC 1035 sections 3.3.3-3.3.8). The type parameter n (one of N_ns, N_cname, N_ptr, N_mb, N_md, N_mf, N_mg, N_mr) determines the RR type. Each has its own type synonym (T_ns, T_cname, ...) and matching pattern synonym (T_NS, T_CNAME, ...).

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                 DOMAINNAME                    /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Although all these RR types share a common underlying representation, the constructors are not shared and the types are not mutually coercible — this is deliberate, to catch RR-type confusion at compile time.

The target domain is subject to wire-form name compression on encode (RFC 3597 section 4) and canonicalises to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare in canonical wire form (via equalWireHost / compareWireHost), so Ord is canonical. Presentation preserves the original case.

Bundled Patterns

pattern T_MD :: Domain -> T_md

Mail destination (RFC 1035 section 3.3.4; obsolete — use T_mx).

pattern T_MF :: Domain -> T_mf

Mail forwarder (RFC 1035 section 3.3.5; obsolete — use T_mx).

pattern T_MB :: Domain -> T_mb

Mailbox domain (RFC 1035 section 3.3.3; obsolete).

pattern T_MG :: Domain -> T_mg

Mail group member (RFC 1035 section 3.3.6; obsolete).

pattern T_MR :: Domain -> T_mr

Mail rename (RFC 1035 section 3.3.8; obsolete).

Instances

Instances details
Presentable (X_domain f) Source #

Presentation form preserves case.

Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

(Typeable n, Nat16 n, KnownSymbol (XdomainConName n)) => KnownRData (X_domain n) Source #

Name compression used on input and output.

Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

Associated Types

type RDataExtensionVal (X_domain n) 
Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

Methods

rdataExtensionVal :: forall b -> b ~ X_domain n => RDataExtensionVal (X_domain n) Source #

rdType :: forall b -> b ~ X_domain n => RRTYPE Source #

rdTypePres :: forall b -> b ~ X_domain n => Builder -> Builder Source #

rdDecode :: forall b -> b ~ X_domain n => RDataExtensionVal (X_domain n) -> Int -> SGet RData Source #

rdEncode :: X_domain n -> SPut s RData Source #

cnEncode :: X_domain n -> SPut s RData Source #

(Nat16 n, KnownSymbol (XdomainConName n)) => Show (X_domain n) Source # 
Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

Methods

showsPrec :: Int -> X_domain n -> ShowS #

show :: X_domain n -> String #

showList :: [X_domain n] -> ShowS #

Eq (X_domain f) Source #

Case-insensitive wire-form equality.

Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

Methods

(==) :: X_domain f -> X_domain f -> Bool #

(/=) :: X_domain f -> X_domain f -> Bool #

Ord (X_domain f) Source #

Case-insensitive wire-form order.

Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

Methods

compare :: X_domain f -> X_domain f -> Ordering #

(<) :: X_domain f -> X_domain f -> Bool #

(<=) :: X_domain f -> X_domain f -> Bool #

(>) :: X_domain f -> X_domain f -> Bool #

(>=) :: X_domain f -> X_domain f -> Bool #

max :: X_domain f -> X_domain f -> X_domain f #

min :: X_domain f -> X_domain f -> X_domain f #

type RDataExtensionVal (X_domain n) Source # 
Instance details

Defined in Net.DNSBase.RData.Internal.XNAME

type T_md = X_domain N_md Source #

X_domain specialised to MD records.

type T_mf = X_domain N_mf Source #

X_domain specialised to MF records.

type T_mb = X_domain N_mb Source #

X_domain specialised to MB records.

type T_mg = X_domain N_mg Source #

X_domain specialised to MG records.

type T_mr = X_domain N_mr Source #

X_domain specialised to MR records.

Other obsolete RR types.

data T_wks Source #

The WKS resource record (RFC 1035 section 3.4.2), mapping an IPv4 address and a WksProto protocol number to the set of TCP/UDP port numbers (16-bit) on which the named host accepts connections. Ports are encoded on the wire as a packed bitmap whose length implies the maximum port carried.

 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |                    ADDRESS                    |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |       PROTOCOL        |                       |
 +--+--+--+--+--+--+--+--+                       |
 |                                               |
 /                   <BIT MAP>                   /
 /                                               /
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

The Ord instance compares by address, then protocol, then the port set in descending order — matching the byte-wise comparison of the wire-form port bitmap, so it agrees with the canonical RR-content ordering of RFC 4034 section 6.2.

Constructors

T_WKS 

Fields

Instances

Instances details
Presentable T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

KnownRData T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Associated Types

type RDataExtensionVal T_wks 
Instance details

Defined in Net.DNSBase.RData.WKS

Methods

rdataExtensionVal :: forall b -> b ~ T_wks => RDataExtensionVal T_wks Source #

rdType :: forall b -> b ~ T_wks => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_wks => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_wks => RDataExtensionVal T_wks -> Int -> SGet RData Source #

rdEncode :: T_wks -> SPut s RData Source #

cnEncode :: T_wks -> SPut s RData Source #

Show T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Methods

showsPrec :: Int -> T_wks -> ShowS #

show :: T_wks -> String #

showList :: [T_wks] -> ShowS #

Eq T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Methods

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

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

Ord T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Methods

compare :: T_wks -> T_wks -> Ordering #

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

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

(>) :: T_wks -> T_wks -> Bool #

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

max :: T_wks -> T_wks -> T_wks #

min :: T_wks -> T_wks -> T_wks #

type RDataExtensionVal T_wks Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

newtype WksProto Source #

IP protocol number used in the T_wks header byte. Bidirectional patterns TCP (6) and UDP (17) cover the two protocols WKS was ever realistically used for; any other protocol number presents as its decimal value.

Constructors

WksProto Word8 

Bundled Patterns

pattern TCP :: WksProto 
pattern UDP :: WksProto 

Instances

Instances details
Presentable WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Bounded WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Enum WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Num WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Read WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Integral WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Real WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Show WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Eq WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

Ord WksProto Source # 
Instance details

Defined in Net.DNSBase.RData.WKS

data T_minfo Source #

The MINFO resource record (RFC 1035 section 3.3.7) — mailing-list request and owner addresses: two Domain fields, the request mailbox and the owner (bounce) mailbox.

 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 /                    RMAILBX                    /
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 /                    EMAILBX                    /
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Both fields are subject to wire-form name compression on encode (RFC 3597 section 4) and canonicalise to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare both domain fields in canonical wire form (via equalWireHost / compareWireHost), so Ord is canonical.

Constructors

T_MINFO 

Fields

Instances

Instances details
Presentable T_minfo Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_minfo Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_minfo 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Show T_minfo Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Eq T_minfo Source #

Case-insensitive wire-form equality.

Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_minfo Source #

Case-insensitive wire-form order.

Instance details

Defined in Net.DNSBase.RData.Obsolete

type RDataExtensionVal T_minfo Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

newtype T_x25 Source #

The X25 resource record (RFC 1183 section 3.1) — an X.25 PSDN address held as a single DNS character-string. RFC 1183 calls for at least four ASCII digits, but the constructor does not enforce that — callers may store any byte sequence that fits in a character-string (up to 255 bytes).

The Ord instance compares the payload as a DNS character-string (length-prefixed lexicographic), so it agrees with the canonical wire-form ordering of RFC 4034 section 6.2.

Constructors

T_X25 ShortByteString 

Instances

Instances details
Presentable T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_x25 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

rdataExtensionVal :: forall b -> b ~ T_x25 => RDataExtensionVal T_x25 Source #

rdType :: forall b -> b ~ T_x25 => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_x25 => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_x25 => RDataExtensionVal T_x25 -> Int -> SGet RData Source #

rdEncode :: T_x25 -> SPut s RData Source #

cnEncode :: T_x25 -> SPut s RData Source #

Show T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

showsPrec :: Int -> T_x25 -> ShowS #

show :: T_x25 -> String #

showList :: [T_x25] -> ShowS #

Eq T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

compare :: T_x25 -> T_x25 -> Ordering #

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

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

(>) :: T_x25 -> T_x25 -> Bool #

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

max :: T_x25 -> T_x25 -> T_x25 #

min :: T_x25 -> T_x25 -> T_x25 #

type RDataExtensionVal T_x25 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_isdn Source #

The ISDN resource record (RFC 1183 section 3.2) — the ISDN number of the owner host, with an optional Direct-Dial-In subaddress. Both fields are DNS character-strings; only the address is mandatory.

The Ord instance compares both fields as DNS character-strings. With the trailing DDI absent, the wire form is shorter than any encoding with a present DDI, so Ord agrees with the canonical wire-form ordering of RFC 4034 section 6.2.

Instances

Instances details
Presentable T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_isdn 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Show T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Eq T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

type RDataExtensionVal T_isdn Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_rt Source #

The RT resource record (RFC 1183 section 3.3) — Route-Through: a 16-bit preference and a Domain naming an intermediate host that will route packets to the owner. Used in the X.25 and ISDN era for hosts without their own wide-area addresses.

The route-through domain is not subject to wire-form name compression on encode but compression is tolerated on decode (RFC 3597 section 4). It canonicalises to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare the domain in canonical wire form (via equalWireHost / compareWireHost), so Ord is canonical.

Constructors

T_RT Word16 Domain 

Instances

Instances details
Presentable T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_rt 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

rdataExtensionVal :: forall b -> b ~ T_rt => RDataExtensionVal T_rt Source #

rdType :: forall b -> b ~ T_rt => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_rt => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_rt => RDataExtensionVal T_rt -> Int -> SGet RData Source #

rdEncode :: T_rt -> SPut s RData Source #

cnEncode :: T_rt -> SPut s RData Source #

Show T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

showsPrec :: Int -> T_rt -> ShowS #

show :: T_rt -> String #

showList :: [T_rt] -> ShowS #

Eq T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

compare :: T_rt -> T_rt -> Ordering #

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

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

(>) :: T_rt -> T_rt -> Bool #

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

max :: T_rt -> T_rt -> T_rt #

min :: T_rt -> T_rt -> T_rt #

type RDataExtensionVal T_rt Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

newtype T_nsap Source #

The NSAP resource record (RFC 1706 section 5; deprecated by RFC 9121) — mapped a domain name to an OSI Network Service Access Point address. An opaque byte string carrying the NSAP value verbatim; presented in zone-file syntax as a 0x-prefixed hex literal.

Derived Ord compares the raw bytes, which matches the canonical wire-form ordering of RFC 4034 section 6.2.

Constructors

T_NSAP ShortByteString 

Instances

Instances details
Presentable T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_nsap 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Show T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Eq T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

type RDataExtensionVal T_nsap Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

newtype T_nsapptr Source #

The NSAPPTR resource record (RFC 1348; obsoleted by PTR in RFC 1706 section 6, deprecated by RFC 9121) — the OSI counterpart of PTR, mapping an NSAP-derived owner name to a domain name.

The target domain is not subject to wire-form name compression (RFC 3597 section 4) and is not in the RFC 4034 section 6.2 list of types that lower-case their RDATA names. Derived Eq and Ord therefore compare the wire bytes verbatim (case-sensitively).

Constructors

T_NSAPPTR Domain

Target Domain

Instances

Instances details
Presentable T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_nsapptr 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Show T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Eq T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Ord T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

type RDataExtensionVal T_nsapptr Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_px Source #

The PX resource record (RFC 2163 section 4; deprecated by RFC 9121) — points at X.400/RFC 822 mapping information: a 16-bit preference and two Domain fields naming the RFC 822 (SMTP) and X.400 sides of the mapping.

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                  PREFERENCE                   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                    MAP822                     /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                    MAPX400                    /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

Neither domain field is subject to wire-form name compression on encode but compression is tolerated on decode (RFC 3597 section 4). Both canonicalise to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare both domains in canonical wire form (via equalWireHost / compareWireHost), so Ord is canonical.

Constructors

T_PX 

Instances

Instances details
Presentable T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_px 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

rdataExtensionVal :: forall b -> b ~ T_px => RDataExtensionVal T_px Source #

rdType :: forall b -> b ~ T_px => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_px => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_px => RDataExtensionVal T_px -> Int -> SGet RData Source #

rdEncode :: T_px -> SPut s RData Source #

cnEncode :: T_px -> SPut s RData Source #

Show T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

showsPrec :: Int -> T_px -> ShowS #

show :: T_px -> String #

showList :: [T_px] -> ShowS #

Eq T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

compare :: T_px -> T_px -> Ordering #

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

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

(>) :: T_px -> T_px -> Bool #

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

max :: T_px -> T_px -> T_px #

min :: T_px -> T_px -> T_px #

type RDataExtensionVal T_px Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_gpos Source #

The GPOS resource record (RFC 1712 section 3) — an early geographical-location record: longitude, latitude, and altitude as three DNS character-strings holding decimal floating-point text. Superseded by LOC-style records and not used in modern zone data.

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                 LONGITUDE                  /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                  LATITUDE                  /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                  ALTITUDE                  /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

The Ord instance compares the three fields as DNS character-strings, agreeing with the canonical wire-form ordering of RFC 4034 section 6.2.

Instances

Instances details
Presentable T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_gpos 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Show T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Eq T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

type RDataExtensionVal T_gpos Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_kx Source #

The KX resource record (RFC 2230 section 3.1) — names a Key Exchange host for the owner: a 16-bit preference and a Domain naming the exchanger. Defined for the DNSSEC precursor work; never widely deployed.

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
|                  PREFERENCE                   |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
/                   EXCHANGER                   /
/                                               /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+

The exchanger field is not subject to wire-form name compression (RFC 3597 section 4) and canonicalises to lower case (RFC 4034 section 6.2). The Eq and Ord instances compare the exchanger in canonical wire form (via equalWireHost / compareWireHost), so Ord is canonical.

Constructors

T_KX 

Fields

Instances

Instances details
Presentable T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_kx 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

rdataExtensionVal :: forall b -> b ~ T_kx => RDataExtensionVal T_kx Source #

rdType :: forall b -> b ~ T_kx => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_kx => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_kx => RDataExtensionVal T_kx -> Int -> SGet RData Source #

rdEncode :: T_kx -> SPut s RData Source #

cnEncode :: T_kx -> SPut s RData Source #

Show T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

showsPrec :: Int -> T_kx -> ShowS #

show :: T_kx -> String #

showList :: [T_kx] -> ShowS #

Eq T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

compare :: T_kx -> T_kx -> Ordering #

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

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

(>) :: T_kx -> T_kx -> Bool #

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

max :: T_kx -> T_kx -> T_kx #

min :: T_kx -> T_kx -> T_kx #

type RDataExtensionVal T_kx Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

data T_a6 where Source #

The A6 resource record (RFC 2874 section 3.1; obsoleted by RFC 6563) — an experimental chained IPv6 addressing scheme. Each record carries a prefix length, an address suffix containing the low-order bits, and a Domain naming where to look up the remaining prefix bits. Resolution walked the chain to assemble the full address. The deployment experience reported in RFC 6563 led to A6 being abandoned in favour of plain T_aaaa records.

+-----------+------------------+-------------------+
|Prefix len.|  Address suffix  |    Prefix name    |
| (1 octet) |  (0..16 octets)  |  (0..255 octets)  |
+-----------+------------------+-------------------+

The wire encoding rules are:

  • The prefix length is an unsigned octet between 0 and 128.
  • The address-suffix field carries exactly enough octets to hold 128 - prefix-length bits, with up to seven leading pad bits set to zero so the field is an integral number of bytes.
  • The prefix-name field is a wire-form Domain. It is absent when the prefix length is zero (the suffix already holds the whole address); the suffix field is absent when the prefix length is 128 (the whole address comes from the chain).
  • The prefix-name is not subject to wire-form name compression (RFC 3597 section 4) and canonicalises to lower case (RFC 4034 section 6.2).

The Eq and Ord instances compare the prefix-name field in canonical wire form (via toHost), so Ord is canonical.

Bundled Patterns

pattern T_A6 :: Word8 -> IPv6 -> Maybe Domain -> T_a6

Smart constructor for A6 records:

  • Silently caps the prefix length to 128
  • Ignores the domain when the prefix length is 0
  • Otherwise, uses the root domain if no domain is provided

Instances

Instances details
Presentable T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

KnownRData T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Associated Types

type RDataExtensionVal T_a6 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

rdataExtensionVal :: forall b -> b ~ T_a6 => RDataExtensionVal T_a6 Source #

rdType :: forall b -> b ~ T_a6 => RRTYPE Source #

rdTypePres :: forall b -> b ~ T_a6 => Builder -> Builder Source #

rdDecode :: forall b -> b ~ T_a6 => RDataExtensionVal T_a6 -> Int -> SGet RData Source #

rdEncode :: T_a6 -> SPut s RData Source #

cnEncode :: T_a6 -> SPut s RData Source #

Show T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

showsPrec :: Int -> T_a6 -> ShowS #

show :: T_a6 -> String #

showList :: [T_a6] -> ShowS #

Eq T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

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

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

Ord T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete

Methods

compare :: T_a6 -> T_a6 -> Ordering #

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

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

(>) :: T_a6 -> T_a6 -> Bool #

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

max :: T_a6 -> T_a6 -> T_a6 #

min :: T_a6 -> T_a6 -> T_a6 #

type RDataExtensionVal T_a6 Source # 
Instance details

Defined in Net.DNSBase.RData.Obsolete