master ohmu/fastfetch-openbsd / src / detection / chassis / chassis.c
ohmu  ·  2026-10-15
 1#include "chassis.h"
 2
 3const char* ffChassisTypeToString(uint32_t type) {
 4    // 7.4.1 System Enclosure or Chassis Types
 5    switch (type & 0b01111111) {
 6        case 0x01:
 7            return "Other";
 8        case 0x02:
 9            return "Unknown";
10        case 0x03:
11            return "Desktop";
12        case 0x04:
13            return "Low Profile Desktop";
14        case 0x05:
15            return "Pizza Box";
16        case 0x06:
17            return "Mini Tower";
18        case 0x07:
19            return "Tower";
20        case 0x08:
21            return "Portable";
22        case 0x09:
23            return "Laptop";
24        case 0x0A:
25            return "Notebook";
26        case 0x0B:
27            return "Hand Held";
28        case 0x0C:
29            return "Docking Station";
30        case 0x0D:
31            return "All in One";
32        case 0x0E:
33            return "Sub Notebook";
34        case 0x0F:
35            return "Space-saving";
36        case 0x10:
37            return "Lunch Box";
38        case 0x11:
39            return "Main Server Chassis";
40        case 0x12:
41            return "Expansion Chassis";
42        case 0x13:
43            return "SubChassis";
44        case 0x14:
45            return "Bus Expansion Chassis";
46        case 0x15:
47            return "Peripheral Chassis";
48        case 0x16:
49            return "RAID Chassis";
50        case 0x17:
51            return "Rack Mount Chassis";
52        case 0x18:
53            return "Sealed-case PC";
54        case 0x19:
55            return "Multi-system chassis";
56        case 0x1A:
57            return "Compact PCI";
58        case 0x1B:
59            return "Advanced TCA";
60        case 0x1C:
61            return "Blade";
62        case 0x1D:
63            return "Blade Enclosure";
64        case 0x1E:
65            return "Tablet";
66        case 0x1F:
67            return "Convertible";
68        case 0x20:
69            return "Detachable";
70        case 0x21:
71            return "IoT Gateway";
72        case 0x22:
73            return "Embedded PC";
74        case 0x23:
75            return "Mini PC";
76        case 0x24:
77            return "Stick PC";
78        default:
79            return nullptr;
80    }
81}