Versions in this module Expand all Collapse all v0 v0.1.0 Aug 30, 2026 Changes in this version + const DefaultUDPSize + const EDNS0Version + const HeaderLen + const MaxCharStringLen + const MaxLabelLen + const MaxLabels + const MaxMessageSize + const MaxNameWireLen + const MinUDPSize + var ErrAddressFamily = errors.New("dnsmsg: address family does not match record type") + var ErrBadEscape = errors.New("dnsmsg: invalid escape sequence") + var ErrBadLabel = errors.New("dnsmsg: reserved label type") + var ErrBadOPT = errors.New("dnsmsg: malformed OPT record") + var ErrBadPointer = errors.New("dnsmsg: invalid compression pointer") + var ErrBufferTooSmall = errors.New("dnsmsg: message does not fit in size limit") + var ErrCharStringTooLong = errors.New("dnsmsg: character-string exceeds 255 octets") + var ErrEmptyLabel = errors.New("dnsmsg: empty label") + var ErrInvalidName = errors.New("dnsmsg: invalid domain name") + var ErrLabelTooLong = errors.New("dnsmsg: label exceeds 63 octets") + var ErrMessageTooLong = errors.New("dnsmsg: message exceeds 65535 octets") + var ErrMultipleOPT = errors.New("dnsmsg: message contains more than one OPT record") + var ErrNameBudget = errors.New("dnsmsg: decompressed names exceed the configured budget") + var ErrNameTooLong = errors.New("dnsmsg: domain name exceeds 255 octets") + var ErrNoOPT = errors.New("dnsmsg: extended RCODE requires an OPT record") + var ErrRCodeRange = errors.New("dnsmsg: response code exceeds 12 bits") + var ErrRDataLength = errors.New("dnsmsg: RDATA length mismatch") + var ErrSectionOverflow = errors.New("dnsmsg: section count exceeds remaining message") + var ErrTruncated = errors.New("dnsmsg: unexpected end of message") + var ErrTypeMismatch = errors.New("dnsmsg: RR type does not match RData type") + func IsDecodeError(err error) bool + func IsEncodeError(err error) bool + type A struct + Addr netip.Addr + func (r *A) AppendWire(dst []byte, e *Encoder) []byte + func (r *A) Copy() RData + func (r *A) String() string + func (r *A) Type() Type + func (r *A) Validate() error + type AAAA struct + Addr netip.Addr + func (r *AAAA) AppendWire(dst []byte, _ *Encoder) []byte + func (r *AAAA) Copy() RData + func (r *AAAA) String() string + func (r *AAAA) Type() Type + func (r *AAAA) Validate() error + type CAA struct + Flag uint8 + Tag string + Value []byte + func (r *CAA) AppendWire(dst []byte, e *Encoder) []byte + func (r *CAA) Copy() RData + func (r *CAA) Critical() bool + func (r *CAA) String() string + func (r *CAA) Type() Type + func (r *CAA) Validate() error + type CDNSKEY struct + Algorithm uint8 + Flags uint16 + Protocol uint8 + PublicKey []byte + func (r *CDNSKEY) AppendWire(dst []byte, e *Encoder) []byte + func (r *CDNSKEY) Copy() RData + func (r *CDNSKEY) KeyTag() uint16 + func (r *CDNSKEY) String() string + func (r *CDNSKEY) Type() Type + type CDS struct + Algorithm uint8 + Digest []byte + DigestType uint8 + KeyTag uint16 + func (r *CDS) AppendWire(dst []byte, e *Encoder) []byte + func (r *CDS) Copy() RData + func (r *CDS) String() string + func (r *CDS) Type() Type + type CERT struct + Algorithm uint8 + CertType uint16 + Certificate []byte + KeyTag uint16 + func (r *CERT) AppendWire(dst []byte, e *Encoder) []byte + func (r *CERT) Copy() RData + func (r *CERT) String() string + func (r *CERT) Type() Type + type CNAME struct + Target Name + func (r *CNAME) AppendWire(dst []byte, e *Encoder) []byte + func (r *CNAME) Copy() RData + func (r *CNAME) String() string + func (r *CNAME) Type() Type + type CSYNC struct + Flags uint16 + Serial uint32 + TypeBitMap []Type + func (r *CSYNC) AppendWire(dst []byte, e *Encoder) []byte + func (r *CSYNC) Copy() RData + func (r *CSYNC) String() string + func (r *CSYNC) Type() Type + type Class uint16 + const ClassANY + const ClassCHAOS + const ClassCSNET + const ClassHESIOD + const ClassINET + const ClassNONE + func ParseClass(s string) (Class, bool) + func (c Class) String() string + type DHCID struct + Digest []byte + func (r *DHCID) AppendWire(dst []byte, _ *Encoder) []byte + func (r *DHCID) Copy() RData + func (r *DHCID) String() string + func (r *DHCID) Type() Type + type DLV struct + Algorithm uint8 + Digest []byte + DigestType uint8 + KeyTag uint16 + func (r *DLV) AppendWire(dst []byte, e *Encoder) []byte + func (r *DLV) Copy() RData + func (r *DLV) String() string + func (r *DLV) Type() Type + type DNAME struct + Target Name + func (r *DNAME) AppendWire(dst []byte, e *Encoder) []byte + func (r *DNAME) Copy() RData + func (r *DNAME) String() string + func (r *DNAME) Type() Type + type DNSKEY struct + Algorithm uint8 + Flags uint16 + Protocol uint8 + PublicKey []byte + func (r *DNSKEY) AppendWire(dst []byte, e *Encoder) []byte + func (r *DNSKEY) Copy() RData + func (r *DNSKEY) KeyTag() uint16 + func (r *DNSKEY) String() string + func (r *DNSKEY) Type() Type + type DS struct + Algorithm uint8 + Digest []byte + DigestType uint8 + KeyTag uint16 + func (r *DS) AppendWire(dst []byte, e *Encoder) []byte + func (r *DS) Copy() RData + func (r *DS) String() string + func (r *DS) Type() Type + type DecodeFunc func(d *Decoder) (RData, error) + type Decoder struct + func NewDecoder(msg []byte, opts *UnpackOptions) *Decoder + func (d *Decoder) Bytes(n int) ([]byte, error) + func (d *Decoder) CharacterString() (string, error) + func (d *Decoder) Header() (Header, [4]uint16, error) + func (d *Decoder) IPv4() (netip.Addr, error) + func (d *Decoder) IPv6() (netip.Addr, error) + func (d *Decoder) Name() (Name, error) + func (d *Decoder) NameUncompressed() (Name, error) + func (d *Decoder) Offset() int + func (d *Decoder) Question() (Question, error) + func (d *Decoder) RR() (RR, error) + func (d *Decoder) Remaining() int + func (d *Decoder) Reset(msg []byte, opts *UnpackOptions) + func (d *Decoder) Skip(n int) error + func (d *Decoder) Uint16() (uint16, error) + func (d *Decoder) Uint32() (uint32, error) + func (d *Decoder) Uint48() (uint64, error) + func (d *Decoder) Uint8() (uint8, error) + type EDNS struct + DO bool + Flags uint16 + Options []EDNSOption + UDPSize uint16 + Version uint8 + type EDNSClientSubnet struct + Prefix netip.Prefix + ScopeLen uint8 + func (o *EDNSClientSubnet) AppendWire(dst []byte) []byte + func (o *EDNSClientSubnet) Code() EDNSOptionCode + func (o *EDNSClientSubnet) Copy() EDNSOption + func (o *EDNSClientSubnet) String() string + type EDNSCookie struct + Client [8]byte + Server []byte + func (o *EDNSCookie) AppendWire(dst []byte) []byte + func (o *EDNSCookie) Code() EDNSOptionCode + func (o *EDNSCookie) Copy() EDNSOption + func (o *EDNSCookie) String() string + type EDNSExtendedError struct + ExtraText string + InfoCode ExtendedErrorCode + func (o *EDNSExtendedError) AppendWire(dst []byte) []byte + func (o *EDNSExtendedError) Code() EDNSOptionCode + func (o *EDNSExtendedError) Copy() EDNSOption + func (o *EDNSExtendedError) String() string + type EDNSNSID struct + ID []byte + func (o *EDNSNSID) AppendWire(dst []byte) []byte + func (o *EDNSNSID) Code() EDNSOptionCode + func (o *EDNSNSID) Copy() EDNSOption + func (o *EDNSNSID) String() string + type EDNSOption interface + AppendWire func(dst []byte) []byte + Code func() EDNSOptionCode + Copy func() EDNSOption + String func() string + type EDNSOptionCode uint16 + const EDNSCodeChain + const EDNSCodeClientSubnet + const EDNSCodeClientTag + const EDNSCodeCookie + const EDNSCodeDAU + const EDNSCodeDHU + const EDNSCodeExpire + const EDNSCodeExtendedError + const EDNSCodeKeyTag + const EDNSCodeLLQ + const EDNSCodeN3U + const EDNSCodeNSID + const EDNSCodePadding + const EDNSCodeReportChannel + const EDNSCodeServerTag + const EDNSCodeTCPKeepalive + const EDNSCodeZoneVersion + func (c EDNSOptionCode) String() string + type EDNSPadding struct + Payload []byte + func NewEDNSPadding(n int) *EDNSPadding + func (o *EDNSPadding) AppendWire(dst []byte) []byte + func (o *EDNSPadding) Code() EDNSOptionCode + func (o *EDNSPadding) Copy() EDNSOption + func (o *EDNSPadding) String() string + type EDNSTCPKeepalive struct + HasTimeout bool + Timeout uint16 + func (o *EDNSTCPKeepalive) AppendWire(dst []byte) []byte + func (o *EDNSTCPKeepalive) Code() EDNSOptionCode + func (o *EDNSTCPKeepalive) Copy() EDNSOption + func (o *EDNSTCPKeepalive) String() string + type EDNSUnknown struct + OptCode EDNSOptionCode + Payload []byte + func (o *EDNSUnknown) AppendWire(dst []byte) []byte + func (o *EDNSUnknown) Code() EDNSOptionCode + func (o *EDNSUnknown) Copy() EDNSOption + func (o *EDNSUnknown) String() string + type EUI48 struct + Address [6]byte + func (r *EUI48) AppendWire(dst []byte, _ *Encoder) []byte + func (r *EUI48) Copy() RData + func (r *EUI48) String() string + func (r *EUI48) Type() Type + type EUI64 struct + Address [8]byte + func (r *EUI64) AppendWire(dst []byte, _ *Encoder) []byte + func (r *EUI64) Copy() RData + func (r *EUI64) String() string + func (r *EUI64) Type() Type + type EncodeError struct + Err error + Index int + Section Section + func (e *EncodeError) Error() string + func (e *EncodeError) Unwrap() error + type Encoder struct + func NewEncoder(base int, compress bool) *Encoder + func (e *Encoder) AppendAddr(dst []byte, a netip.Addr) []byte + func (e *Encoder) AppendCharacterString(dst []byte, s string) []byte + func (e *Encoder) AppendName(dst []byte, name Name) []byte + func (e *Encoder) AppendNameUncompressed(dst []byte, name Name) []byte + func (e *Encoder) AppendUint16(dst []byte, v uint16) []byte + func (e *Encoder) AppendUint32(dst []byte, v uint32) []byte + func (e *Encoder) AppendUint48(dst []byte, v uint64) []byte + func (e *Encoder) AppendUint8(dst []byte, v uint8) []byte + func (e *Encoder) Reset(base int, compress bool) + type ExtendedErrorCode uint16 + const ExtendedErrorBlocked + const ExtendedErrorCachedError + const ExtendedErrorCensored + const ExtendedErrorDNSKEYMissing + const ExtendedErrorDNSSECBogus + const ExtendedErrorDNSSECIndeterminate + const ExtendedErrorFiltered + const ExtendedErrorForgedAnswer + const ExtendedErrorInvalidData + const ExtendedErrorNSECMissing + const ExtendedErrorNetworkError + const ExtendedErrorNoReachableAuthority + const ExtendedErrorNoZoneKeyBitSet + const ExtendedErrorNotAuthoritative + const ExtendedErrorNotReady + const ExtendedErrorNotSupported + const ExtendedErrorOther + const ExtendedErrorProhibited + const ExtendedErrorRRSIGsMissing + const ExtendedErrorSignatureExpired + const ExtendedErrorSignatureExpiredBeforeVal + const ExtendedErrorSignatureNotYetValid + const ExtendedErrorStaleAnswer + const ExtendedErrorStaleNXDOMAIN + const ExtendedErrorTooEarly + const ExtendedErrorUnsupportedDNSKEYAlg + const ExtendedErrorUnsupportedDSDigest + func (c ExtendedErrorCode) String() string + type HINFO struct + CPU string + OS string + func (r *HINFO) AppendWire(dst []byte, e *Encoder) []byte + func (r *HINFO) Copy() RData + func (r *HINFO) String() string + func (r *HINFO) Type() Type + func (r *HINFO) Validate() error + type HTTPS struct + func (r *HTTPS) Copy() RData + func (r *HTTPS) Type() Type + type Header struct + AuthenticData bool + Authoritative bool + CheckingDisabled bool + ID uint16 + Opcode Opcode + RCode RCode + RecursionAvailable bool + RecursionDesired bool + Response bool + Truncated bool + Zero bool + type KX struct + Exchanger Name + Preference uint16 + func (r *KX) AppendWire(dst []byte, e *Encoder) []byte + func (r *KX) Copy() RData + func (r *KX) String() string + func (r *KX) Type() Type + type L32 struct + Locator32 netip.Addr + Preference uint16 + func (r *L32) AppendWire(dst []byte, e *Encoder) []byte + func (r *L32) Copy() RData + func (r *L32) String() string + func (r *L32) Type() Type + type L64 struct + Locator64 uint64 + Preference uint16 + func (r *L64) AppendWire(dst []byte, e *Encoder) []byte + func (r *L64) Copy() RData + func (r *L64) String() string + func (r *L64) Type() Type + type LOC struct + Altitude uint32 + HorizPre uint8 + Latitude uint32 + Longitude uint32 + Size uint8 + Version uint8 + VertPre uint8 + func (r *LOC) AppendWire(dst []byte, e *Encoder) []byte + func (r *LOC) Copy() RData + func (r *LOC) HorizPreCentimetres() uint64 + func (r *LOC) SizeCentimetres() uint64 + func (r *LOC) String() string + func (r *LOC) Type() Type + func (r *LOC) VertPreCentimetres() uint64 + type LP struct + FQDN Name + Preference uint16 + func (r *LP) AppendWire(dst []byte, e *Encoder) []byte + func (r *LP) Copy() RData + func (r *LP) String() string + func (r *LP) Type() Type + type MINFO struct + EMailbox Name + RMailbox Name + func (r *MINFO) AppendWire(dst []byte, e *Encoder) []byte + func (r *MINFO) Copy() RData + func (r *MINFO) String() string + func (r *MINFO) Type() Type + type MX struct + Preference uint16 + Target Name + func (r *MX) AppendWire(dst []byte, e *Encoder) []byte + func (r *MX) Copy() RData + func (r *MX) String() string + func (r *MX) Type() Type + type Message struct + Additionals []RR + Answers []RR + Authorities []RR + Questions []Question + func Unpack(b []byte) (*Message, error) + func UnpackWith(b []byte, opts *UnpackOptions) (*Message, error) + func (m *Message) AppendPack(dst []byte, opts *PackOptions) ([]byte, error) + func (m *Message) Copy() *Message + func (m *Message) Decode(d *Decoder) error + func (m *Message) EDNS() (*EDNS, bool) + func (m *Message) Len() (int, error) + func (m *Message) Pack() ([]byte, error) + func (m *Message) Question() (Question, bool) + func (m *Message) Reset() + func (m *Message) Section(s Section) []RR + func (m *Message) SetEDNS(e *EDNS) + func (m *Message) SetEDNSDefaults(do bool) + func (m *Message) SetExtendedError(code ExtendedErrorCode, text string) + func (m *Message) SetQuestion(name Name, qtype Type, qclass Class) *Message + func (m *Message) SetRCode(rc RCode) *Message + func (m *Message) SetReply(req *Message) *Message + func (m *Message) String() string + func (m *Message) UDPSize() uint16 + func (m *Message) Unpack(b []byte, opts *UnpackOptions) error + type NAPTR struct + Flags string + Order uint16 + Preference uint16 + Regexp string + Replacement Name + Service string + func (r *NAPTR) AppendWire(dst []byte, e *Encoder) []byte + func (r *NAPTR) Copy() RData + func (r *NAPTR) String() string + func (r *NAPTR) Type() Type + func (r *NAPTR) Validate() error + type NID struct + NodeID uint64 + Preference uint16 + func (r *NID) AppendWire(dst []byte, e *Encoder) []byte + func (r *NID) Copy() RData + func (r *NID) String() string + func (r *NID) Type() Type + type NS struct + Target Name + func (r *NS) AppendWire(dst []byte, e *Encoder) []byte + func (r *NS) Copy() RData + func (r *NS) String() string + func (r *NS) Type() Type + type NSEC struct + NextDomain Name + TypeBitMap []Type + func (r *NSEC) AppendWire(dst []byte, e *Encoder) []byte + func (r *NSEC) Copy() RData + func (r *NSEC) String() string + func (r *NSEC) Type() Type + type NSEC3 struct + Flags uint8 + Hash uint8 + Iterations uint16 + NextHashedOwner []byte + Salt []byte + TypeBitMap []Type + func (r *NSEC3) AppendWire(dst []byte, e *Encoder) []byte + func (r *NSEC3) Copy() RData + func (r *NSEC3) String() string + func (r *NSEC3) Type() Type + type NSEC3PARAM struct + Flags uint8 + Hash uint8 + Iterations uint16 + Salt []byte + func (r *NSEC3PARAM) AppendWire(dst []byte, e *Encoder) []byte + func (r *NSEC3PARAM) Copy() RData + func (r *NSEC3PARAM) String() string + func (r *NSEC3PARAM) Type() Type + type NULL struct + Data []byte + func (r *NULL) AppendWire(dst []byte, _ *Encoder) []byte + func (r *NULL) Copy() RData + func (r *NULL) String() string + func (r *NULL) Type() Type + type Name struct + func MustParseName(s string) Name + func NameFromLabels(labels ...[]byte) (Name, error) + func NameFromWire(b []byte) (Name, error) + func ParseName(s string) (Name, error) + func Root() Name + func (n *Name) UnmarshalText(text []byte) error + func (n Name) AppendWire(dst []byte) []byte + func (n Name) Canonical() Name + func (n Name) Compare(other Name) int + func (n Name) Equal(other Name) bool + func (n Name) IsCanonical() bool + func (n Name) IsRoot() bool + func (n Name) IsSubDomainOf(parent Name) bool + func (n Name) IsZero() bool + func (n Name) Label(i int) []byte + func (n Name) LabelCount() int + func (n Name) LabelString(i int) (string, bool) + func (n Name) Labels() []string + func (n Name) MarshalText() ([]byte, error) + func (n Name) Parent() (Name, bool) + func (n Name) Prepend(label []byte) (Name, error) + func (n Name) String() string + func (n Name) WireLen() int + type OPENPGPKEY struct + PublicKey []byte + func (r *OPENPGPKEY) AppendWire(dst []byte, _ *Encoder) []byte + func (r *OPENPGPKEY) Copy() RData + func (r *OPENPGPKEY) String() string + func (r *OPENPGPKEY) Type() Type + type OPT struct + Options []EDNSOption + func (r *OPT) AppendWire(dst []byte, _ *Encoder) []byte + func (r *OPT) Copy() RData + func (r *OPT) Option(code EDNSOptionCode) (EDNSOption, bool) + func (r *OPT) String() string + func (r *OPT) Type() Type + type Opcode uint8 + const OpcodeDSO + const OpcodeIQuery + const OpcodeNotify + const OpcodeQuery + const OpcodeStatus + const OpcodeUpdate + func (o Opcode) String() string + type PTR struct + Target Name + func (r *PTR) AppendWire(dst []byte, e *Encoder) []byte + func (r *PTR) Copy() RData + func (r *PTR) String() string + func (r *PTR) Type() Type + type PackOptions struct + MaxSize int + NoCompression bool + NoTruncate bool + type Question struct + Class Class + Name Name + Type Type + func (q Question) Equal(other Question) bool + func (q Question) String() string + type RCode uint16 + const RCodeBadAlg + const RCodeBadCookie + const RCodeBadKey + const RCodeBadMode + const RCodeBadName + const RCodeBadTime + const RCodeBadTrunc + const RCodeBadVers + const RCodeDSOTypeNI + const RCodeFormatError + const RCodeNXRRSet + const RCodeNameError + const RCodeNotAuth + const RCodeNotImplemented + const RCodeNotZone + const RCodeRefused + const RCodeServerFailure + const RCodeSuccess + const RCodeYXDomain + const RCodeYXRRSet + func (r RCode) NeedsOPT() bool + func (r RCode) String() string + type RData interface + AppendWire func(dst []byte, e *Encoder) []byte + Copy func() RData + String func() string + Type func() Type + type RP struct + Mailbox Name + TXTDomain Name + func (r *RP) AppendWire(dst []byte, e *Encoder) []byte + func (r *RP) Copy() RData + func (r *RP) String() string + func (r *RP) Type() Type + type RR struct + Class Class + Data RData + Name Name + TTL uint32 + Type Type + func (rr RR) Copy() RR + func (rr RR) Equal(other RR) bool + func (rr RR) String() string + type RRSIG struct + Algorithm uint8 + Expiration uint32 + Inception uint32 + KeyTag uint16 + Labels uint8 + OrigTTL uint32 + Signature []byte + SignerName Name + TypeCovered Type + func (r *RRSIG) AppendWire(dst []byte, e *Encoder) []byte + func (r *RRSIG) Copy() RData + func (r *RRSIG) String() string + func (r *RRSIG) Type() Type + type Registry struct + func DefaultRegistry() *Registry + func NewRegistry() *Registry + func (r *Registry) Clone() *Registry + func (r *Registry) Lookup(t Type) DecodeFunc + func (r *Registry) MustRegister(t Type, fn DecodeFunc) + func (r *Registry) Register(t Type, fn DecodeFunc) error + func (r *Registry) RegisterBuiltins() + func (r *Registry) Types() []Type + type SMIMEA struct + Certificate []byte + MatchingType uint8 + Selector uint8 + Usage uint8 + func (r *SMIMEA) AppendWire(dst []byte, e *Encoder) []byte + func (r *SMIMEA) Copy() RData + func (r *SMIMEA) String() string + func (r *SMIMEA) Type() Type + type SOA struct + Expire uint32 + Mailbox Name + Minimum uint32 + NS Name + Refresh uint32 + Retry uint32 + Serial uint32 + func (r *SOA) AppendWire(dst []byte, e *Encoder) []byte + func (r *SOA) Copy() RData + func (r *SOA) String() string + func (r *SOA) Type() Type + type SPF struct + Strings []string + func (r *SPF) AppendWire(dst []byte, e *Encoder) []byte + func (r *SPF) Copy() RData + func (r *SPF) String() string + func (r *SPF) Type() Type + func (r *SPF) Validate() error + type SRV struct + Port uint16 + Priority uint16 + Target Name + Weight uint16 + func (r *SRV) AppendWire(dst []byte, e *Encoder) []byte + func (r *SRV) Copy() RData + func (r *SRV) String() string + func (r *SRV) Type() Type + type SSHFP struct + Algorithm uint8 + FPType uint8 + FingerPrint []byte + func (r *SSHFP) AppendWire(dst []byte, e *Encoder) []byte + func (r *SSHFP) Copy() RData + func (r *SSHFP) String() string + func (r *SSHFP) Type() Type + type SVCB struct + Params []SvcParam + Priority uint16 + Target Name + func (r *SVCB) AppendWire(dst []byte, e *Encoder) []byte + func (r *SVCB) Copy() RData + func (r *SVCB) IsAlias() bool + func (r *SVCB) Param(key SvcParamKey) (SvcParam, bool) + func (r *SVCB) String() string + func (r *SVCB) Type() Type + func (r *SVCB) Validate() error + type Section uint8 + const SectionAdditional + const SectionAnswer + const SectionAuthority + const SectionQuestion + func (s Section) String() string + type SvcParam interface + AppendWire func(dst []byte) []byte + Copy func() SvcParam + Key func() SvcParamKey + String func() string + type SvcParamKey uint16 + const SvcParamALPN + const SvcParamDoHPath + const SvcParamECH + const SvcParamIPv4Hint + const SvcParamIPv6Hint + const SvcParamMandatory + const SvcParamNoDefaultALPN + const SvcParamOHTTP + const SvcParamPort + const SvcParamTLSSupportedGroups + func (k SvcParamKey) String() string + type SvcParamValueALPN struct + Protocols []string + func (p *SvcParamValueALPN) AppendWire(dst []byte) []byte + func (p *SvcParamValueALPN) Copy() SvcParam + func (p *SvcParamValueALPN) Key() SvcParamKey + func (p *SvcParamValueALPN) String() string + type SvcParamValueDoHPath struct + Template string + func (p *SvcParamValueDoHPath) AppendWire(dst []byte) []byte + func (p *SvcParamValueDoHPath) Copy() SvcParam + func (p *SvcParamValueDoHPath) Key() SvcParamKey + func (p *SvcParamValueDoHPath) String() string + type SvcParamValueECH struct + Config []byte + func (p *SvcParamValueECH) AppendWire(dst []byte) []byte + func (p *SvcParamValueECH) Copy() SvcParam + func (p *SvcParamValueECH) Key() SvcParamKey + func (p *SvcParamValueECH) String() string + type SvcParamValueIPv4Hint struct + Addrs []netip.Addr + func (p *SvcParamValueIPv4Hint) AppendWire(dst []byte) []byte + func (p *SvcParamValueIPv4Hint) Copy() SvcParam + func (p *SvcParamValueIPv4Hint) Key() SvcParamKey + func (p *SvcParamValueIPv4Hint) String() string + type SvcParamValueIPv6Hint struct + Addrs []netip.Addr + func (p *SvcParamValueIPv6Hint) AppendWire(dst []byte) []byte + func (p *SvcParamValueIPv6Hint) Copy() SvcParam + func (p *SvcParamValueIPv6Hint) Key() SvcParamKey + func (p *SvcParamValueIPv6Hint) String() string + type SvcParamValueMandatory struct + Keys []SvcParamKey + func (p *SvcParamValueMandatory) AppendWire(dst []byte) []byte + func (p *SvcParamValueMandatory) Copy() SvcParam + func (p *SvcParamValueMandatory) Key() SvcParamKey + func (p *SvcParamValueMandatory) String() string + type SvcParamValueNoDefaultALPN struct + func (p *SvcParamValueNoDefaultALPN) AppendWire(dst []byte) []byte + func (p *SvcParamValueNoDefaultALPN) Copy() SvcParam + func (p *SvcParamValueNoDefaultALPN) Key() SvcParamKey + func (p *SvcParamValueNoDefaultALPN) String() string + type SvcParamValueOHTTP struct + func (p *SvcParamValueOHTTP) AppendWire(dst []byte) []byte + func (p *SvcParamValueOHTTP) Copy() SvcParam + func (p *SvcParamValueOHTTP) Key() SvcParamKey + func (p *SvcParamValueOHTTP) String() string + type SvcParamValuePort struct + Port uint16 + func (p *SvcParamValuePort) AppendWire(dst []byte) []byte + func (p *SvcParamValuePort) Copy() SvcParam + func (p *SvcParamValuePort) Key() SvcParamKey + func (p *SvcParamValuePort) String() string + type SvcParamValueUnknown struct + ParamKey SvcParamKey + Value []byte + func (p *SvcParamValueUnknown) AppendWire(dst []byte) []byte + func (p *SvcParamValueUnknown) Copy() SvcParam + func (p *SvcParamValueUnknown) Key() SvcParamKey + func (p *SvcParamValueUnknown) String() string + type SyntaxError struct + Err error + Offset int + Struct string + func (e *SyntaxError) Error() string + func (e *SyntaxError) Unwrap() error + type TLSA struct + Certificate []byte + MatchingType uint8 + Selector uint8 + Usage uint8 + func (r *TLSA) AppendWire(dst []byte, e *Encoder) []byte + func (r *TLSA) Copy() RData + func (r *TLSA) String() string + func (r *TLSA) Type() Type + type TXT struct + Strings []string + func (r *TXT) AppendWire(dst []byte, e *Encoder) []byte + func (r *TXT) Copy() RData + func (r *TXT) String() string + func (r *TXT) Type() Type + func (r *TXT) Validate() error + type Type uint16 + const TypeA + const TypeA6 + const TypeAAAA + const TypeAFSDB + const TypeAMTRELAY + const TypeANY + const TypeAPL + const TypeATMA + const TypeAVC + const TypeAXFR + const TypeCAA + const TypeCDNSKEY + const TypeCDS + const TypeCERT + const TypeCNAME + const TypeCSYNC + const TypeDHCID + const TypeDLV + const TypeDNAME + const TypeDNSKEY + const TypeDS + const TypeDSYNC + const TypeEID + const TypeEUI48 + const TypeEUI64 + const TypeGPOS + const TypeHINFO + const TypeHIP + const TypeHTTPS + const TypeIPSECKEY + const TypeISDN + const TypeIXFR + const TypeKEY + const TypeKX + const TypeL32 + const TypeL64 + const TypeLOC + const TypeLP + const TypeMAILA + const TypeMAILB + const TypeMB + const TypeMD + const TypeMF + const TypeMG + const TypeMINFO + const TypeMR + const TypeMX + const TypeNAPTR + const TypeNID + const TypeNIMLOC + const TypeNINFO + const TypeNS + const TypeNSAP + const TypeNSAPPTR + const TypeNSEC + const TypeNSEC3 + const TypeNSEC3PARAM + const TypeNULL + const TypeNXNAME + const TypeNXT + const TypeNone + const TypeOPENPGPKEY + const TypeOPT + const TypePTR + const TypePX + const TypeRESINFO + const TypeRKEY + const TypeRP + const TypeRRSIG + const TypeRT + const TypeSIG + const TypeSINK + const TypeSMIMEA + const TypeSOA + const TypeSPF + const TypeSRV + const TypeSSHFP + const TypeSVCB + const TypeTA + const TypeTALINK + const TypeTKEY + const TypeTLSA + const TypeTSIG + const TypeTXT + const TypeURI + const TypeWKS + const TypeX25 + const TypeZONEMD + func ParseType(s string) (Type, bool) + func (t Type) IsMeta() bool + func (t Type) String() string + type URI struct + Priority uint16 + Target string + Weight uint16 + func (r *URI) AppendWire(dst []byte, e *Encoder) []byte + func (r *URI) Copy() RData + func (r *URI) String() string + func (r *URI) Type() Type + type Unknown struct + Payload []byte + RRType Type + func (u *Unknown) AppendWire(dst []byte, _ *Encoder) []byte + func (u *Unknown) Copy() RData + func (u *Unknown) String() string + func (u *Unknown) Type() Type + type UnpackOptions struct + IgnoreTruncatedSections bool + MaxNameOctets int + MaxRecords int + Registry *Registry + type Validator interface + Validate func() error + type ZONEMD struct + Digest []byte + Hash uint8 + Scheme uint8 + Serial uint32 + func (r *ZONEMD) AppendWire(dst []byte, e *Encoder) []byte + func (r *ZONEMD) Copy() RData + func (r *ZONEMD) String() string + func (r *ZONEMD) Type() Type