typedef struct rlcUlUeCb RlcUlUeCb;
-#ifdef NR_RLC_UL
/**
* @brief Structure to hold a RLC UM PDU segment
*
uint16_t soEnd; /*!< Segment Offset End */
RlcUmHdr umHdr; /*!<Um Header */
}RlcUmSeg;
-#endif
-
-/** @defgroup um_uplink UM Uplink Module
-*/
/**
* @brief Structure to hold a UM PDU
*/
typedef struct rlcUmRecBuf
{
-#ifdef NR_RLC_UL
RlcSn sn; /*!< Sequence Number */
CmLList lnk; /*!< Link to the receive buffer list */
Bool allSegRcvd; /*!< Flag to check whether all seg are received */
uint16_t expSo; /*!< Next expected seg offset */
Bool allRcvd; /*!< All bytes received or not */
RlcUmSeg *expByteSeg; /*!< Next expected byte segment */
-#endif
- Buffer *pdu; /**< Buffer holding the UM PDU */
- RlcUmHdr umHdr; /**< UM PDU Header Information */
- MsgLen pduSz; /**< PDU Size */
+ Buffer *pdu; /**< Buffer holding the UM PDU */
+ RlcUmHdr umHdr; /**< UM PDU Header Information */
+ MsgLen pduSz; /**< PDU Size */
}RlcUmRecBuf;
/**
*/
typedef struct rlcUmUl
{
- uint8_t snLen; /**< Sequence number length */
- uint8_t reOrdTmrInt; /**< Timer Interval */
-#ifdef NR_RLC_UL
- CmLListCp *recBufLst; /*!<Reception Buffer List */
-#endif
- RlcUmRecBuf **recBuf; /**< Reception buffer */
+ uint8_t snLen; /**< Sequence number length */
+ uint8_t reAsmblTmrInt; /**< Timer Interval */
+ CmLListCp *recBufLst; /**!<Reception Buffer List */
RlcSn umWinSz; /**< UM window size */
uint16_t modBitMask; /**< Bitmask for modulus to wrap around variables */
RlcSn sn; /**< Sequence number */
RlcSn vrUr; /**< VR(UR) - Receive state variable */
RlcSn vrUh; /**< VR(UH) - Highest received state variable */
RlcSn vrUx; /**< VR(UX) - Reordering state variable */
- CmTimer reOrdTmr; /**< Reordering Timer */
- Buffer *assembleSdu; /**< Assemble Sdu - Remains till the complete SDU is received */
- uint16_t expSo; /*!< Expected SO for reassembly */
- RlcSn expSn; /*!< Expected Sn */
+ CmTimer reAsmblTmr; /**< Reordering Timer */
+ Buffer *assembleSdu; /**< Assemble Sdu - Remains till the complete SDU is received */
+ uint16_t expSo; /*!< Expected SO for reassembly */
+ RlcSn expSn; /*!< Expected Sn */
}RlcUmUl;
/*@}*/
CmLteRlcId *rlcId,
RlcUlRbCb *rbCb));
-Void rlcUmmReOrdTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcUmmReAsmblTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
Void rlcUmmFreeUlRbCb ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
* Utility Functions
***************************************************************************/
-#ifdef NR_RLC_UL
void rlcUtlStoreUmRecBuf ARGS ((CmLListCp *recBufLst,
RlcUmRecBuf *recBuf,
RlcSn sn
RlcUmRecBuf* rlcUtlGetUmRecBuf ARGS ((CmLListCp *recBufLst,
RlcSn sn
));
-#endif
-void rlcUtlStoreRecBuf ARGS ((CmLListCp *recBufLst,
+void rlcUtlDelUmRecBuf(RlcCb *gCb, CmLListCp *recBufLst, RlcUmRecBuf *recBuf);
+
+Void rlcUtlStoreRecBuf ARGS ((CmLListCp *recBufLst,
RlcAmRecBuf *recBuf,
RlcSn sn
));