| English (en-US) | 简体中文 (zh-CN) |
|---|
KNSoft.FirmwareSpec contains C/C++ definitions of multiple firmware specifications and corresponding type information, compatible with MSVC and GCC compilers.
| Specification | Definition | Type information | Sample program |
|---|---|---|---|
| SMBIOS reference specification | SMBIOS.h | SMBIOS.TypeInfo.h | SmbiosDecode |
| ACPI Specification | (TODO) | - | - |
| CPUID | CPUID.h | (WIP) | (WIP) |
TypeInfoGenerator generates type information (e.g. SMBIOS.TypeInfo.h) according to the corresponding specification definitions (e.g. SMBIOS.h), type information is very useful for tools like dmidecode to resolve each of structure fields.
GitHub Action compiles and runs sample programs, artifact contains them and theirs text outputs.
NuGet package KNSoft.FirmwareSpec is out-of-the-box, install to project and include wanted header, for example:
#include <KNSoft/FirmwareSpec/SMBIOS.h> // SMBIOS reference specification
#include <KNSoft/FirmwareSpec/SMBIOS.TypeInfo.h> // Type information of SMBIOS reference specification
#include <KNSoft/FirmwareSpec/CPUID.h> // CPUIDWe always keep our definitions up-to-date, support version control by using macro (e.g. SMBIOS_VERSION), see corresponding header for more information.
Caution
In beta stage, may contains some bugs and various issues, should be used with caution.
You could report issue or send PR to make this project better.
KNSoft.FirmwareSpec is licensed under the MIT license.