aboutsummaryrefslogtreecommitdiffstats
path: root/src/pcu_l1_if.cpp
diff options
context:
space:
mode:
authorIvan Kluchnikov <kluchnikovi@gmail.com>2012-06-29 22:53:15 +0400
committerIvan Kluchnikov <kluchnikovi@gmail.com>2012-06-29 22:53:15 +0400
commitc7e7f6868b6f24346424dee904f4e76d3f216ff4 (patch)
tree9c6d6fc6dea16ae7e72154d34a7bbc7ed7a53ea8 /src/pcu_l1_if.cpp
parentbbbd79d6f1abd4e7f865f72c15878e0f32f252c3 (diff)
Implemented Paging procedure on CCCH.
Added functions: - gprs_bssgp_pcu_rx_paging_ps() for handling paging message from BSSGP; - write_paging_request() for writing paging request message; - gprs_rlcmac_paging_request() and pcu_l1if_tx_pch() for sending paging request message to BTS.
Diffstat (limited to 'src/pcu_l1_if.cpp')
-rw-r--r--src/pcu_l1_if.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/pcu_l1_if.cpp b/src/pcu_l1_if.cpp
index 4836e940..4186e292 100644
--- a/src/pcu_l1_if.cpp
+++ b/src/pcu_l1_if.cpp
@@ -125,6 +125,17 @@ void pcu_l1if_tx_agch(bitvec * block, int len)
osmo_wqueue_enqueue(&l1fh->udp_wq, msg);
}
+void pcu_l1if_tx_pch(bitvec * block, int len)
+{
+ struct msgb *msg = l1p_msgb_alloc();
+ GsmL1_Prim_t *prim = msgb_l1prim(msg);
+ prim->id = GsmL1_PrimId_PhDataReq;
+ prim->u.phDataReq.sapi = GsmL1_Sapi_Pch;
+ bitvec_pack(block, prim->u.phDataReq.msgUnitParam.u8Buffer);
+ prim->u.phDataReq.msgUnitParam.u8Size = len;
+ osmo_wqueue_enqueue(&l1fh->udp_wq, msg);
+}
+
int pcu_l1if_rx_pdch(GsmL1_PhDataInd_t *data_ind)
{
bitvec *block = bitvec_alloc(data_ind->msgUnitParam.u8Size);