libosmocore
0.9.6.256-2956
Osmocom core library
Main Page
Modules
Data Structures
Files
File List
Globals
All
Data Structures
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Modules
Pages
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
#elif defined(__linux__)
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
#else
49
/* let's try to rely on the compiler. GCC and CLANG/LLVM seem
50
* to support this ... */
51
#if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
52
#define OSMO_IS_LITTLE_ENDIAN 1
53
#define OSMO_IS_BIG_ENDIAN 0
54
#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
55
#define OSMO_IS_LITTLE_ENDIAN 0
56
#define OSMO_IS_BIG_ENDIAN 1
57
#else
58
#error "Unknown endian"
59
#endif
60
#endif
61
include
osmocom
core
endian.h
Generated on Mon Jun 12 2017 03:02:01 for libosmocore by
1.8.8