[EPIC-ID: ODUHIGH-488][TASK-ID: ODUHIGH-494]SCH framework update to support different...
[o-du/l2.git] / src / cm / mac_sch_interface.c
1 /* header include files (.h) */
2 #include "common_def.h"
3 #include "lrg.h"
4
5 /* header/extern include files (.x) */
6 #include "lrg.x"
7 #include "mac_sch_interface.h"
8
9 /**
10  * @brief function to send Slot ind message from MAC
11  *        to scheduler with loose coupling 
12  *
13  * @details
14  *
15  *     Function : packMacSchSlotInd
16  *     
17  *     
18  *  @param[in]  Pst *pst, the post structure     
19  *  @param[in]  *slotInd, the value of SFN and slot
20  *  @return  S16
21  *      -# ROK
22  **/
23 uint8_t packMacSchSlotInd(Pst *pst, SlotTimingInfo *slotInd)
24 {
25    Buffer *mBuf = NULLP;
26    if (ODU_GET_MSG_BUF(pst->region, pst->pool, &mBuf) != ROK)
27    {
28       return RFAILED;
29    }
30
31    /* pack SFN and slot value */
32    CMCHKPK(oduUnpackUInt16,slotInd->sfn, mBuf);
33    CMCHKPK(oduUnpackUInt16,slotInd->slot, mBuf);
34
35    return ODU_POST_TASK(pst,mBuf);
36 }
37
38 /*******************************************************************
39  *
40  * @brief Pack and Send Rach Ind from MAC to SCH
41  *
42  * @details
43  *
44  *    Function : packMacSchRachInd
45  *
46  *    Functionality:
47  *      Pack and Send Rach Ind from MAC to SCH
48  *
49  * @params[in] 
50  * @return ROK     - success
51  *         RFAILED - failure
52  *
53  * ****************************************************************/
54 uint8_t packMacSchRachInd(Pst *pst, RachIndInfo *rachInd)
55 {
56    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
57    {
58       /* TODO */
59    }
60    else
61    {
62       return RFAILED;
63    }
64    return ROK;
65 }
66
67 /*******************************************************************
68  *
69  * @brief Pack and Send Crc Ind from MAC to SCH
70  *
71  * @details
72  *
73  *    Function : packMacSchCrcInd
74  *
75  *    Functionality:
76  *       Pack and Send Crc Ind from MAC to SCH
77  *
78  * @params[in] 
79  * @return ROK     - success
80  *         RFAILED - failure
81  *
82  * ****************************************************************/
83 uint8_t packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd)
84 {
85    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
86    {
87       /* TODO */
88    }
89    else
90    {
91       return RFAILED;
92    }
93    return ROK;
94 }
95
96 /*******************************************************************
97  *
98  * @brief Pack and Send DL RLC BO Info from MAC to SCH
99  *
100  * @details
101  *
102  *    Function : packMacSchDlRlcBoInfo
103  *
104  *    Functionality:
105  *       Pack and Send L RLC BO Info from MAC to SCH
106  *
107  * @params[in] 
108  * @return ROK     - success
109  *         RFAILED - failure
110  *
111  * ****************************************************************/
112 uint8_t packMacSchDlRlcBoInfo(Pst *pst, DlRlcBoInfo *dlBoInfo)
113 {
114    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
115    {
116       /* TODO */
117    }
118    else
119    {
120       return RFAILED;
121    }
122    return ROK;
123 }
124
125 /**
126  * @brief function to pack DL Broadcast allocation message 
127  *        from MAC to SCH
128  *
129  * @details
130  *
131  *     Function : packSchMaccDlAlloc 
132  *     
133  *     
134  *  @param[in]  Pst *pst, the post structure     
135  *  @param[in]  DlSchedInfo  *dlSchedInfo
136  *  @return  S16
137  *      -# ROK
138  **/
139 uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo  *dlSchedInfo)
140 {
141    return ROK;
142 }
143
144 /**
145  * @brief function to pack UL Sch Info  message 
146  *        from SCH to MAC
147  *
148  * @details
149  *
150  *     Function : packSchMacUlSchInfo 
151  *     
152  *     
153  *  @param[in]  Pst *pst, the post structure     
154  *  @param[in]  UlSchedInfo *ulSchedInfo
155  *  @return  S16
156  *      -# ROK
157  **/
158 uint8_t packSchMacUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo)
159 {
160    return ROK;
161 }
162
163 /**
164  * @brief function to pack cell cfg from MAC to SCH
165  *
166  * @details
167  *
168  *     Function : packSchCellCfg 
169  *     
170  *     
171  *  @param[in]  Pst *pst, the post structure     
172  *  @param[in]  *schCellCfg, SchCellCfg structure
173  *  @return  S16
174  *      -# ROK
175  **/
176 uint8_t packSchCellCfg(Pst *pst, SchCellCfg  *schCellCfg)
177 {
178    return ROK;
179 }
180
181 /**
182  * @brief function to pack cell cfg cfm from SCH to MAC
183  *
184  * @details
185  *
186  *     Function : packSchCellCfgCfm
187  *     
188  *     
189  *  @param[in]  Pst *pst, the post structure     
190  *  @param[in]  *schCellCfgCfm, SchCellCfgCfm structure
191  *  @return  S16
192  *      -# ROK
193  **/
194 uint8_t packSchCellCfgCfm(Pst *pst, SchCellCfgCfm *schCellCfgCfm)
195 {
196    return ROK;
197 }
198
199 /*******************************************************************
200  *
201  * @brief Pack and Send UE Config Request from MAC to SCH
202  *
203  * @details
204  *
205  *    Function : packMacSchAddUeConfigReq
206  *
207  *    Functionality:
208  *       Pack and Send UE Create Request from MAC to SCH
209  *
210  * @params[in]
211  * @return ROK     - success
212  *         RFAILED - failure
213  *
214  * ****************************************************************/
215 uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfgReq  *ueCfg)
216 {
217    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
218    {
219       /* TODO */
220    }
221    else
222    {
223       return RFAILED; 
224    }
225    return ROK;
226 }
227
228
229 /*******************************************************************
230  *
231  * @brief Packs and send UE create response
232  *
233  * @details 
234  *
235  *    Function : packSchUeCfgRsp
236  *
237  *    Functionality:
238  *      Packs and send UE create response
239  *
240  * @params[in] Post structure
241  *             UE config response
242  * @return ROK     - success
243  *         RFAILED - failure
244  *
245  * ****************************************************************/
246 uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp)
247 {
248    return ROK;
249 }
250
251 /*******************************************************************
252  *
253  * @brief Packs and send UE reconfig response
254  *
255  * @details 
256  *
257  *    Function : packSchUeRecfgRsp
258  *
259  *    Functionality:
260  *      Packs and send UE reconfig response
261  *
262  * @params[in] Post structure
263  *             UE re-config response
264  * @return ROK     - success
265  *         RFAILED - failure
266  *
267  * ****************************************************************/
268 uint8_t packSchUeRecfgRsp(Pst *pst, SchUeRecfgRsp *recfgRsp)
269 {
270    return ROK;
271 }
272
273 /*******************************************************************
274  *
275  * @brief Pack and Send BSR from MAC to SCH
276  *
277  * @details
278  *
279  *    Function : packMacSchBsr
280  *
281  *    Functionality:
282  *       Pack and Send BSR from MAC to SCH
283  *
284  * @params[in]
285  * @return ROK     - success
286  *         RFAILED - failure
287  *
288  * ****************************************************************/
289 uint8_t packMacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd)
290 {
291    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
292    {
293       /* TODO */
294    }
295    else
296    {
297       return RFAILED;
298    }
299    return ROK;
300 }
301
302 /*******************************************************************
303  *
304  * @brief Pack and Send SR UCI Ind from MAC to SCH
305  *
306  * @details
307  *
308  *    Function : packMacSrSchUciInd
309  *
310  *    Functionality:
311  *       Pack and Send SR UCI Ind from MAC to SCH
312  *
313  * @params[in] 
314  * @return ROK     - success
315  *         RFAILED - failure
316  *
317  * ****************************************************************/
318 uint8_t packMacSchSrUciInd(Pst *pst, SrUciIndInfo *uciInd)
319 {
320    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
321    {
322       /* TODO */
323    }
324    else
325    {
326       return RFAILED;
327    }
328    return ROK;
329 }
330
331 /*******************************************************************
332  *
333  * @brief Pack and Send DL HARQ Ind from MAC to SCH
334  *
335  * @details
336  *
337  *    Function : packMacSchDlHarqInd
338  *
339  *    Functionality:
340  *       Pack and Send DL HARQ Ind from MAC to SCH
341  *
342  * @params[in]
343  * @return ROK     - success
344  *         RFAILED - failure
345  *
346  * ****************************************************************/
347 uint8_t packMacSchDlHarqInd(Pst *pst, DlHarqInd *dlHarqInd)
348 {
349    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
350    {
351       /* TODO */
352    }
353    else
354    {
355       return RFAILED;
356    }
357    return ROK;
358 }
359
360
361 /*******************************************************************
362  *
363  * @brief Pack and Send Modify UE Config Request from MAC to SCH
364  *
365  * @details
366  *
367  *    Function : packMacSchModUeConfigReq
368  *
369  *    Functionality:
370  *       Pack and Send Modify UE Config Request from MAC to SCH
371  *
372  * @params[in]
373  * @return ROK     - success
374  *         RFAILED - failure
375  *
376  * ****************************************************************/
377 uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeRecfgReq  *ueRecfg)
378 {
379    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
380    {
381       /* TODO */
382    }
383    else
384    {
385       return RFAILED; 
386    }
387    return ROK;
388 }
389
390 /*******************************************************************
391  *
392  * @brief Pack and Send RACH resource Request from MAC to SCH
393  *
394  * @details
395  *
396  *    Function : packMacSchRachRsrcReq
397  *
398  *    Functionality:
399  *       Pack and Send RACH resouece Request from MAC to SCH
400  *
401  * @params[in] Post structure
402  *             RACH resource request
403  * @return ROK     - success
404  *         RFAILED - failure
405  *
406  * ****************************************************************/
407 uint8_t packMacSchRachRsrcReq(Pst *pst, SchRachRsrcReq *schRachRsrcReq)
408 {
409    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
410    {
411       /* TODO */
412    }
413    else
414    {
415       return RFAILED; 
416    }
417    return ROK;
418 }
419
420 /*******************************************************************
421  *
422  * @brief Pack and Send RACH resource Response from SCH to MAC
423  *
424  * @details
425  *
426  *    Function : packSchRachRsrcRsp
427  *
428  *    Functionality:
429  *       Pack and Send RACH resource Response from SCH to MAC
430  *
431  * @params[in] Post structure
432  *             RACH resource response
433  * @return ROK     - success
434  *         RFAILED - failure
435  *
436  * ****************************************************************/
437 uint8_t packSchRachRsrcRsp(Pst *pst, SchRachRsrcRsp *schRachRsrcRsp)
438 {
439    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
440    {  
441       /* TODO */
442    }
443    else
444    {  
445       return RFAILED;
446    }
447    return ROK;
448 }
449
450 /*******************************************************************
451  *
452  * @brief Pack and Send RACH resource Release from MAC to SCH
453  *
454  * @details
455  *
456  *    Function : packMacSchRachRsrcRel
457  *
458  *    Functionality:
459  *       Pack and Send RACH resouece Release from MAC to SCH
460  *
461  * @params[in] Post structure
462  *             RACH resource release
463  * @return ROK     - success
464  *         RFAILED - failure
465  *
466  * ****************************************************************/
467 uint8_t packMacSchRachRsrcRel(Pst *pst, SchRachRsrcRel *schRachRsrcRel)
468 {
469    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
470    {   
471       /* TODO */
472    }   
473    else
474    {   
475       return RFAILED; 
476    }   
477    return ROK;
478 }
479
480 /*******************************************************************
481 *
482 * @brief Pack and Send UE Delete Request from MAC to SCH
483 *
484 * @details
485 *
486 *    Function : packMacSchUeDeleteReq 
487 *
488 *    Functionality:
489 *       Pack and Send  UE Delete Request from MAC to SCH
490 *
491 * @params[in]
492 * @return ROK     - success
493 *         RFAILED - failure
494 *
495 * ****************************************************************/
496 uint8_t packMacSchUeDeleteReq(Pst *pst,  SchUeDelete *schUeDel)
497 {
498     if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
499     {
500        /* TODO */
501     }
502     else
503     {
504        return RFAILED;
505     }
506     return ROK;
507 }
508
509 /*******************************************************************
510 *
511 * @brief Packs and send UE delete response
512 *
513 * @details
514 *
515 *    Function : packSchUeDeleteRsp
516 *
517 *    Functionality:
518 *      Packs and send UE delete response
519 *
520 * @params[in] Post structure
521 *             UE delete response
522 * @return ROK     - success
523 *         RFAILED - failure
524 *
525 * ****************************************************************/
526
527 uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp  *delRsp)
528 {
529    return ROK;
530 }
531
532 /*******************************************************************
533  *
534  * @brief Pack and Send Cell Delete Request from MAC to SCH
535  *
536  * @details
537  *
538  *    Function : packMacSchCellDeleteReq
539  *
540  *    Functionality:
541  *       Pack and Send  Cell Delete Request from MAC to SCH
542  *
543  * @params[in] Pst *pst,  SchCellDelete *schCellDelete
544  * @return ROK     - success
545  *         RFAILED - failure
546  *
547  * ****************************************************************/
548 uint8_t packMacSchCellDeleteReq(Pst *pst,  SchCellDeleteReq *schCellDelete)
549 {
550    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
551    {
552       /* TODO */
553    }
554    else
555    {
556       return RFAILED;
557    }
558    return ROK;
559 }
560
561 /*******************************************************************
562  *
563  * @brief Packs and send CELL delete response
564  *
565  * @details
566  *
567  *    Function : packSchCellDeleteRsp
568  *
569  *    Functionality:
570  * * @params[in] Post structure, SchCellDeleteRsp schCellDeleteRsp
571  *
572  * @return ROK     - success
573  *         RFAILED - failure
574  *
575  *
576  * ****************************************************************/
577
578 uint8_t packSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp  *schCellDeleteRsp)
579 {
580    return ROK;
581 }
582
583 /*******************************************************************
584  *
585  * @brief Pack and Send Slice Cfg request from MAC to SCH
586  *
587  * @details
588  *
589  *    Function : packMacSchSliceCfgReq 
590  *
591  *    Functionality:
592  *       Pack and Send Slice Cfg request from MAC to SCH
593  *
594  * @params[in] Pst *pst, SchSliceCfgReq *cfgReq 
595  * @return ROK     - success
596  *         RFAILED - failure
597  *
598  * ****************************************************************/
599 uint8_t packMacSchSliceCfgReq(Pst *pst, SchSliceCfgReq *cfgReq)
600 {
601    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
602    {
603       /* TODO */
604    }
605    else
606    {
607       return RFAILED;
608    }
609    return ROK;
610 }
611
612 /**
613  * @brief function to pack slice cfg rsp from SCH to MAC
614  *
615  * @details
616  *
617  *     Function : packSchSliceCfgRsp 
618  *     
619  *     
620  *  @param[in]  Pst *pst, SchSliceCfgRsp *cfgRsp
621  *  @return  S16 - ROK
622  **/
623 uint8_t packSchSliceCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp)
624 {
625    return ROK;
626 }
627
628 /*******************************************************************
629  *
630  * @brief Pack and Send Slice ReCfg request from MAC to SCH
631  *
632  * @details
633  *
634  *    Function : packMacSchSliceRecfgReq 
635  *
636  *    Functionality:
637  *       Pack and Send Slice ReCfg request from MAC to SCH
638  *
639  * @params[in] Pst *pst, SchSliceRecfgReq *cfgReq 
640  * @return ROK     - success
641  *         RFAILED - failure
642  *
643  * ****************************************************************/
644 uint8_t packMacSchSliceRecfgReq(Pst *pst, SchSliceRecfgReq *sliceRecfgReq)
645 {
646    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LWLC))
647    {
648       /* TODO */
649    }
650    else
651    {
652       return RFAILED;
653    }
654    return ROK;
655 }
656
657 /**
658  * @brief function to pack slice cfg rsp from SCH to MAC
659  *
660  * @details
661  *
662  *     Function : packSchSliceRecfgRsp 
663  *     
664  *     
665  *  @param[in]  Pst *pst, SchSliceRecfgRsp *cfgRsp
666  *  @return  S16 - ROK
667  **/
668 uint8_t packSchSliceRecfgRsp(Pst *pst, SchSliceRecfgRsp *recfgRsp)
669 {
670    return ROK;
671 }
672
673 /*******************************************************************
674  *
675  * @brief Pack and Send paging indication from MAC to SCH
676  *
677  * @details
678  *
679  *    Function : packMacSchPagingInd
680  *
681  *    Functionality:
682  *       Pack and Send paging indication from MAC to SCH
683  *
684  * @params[in] Pst *pst,  SchPageInd *pageInd
685  * @return ROK     - success
686  *         RFAILED - failure
687  *
688  * ****************************************************************/
689 uint8_t packMacSchPagingInd(Pst *pst,  SchPageInd *pageInd)
690 {
691    if((pst->selector == ODU_SELECTOR_LC) || (pst->selector == ODU_SELECTOR_LC))
692    {
693       /* TODO */
694    }
695    else
696    {
697       return RFAILED;
698    }
699    return ROK;
700 }
701
702 /**
703  * @brief function to pack DL Paging allocation message 
704  *        from MAC to SCH
705  *
706  * @details
707  *
708  *     Function : packSchMacDlPageAlloc 
709  *     
710  *     
711  *  @param[in]  Pst *pst, the post structure     
712  *  @param[in]  DlPageAlloc *dlPageAlloc
713  *  @return  S16
714  *      -# ROK
715  **/
716 uint8_t packSchMacDlPageAlloc(Pst *pst, DlPageAlloc *dlPageAlloc)
717 {
718    return ROK;
719 }
720
721 /**
722  * @brief function to pack Harq process release message 
723  *        from SCH to MAC
724  *
725  * @details
726  *
727  *     Function : packSchMacDlReleaseHarq 
728  *     
729  *     
730  *  @param[in]  Pst *pst, the post structure     
731  *  @param[in]  SchRlsHqInfo *rlsHqInfo
732  *  @return  S16
733  *      -# ROK
734  **/
735 uint8_t packSchMacDlReleaseHarq(Pst *pst, SchRlsHqInfo *rlsHqInfo)
736 {
737    return ROK;
738 }
739
740 /**********************************************************************
741   End of file
742  **********************************************************************/
743