add/clean big-endian packed structs (struct_endianess.py)
Change-Id: I09c56f59631828ad219a5edd7d95cac8df462c84
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 @@
} __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);