2022-10-05 17:03:30 +08:00
|
|
|
#include "board.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-10-05 17:03:30 +08:00
|
|
|
|
|
|
|
|
#include <stdlib.h>
|
|
|
|
|
|
2023-06-22 10:45:43 +00:00
|
|
|
static void getSmbiosValue(const char* devicesPath, const char* classPath, FFstrbuf* buffer)
|
2022-10-05 17:03:30 +08:00
|
|
|
{
|
|
|
|
|
ffReadFileBuffer(devicesPath, buffer);
|
2023-06-22 10:45:43 +00:00
|
|
|
if(ffIsSmbiosValueSet(buffer))
|
2022-10-05 17:03:30 +08:00
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
ffReadFileBuffer(classPath, buffer);
|
2023-06-22 10:45:43 +00:00
|
|
|
if(ffIsSmbiosValueSet(buffer))
|
2022-10-05 17:03:30 +08:00
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
ffStrbufClear(buffer);
|
|
|
|
|
}
|
|
|
|
|
|
2023-06-19 21:27:47 +08:00
|
|
|
const char* ffDetectBoard(FFBoardResult* board)
|
2022-10-05 17:03:30 +08:00
|
|
|
{
|
2023-06-22 22:32:14 +08:00
|
|
|
getSmbiosValue("/sys/devices/virtual/dmi/id/board_name", "/sys/class/dmi/id/board_name", &board->name);
|
|
|
|
|
getSmbiosValue("/sys/devices/virtual/dmi/id/board_vendor", "/sys/class/dmi/id/board_vendor", &board->vendor);
|
|
|
|
|
getSmbiosValue("/sys/devices/virtual/dmi/id/board_version", "/sys/class/dmi/id/board_version", &board->version);
|
2023-06-19 21:27:47 +08:00
|
|
|
return NULL;
|
2022-10-05 17:03:30 +08:00
|
|
|
}
|