CRC and Rx Data Indication
[o-du/l2.git] / src / cm / mac_sch_interface.c
1 /* header include files (.h) */
2 #include "envopt.h"        /* environment options */
3 #include "envdep.h"        /* environment dependent */
4 #include "envind.h"        /* environment independent */
5 #include "gen.h"           /* general */
6 #include "ssi.h"           /* system services */
7 #include "cm_tkns.h"       /* Common Token Defines */
8 #include "cm_llist.h"      /* Common Link List Defines */
9 #include "cm_hash.h"       /* Common Hash List Defines */
10 #include "cm_lte.h"        /* Common LTE Defines */
11 #include "cm_mblk.h"        /* Common LTE Defines */
12 #include "tfu.h"           /* RGU Interface defines */
13 #include "lrg.h"
14 //#include "fapi.h"
15
16 /* header/extern include files (.x) */
17 #include "gen.x"           /* general */
18 #include "ssi.x"           /* system services */
19 #include "cm_tkns.x"       /* Common Token Definitions */
20 #include "cm_llist.x"      /* Common Link List Definitions */
21 #include "cm_lib.x"        /* Common Library Definitions */
22 #include "cm_hash.x"       /* Common Hash List Definitions */
23 #include "cm_lte.x"        /* Common LTE Defines */
24 #include "cm_mblk.x"        /* Common LTE Defines */
25 #include "tfu.x"           /* RGU Interface includes */
26 #include "lrg.x"
27
28 #include "du_app_mac_inf.h"
29 #include "mac_sch_interface.h"
30
31 /**
32  * @brief function to send Slot ind message from MAC
33  *        to scheduler with loose coupling 
34  *
35  * @details
36  *
37  *     Function : packMacSchSlotInd
38  *     
39  *     
40  *  @param[in]  Pst *pst, the post structure     
41  *  @param[in]  *slotInd, the value of SFN and slot
42  *  @return  S16
43  *      -# ROK
44  **/
45 int packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd)
46 {
47    Buffer *mBuf = NULLP;
48    if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK)
49    {
50       RETVALUE(RFAILED);
51    }
52
53    /* pack SFN and slot value */
54    CMCHKPK(SPkU16,slotInd->sfn, mBuf);
55    CMCHKPK(SPkU16,slotInd->slot, mBuf);
56
57    RETVALUE(SPstTsk(pst,mBuf));
58 }
59
60 /*******************************************************************
61  *
62  * @brief Pack and Send Rach Ind from MAC to SCH
63  *
64  * @details
65  *
66  *    Function : packMacSchRachInd
67  *
68  *    Functionality:
69  *      Pack and Send Rach Ind from MAC to SCH
70  *
71  * @params[in] 
72  * @return ROK     - success
73  *         RFAILED - failure
74  *
75  * ****************************************************************/
76 int packMacSchRachInd(Pst *pst, RachIndInfo *rachInd)
77 {
78    if((pst->selector == MAC_SELECTOR_LC) || (pst->selector == MAC_SELECTOR_LWLC))
79    {
80       /* TODO */
81    }
82    else
83    {
84       return RFAILED;
85    }
86    return ROK;
87 }
88
89 /*******************************************************************
90  *
91  * @brief Pack and Send Crc Ind from MAC to SCH
92  *
93  * @details
94  *
95  *    Function : packMacSchCrcInd
96  *
97  *    Functionality:
98  *       Pack and Send Crc Ind from MAC to SCH
99  *
100  * @params[in] 
101  * @return ROK     - success
102  *         RFAILED - failure
103  *
104  * ****************************************************************/
105 int packMacSchCrcInd(Pst *pst, CrcIndInfo *crcInd)
106 {
107    if((pst->selector == MAC_SELECTOR_LC) || (pst->selector == MAC_SELECTOR_LWLC))
108    {
109       /* TODO */
110    }
111    else
112    {
113       return RFAILED;
114    }
115    return ROK;
116 }
117
118 /**
119  * @brief function to pack DL Broadcast allocation message 
120  *        from MAC to SCH
121  *
122  * @details
123  *
124  *     Function : packSchMaccDlAlloc 
125  *     
126  *     
127  *  @param[in]  Pst *pst, the post structure     
128  *  @param[in]  DlAlloc  *dlAlloc
129  *  @return  S16
130  *      -# ROK
131  **/
132 int packSchMacDlAlloc(Pst *pst, DlAlloc  *dlAlloc)
133 {
134         return ROK;
135 }
136
137 /**
138  * @brief function to pack UL Sch Info  message 
139  *        from SCH to MAC
140  *
141  * @details
142  *
143  *     Function : packSchMacUlSchInfo 
144  *     
145  *     
146  *  @param[in]  Pst *pst, the post structure     
147  *  @param[in]  *ulSchInfo, UlSchInfo
148  *  @return  S16
149  *      -# ROK
150  **/
151 int packSchMacUlSchInfo(Pst *pst, UlSchInfo *ulSchInfo)
152 {
153         return ROK;
154 }
155
156 /**
157  * @brief function to pack cell cfg from MAC to SCH
158  *
159  * @details
160  *
161  *     Function : packSchCellCfg 
162  *     
163  *     
164  *  @param[in]  Pst *pst, the post structure     
165  *  @param[in]  *schCellCfg, SchCellCfg structure
166  *  @return  S16
167  *      -# ROK
168  **/
169 int packSchCellCfg(Pst *pst, SchCellCfg  *schCellCfg)
170 {
171         return ROK;
172 }
173
174 /**
175  * @brief function to pack cell cfg cfm from SCH to MAC
176  *
177  * @details
178  *
179  *     Function : packSchCellCfgCfm
180  *     
181  *     
182  *  @param[in]  Pst *pst, the post structure     
183  *  @param[in]  *schCellCfgCfm, SchCellCfgCfm structure
184  *  @return  S16
185  *      -# ROK
186  **/
187 int packSchCellCfgCfm(Pst *pst, SchCellCfgCfm *schCellCfgCfm)
188 {
189         return ROK;
190 }
191
192
193 /**********************************************************************
194   End of file
195  **********************************************************************/
196