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(oduPackUInt16,slotInd->sfn, mBuf);
33 CMCHKPK(oduPackUInt16,slotInd->slot, mBuf);
35 return ODU_POST_TASK(pst,mBuf);
38 /*******************************************************************
40 * @brief Pack and Send Rach Ind from MAC to SCH
44 * Function : packMacSchRachInd
47 * Pack and Send Rach Ind from MAC to SCH
50 * @return ROK - success
53 * ****************************************************************/
54 uint8_t packMacSchRachInd(Pst *pst, RachIndInfo *rachInd)
56 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
67 /*******************************************************************
69 * @brief Pack and Send Crc Ind from MAC to SCH
73 * Function : packMacSchCrcInd
76 * Pack and Send Crc Ind from MAC to SCH
79 * @return ROK - success
82 * ****************************************************************/
83 uint8_t packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd)
85 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
96 /*******************************************************************
98 * @brief Pack and Send DL RLC BO Info from MAC to SCH
102 * Function : packMacSchDlRlcBoInfo
105 * Pack and Send L RLC BO Info from MAC to SCH
108 * @return ROK - success
111 * ****************************************************************/
112 uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo)
114 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
126 * @brief function to pack DL Broadcast allocation message
131 * Function : packSchMaccDlAlloc
134 * @param[in] Pst *pst, the post structure
135 * @param[in] DlSchedInfo *dlSchedInfo
139 uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo *dlSchedInfo)
145 * @brief function to pack UL Sch Info message
150 * Function : packSchMacUlSchInfo
153 * @param[in] Pst *pst, the post structure
154 * @param[in] UlSchedInfo *ulSchedInfo
158 uint8_t packSchMacUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo)
164 * @brief function to pack cell cfg from MAC to SCH
168 * Function : packSchCellCfg
171 * @param[in] Pst *pst, the post structure
172 * @param[in] *schCellCfg, SchCellCfg structure
176 uint8_t packSchCellCfg(Pst *pst, SchCellCfg *schCellCfg)
182 * @brief function to pack cell cfg cfm from SCH to MAC
186 * Function : packSchCellCfgCfm
189 * @param[in] Pst *pst, the post structure
190 * @param[in] *schCellCfgCfm, SchCellCfgCfm structure
194 uint8_t packSchCellCfgCfm(Pst *pst, SchCellCfgCfm *schCellCfgCfm)
199 /*******************************************************************
201 * @brief Pack and Send UE Config Request from MAC to SCH
205 * Function : packMacSchAddUeConfigReq
208 * Pack and Send UE Create Request from MAC to SCH
211 * @return ROK - success
214 * ****************************************************************/
215 uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfgReq *ueCfg)
217 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
229 /*******************************************************************
231 * @brief Packs and send UE create response
235 * Function : packSchUeCfgRsp
238 * Packs and send UE create response
240 * @params[in] Post structure
242 * @return ROK - success
245 * ****************************************************************/
246 uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp)
251 /*******************************************************************
253 * @brief Packs and send UE reconfig response
257 * Function : packSchUeRecfgRsp
260 * Packs and send UE reconfig response
262 * @params[in] Post structure
263 * UE re-config response
264 * @return ROK - success
267 * ****************************************************************/
268 uint8_t packSchUeRecfgRsp(Pst *pst, SchUeRecfgRsp *recfgRsp)
273 /*******************************************************************
275 * @brief Pack and Send BSR from MAC to SCH
279 * Function : packMacSchBsr
282 * Pack and Send BSR from MAC to SCH
285 * @return ROK - success
288 * ****************************************************************/
289 uint8_t packMacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd)
291 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
302 /*******************************************************************
304 * @brief Pack and Send SR UCI Ind from MAC to SCH
308 * Function : packMacSrSchUciInd
311 * Pack and Send SR UCI Ind from MAC to SCH
314 * @return ROK - success
317 * ****************************************************************/
318 uint8_t packMacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd)
320 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
331 /*******************************************************************
333 * @brief Pack and Send DL HARQ Ind from MAC to SCH
337 * Function : packMacSchDlHarqInd
340 * Pack and Send DL HARQ Ind from MAC to SCH
343 * @return ROK - success
346 * ****************************************************************/
347 uint8_t packMacSchDlHarqInd(Pst *pst, DlHarqInd *dlHarqInd)
349 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
361 /*******************************************************************
363 * @brief Pack and Send Modify UE Config Request from MAC to SCH
367 * Function : packMacSchModUeConfigReq
370 * Pack and Send Modify UE Config Request from MAC to SCH
373 * @return ROK - success
376 * ****************************************************************/
377 uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeRecfgReq *ueRecfg)
379 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
390 /*******************************************************************
392 * @brief Pack and Send RACH resource Request from MAC to SCH
396 * Function : packMacSchRachRsrcReq
399 * Pack and Send RACH resouece Request from MAC to SCH
401 * @params[in] Post structure
402 * RACH resource request
403 * @return ROK - success
406 * ****************************************************************/
407 uint8_t packMacSchRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq)
409 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
420 /*******************************************************************
422 * @brief Pack and Send RACH resource Response from SCH to MAC
426 * Function : packSchRachRsrcRsp
429 * Pack and Send RACH resource Response from SCH to MAC
431 * @params[in] Post structure
432 * RACH resource response
433 * @return ROK - success
436 * ****************************************************************/
437 uint8_t packSchRachRsrcRsp(Pst *pst, SchRachRsrcRsp *schRachRsrcRsp)
439 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
450 /*******************************************************************
452 * @brief Pack and Send RACH resource Release from MAC to SCH
456 * Function : packMacSchRachRsrcRel
459 * Pack and Send RACH resouece Release from MAC to SCH
461 * @params[in] Post structure
462 * RACH resource release
463 * @return ROK - success
466 * ****************************************************************/
467 uint8_t packMacSchRachRsrcRel(Pst *pst, SchRachRsrcRel *schRachRsrcRel)
469 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
480 /*******************************************************************
482 * @brief Pack and Send UE Delete Request from MAC to SCH
486 * Function : packMacSchUeDeleteReq
489 * Pack and Send UE Delete Request from MAC to SCH
492 * @return ROK - success
495 * ****************************************************************/
496 uint8_t packMacSchUeDeleteReq(Pst *pst, SchUeDelete *schUeDel)
498 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
509 /*******************************************************************
511 * @brief Packs and send UE delete response
515 * Function : packSchUeDeleteRsp
518 * Packs and send UE delete response
520 * @params[in] Post structure
522 * @return ROK - success
525 * ****************************************************************/
527 uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *delRsp)
532 /*******************************************************************
534 * @brief Pack and Send Cell Delete Request from MAC to SCH
538 * Function : packMacSchCellDeleteReq
541 * Pack and Send Cell Delete Request from MAC to SCH
543 * @params[in] Pst *pst, SchCellDelete *schCellDelete
544 * @return ROK - success
547 * ****************************************************************/
548 uint8_t packMacSchCellDeleteReq(Pst *pst, SchCellDeleteReq *schCellDelete)
550 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
561 /*******************************************************************
563 * @brief Packs and send CELL delete response
567 * Function : packSchCellDeleteRsp
570 * * @params[in] Post structure, SchCellDeleteRsp schCellDeleteRsp
572 * @return ROK - success
576 * ****************************************************************/
578 uint8_t packSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp)
583 /*******************************************************************
585 * @brief Pack and Send Slice Cfg request from MAC to SCH
589 * Function : packMacSchSliceCfgReq
592 * Pack and Send Slice Cfg request from MAC to SCH
594 * @params[in] Pst *pst, SchSliceCfgReq *cfgReq
595 * @return ROK - success
598 * ****************************************************************/
599 uint8_t packMacSchSliceCfgReq(Pst *pst, SchSliceCfgReq *cfgReq)
601 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
613 * @brief function to pack slice cfg rsp from SCH to MAC
617 * Function : packSchSliceCfgRsp
620 * @param[in] Pst *pst, SchSliceCfgRsp *cfgRsp
623 uint8_t packSchSliceCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp)
628 /*******************************************************************
630 * @brief Pack and Send Slice ReCfg request from MAC to SCH
634 * Function : packMacSchSliceRecfgReq
637 * Pack and Send Slice ReCfg request from MAC to SCH
639 * @params[in] Pst *pst, SchSliceRecfgReq *cfgReq
640 * @return ROK - success
643 * ****************************************************************/
644 uint8_t packMacSchSliceRecfgReq(Pst *pst, SchSliceRecfgReq *sliceRecfgReq)
646 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
658 * @brief function to pack slice cfg rsp from SCH to MAC
662 * Function : packSchSliceRecfgRsp
665 * @param[in] Pst *pst, SchSliceRecfgRsp *cfgRsp
668 uint8_t packSchSliceRecfgRsp(Pst *pst, SchSliceRecfgRsp *recfgRsp)
673 /*******************************************************************
675 * @brief Pack and Send paging indication from MAC to SCH
679 * Function : packMacSchPagingInd
682 * Pack and Send paging indication from MAC to SCH
684 * @params[in] Pst *pst, SchPageInd *pageInd
685 * @return ROK - success
688 * ****************************************************************/
689 uint8_t packMacSchPagingInd(Pst *pst, SchPageInd *pageInd)
691 if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
703 * @brief function to pack DL Paging allocation message
708 * Function : packSchMacDlPageAlloc
711 * @param[in] Pst *pst, the post structure
712 * @param[in] DlPageAlloc *dlPageAlloc
716 uint8_t packSchMacDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc)
722 * @brief function to pack Harq process release message
727 * Function : packSchMacDlReleaseHarq
730 * @param[in] Pst *pst, the post structure
731 * @param[in] SchRlsHqInfo *rlsHqInfo
735 uint8_t packSchMacDlReleaseHarq(Pst *pst, SchRlsHqInfo *rlsHqInfo)
740 /**********************************************************************
742 **********************************************************************/