diff --git a/dbus-sdr/sdrutils.cpp b/dbus-sdr/sdrutils.cpp
index fa96c6b..b8cf3fa 100644
--- a/dbus-sdr/sdrutils.cpp
+++ b/dbus-sdr/sdrutils.cpp
@@ -36,6 +36,38 @@
 
 #endif
 
+boost::container::flat_map<
+    const char*, std::pair<SensorTypeCodes, SensorEventTypeCodes>, CmpStr>
+    sensorTypes{
+        {{"temperature", std::make_pair(SensorTypeCodes::temperature,
+                                        SensorEventTypeCodes::threshold)},
+         {"voltage", std::make_pair(SensorTypeCodes::voltage,
+                                    SensorEventTypeCodes::threshold)},
+         {"current", std::make_pair(SensorTypeCodes::current,
+                                    SensorEventTypeCodes::threshold)},
+         {"fan_tach", std::make_pair(SensorTypeCodes::fan,
+                                     SensorEventTypeCodes::threshold)},
+         {"fan_pwm", std::make_pair(SensorTypeCodes::fan,
+                                    SensorEventTypeCodes::threshold)},
+         {"intrusion", std::make_pair(SensorTypeCodes::physical_security,
+                                      SensorEventTypeCodes::sensorSpecified)},
+         {"processor", std::make_pair(SensorTypeCodes::processor,
+                                      SensorEventTypeCodes::sensorSpecified)},
+         {"power", std::make_pair(SensorTypeCodes::other,
+                                  SensorEventTypeCodes::threshold)},
+         {"memory", std::make_pair(SensorTypeCodes::memory,
+                                   SensorEventTypeCodes::sensorSpecified)},
+         {"state", std::make_pair(SensorTypeCodes::power_unit,
+                                  SensorEventTypeCodes::sensorSpecified)},
+         {"buttons", std::make_pair(SensorTypeCodes::buttons,
+                                    SensorEventTypeCodes::sensorSpecified)},
+         {"watchdog", std::make_pair(SensorTypeCodes::watchdog2,
+                                     SensorEventTypeCodes::sensorSpecified)},
+         {"entity", std::make_pair(SensorTypeCodes::entity,
+                                   SensorEventTypeCodes::sensorSpecified)},
+         {"energy", std::make_pair(SensorTypeCodes::other,
+                                   SensorEventTypeCodes::threshold)}}};
+
 namespace details
 {
 
diff --git a/include/dbus-sdr/sdrutils.hpp b/include/dbus-sdr/sdrutils.hpp
index a38673e..69864f9 100644
--- a/include/dbus-sdr/sdrutils.hpp
+++ b/include/dbus-sdr/sdrutils.hpp
@@ -317,6 +317,7 @@
     buttons = 0x14,
     watchdog2 = 0x23,
     entity = 0x25,
+    oemC0 = 0xc0,
 };
 
 enum class SensorEventTypeCodes : uint8_t
@@ -326,37 +327,10 @@
     sensorSpecified = 0x6f
 };
 
-const static boost::container::flat_map<
+extern boost::container::flat_map<
     const char*, std::pair<SensorTypeCodes, SensorEventTypeCodes>, CmpStr>
-    sensorTypes{
-        {{"temperature", std::make_pair(SensorTypeCodes::temperature,
-                                        SensorEventTypeCodes::threshold)},
-         {"voltage", std::make_pair(SensorTypeCodes::voltage,
-                                    SensorEventTypeCodes::threshold)},
-         {"current", std::make_pair(SensorTypeCodes::current,
-                                    SensorEventTypeCodes::threshold)},
-         {"fan_tach", std::make_pair(SensorTypeCodes::fan,
-                                     SensorEventTypeCodes::threshold)},
-         {"fan_pwm", std::make_pair(SensorTypeCodes::fan,
-                                    SensorEventTypeCodes::threshold)},
-         {"intrusion", std::make_pair(SensorTypeCodes::physical_security,
-                                      SensorEventTypeCodes::sensorSpecified)},
-         {"processor", std::make_pair(SensorTypeCodes::processor,
-                                      SensorEventTypeCodes::sensorSpecified)},
-         {"power", std::make_pair(SensorTypeCodes::other,
-                                  SensorEventTypeCodes::threshold)},
-         {"memory", std::make_pair(SensorTypeCodes::memory,
-                                   SensorEventTypeCodes::sensorSpecified)},
-         {"state", std::make_pair(SensorTypeCodes::power_unit,
-                                  SensorEventTypeCodes::sensorSpecified)},
-         {"buttons", std::make_pair(SensorTypeCodes::buttons,
-                                    SensorEventTypeCodes::sensorSpecified)},
-         {"watchdog", std::make_pair(SensorTypeCodes::watchdog2,
-                                     SensorEventTypeCodes::sensorSpecified)},
-         {"entity", std::make_pair(SensorTypeCodes::entity,
-                                   SensorEventTypeCodes::sensorSpecified)},
-         {"energy", std::make_pair(SensorTypeCodes::other,
-                                   SensorEventTypeCodes::threshold)}}};
+    sensorTypes;
+
 std::string getSensorTypeStringFromPath(const std::string& path);
 
 uint8_t getSensorTypeFromPath(const std::string& path);
