libosmocore  0.9.6-9.20170220git32ee5af8.fc30
Osmocom core library
endian.h
1 #pragma once
2 
15 #if defined(__FreeBSD__)
16 #include <sys/endian.h>
17  #if BYTE_ORDER == LITTLE_ENDIAN
18  #define OSMO_IS_LITTLE_ENDIAN 1
19  #define OSMO_IS_BIG_ENDIAN 0
20  #elif BYTE_ORDER == BIG_ENDIAN
21  #define OSMO_IS_LITTLE_ENDIAN 0
22  #define OSMO_IS_BIG_ENDIAN 1
23  #else
24  #error "Unknown endian"
25  #endif
26 #elif defined(__APPLE__)
27 #include <machine/endian.h>
28  #if defined(__DARWIN_LITTLE_ENDIAN)
29  #define OSMO_IS_LITTLE_ENDIAN 1
30  #define OSMO_IS_BIG_ENDIAN 0
31  #elif defined(__DARWIN_BIG_ENDIAN)
32  #define OSMO_IS_LITTLE_ENDIAN 0
33  #define OSMO_IS_BIG_ENDIAN 1
34  #else
35  #error "Unknown endian"
36  #endif
37 #else
38 #include <endian.h>
39  #if __BYTE_ORDER == __LITTLE_ENDIAN
40  #define OSMO_IS_LITTLE_ENDIAN 1
41  #define OSMO_IS_BIG_ENDIAN 0
42  #elif __BYTE_ORDER == __BIG_ENDIAN
43  #define OSMO_IS_LITTLE_ENDIAN 0
44  #define OSMO_IS_BIG_ENDIAN 1
45  #else
46  #error "Unknown endian"
47  #endif
48 #endif
49