remove/replaced PRIVATE and EXTERN keywords
[o-du/l2.git] / src / 5gnrmac / rg_ptli.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 Entry point fucntions
26   
27      File:     rg_ptli.c
28   
29 **********************************************************************/
30
31 /** @file rg_dhm.c
32 @brief APIs related to Downlink HARQ.
33 */
34
35 /* header include files (.h) */
36 #include "common_def.h"
37 #include "tfu.h"           /* RGU Interface defines */
38
39 /* header/extern include files (.x) */
40 #include "tfu.x"           /* RGU Interface includes */
41
42
43 #ifdef __cplusplus
44 extern "C" {
45 #endif /* __cplusplus */
46
47 #if !(defined(LCRGLITFU)  && defined(TF) && defined(LWLCRGLITFU))
48 #define PTRGLITFU
49 #endif
50
51
52 /* MAX Number of Service Providers of RG */
53 #define RG_MAX_TFU_PROV   3
54
55 #ifdef PTRGLITFU
56 /** @brief This API is used to send a Bind Request from MAC to PHY.
57  * @param pst Pointer to the post structure.
58  * @param suId SAP ID of the service user.
59  * @param spId SAP ID of the service provider.
60  * @return ROK/RFAILED
61  */
62 S16 PtLiTfuBndReq ARGS((Pst * pst, SuId suId, SpId spId));
63 /** @brief This API is used to send a Bind Request from Scheduler to PHY.
64  * @param pst Pointer to the post structure.
65  * @param suId SAP ID of the service user.
66  * @param spId SAP ID of the service provider.
67  * @return ROK/RFAILED
68  */
69 S16 PtLiTfuSchBndReq ARGS((Pst * pst, SuId suId, SpId spId));
70 /** @brief This API is used to send an Unbind Request from MAC to PHY.
71  * @param pst Pointer to the post structure.
72  * @param suId SAP ID of the service provider.
73  * @param reason Reason for Unbind request.
74  * @return ROK/RFAILED
75  */
76 S16 PtLiTfuUbndReq ARGS((Pst * pst, SpId spId, Reason reason));
77 /** @brief This API is used to send an Unbind Request from Scheduler to PHY.
78  * @param pst Pointer to the post structure.
79  * @param suId SAP ID of the service provider.
80  * @param reason Reason for Unbind request.
81  * @return ROK/RFAILED
82  */
83 S16 PtLiTfuSchUbndReq ARGS((Pst * pst, SpId spId, Reason reason));
84 /** @brief This primitive is sent from Scheduler to PHY.
85  * @details This primitive provides PHY with all the information required by 
86  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
87  * -# On PUCCH UE can transmit the following
88  *    -# SR
89  *    -# HARQ feedback
90  *    -# CQI report
91  *    -# HARQ + CQI
92  *    -# HARQ + SR
93  * -# On PUSCH UE can transmit the following
94  *    -# Data
95  *    -# Data + CQI
96  *    -# Data + HARQ Feedback
97  * This primitive carries all the information for the expected subframe for all
98  * the UEs that have been scheduled to transmit.
99  * @param pst Pointer to the post structure.
100  * @param spId SAP ID of the service provider.
101  * @param recpReq Pointer to the TfuRecpReqInfo structure.
102  * @return ROK/RFAILED
103  */
104 S16 PtLiTfuRecpReq ARGS((Pst * pst, SpId spId, TfuRecpReqInfo * recpReq));
105 /** @brief This Primitive is sent from Scheduler to PHY. It provides PHY with
106   * all the control information
107   * @details This primitive carries the information sent on the following
108   * channels - 
109   * -# PDCCH
110   * -# PHICH
111   * -# PCFICH
112   * 
113   * @param pst
114   * @param spId
115   * @param cntrlReq pointer to TfuCntrlReqInfo
116   * @return ROK/RFAILED
117   */
118 S16 PtLiTfuCntrlReq ARGS((Pst * pst, SpId spId, TfuCntrlReqInfo * cntrlReq));
119 /** @brief This Primitive carries the Data PDUs from MAC to PHY for
120   * transmission. 
121   * @details The data being sent in this primitive is meant to be transmitted on
122   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
123   * layer processing, requisite control information is also sent along with the
124   * data. 
125   * @sa TfUiTfuCntrlReq
126   * @param pst 
127   * @param spId
128   * @param tfuDatReq pointer to TfuDatReqInfo
129   * @return 
130   */
131 S16 PtLiTfuDatReq ARGS((Pst * pst, SpId spId, TfuDatReqInfo * datReq));
132 #ifdef L2_OPTMZ
133 /** @brief This Primitive carries cellId and UeId for which datReq need to be deleted.
134   * @details This primitive is used to send delDatReq to CL to delete the PDUs of
135   * UE which has been deleted in MAC due to ueId change or anyother scenario
136   * @details The data being sent in this primitive is meant to be transmitted on
137   * @sa TfUiTfuDelDatReq
138   * @param pst
139   * @param spId
140   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
141   * @return
142  */
143 S16 PtLiTfuDelDatReq ARGS((Pst * pst, SpId spId, TfuDelDatReqInfo * datReq));
144 #endif /*L2_OPTMZ*/
145 #endif /*--#ifdef PTRGLITFU--*/
146
147 /** @brief This API is used to send a Bind Request from MAC to PHY.
148  * @param pst Pointer to the post structure.
149  * @param suId SAP ID of the service user.
150  * @param spId SAP ID of the service provider.
151  * @return ROK/RFAILED
152  */
153 static const TfuBndReq RgLiTfuBndReqMt[RG_MAX_TFU_PROV] =
154 {
155 #ifdef LCRGLITFU
156    cmPkTfuBndReq,
157 #else
158    PtLiTfuBndReq,
159 #endif
160 #ifdef TF
161    TfUiTfuBndReq,
162 #else
163    PtLiTfuBndReq,
164 #endif
165 #ifdef LWLCRGLITFU
166    cmPkTfuBndReq
167 #else
168    PtLiTfuBndReq
169 #endif
170 };
171
172 /** @brief This API is used to send a Bind Request from Scheduler to PHY.
173  * @param pst Pointer to the post structure.
174  * @param suId SAP ID of the service user.
175  * @param spId SAP ID of the service provider.
176  * @return ROK/RFAILED
177  */
178 static const TfuSchBndReq RgLiTfuSchBndReqMt[RG_MAX_TFU_PROV] =
179 {
180 #ifdef LCRGLITFU
181    cmPkTfuSchBndReq,
182 #else
183    PtLiTfuSchBndReq,
184 #endif
185 #ifdef TF
186    TfUiTfuSchBndReq,
187 #else
188    PtLiTfuSchBndReq,
189 #endif
190 #ifdef LWLCRGLITFU
191    cmPkTfuSchBndReq
192 #else
193    PtLiTfuSchBndReq
194 #endif
195 };
196
197 /** @brief This API is used to send an Unbind Request from MAC to PHY.
198  * @param pst Pointer to the post structure.
199  * @param suId SAP ID of the service provider.
200  * @param reason Reason for Unbind request.
201  * @return ROK/RFAILED
202  */
203 static const TfuUbndReq RgLiTfuUbndReqMt[RG_MAX_TFU_PROV] =
204 {
205 #ifdef LCRGLITFU
206    cmPkTfuUbndReq,
207 #else
208    PtLiTfuUbndReq,
209 #endif
210 #ifdef TF
211    TfUiTfuUbndReq,
212 #else
213    PtLiTfuUbndReq,
214 #endif
215 #ifdef LWLCRGLITFU
216    cmPkTfuUbndReq
217 #else
218    PtLiTfuUbndReq
219 #endif
220 };
221
222 /** @brief This API is used to send an Unbind Request from Scheduler to PHY.
223  * @param pst Pointer to the post structure.
224  * @param suId SAP ID of the service provider.
225  * @param reason Reason for Unbind request.
226  * @return ROK/RFAILED
227  */
228 static const TfuSchUbndReq RgLiTfuSchUbndReqMt[RG_MAX_TFU_PROV] =
229 {
230 #ifdef LCRGLITFU
231    cmPkTfuSchUbndReq,
232 #else
233    PtLiTfuSchUbndReq,
234 #endif
235 #ifdef TF
236    TfUiTfuSchUbndReq,
237 #else
238    PtLiTfuSchUbndReq,
239 #endif
240 #ifdef LWLCRGLITFU
241    cmPkTfuSchUbndReq
242 #else
243    PtLiTfuSchUbndReq
244 #endif
245 };
246
247 /** @brief This primitive is sent from Scheduler to PHY.
248  * @details This primitive provides PHY with all the information required by 
249  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
250  * -# On PUCCH UE can transmit the following
251  *    -# SR
252  *    -# HARQ feedback
253  *    -# CQI report
254  *    -# HARQ + CQI
255  *    -# HARQ + SR
256  * -# On PUSCH UE can transmit the following
257  *    -# Data
258  *    -# Data + CQI
259  *    -# Data + HARQ Feedback
260  * This primitive carries all the information for the expected subframe for all
261  * the UEs that have been scheduled to transmit.
262  * @param pst Pointer to the post structure.
263  * @param spId SAP ID of the service provider.
264  * @param recpReq Pointer to the TfuRecpReqInfo structure.
265  * @return ROK/RFAILED
266  */
267 static const TfuRecpReq RgLiTfuRecpReqMt[RG_MAX_TFU_PROV] =
268 {
269 #ifdef LCRGLITFU
270    cmPkTfuRecpReq,
271 #else
272    PtLiTfuRecpReq,
273 #endif
274 #ifdef TF
275    TfUiTfuRecpReq,
276 #else
277    PtLiTfuRecpReq,
278 #endif
279 #ifdef LWLCRGLITFU
280    cmPkTfuRecpReq
281 #else
282    PtLiTfuRecpReq
283 #endif
284 };
285
286 /** @brief This Primitive is sent from Scheduler to PHY. It provides PHY with
287   * all the control information
288   * @details This primitive carries the information sent on the following
289   * channels - 
290   * -# PDCCH
291   * -# PHICH
292   * -# PCFICH
293   * 
294   * @param pst
295   * @param spId
296   * @param cntrlReq pointer to TfuCntrlReqInfo
297   * @return ROK/RFAILED
298   */
299 static const TfuCntrlReq RgLiTfuCntrlReqMt[RG_MAX_TFU_PROV] =
300 {
301 #ifdef LCRGLITFU
302    cmPkTfuCntrlReq,
303 #else
304    PtLiTfuCntrlReq,
305 #endif
306 #ifdef TF
307    TfUiTfuCntrlReq,
308 #else
309    PtLiTfuCntrlReq,
310 #endif
311 #ifdef LWLCRGLITFU
312    cmPkTfuCntrlReq
313 #else
314    PtLiTfuCntrlReq
315 #endif
316 };
317
318 /** @brief This Primitive carries the Data PDUs from MAC to PHY for
319   * transmission. 
320   * @details The data being sent in this primitive is meant to be transmitted on
321   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
322   * layer processing, requisite control information is also sent along with the
323   * data. 
324   * @sa TfUiTfuCntrlReq
325   * @param pst 
326   * @param spId
327   * @param tfuDatReq pointer to TfuDatReqInfo
328   * @return 
329   */
330 static const TfuDatReq RgLiTfuDatReqMt[RG_MAX_TFU_PROV] =
331 {
332 #ifdef LCRGLITFU
333    cmPkTfuDatReq,
334 #else
335    PtLiTfuDatReq,
336 #endif
337 #ifdef TF
338    TfUiTfuDatReq,
339 #else
340    PtLiTfuDatReq,
341 #endif
342 #ifdef LWLCRGLITFU
343    cmPkTfuDatReq
344 #else
345    PtLiTfuDatReq
346 #endif
347 };
348
349 #ifdef L2_OPTMZ
350 /** @brief This Primitive carries cellId and UeId for which datReq need to be deleted. 
351   * @details This primitive is used to send delDatReq to CL to delete the PDUs of 
352   * UE which has been deleted in MAC due to ueId change or anyother scenario
353   * NOTE:: This API is only supported for TC because race condition issue
354   *        happens only in case of TC
355   * @sa TfUiTfuDelDatReq
356   * @param pst 
357   * @param spId
358   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
359   * @return 
360   */
361 static const TfuDelDatReq RgLiTfuDelDatReqMt[RG_MAX_TFU_PROV] =
362 {
363 #ifdef LCRGLITFU
364    PtLiTfuDelDatReq, /*calling dummy api as LC not required for this privitive*/
365 #else
366    PtLiTfuDelDatReq,
367 #endif
368 #ifdef TF
369    TfUiTfuDelDatReq,
370 #else
371    PtLiTfuDelDatReq,
372 #endif
373 #ifdef LWLCRGLITFU
374    PtLiTfuDelDatReq, /*calling dummy api as LWLC not required for this privitive*/
375 #else
376    PtLiTfuDelDatReq
377 #endif
378 };
379 #endif /* L2_OPTMZ*/
380
381 #ifdef RG
382
383
384 \f
385 /***********************************************************
386 *
387 *     Func : RgLiTfuBndReq
388 *
389 *
390 *     Desc : This API is used to send a Bind Request from MAC to PHY.
391  * @param pst Pointer to the post structure.
392  * @param suId SAP ID of the service user.
393  * @param spId SAP ID of the service provider.
394  * @return ROK/RFAILED
395 *
396 *
397 *     Ret  : S16
398 *
399 *     Notes:
400 *
401 *     File  : 
402 *
403 **********************************************************/
404 #ifdef ANSI
405 S16 RgLiTfuBndReq
406 (
407 Pst * pst,
408 SuId suId,
409 SpId spId
410 )
411 #else
412 S16 RgLiTfuBndReq(pst, suId, spId)
413 Pst * pst;
414 SuId suId;
415 SpId spId;
416 #endif
417 {
418
419    return ((*RgLiTfuBndReqMt[pst->selector])(pst, suId, spId));
420
421 }
422
423
424 \f
425 /***********************************************************
426 *
427 *     Func : RgLiTfuSchBndReq
428 *
429 *
430 *     Desc : This API is used to send a Bind Request from Scheduler to PHY.
431  * @param pst Pointer to the post structure.
432  * @param suId SAP ID of the service user.
433  * @param spId SAP ID of the service provider.
434  * @return ROK/RFAILED
435 *
436 *
437 *     Ret  : S16
438 *
439 *     Notes:
440 *
441 *     File  : 
442 *
443 **********************************************************/
444 #ifdef ANSI
445 S16 RgLiTfuSchBndReq
446 (
447 Pst * pst,
448 SuId suId,
449 SpId spId
450 )
451 #else
452 S16 RgLiTfuSchBndReq(pst, suId, spId)
453 Pst * pst;
454 SuId suId;
455 SpId spId;
456 #endif
457 {
458
459    return ((*RgLiTfuSchBndReqMt[pst->selector])(pst, suId, spId));
460
461 }
462
463
464 \f
465 /***********************************************************
466 *
467 *     Func : RgLiTfuUbndReq
468 *
469 *
470 *     Desc : This API is used to send an Unbind Request from MAC to PHY.
471  * @param pst Pointer to the post structure.
472  * @param suId SAP ID of the service provider.
473  * @param reason Reason for Unbind request.
474  * @return ROK/RFAILED
475 *
476 *
477 *     Ret  : S16
478 *
479 *     Notes:
480 *
481 *     File  : 
482 *
483 **********************************************************/
484 #ifdef ANSI
485 S16 RgLiTfuUbndReq
486 (
487 Pst * pst,
488 SpId spId,
489 Reason reason
490 )
491 #else
492 S16 RgLiTfuUbndReq(pst, spId, reason)
493 Pst * pst;
494 SpId spId;
495 Reason reason;
496 #endif
497 {
498
499    return ((*RgLiTfuUbndReqMt[pst->selector])(pst, spId, reason));
500
501 }
502
503
504 \f
505 /***********************************************************
506 *
507 *     Func : RgLiTfuSchUbndReq
508 *
509 *
510 *     Desc : This API is used to send an Unbind Request from Scheduler to PHY.
511  * @param pst Pointer to the post structure.
512  * @param suId SAP ID of the service provider.
513  * @param reason Reason for Unbind request.
514  * @return ROK/RFAILED
515 *
516 *
517 *     Ret  : S16
518 *
519 *     Notes:
520 *
521 *     File  : 
522 *
523 **********************************************************/
524 #ifdef ANSI
525 S16 RgLiTfuSchUbndReq
526 (
527 Pst * pst,
528 SpId spId,
529 Reason reason
530 )
531 #else
532 S16 RgLiTfuSchUbndReq(pst, spId, reason)
533 Pst * pst;
534 SpId spId;
535 Reason reason;
536 #endif
537 {
538
539    return ((*RgLiTfuSchUbndReqMt[pst->selector])(pst, spId, reason));
540
541 }
542
543
544 \f
545 /***********************************************************
546 *
547 *     Func : RgLiTfuRecpReq
548 *
549 *
550 *     Desc : This primitive is sent from Scheduler to PHY.
551  * @details This primitive provides PHY with all the information required by 
552  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
553  * -# On PUCCH UE can transmit the following
554  *    -# SR
555  *    -# HARQ feedback
556  *    -# CQI report
557  *    -# HARQ + CQI
558  *    -# HARQ + SR
559  * -# On PUSCH UE can transmit the following
560  *    -# Data
561  *    -# Data + CQI
562  *    -# Data + HARQ Feedback
563  * This primitive carries all the information for the expected subframe for all
564  * the UEs that have been scheduled to transmit.
565  * @param pst Pointer to the post structure.
566  * @param spId SAP ID of the service provider.
567  * @param recpReq Pointer to the TfuRecpReqInfo structure.
568  * @return ROK/RFAILED
569 *
570 *
571 *     Ret  : S16
572 *
573 *     Notes:
574 *
575 *     File  : 
576 *
577 **********************************************************/
578 #ifdef ANSI
579 S16 RgLiTfuRecpReq
580 (
581 Pst * pst,
582 SpId spId,
583 TfuRecpReqInfo * recpReq
584 )
585 #else
586 S16 RgLiTfuRecpReq(pst, spId, recpReq)
587 Pst * pst;
588 SpId spId;
589 TfuRecpReqInfo * recpReq;
590 #endif
591 {
592
593    return ((*RgLiTfuRecpReqMt[pst->selector])(pst, spId, recpReq));
594
595 }
596
597
598 \f
599 /***********************************************************
600 *
601 *     Func : RgLiTfuCntrlReq
602 *
603 *
604 *     Desc : This Primitive is sent from Scheduler to PHY. It provides PHY with
605   * all the control information
606   * @details This primitive carries the information sent on the following
607   * channels - 
608   * -# PDCCH
609   * -# PHICH
610   * -# PCFICH
611   * 
612   * @param pst
613   * @param spId
614   * @param cntrlReq pointer to TfuCntrlReqInfo
615   * @return ROK/RFAILED
616 *
617 *
618 *     Ret  : S16
619 *
620 *     Notes:
621 *
622 *     File  : 
623 *
624 **********************************************************/
625 #ifdef ANSI
626 S16 RgLiTfuCntrlReq
627 (
628 Pst * pst,
629 SpId spId,
630 TfuCntrlReqInfo * cntrlReq
631 )
632 #else
633 S16 RgLiTfuCntrlReq(pst, spId, cntrlReq)
634 Pst * pst;
635 SpId spId;
636 TfuCntrlReqInfo * cntrlReq;
637 #endif
638 {
639
640    return ((*RgLiTfuCntrlReqMt[pst->selector])(pst, spId, cntrlReq));
641
642 }
643
644
645 \f
646 /***********************************************************
647 *
648 *     Func : RgLiTfuDatReq
649 *
650 *
651 *     Desc : This Primitive carries the Data PDUs from MAC to PHY for
652   * transmission. 
653   * @details The data being sent in this primitive is meant to be transmitted on
654   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
655   * layer processing, requisite control information is also sent along with the
656   * data. 
657   * @sa TfUiTfuCntrlReq
658   * @param pst 
659   * @param spId
660   * @param tfuDatReq pointer to TfuDatReqInfo
661   * @return
662 *
663 *
664 *     Ret  : S16
665 *
666 *     Notes:
667 *
668 *     File  : 
669 *
670 **********************************************************/
671 #ifdef ANSI
672 S16 RgLiTfuDatReq
673 (
674 Pst * pst,
675 SpId spId,
676 TfuDatReqInfo * datReq
677 )
678 #else
679 S16 RgLiTfuDatReq(pst, spId, datReq)
680 Pst * pst;
681 SpId spId;
682 TfuDatReqInfo * datReq;
683 #endif
684 {
685
686    return ((*RgLiTfuDatReqMt[pst->selector])(pst, spId, datReq));
687
688 }
689
690 #ifdef L2_OPTMZ
691 \f
692 /***********************************************************
693 *
694 *     Func : RgLiTfuDelDatReq
695 *
696 *
697 *     Desc : This Primitive is used to delete datReq in CL when there is ueId change. 
698   * @details: This primitive is required when L2_OPMZ flag is elabed. this is required
699   *           To delete datRq PDUs from CL for the Ue for which Ue Id got changed or
700   *           anyother similar scenario
701   * @sa TfUiTfuDelDatReq
702   * @param pst 
703   * @param spId
704   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
705   * @return
706 *
707 *
708 *     Ret  : S16
709 *
710 *     Notes:
711 *
712 *     File  : 
713 *
714 **********************************************************/
715 #ifdef ANSI
716 S16 RgLiTfuDelDatReq
717 (
718 Pst * pst,
719 SpId spId,
720 TfuDelDatReqInfo * delDatReq
721 )
722 #else
723 S16 RgLiTfuDelDatReq(pst, spId, delDatReq)
724 Pst * pst;
725 SpId spId;
726 TfuDelDatReqInfo * delDatReq;
727 #endif
728 {
729
730    return ((*RgLiTfuDelDatReqMt[pst->selector])(pst, spId, delDatReq));
731
732 }
733 #endif /* L2_OPTMZ*/
734
735 #endif /*--ifdef RG--*/
736
737 #ifdef PTRGLITFU
738
739
740 \f
741 /***********************************************************
742 *
743 *     Func : PtLiTfuBndReq
744 *
745 *
746 *     Desc : This API is used to send a Bind Request from MAC to PHY.
747  * @param pst Pointer to the post structure.
748  * @param suId SAP ID of the service user.
749  * @param spId SAP ID of the service provider.
750  * @return ROK/RFAILED
751 *
752 *
753 *     Ret  : S16
754 *
755 *     Notes:
756 *
757 *     File  : 
758 *
759 **********************************************************/
760 #ifdef ANSI
761 S16 PtLiTfuBndReq
762 (
763 Pst * pst,
764 SuId suId,
765 SpId spId
766 )
767 #else
768 S16 PtLiTfuBndReq(pst, suId, spId)
769 Pst * pst;
770 SuId suId;
771 SpId spId;
772 #endif
773 {
774
775
776    UNUSED(pst);
777    UNUSED(suId);
778    UNUSED(spId);
779
780    return ROK;
781
782 }
783
784
785 \f
786 /***********************************************************
787 *
788 *     Func : PtLiTfuSchBndReq
789 *
790 *
791 *     Desc : This API is used to send a Bind Request from Scheduler to PHY.
792  * @param pst Pointer to the post structure.
793  * @param suId SAP ID of the service user.
794  * @param spId SAP ID of the service provider.
795  * @return ROK/RFAILED
796 *
797 *
798 *     Ret  : S16
799 *
800 *     Notes:
801 *
802 *     File  : 
803 *
804 **********************************************************/
805 #ifdef ANSI
806 S16 PtLiTfuSchBndReq
807 (
808 Pst * pst,
809 SuId suId,
810 SpId spId
811 )
812 #else
813 S16 PtLiTfuSchBndReq(pst, suId, spId)
814 Pst * pst;
815 SuId suId;
816 SpId spId;
817 #endif
818 {
819
820    UNUSED(pst);
821    UNUSED(suId);
822    UNUSED(spId);
823
824    return ROK;
825
826 }
827
828
829 \f
830 /***********************************************************
831 *
832 *     Func : PtLiTfuUbndReq
833 *
834 *
835 *     Desc : This API is used to send an Unbind Request from MAC to PHY.
836  * @param pst Pointer to the post structure.
837  * @param suId SAP ID of the service provider.
838  * @param reason Reason for Unbind request.
839  * @return ROK/RFAILED
840 *
841 *
842 *     Ret  : S16
843 *
844 *     Notes:
845 *
846 *     File  : 
847 *
848 **********************************************************/
849 #ifdef ANSI
850 S16 PtLiTfuUbndReq
851 (
852 Pst * pst,
853 SpId spId,
854 Reason reason
855 )
856 #else
857 S16 PtLiTfuUbndReq(pst, spId, reason)
858 Pst * pst;
859 SpId spId;
860 Reason reason;
861 #endif
862 {
863
864    UNUSED(pst);
865    UNUSED(spId);
866    UNUSED(reason);
867
868    return ROK;
869
870 }
871
872
873 \f
874 /***********************************************************
875 *
876 *     Func : PtLiTfuSchUbndReq
877 *
878 *
879 *     Desc : This API is used to send an Unbind Request from Scheduler to PHY.
880  * @param pst Pointer to the post structure.
881  * @param suId SAP ID of the service provider.
882  * @param reason Reason for Unbind request.
883  * @return ROK/RFAILED
884 *
885 *
886 *     Ret  : S16
887 *
888 *     Notes:
889 *
890 *     File  : 
891 *
892 **********************************************************/
893 #ifdef ANSI
894 S16 PtLiTfuSchUbndReq
895 (
896 Pst * pst,
897 SpId spId,
898 Reason reason
899 )
900 #else
901 S16 PtLiTfuSchUbndReq(pst, spId, reason)
902 Pst * pst;
903 SpId spId;
904 Reason reason;
905 #endif
906 {
907
908    UNUSED(pst);
909    UNUSED(spId);
910    UNUSED(reason);
911
912    return ROK;
913
914 }
915
916
917 \f
918 /***********************************************************
919 *
920 *     Func : PtLiTfuRecpReq
921 *
922 *
923 *     Desc : This primitive is sent from Scheduler to PHY.
924  * @details This primitive provides PHY with all the information required by 
925  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
926  * -# On PUCCH UE can transmit the following
927  *    -# SR
928  *    -# HARQ feedback
929  *    -# CQI report
930  *    -# HARQ + CQI
931  *    -# HARQ + SR
932  * -# On PUSCH UE can transmit the following
933  *    -# Data
934  *    -# Data + CQI
935  *    -# Data + HARQ Feedback
936  * This primitive carries all the information for the expected subframe for all
937  * the UEs that have been scheduled to transmit.
938  * @param pst Pointer to the post structure.
939  * @param spId SAP ID of the service provider.
940  * @param recpReq Pointer to the TfuRecpReqInfo structure.
941  * @return ROK/RFAILED
942 *
943 *
944 *     Ret  : S16
945 *
946 *     Notes:
947 *
948 *     File  : 
949 *
950 **********************************************************/
951 #ifdef ANSI
952 S16 PtLiTfuRecpReq
953 (
954 Pst * pst,
955 SpId spId,
956 TfuRecpReqInfo * recpReq
957 )
958 #else
959 S16 PtLiTfuRecpReq(pst, spId, recpReq)
960 Pst * pst;
961 SpId spId;
962 TfuRecpReqInfo * recpReq;
963 #endif
964 {
965
966    UNUSED(pst);
967    UNUSED(spId);
968    UNUSED(recpReq);
969
970    return ROK;
971
972 }
973
974
975 \f
976 /***********************************************************
977 *
978 *     Func : PtLiTfuCntrlReq
979 *
980 *
981 *     Desc : This Primitive is sent from Scheduler to PHY. It provides PHY with
982   * all the control information
983   * @details This primitive carries the information sent on the following
984   * channels - 
985   * -# PDCCH
986   * -# PHICH
987   * -# PCFICH
988   * 
989   * @param pst
990   * @param spId
991   * @param cntrlReq pointer to TfuCntrlReqInfo
992   * @return ROK/RFAILED
993 *
994 *
995 *     Ret  : S16
996 *
997 *     Notes:
998 *
999 *     File  : 
1000 *
1001 **********************************************************/
1002 #ifdef ANSI
1003 S16 PtLiTfuCntrlReq
1004 (
1005 Pst * pst,
1006 SpId spId,
1007 TfuCntrlReqInfo * cntrlReq
1008 )
1009 #else
1010 S16 PtLiTfuCntrlReq(pst, spId, cntrlReq)
1011 Pst * pst;
1012 SpId spId;
1013 TfuCntrlReqInfo * cntrlReq;
1014 #endif
1015 {
1016
1017    UNUSED(pst);
1018    UNUSED(spId);
1019    UNUSED(cntrlReq);
1020
1021    return ROK;
1022
1023 }
1024
1025
1026 \f
1027 /***********************************************************
1028 *
1029 *     Func : PtLiTfuDatReq
1030 *
1031 *
1032 *     Desc : This Primitive carries the Data PDUs from MAC to PHY for
1033   * transmission. 
1034   * @details The data being sent in this primitive is meant to be transmitted on
1035   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
1036   * layer processing, requisite control information is also sent along with the
1037   * data. 
1038   * @sa TfUiTfuCntrlReq
1039   * @param pst 
1040   * @param spId
1041   * @param tfuDatReq pointer to TfuDatReqInfo
1042   * @return
1043 *
1044 *
1045 *     Ret  : S16
1046 *
1047 *     Notes:
1048 *
1049 *     File  : 
1050 *
1051 **********************************************************/
1052 #ifdef ANSI
1053 S16 PtLiTfuDatReq
1054 (
1055 Pst * pst,
1056 SpId spId,
1057 TfuDatReqInfo * datReq
1058 )
1059 #else
1060 S16 PtLiTfuDatReq(pst, spId, datReq)
1061 Pst * pst;
1062 SpId spId;
1063 TfuDatReqInfo * datReq;
1064 #endif
1065 {
1066
1067    UNUSED(pst);
1068    UNUSED(spId);
1069    UNUSED(datReq);
1070
1071    return ROK;
1072
1073 }
1074
1075 \f
1076 #ifdef L2_OPTMZ
1077 /***********************************************************
1078 *
1079 *     Func : PtLiTfuDelDatReq
1080 *
1081 *
1082 *   @brief This Primitive carries cellId and UeId for which datReq need to be deleted.
1083   * @details This primitive is used to send delDatReq to CL to delete the PDUs of
1084     * UE which has been deleted in MAC due to ueId change or anyother scenario
1085     
1086   * @details The data being sent in this primitive is meant to be transmitted on
1087   * @sa TfUiTfuDelDatReq
1088   * @param pst 
1089   * @param spId
1090   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
1091   * @return
1092 *
1093 *
1094 *     Ret  : S16
1095 *
1096 *     Notes:
1097 *
1098 *     File  : 
1099 *
1100 **********************************************************/
1101 #ifdef ANSI
1102 S16 PtLiTfuDelDatReq
1103 (
1104 Pst * pst,
1105 SpId spId,
1106 TfuDelDatReqInfo * delDatReq
1107 )
1108 #else
1109 S16 PtLiTfuDelDatReq(pst, spId, delDatReq)
1110 Pst * pst;
1111 SpId spId;
1112 TfuDelDatReqInfo * DelDatReq;
1113 #endif
1114 {
1115
1116    UNUSED(pst);
1117    UNUSED(spId);
1118    UNUSED(delDatReq);
1119
1120    return ROK;
1121
1122 }
1123 #endif /*L2_OPTMZ*/
1124
1125 #endif /*--ifdef PTRGLITFU--*/
1126
1127 #ifdef __cplusplus
1128 }
1129 #endif /* __cplusplus */
1130 \f
1131 /**********************************************************************
1132  
1133          End of file
1134 **********************************************************************/