Provide some mechanism to handle fields added in later SMBIOS specs
https://www.dmtf.org/sites/default/files/standards/documents/DSP0134_3.6.0WIP50.pdf
If a new field is added to an existing structure, that field is added at the end of the formatted area of that structure and the structure’s Length field is increased by the new field’s size.
...
Any software that interprets a structure shall use the structure’s Length field to determine the formatted area size for the structure rather than hard-coding or deriving the Length from structure field
...
Starting with version 2.3, each SMBIOS structure type has a minimum length — enabling the addition of new, but optional, fields to SMBIOS structures
...
Software that interprets a structure field must verify that the structure’s length is sufficient to encompass the optional field; if the length is insufficient, the optional field’s value is Unknown.
It should be possible to access fields added in newer spec versions without failing to parse older tables. That could be achieved by pushing padding bytes before converting the struct, but that wouldn't distinguish 0
values from unspecified optional fields.
Using packed Plain
structs may not work well for addressing this...