+static ignorelist_t *sensor_list;
+static time_t sensors_config_mtime = 0;
+
+#if SENSORS_API_VERSION < 0x400
+/* full chip name logic borrowed from lm_sensors */
+static int sensors_snprintf_chip_name (char *buf, size_t buf_size,
+ const sensors_chip_name *chip)
+{
+ int status = -1;
+
+ if (chip->bus == SENSORS_CHIP_NAME_BUS_ISA)
+ {
+ status = ssnprintf (buf, buf_size,
+ "%s-isa-%04x",
+ chip->prefix,
+ chip->addr);
+ }
+ else if (chip->bus == SENSORS_CHIP_NAME_BUS_DUMMY)
+ {
+ status = snprintf (buf, buf_size, "%s-%s-%04x",
+ chip->prefix,
+ chip->busname,
+ chip->addr);
+ }
+ else
+ {
+ status = snprintf (buf, buf_size, "%s-i2c-%d-%02x",
+ chip->prefix,
+ chip->bus,
+ chip->addr);
+ }
+
+ return (status);
+} /* int sensors_snprintf_chip_name */
+
+static int sensors_feature_name_to_type (const char *name)
+{
+ int i;
+
+ /* Yes, this is slow, but it's only ever done during initialization, so
+ * it's a one time cost.. */
+ for (i = 0; i < known_features_num; i++)
+ if (strcasecmp (known_features[i].label, name) == 0)
+ return (known_features[i].type);
+
+ return (SENSOR_TYPE_UNKNOWN);
+} /* int sensors_feature_name_to_type */
+#endif