diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-04-03 21:25:08 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-04-03 21:25:08 +0000 |
commit | 192f0d9f27c84d43aee2fe82fce7aefb5ec8ed55 (patch) | |
tree | 658b310c04dff4836464d460a9f62289504d9570 /include | |
parent | 28efcb2a0c090b3880bcc11e97390f534f57d5f8 (diff) |
remaining endian.h fixes for FreeBSD (bug #3867)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5368 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include')
-rwxr-xr-x | include/asterisk/endian.h | 54 |
1 files changed, 32 insertions, 22 deletions
diff --git a/include/asterisk/endian.h b/include/asterisk/endian.h index 66f796250..35d20f641 100755 --- a/include/asterisk/endian.h +++ b/include/asterisk/endian.h @@ -20,31 +20,41 @@ * Autodetect system endianess */ -#if defined( __OpenBSD__ ) -# include <machine/types.h> -# include <sys/endian.h> -#elif defined( __FreeBSD__ ) || defined( __NetBSD__ ) -# include <sys/types.h> -# include <sys/endian.h> -#elif defined( BSD ) && ( BSD >= 199103 ) || defined(__APPLE__) -# include <machine/endian.h> -#elif defined ( SOLARIS ) -# include <solaris-compat/compat.h> -#elif defined( __GNUC__ ) || defined( __GNU_LIBRARY__ ) -# include <endian.h> -#if !defined(__APPLE__) -# include <byteswap.h> -#endif -#elif defined( linux ) -# include <endian.h> +#ifdef SOLARIS +#include "solaris-compat/compat.h" #endif -#ifndef BYTE_ORDER -#define BYTE_ORDER __BYTE_ORDER -#endif +#ifndef __BYTE_ORDER +#ifdef __linux__ +#include <endian.h> +#elif defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__APPLE__) +#if defined(__OpenBSD__) +#include <machine/types.h> +#endif /* __OpenBSD__ */ +#include <machine/endian.h> +#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 */ |