diff options
author | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2012-06-29 22:53:15 +0400 |
---|---|---|
committer | Ivan Kluchnikov <kluchnikovi@gmail.com> | 2012-06-29 22:53:15 +0400 |
commit | c7e7f6868b6f24346424dee904f4e76d3f216ff4 (patch) | |
tree | 9c6d6fc6dea16ae7e72154d34a7bbc7ed7a53ea8 /src/pcu_l1_if.cpp | |
parent | bbbd79d6f1abd4e7f865f72c15878e0f32f252c3 (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.cpp | 11 |
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); |