all repos

scratch @ 77539dbab7c4667298a1184973b0ad6c0819c0bb

⭐ me doing recreational ~~drugs~~ programming

scratch/dns-server/question.go (view raw)

1
package main
2
3
import (
4
	"bytes"
5
	"encoding/binary"
6
)
7
8
type Question struct {
9
	Name  string
10
	Type  uint16
11
	Class uint16
12
}
13
14
func ReadQuestion(r *bytes.Reader, packet []byte) (Question, error) {
15
	name, err := readName(r, packet)
16
	if err != nil {
17
		return Question{}, err
18
	}
19
20
	var qtype, qclass uint16
21
	_ = binary.Read(r, binary.BigEndian, &qtype)
22
	_ = binary.Read(r, binary.BigEndian, &qclass)
23
24
	return Question{
25
		Name:  name,
26
		Type:  qtype,
27
		Class: qclass,
28
	}, nil
29
}