aboutsummaryrefslogtreecommitdiffstats
path: root/src/rlc.h
diff options
context:
space:
mode:
authorPau Espin Pedrol <pespin@sysmocom.de>2021-01-14 16:48:38 +0100
committerPau Espin Pedrol <pespin@sysmocom.de>2021-01-19 16:28:10 +0100
commit2182e627cda3ada77a203f9549260046278caf0e (patch)
treef2f60225f1d1a037354dd6f946229bc7268433f0 /src/rlc.h
parent793583ea2173c94b2dc779ab565fcf629a1d52b3 (diff)
Unify BTS into a C usable structure
Previous work on BTS class started to get stuff out of the C++ struct into a C struct (BTS -> struct gprs_glcmac_bts) so that some parts of it were accessible from C code. Doing so, however, ended up being messy too, since all code needs to be switching from one object to another, which actually refer to the same logical component. Let's instead rejoin the structures and make sure the struct is accessible and usable from both C and C++ code by rewriting all methods to be C compatible and converting 3 allocated suboject as pointers. This way BTS can internally still use those C++ objects while providing a clean APi to both C and C++ code. Change-Id: I7d12c896c5ded659ca9d3bff4cf3a3fc857db9dd
Diffstat (limited to 'src/rlc.h')
-rw-r--r--src/rlc.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/rlc.h b/src/rlc.h
index 707f3052..eb794309 100644
--- a/src/rlc.h
+++ b/src/rlc.h
@@ -38,7 +38,7 @@ extern "C" {
#define RLC_MAX_WS RLC_EGPRS_MAX_WS
#define RLC_MAX_LEN 74 /* MCS-9 data unit */
-struct BTS;
+struct gprs_rlcmac_bts;
/* The state of a BSN in the send/receive window */
enum gprs_rlc_ul_bsn_state {
@@ -307,9 +307,9 @@ struct gprs_rlc_dl_window: public gprs_rlc_window {
/* Methods to manage reception */
int resend_needed() const;
int mark_for_resend();
- void update(BTS *bts, char *show_rbb, uint16_t ssn,
+ void update(struct gprs_rlcmac_bts *bts, char *show_rbb, uint16_t ssn,
uint16_t *lost, uint16_t *received);
- void update(BTS *bts, const struct bitvec *rbb,
+ void update(struct gprs_rlcmac_bts *bts, const struct bitvec *rbb,
uint16_t first_bsn, uint16_t *lost,
uint16_t *received);
int move_window();