summaryrefslogtreecommitdiff
path: root/internal/dns/question.go
blob: 489082c03f9ef6768ec8c5154015c0345a6a7327 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package dns

// https://datatracker.ietf.org/doc/html/rfc1035#section-4.1.2
type Question struct {
	Name  Name
	Type  uint16
	Class uint16
}

func (q *Question) pack(p *packer) error {
	if err := p.writeName(q.Name); err != nil {
		return err
	}
	p.writeUint16(q.Type)
	p.writeUint16(q.Class)
	return nil
}
func (q *Question) unpack(u *unpacker) error {
	var err error
	q.Name, err = u.readName()
	if err != nil {
		return err
	}
	q.Type, err = u.readUint16()
	if err != nil {
		return err
	}
	q.Class, err = u.readUint16()
	return err
}