mirror of
https://github.com/fastfetch-cli/fastfetch.git
synced 2026-11-07 21:50:08 +01:00
Smbios: add comments, tidy
This commit is contained in:
+48
-6
@@ -25,14 +25,51 @@ typedef enum __attribute__((__packed__)) FFSmbiosType // : uint8_t
|
||||
FF_SMBIOS_TYPE_BASEBOARD_INFO = 2,
|
||||
FF_SMBIOS_TYPE_SYSTEM_ENCLOSURE = 3,
|
||||
FF_SMBIOS_TYPE_PROCESSOR_INFO = 4,
|
||||
FF_SMBIOS_TYPE_MEMORY_MODULE_INFO = 6,
|
||||
FF_SMBIOS_TYPE_MEMORY_CONTROLLER_INFO = 5, // obsolete
|
||||
FF_SMBIOS_TYPE_MEMORY_MODULE_INFO = 6, // obsolete
|
||||
FF_SMBIOS_TYPE_CACHE_INFO = 7,
|
||||
FF_SMBIOS_TYPE_PORT_CONNECTOR_INFO = 8,
|
||||
FF_SMBIOS_TYPE_SYSTEM_SLOTS = 9,
|
||||
FF_SMBIOS_TYPE_ON_BOARD_DEVICES_INFO = 10, // obsolete
|
||||
FF_SMBIOS_TYPE_OEM_STRING = 11,
|
||||
FF_SMBIOS_TYPE_SYSTEM_CONFIGURATION_OPTIONS = 12,
|
||||
FF_SMBIOS_TYPE_BIOS_LANGUAGE_INFO = 13,
|
||||
FF_SMBIOS_TYPE_GROUP_ASSOCIATIONS = 14,
|
||||
FF_SMBIOS_TYPE_SYSTEM_EVENT_LOG = 15,
|
||||
FF_SMBIOS_TYPE_PHYSICAL_MEMORY_ARRAY = 16,
|
||||
FF_SMBIOS_TYPE_MEMORY_DEVICE = 17,
|
||||
FF_SMBIOS_TYPE_32BIT_MEMORY_ERROR_INFO = 18,
|
||||
FF_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS = 19,
|
||||
FF_SMBIOS_TYPE_BUILTIN_POINT_DEVICE = 21,
|
||||
FF_SMBIOS_TYPE_MEMORY_DEVICE_MAPPED_ADDRESS = 20,
|
||||
FF_SMBIOS_TYPE_BUILTIN_POINTING_DEVICE = 21,
|
||||
FF_SMBIOS_TYPE_PORTABLE_BATTERY = 22,
|
||||
FF_SMBIOS_TYPE_LAST = 127,
|
||||
FF_SMBIOS_TYPE_SYSTEM_RESET = 23,
|
||||
FF_SMBIOS_TYPE_HARDWARE_SECURITY = 24,
|
||||
FF_SMBIOS_TYPE_SYSTEM_POWER_CONTROLS = 25,
|
||||
FF_SMBIOS_TYPE_VOLTAGE_PROBE = 26,
|
||||
FF_SMBIOS_TYPE_COOLING_DEVICE = 27,
|
||||
FF_SMBIOS_TYPE_TEMPERATURE_PROBE = 28,
|
||||
FF_SMBIOS_TYPE_ELECTRICAL_CURRENT_PROBE = 29,
|
||||
FF_SMBIOS_TYPE_OUT_OF_BAND_REMOTE_ACCESS = 30,
|
||||
FF_SMBIOS_TYPE_BOOT_INTEGRITY_SERVICES_ENTRY_POINT = 31, // reserved
|
||||
FF_SMBIOS_TYPE_SYSTEM_BOOT_INFO = 32,
|
||||
FF_SMBIOS_TYPE_64BIT_MEMORY_ERROR_INFO = 33,
|
||||
FF_SMBIOS_TYPE_MANAGEMENT_DEVICE = 34,
|
||||
FF_SMBIOS_TYPE_MANAGEMENT_DEVICE_COMPONENT = 35,
|
||||
FF_SMBIOS_TYPE_MANAGEMENT_DEVICE_THRESHOLD_DATA = 36,
|
||||
FF_SMBIOS_TYPE_MEMORY_CHANNEL = 37,
|
||||
FF_SMBIOS_TYPE_IPMI_DEVICE_INFO = 38,
|
||||
FF_SMBIOS_TYPE_SYSTEM_POWER_SUPPLY = 39,
|
||||
FF_SMBIOS_TYPE_ADDITIONAL_INFO = 40,
|
||||
FF_SMBIOS_TYPE_ONBOARD_DEVICE_EXTENDED_INFO = 41,
|
||||
FF_SMBIOS_TYPE_MANAGEMENT_CONTROLLER_HOST_INTERFACE = 42,
|
||||
FF_SMBIOS_TYPE_TPM_DEVICE = 43,
|
||||
FF_SMBIOS_TYPE_PROCESSOR_ADDITIONAL_INFO = 44,
|
||||
FF_SMBIOS_TYPE_FIRMWARE_INVENTORY_INFO = 45,
|
||||
FF_SMBIOS_TYPE_STRING_PROPERTY = 46,
|
||||
FF_SMBIOS_TYPE_INACTIVE = 126,
|
||||
FF_SMBIOS_TYPE_END_OF_TABLE = 127,
|
||||
// system- and OEM-specific information 128~256
|
||||
} FFSmbiosType;
|
||||
static_assert(sizeof(FFSmbiosType) == 1, "FFSmbiosType should be 1 byte");
|
||||
|
||||
@@ -41,7 +78,6 @@ typedef struct FFSmbiosHeader
|
||||
FFSmbiosType Type;
|
||||
uint8_t Length;
|
||||
uint16_t Handle;
|
||||
uint8_t Data[];
|
||||
} FFSmbiosHeader;
|
||||
static_assert(sizeof(FFSmbiosHeader) == 4, "FFSmbiosHeader should be 4 bytes");
|
||||
|
||||
@@ -67,8 +103,14 @@ static inline const char* ffSmbiosLocateString(const char* start, uint8_t index
|
||||
static inline const FFSmbiosHeader* ffSmbiosSkipLastStr(const FFSmbiosHeader* header)
|
||||
{
|
||||
const char* p = ((const char*) header) + header->Length;
|
||||
while (*p)
|
||||
p += strlen(p) + 1;
|
||||
if (*p)
|
||||
{
|
||||
do
|
||||
p += strlen(p) + 1;
|
||||
while (*p);
|
||||
}
|
||||
else // The terminator is always double 0 even if there is no string
|
||||
p ++;
|
||||
|
||||
return (const FFSmbiosHeader*) (p + 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user