Switch to edit mode.
Name(s): FormatRawData1: if (!caller_perms().wizard)
2: return E_PERM
3: endif
4: Data = $mu:decode_binary(args[1])
5: Header = Data[1..12]
6: ID = Header[1..2]
7: IDV = $mu:BinaryListToDecimal(ID)
8: Misc = Header[3..4]
9: QDC = Header[5..6]
10: QueryCount = $mu:BinaryListToDecimal(QDC)
11: ANC = Header[7..8]
12: AnswerCount = $mu:BinaryListToDecimal(ANC)
13: NSC = Header[9..10]
14: AuthorityCount = $mu:BinaryListToDecimal(NSC)
15: ARC = Header[11..12]
16: AdditionalCount = $mu:BinaryListToDecimal(ARC)
17: Pos = 13
18: player:Tell("Header:")
19: player:tell(" ID: ", toliteral(ID), " (", IDV, ")")
20: player:tell(" Misc: ", toliteral(Misc))
21: player:tell(" QDC: ", toliteral(QDC), " (", QueryCount, ")")
22: player:tell(" ANC: ", toliteral(ANC), " (", AnswerCount, ")")
23: player:tell(" NSC: ", toliteral(NSC), " (", AuthorityCount, ")")
24: player:tell(" ARC: ", toliteral(ARC), " (", AdditionalCount, ")")
25: player:tell("")
26: player:tell("Query:")
27: for Count in [1..QueryCount]
28: Name = {}
29: while (!(0 in Name || 192 in Name))
30: Name = {@Name, Data[Pos]}
31: Pos = Pos + 1
32: endwhile
33: if (Name[$] == 192)
34: Name = {@Name, Data[Pos]}
35: Pos = Pos + 1
36: endif
37: QType = Data[Pos..Pos + 1]
38: QClass = Data[Pos + 2..Pos + 3]
39: Pos = Pos + 4
40: player:tell(" QName: ", toliteral(Name))
41: player:tell(" QType: ", toliteral(QType))
42: player:tell(" QClass: ", toliteral(QClass))
43: player:tell("")
44: $command_utils:suspend_if_needed(0)
45: endfor
46: player:tell("Answer:")
47: for Count in [1..AnswerCount]
48: Name = {}
49: while (!(0 in Name || 192 in Name))
50: Name = {@Name, Data[Pos]}
51: Pos = Pos + 1
52: endwhile
53: if (Name[$] == 192)
54: Name = {@Name, Data[Pos]}
55: Pos = Pos + 1
56: endif
57: Type = Data[Pos..Pos + 1]
58: Class = Data[Pos + 2..Pos + 3]
59: TTL = Data[Pos + 4..Pos + 7]
60: RDLen = Data[Pos + 8..Pos + 9]
61: RDLength = $mu:BinaryListToDecimal(RDLen)
62: Pos = Pos + 10
63: RData = Data[Pos..Pos + RDLength - 1]
64: Pos = Pos + RDLength
65: player:tell(" Name: ", toliteral(Name))
66: player:tell(" Type: ", toliteral(Type))
67: player:tell(" Class: ", toliteral(Class))
68: player:tell(" TTL: ", toliteral(TTL))
69: player:tell(" RDLength: ", toliteral(RDLen), "(", RDLength, ")")
70: player:tell(" RData: ", toliteral(RData))
71: player:tell("")
72: $command_utils:suspend_if_needed(0)
73: endfor
74: player:tell("Authoriy:")
75: for Count in [1..AuthorityCount]
76: Name = {}
77: while (!(0 in Name || 192 in Name))
78: Name = {@Name, Data[Pos]}
79: Pos = Pos + 1
80: endwhile
81: if (Name[$] == 192)
82: Name = {@Name, Data[Pos]}
83: Pos = Pos + 1
84: endif
85: Type = Data[Pos..Pos + 1]
86: Class = Data[Pos + 2..Pos + 3]
87: TTL = Data[Pos + 4..Pos + 7]
88: RDLen = Data[Pos + 8..Pos + 9]
89: RDLength = $mu:BinaryListToDecimal(RDLen)
90: Pos = Pos + 10
91: RData = Data[Pos..Pos + RDLength - 1]
92: Pos = Pos + RDLength
93: player:tell(" Name: ", toliteral(Name))
94: player:tell(" Type: ", toliteral(Type))
95: player:tell(" Class: ", toliteral(Class))
96: player:tell(" TTL: ", toliteral(TTL))
97: player:tell(" RDLength: ", toliteral(RDLen), "(", RDLength, ")")
98: player:tell(" RData: ", toliteral(RData))
99: player:tell("")
100: $command_utils:suspend_if_needed(0)
101: endfor
102: player:tell("Additional:")
103: for Count in [1..AuthorityCount]
104: Name = {}
105: while (!(0 in Name || 192 in Name))
106: Name = {@Name, Data[Pos]}
107: Pos = Pos + 1
108: endwhile
109: if (Name[$] == 192)
110: Name = {@Name, Data[Pos]}
111: Pos = Pos + 1
112: endif
113: Type = Data[Pos..Pos + 1]
114: Class = Data[Pos + 2..Pos + 3]
115: TTL = Data[Pos + 4..Pos + 7]
116: RDLen = Data[Pos + 8..Pos + 9]
117: RDLength = $mu:BinaryListToDecimal(RDLen)
118: Pos = Pos + 10
119: RData = Data[Pos..Pos + RDLength - 1]
120: Pos = Pos + RDLength
121: player:tell(" Name: ", toliteral(Name))
122: player:tell(" Type: ", toliteral(Type))
123: player:tell(" Class: ", toliteral(Class))
124: player:tell(" TTL: ", toliteral(TTL))
125: player:tell(" RDLength: ", toliteral(RDLen), "(", RDLength, ")")
126: player:tell(" RData: ", toliteral(RData))
127: player:tell("")
128: $command_utils:suspend_if_needed(0)
129: endfor
130: "Last modified by manta (#7165) on Sun Feb 27 14:58:39 2000 MST."
131: "This verb previously owned by manta (#7165), and chowned to $slacker upon dewizarding (Sat Aug 17 14:50:06 2002 MDT)."
132: "Last modified by Dax (#789) on Sat Aug 17 14:50:06 2002 MDT."