1package dns
2
3// StringToType is the reverse of TypeToString, needed for string parsing.
4var StringToType = reverseInt16(TypeToString)
5
6// StringToClass is the reverse of ClassToString, needed for string parsing.
7var StringToClass = reverseInt16(ClassToString)
8
9// StringToOpcode is a map of opcodes to strings.
10var StringToOpcode = reverseInt(OpcodeToString)
11
12// StringToRcode is a map of rcodes to strings.
13var StringToRcode = reverseInt(RcodeToString)
14
15// Reverse a map
16func reverseInt8(m map[uint8]string) map[string]uint8 {
17	n := make(map[string]uint8, len(m))
18	for u, s := range m {
19		n[s] = u
20	}
21	return n
22}
23
24func reverseInt16(m map[uint16]string) map[string]uint16 {
25	n := make(map[string]uint16, len(m))
26	for u, s := range m {
27		n[s] = u
28	}
29	return n
30}
31
32func reverseInt(m map[int]string) map[string]int {
33	n := make(map[string]int, len(m))
34	for u, s := range m {
35		n[s] = u
36	}
37	return n
38}
39