pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-pcu/+/29900 )
Change subject: use new {dl,ul}_tbf_as_tbf(_const) helper functions ......................................................................
use new {dl,ul}_tbf_as_tbf(_const) helper functions
Change-Id: I223d9d5823c90ff31089420d35a7bf0fe1ebf870 --- M src/bts.cpp M src/gprs_ms.c M src/pdch_ul_controller.c M src/tbf_ul_ass_fsm.c 4 files changed, 27 insertions(+), 27 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-pcu refs/changes/00/29900/1
diff --git a/src/bts.cpp b/src/bts.cpp index ae63a12..2389987 100644 --- a/src/bts.cpp +++ b/src/bts.cpp @@ -461,7 +461,7 @@ ms = llist_entry(tmp, typeof(*ms), list); struct gprs_rlcmac_tbf *tbfs[] = { ms->ul_tbf, ms->dl_tbf }; for (l = 0; l < ARRAY_SIZE(tbfs); l++) { - tbf = (struct gprs_rlcmac_tbf *)tbfs[l]; + tbf = tbfs[l]; if (!tbf) continue; first_ts = -1; diff --git a/src/gprs_ms.c b/src/gprs_ms.c index 0ccedb3..f4da3a5 100644 --- a/src/gprs_ms.c +++ b/src/gprs_ms.c @@ -93,7 +93,7 @@
if (!dl_tbf) return; - if (tbf_state((const struct gprs_rlcmac_tbf *)dl_tbf) != TBF_ST_FLOW) + if (tbf_state(dl_tbf_as_tbf_const(dl_tbf)) != TBF_ST_FLOW) return;
LOGPTBFDL(dl_tbf, LOGL_DEBUG, "LLC receive timeout, requesting DL ACK\n"); @@ -162,12 +162,12 @@ osmo_timer_del(&ms->timer);
if (ms->ul_tbf) { - tbf_set_ms((struct gprs_rlcmac_tbf *)ms->ul_tbf, NULL); + tbf_set_ms(ul_tbf_as_tbf(ms->ul_tbf), NULL); ms->ul_tbf = NULL; }
if (ms->dl_tbf) { - tbf_set_ms((struct gprs_rlcmac_tbf *)ms->dl_tbf, NULL); + tbf_set_ms(dl_tbf_as_tbf(ms->dl_tbf), NULL); ms->dl_tbf = NULL; }
@@ -311,7 +311,7 @@ ms_ref(ms);
if (ms->ul_tbf) - llist_add_tail(tbf_ms_list((struct gprs_rlcmac_tbf *)ms->ul_tbf), &ms->old_tbfs); + llist_add_tail(tbf_ms_list(ul_tbf_as_tbf(ms->ul_tbf)), &ms->old_tbfs);
ms->ul_tbf = tbf;
@@ -331,7 +331,7 @@ ms_ref(ms);
if (ms->dl_tbf) - llist_add_tail(tbf_ms_list((struct gprs_rlcmac_tbf *)ms->dl_tbf), &ms->old_tbfs); + llist_add_tail(tbf_ms_list(dl_tbf_as_tbf(ms->dl_tbf)), &ms->old_tbfs);
ms->dl_tbf = tbf;
@@ -845,7 +845,7 @@
/* If the DL TBF is active, add number of unencoded chunk octets */ if (ms->dl_tbf) - unencoded_octets += llc_chunk_size(tbf_llc((struct gprs_rlcmac_tbf *)ms->dl_tbf)); + unencoded_octets += llc_chunk_size(tbf_llc(dl_tbf_as_tbf(ms->dl_tbf)));
/* There are many unencoded octets, don't reduce */ if (unencoded_octets >= the_pcu->vty.cs_downgrade_threshold) @@ -868,10 +868,10 @@ int ms_first_common_ts(const struct GprsMs *ms) { if (ms->dl_tbf) - return tbf_first_common_ts((struct gprs_rlcmac_tbf *)ms->dl_tbf); + return tbf_first_common_ts(dl_tbf_as_tbf(ms->dl_tbf));
if (ms->ul_tbf) - return tbf_first_common_ts((struct gprs_rlcmac_tbf *)ms->ul_tbf); + return tbf_first_common_ts(ul_tbf_as_tbf(ms->ul_tbf));
return -1; } @@ -881,10 +881,10 @@ uint8_t slots = 0;
if (ms->dl_tbf) - slots |= tbf_dl_slots((struct gprs_rlcmac_tbf *)ms->dl_tbf); + slots |= tbf_dl_slots(dl_tbf_as_tbf(ms->dl_tbf));
if (ms->ul_tbf) - slots |= tbf_dl_slots((struct gprs_rlcmac_tbf *)ms->ul_tbf); + slots |= tbf_dl_slots(ul_tbf_as_tbf(ms->ul_tbf));
return slots; } @@ -894,10 +894,10 @@ uint8_t slots = 0;
if (ms->dl_tbf) - slots |= tbf_ul_slots((struct gprs_rlcmac_tbf *)ms->dl_tbf); + slots |= tbf_ul_slots(dl_tbf_as_tbf(ms->dl_tbf));
if (ms->ul_tbf) - slots |= tbf_ul_slots((struct gprs_rlcmac_tbf *)ms->ul_tbf); + slots |= tbf_ul_slots(ul_tbf_as_tbf(ms->ul_tbf));
return slots; } @@ -906,20 +906,20 @@ { uint8_t slots = 0;
- bool is_dl_active = ms->dl_tbf && tbf_is_tfi_assigned((struct gprs_rlcmac_tbf *)ms->dl_tbf); - bool is_ul_active = ms->ul_tbf && tbf_is_tfi_assigned((struct gprs_rlcmac_tbf *)ms->ul_tbf); + bool is_dl_active = ms->dl_tbf && tbf_is_tfi_assigned(dl_tbf_as_tbf(ms->dl_tbf)); + bool is_ul_active = ms->ul_tbf && tbf_is_tfi_assigned(ul_tbf_as_tbf(ms->ul_tbf));
if (!is_dl_active && !is_ul_active) return 0;
/* see TS 44.060, 8.1.1.2.2 */ if (is_dl_active && !is_ul_active) - slots = tbf_dl_slots((struct gprs_rlcmac_tbf *)ms->dl_tbf); + slots = tbf_dl_slots(dl_tbf_as_tbf(ms->dl_tbf)); else if (!is_dl_active && is_ul_active) - slots = tbf_ul_slots((struct gprs_rlcmac_tbf *)ms->ul_tbf); + slots = tbf_ul_slots(ul_tbf_as_tbf(ms->ul_tbf)); else - slots = tbf_ul_slots((struct gprs_rlcmac_tbf *)ms->ul_tbf) & - tbf_dl_slots((struct gprs_rlcmac_tbf *)ms->dl_tbf); + slots = tbf_ul_slots(ul_tbf_as_tbf(ms->ul_tbf)) & + tbf_dl_slots(dl_tbf_as_tbf(ms->dl_tbf));
/* Assume a multislot class 1 device */ /* TODO: For class 2 devices, this could be removed */ @@ -953,8 +953,8 @@ struct gprs_rlcmac_tbf *ms_tbf(const struct GprsMs *ms, enum gprs_rlcmac_tbf_direction dir) { switch (dir) { - case GPRS_RLCMAC_DL_TBF: return (struct gprs_rlcmac_tbf *)ms->dl_tbf; - case GPRS_RLCMAC_UL_TBF: return (struct gprs_rlcmac_tbf *)ms->ul_tbf; + case GPRS_RLCMAC_DL_TBF: return dl_tbf_as_tbf(ms->dl_tbf); + case GPRS_RLCMAC_UL_TBF: return ul_tbf_as_tbf(ms->ul_tbf); }
return NULL; @@ -1041,9 +1041,9 @@ ms_start_llc_timer(ms);
dl_tbf = ms_dl_tbf(ms); - if (dl_tbf && tbf_state((const struct gprs_rlcmac_tbf *)dl_tbf) == TBF_ST_WAIT_RELEASE) { + if (dl_tbf && tbf_state(dl_tbf_as_tbf_const(dl_tbf)) == TBF_ST_WAIT_RELEASE) { LOGPTBFDL(dl_tbf, LOGL_DEBUG, "in WAIT RELEASE state (T3193), so reuse TBF\n"); - tbf_establish_dl_tbf_on_pacch((struct gprs_rlcmac_tbf *)dl_tbf); + tbf_establish_dl_tbf_on_pacch(dl_tbf_as_tbf(dl_tbf)); }
return 0; diff --git a/src/pdch_ul_controller.c b/src/pdch_ul_controller.c index 1cdbb98..df0c500 100644 --- a/src/pdch_ul_controller.c +++ b/src/pdch_ul_controller.c @@ -275,7 +275,7 @@ item_tbf = item->tbf_poll.poll_tbf; break; case PDCH_ULC_NODE_TBF_USF: - item_tbf = (struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf; + item_tbf = ul_tbf_as_tbf_const(item->tbf_usf.ul_tbf); break; default: OSMO_ASSERT(0); @@ -316,7 +316,7 @@ case PDCH_ULC_NODE_TBF_USF: LOGPDCH(ulc->pdch, DRLCMAC, LOGL_INFO, "Timeout for registered USF (FN=%u): %s\n", - item->fn, tbf_name((struct gprs_rlcmac_tbf *)item->tbf_usf.ul_tbf)); + item->fn, tbf_name(ul_tbf_as_tbf_const(item->tbf_usf.ul_tbf))); tbf_usf_timeout(item->tbf_usf.ul_tbf); break; case PDCH_ULC_NODE_TBF_POLL: diff --git a/src/tbf_ul_ass_fsm.c b/src/tbf_ul_ass_fsm.c index ee5f681..932a91f 100644 --- a/src/tbf_ul_ass_fsm.c +++ b/src/tbf_ul_ass_fsm.c @@ -106,9 +106,9 @@ }; bitvec_unhex(&bv, DUMMY_VEC);
- if (ctx->tbf != (struct gprs_rlcmac_tbf *)new_tbf) + if (ctx->tbf != ul_tbf_as_tbf_const(new_tbf)) LOGPTBF(ctx->tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH) for %s\n", - tbf_name((const struct gprs_rlcmac_tbf *)new_tbf)); + tbf_name(ul_tbf_as_tbf_const(new_tbf))); else LOGPTBF(ctx->tbf, LOGL_INFO, "start Packet Uplink Assignment (PACCH)\n");