Added "type" to the value_list_t struct.
[collectd.git] / src / nut.c
index 6af12b8..bcb0ae9 100644 (file)
--- a/src/nut.c
+++ b/src/nut.c
 #include "common.h"
 #include "plugin.h"
 
-#if HAVE_PTHREAD_H
-# include <pthread.h>
-#endif
+#include <pthread.h>
+#include <upsclient.h>
 
-#if HAVE_UPSCLIENT_H
-# include <upsclient.h>
-# define NUT_HAVE_READ 1
+#if HAVE_UPSCONN_T
+typedef UPSCONN_t collectd_upsconn_t;
+#elif HAVE_UPSCONN
+typedef UPSCONN collectd_upsconn_t;
 #else
-# define NUT_HAVE_READ 0
+# error "Unable to determine the UPS connection type."
 #endif
 
-#if NUT_HAVE_READ
 struct nut_ups_s;
 typedef struct nut_ups_s nut_ups_t;
 struct nut_ups_s
 {
-  UPSCONN   *conn;
+  collectd_upsconn_t *conn;
   char      *upsname;
   char      *hostname;
   int        port;
@@ -132,13 +131,14 @@ static void nut_submit (nut_ups_t *ups, const char *type,
       sizeof (vl.host));
   strcpy (vl.plugin, "nut");
   strncpy (vl.plugin_instance, ups->upsname, sizeof (vl.plugin_instance));
+  strncpy (vl.type, type, sizeof (vl.type));
   strncpy (vl.type_instance, type_instance, sizeof (vl.type_instance));
 
   vl.host[sizeof (vl.host) - 1] = '\0';
   vl.plugin_instance[sizeof (vl.plugin_instance) - 1] = '\0';
   vl.type_instance[sizeof (vl.type_instance) - 1] = '\0';
 
-  plugin_dispatch_values (type, &vl);
+  plugin_dispatch_values (&vl);
 } /* void nut_submit */
 
 static int nut_read_one (nut_ups_t *ups)
@@ -152,7 +152,7 @@ static int nut_read_one (nut_ups_t *ups)
   /* (Re-)Connect if we have no connection */
   if (ups->conn == NULL)
   {
-    ups->conn = (UPSCONN *) malloc (sizeof (UPSCONN));
+    ups->conn = (collectd_upsconn_t *) malloc (sizeof (collectd_upsconn_t));
     if (ups->conn == NULL)
     {
       ERROR ("nut plugin: malloc failed.");
@@ -286,15 +286,12 @@ static int nut_shutdown (void)
 
   return (0);
 } /* int nut_shutdown */
-#endif /* NUT_HAVE_READ */
 
 void module_register (void)
 {
-#if NUT_HAVE_READ
   plugin_register_config ("nut", nut_config, config_keys, config_keys_num);
   plugin_register_read ("nut", nut_read);
   plugin_register_shutdown ("nut", nut_shutdown);
-#endif
 } /* void module_register */
 
 /* vim: set sw=2 ts=8 sts=2 tw=78 : */