summaryrefslogtreecommitdiffstats
path: root/include/osmocom/gsm/protocol/gsm_08_58.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/osmocom/gsm/protocol/gsm_08_58.h')
-rw-r--r--include/osmocom/gsm/protocol/gsm_08_58.h53
1 files changed, 53 insertions, 0 deletions
diff --git a/include/osmocom/gsm/protocol/gsm_08_58.h b/include/osmocom/gsm/protocol/gsm_08_58.h
index 363f33d7..3ea4e638 100644
--- a/include/osmocom/gsm/protocol/gsm_08_58.h
+++ b/include/osmocom/gsm/protocol/gsm_08_58.h
@@ -594,10 +594,15 @@ struct rsl_ie_chan_ident {
/*! RSL Cell Broadcast Command (Chapter 9.3.45) */
struct rsl_ie_cb_cmd_type {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t last_block:2;
uint8_t spare:1;
uint8_t def_bcast:1;
uint8_t command:4;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t command:4, def_bcast:1, spare:1, last_block:2;
+#endif
} __attribute__ ((packed));
/* ->command */
#define RSL_CB_CMD_TYPE_NORMAL 0x00
@@ -732,14 +737,21 @@ enum rsl_ipac_embedded_ie {
};
struct ipac_preproc_ave_cfg {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t h_reqave:5,
param_id:2,
reserved:1;
uint8_t h_reqt:5,
ave_method:3;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved:1, param_id:2, h_reqave:5;
+ uint8_t ave_method:3, h_reqt:5;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_ho_thresh {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t l_rxlev_ul_h:6,
reserved_l_rxlev_ul:2;
uint8_t l_rxlev_dl_h:6,
@@ -754,9 +766,19 @@ struct ipac_preproc_ho_thresh {
reserved_rxqual_dl:1;
uint8_t ms_range_max:6,
reserved_ms_range:2;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved_l_rxlev_ul:2, l_rxlev_ul_h:6;
+ uint8_t reserved_l_rxlev_dl:2, l_rxlev_dl_h:6;
+ uint8_t reserved_rxlev_ul:2, rxlev_ul_ih:6;
+ uint8_t reserved_rxlev_dl:2, rxlev_dl_ih:6;
+ uint8_t reserved_rxqual_dl:1, l_rxqual_dl_h:3, reserved_rxlqual_ul:1, l_rxqual_ul_h:3;
+ uint8_t reserved_ms_range:2, ms_range_max:6;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_ho_comp {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t p5:5,
reserved_p5:3;
uint8_t n5:5,
@@ -777,30 +799,61 @@ struct ipac_preproc_ho_comp {
reserved_ho:3;
uint8_t reserved;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved_p5:3, p5:5;
+ uint8_t reserved_n5:3, n5:5;
+ uint8_t reserved_p6:3, p6:5;
+ uint8_t reserved_n6:3, n6:5;
+ uint8_t reserved_p7:3, p7:5;
+ uint8_t reserved_n7:3, n7:5;
+ uint8_t reserved_p8:3, p8:5;
+ uint8_t reserved_n8:3, n8:5;
+ uint8_t reserved_ho:3, ho_interval:5;
+ uint8_t reserved;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_ho_candidates {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t bsic:6,
reserved0:2;
uint8_t bcch_freq:5,
ba_used:1,
s:1,
reserved1:1;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved0:2, bsic:6;
+ uint8_t reserved1:1, s:1, ba_used:1, bcch_freq:5;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_ncell_dflts {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t rxlev_min_def:6,
reserved_rxlev_min_def:2;
uint8_t ho_margin_def:5,
reserved_ho_margin_def:3;
uint8_t ms_txpwr_max_def:5,
reserved_ms_txpwr_max_def:3;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved_rxlev_min_def:2, rxlev_min_def:6;
+ uint8_t reserved_ho_margin_def:3, ho_margin_def:5;
+ uint8_t reserved_ms_txpwr_max_def:3, ms_txpwr_max_def:5;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_ho_ctl_param {
+#if OSMO_IS_LITTLE_ENDIAN
uint8_t sdcch_ho_gsm:1,
sdcch_ho_umts:1,
reserved:6;
+#elif OSMO_IS_BIG_ENDIAN
+/* auto-generated from the little endian part above (libosmocore/contrib/struct_endianess.py) */
+ uint8_t reserved:6, sdcch_ho_umts:1, sdcch_ho_gsm:1;
+#endif
}__attribute__ ((packed));
struct ipac_preproc_cfg {