X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.h;h=282e632520ce08cb1a755588c251a10f53aa4e24;hb=37905c5a2370c8e6edae5011978773eeaa589d09;hp=7bf2f565a9e2024f1fe4b98187bd3451a22e3f42;hpb=d561a8387f633491bdcd7fe6964f0b63ae694af5;p=collectd.git diff --git a/src/collectd.h b/src/collectd.h index 7bf2f565..3d8998fd 100644 --- a/src/collectd.h +++ b/src/collectd.h @@ -23,7 +23,7 @@ #define COLLECTD_H #if HAVE_CONFIG_H -# include +# include "config.h" #endif #include @@ -56,6 +56,21 @@ #if HAVE_STDINT_H # include #endif +#if HAVE_STDBOOL_H +# include +#else +# ifndef HAVE__BOOL +# ifdef __cplusplus +typedef bool _Bool; +# else +# define _Bool signed char +# endif +# endif +# define bool _Bool +# define false 0 +# define true 1 +# define __bool_true_false_are_defined 1 +#endif #if HAVE_UNISTD_H # include #endif @@ -77,9 +92,6 @@ #if HAVE_ERRNO_H # include #endif -#if HAVE_SYSLOG_H -# include -#endif #if HAVE_LIMITS_H # include #endif @@ -116,12 +128,68 @@ /* #endif NAN_STATIC_ISOC */ #elif NAN_ZERO_ZERO # include +# 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 */ +/* Try really, really hard to determine endianess. Under NexentaStor 1.0.2 this + * information is in , possibly some other Solaris versions do + * this too.. */ +#if HAVE_ENDIAN_H +# include +#elif HAVE_SYS_ISA_DEFS_H +# include +#endif + +#ifndef BYTE_ORDER +# if defined(_BYTE_ORDER) +# define BYTE_ORDER _BYTE_ORDER +# elif defined(__BYTE_ORDER) +# define BYTE_ORDER __BYTE_ORDER +# elif defined(__DARWIN_BYTE_ORDER) +# define BYTE_ORDER __DARWIN_BYTE_ORDER +# endif +#endif +#ifndef BIG_ENDIAN +# if defined(_BIG_ENDIAN) +# define BIG_ENDIAN _BIG_ENDIAN +# elif defined(__BIG_ENDIAN) +# define BIG_ENDIAN __BIG_ENDIAN +# elif defined(__DARWIN_BIG_ENDIAN) +# define BIG_ENDIAN __DARWIN_BIG_ENDIAN +# endif +#endif +#ifndef LITTLE_ENDIAN +# if defined(_LITTLE_ENDIAN) +# define LITTLE_ENDIAN _LITTLE_ENDIAN +# elif defined(__LITTLE_ENDIAN) +# define LITTLE_ENDIAN __LITTLE_ENDIAN +# elif defined(__DARWIN_LITTLE_ENDIAN) +# define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN +# endif +#endif +#ifndef BYTE_ORDER +# if defined(BIG_ENDIAN) && !defined(LITTLE_ENDIAN) +# undef BIG_ENDIAN +# define BIG_ENDIAN 4321 +# define LITTLE_ENDIAN 1234 +# define BYTE_ORDER BIG_ENDIAN +# elif !defined(BIG_ENDIAN) && defined(LITTLE_ENDIAN) +# undef LITTLE_ENDIAN +# define BIG_ENDIAN 4321 +# define LITTLE_ENDIAN 1234 +# define BYTE_ORDER LITTLE_ENDIAN +# endif +#endif +#if !defined(BYTE_ORDER) || !defined(BIG_ENDIAN) +# error "Cannot determine byte order" +#endif + #if HAVE_DIRENT_H # include # define NAMLEN(dirent) strlen((dirent)->d_name) @@ -149,25 +217,10 @@ # include #endif -#if !HAVE_SYSLOG -# define syslog(...) /**/ -# define openlog(...) /**/ -# define closelog(...) /**/ -#endif - #if HAVE_KSTAT_H # include #endif -#if HAVE_RRD_H -# include -#endif -#if HAVE_PTH_H -# include -#endif -#if HAVE_STATGRAB_H -# include -#endif #if HAVE_SENSORS_SENSORS_H # include #endif @@ -188,6 +241,10 @@ #define CONFIGFILE SYSCONFDIR"/collectd.conf" #endif +#ifndef LOCALSTATEDIR +#define LOCALSTATEDIR PREFIX "/var" +#endif + #ifndef PKGLOCALSTATEDIR #define PKGLOCALSTATEDIR PREFIX "/var/lib/" PACKAGE_NAME #endif @@ -196,41 +253,45 @@ #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 0x04 -#define MODE_LOG 0x08 +#ifndef PKGDATADIR +#define PKGDATADIR PREFIX "/share/" PACKAGE_NAME +#endif #ifndef COLLECTD_GRP_NAME # define COLLECTD_GRP_NAME "collectd" #endif -#ifndef COLLECTD_STEP -# define COLLECTD_STEP "10" -#endif +#define STATIC_ARRAY_LEN(array) (sizeof (array) / sizeof ((array)[0])) -#ifndef COLLECTD_HEARTBEAT -# define COLLECTD_HEARTBEAT "25" +/* Remove GNU specific __attribute__ settings when using another compiler */ +#if !__GNUC__ +# define __attribute__(x) /**/ #endif -#ifndef COLLECTD_ROWS -# define COLLECTD_ROWS "1200" +#if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__ +# undef strcpy +# undef strcat +# undef strtok +# pragma GCC poison strcpy strcat strtok #endif -#ifndef COLLECTD_XFF -# define COLLECTD_XFF 0.1 +/* + * Special hack for the perl plugin: Because the later included perl.h defines + * a macro which is never used, but contains `sprintf', we cannot poison that + * identifies just yet. The parl plugin will do that itself once perl.h is + * included. + */ +#ifndef DONT_POISON_SPRINTF_YET +# if defined(COLLECT_DEBUG) && COLLECT_DEBUG && defined(__GNUC__) && __GNUC__ +# undef sprintf +# pragma GCC poison sprintf +# endif #endif -#define STATIC_ARRAY_LEN(array) (sizeof (array) / sizeof ((array)[0])) - extern char hostname_g[]; extern int interval_g;