Moving all common header file into common_def.h file
[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 EXTERN 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 EXTERN 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 EXTERN 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 EXTERN 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 EXTERN 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 EXTERN 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 EXTERN 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 EXTERN 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PRIVATE CONSTANT 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 PUBLIC S16 RgLiTfuBndReq
406 (
407 Pst * pst,
408 SuId suId,
409 SpId spId
410 )
411 #else
412 PUBLIC S16 RgLiTfuBndReq(pst, suId, spId)
413 Pst * pst;
414 SuId suId;
415 SpId spId;
416 #endif
417 {
418
419    TRC3(RgLiTfuBndReq)
420
421    RETVALUE((*RgLiTfuBndReqMt[pst->selector])(pst, suId, spId));
422
423 }
424
425
426 \f
427 /***********************************************************
428 *
429 *     Func : RgLiTfuSchBndReq
430 *
431 *
432 *     Desc : This API is used to send a Bind Request from Scheduler to PHY.
433  * @param pst Pointer to the post structure.
434  * @param suId SAP ID of the service user.
435  * @param spId SAP ID of the service provider.
436  * @return ROK/RFAILED
437 *
438 *
439 *     Ret  : S16
440 *
441 *     Notes:
442 *
443 *     File  : 
444 *
445 **********************************************************/
446 #ifdef ANSI
447 PUBLIC S16 RgLiTfuSchBndReq
448 (
449 Pst * pst,
450 SuId suId,
451 SpId spId
452 )
453 #else
454 PUBLIC S16 RgLiTfuSchBndReq(pst, suId, spId)
455 Pst * pst;
456 SuId suId;
457 SpId spId;
458 #endif
459 {
460
461    TRC3(RgLiTfuSchBndReq)
462
463    RETVALUE((*RgLiTfuSchBndReqMt[pst->selector])(pst, suId, spId));
464
465 }
466
467
468 \f
469 /***********************************************************
470 *
471 *     Func : RgLiTfuUbndReq
472 *
473 *
474 *     Desc : This API is used to send an Unbind Request from MAC to PHY.
475  * @param pst Pointer to the post structure.
476  * @param suId SAP ID of the service provider.
477  * @param reason Reason for Unbind request.
478  * @return ROK/RFAILED
479 *
480 *
481 *     Ret  : S16
482 *
483 *     Notes:
484 *
485 *     File  : 
486 *
487 **********************************************************/
488 #ifdef ANSI
489 PUBLIC S16 RgLiTfuUbndReq
490 (
491 Pst * pst,
492 SpId spId,
493 Reason reason
494 )
495 #else
496 PUBLIC S16 RgLiTfuUbndReq(pst, spId, reason)
497 Pst * pst;
498 SpId spId;
499 Reason reason;
500 #endif
501 {
502
503    TRC3(RgLiTfuUbndReq)
504
505    RETVALUE((*RgLiTfuUbndReqMt[pst->selector])(pst, spId, reason));
506
507 }
508
509
510 \f
511 /***********************************************************
512 *
513 *     Func : RgLiTfuSchUbndReq
514 *
515 *
516 *     Desc : This API is used to send an Unbind Request from Scheduler to PHY.
517  * @param pst Pointer to the post structure.
518  * @param suId SAP ID of the service provider.
519  * @param reason Reason for Unbind request.
520  * @return ROK/RFAILED
521 *
522 *
523 *     Ret  : S16
524 *
525 *     Notes:
526 *
527 *     File  : 
528 *
529 **********************************************************/
530 #ifdef ANSI
531 PUBLIC S16 RgLiTfuSchUbndReq
532 (
533 Pst * pst,
534 SpId spId,
535 Reason reason
536 )
537 #else
538 PUBLIC S16 RgLiTfuSchUbndReq(pst, spId, reason)
539 Pst * pst;
540 SpId spId;
541 Reason reason;
542 #endif
543 {
544
545    TRC3(RgLiTfuSchUbndReq)
546
547    RETVALUE((*RgLiTfuSchUbndReqMt[pst->selector])(pst, spId, reason));
548
549 }
550
551
552 \f
553 /***********************************************************
554 *
555 *     Func : RgLiTfuRecpReq
556 *
557 *
558 *     Desc : This primitive is sent from Scheduler to PHY.
559  * @details This primitive provides PHY with all the information required by 
560  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
561  * -# On PUCCH UE can transmit the following
562  *    -# SR
563  *    -# HARQ feedback
564  *    -# CQI report
565  *    -# HARQ + CQI
566  *    -# HARQ + SR
567  * -# On PUSCH UE can transmit the following
568  *    -# Data
569  *    -# Data + CQI
570  *    -# Data + HARQ Feedback
571  * This primitive carries all the information for the expected subframe for all
572  * the UEs that have been scheduled to transmit.
573  * @param pst Pointer to the post structure.
574  * @param spId SAP ID of the service provider.
575  * @param recpReq Pointer to the TfuRecpReqInfo structure.
576  * @return ROK/RFAILED
577 *
578 *
579 *     Ret  : S16
580 *
581 *     Notes:
582 *
583 *     File  : 
584 *
585 **********************************************************/
586 #ifdef ANSI
587 PUBLIC S16 RgLiTfuRecpReq
588 (
589 Pst * pst,
590 SpId spId,
591 TfuRecpReqInfo * recpReq
592 )
593 #else
594 PUBLIC S16 RgLiTfuRecpReq(pst, spId, recpReq)
595 Pst * pst;
596 SpId spId;
597 TfuRecpReqInfo * recpReq;
598 #endif
599 {
600
601    TRC3(RgLiTfuRecpReq)
602
603    RETVALUE((*RgLiTfuRecpReqMt[pst->selector])(pst, spId, recpReq));
604
605 }
606
607
608 \f
609 /***********************************************************
610 *
611 *     Func : RgLiTfuCntrlReq
612 *
613 *
614 *     Desc : This Primitive is sent from Scheduler to PHY. It provides PHY with
615   * all the control information
616   * @details This primitive carries the information sent on the following
617   * channels - 
618   * -# PDCCH
619   * -# PHICH
620   * -# PCFICH
621   * 
622   * @param pst
623   * @param spId
624   * @param cntrlReq pointer to TfuCntrlReqInfo
625   * @return ROK/RFAILED
626 *
627 *
628 *     Ret  : S16
629 *
630 *     Notes:
631 *
632 *     File  : 
633 *
634 **********************************************************/
635 #ifdef ANSI
636 PUBLIC S16 RgLiTfuCntrlReq
637 (
638 Pst * pst,
639 SpId spId,
640 TfuCntrlReqInfo * cntrlReq
641 )
642 #else
643 PUBLIC S16 RgLiTfuCntrlReq(pst, spId, cntrlReq)
644 Pst * pst;
645 SpId spId;
646 TfuCntrlReqInfo * cntrlReq;
647 #endif
648 {
649
650    TRC3(RgLiTfuCntrlReq)
651
652    RETVALUE((*RgLiTfuCntrlReqMt[pst->selector])(pst, spId, cntrlReq));
653
654 }
655
656
657 \f
658 /***********************************************************
659 *
660 *     Func : RgLiTfuDatReq
661 *
662 *
663 *     Desc : This Primitive carries the Data PDUs from MAC to PHY for
664   * transmission. 
665   * @details The data being sent in this primitive is meant to be transmitted on
666   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
667   * layer processing, requisite control information is also sent along with the
668   * data. 
669   * @sa TfUiTfuCntrlReq
670   * @param pst 
671   * @param spId
672   * @param tfuDatReq pointer to TfuDatReqInfo
673   * @return
674 *
675 *
676 *     Ret  : S16
677 *
678 *     Notes:
679 *
680 *     File  : 
681 *
682 **********************************************************/
683 #ifdef ANSI
684 PUBLIC S16 RgLiTfuDatReq
685 (
686 Pst * pst,
687 SpId spId,
688 TfuDatReqInfo * datReq
689 )
690 #else
691 PUBLIC S16 RgLiTfuDatReq(pst, spId, datReq)
692 Pst * pst;
693 SpId spId;
694 TfuDatReqInfo * datReq;
695 #endif
696 {
697
698    TRC3(RgLiTfuDatReq)
699
700    RETVALUE((*RgLiTfuDatReqMt[pst->selector])(pst, spId, datReq));
701
702 }
703
704 #ifdef L2_OPTMZ
705 \f
706 /***********************************************************
707 *
708 *     Func : RgLiTfuDelDatReq
709 *
710 *
711 *     Desc : This Primitive is used to delete datReq in CL when there is ueId change. 
712   * @details: This primitive is required when L2_OPMZ flag is elabed. this is required
713   *           To delete datRq PDUs from CL for the Ue for which Ue Id got changed or
714   *           anyother similar scenario
715   * @sa TfUiTfuDelDatReq
716   * @param pst 
717   * @param spId
718   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
719   * @return
720 *
721 *
722 *     Ret  : S16
723 *
724 *     Notes:
725 *
726 *     File  : 
727 *
728 **********************************************************/
729 #ifdef ANSI
730 PUBLIC S16 RgLiTfuDelDatReq
731 (
732 Pst * pst,
733 SpId spId,
734 TfuDelDatReqInfo * delDatReq
735 )
736 #else
737 PUBLIC S16 RgLiTfuDelDatReq(pst, spId, delDatReq)
738 Pst * pst;
739 SpId spId;
740 TfuDelDatReqInfo * delDatReq;
741 #endif
742 {
743
744    TRC3(RgLiTfuDelDatReq)
745
746    RETVALUE((*RgLiTfuDelDatReqMt[pst->selector])(pst, spId, delDatReq));
747
748 }
749 #endif /* L2_OPTMZ*/
750
751 #endif /*--ifdef RG--*/
752
753 #ifdef PTRGLITFU
754
755
756 \f
757 /***********************************************************
758 *
759 *     Func : PtLiTfuBndReq
760 *
761 *
762 *     Desc : This API is used to send a Bind Request from MAC to PHY.
763  * @param pst Pointer to the post structure.
764  * @param suId SAP ID of the service user.
765  * @param spId SAP ID of the service provider.
766  * @return ROK/RFAILED
767 *
768 *
769 *     Ret  : S16
770 *
771 *     Notes:
772 *
773 *     File  : 
774 *
775 **********************************************************/
776 #ifdef ANSI
777 PUBLIC S16 PtLiTfuBndReq
778 (
779 Pst * pst,
780 SuId suId,
781 SpId spId
782 )
783 #else
784 PUBLIC S16 PtLiTfuBndReq(pst, suId, spId)
785 Pst * pst;
786 SuId suId;
787 SpId spId;
788 #endif
789 {
790
791    TRC3(PtLiTfuBndReq)
792
793    UNUSED(pst);
794    UNUSED(suId);
795    UNUSED(spId);
796
797    RETVALUE(ROK);
798
799 }
800
801
802 \f
803 /***********************************************************
804 *
805 *     Func : PtLiTfuSchBndReq
806 *
807 *
808 *     Desc : This API is used to send a Bind Request from Scheduler to PHY.
809  * @param pst Pointer to the post structure.
810  * @param suId SAP ID of the service user.
811  * @param spId SAP ID of the service provider.
812  * @return ROK/RFAILED
813 *
814 *
815 *     Ret  : S16
816 *
817 *     Notes:
818 *
819 *     File  : 
820 *
821 **********************************************************/
822 #ifdef ANSI
823 PUBLIC S16 PtLiTfuSchBndReq
824 (
825 Pst * pst,
826 SuId suId,
827 SpId spId
828 )
829 #else
830 PUBLIC S16 PtLiTfuSchBndReq(pst, suId, spId)
831 Pst * pst;
832 SuId suId;
833 SpId spId;
834 #endif
835 {
836
837    TRC3(PtLiTfuSchBndReq)
838
839    UNUSED(pst);
840    UNUSED(suId);
841    UNUSED(spId);
842
843    RETVALUE(ROK);
844
845 }
846
847
848 \f
849 /***********************************************************
850 *
851 *     Func : PtLiTfuUbndReq
852 *
853 *
854 *     Desc : This API is used to send an Unbind Request from MAC to PHY.
855  * @param pst Pointer to the post structure.
856  * @param suId SAP ID of the service provider.
857  * @param reason Reason for Unbind request.
858  * @return ROK/RFAILED
859 *
860 *
861 *     Ret  : S16
862 *
863 *     Notes:
864 *
865 *     File  : 
866 *
867 **********************************************************/
868 #ifdef ANSI
869 PUBLIC S16 PtLiTfuUbndReq
870 (
871 Pst * pst,
872 SpId spId,
873 Reason reason
874 )
875 #else
876 PUBLIC S16 PtLiTfuUbndReq(pst, spId, reason)
877 Pst * pst;
878 SpId spId;
879 Reason reason;
880 #endif
881 {
882
883    TRC3(PtLiTfuUbndReq)
884
885    UNUSED(pst);
886    UNUSED(spId);
887    UNUSED(reason);
888
889    RETVALUE(ROK);
890
891 }
892
893
894 \f
895 /***********************************************************
896 *
897 *     Func : PtLiTfuSchUbndReq
898 *
899 *
900 *     Desc : This API is used to send an Unbind Request from Scheduler to PHY.
901  * @param pst Pointer to the post structure.
902  * @param suId SAP ID of the service provider.
903  * @param reason Reason for Unbind request.
904  * @return ROK/RFAILED
905 *
906 *
907 *     Ret  : S16
908 *
909 *     Notes:
910 *
911 *     File  : 
912 *
913 **********************************************************/
914 #ifdef ANSI
915 PUBLIC S16 PtLiTfuSchUbndReq
916 (
917 Pst * pst,
918 SpId spId,
919 Reason reason
920 )
921 #else
922 PUBLIC S16 PtLiTfuSchUbndReq(pst, spId, reason)
923 Pst * pst;
924 SpId spId;
925 Reason reason;
926 #endif
927 {
928
929    TRC3(PtLiTfuSchUbndReq)
930
931    UNUSED(pst);
932    UNUSED(spId);
933    UNUSED(reason);
934
935    RETVALUE(ROK);
936
937 }
938
939
940 \f
941 /***********************************************************
942 *
943 *     Func : PtLiTfuRecpReq
944 *
945 *
946 *     Desc : This primitive is sent from Scheduler to PHY.
947  * @details This primitive provides PHY with all the information required by 
948  * PHY to decode transmissions from the UE on either PUCCH or PUSCH.
949  * -# On PUCCH UE can transmit the following
950  *    -# SR
951  *    -# HARQ feedback
952  *    -# CQI report
953  *    -# HARQ + CQI
954  *    -# HARQ + SR
955  * -# On PUSCH UE can transmit the following
956  *    -# Data
957  *    -# Data + CQI
958  *    -# Data + HARQ Feedback
959  * This primitive carries all the information for the expected subframe for all
960  * the UEs that have been scheduled to transmit.
961  * @param pst Pointer to the post structure.
962  * @param spId SAP ID of the service provider.
963  * @param recpReq Pointer to the TfuRecpReqInfo structure.
964  * @return ROK/RFAILED
965 *
966 *
967 *     Ret  : S16
968 *
969 *     Notes:
970 *
971 *     File  : 
972 *
973 **********************************************************/
974 #ifdef ANSI
975 PUBLIC S16 PtLiTfuRecpReq
976 (
977 Pst * pst,
978 SpId spId,
979 TfuRecpReqInfo * recpReq
980 )
981 #else
982 PUBLIC S16 PtLiTfuRecpReq(pst, spId, recpReq)
983 Pst * pst;
984 SpId spId;
985 TfuRecpReqInfo * recpReq;
986 #endif
987 {
988
989    TRC3(PtLiTfuRecpReq)
990
991    UNUSED(pst);
992    UNUSED(spId);
993    UNUSED(recpReq);
994
995    RETVALUE(ROK);
996
997 }
998
999
1000 \f
1001 /***********************************************************
1002 *
1003 *     Func : PtLiTfuCntrlReq
1004 *
1005 *
1006 *     Desc : This Primitive is sent from Scheduler to PHY. It provides PHY with
1007   * all the control information
1008   * @details This primitive carries the information sent on the following
1009   * channels - 
1010   * -# PDCCH
1011   * -# PHICH
1012   * -# PCFICH
1013   * 
1014   * @param pst
1015   * @param spId
1016   * @param cntrlReq pointer to TfuCntrlReqInfo
1017   * @return ROK/RFAILED
1018 *
1019 *
1020 *     Ret  : S16
1021 *
1022 *     Notes:
1023 *
1024 *     File  : 
1025 *
1026 **********************************************************/
1027 #ifdef ANSI
1028 PUBLIC S16 PtLiTfuCntrlReq
1029 (
1030 Pst * pst,
1031 SpId spId,
1032 TfuCntrlReqInfo * cntrlReq
1033 )
1034 #else
1035 PUBLIC S16 PtLiTfuCntrlReq(pst, spId, cntrlReq)
1036 Pst * pst;
1037 SpId spId;
1038 TfuCntrlReqInfo * cntrlReq;
1039 #endif
1040 {
1041
1042    TRC3(PtLiTfuCntrlReq)
1043
1044    UNUSED(pst);
1045    UNUSED(spId);
1046    UNUSED(cntrlReq);
1047
1048    RETVALUE(ROK);
1049
1050 }
1051
1052
1053 \f
1054 /***********************************************************
1055 *
1056 *     Func : PtLiTfuDatReq
1057 *
1058 *
1059 *     Desc : This Primitive carries the Data PDUs from MAC to PHY for
1060   * transmission. 
1061   * @details The data being sent in this primitive is meant to be transmitted on
1062   * the downlink channel PDSCH and PBCH (if present). To facilitate physical
1063   * layer processing, requisite control information is also sent along with the
1064   * data. 
1065   * @sa TfUiTfuCntrlReq
1066   * @param pst 
1067   * @param spId
1068   * @param tfuDatReq pointer to TfuDatReqInfo
1069   * @return
1070 *
1071 *
1072 *     Ret  : S16
1073 *
1074 *     Notes:
1075 *
1076 *     File  : 
1077 *
1078 **********************************************************/
1079 #ifdef ANSI
1080 PUBLIC S16 PtLiTfuDatReq
1081 (
1082 Pst * pst,
1083 SpId spId,
1084 TfuDatReqInfo * datReq
1085 )
1086 #else
1087 PUBLIC S16 PtLiTfuDatReq(pst, spId, datReq)
1088 Pst * pst;
1089 SpId spId;
1090 TfuDatReqInfo * datReq;
1091 #endif
1092 {
1093
1094    TRC3(PtLiTfuDatReq)
1095
1096    UNUSED(pst);
1097    UNUSED(spId);
1098    UNUSED(datReq);
1099
1100    RETVALUE(ROK);
1101
1102 }
1103
1104 \f
1105 #ifdef L2_OPTMZ
1106 /***********************************************************
1107 *
1108 *     Func : PtLiTfuDelDatReq
1109 *
1110 *
1111 *   @brief This Primitive carries cellId and UeId for which datReq need to be deleted.
1112   * @details This primitive is used to send delDatReq to CL to delete the PDUs of
1113     * UE which has been deleted in MAC due to ueId change or anyother scenario
1114     
1115   * @details The data being sent in this primitive is meant to be transmitted on
1116   * @sa TfUiTfuDelDatReq
1117   * @param pst 
1118   * @param spId
1119   * @param tfuDelDatReq pointer to TfuDelDatReqInfo
1120   * @return
1121 *
1122 *
1123 *     Ret  : S16
1124 *
1125 *     Notes:
1126 *
1127 *     File  : 
1128 *
1129 **********************************************************/
1130 #ifdef ANSI
1131 PUBLIC S16 PtLiTfuDelDatReq
1132 (
1133 Pst * pst,
1134 SpId spId,
1135 TfuDelDatReqInfo * delDatReq
1136 )
1137 #else
1138 PUBLIC S16 PtLiTfuDelDatReq(pst, spId, delDatReq)
1139 Pst * pst;
1140 SpId spId;
1141 TfuDelDatReqInfo * DelDatReq;
1142 #endif
1143 {
1144
1145    TRC3(PtLiTfuDelDatReq)
1146
1147    UNUSED(pst);
1148    UNUSED(spId);
1149    UNUSED(delDatReq);
1150
1151    RETVALUE(ROK);
1152
1153 }
1154 #endif /*L2_OPTMZ*/
1155
1156 #endif /*--ifdef PTRGLITFU--*/
1157
1158 #ifdef __cplusplus
1159 }
1160 #endif /* __cplusplus */
1161 \f
1162 /**********************************************************************
1163  
1164          End of file
1165 **********************************************************************/