dnsbase-1.0.0.0: src/Net/DNSBase/RData/XNAME.hs
{-|
Module : Net.DNSBase.RData.XNAME
Description : Domain-name-valued RR types (NS, CNAME, PTR, DNAME)
Copyright : (c) Viktor Dukhovni, 2026
License : BSD-3-Clause
Maintainer : ietf-dane@dukhovni.org
Stability : unstable
The classical RR types from RFC 1035 whose RDATA is a single
domain name: 'T_ns' (delegation), 'T_cname' (canonical-name
alias), and 'T_ptr' (reverse-mapping pointer). All three share
the 'X_domain' newtype underneath, but the types are nominally
distinct so a CNAME value can't be used where a PTR is expected
(and vice versa).
'T_dname' (RFC 6672) is exported alongside because it has the
same shape — a single 'Net.DNSBase.Domain.Domain' — though it does not share the
codec: @DNAME@'s target is not subject to wire-form name
compression on encode.
The obsolete mailbox-pointer types @MB@, @MD@, @MF@, @MG@,
@MR@ are also 'X_domain' instances but live in
"Net.DNSBase.RData.Obsolete".
-}
module Net.DNSBase.RData.XNAME
( -- * RR types representing a single domain name
X_domain(T_NS, T_PTR, T_CNAME)
, type XdomainConName, T_ns, T_ptr, T_cname, T_dname(..)
) where
import Net.DNSBase.RData.Internal.XNAME