11.16. Bitwise Operations

Lua 5.3 and greater has native bitwise operators. The bit32 library introduced in Lua 5.2 is in Lua 5.3, albeit deprecated, but not present in Lua 5.4. For maximum backwards compatibility, all versions of Wireshark with Lua support include the Lua BitOp library, which has been ported to be compatible with Lua 5.3 and 5.4. The BitOp API reference is available at https://bitop.luajit.org/api.html. The API is similar to that of the bit32 library, and in many cases can function as a drop in replacement for code written to use that library by simply replacing a bit32 = require("bit32") statement with bit32 = bit.

[Note]Note

The library is already loaded in the global environment as the bit table; a statement like local bit = require("bit") is not necessary in Lua dissectors. On Wireshark versions prior to 4.6 this will give an error (unless another copy of the BitOp library is also accessible to the system Lua outside the Wireshark distributed code.) On Wireshark version 4.6 and later such statements behave as expected but are largely superfluous.