Removed the `XXX_HAVE_READ' defines from all plugins.
[collectd.git] / src / load.c
index 7be594d..c9f130b 100644 (file)
@@ -1,6 +1,6 @@
 /**
  * collectd - src/load.c
- * Copyright (C) 2005,2006  Florian octo Forster
+ * Copyright (C) 2005-2007  Florian octo Forster
  *
  * 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 the
 #include "common.h"
 #include "plugin.h"
 
-#if defined(HAVE_GETLOADAVG) || defined(KERNEL_LINUX) || defined(HAVE_LIBSTATGRAB)
-# define LOAD_HAVE_READ 1
-#else
-# define LOAD_HAVE_READ 0
-#endif
-
 #ifdef HAVE_SYS_LOADAVG_H
 #include <sys/loadavg.h>
 #endif
 #endif
 #endif /* defined(HAVE_GETLOADAVG) */
 
-static data_source_t dsrc[3] =
-{
-       {"shortterm", DS_TYPE_GAUGE, 0.0, 100.0},
-       {"midterm",   DS_TYPE_GAUGE, 0.0, 100.0},
-       {"longterm",  DS_TYPE_GAUGE, 0.0, 100.0}
-};
-
-static data_set_t ds =
-{
-       "load", 3, dsrc
-};
-
-#if LOAD_HAVE_READ
 static void load_submit (gauge_t snum, gauge_t mnum, gauge_t lnum)
 {
        value_t values[3];
@@ -100,7 +81,7 @@ static int load_read (void)
                char errbuf[1024];
                WARNING ("load: fopen: %s",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
-               return;
+               return (-1);
        }
 
        if (fgets (buffer, 16, loadavg) == NULL)
@@ -109,7 +90,7 @@ static int load_read (void)
                WARNING ("load: fgets: %s",
                                sstrerror (errno, errbuf, sizeof (errbuf)));
                fclose (loadavg);
-               return;
+               return (-1);
        }
 
        if (fclose (loadavg))
@@ -122,7 +103,7 @@ static int load_read (void)
        numfields = strsplit (buffer, fields, 8);
 
        if (numfields < 3)
-               return;
+               return (-1);
 
        snum = atof (fields[0]);
        mnum = atof (fields[1]);
@@ -143,19 +124,16 @@ static int load_read (void)
        lnum = ls->min15;
 
        load_submit (snum, mnum, lnum);
-#endif /* HAVE_LIBSTATGRAB */
+/* #endif HAVE_LIBSTATGRAB */
+
+#else
+# error "No applicable input method."
+#endif
 
        return (0);
 }
-#endif /* LOAD_HAVE_READ */
 
-void module_register (modreg_e load)
+void module_register (void)
 {
-       if (load & MR_DATASETS)
-               plugin_register_data_set (&ds);
-
-#if LOAD_HAVE_READ
-       if (load & MR_READ)
-               plugin_register_read ("load", load_read);
-#endif
+       plugin_register_read ("load", load_read);
 } /* void module_register */