X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Fcollectd.h;h=a262bf1d1fc99621e07b9aea7619351bc736d809;hb=92445ff3363441d0f515de4a3ab92a504cfc0366;hp=55aac160587a889e488554ac1009660047d3382b;hpb=bab707fe46b2ef69f391864f3bb08b4dca19634e;p=collectd.git diff --git a/src/collectd.h b/src/collectd.h index 55aac160..a262bf1d 100644 --- a/src/collectd.h +++ b/src/collectd.h @@ -56,6 +56,9 @@ #if HAVE_STDINT_H # include #endif +#if HAVE_STDBOOL_H +# include +#endif #if HAVE_UNISTD_H # include #endif @@ -122,8 +125,13 @@ # 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 @@ -140,6 +148,26 @@ # define BIG_ENDIAN __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 +# 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 @@ -175,9 +203,6 @@ # include #endif -#if HAVE_PTH_H -# include -#endif #if HAVE_SENSORS_SENSORS_H # include #endif @@ -220,6 +245,27 @@ #define STATIC_ARRAY_LEN(array) (sizeof (array) / sizeof ((array)[0])) +/* Remove GNU specific __attribute__ settings when using another compiler */ +#if !__GNUC__ +# define __attribute__(x) /**/ +#endif + +#if __GNUC__ +# pragma GCC poison strcpy strcat strtok +#endif + +/* + * 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 __GNUC__ +# pragma GCC poison sprintf +# endif +#endif + extern char hostname_g[]; extern int interval_g;