Merge "Added a new Flag ODU_LWR_MAC_DEBUG in the code"
[o-du/l2.git] / src / 5gnrsch / rg_sch_pt.c
1 /*******************************************************************************
2 ################################################################################
3 #   Copyright (c) [2017-2019] [Radisys]                                        #
4 #                                                                              #
5 #   Licensed under the Apache License, Version 2.0 (the "License");            #
6 #   you may not use this file except in compliance with the License.           #
7 #   You may obtain a copy of the License at                                    #
8 #                                                                              #
9 #       http://www.apache.org/licenses/LICENSE-2.0                             #
10 #                                                                              #
11 #   Unless required by applicable law or agreed to in writing, software        #
12 #   distributed under the License is distributed on an "AS IS" BASIS,          #
13 #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   #
14 #   See the License for the specific language governing permissions and        #
15 #   limitations under the License.                                             #
16 ################################################################################
17 *******************************************************************************/
18
19 /************************************************************************
20  
21      Name:     LTE-MAC layer
22   
23      Type:     C source file
24   
25      Desc:     C source code for INF Interface Module 
26   
27      File:     rg_sch_pt.c 
28   
29 **********************************************************************/
30
31 /** @file rg_sch_pt.c
32 @brief This file contains the definitions for Upper Interface(RGR/CRG/RGU) 
33        primitives that are invoked from MAC to its service users.
34        Portable functions corresponding to these primitives are also defined.
35 */
36 /* header include files (.h) */
37 #include "common_def.h"
38 #include "rg_env.h"        /* MAC Environment Defines */
39 #include "crg.h"           /* CRG Interface defines */
40 #include "rgr.h"           /* RGR Interface defines */
41 #include "rgu.h"           /* RGU Interface defines */
42 #include "cm_mblk.h"       /* memory management */
43 #include "cm_lte.h"        /* Common LTE Defines */
44 #include "tfu.h"           /* RGU Interface defines */
45 #ifdef LTE_L2_MEAS
46 #include "lrg.h"
47 #endif
48 #include "rg_sch_inf.h"           /* RGU Interface defines */
49
50 /* header/extern include files (.x) */
51 #include "crg.x"           /* CRG Interface includes */
52 #include "rgr.x"           /* RGR Interface includes */
53 #include "rgu.x"           /* RGU Interface includes */
54 #include "cm_mblk.x"       /* memory management */
55 #include "cm_lte.x"        /* Common LTE Defines */
56 #include "tfu.x"           /* RGU Interface includes */
57 #ifdef LTE_L2_MEAS
58 #include "lrg.x"
59 #endif
60 #include "rg_sch_inf.x"           /* RGU Interface includes */
61
62 #define RG_MAX_SCH 1
63
64 PRIVATE CONSTANT CellRegReq RgSchMacCellRegReqMt[RG_MAX_SCH] =
65 {
66 #ifdef LCSCH
67    cmPkSchMacCellRegReq,
68 #else
69    RgSchMacCellRegReq
70 #endif
71 };
72
73 PRIVATE CONSTANT DedBoUpdtReq RgMacSchDedBoUpdtReqMt[RG_MAX_SCH] =
74 {
75 #ifdef LCSCH
76    cmPkMacSchDedBoUpdtReq,
77 #else
78    RgMacSchDedBoUpdtReq
79 #endif
80 };
81
82 PRIVATE CONSTANT CmnBoUpdtReq RgMacSchCmnBoUpdtReqMt[RG_MAX_SCH] =
83 {
84 #ifdef LCSCH
85    cmPkMacSchCmnBoUpdtReq,
86 #else
87    RgMacSchCmnBoUpdtReq
88 #endif
89 };
90
91 PRIVATE CONSTANT SfRecpInd RgMacSchSfRecpIndMt[RG_MAX_SCH] =
92 {
93 #ifdef LCSCH
94    cmPkMacSchSfRecpInd
95 #else
96    RgMacSchSfRecpInd,
97 #endif
98 };
99 /*Fix: start: Inform UE delete to scheduler*/
100 PRIVATE CONSTANT UeDelInd RgMacSchUeDelIndMt[RG_MAX_SCH] =
101 {
102 #ifdef LCSCH
103    cmPkMacSchUeDelInd
104 #else
105    RgMacSchUeDelInd,
106 #endif
107 };
108 /*Fix: end: Inform UE delete to scheduler*/
109 PRIVATE CONSTANT SfAllocReq RgSchMacSfAllocReqMt[RG_MAX_SCH] =
110 {
111 #ifdef LCSCH
112    cmPkSchMacSfAllocReq,
113 #else
114    RgSchMacSfAllocReq
115 #endif
116 };
117
118 PRIVATE CONSTANT RstHqEntReq RgSchMacRstHqEntReqMt[RG_MAX_SCH] =
119 {
120 #ifdef LCSCH
121    cmPkSchMacRstHqEntReq,
122 #else
123    RgSchMacRstHqEntReq
124 #endif
125 };
126 PRIVATE CONSTANT RlsHqReq RgSchMacRlsHqReqMt[RG_MAX_SCH] =
127 {
128 #ifdef LCSCH
129    cmPkSchMacRlsHqReq,
130 #else
131    RgSchMacRlsHqReq
132 #endif
133 };
134
135 PRIVATE CONSTANT RlsRntiReq RgSchMacRlsRntiReqMt[RG_MAX_SCH] =
136 {
137 #ifdef LCSCH
138    cmPkSchMacRlsRntiReq,
139 #else
140    RgSchMacRlsRntiReq
141 #endif
142 };
143
144 PRIVATE CONSTANT LcgReg RgSchMacLcgRegReqMt[RG_MAX_SCH] =
145 {
146 #ifdef LCSCH
147    cmPkSchMacLcgRegReq,
148 #else
149    RgSchMacLcgRegReq
150 #endif
151 };
152
153 #ifdef LTEMAC_SPS
154 PRIVATE CONSTANT SpsLcReg RgSchMacSpsLcRegReqMt[RG_MAX_SCH] =
155 {
156 #ifdef LCSCH
157    cmPkSchMacSpsLcRegReq,
158 #else
159    RgSchMacSpsLcRegReq
160 #endif
161 };
162
163 PRIVATE CONSTANT UlSpsReset RgSchMacUlSpsResetMt[RG_MAX_SCH] =
164 {
165 #ifdef LCSCH
166    cmPkSchMacUlSpsReset,
167 #else
168    RgSchMacUlSpsResetReq
169 #endif
170 };
171
172
173
174 PRIVATE CONSTANT SpsLcDereg RgSchMacSpsLcDeregReqMt[RG_MAX_SCH] =
175 {
176 #ifdef LCSCH
177    cmPkSchMacSpsLcDeregReq,
178 #else
179    RgSchMacSpsLcDeregReq
180 #endif
181 };
182
183 PRIVATE CONSTANT SpsRelInd RgMacSchSpsRelIndMt[RG_MAX_SCH] =
184 {
185 #ifdef LCSCH
186    cmPkMacSchSpsRelInd,
187 #else
188    RgMacSchSpsRelInd
189 #endif
190 };
191
192 #endif /* LTEMAC_SPS */
193
194 #ifdef LTE_L2_MEAS
195 PRIVATE CONSTANT L2MeasReq RgSchMacL2MeasReqMt[RG_MAX_SCH] =
196 {
197 #ifdef LCSCH
198    cmPkSchMacL2MeasReq
199 #else
200    RgSchMacL2MeasReq
201 #endif
202 };
203 /*Added for Rsys oam*/
204 PRIVATE CONSTANT L2MeasStopReq RgSchMacL2MeasStopReqMt[RG_MAX_SCH] =
205 {
206 #ifdef LCSCH
207    cmPkSchMacL2MeasStopReq
208 #else
209    RgSchMacL2MeasStopReq
210 #endif
211 };
212
213 PRIVATE CONSTANT L2MeasSendReq RgSchMacL2MeasSendReqMt[RG_MAX_SCH] =
214 {
215 #ifdef LCSCH
216    cmPkSchMacL2MeasSendReq
217 #else
218    RgSchMacL2MeasSendReq
219 #endif
220 };
221
222 PRIVATE CONSTANT L2MeasCfm RgMacSchL2MeasCfmMt[RG_MAX_SCH] =
223 {
224 #ifdef LCSCH
225    cmPkMacSchL2MeasCfm
226 #else
227    RgMacSchL2MeasCfm
228 #endif
229 };
230 PRIVATE CONSTANT L2MeasStopCfm RgMacSchL2MeasStopCfmMt[RG_MAX_SCH] =
231 {
232 #ifdef LCSCH
233    cmPkMacSchL2MeasStopCfm
234 #else
235    RgMacSchL2MeasStopCfm
236 #endif
237 };
238 #endif/*LTE_L2_MEAS*/
239 /**
240 * @brief Data Indication from MAC to RLC to 
241  * forward the data received for dedicated channels
242 *
243 * @details
244 *
245 *     Function : RgSchMacCellReg
246 *
247 *  @param[in]   Pst*  pst
248 *  @param[in]   SuId  suId
249 *  @param[in]   RguDDatIndInfo  *  datInd
250 *  @return   S16
251 *      -# ROK
252 **/
253 #ifdef ANSI
254 S16 RgSchMacCellReg
255 (
256 Pst* pst,
257 RgInfCellReg*   regReq
258 )
259 #else
260 S16 RgSchMacCellReg(pst, regReq)
261 Pst* pst;
262 RgInfCellReg*   regReq;
263 #endif
264 {
265
266    return ((*RgSchMacCellRegReqMt[0])(pst, regReq));
267 }
268
269 /**
270 * @brief Data Indication from MAC to RLC to 
271  * forward the data received for dedicated channels
272 *
273 * @details
274 *
275 *     Function : RgMacSchDedBoUpdt
276 *
277 *  @param[in]   Pst*  pst
278 *  @param[in]   SuId  suId
279 *  @param[in]   RguDDatIndInfo  *  datInd
280 *  @return   S16
281 *      -# ROK
282 **/
283 #ifdef ANSI
284 S16 RgMacSchDedBoUpdt
285 (
286 Pst* pst,
287 RgInfDedBoRpt*  boRpt
288 )
289 #else
290 S16 RgMacSchDedBoUpdt(pst, boRpt)
291 Pst* pst;
292 RgInfDedBoRpt*  boRpt;
293 #endif
294 {
295
296    return ((*RgMacSchDedBoUpdtReqMt[0])(pst, boRpt));
297 }
298
299 /**
300 * @brief Data Indication from MAC to RLC to 
301  * forward the data received for dedicated channels
302 *
303 * @details
304 *
305 *     Function : RgMacSchCmnBoUpdt
306 *
307 *  @param[in]   Pst*  pst
308 *  @param[in]   SuId  suId
309 *  @param[in]   RguDDatIndInfo  *  datInd
310 *  @return   S16
311 *      -# ROK
312 **/
313 #ifdef ANSI
314 S16 RgMacSchCmnBoUpdt
315 (
316 Pst* pst,
317 RgInfCmnBoRpt*  boRpt
318 )
319 #else
320 S16 RgMacSchCmnBoUpdt(pst, boRpt)
321 Pst* pst;
322 RgInfCmnBoRpt*  boRpt;
323 #endif
324 {
325
326    return ((*RgMacSchCmnBoUpdtReqMt[0])(pst, boRpt));
327 }
328
329 /*Fix: start: Inform UE delete to scheduler*/
330 /**
331 * @brief This primitive is used to indicate deletion of UE
332 *        at MAC to scheduler. 
333 *
334 * @details
335 *
336 *     Function : RgMacSchUeDel
337 *
338 *  @param[in]   Pst*  pst
339 *  @param[in]   RgInfSfDatInd*  ueDelInd 
340 *  @return   S16
341 *      -# ROK
342 **/
343 #ifdef ANSI
344 S16 RgMacSchUeDel
345 (
346 Pst* pst,
347 RgInfUeDelInd*  ueDelInd
348 )
349 #else
350 S16 RgMacSchUeDel(pst, datInd)
351 Pst* pst;
352 RgInfUeDelInd*  ueDelInd;
353 #endif
354 {
355
356    return ((*RgMacSchUeDelIndMt[0])(pst, ueDelInd));
357 }
358 /*Fix: end: Inform UE delete to scheduler*/
359 /**
360 * @brief Data Indication from MAC to RLC to 
361  * forward the data received for dedicated channels
362 *
363 * @details
364 *
365 *     Function : RgMacSchSfRecp
366 *
367 *  @param[in]   Pst*  pst
368 *  @param[in]   SuId  suId
369 *  @param[in]   RguDDatIndInfo  *  datInd
370 *  @return   S16
371 *      -# ROK
372 **/
373 #ifdef ANSI
374 S16 RgMacSchSfRecp
375 (
376 Pst* pst,
377 RgInfSfDatInd*  datInd
378 )
379 #else
380 S16 RgMacSchSfRecp(pst, datInd)
381 Pst* pst;
382 RgInfSfDatInd*  datInd;
383 #endif
384 {
385
386    return ((*RgMacSchSfRecpIndMt[0])(pst, datInd));
387 }
388
389 /**
390 * @brief Data Indication from MAC to RLC to 
391  * forward the data received for dedicated channels
392 *
393 * @details
394 *
395 *     Function : RgSchMacSfAlloc
396 *
397 *  @param[in]   Pst*  pst
398 *  @param[in]   SuId  suId
399 *  @param[in]   RguDDatIndInfo  *  datInd
400 *  @return   S16
401 *      -# ROK
402 **/
403 #ifdef ANSI
404 S16 RgSchMacSfAlloc
405 (
406 Pst* pst,
407 RgInfSfAlloc*   resAllocReq
408 )
409 #else
410 S16 RgSchMacSfAlloc(pst, resAllocReq)
411 Pst* pst;
412 RgInfSfAlloc*   resAllocReq;
413 #endif
414 {
415
416    return ((*RgSchMacSfAllocReqMt[0])(pst, resAllocReq));
417 }
418
419 /**
420 * @brief Trigger for resetting Harq Entity at MAC
421 *
422 * @details
423 *
424 *     Function : RgSchMacRstHqEnt
425 *
426 *  @param[in]   Pst*  pst
427 *  @param[in]   RgInfResetHqEnt *hqEntRstReq
428 *  @return   S16
429 *      -# ROK
430 **/
431 #ifdef ANSI
432 S16 RgSchMacRstHqEnt
433 (
434 Pst*                 pst,    
435 RgInfResetHqEnt*     hqEntInfo
436 )
437 #else
438 S16 RgSchMacRstHqEnt(pst, hqEntInfo)
439 Pst*                 pst;
440 RgInfResetHqEnt*     hqEntInfo;
441 #endif
442 {
443
444    return ((*RgSchMacRstHqEntReqMt[0])(pst, hqEntInfo));
445 }
446
447 /**
448 * @brief Data Indication from MAC to RLC to 
449  * forward the data received for dedicated channels
450 *
451 * @details
452 *
453 *     Function : RgSchMacRlsHq
454 *
455 *  @param[in]   Pst*  pst
456 *  @param[in]   SuId  suId
457 *  @param[in]   RguDDatIndInfo  *  datInd
458 *  @return   S16
459 *      -# ROK
460 **/
461 #ifdef ANSI
462 S16 RgSchMacRlsHq
463 (
464 Pst* pst,
465 RgInfRlsHqInfo* sfHqInfo
466 )
467 #else
468 S16 RgSchMacRlsHq(pst, sfHqInfo)
469 Pst* pst;
470 RgInfRlsHqInfo* sfHqInfo;
471 #endif
472 {
473
474    return ((*RgSchMacRlsHqReqMt[0])(pst, sfHqInfo));
475 }
476
477 /**
478 * @brief Data Indication from MAC to RLC to 
479  * forward the data received for dedicated channels
480 *
481 * @details
482 *
483 *     Function : RgSchMacRlsRnti
484 *
485 *  @param[in]   Pst*  pst
486 *  @param[in]   SuId  suId
487 *  @param[in]   RguDDatIndInfo  *  datInd
488 *  @return   S16
489 *      -# ROK
490 **/
491 #ifdef ANSI
492 S16 RgSchMacRlsRnti
493 (
494 Pst* pst,
495 RgInfRlsRnti*   rlsRnti
496 )
497 #else
498 S16 RgSchMacRlsRnti(pst, rlsRnti)
499 Pst* pst;
500 RgInfRlsRnti*   rlsRnti;
501 #endif
502 {
503
504    return ((*RgSchMacRlsRntiReqMt[0])(pst, rlsRnti));
505 }
506
507 /**
508 * @brief Request from SCH to MAC to register the GBR LCG of a UE
509 *
510 * @details
511 *
512 *     Function : RgSchMacLcgReg
513 *
514 *  @param[in]   Pst*           pst
515 *  @param[in]   RgInfLcgRegReq *lcgRegReq
516 *  @return   S16
517 *      -# ROK
518 **/
519 #ifdef ANSI
520 S16 RgSchMacLcgReg
521 (
522 Pst*                pst,
523 RgInfLcgRegReq      *lcgRegReq
524 )
525 #else
526 S16 RgSchMacLcgReg(pst, lcgRegReq)
527 Pst*                pst;
528 RgInfLcgRegReq       *lcgRegReq;
529 #endif
530 {
531
532    return ((*RgSchMacLcgRegReqMt[0])(pst, lcgRegReq));
533 } /* end of RgSchMacLcgReg */
534
535 #ifdef LTEMAC_SPS
536 /**
537 * @brief Data Indication from MAC to SCH to 
538  * indicate the arrival of the data on SPS logical channels
539 *
540 * @details
541 *
542 *     Function : RgMacSchSpsRel
543 *
544 *  @param[in]   Pst*  pst
545 *  @param[in]   RgInfSpsRelInfo* relInfo
546 *  @return   S16
547 *      -# ROK
548 **/
549 #ifdef ANSI
550 S16 RgMacSchSpsRel
551 (
552 Pst*                pst,
553 RgInfSpsRelInfo*    relInfo
554 )
555 #else
556 S16 RgMacSchSpsRel(pst, relInfo)
557 Pst*                pst;
558 RgInfSpsRelInfo*    relInfo;
559 #endif
560 {
561
562    return ((*RgMacSchSpsRelIndMt[0])(pst, relInfo));
563 } /* end of RgMacSchSpsRel */
564
565 /**
566 * @brief Request from SCH to MAC to register the SPS logical channels of a UE
567 *
568 * @details
569 *
570 *     Function : RgSchMacSpsLcReg
571 *
572 *  @param[in]   Pst*           pst
573 *  @param[in]   RgInfSpsLcInfo *lcInfo
574 *  @return   S16
575 *      -# ROK
576 **/
577 #ifdef ANSI
578 S16 RgSchMacSpsLcReg
579 (
580 Pst*                pst,
581 RgInfSpsLcInfo      *lcInfo
582 )
583 #else
584 S16 RgSchMacSpsLcReg(pst, lcInfo)
585 Pst*                pst;
586 RgInfSpsLcInfo      *lcInfo;
587 #endif
588 {
589
590    return ((*RgSchMacSpsLcRegReqMt[0])(pst, lcInfo));
591 } /* end of RgSchMacSpsLcReg */
592
593
594
595 /**
596 * @brief Request from SCH to MAC to reset UL SPS params
597 *
598 * @details
599 *
600 *     Function : RgSchMacUlSpsReset
601 *
602 *  @param[in]   Pst*           pst
603 *  @param[in]   RgInfUlSpsReset *lcInfo
604 *  @return   S16
605 *      -# ROK
606 **/
607 #ifdef ANSI
608 S16 RgSchMacUlSpsReset
609 (
610 Pst*                pst,
611 RgInfUlSpsReset      *ulSpsResetInfo
612 )
613 #else
614 S16 RgSchMacUlSpsReset(pst, ulSpsResetInfo)
615 Pst*                pst;
616 RgInfUlSpsReset      *ulSpsResetInfo;
617 #endif
618 {
619
620    return ((*RgSchMacUlSpsResetMt[0])(pst, ulSpsResetInfo));
621 } /* end of RgSchMacUlSpsReset */
622
623
624
625 /**
626 * @brief Request from SCH to MAC to deregister the SPS logical channels of a UE
627 *
628 * @details
629 *
630 *     Function : RgSchMacSpsLcDereg
631 *
632 *  @param[in]   Pst*           pst
633 *  @param[in]   RgInfSpsLcInfo *lcInfo
634 *  @return   S16
635 *      -# ROK
636 **/
637 #ifdef ANSI
638 S16 RgSchMacSpsLcDereg
639 (
640 Pst*                pst,
641 CmLteCellId         cellId,
642 CmLteRnti           crnti
643 )
644 #else
645 S16 RgSchMacSpsLcDereg(pst, cellId, crnti)
646 Pst*                pst;
647 CmLteCellId         cellId;
648 CmLteRnti           crnti;
649 #endif
650 {
651
652    return ((*RgSchMacSpsLcDeregReqMt[0])(pst, cellId, crnti));
653 } /* end of RgSchMacSpsLcDereg */
654
655 #endif /* LTEMAC_SPS */
656 #ifdef LTE_L2_MEAS
657 /**
658 * @brief Request from SCH to MAC for L2 Measurement
659 *
660 * @details
661 *
662 *     Function : RgSchMacL2Meas
663 *
664 *  @param[in]   Pst*           pst
665 *  @param[in]   RgInfL2MeasReq *measInfo
666 *  @return   S16
667 *      -# ROK
668 **/
669 #ifdef ANSI
670 S16 RgSchMacL2Meas
671 (
672 Pst*                pst,
673 RgInfL2MeasReq      *measInfo
674 )
675 #else
676 S16 RgSchMacL2Meas(pst, measInfo)
677 Pst*                pst;
678 RgInfL2MeasReq      *measInfo;
679 #endif
680 {
681
682    return ((*RgSchMacL2MeasReqMt[0])(pst, measInfo));
683 } /* end of RgSchMacL2Meas */
684
685 /**
686 * @brief Request from SCH to MAC for Stopping L2 Measurement
687 *
688 * @details
689 *
690 *     Function : RgSchMacL2MeasStop
691 *     
692 *  @param[in]   Pst*           pst
693 *  @param[in]   RgInfL2MeasReq *measInfo
694 *  @return   S16
695 *      -# ROK
696 **/   
697 #ifdef ANSI
698 S16 RgSchMacL2MeasStop
699 (       
700 Pst*                pst,
701 RgInfL2MeasStopReq *measInfo
702 )     
703 #else 
704 S16 RgSchMacL2MeasStop(pst, measInfo)
705 Pst*                pst;
706 RgInfL2MeasStopReq *measInfo;
707 #endif
708 {  
709      
710    return ((*RgSchMacL2MeasStopReqMt[0])(pst, measInfo));
711 } /* end of RgSchMacL2Meas */
712
713 /**
714 * @brief Request from SCH to MAC for Sending L2 Measurement
715 *
716 * @details
717 *
718 *     Function : RgSchMacL2MeasSend
719 *     
720 *  @param[in]   Pst*           pst
721 *  @param[in]   RgInfL2MeasReq *measInfo
722 *  @return   S16
723 *      -# ROK
724 **/
725 #ifdef ANSI
726 S16 RgSchMacL2MeasSend
727 (
728 Pst*                pst,
729 RgInfL2MeasSndReq *measInfo
730 )
731 #else
732 S16 RgSchMacL2MeasSend(pst, measInfo)
733 Pst*                pst;
734 RgInfL2MeasSndReq *measInfo;
735 #endif
736 {
737
738    return ((*RgSchMacL2MeasSendReqMt[0])(pst, measInfo));
739 } /* end of RgSchMacL2MeasSend */
740
741 /**
742 * @brief Request from MAC to SCH for L2 Measurement
743 *
744 * @details
745 *
746 *     Function : RgMacSchL2Meas
747 *
748 *  @param[in]   Pst*           pst
749 *  @param[in]   RgInfL2MeasCfm *measInfo
750 *  @return   S16
751 *      -# ROK
752 **/
753 #ifdef ANSI
754 S16 RgMacSchL2Meas
755 (
756 Pst*                pst,
757 RgInfL2MeasCfm      *measInfo
758 )
759 #else
760 S16 RgMacSchL2Meas(pst, measInfo)
761 Pst*                pst;
762 RgInfL2MeasCfm      *measInfo;
763 #endif
764 {
765
766    return ((*RgMacSchL2MeasCfmMt[0])(pst, measInfo));
767 } /* end of RgSchMacL2Meas */
768 /**
769 * @brief Request from MAC to SCH for L2 Measurement
770 *  
771 * @details
772 *
773 *     Function : RgMacSchL2MeasStop
774 *
775 *  @param[in]   Pst*           pst
776 *  @param[in]   RgInfL2MeasCfm *measInfo
777 *  @return   S16
778 *      -# ROK
779 **/
780 #ifdef ANSI
781 S16 RgMacSchL2MeasStop
782 (
783 Pst*                pst,   
784 RgInfL2MeasCfm      *measInfo
785 )
786 #else
787 S16 RgMacSchL2MeasStop(pst, measInfo)
788 Pst*                pst;
789 RgInfL2MeasCfm      *measInfo;
790 #endif
791 {
792     
793    return ((*RgMacSchL2MeasStopCfmMt[0])(pst, measInfo));
794 } /* end of RgSchMacL2MeasStop*/
795 #endif/*LTE_L2_MEAS*/
796 /**********************************************************************
797  
798          End of file
799 **********************************************************************/