diff --git a/channels/chan_oss.c b/channels/chan_oss.c index 316529c947851fad7fb30a62103935566ffbdeab..480408eb75e1824b518927ed0b09a96ad6d63048 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__)