View/Edit #142:FormatRawData

Switch to edit mode.

Name(s): FormatRawData
1:   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."

Verb arguments: this none this
Verb perms: Readable eXecutable NOT-Debug
Verb owned by: Slacker (#55)

You are not logged in.

[home | help | who | search | setup | code]