diff options
author | Neels Hofmeyr <neels@hofmeyr.de> | 2018-11-16 00:16:57 +0100 |
---|---|---|
committer | Neels Hofmeyr <neels@hofmeyr.de> | 2020-01-07 17:49:51 +0100 |
commit | a160e4bfdb12b1a31c77150b00d089b78c46bc8d (patch) | |
tree | dabef4828157d986c43584b3ae1726f6dfd69ffe | |
parent | c313d44272f04b24dad38f4caea17180f9cbc509 (diff) |
add/clean big-endian packed structs (struct_endianess.py)
Change-Id: I09c56f59631828ad219a5edd7d95cac8df462c84
-rw-r--r-- | src/e1_input.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/e1_input.c b/src/e1_input.c index eb973ef..9e2f7b0 100644 --- a/src/e1_input.c +++ b/src/e1_input.c @@ -42,6 +42,7 @@ #include <osmocom/core/rate_ctr.h> #include <osmocom/core/logging.h> #include <osmocom/core/signal.h> +#include <osmocom/core/endian.h> #include <osmocom/abis/e1_input.h> #define NUM_E1_TS 32 @@ -115,12 +116,19 @@ struct fake_linux_lapd_header { } __attribute__((packed)); struct lapd_header { +#if OSMO_IS_LITTLE_ENDIAN uint8_t ea1 : 1; uint8_t cr : 1; uint8_t sapi : 6; uint8_t ea2 : 1; uint8_t tei : 7; uint8_t control_foo; /* fake UM's ... */ +#elif OSMO_IS_BIG_ENDIAN +/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */ + uint8_t sapi:6, cr:1, ea1:1; + uint8_t tei:7, ea2:1; + uint8_t control_foo; +#endif } __attribute__((packed)); osmo_static_assert(offsetof(struct fake_linux_lapd_header, hatype) == 2, hatype_offset); |