1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
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 #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
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 *******************************************************************************/
19 /**********************************************************************
20 Name: Upper Layer Interface
24 Desc: Structures, variables and typedefs required by
29 *********************************************************************21*/
40 @brief Structure declarations and definitions for RGU interface.
43 /***********************************************************************
44 typedefs and data structures
45 ***********************************************************************/
48 * @brief PDU information given on a logical channel.
50 typedef struct rguPduInfo
52 U8 numPdu; /*!< Number of PDUs */
53 Buffer *mBuf[RGU_MAX_PDU]; /*!< numPdu data buffers */
58 * @brief Buffer Occupancy Report for dedicated logical channel.
60 typedef struct rguDBoReport
62 S32 bo; /*!< Buffer occupancy reported by RLC */
64 U16 estRlcHdrSz; /*!< Estimated RLC header size */
65 Bool staPduPrsnt; /*!< Indicates whether the BO includes
66 a status PDU as well */
68 U32 staPduBo; /*!< Indicates the Status PDU BO.
69 This is included in bo */
74 * @brief DatReq from RLC to MAC for Common Channels (BCCH, PCCH and CCCH).
76 typedef struct rguCDatReqInfo
78 CmLteCellId cellId; /*!< CELL ID */
79 CmLteLcId lcId; /*!< Logical channel ID */
80 CmLteLcType lcType; /*!< Logical channel Type */
81 U32 transId; /*!< Transaction ID */
83 U8 pnb; /*Paging narrowBand on which UE performs Paging*/
86 CmLteTimingInfo timeToTx; /*!< Actual time when PHY transmits
87 this, applicable to BCCH and PCCH only */
88 CmLteRnti rnti; /*!< Temporary CRNTI:Applicable for CCCH. */
90 Buffer *pdu; /*!< PDU to be transmitted */
93 * @brief DatReq Information of a logical channel.
95 typedef struct rguLchDatReq
97 CmLteLcId lcId; /*!< Logical channel ID */
98 RguDBoReport boReport; /*!< BO for the logical channel */
99 RguPduInfo pdu; /*!< PDU to be transmitted*/
102 Bool freeBuff; /*!< TRUE if Buffer is to be freed by MAC
103 It is set for UM bearer*/
107 /*rgu_x_001.main_3 - ADD - L2M Support */
110 * @brief Structure to store logical channels to SN mapping */
111 typedef struct rguLchmapInfo
113 CmLteLcId lChId; /*!< Logical channel Id */
114 U16 snList[RGU_MAX_LC]; /*!< Set of sequence numbers */
117 * @brief Sequence Number mapping info per TB
119 typedef struct rguSnMapInfo
121 U32 tbId; /*!< TB id for which sn info map */
122 U8 numLch; /*!< Number of Ded Logical Channels */
123 RguLchMapInfo lchMap[RGU_MAX_LC]; /*!< LC to SN Mapping Info*/
127 * @brief Structure to hold harq status Indication to RLC
129 typedef struct rguHarqStatusInd
131 CmLteCellId cellId; /*!< Cell Id*/
132 CmLteRnti ueId; /*!< ue Id*/
133 U8 numTbs; /*!< Number of Tbs present */
135 U32 tbId[RGU_MAX_TB]; /*!< tbId provided by RLC in
137 U16 status[RGU_MAX_TB]; /*!< Status back to RLC ACK/NACK*/
141 * @brief Structure to hold rguHarqStatusInd and pst structure
143 typedef struct rguHarqStaInd
145 RguHarqStatusInd hqStatusInd;
150 * @brief UL Throughput Measurement Request from RLC to MAC regarding configuration
151 * of an LC for a particular UE to provide Timing Info.
153 typedef struct rguL2MUlThrpMeasReqInfo
155 CmLteCellId cellId; /*!< Cell Id*/
156 CmLteRnti rnti; /*!< UE Id*/
157 U8 numLcId; /*!< Number of LC Ids configured */
158 U8 lcId[RGU_MAX_LC]; /*!< LC ID indices that are
160 Bool enbMeas; /*!< Indication to enable/disable
161 measurement for the LC ID*/
162 } RguL2MUlThrpMeasReqInfo;
164 #endif /* LTE_L2_MEAS */
166 * @brief DatReq info for each TB of a UE.
168 typedef struct rguDatReqTb
170 U8 nmbLch; /*!< Number of logical channels of a UE
171 that have data for this TB */
172 RguLchDatReq lchData[RGU_MAX_LC]; /*!< Data Buffers and BO of
173 logical channels for this TB */
174 /* rgu_x_001.main_3 - ADD - L2M Support */
176 U32 tbId; /*!< RLC's internal tbId maintained
178 #endif /* LTE_L2_MEAS */
182 * @brief DatReq from RLC to MAC for dedicated channels of an UE.
184 typedef struct rguDDatReqPerUe
186 CmLteRnti rnti; /*!< UE ID */
187 U32 transId; /*!< Transaction ID */
188 U8 nmbOfTbs; /*!< Number of TBs. Relevant for MIMO */
189 RguDatReqTb datReqTb[2]; /*!< DatReq info for MAX 2 TBs */
193 * @brief DatReq from RLC to MAC for dedicated channels of all UEs in a TTI.
195 typedef struct rguDDatReqInfo
197 CmLteCellId cellId; /*!< CELL ID */
198 U8 nmbOfUeGrantPerTti; /*!< Number of TBs. Relevant for MIMO */
199 RguDDatReqPerUe datReq[RGU_MAX_NUM_UE_PER_TTI]; /*!< Pointer to DatReq for MAX UEs configured Per TTI */
203 * @brief DatInd from MAC to RLC on CCCH.
205 typedef struct rguCDatIndInfo
207 CmLteCellId cellId; /*!< Cell ID */
208 CmLteRnti rnti; /*!< RNTI */
209 CmLteLcId lcId; /*!< Logical channel instance */
210 Buffer *pdu; /*!< PDU received always one */
213 #ifdef MAC_RLC_UL_RBUF
214 typedef struct rguDedDatInd1
220 /* rgu_x_001.main_3 - ADD - L2M & R9 Support */
224 * * Segment Indication ID from MAC to RLC */
225 typedef enum rguL2MUlThrpSegInd
227 RGU_L2M_ULTHRP_NOTDEF = 0,/**< Specifies No Indication */
228 RGU_L2M_ULTHRP_FIRST = 1, /**< Specifies First Segment Indication */
229 RGU_L2M_ULTHRP_LAST = 2, /**< Specifies Last Segment Indication */
230 RGU_L2M_ULTHRP_INTERIM = 3 /**< Specifies Interim Segment Indication */
234 * @brief Scheduled IP Throughput Timing Info from MAC to RLC.
236 typedef struct rgL2MeasUlThrpTimInfo
238 U32 thrpTimeUl; /*!< Difference in Timing values T1, T2 */
239 RguL2MUlThrpSegInd firstLastSegInd; /*!< Indication of Data Burst */
240 }RgL2MeasUlThrpTimInfo;
244 * @brief DatInd Information for a logical channel.
246 typedef struct rguLchDatInd
248 CmLteLcId lcId; /*!< Logical channel instance */
249 RguPduInfo pdu; /*!< PDU received */
250 /* rgu_x_001.main_3 - ADD - L2M & R9 Support */
254 * @brief Data Indication from MAC to RLC for dedicated channels of an UE.
256 typedef struct rguDDatIndInfo
258 CmLteCellId cellId; /*!< CELL ID */
259 CmLteRnti rnti; /*!< UE ID */
260 U8 numLch; /*!< Number of logical channels within
261 the UE that has data */
262 RguLchDatInd lchData[RGU_MAX_LC]; /*!< Data buffers of logical channels */
264 U32 ttiCnt; /*!< The Current TTI in the Cell */
265 U8 burstInd; /*!< Indicates the Burst Start or End */
270 * @brief Status Response from RLC to MAC for common logical channel.
272 typedef struct rguCStaRspInfo
274 CmLteCellId cellId; /*!< CELL ID */
275 CmLteLcId lcId; /*!< Logical channel ID */
276 CmLteLcType lcType; /*!< Logical channel type */
277 S32 bo; /*!< Buffer occupancy reported by RLC */
279 U8 emtcDiReason; /*!< Reason for DI message to send. */
280 U8 pnb; /*paging narrowBand on which UE will perform paging*/
282 union /*!< lcType in the primitive is
283 the union selector */
285 CmLteTimingInfo timeToTx; /*!< Timing info for the BO, applicable for
287 CmLteRnti rnti; /*!< Temporary CRNTI, only for CCCH */
292 * @brief Status Response from RLC to MAC for dedicated logical channel.
294 typedef struct rguDStaRspInfo
297 CmLteCellId cellId; /*!< CELL ID */
298 CmLteRnti rnti; /*!< UE ID */
299 CmLteLcId lcId; /*!< Logical channel ID */
300 RguDBoReport boReport; /*!< BO report for this common channel */
304 * @brief Status Indication from MAC to RLC for common logical channel.
306 typedef struct rguCStaIndInfo
308 CmLteCellId cellId; /*!< CELL ID */
309 CmLteLcId lcId; /*!< Logical channel ID */
310 U32 transId; /*!< Transaction ID */
311 CmLteRnti rnti; /*!< Temporary CRNTI */
313 Bool isEmtcPaging; /*!< To Identify whether Paging is EMTC or Lagecy */
314 CmLteTimingInfo pagingTimingInfo; /*!< paging TimingInfo information */
319 * @brief StaInd info for each logical channel of an UE.
321 typedef struct rguLchStaInd
323 CmLteLcId lcId; /*!< Logical channel ID */
324 S16 totBufSize; /*!< Total buffer size in bytes
329 * @brief StaInd info for each TB of a UE.
331 typedef struct rguStaIndTb
333 U8 nmbLch; /*!< Number of logical channels scheduled
335 RguLchStaInd lchStaInd[RGU_MAX_LC];/*!< Buffer size allocated for scheduled
336 logical channels for this TB */
338 U32 tbId; /*!< RLC internal TB id */
339 U16 status; /*!< Status back to RLC ACK/NACK/RGU_NACK_LOSS */
343 * @brief StaInd from MAC to RLC for dedicated logical channels of an UE.
345 typedef struct rguDStaIndPerUe
347 CmLteRnti rnti; /*!< UE ID */
348 U32 transId; /*!< Transaction ID */
349 U8 nmbOfTbs; /*!< Number of TBs. Relevant for MIMO */
350 RguStaIndTb staIndTb[2]; /*!< StaInd info for MAX 2 TBs */
351 Bool fillCtrlPdu; /*!< Flag to fill RLC control PDU */
355 * @brief StaInd from MAC to RLC for dedicated logical channels of all UEs Per TTI.
357 typedef struct rguDStaIndInfo
359 CmLteCellId cellId; /*!< CELL ID */
360 U8 nmbOfUeGrantPerTti; /*!< Number of TBs. Relevant for MIMO */
361 RguDStaIndPerUe staInd[RGU_MAX_NUM_UE_PER_TTI]; /*!< StaInd info for MAX number of UEs per TTI */
365 * @brief flowCntrl info per LC.
367 typedef struct rguLcFlowCntrlInfo
371 U32 maxBo4FlowCtrl; /*!< MAX BO of Queued SDUs at RLC beyond which Flow is Controlled */
375 * @brief flowCntrl info per UE.
377 typedef struct rguUeFlowCntrlInfo
381 RguLcFlowCntrlInfo lcInfo[RGU_MAX_LC];
385 * @brief flowCntrlInd from MAC to RLC for dedicated logical channels of all UEs Per TTI.
387 typedef struct rguFlowCntrlInd
389 CmLteCellId cellId; /*!< CELL ID */
391 RguUeFlowCntrlInfo ueFlowCntrlInfo[RGU_MAX_NUM_UE_PER_TTI];
393 typedef struct rguInfoRingElem
399 /***********************************************************************
400 type definitions for upper layer interface - RLC primitives
401 ***********************************************************************/
402 /** @brief Bind Request from RLC to MAC to bind the interface SAPs */
403 typedef S16 (*RguBndReq) ARGS((
407 /** @brief Unbind Request from RLC to MAC to unbind the interface SAPs */
408 typedef S16 (*RguUbndReq) ARGS((
412 /** @brief Bind Confirmation from MAC to RLC for the bind/unbind
413 * request for the interface SAPs */
414 typedef S16 (*RguBndCfm) ARGS((
418 /** @brief Data Request from RLC to MAC for forwarding SDUs on common
419 * channel for transmission */
420 typedef S16 (*RguCDatReq) ARGS((
423 RguCDatReqInfo * datReq));
424 /** @brief Data Request from RLC to MAC for forwarding SDUs on
425 * dedicated channel for transmission */
426 typedef S16 (*RguDDatReq) ARGS((
429 RguDDatReqInfo * datReq));
430 /** @brief Data Indication from MAC to RLC to
431 * forward the data received for common channels */
432 typedef S16 (*RguCDatInd) ARGS((
435 RguCDatIndInfo * datInd));
436 /** @brief Data Indication from MAC to RLC to
437 * forward the data received for dedicated channels */
438 typedef S16 (*RguDDatInd) ARGS((
441 RguDDatIndInfo * datInd));
442 /** @brief Status Response from RLC to MAC to
443 * inform the BO report for common channels */
444 typedef S16 (*RguCStaRsp) ARGS((
447 RguCStaRspInfo * staRsp));
448 /** @brief Status Repsonse from RLC to MAC to
449 * inform the BO report for dedicated channels */
450 typedef S16 (*RguDStaRsp) ARGS((
453 RguDStaRspInfo * staRsp));
454 /** @brief Status Indication from MAC to RLC
455 * as a response to the staRsp primitive from RLC */
456 typedef S16 (*RguCStaInd) ARGS((
459 RguCStaIndInfo * staInd));
460 /** @brief Status Indication from MAC to RLC
461 * as a response to the staRsp primitive from RLC */
462 typedef S16 (*RguDStaInd) ARGS((
465 RguDStaIndInfo * staInd));
467 typedef S16 (*RguFlowCntrlIndInfo) ARGS((
470 RguFlowCntrlInd *flowCntrlInd));
472 /* rgu_x_001.main_3 - ADD - L2M & R9 Support */
474 /** @brief HARQ Status Indication from MAC to RLC
475 * as a response to Data Req primitive from RLC */
476 typedef S16 (*RguHqStaInd) ARGS((
479 RguHarqStatusInd *harqStatusInd));
480 /** @brief LCID measurement status from RLC to MAC
481 * so as to provide Timing Info in DDatInd */
482 typedef S16 (*RguL2MUlThrpMeasReq) ARGS((
485 RguL2MUlThrpMeasReqInfo *l2mUlThrpMeasReq));
487 #endif /* LTE_L2_MEAS */
491 /** @brief Bind Request from RLC to MAC to bind the interface SAPs
492 * @param pst Pointer to the post structure.
493 * @param suId SAP ID of the service user.
494 * @param spId SAP ID of the service provider.
495 * @return ROK/RFAILED
497 EXTERN S16 RgUiRguBndReq ARGS((Pst* pst,SuId suId,SpId spId));
498 /** @brief Unbind Request from RLC to MAC to unbind the interface SAPs
499 * @param pst Pointer to the post structure.
500 * @param spId SAP ID of the service provider.
501 * @param reason Reason for unbind request.
502 * @return ROK/RFAILED
504 EXTERN S16 RgUiRguUbndReq ARGS((Pst* pst,SpId spId,Reason reason));
505 /** @brief Bind Confirmation from MAC to RLC for the bind and unbind
506 * request for the interface SAPs
507 * @param pst Pointer to the post structure.
508 * @param suId SAP ID of the service user.
509 * @param status Status of the bind request.
510 * @return ROK/RFAILED
512 EXTERN S16 RgUiRguBndCfm ARGS((Pst* pst,SuId suId,U8 status));
513 /** @brief Data Request from RLC to MAC for forwarding SDUs on common
514 * channel for transmission
515 * @param pst Pointer to the post structure.
516 * @param spId SAP ID of the service provider.
517 * @param datReq Data request for common channels (BCCH, PCCH and CCCH).
518 * @return ROK/RFAILED
520 EXTERN S16 RgUiRguCDatReq ARGS((Pst* pst,SpId spId,RguCDatReqInfo *datReq));
521 /** @brief Data Request from RLC to MAC for forwarding SDUs on
522 * dedicated channel for transmission
523 * @param pst Pointer to the post structure.
524 * @param spId SAP ID of the service provider.
525 * @param datReq Data request for dedicated channels (DCCH and DTCH).
526 * @return ROK/RFAILED
528 EXTERN S16 RgUiRguDDatReq ARGS((Pst* pst,SpId spId,RguDDatReqInfo *datReq));
529 /** @brief Data Indication from MAC to RLC to
530 * forward the data received for common channels
531 * @param pst Pointer to the post structure.
532 * @param suId SAP ID of the service user.
533 * @param datInd Data indication on CCCH.
534 * @return ROK/RFAILED
536 EXTERN S16 RgUiRguCDatInd ARGS((Pst* pst,SuId suId,RguCDatIndInfo *datInd));
537 /** @brief Data Indication from MAC to RLC to
538 * forward the data received for dedicated channels
539 * @param pst Pointer to the post structure.
540 * @param suId SAP ID of the service user.
541 * @param datInd Data indication on dedicated channels (DCCH and DTCH).
542 * @return ROK/RFAILED
544 EXTERN S16 RgUiRguDDatInd ARGS((Pst* pst,SuId suId,RguDDatIndInfo *datInd));
545 /** @brief Status Response from RLC to MAC to
546 * inform the BO report for common channels
547 * @param pst Pointer to the post structure.
548 * @param spId SAP ID of the service provider.
549 * @param staRsp Status response for common channels (BCCH, PCCH and CCCH).
550 * @return ROK/RFAILED
552 EXTERN S16 RgUiRguCStaRsp ARGS((Pst* pst,SpId spId,RguCStaRspInfo *staRsp));
553 /** @brief Status Response from RLC to MAC to
554 * inform the BO report for dedicated channels
555 * @param pst Pointer to the post structure.
556 * @param spId SAP ID of the service provider.
557 * @param staRsp Status response for dedicated channels (DCCH and DTCH).
558 * @return ROK/RFAILED
560 EXTERN S16 RgUiRguDStaRsp ARGS((Pst* pst,SpId spId,RguDStaRspInfo *staRsp));
561 /** @brief Status Indication from MAC to RLC
562 * as a response to the staRsp primitive from RLC.
563 * @param pst Pointer to the post structure.
564 * @param suId SAP ID of the service user.
565 * @param staInd Status indication on common channels (BCCH, PCCH and CCCH).
566 * @return ROK/RFAILED
568 EXTERN S16 RgUiRguCStaInd ARGS((Pst* pst,SuId suId,RguCStaIndInfo *staInd));
569 /** @brief Status Indication from MAC to RLC
570 * as a response to the staRsp primitive from RLC.
571 * @param pst Pointer to the post structure.
572 * @param suId SAP ID of the service user.
573 * @param staInd Status indication on dedicated channels (DCCH and DTCH).
574 * @return ROK/RFAILED
576 EXTERN S16 RgUiRguDStaInd ARGS((Pst* pst,SuId suId,RguDStaIndInfo *staInd));
577 /** @brief flow control indication from MAC to RLC */
578 EXTERN S16 RgUiRguFlowCntrlInd ARGS((Pst *pst, SuId suId,
579 RguFlowCntrlInd *flowCntrlInd));
580 /*rgu_x_001.main_3 - ADD - L2M & R9 Support */
582 /** @brief HARQ Status Indication from MAC to RLC
583 * as a response to the Data Req from RLC.
584 * Informs HARQ feedback for the TB with sn mapping info. */
585 EXTERN S16 RgUiRguHqStaInd ARGS((Pst* pst,SuId suId,
586 RguHarqStatusInd *harqStatusInd));
590 /** @brief Request for measuring the timing Info for a LC from RLC to MAC
591 * When the status is ON then Timing Info for data bursts
592 * shall be captured and provided to RLC on DDatInd. */
593 EXTERN S16 RgUiRguL2MUlThrpMeasReq ARGS((Pst* pst,SpId spId,
594 RguL2MUlThrpMeasReqInfo *l2mUlThrpMeasReq));
596 #endif /* LTE_L2_MEAS */
601 /** @brief Request from RLC to MAC to bind the interface saps */
602 EXTERN S16 KwLiRguBndReq ARGS((
607 /** @brief Request from RLC to MAC to Unbind the interface saps */
608 EXTERN S16 KwLiRguUbndReq ARGS((
613 /** @brief Confirmation from MAC to RLC for the bind/Unbind
614 * request for the interface saps */
615 EXTERN S16 KwLiRguBndCfm ARGS((
620 /** @brief Request from RLC to MAC for forwarding SDUs on common
621 * channel for transmission */
622 EXTERN S16 KwLiRguCDatReq ARGS((
625 RguCDatReqInfo * datReq
627 /** @brief Request from RLC to MAC for forwarding SDUs on
628 * dedicated channel for transmission */
629 EXTERN S16 KwLiRguDDatReq ARGS((
632 RguDDatReqInfo * datReq
634 /** @brief Data Indication from MAC to RLC to
635 * forward the data received for common channels*/
636 EXTERN S16 KwLiRguCDatInd ARGS((
639 RguCDatIndInfo * datInd
641 /** @brief Data Indication from MAC to RLC to
642 * forward the data received for dedicated channels*/
643 EXTERN S16 KwLiRguDDatInd ARGS((
646 RguDDatIndInfo * datInd
648 /** @brief Primitive invoked from RLC to MAC to
649 * inform the BO report for common channels*/
650 EXTERN S16 KwLiRguCStaRsp ARGS((
653 RguCStaRspInfo * staRsp
655 /** @brief Primitive invoked from RLC to MAC to
656 * inform the BO report for dedicated channels*/
657 EXTERN S16 KwLiRguDStaRsp ARGS((
660 RguDStaRspInfo * staRsp
662 /** @brief Status Indication from MAC to RLC
663 * as a response to the staRsp primitive from RLC.
664 * Informs RLC of the totalBufferSize and Timing Info
665 * for the transmission on common channels. */
666 EXTERN S16 KwLiRguCStaInd ARGS((
669 RguCStaIndInfo * staInd
671 /** @brief Status Indication from MAC to RLC
672 * as a response to the staRsp primitive from RLC.
673 * Informs RLC of the totalBufferSize and Timing Info
674 * for the transmission on dedicated channels. */
675 EXTERN S16 KwLiRguDStaInd ARGS((
678 RguDStaIndInfo * staInd
682 /** @brief HARQ Status Indication from MAC to RLC
683 * as a response to the Data Req from RLC.
684 * Informs HARQ feedback for the PDU with sn. */
685 EXTERN S16 KwLiRguHqStaInd ARGS((
688 RguHarqStatusInd *harqStatusInd));
691 /** @brief Request for measuring the timing Info for a LC from RLC to MAC
692 * When the status is ON then Timing Info for data bursts
693 * shall be captured and provided to RLC on DDatInd. */
694 EXTERN S16 KwLiRguL2MUlThrpMeasReq ARGS((
697 RguL2MUlThrpMeasReqInfo *l2mUlThrpMeasReq));
699 #endif /* LTE_L2_MEAS */
701 /** @brief flowCntrl Indication from MAC to RLC */
702 EXTERN S16 KwLiRguFlowCntrlInd ARGS((
705 RguFlowCntrlInd *flowCntrlInd
710 /** @brief Request from RLC to MAC to bind the interface saps */
711 EXTERN S16 cmPkRguBndReq ARGS((
716 /** @brief Request from RLC to MAC to bind the interface saps */
717 EXTERN S16 cmUnpkRguBndReq ARGS((
722 /** @brief Request from RLC to MAC to Unbind the interface saps */
723 EXTERN S16 cmPkRguUbndReq ARGS((
728 /** @brief Request from RLC to MAC to Unbind the interface saps */
729 EXTERN S16 cmUnpkRguUbndReq ARGS((
734 /** @brief Confirmation from MAC to RLC for the bind/Unbind
735 * request for the interface saps */
736 EXTERN S16 cmPkRguBndCfm ARGS((
741 /** @brief Confirmation from MAC to RLC for the bind/Unbind
742 * request for the interface saps */
743 EXTERN S16 cmUnpkRguBndCfm ARGS((
748 /** @brief Request from RLC to MAC for forwarding SDUs on common
749 * channel for transmission */
750 EXTERN S16 cmPkRguCDatReq ARGS((
753 RguCDatReqInfo * datReq
755 /** @brief Request from RLC to MAC for forwarding SDUs on common
756 * channel for transmission */
757 EXTERN S16 cmUnpkRguCDatReq ARGS((
762 /** @brief Request from RLC to MAC for forwarding SDUs on
763 * dedicated channel for transmission */
764 EXTERN S16 cmPkRguDDatReq ARGS((
767 RguDDatReqInfo * datReq
769 /** @brief Request from RLC to MAC for forwarding SDUs on
770 * dedicated channel for transmission */
771 EXTERN S16 cmUnpkRguDDatReq ARGS((
776 /** @brief Data Indication from MAC to RLC to
777 * forward the data received for common channels*/
778 EXTERN S16 cmPkRguCDatInd ARGS((
781 RguCDatIndInfo * datInd
783 /** @brief Data Indication from MAC to RLC to
784 * forward the data received for common channels*/
785 EXTERN S16 cmUnpkRguCDatInd ARGS((
790 /** @brief Data Indication from MAC to RLC to
791 * forward the data received for dedicated channels*/
792 EXTERN S16 cmPkRguDDatInd ARGS((
795 RguDDatIndInfo * datInd
797 /** @brief Data Indication from MAC to RLC to
798 * forward the data received for dedicated channels*/
799 EXTERN S16 cmUnpkRguDDatInd ARGS((
804 /** @brief Primitive invoked from RLC to MAC to
805 * inform the BO report for common channels*/
806 EXTERN S16 cmPkRguCStaRsp ARGS((
809 RguCStaRspInfo * staRsp
811 /** @brief Primitive invoked from RLC to MAC to
812 * inform the BO report for common channels*/
813 EXTERN S16 cmUnpkRguCStaRsp ARGS((
818 /** @brief Primitive invoked from RLC to MAC to
819 * inform the BO report for dedicated channels*/
820 EXTERN S16 cmPkRguDStaRsp ARGS((
823 RguDStaRspInfo * staRsp
825 /** @brief Primitive invoked from RLC to MAC to
826 * inform the BO report for dedicated channels*/
827 EXTERN S16 cmUnpkRguDStaRsp ARGS((
832 /** @brief Status Indication from MAC to RLC
833 * as a response to the staRsp primitive from RLC.
834 * Informs RLC of the totalBufferSize and Timing Info
835 * for the transmission on common channels. */
836 EXTERN S16 cmPkRguCStaInd ARGS((
839 RguCStaIndInfo * staInd
841 /** @brief Status Indication from MAC to RLC
842 * as a response to the staRsp primitive from RLC.
843 * Informs RLC of the totalBufferSize and Timing Info
844 * for the transmission on common channels. */
845 EXTERN S16 cmUnpkRguCStaInd ARGS((
850 /** @brief Status Indication from MAC to RLC
851 * as a response to the staRsp primitive from RLC.
852 * Informs RLC of the totalBufferSize and Timing Info
853 * for the transmission on dedicated channels. */
854 EXTERN S16 cmPkRguDStaInd ARGS((
857 RguDStaIndInfo * staInd
859 EXTERN S16 cmPkRguFlowCntrlInfo ARGS((
860 RguFlowCntrlInd *param,
863 EXTERN S16 cmPkRguUeFlowCntrlInfo ARGS((
864 RguUeFlowCntrlInfo *param,
867 EXTERN S16 cmPkRguLcFlowCntrlInfo ARGS((
868 RguLcFlowCntrlInfo *param,
871 EXTERN S16 cmUnpkRguLcFlowCntrlInfo ARGS((
872 RguLcFlowCntrlInfo *param,
875 EXTERN S16 cmUnpkRguUeFlowCntrlInfo ARGS((
876 RguUeFlowCntrlInfo *param,
879 EXTERN S16 cmUnpkRguFlowCntrlInfo ARGS((
880 RguFlowCntrlInd *param,
883 /** @brief Status Indication from MAC to RLC
884 * as a response to the staRsp primitive from RLC.
885 * Informs RLC of the totalBufferSize and Timing Info
886 * for the transmission on dedicated channels. */
887 EXTERN S16 cmUnpkRguDStaInd ARGS((
892 EXTERN S16 cmPkRguPduInfo ARGS((
896 EXTERN S16 cmUnpkRguPduInfo ARGS((
900 EXTERN S16 cmPkRguDBoReport ARGS((
904 EXTERN S16 cmUnpkRguDBoReport ARGS((
909 EXTERN S16 cmPkRguCDatReqInfo ARGS((
910 RguCDatReqInfo *param,
913 EXTERN S16 cmUnpkRguCDatReqInfo ARGS((
914 RguCDatReqInfo *param,
917 EXTERN S16 cmPkRguLchDatReq ARGS((
921 EXTERN S16 cmUnpkRguLchDatReq ARGS((
925 EXTERN S16 cmPkRguDatReqTb ARGS((
929 EXTERN S16 cmPkRguStaIndTb ARGS((
933 EXTERN S16 cmUnpkRguStaIndTb ARGS((
937 /* rgu_x_001.main_3 - ADD - L2M Support */
939 EXTERN S16 cmPkRguDDatReqInfo ARGS((
941 RguDDatReqInfo *param,
944 EXTERN S16 cmUnpkRguDDatReqInfo ARGS((
946 RguDDatReqInfo *param,
949 EXTERN S16 cmUnpkRguDatReqTb ARGS((
955 EXTERN S16 cmPkRguDDatReqInfo ARGS((
956 RguDDatReqInfo *param,
959 EXTERN S16 cmUnpkRguDDatReqInfo ARGS((
960 RguDDatReqInfo *param,
963 EXTERN S16 cmUnpkRguDatReqTb ARGS((
968 EXTERN S16 cmPkRguCDatIndInfo ARGS((
969 RguCDatIndInfo *param,
972 EXTERN S16 cmUnpkRguCDatIndInfo ARGS((
973 RguCDatIndInfo *param,
976 EXTERN S16 cmPkRguLchDatInd ARGS((
980 EXTERN S16 cmUnpkRguLchDatInd ARGS((
984 EXTERN S16 cmPkRguDDatIndInfo ARGS((
985 RguDDatIndInfo *param,
988 EXTERN S16 cmUnpkRguDDatIndInfo ARGS((
989 RguDDatIndInfo *param,
993 EXTERN S16 cmPkRguCStaRspInfo ARGS((
994 RguCStaRspInfo *param,
997 EXTERN S16 cmUnpkRguCStaRspInfo ARGS((
998 RguCStaRspInfo *param,
1001 EXTERN S16 cmPkRguDStaRspInfo ARGS((
1002 RguDStaRspInfo *param,
1005 EXTERN S16 cmUnpkRguDStaRspInfo ARGS((
1006 RguDStaRspInfo *param,
1009 EXTERN S16 cmPkRguCStaIndInfo ARGS((
1010 RguCStaIndInfo *param,
1013 EXTERN S16 cmUnpkRguCStaIndInfo ARGS((
1014 RguCStaIndInfo *param,
1017 EXTERN S16 cmPkRguLchStaInd ARGS((
1018 RguLchStaInd *param,
1021 EXTERN S16 cmUnpkRguLchStaInd ARGS((
1022 RguLchStaInd *param,
1025 EXTERN S16 cmPkRguDStaIndInfo ARGS((
1026 RguDStaIndInfo *param,
1029 EXTERN S16 cmUnpkRguDStaIndInfo ARGS((
1030 RguDStaIndInfo *param,
1034 /*rgu_x_001.main_3 - ADD - L2M & R9 Support */
1036 /** @brief Request from MAC to RLC for forwarding HARQ Status */
1038 EXTERN S16 cmPkRguHqStaInd ARGS((
1041 RguHarqStatusInd *harqStatusInd));
1043 /** @brief Request from MAC to RLC forwarding HARQ status */
1044 EXTERN S16 cmUnpkRguHqStaInd ARGS((
1050 /** @brief Primitive invoked from RLC to MAC to
1051 * * inform the On/Off Status of LC Id*/
1052 EXTERN S16 cmPkRguL2MUlThrpMeasReq ARGS((
1055 RguL2MUlThrpMeasReqInfo* measReq
1058 /** @brief Primitive invoked from RLC to MAC to
1059 * * inform the On/Off Status of LC Id*/
1060 EXTERN S16 cmUnpkRguL2MUlThrpMeasReq ARGS((
1061 RguL2MUlThrpMeasReq func,
1066 EXTERN S16 cmPkRguL2MUlThrpMeasReqInfo ARGS((
1067 RguL2MUlThrpMeasReqInfo *param,
1071 EXTERN S16 cmUnpkRguL2MUlThrpMeasReqInfo ARGS((
1072 RguL2MUlThrpMeasReqInfo *param,
1076 #endif /* LTE_L2_MEAS */
1077 EXTERN S16 cmUnpkRguFlowCntrlInd ARGS((
1078 RguFlowCntrlIndInfo func,
1083 EXTERN S16 cmPkRguFlowCntrlInd ARGS((
1086 RguFlowCntrlInd *flowCntrlInd
1093 #endif /* __RGUX__ */
1095 /********************************************************************30**
1098 **********************************************************************/