This stems from a static analysis warning about using memcmp to compare
two libx52io_report structures, since there is likely padding which
could invisibly be containing different values, especially if the
reports are allocated on the stack and not explicitly initialized.
The function returns a bitmask of the changed fields, which could
conceivably be used by a downstream application to quickly determine the
changes.
This change adds the ability to scroll a text blob to fit within the 16
character MFD limit. The daemon can use this in the future to implement
scrolling similar to how the Windows SST software did it.
Prior to this change, SonarQube complains about duplicated code in the
symlinked header files. This change reworks the layout so that the
installed headers all reside under the 'includes' directory, and the
meson.build files are updated to reflect the new paths.