#include "chassis.h" #include "detection/host/host.h" const char* ffDetectChassis(FFChassisResult* result) { FFHostResult host = { .family = ffStrbufCreate(), .name = ffStrbufCreate(), .version = ffStrbufCreate(), .sku = ffStrbufCreate(), .serial = ffStrbufCreate(), .uuid = ffStrbufCreate(), .vendor = ffStrbufCreate(), }; if (ffDetectHost(&host) != NULL) return "Failed to detect host"; if (ffStrbufStartsWithS(&host.name, "MacBook ")) ffStrbufSetStatic(&result->type, "Laptop"); else if (ffStrbufStartsWithS(&host.name, "Mac mini ") || ffStrbufStartsWithS(&host.name, "Mac Studio ")) ffStrbufSetStatic(&result->type, "Mini PC"); else if (ffStrbufStartsWithS(&host.name, "iMac ")) ffStrbufSetStatic(&result->type, "All in One"); else ffStrbufSetStatic(&result->type, "Desktop"); ffStrbufSet(&result->vendor, &host.vendor); ffStrbufDestroy(&host.family); ffStrbufDestroy(&host.name); ffStrbufDestroy(&host.version); ffStrbufDestroy(&host.sku); ffStrbufDestroy(&host.serial); ffStrbufDestroy(&host.uuid); ffStrbufDestroy(&host.vendor); return NULL; }