CmLteRnti rnti; /*!< Temporary CRNTI */
U8 nmbLch; /*!< Number of logical channels scheduled */
RlcMacLchSta lchSta[RGU_MAX_LC]; /*!< Scheduled info of logical channels */
-}RlcMacSchedRep;
+}RlcMacSchedRepInfo;
/* UL Data i.e. RLC PDU info from RLC to MAC */
typedef struct rlcMacPduInfo
Bool commCh; /*!<Common or Dedicated Channel */
CmLteLcId lcId; /*!< Logical channel ID */
MsgLen pduLen; /*!< PDU Length */
- Buffer *pduBuf; /*!< RLC PDU buffer */
+ uint8_t *pduBuf; /*!< RLC PDU buffer */
}RlcMacPduInfo;
typedef struct rlcMacData
{
- CmLteTimingInfo timeToTx; /*!< Air interface time */
CmLteCellId cellId; /*!< CELL ID */
CmLteRnti rnti; /*!< Temporary CRNTI */
- U8 nmbPdu; /*!< Number of RLC PDUs */
+ SlotIndInfo slotInfo; /*!< Timing info */
+ U8 numPdu; /*!< Number of RLC PDUs */
RlcMacPduInfo pduInfo[RGU_MAX_PDU];
}RlcMacData;
typedef S16 (*RguDDatReq) ARGS((
Pst* pst,
SpId spId,
- RguDDatReqInfo * datReq));
+ RguDDatReqInfo *datReq));
+
+typedef uint16_t (*RlcMacDlData) ARGS((
+ Pst* pst,
+ SpId spId,
+ RlcMacData *dlData));
/** @brief Data Indication from MAC to RLC to
* forward the data received for common channels */
typedef S16 (*RguCDatInd) ARGS((
typedef S16 (*RguDDatInd) ARGS((
Pst* pst,
SuId suId,
- RguDDatIndInfo * datInd));
+ RguDDatIndInfo *datInd));
+
+typedef uint8_t (*RlcMacUlDataFunc) ARGS((
+ Pst* pst,
+ RlcMacData *ulData));
/** @brief Status Response from RLC to MAC to
* inform the BO report for common channels */
typedef S16 (*RguCStaRsp) ARGS((
Pst* pst,
SpId spId,
RguDStaRspInfo * staRsp));
+
+typedef uint16_t (*RlcMacBoStatus) ARGS((
+ Pst* pst,
+ SpId spId,
+ RlcMacBOStatus *boStatus));
+
/** @brief Status Indication from MAC to RLC
* as a response to the staRsp primitive from RLC */
typedef S16 (*RguCStaInd) ARGS((
typedef S16 (*RguDStaInd) ARGS((
Pst* pst,
SuId suId,
- RguDStaIndInfo * staInd));
+ RguDStaIndInfo * staInd));
+
+typedef uint16_t (*RlcMacSchedRep) ARGS((
+ Pst* pst,
+ SuId suId,
+ RlcMacSchedRepInfo *schRep));
typedef S16 (*RguFlowCntrlIndInfo) ARGS((
Pst *pst,
* @return ROK/RFAILED
*/
EXTERN S16 RgUiRguDDatReq ARGS((Pst* pst,SpId spId,RguDDatReqInfo *datReq));
+
+EXTERN uint16_t MacRlcProcDlData(Pst* pst, SpId spId, RlcMacData *dlData);
+
/** @brief Data Indication from MAC to RLC to
* forward the data received for common channels
* @param pst Pointer to the post structure.
* @return ROK/RFAILED
*/
EXTERN S16 RgUiRguDStaRsp ARGS((Pst* pst,SpId spId,RguDStaRspInfo *staRsp));
+
+EXTERN uint16_t MacRlcProcBOStatus(Pst* pst, SpId spId, RlcMacBOStatus* boStatus);
+
/** @brief Status Indication from MAC to RLC
* as a response to the staRsp primitive from RLC.
* @param pst Pointer to the post structure.
#ifdef KW
/** @brief Request from RLC to MAC to bind the interface saps */
-EXTERN S16 KwLiRguBndReq ARGS((
+EXTERN S16 RlcLiRguBndReq ARGS((
Pst* pst,
SuId suId,
SpId spId
));
/** @brief Request from RLC to MAC to Unbind the interface saps */
-EXTERN S16 KwLiRguUbndReq ARGS((
+EXTERN S16 RlcLiRguUbndReq ARGS((
Pst* pst,
SpId spId,
Reason reason
));
/** @brief Confirmation from MAC to RLC for the bind/Unbind
* request for the interface saps */
-EXTERN S16 KwLiRguBndCfm ARGS((
+EXTERN S16 RlcLiRguBndCfm ARGS((
Pst* pst,
SuId suId,
U8 status
));
/** @brief Request from RLC to MAC for forwarding SDUs on common
* channel for transmission */
-EXTERN S16 KwLiRguCDatReq ARGS((
+EXTERN S16 RlcLiRguCDatReq ARGS((
Pst* pst,
SpId spId,
RguCDatReqInfo * datReq
/** @brief Handler toprocess UL data from MAC and
* forwarding to appropriate common/dedicated
* channel's handler */
-EXTERN S16 RlcMacProcUlData ARGS((
+EXTERN uint8_t RlcProcUlData ARGS((
Pst* pst,
- SuId suId,
RlcMacData *ulData
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for common channels*/
-EXTERN S16 KwLiRguCDatInd ARGS((
+EXTERN S16 RlcLiRguCDatInd ARGS((
Pst* pst,
SuId suId,
RguCDatIndInfo * datInd
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for dedicated channels*/
-EXTERN S16 KwLiRguDDatInd ARGS((
+EXTERN S16 RlcLiRguDDatInd ARGS((
Pst* pst,
SuId suId,
RguDDatIndInfo * datInd
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for common channels*/
-EXTERN S16 KwLiRguCStaRsp ARGS((
+EXTERN S16 RlcLiRguCStaRsp ARGS((
Pst* pst,
SpId spId,
RguCStaRspInfo * staRsp
/**@brief Primitive invoked from MAC to RLC to
* inform scheduling result for logical channels */
-EXTERN S16 RlcMacProcSchedRep ARGS((
+EXTERN uint16_t RlcMacProcSchedRep ARGS((
Pst* pst,
SuId suId,
- RlcMacSchedRep *schRep
+ RlcMacSchedRepInfo *schRep
));
/** @brief Status Indication from MAC to RLC
* as a response to the staRsp primitive from RLC.
* Informs RLC of the totalBufferSize and Timing Info
* for the transmission on common channels. */
-EXTERN S16 KwLiRguCStaInd ARGS((
+EXTERN S16 RlcLiRguCStaInd ARGS((
Pst* pst,
SuId suId,
RguCStaIndInfo * staInd
* as a response to the staRsp primitive from RLC.
* Informs RLC of the totalBufferSize and Timing Info
* for the transmission on dedicated channels. */
-EXTERN S16 KwLiRguDStaInd ARGS((
+EXTERN S16 RlcLiRguDStaInd ARGS((
Pst* pst,
SuId suId,
RguDStaIndInfo * staInd
/** @brief HARQ Status Indication from MAC to RLC
* as a response to the Data Req from RLC.
* Informs HARQ feedback for the PDU with sn. */
-EXTERN S16 KwLiRguHqStaInd ARGS((
+EXTERN S16 RlcLiRguHqStaInd ARGS((
Pst* pst,
SuId suId,
RguHarqStatusInd *harqStatusInd));
/** @brief Request for measuring the timing Info for a LC from RLC to MAC
* When the status is ON then Timing Info for data bursts
* shall be captured and provided to RLC on DDatInd. */
-EXTERN S16 KwLiRguL2MUlThrpMeasReq ARGS((
+EXTERN S16 RlcLiRguL2MUlThrpMeasReq ARGS((
Pst* pst,
SpId spId,
RguL2MUlThrpMeasReqInfo *l2mUlThrpMeasReq));
#endif /* LTE_L2_MEAS */
/** @brief flowCntrl Indication from MAC to RLC */
-EXTERN S16 KwLiRguFlowCntrlInd ARGS((
+EXTERN S16 RlcLiRguFlowCntrlInd ARGS((
Pst *pst,
SuId suId,
RguFlowCntrlInd *flowCntrlInd
));
/** @brief Request from RLC to MAC for forwarding SDUs on
* dedicated channel for transmission */
-EXTERN S16 packSendDlData ARGS((
+EXTERN uint16_t packDlData ARGS((
Pst* pst,
SpId spId,
RlcMacData * datReq
));
/** @brief Request from RLC to MAC for forwarding SDUs on
* dedicated channel for transmission */
-EXTERN S16 unpackSendDlData ARGS((
- RguDDatReq func,
+EXTERN S16 unpackDlData ARGS((
+ RlcMacDlData func,
Pst* pst,
Buffer *mBuf
));
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for dedicated channels*/
-EXTERN S16 packRcvdUlData ARGS((
+EXTERN uint8_t packRlcUlData ARGS((
Pst* pst,
- SuId suId,
RlcMacData * ulData
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for dedicated channels*/
-EXTERN S16 unpackRcvdUlData ARGS((
- RguDDatInd func,
+EXTERN uint8_t unpackRcvdUlData ARGS((
+ RlcMacUlDataFunc func,
Pst* pst,
Buffer *mBuf
));
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for dedicated channels*/
-EXTERN S16 packSendBOStatus ARGS((
+EXTERN uint16_t packBOStatus ARGS((
Pst* pst,
SpId spId,
RlcMacBOStatus* boStatus
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for dedicated channels*/
-EXTERN S16 unpackSendBOStatus ARGS((
- RguDStaRsp func,
+EXTERN uint16_t unpackBOStatus ARGS((
+ RlcMacBoStatus func,
Pst* pst,
Buffer *mBuf
));
EXTERN S16 packSchedRep ARGS((
Pst* pst,
SuId suId,
- RlcMacSchedRep * staInd
+ RlcMacSchedRepInfo *staInd
));
EXTERN S16 cmPkRguFlowCntrlInfo ARGS((
RguFlowCntrlInd *param,
* Informs RLC of the totalBufferSize and Timing Info
* for the transmission on dedicated channels. */
EXTERN S16 unpackSchedRep ARGS((
- RguDStaInd func,
+ RlcMacSchedRep func,
Pst* pst,
Buffer *mBuf
));
Buffer *mBuf
));
EXTERN S16 packSchedRepInfo ARGS((
- RlcMacSchedRep *param,
+ RlcMacSchedRepInfo *param,
Buffer *mBuf
));
EXTERN S16 unpackSchedRepInfo ARGS((
- RlcMacSchedRep *param,
+ RlcMacSchedRepInfo *param,
Buffer *mBuf
));