Go to the documentation of this file.
16 #if defined(__FreeBSD__)
17 #include <sys/endian.h>
18 #if BYTE_ORDER == LITTLE_ENDIAN
19 #define OSMO_IS_LITTLE_ENDIAN 1
20 #define OSMO_IS_BIG_ENDIAN 0
21 #elif BYTE_ORDER == BIG_ENDIAN
22 #define OSMO_IS_LITTLE_ENDIAN 0
23 #define OSMO_IS_BIG_ENDIAN 1
25 #error "Unknown endian"
27 #elif defined(__APPLE__)
28 #include <machine/endian.h>
29 #if defined(__DARWIN_LITTLE_ENDIAN)
30 #define OSMO_IS_LITTLE_ENDIAN 1
31 #define OSMO_IS_BIG_ENDIAN 0
32 #elif defined(__DARWIN_BIG_ENDIAN)
33 #define OSMO_IS_LITTLE_ENDIAN 0
34 #define OSMO_IS_BIG_ENDIAN 1
36 #error "Unknown endian"
38 #elif defined(__linux__)
40 #if __BYTE_ORDER == __LITTLE_ENDIAN
41 #define OSMO_IS_LITTLE_ENDIAN 1
42 #define OSMO_IS_BIG_ENDIAN 0
43 #elif __BYTE_ORDER == __BIG_ENDIAN
44 #define OSMO_IS_LITTLE_ENDIAN 0
45 #define OSMO_IS_BIG_ENDIAN 1
47 #error "Unknown endian"
52 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
53 #define OSMO_IS_LITTLE_ENDIAN 1
54 #define OSMO_IS_BIG_ENDIAN 0
55 #elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
56 #define OSMO_IS_LITTLE_ENDIAN 0
57 #define OSMO_IS_BIG_ENDIAN 1
59 #error "Unknown endian"