Bit fields work, but suffer order changes with endianness Was properly done for little endian, but not big endian Swapped to shifts instead for general portability too
extern "C"