1 /* header include files (.h) */
2 #include "common_def.h"
5 /* header/extern include files (.x) */
7 #include "mac_sch_interface.h"
10 * @brief function to send Slot ind message from MAC
11 * to scheduler with loose coupling
15 * Function : packMacSchSlotInd
18 * @param[in] Pst *pst, the post structure
19 * @param[in] *slotInd, the value of SFN and slot
23 uint8_t packMacSchSlotInd(Pst *pst, SlotTimingInfo *slotInd)
26 if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
31 /* pack SFN and slot value */
32 CMCHKPK(oduUnpackUInt16,slotInd->sfn, mBuf);
33 CMCHKPK(oduUnpackUInt16,slotInd->slot, mBuf);
35 return ODU_POST_TASK(pst,mBuf);
39 * @brief function to unpack Slot ind message from MAC
40 * to scheduler with loose coupling
44 * Function : unpackMacSchSlotInd
47 * @param[in] Pst *pst, the post structure
48 * @param[in] Buffer *mBuf, the message buffer
52 uint8_t unpackMacSchSlotInd(MacSchSlotIndFunc func, Pst *pst, Buffer *mBuf)
59 /*******************************************************************
61 * @brief Pack and Send Rach Ind from MAC to SCH
65 * Function : packMacSchRachInd
68 * Pack and Send Rach Ind from MAC to SCH
71 * @return ROK - success
74 * ****************************************************************/
75 uint8_t packMacSchRachInd(Pst *pst, RachIndInfo *rachInd)
77 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
88 /*******************************************************************
90 * @brief Pack and Send Crc Ind from MAC to SCH
94 * Function : packMacSchCrcInd
97 * Pack and Send Crc Ind from MAC to SCH
100 * @return ROK - success
103 * ****************************************************************/
104 uint8_t packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd)
106 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
117 /*******************************************************************
119 * @brief Pack and Send DL RLC BO Info from MAC to SCH
123 * Function : packMacSchDlRlcBoInfo
126 * Pack and Send L RLC BO Info from MAC to SCH
129 * @return ROK - success
132 * ****************************************************************/
133 uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo)
135 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
147 * @brief function to pack DL Broadcast allocation message
152 * Function : packSchMaccDlAlloc
155 * @param[in] Pst *pst, the post structure
156 * @param[in] DlSchedInfo *dlSchedInfo
160 uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo *dlSchedInfo)
166 * @brief function to pack UL Sch Info message
171 * Function : packSchMacUlSchInfo
174 * @param[in] Pst *pst, the post structure
175 * @param[in] UlSchedInfo *ulSchedInfo
179 uint8_t packSchMacUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo)
185 * @brief function to pack cell cfg from MAC to SCH
189 * Function : packSchCellCfg
192 * @param[in] Pst *pst, the post structure
193 * @param[in] *schCellCfg, SchCellCfg structure
197 uint8_t packSchCellCfg(Pst *pst, SchCellCfg *schCellCfg)
203 * @brief function to pack cell cfg cfm from SCH to MAC
207 * Function : packSchCellCfgCfm
210 * @param[in] Pst *pst, the post structure
211 * @param[in] *schCellCfgCfm, SchCellCfgCfm structure
215 uint8_t packSchCellCfgCfm(Pst *pst, SchCellCfgCfm *schCellCfgCfm)
220 /*******************************************************************
222 * @brief Pack and Send UE Config Request from MAC to SCH
226 * Function : packMacSchAddUeConfigReq
229 * Pack and Send UE Create Request from MAC to SCH
232 * @return ROK - success
235 * ****************************************************************/
236 uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfg)
238 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
250 /*******************************************************************
252 * @brief Packs and send UE create response
256 * Function : packSchUeCfgRsp
259 * Packs and send UE create response
261 * @params[in] Post structure
263 * @return ROK - success
266 * ****************************************************************/
267 uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp)
271 /*******************************************************************
273 * @brief Pack and Send BSR from MAC to SCH
277 * Function : packMacSchBsr
280 * Pack and Send BSR from MAC to SCH
283 * @return ROK - success
286 * ****************************************************************/
287 uint8_t packMacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd)
289 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
300 /*******************************************************************
302 * @brief Pack and Send SR UCI Ind from MAC to SCH
306 * Function : packMacSrSchUciInd
309 * Pack and Send SR UCI Ind from MAC to SCH
312 * @return ROK - success
315 * ****************************************************************/
316 uint8_t packMacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd)
318 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
329 /*******************************************************************
331 * @brief Pack and Send HARQ UCI Ind from MAC to SCH
335 * Function : packMacHarqSchUciInd
338 * Pack and Send HARQ UCI Ind from MAC to SCH
341 * @return ROK - success
344 * ****************************************************************/
345 uint8_t packMacSchHarqUciInd(Pst *pst, HarqUciIndInfo *uciInd)
347 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
359 /*******************************************************************
361 * @brief Pack and Send Modify UE Config Request from MAC to SCH
365 * Function : packMacSchModUeConfigReq
368 * Pack and Send Modify UE Config Request from MAC to SCH
371 * @return ROK - success
374 * ****************************************************************/
375 uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfg)
377 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
388 /*******************************************************************
390 * @brief Pack and Send RACH resource Request from MAC to SCH
394 * Function : packMacSchRachRsrcReq
397 * Pack and Send RACH resouece Request from MAC to SCH
399 * @params[in] Post structure
400 * RACH resource request
401 * @return ROK - success
404 * ****************************************************************/
405 uint8_t packMacSchRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq)
407 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
418 /*******************************************************************
420 * @brief Pack and Send RACH resource Response from SCH to MAC
424 * Function : packSchRachRsrcRsp
427 * Pack and Send RACH resource Response from SCH to MAC
429 * @params[in] Post structure
430 * RACH resource response
431 * @return ROK - success
434 * ****************************************************************/
435 uint8_t packSchRachRsrcRsp(Pst *pst, SchRachRsrcRsp *schRachRsrcRsp)
437 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
448 /*******************************************************************
450 * @brief Pack and Send RACH resource Release from MAC to SCH
454 * Function : packMacSchRachRsrcRel
457 * Pack and Send RACH resouece Release from MAC to SCH
459 * @params[in] Post structure
460 * RACH resource release
461 * @return ROK - success
464 * ****************************************************************/
465 uint8_t packMacSchRachRsrcRel(Pst *pst, SchRachRsrcRel *schRachRsrcRel)
467 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
478 /*******************************************************************
480 * @brief Pack and Send UE Delete Request from MAC to SCH
484 * Function : packMacSchUeDeleteReq
487 * Pack and Send UE Delete Request from MAC to SCH
490 * @return ROK - success
493 * ****************************************************************/
494 uint8_t packMacSchUeDeleteReq(Pst *pst, SchUeDelete *schUeDel)
496 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
507 /*******************************************************************
509 * @brief Packs and send UE delete response
513 * Function : packSchUeDeleteRsp
516 * Packs and send UE delete response
518 * @params[in] Post structure
520 * @return ROK - success
523 * ****************************************************************/
525 uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *delRsp)
530 /*******************************************************************
532 * @brief Pack and Send Cell Delete Request from MAC to SCH
536 * Function : packMacSchCellDeleteReq
539 * Pack and Send Cell Delete Request from MAC to SCH
541 * @params[in] Pst *pst, SchCellDelete *schCellDelete
542 * @return ROK - success
545 * ****************************************************************/
546 uint8_t packMacSchCellDeleteReq(Pst *pst, SchCellDelete *schCellDelete)
548 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
559 /*******************************************************************
561 * @brief Packs and send CELL delete response
565 * Function : packSchCellDeleteRsp
568 * * @params[in] Post structure, SchCellDeleteRsp schCellDeleteRsp
570 * @return ROK - success
574 * ****************************************************************/
576 uint8_t packSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp)
581 /*******************************************************************
583 * @brief Pack and Send Slice Cfg request from MAC to SCH
587 * Function : packMacSchSliceCfgReq
590 * Pack and Send Slice Cfg request from MAC to SCH
592 * @params[in] Pst *pst, SchSliceCfgReq *cfgReq
593 * @return ROK - success
596 * ****************************************************************/
597 uint8_t packMacSchSliceCfgReq(Pst *pst, SchSliceCfgReq *cfgReq)
599 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
611 * @brief function to pack slice cfg rsp from SCH to MAC
615 * Function : packSchSliceCfgRsp
618 * @param[in] Pst *pst, SchSliceCfgRsp *cfgRsp
621 uint8_t packSchSliceCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp)
626 /*******************************************************************
628 * @brief Pack and Send Slice ReCfg request from MAC to SCH
632 * Function : packMacSchSliceReCfgReq
635 * Pack and Send Slice ReCfg request from MAC to SCH
637 * @params[in] Pst *pst, SchSliceCfgReq *cfgReq
638 * @return ROK - success
641 * ****************************************************************/
642 uint8_t packMacSchSliceReCfgReq(Pst *pst, SchSliceCfgReq *cfgReq)
644 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
656 * @brief function to pack slice cfg rsp from SCH to MAC
660 * Function : packSchSliceReCfgRsp
663 * @param[in] Pst *pst, SchSliceCfgRsp *cfgRsp
666 uint8_t packSchSliceReCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp)
671 /*******************************************************************
673 * @brief Pack and Send paging indication from MAC to SCH
677 * Function : packMacSchPagingInd
680 * Pack and Send paging indication from MAC to SCH
682 * @params[in] Pst *pst, SchPageInd *pageInd
683 * @return ROK - success
686 * ****************************************************************/
687 uint8_t packMacSchPagingInd(Pst *pst, SchPageInd *pageInd)
689 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
701 * @brief function to pack DL Paging allocation message
706 * Function : packSchMacDlPageAlloc
709 * @param[in] Pst *pst, the post structure
710 * @param[in] DlPageAlloc *dlPageAlloc
714 uint8_t packSchMacDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc)
720 * @brief function to pack Harq process release message
725 * Function : packSchMacDlReleaseHarq
728 * @param[in] Pst *pst, the post structure
729 * @param[in] SchRlsHqInfo *rlsHqInfo
733 uint8_t packSchMacDlReleaseHarq(Pst *pst, SchRlsHqInfo *rlsHqInfo)
738 /**********************************************************************
740 **********************************************************************/