src/{collectd,plugin}.[ch]: Changed license to GPLv2 only.
[collectd.git] / src / collectd.h
index 1614483..2c2a3aa 100644 (file)
@@ -1,3 +1,24 @@
+/**
+ * collectd - src/collectd.h
+ * Copyright (C) 2005,2006  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
+ * Free Software Foundation; only version 2 of the License is applicable.
+ *
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program; if not, write to the Free Software Foundation, Inc.,
+ * 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
+ *
+ * Authors:
+ *   Florian octo Forster <octo at verplant.org>
+ **/
+
 #ifndef COLLECTD_H
 #define COLLECTD_H
 
@@ -13,8 +34,8 @@
 # include <sys/stat.h>
 #endif
 #if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
+# include <stdlib.h>
+# include <stddef.h>
 #else
 # if HAVE_STDLIB_H
 #  include <stdlib.h>
 # endif
 #endif
 
+#if HAVE_ASSERT_H
+# include <assert.h>
+#else
+# define assert(...) /* nop */
+#endif
+
 #if HAVE_DIRENT_H
 # include <dirent.h>
 # define NAMLEN(dirent) strlen((dirent)->d_name)
 #if HAVE_CTYPE_H
 # include <ctype.h>
 #endif
-
-#ifndef HAVE_RRD_H
-#undef HAVE_LIBRRD
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
 #endif
 
-#ifdef HAVE_LIBRRD
-#include <rrd.h>
-#endif /* HAVE_LIBRRD */
+#if HAVE_SYSLOG
+# define syslog(...) syslog(__VA_ARGS__)
+# if HAVE_OPENLOG
+#  define openlog(...) openlog(__VA_ARGS__)
+# else
+#  define openlog(...) /**/
+# endif
+# if HAVE_CLOSELOG
+#  define closelog(...) closelog(__VA_ARGS__)
+# else
+#  define closelog(...) /**/
+# endif
+#else
+# define syslog(...) /**/
+# define openlog(...) /**/
+# define closelog(...) /**/
+#endif
 
-/* Won't work without the header file */
-#ifndef HAVE_KSTAT_H
-#undef HAVE_LIBKSTAT
+#if HAVE_KSTAT_H
+# include <kstat.h>
 #endif
 
-#ifdef HAVE_LIBKSTAT
-#include <kstat.h>
-#include <sys/param.h>
-#endif /* HAVE_LIBKSTAT */
+#if HAVE_RRD_H
+# include <rrd.h>
+#endif
+#if HAVE_PTH_H
+# include <pth.h>
+#endif
+#if HAVE_STATGRAB_H
+# include <statgrab.h>
+#endif
+#if HAVE_SENSORS_SENSORS_H
+# include <sensors/sensors.h>
+#endif
 
-/* Won't work without the header file */
-#ifndef HAVE_STATGRAB_H
-#undef HAVE_LIBSTATGRAB
+#ifndef PACKAGE_NAME
+#define PACKAGE_NAME "collectd"
 #endif
 
-#ifdef HAVE_LIBSTATGRAB
-#include <statgrab.h>
+#ifndef PREFIX
+#define PREFIX "/opt/" PACKAGE_NAME
 #endif
 
-#ifndef LOCALSTATEDIR
-#define LOCALSTATEDIR "/opt/collectd/var"
+#ifndef SYSCONFDIR
+#define SYSCONFDIR PREFIX "/etc"
 #endif
 
-#ifndef DATADIR
-#define DATADIR LOCALSTATEDIR"/lib/collectd"
+#ifndef CONFIGFILE
+#define CONFIGFILE SYSCONFDIR"/collectd.conf"
 #endif
 
-#ifndef PLUGINDIR
-#define PLUGINDIR "/opt/collectd/lib/collectd"
+#ifndef PKGLOCALSTATEDIR
+#define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
 #endif
 
 #ifndef PIDFILE
-#define PIDFILE LOCALSTATEDIR"/run/collectd.pid"
+#define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
+#endif
+
+#ifndef LOGFILE
+#define LOGFILE PREFIX"/var/log/"PACKAGE_NAME"/"PACKAGE_NAME".log"
+#endif
+
+#ifndef PLUGINDIR
+#define PLUGINDIR PREFIX "/lib/" PACKAGE_NAME
 #endif
 
 #define MODE_SERVER 0x01
 #define MODE_CLIENT 0x02
-#define MODE_LOCAL  0x03
+#define MODE_LOCAL  0x04
+#define MODE_LOG    0x08
+
+#ifndef COLLECTD_GRP_NAME
+#      define COLLECTD_GRP_NAME "collectd"
+#endif
+
+#ifndef COLLECTD_STEP
+#  define COLLECTD_STEP "10"
+#endif
+
+#ifndef COLLECTD_HEARTBEAT
+#  define COLLECTD_HEARTBEAT "25"
+#endif
+
+#ifndef COLLECTD_ROWS
+#  define COLLECTD_ROWS "1200"
+#endif
+
+#ifndef COLLECTD_XFF
+#  define COLLECTD_XFF 0.1
+#endif
 
 extern time_t curtime;
+
+#ifdef HAVE_LIBRRD
 extern int operating_mode;
+#endif
+
+/* int main (int argc, char **argv); */
 
 #endif /* COLLECTD_H */