U8 event;
Void *msg;
}RguInfoRingElem;
+
+/* Buffer occupancy status information */
+typedef struct rlcMacBOStatus
+{
+ CmLteCellId cellId; /*!< CELL ID */
+ CmLteRnti rnti; /*!< UE ID */
+ Bool commCh; /*!< Common or Dedicated Channel */
+ CmLteLcId lcId; /*!< Logical channel ID */
+ S32 bo; /*!< Buffer occupancy reported by RLC */
+}RlcMacBOStatus;
+
+/* Schedule result report from RLC to MAC */
+typedef struct rlcMacLchSta
+{
+ Bool commCh; /*!<Common or Dedicated Channel */
+ RguLchStaInd lchStaInd; /*!<Buffer size allocated for logical channel */
+}RlcMacLchSta;
+
+typedef struct rlcMacSchedRep
+{
+ CmLteTimingInfo timeToTx; /*!< Air interface time */
+ CmLteCellId cellId; /*!< CELL ID */
+ CmLteRnti rnti; /*!< Temporary CRNTI */
+ U8 nmbLch; /*!< Number of logical channels scheduled */
+ RlcMacLchSta lchSta[RGU_MAX_LC]; /*!< Scheduled info of logical channels */
+}RlcMacSchedRep;
+
+/* 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 */
+}RlcMacPduInfo;
+
+typedef struct rlcMacData
+{
+ CmLteTimingInfo timeToTx; /*!< Air interface time */
+ CmLteCellId cellId; /*!< CELL ID */
+ CmLteRnti rnti; /*!< Temporary CRNTI */
+ U8 nmbPdu; /*!< Number of RLC PDUs */
+ RlcMacPduInfo pduInfo[RGU_MAX_PDU];
+}RlcMacData;
+
+
/***********************************************************************
type definitions for upper layer interface - RLC primitives
***********************************************************************/
));
/** @brief Request from RLC to MAC for forwarding SDUs on
* dedicated channel for transmission */
-EXTERN S16 KwLiRguDDatReq ARGS((
+EXTERN S16 RlcMacSendDlData ARGS((
Pst* pst,
SpId spId,
- RguDDatReqInfo * datReq
+ RlcMacData * datReq
+));
+
+/** @brief Handler toprocess UL data from MAC and
+ * forwarding to appropriate common/dedicated
+ * channel's handler */
+EXTERN S16 RlcMacProcUlData 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((
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for dedicated channels*/
-EXTERN S16 KwLiRguDStaRsp ARGS((
+EXTERN S16 RlcMacSendBOStatus ARGS((
Pst* pst,
SpId spId,
- RguDStaRspInfo * staRsp
+ RlcMacBOStatus* boSta
+));
+
+/**@brief Primitive invoked from MAC to RLC to
+ * inform scheduling result for logical channels */
+EXTERN S16 RlcMacProcSchedRep ARGS((
+ Pst* pst,
+ SuId suId,
+ RlcMacSchedRep *schRep
));
/** @brief Status Indication from MAC to RLC
* as a response to the staRsp primitive from RLC.
));
/** @brief Request from RLC to MAC for forwarding SDUs on
* dedicated channel for transmission */
-EXTERN S16 cmPkRguDDatReq ARGS((
+EXTERN S16 packDlData ARGS((
Pst* pst,
SpId spId,
- RguDDatReqInfo * datReq
+ RlcMacData * datReq
));
/** @brief Request from RLC to MAC for forwarding SDUs on
* dedicated channel for transmission */
-EXTERN S16 cmUnpkRguDDatReq ARGS((
+EXTERN S16 unpackDlData ARGS((
RguDDatReq func,
Pst* pst,
Buffer *mBuf
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for dedicated channels*/
-EXTERN S16 cmPkRguDDatInd ARGS((
+EXTERN S16 packRcvdUlData ARGS((
Pst* pst,
SuId suId,
- RguDDatIndInfo * datInd
+ RlcMacData * ulData
));
/** @brief Data Indication from MAC to RLC to
* forward the data received for dedicated channels*/
-EXTERN S16 cmUnpkRguDDatInd ARGS((
+EXTERN S16 unpackRcvdUlData ARGS((
RguDDatInd func,
Pst* pst,
Buffer *mBuf
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for dedicated channels*/
-EXTERN S16 cmPkRguDStaRsp ARGS((
+EXTERN S16 packBOStatus ARGS((
Pst* pst,
SpId spId,
- RguDStaRspInfo * staRsp
+ RlcMacBOStatus* boStatus
));
/** @brief Primitive invoked from RLC to MAC to
* inform the BO report for dedicated channels*/
-EXTERN S16 cmUnpkRguDStaRsp ARGS((
+EXTERN S16 unpackBOStatus ARGS((
RguDStaRsp func,
Pst* pst,
Buffer *mBuf
* 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 cmPkRguDStaInd ARGS((
+EXTERN S16 packSchedRep ARGS((
Pst* pst,
SuId suId,
- RguDStaIndInfo * staInd
+ RlcMacSchedRep * staInd
));
EXTERN S16 cmPkRguFlowCntrlInfo ARGS((
RguFlowCntrlInd *param,
* 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 cmUnpkRguDStaInd ARGS((
+EXTERN S16 unpackSchedRep ARGS((
RguDStaInd func,
Pst* pst,
Buffer *mBuf
RguLchDatInd *param,
Buffer *mBuf
));
-EXTERN S16 cmPkRguDDatIndInfo ARGS((
- RguDDatIndInfo *param,
+EXTERN S16 packRlcMacDataInfo ARGS((
+ RlcMacData *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkRguDDatIndInfo ARGS((
- RguDDatIndInfo *param,
+EXTERN S16 unpackRlcMacDataInfo ARGS((
+ RlcMacData *param,
Buffer *mBuf
));
RguCStaRspInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkRguDStaRspInfo ARGS((
- RguDStaRspInfo *param,
+EXTERN S16 packBOStatusInfo ARGS((
+ RlcMacBOStatus *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkRguDStaRspInfo ARGS((
- RguDStaRspInfo *param,
+EXTERN S16 unpackBOStatusInfo ARGS((
+ RlcMacBOStatus *param,
Buffer *mBuf
));
EXTERN S16 cmPkRguCStaIndInfo ARGS((
RguLchStaInd *param,
Buffer *mBuf
));
-EXTERN S16 cmPkRguDStaIndInfo ARGS((
- RguDStaIndInfo *param,
+EXTERN S16 packSchedRepInfo ARGS((
+ RlcMacSchedRep *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkRguDStaIndInfo ARGS((
- RguDStaIndInfo *param,
+EXTERN S16 unpackSchedRepInfo ARGS((
+ RlcMacSchedRep *param,
Buffer *mBuf
));