diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-03-29 04:49:24 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-03-29 04:49:24 +0000 |
commit | de060dd25bf45b1ca8cb18b26bd9c59d144686c7 (patch) | |
tree | 4c7e9cead02cc96ac8467cf7fcce545de722fe75 /include/asterisk/endian.h | |
parent | f2529d4563eea317dcbb7bdbefcfd198da83936f (diff) |
Simplify endianness and fix for unaligned reads (bug #3867)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5295 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'include/asterisk/endian.h')
-rwxr-xr-x | include/asterisk/endian.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/include/asterisk/endian.h b/include/asterisk/endian.h new file mode 100755 index 000000000..66f796250 --- /dev/null +++ b/include/asterisk/endian.h @@ -0,0 +1,50 @@ +/* + * Asterisk -- A telephony toolkit for Linux. + * + * Asterisk internal frame definitions. + * + * Copyright (C) 1999 - 2005, Digium, Inc. + * + * Mark Spencer <markster@digium.com> + * + * This program is free software, distributed under the terms of + * the GNU Lesser General Public License. Other components of + * Asterisk are distributed under The GNU General Public License + * only. + */ + +#ifndef _ASTERISK_ENDIAN_H +#define _ASTERISK_ENDIAN_H + +/* + * 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> +#endif + +#ifndef BYTE_ORDER +#define BYTE_ORDER __BYTE_ORDER +#endif + +#ifndef __BYTE_ORDER +#error Endianess needs to be defined +#endif +#endif /* _ASTERISK_ENDIAN_H */ + |