Module domain::rdata

source ·
Expand description

Record Data of Well-defined Record Types

This module will eventually contain implementations for the record data of all defined resource record types.

The types are named identically to the domain::base::iana::Rtype variant they implement. They are grouped into submodules for the RFCs they are defined in. All types are also re-exported at the top level here. Ie., for the AAAA record type, you can simple use domain::rdata::Aaaa instead of use domain::rdata::rfc3596::Aaaa which nobody could possibly remember. There are, however, some helper data types defined here and there which are not re-exported to keep things somewhat tidy.

See the domain::base::iana::Rtype enum for the complete set of record types and, consequently, those types that are still missing.

In addition, the module provides two enums combining the known types. AllRecordData indeed contains all record data types known plus UnknownRecordData for the rest, while ZoneRecordData only contains those types that can appear in zone files plus, again, UnknownRecordData for everything else.


  • pub use self::rfc1035::A;
  • pub use self::rfc1035::Cname;
  • pub use self::rfc1035::Hinfo;
  • pub use self::rfc1035::Mb;
  • pub use self::rfc1035::Md;
  • pub use self::rfc1035::Mf;
  • pub use self::rfc1035::Mg;
  • pub use self::rfc1035::Minfo;
  • pub use self::rfc1035::Mr;
  • pub use self::rfc1035::Mx;
  • pub use self::rfc1035::Ns;
  • pub use self::rfc1035::Ptr;
  • pub use self::rfc1035::Soa;
  • pub use self::rfc1035::Txt;
  • pub use self::rfc1035::Null;
  • pub use self::aaaa::Aaaa;
  • pub use self::cds::Cdnskey;
  • pub use self::cds::Cds;
  • pub use self::dname::Dname;
  • pub use self::dnssec::Dnskey;
  • pub use self::dnssec::Rrsig;
  • pub use self::dnssec::Nsec;
  • pub use self::dnssec::Ds;
  • pub use self::nsec3::Nsec3;
  • pub use self::nsec3::Nsec3param;
  • pub use self::srv::Srv;
  • pub use self::svcb::Svcb;
  • pub use self::svcb::Https;
  • pub use self::tsig::Tsig;