2022-12-24 22:48:10 +08:00
|
|
|
#include "chassis.h"
|
2023-01-28 12:40:12 +01:00
|
|
|
#include "common/io/io.h"
|
2023-06-22 10:45:43 +00:00
|
|
|
#include "util/smbiosHelper.h"
|
2022-12-24 22:48:10 +08:00
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
2024-01-06 10:43:51 +08:00
|
|
|
const char* ffDetectChassis(FFChassisResult* result)
|
2022-12-24 22:48:10 +08:00
|
|
|
{
|
2023-12-23 00:06:37 +08:00
|
|
|
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/chassis_type", "/sys/class/dmi/id/chassis_type", &result->type);
|
2024-01-06 18:35:10 +08:00
|
|
|
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/chassis_serial", "/sys/class/dmi/id/chassis_serial", &result->serial);
|
2023-12-23 00:06:37 +08:00
|
|
|
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/chassis_vendor", "/sys/class/dmi/id/chassis_vendor", &result->vendor);
|
|
|
|
|
ffGetSmbiosValue("/sys/devices/virtual/dmi/id/chassis_version", "/sys/class/dmi/id/chassis_version", &result->version);
|
2023-06-22 17:44:20 +08:00
|
|
|
|
2023-06-22 19:05:13 +08:00
|
|
|
if(result->type.length)
|
2023-06-22 17:44:20 +08:00
|
|
|
{
|
2023-09-26 00:09:56 +08:00
|
|
|
const char* typeStr = ffChassisTypeToString((uint32_t) ffStrbufToUInt(&result->type, 9999));
|
2023-06-22 19:05:13 +08:00
|
|
|
if(typeStr)
|
|
|
|
|
ffStrbufSetS(&result->type, typeStr);
|
2023-06-22 17:44:20 +08:00
|
|
|
}
|
2023-06-16 16:33:43 +08:00
|
|
|
return NULL;
|
2022-12-24 22:48:10 +08:00
|
|
|
}
|