** psensor: added basic instruction in the README for compiling psensor
with the ATI/AMD GPU support.
** psensor: fixed compilation error on 64bits with ATI/AMD GPU support.
-** added capability to use libatasmart for sata disk monitoring.
+** psensor: added capability to use libatasmart for sata disk monitoring.
+** psensor: added option --use_libatasmart
** changed copyright dates to 2012.
* v0.6.2.17
libpsensor_a_SOURCES = \
amd.h \
- cpu.h \
- measure.h measure.c \
color.h color.c \
+ cpu.h \
+ hdd.h hdd_hddtemp.c\
+ lmsensor.h lmsensor.c \
log.h log.c \
- psensor.h psensor.c\
- hdd.h\
+ measure.h measure.c \
nvidia.h \
- lmsensor.h lmsensor.c \
+ psensor.h psensor.c\
pio.h pio.c \
url.c url.h
libpsensor_a_SOURCES += hdd_atasmart.c
LIBS += $(ATASMART_LIBS)
AM_CPPFLAGS += $(ATASMART_CFLAGS)
-else
-libpsensor_a_SOURCES += hdd_hddtemp.c
endif
if NVIDIA
@ATASMART_TRUE@am__append_1 = hdd_atasmart.c
@ATASMART_TRUE@am__append_2 = $(ATASMART_LIBS)
@ATASMART_TRUE@am__append_3 = $(ATASMART_CFLAGS)
-@ATASMART_FALSE@am__append_4 = hdd_hddtemp.c
-@NVIDIA_TRUE@am__append_5 = nvidia.c
-@LIBATIADL_TRUE@am__append_6 = $(LIBATIADL_LIBS)
-@LIBATIADL_TRUE@am__append_7 = $(LIBATIADL_CFLAGS)
-@LIBATIADL_TRUE@am__append_8 = amd.c
-@GTOP_TRUE@am__append_9 = cpu.c
-@GTOP_TRUE@am__append_10 = $(GTOP_LIBS)
-@GTOP_TRUE@am__append_11 = $(GTOP_CFLAGS)
-@JSON_TRUE@am__append_12 = psensor_json.h psensor_json.c
-@JSON_TRUE@am__append_13 = $(JSON_LIBS)
-@JSON_TRUE@am__append_14 = $(JSON_CFLAGS)
+@NVIDIA_TRUE@am__append_4 = nvidia.c
+@LIBATIADL_TRUE@am__append_5 = $(LIBATIADL_LIBS)
+@LIBATIADL_TRUE@am__append_6 = $(LIBATIADL_CFLAGS)
+@LIBATIADL_TRUE@am__append_7 = amd.c
+@GTOP_TRUE@am__append_8 = cpu.c
+@GTOP_TRUE@am__append_9 = $(GTOP_LIBS)
+@GTOP_TRUE@am__append_10 = $(GTOP_CFLAGS)
+@JSON_TRUE@am__append_11 = psensor_json.h psensor_json.c
+@JSON_TRUE@am__append_12 = $(JSON_LIBS)
+@JSON_TRUE@am__append_13 = $(JSON_CFLAGS)
subdir = src/lib
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
ARFLAGS = cru
libpsensor_a_AR = $(AR) $(ARFLAGS)
libpsensor_a_LIBADD =
-am__libpsensor_a_SOURCES_DIST = amd.h cpu.h measure.h measure.c \
- color.h color.c log.h log.c psensor.h psensor.c hdd.h nvidia.h \
- lmsensor.h lmsensor.c pio.h pio.c url.c url.h hdd_atasmart.c \
- hdd_hddtemp.c nvidia.c amd.c cpu.c psensor_json.h \
+am__libpsensor_a_SOURCES_DIST = amd.h color.h color.c cpu.h hdd.h \
+ hdd_hddtemp.c lmsensor.h lmsensor.c log.h log.c measure.h \
+ measure.c nvidia.h psensor.h psensor.c pio.h pio.c url.c url.h \
+ hdd_atasmart.c nvidia.c amd.c cpu.c psensor_json.h \
psensor_json.c
@ATASMART_TRUE@am__objects_1 = hdd_atasmart.$(OBJEXT)
-@ATASMART_FALSE@am__objects_2 = hdd_hddtemp.$(OBJEXT)
-@NVIDIA_TRUE@am__objects_3 = nvidia.$(OBJEXT)
-@LIBATIADL_TRUE@am__objects_4 = amd.$(OBJEXT)
-@GTOP_TRUE@am__objects_5 = cpu.$(OBJEXT)
-@JSON_TRUE@am__objects_6 = psensor_json.$(OBJEXT)
-am_libpsensor_a_OBJECTS = measure.$(OBJEXT) color.$(OBJEXT) \
- log.$(OBJEXT) psensor.$(OBJEXT) lmsensor.$(OBJEXT) \
- pio.$(OBJEXT) url.$(OBJEXT) $(am__objects_1) $(am__objects_2) \
- $(am__objects_3) $(am__objects_4) $(am__objects_5) \
- $(am__objects_6)
+@NVIDIA_TRUE@am__objects_2 = nvidia.$(OBJEXT)
+@LIBATIADL_TRUE@am__objects_3 = amd.$(OBJEXT)
+@GTOP_TRUE@am__objects_4 = cpu.$(OBJEXT)
+@JSON_TRUE@am__objects_5 = psensor_json.$(OBJEXT)
+am_libpsensor_a_OBJECTS = color.$(OBJEXT) hdd_hddtemp.$(OBJEXT) \
+ lmsensor.$(OBJEXT) log.$(OBJEXT) measure.$(OBJEXT) \
+ psensor.$(OBJEXT) pio.$(OBJEXT) url.$(OBJEXT) $(am__objects_1) \
+ $(am__objects_2) $(am__objects_3) $(am__objects_4) \
+ $(am__objects_5)
libpsensor_a_OBJECTS = $(am_libpsensor_a_OBJECTS)
DEFAULT_INCLUDES = -I.@am__isrc@ -I$(top_builddir)
depcomp = $(SHELL) $(top_srcdir)/depcomp
LIBNOTIFY_CFLAGS = @LIBNOTIFY_CFLAGS@
LIBNOTIFY_LIBS = @LIBNOTIFY_LIBS@
LIBOBJS = @LIBOBJS@
-LIBS = @LIBS@ $(am__append_2) $(am__append_6) $(am__append_10) \
- $(am__append_13)
+LIBS = @LIBS@ $(am__append_2) $(am__append_5) $(am__append_9) \
+ $(am__append_12)
LTLIBICONV = @LTLIBICONV@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
noinst_LIBRARIES = libpsensor.a
-libpsensor_a_SOURCES = amd.h cpu.h measure.h measure.c color.h color.c \
- log.h log.c psensor.h psensor.c hdd.h nvidia.h lmsensor.h \
- lmsensor.c pio.h pio.c url.c url.h $(am__append_1) \
- $(am__append_4) $(am__append_5) $(am__append_8) \
- $(am__append_9) $(am__append_12)
-AM_CPPFLAGS = -Wall -Werror $(am__append_3) $(am__append_7) \
- $(am__append_11) $(am__append_14)
+libpsensor_a_SOURCES = amd.h color.h color.c cpu.h hdd.h hdd_hddtemp.c \
+ lmsensor.h lmsensor.c log.h log.c measure.h measure.c nvidia.h \
+ psensor.h psensor.c pio.h pio.c url.c url.h $(am__append_1) \
+ $(am__append_4) $(am__append_7) $(am__append_8) \
+ $(am__append_11)
+AM_CPPFLAGS = -Wall -Werror $(am__append_3) $(am__append_6) \
+ $(am__append_10) $(am__append_13)
EXTRA_DIST = $(libpsensor_a_SOURCES) \
amd.c \
cpu.c \
#ifndef _PSENSOR_HDD_H_
#define _PSENSOR_HDD_H_
+#include "config.h"
#include "psensor.h"
+#ifdef HAVE_ATASMART
struct psensor **hdd_psensor_list_add(struct psensor **sensors,
int values_max_length);
void hdd_psensor_list_update(struct psensor **sensors);
+#endif
+
+struct psensor **hddtemp_psensor_list_add(struct psensor **sensors,
+ int values_max_length);
+
+void hddtemp_psensor_list_update(struct psensor **sensors);
#endif
return c;
}
-struct psensor **hdd_psensor_list_add(struct psensor **sensors,
- int values_max_length)
+struct psensor **hddtemp_psensor_list_add(struct psensor **sensors,
+ int values_max_length)
{
char *hddtemp_output = fetch();
char *c;
}
}
-void hdd_psensor_list_update(struct psensor **sensors)
+void hddtemp_psensor_list_update(struct psensor **sensors)
{
char *hddtemp_output = fetch();
return get_max_value(sensors, SENSOR_TYPE_TEMP);
}
-struct psensor **get_all_sensors(int values_max_length)
+struct psensor **get_all_sensors(int use_libatasmart, int values_max_length)
{
struct psensor **psensors = NULL;
struct psensor **tmp_psensors;
psensors = lmsensor_psensor_list_add(NULL, values_max_length);
- tmp_psensors = hdd_psensor_list_add(psensors, values_max_length);
- if (tmp_psensors != psensors) {
- free(psensors);
- psensors = tmp_psensors;
+ if (!use_libatasmart) {
+ tmp_psensors = hddtemp_psensor_list_add(psensors,
+ values_max_length);
+ if (tmp_psensors != psensors) {
+ free(psensors);
+ psensors = tmp_psensors;
+ }
}
+#ifdef HAVE_ATASMART
+ else {
+ tmp_psensors = hdd_psensor_list_add(psensors,
+ values_max_length);
+ if (tmp_psensors != psensors) {
+ free(psensors);
+ psensors = tmp_psensors;
+ }
+ }
+#endif
if (!psensors) { /* there is no detected sensors */
psensors = malloc(sizeof(struct psensor *));
cpu_psensor_list_update(sensors);
#endif
- if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDD_TEMP_HDDTEMP)
- || psensor_list_contains_type(sensors,
- SENSOR_TYPE_HDD_TEMP_ATASMART))
+ if (psensor_list_contains_type(sensors, SENSOR_TYPE_HDD_TEMP_HDDTEMP))
+ hddtemp_psensor_list_update(sensors);
+
+#ifdef HAVE_ATASMART
+ if (psensor_list_contains_type(sensors,
+ SENSOR_TYPE_HDD_TEMP_ATASMART))
hdd_psensor_list_update(sensors);
+#endif
}
void psensor_init()
*/
char *psensor_value_to_string(unsigned int type, double value);
-struct psensor **get_all_sensors(int values_max_length);
+struct psensor **get_all_sensors(int use_libatasmart, int values_max_length);
struct psensor **psensor_list_add(struct psensor **sensors,
struct psensor *sensor);
}
static struct option long_options[] = {
+ {"use_libatasmart", no_argument, 0, 0},
{"version", no_argument, 0, 'v'},
{"help", no_argument, 0, 'h'},
{"url", required_argument, 0, 'u'},
struct ui_psensor ui;
GError *error;
GThread *thread;
- int optc, cmdok;
+ int optc, cmdok, opti, use_libatasmart;
char *url = NULL;
program_name = argv[0];
textdomain(PACKAGE);
#endif
+ use_libatasmart = 0;
+
cmdok = 1;
while ((optc = getopt_long(argc, argv, "vhd:u:", long_options,
- NULL)) != -1) {
+ &opti)) != -1) {
switch (optc) {
+ case 0:
+ if (!strcmp(long_options[opti].name, "use_libatasmart"))
+ use_libatasmart = 1;
+ break;
case 'u':
if (optarg)
url = strdup(optarg);
exit(EXIT_FAILURE);
#endif
} else {
- ui.sensors = get_all_sensors(600);
+ ui.sensors = get_all_sensors(use_libatasmart, 600);
#ifdef HAVE_NVIDIA
ui.sensors = nvidia_psensor_list_add(ui.sensors, 600);
#endif
psensor_init();
- server_data.sensors = get_all_sensors(600);
+ server_data.sensors = get_all_sensors(0, 600);
#ifdef HAVE_GTOP
server_data.cpu_usage = create_cpu_usage_sensor(600);