aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/bts.cpp6
-rw-r--r--src/bts.h3
-rw-r--r--src/pcu_l1_if.cpp8
3 files changed, 14 insertions, 3 deletions
diff --git a/src/bts.cpp b/src/bts.cpp
index b2ec50fc..83c50297 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -339,3 +339,9 @@ void gprs_rlcmac_pdch::add_paging(struct gprs_rlcmac_paging *pag)
{
llist_add(&pag->list, &paging_list);
}
+
+int gprs_rlcmac_pdch::rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi)
+{
+ return gprs_rlcmac_rcv_block(trx->bts->bts_data(),
+ trx->trx_no, ts_no, data, len, fn, rssi);
+}
diff --git a/src/bts.h b/src/bts.h
index a8b62237..4b9ede4e 100644
--- a/src/bts.h
+++ b/src/bts.h
@@ -53,6 +53,9 @@ struct gprs_rlcmac_pdch {
void enable();
void disable();
+
+ /* dispatching of messages */
+ int rcv_block(uint8_t *data, uint8_t len, uint32_t fn, int8_t rssi);
#endif
uint8_t m_is_enabled; /* TS is enabled */
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 53303d9a..1dac5dd3 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -180,11 +180,13 @@ void pcu_l1if_tx_pch(bitvec * block, int plen, const char *imsi)
pcu_tx_data_req(0, 0, PCU_IF_SAPI_PCH, 0, 0, 0, data, 23+3);
}
-extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx, uint8_t ts, uint8_t *data,
+extern "C" int pcu_rx_data_ind_pdtch(uint8_t trx_no, uint8_t ts_no, uint8_t *data,
uint8_t len, uint32_t fn, int8_t rssi)
{
- return gprs_rlcmac_rcv_block(bts_main_data(),
- trx, ts, data, len, fn, rssi);
+ struct gprs_rlcmac_pdch *pdch;
+
+ pdch = &bts_main_data()->trx[trx_no].pdch[ts_no];
+ return pdch->rcv_block(data, len, fn, rssi);
}
static int pcu_rx_data_ind(struct gsm_pcu_if_data *data_ind)