type Type …
const TypeA …
const TypeNS …
const TypeCNAME …
const TypeSOA …
const TypePTR …
const TypeMX …
const TypeTXT …
const TypeAAAA …
const TypeSRV …
const TypeOPT …
const TypeWKS …
const TypeHINFO …
const TypeMINFO …
const TypeAXFR …
const TypeALL …
var typeNames …
func (t Type) String() string { … }
func (t Type) GoString() string { … }
type Class …
const ClassINET …
const ClassCSNET …
const ClassCHAOS …
const ClassHESIOD …
const ClassANY …
var classNames …
func (c Class) String() string { … }
func (c Class) GoString() string { … }
type OpCode …
func (o OpCode) GoString() string { … }
type RCode …
const RCodeSuccess …
const RCodeFormatError …
const RCodeServerFailure …
const RCodeNameError …
const RCodeNotImplemented …
const RCodeRefused …
var rCodeNames …
func (r RCode) String() string { … }
func (r RCode) GoString() string { … }
func printPaddedUint8(i uint8) string { … }
func printUint8Bytes(buf []byte, i uint8) []byte { … }
func printByteSlice(b []byte) string { … }
const hexDigits …
func printString(str []byte) string { … }
func printUint16(i uint16) string { … }
func printUint32(i uint32) string { … }
func printBool(b bool) string { … }
var ErrNotStarted …
var ErrSectionDone …
var errBaseLen …
var errCalcLen …
var errReserved …
var errTooManyPtr …
var errInvalidPtr …
var errInvalidName …
var errNilResouceBody …
var errResourceLen …
var errSegTooLong …
var errNameTooLong …
var errZeroSegLen …
var errResTooLong …
var errTooManyQuestions …
var errTooManyAnswers …
var errTooManyAuthorities …
var errTooManyAdditionals …
var errNonCanonicalName …
var errStringTooLong …
const packStartingCap …
const uint16Len …
const uint32Len …
const headerLen …
type nestedError …
func (e *nestedError) Error() string { … }
type Header …
func (m *Header) pack() (id uint16, bits uint16) { … }
func (m *Header) GoString() string { … }
type Message …
type section …
const sectionNotStarted …
const sectionHeader …
const sectionQuestions …
const sectionAnswers …
const sectionAuthorities …
const sectionAdditionals …
const sectionDone …
const headerBitQR …
const headerBitAA …
const headerBitTC …
const headerBitRD …
const headerBitRA …
const headerBitAD …
const headerBitCD …
var sectionNames …
type header …
func (h *header) count(sec section) uint16 { … }
func (h *header) pack(msg []byte) []byte { … }
func (h *header) unpack(msg []byte, off int) (int, error) { … }
func (h *header) header() Header { … }
type Resource …
func (r *Resource) GoString() string { … }
type ResourceBody …
func (r *Resource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
type Parser …
func (p *Parser) Start(msg []byte) (Header, error) { … }
func (p *Parser) checkAdvance(sec section) error { … }
func (p *Parser) resource(sec section) (Resource, error) { … }
func (p *Parser) resourceHeader(sec section) (ResourceHeader, error) { … }
func (p *Parser) skipResource(sec section) error { … }
func (p *Parser) Question() (Question, error) { … }
func (p *Parser) AllQuestions() ([]Question, error) { … }
func (p *Parser) SkipQuestion() error { … }
func (p *Parser) SkipAllQuestions() error { … }
func (p *Parser) AnswerHeader() (ResourceHeader, error) { … }
func (p *Parser) Answer() (Resource, error) { … }
func (p *Parser) AllAnswers() ([]Resource, error) { … }
func (p *Parser) SkipAnswer() error { … }
func (p *Parser) SkipAllAnswers() error { … }
func (p *Parser) AuthorityHeader() (ResourceHeader, error) { … }
func (p *Parser) Authority() (Resource, error) { … }
func (p *Parser) AllAuthorities() ([]Resource, error) { … }
func (p *Parser) SkipAuthority() error { … }
func (p *Parser) SkipAllAuthorities() error { … }
func (p *Parser) AdditionalHeader() (ResourceHeader, error) { … }
func (p *Parser) Additional() (Resource, error) { … }
func (p *Parser) AllAdditionals() ([]Resource, error) { … }
func (p *Parser) SkipAdditional() error { … }
func (p *Parser) SkipAllAdditionals() error { … }
func (p *Parser) CNAMEResource() (CNAMEResource, error) { … }
func (p *Parser) MXResource() (MXResource, error) { … }
func (p *Parser) NSResource() (NSResource, error) { … }
func (p *Parser) PTRResource() (PTRResource, error) { … }
func (p *Parser) SOAResource() (SOAResource, error) { … }
func (p *Parser) TXTResource() (TXTResource, error) { … }
func (p *Parser) SRVResource() (SRVResource, error) { … }
func (p *Parser) AResource() (AResource, error) { … }
func (p *Parser) AAAAResource() (AAAAResource, error) { … }
func (p *Parser) OPTResource() (OPTResource, error) { … }
func (p *Parser) UnknownResource() (UnknownResource, error) { … }
func (m *Message) Unpack(msg []byte) error { … }
func (m *Message) Pack() ([]byte, error) { … }
func (m *Message) AppendPack(b []byte) ([]byte, error) { … }
func (m *Message) GoString() string { … }
type Builder …
func NewBuilder(buf []byte, h Header) Builder { … }
func (b *Builder) EnableCompression() { … }
func (b *Builder) startCheck(s section) error { … }
func (b *Builder) StartQuestions() error { … }
func (b *Builder) StartAnswers() error { … }
func (b *Builder) StartAuthorities() error { … }
func (b *Builder) StartAdditionals() error { … }
func (b *Builder) incrementSectionCount() error { … }
func (b *Builder) Question(q Question) error { … }
func (b *Builder) checkResourceSection() error { … }
func (b *Builder) CNAMEResource(h ResourceHeader, r CNAMEResource) error { … }
func (b *Builder) MXResource(h ResourceHeader, r MXResource) error { … }
func (b *Builder) NSResource(h ResourceHeader, r NSResource) error { … }
func (b *Builder) PTRResource(h ResourceHeader, r PTRResource) error { … }
func (b *Builder) SOAResource(h ResourceHeader, r SOAResource) error { … }
func (b *Builder) TXTResource(h ResourceHeader, r TXTResource) error { … }
func (b *Builder) SRVResource(h ResourceHeader, r SRVResource) error { … }
func (b *Builder) AResource(h ResourceHeader, r AResource) error { … }
func (b *Builder) AAAAResource(h ResourceHeader, r AAAAResource) error { … }
func (b *Builder) OPTResource(h ResourceHeader, r OPTResource) error { … }
func (b *Builder) UnknownResource(h ResourceHeader, r UnknownResource) error { … }
func (b *Builder) Finish() ([]byte, error) { … }
type ResourceHeader …
func (h *ResourceHeader) GoString() string { … }
func (h *ResourceHeader) pack(oldMsg []byte, compression map[string]uint16, compressionOff int) (msg []byte, lenOff int, err error) { … }
func (h *ResourceHeader) unpack(msg []byte, off int) (int, error) { … }
func (h *ResourceHeader) fixLen(msg []byte, lenOff int, preLen int) error { … }
const edns0Version …
const edns0DNSSECOK …
const ednsVersionMask …
const edns0DNSSECOKMask …
func (h *ResourceHeader) SetEDNS0(udpPayloadLen int, extRCode RCode, dnssecOK bool) error { … }
func (h *ResourceHeader) DNSSECAllowed() bool { … }
func (h *ResourceHeader) ExtendedRCode(rcode RCode) RCode { … }
func skipResource(msg []byte, off int) (int, error) { … }
func packUint16(msg []byte, field uint16) []byte { … }
func unpackUint16(msg []byte, off int) (uint16, int, error) { … }
func skipUint16(msg []byte, off int) (int, error) { … }
func packType(msg []byte, field Type) []byte { … }
func unpackType(msg []byte, off int) (Type, int, error) { … }
func skipType(msg []byte, off int) (int, error) { … }
func packClass(msg []byte, field Class) []byte { … }
func unpackClass(msg []byte, off int) (Class, int, error) { … }
func skipClass(msg []byte, off int) (int, error) { … }
func packUint32(msg []byte, field uint32) []byte { … }
func unpackUint32(msg []byte, off int) (uint32, int, error) { … }
func skipUint32(msg []byte, off int) (int, error) { … }
func packText(msg []byte, field string) ([]byte, error) { … }
func unpackText(msg []byte, off int) (string, int, error) { … }
func packBytes(msg []byte, field []byte) []byte { … }
func unpackBytes(msg []byte, off int, field []byte) (int, error) { … }
const nonEncodedNameMax …
type Name …
func NewName(name string) (Name, error) { … }
func MustNewName(name string) Name { … }
func (n Name) String() string { … }
func (n *Name) GoString() string { … }
func (n *Name) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (n *Name) unpack(msg []byte, off int) (int, error) { … }
func skipName(msg []byte, off int) (int, error) { … }
type Question …
func (q *Question) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (q *Question) GoString() string { … }
func unpackResourceBody(msg []byte, off int, hdr ResourceHeader) (ResourceBody, int, error) { … }
type CNAMEResource …
func (r *CNAMEResource) realType() Type { … }
func (r *CNAMEResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *CNAMEResource) GoString() string { … }
func unpackCNAMEResource(msg []byte, off int) (CNAMEResource, error) { … }
type MXResource …
func (r *MXResource) realType() Type { … }
func (r *MXResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *MXResource) GoString() string { … }
func unpackMXResource(msg []byte, off int) (MXResource, error) { … }
type NSResource …
func (r *NSResource) realType() Type { … }
func (r *NSResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *NSResource) GoString() string { … }
func unpackNSResource(msg []byte, off int) (NSResource, error) { … }
type PTRResource …
func (r *PTRResource) realType() Type { … }
func (r *PTRResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *PTRResource) GoString() string { … }
func unpackPTRResource(msg []byte, off int) (PTRResource, error) { … }
type SOAResource …
func (r *SOAResource) realType() Type { … }
func (r *SOAResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *SOAResource) GoString() string { … }
func unpackSOAResource(msg []byte, off int) (SOAResource, error) { … }
type TXTResource …
func (r *TXTResource) realType() Type { … }
func (r *TXTResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *TXTResource) GoString() string { … }
func unpackTXTResource(msg []byte, off int, length uint16) (TXTResource, error) { … }
type SRVResource …
func (r *SRVResource) realType() Type { … }
func (r *SRVResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *SRVResource) GoString() string { … }
func unpackSRVResource(msg []byte, off int) (SRVResource, error) { … }
type AResource …
func (r *AResource) realType() Type { … }
func (r *AResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *AResource) GoString() string { … }
func unpackAResource(msg []byte, off int) (AResource, error) { … }
type AAAAResource …
func (r *AAAAResource) realType() Type { … }
func (r *AAAAResource) GoString() string { … }
func (r *AAAAResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func unpackAAAAResource(msg []byte, off int) (AAAAResource, error) { … }
type OPTResource …
type Option …
func (o *Option) GoString() string { … }
func (r *OPTResource) realType() Type { … }
func (r *OPTResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *OPTResource) GoString() string { … }
func unpackOPTResource(msg []byte, off int, length uint16) (OPTResource, error) { … }
type UnknownResource …
func (r *UnknownResource) realType() Type { … }
func (r *UnknownResource) pack(msg []byte, compression map[string]uint16, compressionOff int) ([]byte, error) { … }
func (r *UnknownResource) GoString() string { … }
func unpackUnknownResource(recordType Type, msg []byte, off int, length uint16) (UnknownResource, error) { … }