X-Git-Url: http://git.asterisk.org/gitweb/?p=asterisk%2Fasterisk.git;a=blobdiff_plain;f=include%2Fasterisk%2Fendian.h;h=35d20f6417cc5848197b346640e5ed7f6c42e30d;hp=66f79625096c83b83f50ae1c66befef97ea100fe;hb=b4f4e23000f3319330e5f83609f3e702577dcb46;hpb=74385266201b9463bfc51bfe1f159c5e6cef8d22 diff --git a/include/asterisk/endian.h b/include/asterisk/endian.h index 66f7962..35d20f6 100755 --- a/include/asterisk/endian.h +++ b/include/asterisk/endian.h @@ -20,31 +20,41 @@ * Autodetect system endianess */ -#if defined( __OpenBSD__ ) -# include -# include -#elif defined( __FreeBSD__ ) || defined( __NetBSD__ ) -# include -# include -#elif defined( BSD ) && ( BSD >= 199103 ) || defined(__APPLE__) -# include -#elif defined ( SOLARIS ) -# include -#elif defined( __GNUC__ ) || defined( __GNU_LIBRARY__ ) -# include -#if !defined(__APPLE__) -# include -#endif -#elif defined( linux ) -# include +#ifdef SOLARIS +#include "solaris-compat/compat.h" #endif -#ifndef BYTE_ORDER -#define BYTE_ORDER __BYTE_ORDER -#endif +#ifndef __BYTE_ORDER +#ifdef __linux__ +#include +#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) +#if defined(__OpenBSD__) +#include +#endif /* __OpenBSD__ */ +#include +#define __BYTE_ORDER BYTE_ORDER +#define __LITTLE_ENDIAN LITTLE_ENDIAN +#define __BIG_ENDIAN BIG_ENDIAN +#else +#ifdef __LITTLE_ENDIAN__ +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif /* __LITTLE_ENDIAN */ + +#if defined(i386) || defined(__i386__) +#define __BYTE_ORDER __LITTLE_ENDIAN +#endif /* defined i386 */ + +#if defined(sun) && defined(unix) && defined(sparc) +#define __BYTE_ORDER __BIG_ENDIAN +#endif /* sun unix sparc */ + +#endif /* linux */ + +#endif /* __BYTE_ORDER */ #ifndef __BYTE_ORDER -#error Endianess needs to be defined -#endif +#error Need to know endianess +#endif /* __BYTE_ORDER */ + #endif /* _ASTERISK_ENDIAN_H */