39 lines
		
	
	
		
			852 B
		
	
	
	
		
			Go
		
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			852 B
		
	
	
	
		
			Go
		
	
	
package dns
 | 
						|
 | 
						|
// StringToType is the reverse of TypeToString, needed for string parsing.
 | 
						|
var StringToType = reverseInt16(TypeToString)
 | 
						|
 | 
						|
// StringToClass is the reverse of ClassToString, needed for string parsing.
 | 
						|
var StringToClass = reverseInt16(ClassToString)
 | 
						|
 | 
						|
// Map of opcodes strings.
 | 
						|
var StringToOpcode = reverseInt(OpcodeToString)
 | 
						|
 | 
						|
// Map of rcodes strings.
 | 
						|
var StringToRcode = reverseInt(RcodeToString)
 | 
						|
 | 
						|
// Reverse a map
 | 
						|
func reverseInt8(m map[uint8]string) map[string]uint8 {
 | 
						|
	n := make(map[string]uint8, len(m))
 | 
						|
	for u, s := range m {
 | 
						|
		n[s] = u
 | 
						|
	}
 | 
						|
	return n
 | 
						|
}
 | 
						|
 | 
						|
func reverseInt16(m map[uint16]string) map[string]uint16 {
 | 
						|
	n := make(map[string]uint16, len(m))
 | 
						|
	for u, s := range m {
 | 
						|
		n[s] = u
 | 
						|
	}
 | 
						|
	return n
 | 
						|
}
 | 
						|
 | 
						|
func reverseInt(m map[int]string) map[string]int {
 | 
						|
	n := make(map[string]int, len(m))
 | 
						|
	for u, s := range m {
 | 
						|
		n[s] = u
 | 
						|
	}
 | 
						|
	return n
 | 
						|
}
 |