#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; }