diff --git a/lib/data.c b/lib/data.c index 8e38f19f..8e433618 100644 --- a/lib/data.c +++ b/lib/data.c @@ -292,3 +292,22 @@ int sensors_substitute_busses(void) sensors_config_chips_subst = sensors_config_chips_count; return res; } + +const char *sensors_temp_type_name(sensors_temp_type sens) +{ + /* older kernels / drivers sometimes report a beta value for + thermistors */ + if (sens > 1000) + sens = SENSORS_TEMP_THERMISTOR; + + switch (sens) { + case SENSORS_TEMP_DISABLED: return "disabled"; + case SENSORS_TEMP_CPU_DIODE: return "CPU diode"; + case SENSORS_TEMP_TRANSISTOR: return "transistor"; + case SENSORS_TEMP_THERMAL_DIODE: return "thermal diode"; + case SENSORS_TEMP_THERMISTOR: return "thermistor"; + case SENSORS_TEMP_AMD_AMDSI: return "AMD AMDSI"; + case SENSORS_TEMP_INTEL_PECI: return "Intel PECI"; + } + return "unknown"; +} diff --git a/lib/libsensors.map b/lib/libsensors.map index 93931491..75309d64 100644 --- a/lib/libsensors.map +++ b/lib/libsensors.map @@ -15,6 +15,7 @@ global: sensors_parse_chip_name; sensors_set_value; sensors_snprintf_chip_name; + sensors_temp_type_name; sensors_get_quantity; sensors_strerror; sensors_parse_error; diff --git a/lib/sensors.h b/lib/sensors.h index 2a84a5b3..65fe7154 100644 --- a/lib/sensors.h +++ b/lib/sensors.h @@ -276,24 +276,17 @@ typedef struct sensors_quantity { const sensors_quantity *sensors_get_quantity(sensors_subfeature_type) __attribute__ ((const)); -static inline const char *sensors_temp_type_name(int sens) -{ - /* older kernels / drivers sometimes report a beta value for - thermistors */ - if (sens > 1000) - sens = 4; +typedef enum sensors_temp_type { + SENSORS_TEMP_DISABLED, + SENSORS_TEMP_CPU_DIODE, + SENSORS_TEMP_TRANSISTOR, + SENSORS_TEMP_THERMAL_DIODE, + SENSORS_TEMP_THERMISTOR, + SENSORS_TEMP_AMD_AMDSI, + SENSORS_TEMP_INTEL_PECI, +} sensors_temp_type; - switch (sens) { - case 0: return "disabled"; - case 1: return "CPU diode"; - case 2: return "transistor"; - case 3: return "thermal diode"; - case 4: return "thermistor"; - case 5: return "AMD AMDSI"; - case 6: return "Intel PECI"; - default: return "unknown"; - } -} +const char *sensors_temp_type_name(sensors_temp_type sens); /* Data about a single chip feature (or category leader) */ struct sensors_feature {