From 2828b446e529185bd9f3ecc82d9b0f157bc81be0 Mon Sep 17 00:00:00 2001 From: Autumn Date: Sun, 17 May 2026 11:02:15 +0100 Subject: [pawsd] added tag fetching utils --- src/pawsd/tag.lua | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/pawsd/tag.lua (limited to 'src/pawsd') 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 +} -- cgit v1.3