contrib/exec-nagios.px: Added a Perl script which handles Nagios plugins.
[collectd.git] / src / collectd.h
index 7a3eb8d..9951d8a 100644 (file)
@@ -1,11 +1,10 @@
 /**
  * collectd - src/collectd.h
- * Copyright (C) 2005  Florian octo Forster
+ * 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; either version 2 of the License, or (at your
- * option) any later version.
+ * 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
@@ -24,7 +23,7 @@
 #define COLLECTD_H
 
 #if HAVE_CONFIG_H
-# include <config.h>
+# include "config.h"
 #endif
 
 #include <stdio.h>
@@ -35,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>
@@ -78,9 +77,6 @@
 #if HAVE_ERRNO_H
 # include <errno.h>
 #endif
-#if HAVE_SYSLOG_H
-# include <syslog.h>
-#endif
 #if HAVE_LIMITS_H
 # include <limits.h>
 #endif
 # endif
 #endif
 
+#if HAVE_ASSERT_H
+# include <assert.h>
+#else
+# define assert(...) /* nop */
+#endif
+
+#if NAN_STATIC_DEFAULT
+# include <math.h>
+/* #endif NAN_STATIC_DEFAULT*/
+#elif NAN_STATIC_ISOC
+# ifndef __USE_ISOC99
+#  define DISABLE_ISOC99 1
+#  define __USE_ISOC99 1
+# endif /* !defined(__USE_ISOC99) */
+# include <math.h>
+# if DISABLE_ISOC99
+#  undef DISABLE_ISOC99
+#  undef __USE_ISOC99
+# endif /* DISABLE_ISOC99 */
+/* #endif NAN_STATIC_ISOC */
+#elif NAN_ZERO_ZERO
+# include <math.h>
+# ifdef NAN
+#  undef NAN
+# endif
+# define NAN (0.0 / 0.0)
+# ifndef isnan
+#  define isnan(f) ((f) != (f))
+# endif /* !defined(isnan) */
+#endif /* NAN_ZERO_ZERO */
+
 #if HAVE_DIRENT_H
 # include <dirent.h>
 # define NAMLEN(dirent) strlen((dirent)->d_name)
 #if HAVE_CTYPE_H
 # include <ctype.h>
 #endif
-
-#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(...) /**/
+#if HAVE_SYS_PARAM_H
+# include <sys/param.h>
 #endif
 
-#ifndef HAVE_RRD_H
-#undef HAVE_LIBRRD
+#if HAVE_KSTAT_H
+# include <kstat.h>
 #endif
 
-#ifdef HAVE_LIBRRD
-#include <rrd.h>
-#endif /* HAVE_LIBRRD */
-
-/* Won't work without the header file */
-#ifndef HAVE_KSTAT_H
-#undef HAVE_LIBKSTAT
+#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
 
-#ifdef HAVE_LIBKSTAT
-#include <kstat.h>
-#include <sys/param.h>
-#endif /* HAVE_LIBKSTAT */
-
-/* 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 SYSCONFDIR
-#define SYSCONFDIR "/opt/collectd/etc"
+#define SYSCONFDIR PREFIX "/etc"
 #endif
 
 #ifndef CONFIGFILE
 #define CONFIGFILE SYSCONFDIR"/collectd.conf"
 #endif
 
-#define MODE_SERVER 0x01
-#define MODE_CLIENT 0x02
-#define MODE_LOCAL  0x03
+#ifndef LOCALSTATEDIR
+#define LOCALSTATEDIR PREFIX "/var"
+#endif
+
+#ifndef PKGLOCALSTATEDIR
+#define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
+#endif
+
+#ifndef PIDFILE
+#define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
+#endif
+
+#ifndef PLUGINDIR
+#define PLUGINDIR PREFIX "/lib/" PACKAGE_NAME
+#endif
+
+#ifndef COLLECTD_GRP_NAME
+# define COLLECTD_GRP_NAME "collectd"
+#endif
+
+#define STATIC_ARRAY_LEN(array) (sizeof (array) / sizeof ((array)[0]))
 
-extern time_t curtime;
-extern int operating_mode;
+extern char hostname_g[];
+extern int  interval_g;
 
 #endif /* COLLECTD_H */