2 * collectd - src/collectd.h
3 * Copyright (C) 2005,2006 Florian octo Forster
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of the GNU General Public License as published by the
7 * Free Software Foundation; only version 2 of the License is applicable.
9 * This program is distributed in the hope that it will be useful, but
10 * WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * General Public License for more details.
14 * You should have received a copy of the GNU General Public License along
15 * with this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19 * Florian octo Forster <octo at verplant.org>
31 # include <sys/types.h>
34 # include <sys/stat.h>
45 # if !STDC_HEADERS && HAVE_MEMORY_H
54 # include <inttypes.h>
63 # include <sys/wait.h>
66 # define WEXITSTATUS(stat_val) ((unsigned int) (stat_val) >> 8)
69 # define WIFEXITED(stat_val) (((stat_val) & 255) == 0)
83 #if TIME_WITH_SYS_TIME
84 # include <sys/time.h>
88 # include <sys/time.h>
97 # define assert(...) /* nop */
100 #if NAN_STATIC_DEFAULT
102 /* #endif NAN_STATIC_DEFAULT*/
103 #elif NAN_STATIC_ISOC
104 # ifndef __USE_ISOC99
105 # define DISABLE_ISOC99 1
106 # define __USE_ISOC99 1
107 # endif /* !defined(__USE_ISOC99) */
110 # undef DISABLE_ISOC99
112 # endif /* DISABLE_ISOC99 */
113 /* #endif NAN_STATIC_ISOC */
119 # define NAN (0.0 / 0.0)
121 # define isnan(f) ((f) != (f))
122 # endif /* !defined(isnan) */
123 #endif /* NAN_ZERO_ZERO */
130 # if defined(_BYTE_ORDER)
131 # define BYTE_ORDER _BYTE_ORDER
132 # elif defined(__BYTE_ORDER)
133 # define BYTE_ORDER __BYTE_ORDER
137 # if defined(_BIG_ENDIAN)
138 # define BIG_ENDIAN _BIG_ENDIAN
139 # elif defined(__BIG_ENDIAN)
140 # define BIG_ENDIAN __BIG_ENDIAN
143 #if !defined(BYTE_ORDER) || !defined(BIG_ENDIAN)
144 # error "Cannot determine byte order"
149 # define NAMLEN(dirent) strlen((dirent)->d_name)
151 # define dirent direct
152 # define NAMLEN(dirent) (dirent)->d_namlen
154 # include <sys/ndir.h>
157 # include <sys/dir.h>
171 # include <sys/param.h>
181 #if HAVE_SENSORS_SENSORS_H
182 # include <sensors/sensors.h>
186 #define PACKAGE_NAME "collectd"
190 #define PREFIX "/opt/" PACKAGE_NAME
194 #define SYSCONFDIR PREFIX "/etc"
198 #define CONFIGFILE SYSCONFDIR"/collectd.conf"
201 #ifndef LOCALSTATEDIR
202 #define LOCALSTATEDIR PREFIX "/var"
205 #ifndef PKGLOCALSTATEDIR
206 #define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME
210 #define PIDFILE PREFIX "/var/run/" PACKAGE_NAME ".pid"
214 #define PLUGINDIR PREFIX "/lib/" PACKAGE_NAME
217 #ifndef COLLECTD_GRP_NAME
218 # define COLLECTD_GRP_NAME "collectd"
221 #define STATIC_ARRAY_LEN(array) (sizeof (array) / sizeof ((array)[0]))
223 /* Remove GNU specific __attribute__ settings when using another compiler */
225 # define __attribute__(x) /**/
228 extern char hostname_g[];
229 extern int interval_g;
231 #endif /* COLLECTD_H */