added experimental support for ati/amd gpu/fan
[psensor.git] / src / lib / psensor.h
index ad7364e..a0fef38 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2010-2011 wpitchoune@gmail.com
+    Copyright (C) 2010-2011 jeanfi@gmail.com
 
     This program is free software; you can redistribute it and/or modify
     it under the terms of the GNU General Public License as published by
@@ -33,8 +33,11 @@ enum psensor_type {
 
        SENSOR_TYPE_LMSENSOR_TEMP = 0x0100 | SENSOR_TYPE_TEMP,
        SENSOR_TYPE_NVIDIA = 0x0200 | SENSOR_TYPE_TEMP,
-       SENSOR_TYPE_HDD_TEMP = 0x0300 | SENSOR_TYPE_TEMP,
-       SENSOR_TYPE_LMSENSOR_FAN = 0x0400 | SENSOR_TYPE_FAN
+       SENSOR_TYPE_HDD_TEMP = 0x0400 | SENSOR_TYPE_TEMP,
+       SENSOR_TYPE_LMSENSOR_FAN = 0x0800 | SENSOR_TYPE_FAN,
+       SENSOR_TYPE_AMD = 0x1000,
+       SENSOR_TYPE_AMD_TEMP = SENSOR_TYPE_AMD | SENSOR_TYPE_TEMP,
+       SENSOR_TYPE_AMD_FAN = SENSOR_TYPE_AMD | SENSOR_TYPE_FAN
 };
 
 struct psensor {
@@ -91,9 +94,12 @@ struct psensor {
        /* Nvidia id for the nvctrl */
        int nvidia_id;
 #endif
+#ifdef HAVE_LIBATIADL
+       /* AMD id for the aticonfig */
+       int amd_id;
+#endif
 
        char *url;
-
 };
 
 struct psensor *psensor_create(char *id,
@@ -125,6 +131,12 @@ double get_min_rpm(struct psensor **sensors);
 double get_max_rpm(struct psensor **sensors);
 
 /*
+  Get the maximal current value of all sensors of a given type.
+*/
+double
+psensor_get_max_current_value(struct psensor **sensors, unsigned int type);
+
+/*
   Converts the value of a sensor to a string.
 
   parameter 'type' is SENSOR_TYPE_LMSENSOR_TEMP, SENSOR_TYPE_NVIDIA,
@@ -150,6 +162,12 @@ struct measure *psensor_get_current_measure(struct psensor *sensor);
 */
 const char *psensor_type_to_str(unsigned int type);
 
+const char *psensor_type_to_unit_str(unsigned int type);
+
 void psensor_list_update_measures(struct psensor **sensors);
 
+void psensor_init();
+
+void psensor_cleanup();
+
 #endif