blob: 82ecb50205f82ca68a529a98dae5cd9c4bd20140 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
#ifndef __HAD_MY_ENDIAN_H
#define __HAD_MY_ENDIAN_H
#include <sys/param.h>
#if (defined(BSD) && (BSD >= 199306))
/* this should filter out NetBSD, FreeBSD and OpenBSD */
#include <machine/endian.h>
#if BYTE_ORDER == BIG_ENDIAN
#define MSB_FIRST 1
#undef LSB_FIRST
#else
#define LSB_FIRST 1
#undef MSB_FIRST
#endif
#else
/* for Linux, perhaps use #ifdef __linux__? */
#include <sys/types.h>
#if defined(__BYTE_ORDER)
#if __BYTE_ORDER == __BIG_ENDIAN
#define MSB_FIRST 1
#undef LSB_FIRST
#else
#define LSB_FIRST 1
#undef MSB_FIRST
#endif /* __BYTE_ORDER == __BIG_ENDIAN */
#else /* defined(__BYTE_ORDER) */
/* not Linux, either, just set it to LSB */
#define LSB_FIRST 1
#undef MSB_FIRST
#endif /* defined(__BYTE_ORDER) */
#endif /* defined(BSD) && (BSD >= 199306) */
#endif /* __HAD_MY_ENDIAN_H */
|