diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pawsd/tag.lua | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/pawsd/tag.lua b/src/pawsd/tag.lua new file mode 100644 index 0000000..f4031f4 --- /dev/null +++ b/src/pawsd/tag.lua @@ -0,0 +1,56 @@ +-- +-- ~~~ response tag utils +-- + +require("src/utils") + +-- get tag types +function gettagtypes (response, offset) + + local high = table.extracthex(response, offset, offset + 7) + local low = table.extracthex(response, offset + 8, offset + 15) + + return { + high = high, + low = low + } + +end + +-- get tag values +function gettagvalue (response, offset) + + local valuetypes = gettagtypes(response, offset) + + print("T>--------- Tag (High): " .. valuetypes.high) + print("T>--------- Tag (Low): " .. valuetypes.low) + + local valuelength = tonumber(table.extracthex(response, offset + 16, offset + 19), 16) + local valueoffset = offset + 20 + local value = "" + + print("\nT>--------- Length: " .. valuelength) + print("T>--------- Value Offset: " .. valueoffset) + + if valuelength > 0 then + + value = table.extracthex(response, valueoffset, valueoffset + valuelength) + valueoffset = valueoffset + valuelength + + print("\nT>--------- Value (Hex): " .. value) + print("T>--------- Value (Binary): " .. string.fromhex(value)) + + end + + return { + value = value, + endoffset = valueoffset + } + +end + +-- return +return { + types = gettagtypes, + get = gettagvalue +} |
