aboutsummaryrefslogtreecommitdiffstats
path: root/channels
diff options
context:
space:
mode:
authormarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-24 22:01:56 +0000
committermarkster <markster@f38db490-d61c-443f-a65b-d21fe96a405b>2005-03-24 22:01:56 +0000
commitb9739e2d58814dfc43557227a16d18154d760056 (patch)
tree16775f99f6a68325c7ef6480fa4537d1ece9f000 /channels
parent015005d2278d2477d26d476751c2960471cdf76a (diff)
Fix OSS endian issues in OSS (bug #3846)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5255 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rwxr-xr-xchannels/chan_oss.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 316529c94..480408eb7 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -34,7 +34,24 @@
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
-#include <endian.h>
+
+#if defined( __OpenBSD__ )
+# include <sys/endian.h>
+#elif defined( __FreeBSD__ ) || defined( __NetBSD__ )
+# 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
+
#ifdef __linux
#include <linux/soundcard.h>
#elif defined(__FreeBSD__)