typedef struct rlcUlUeCb RlcUlUeCb;
-/** @defgroup um_uplink UM Uplink Module
+/**
+ * @brief Structure to hold a RLC UM PDU segment
+ *
+ * @details
+ * - lstEnt : This is required for the linked list in which the segments
+ * are stored
+ * - seg : Holds the segment data
+ * - segSz : The length of the segment in bytes
+ * - soEnd : SOEnd
+ * - umHdr : The UM Header for the PDU segment
+ *
*/
+typedef struct rlcUmSeg
+{
+ CmLList lstEnt; /*!< List entry for PDU segment */
+ Buffer *seg; /*!< PDU segment */
+ MsgLen segSz; /*!< Buffer Size */
+ uint16_t soEnd; /*!< Segment Offset End */
+ RlcUmHdr umHdr; /*!<Um Header */
+}RlcUmSeg;
/**
* @brief Structure to hold a UM PDU
* - umHdr : UM PDU Header Information
* - pduSz : Length of the PDU excluding the header
*/
-typedef struct kwUmRecBuf
+typedef struct rlcUmRecBuf
{
- Buffer *pdu; /**< Buffer holding the UM PDU */
- KwUmHdr umHdr; /**< UM PDU Header Information */
- MsgLen pduSz; /**< PDU Size */
-}KwUmRecBuf;
+ RlcSn sn; /*!< Sequence Number */
+ CmLList lnk; /*!< Link to the receive buffer list */
+ Bool allSegRcvd; /*!< Flag to check whether all seg are received */
+ Bool noMissingSeg; /*!< Flag to check all the bytes are received before the last byte of segment */
+ CmLListCp segLst; /*!< PDU Segments list */
+ uint16_t expSo; /*!< Next expected seg offset */
+ Bool allRcvd; /*!< All bytes received or not */
+ RlcUmSeg *expByteSeg; /*!< Next expected byte segment */
+ Buffer *pdu; /**< Buffer holding the UM PDU */
+ RlcUmHdr umHdr; /**< UM PDU Header Information */
+ MsgLen pduSz; /**< PDU Size */
+}RlcUmRecBuf;
/**
* @brief Structure to hold uplink information in UM mode for a particular RB
* - partialSdu : This is used to store the partially completed SDU.
* It remains till complete SDU is received
*/
-typedef struct kwUmUl
+typedef struct rlcUmUl
{
- U8 snLen; /**< Sequence number length */
- U8 reOrdTmrInt; /**< Timer Interval */
- KwUmRecBuf **recBuf; /**< Reception buffer */
- KwSn umWinSz; /**< UM window size */
- U16 modBitMask; /**< Bitmask for modulus to wrap around variables */
- KwSn sn; /**< Sequence number */
- KwSn vrUr; /**< VR(UR) - Receive state variable */
- KwSn vrUh; /**< VR(UH) - Highest received state variable */
- KwSn vrUx; /**< VR(UX) - Reordering state variable */
- CmTimer reOrdTmr; /**< Reordering Timer */
- Buffer *partialSdu; /**< Partial SDU - Remains till the complete SDU
- is received */
-}KwUmUl;
+ 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 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;
/*@}*/
/**
* - amHdr : The AM Header for the PDU segment
*
*/
-typedef struct kwSeg
+typedef struct rlcSeg
{
CmLList lstEnt; /**< List entry for PDU segment */
Buffer *seg; /**< PDU segment */
MsgLen segSz; /**< Buffer Size */
- U16 soEnd; /**< Segment Offset End */
- KwAmHdr amHdr; /**< AM header */
-}KwSeg;
+ uint16_t soEnd; /**< Segment Offset End */
+ RlcAmHdr amHdr; /**< AM header */
+}RlcSeg;
/*@}*/
* - allRcvd : Whether all the segments for this PDU has been recevied
*
*/
-typedef struct kwAmRecBuf
+typedef struct rlcAmRecBuf
{
CmLList lnk; /**< Link to the receive buffer list */
Buffer *pdu; /**< PDU buffer */
MsgLen pduSz; /**< Buffer Size */
- KwAmHdr amHdr; /**< AM header Info */
+ RlcAmHdr amHdr; /**< AM header Info */
CmLListCp segLst; /**< PDU Segments list */
- KwSeg *expByteSeg; /**< Next expected byte segment */
- U16 expSo; /**< Next expected seg offset */
+ RlcSeg *expByteSeg; /**< Next expected byte segment */
+ uint16_t expSo; /**< Next expected seg offset */
Bool allRcvd; /**< All bytes received or not */
Bool isDelvUpperLayer; /**< Is it sent to upper layer */
-}KwAmRecBuf;
+}RlcAmRecBuf;
/** @addtogroup ammode */
/*@{*/
* the STATUS PDU
*
*/
-typedef struct kwAmUl
+typedef struct rlcAmUl
{
#ifndef LTE_TDD
CmLListCp *recBufLst;
#else
-// KwAmRecBuf *recBuf[1024]; /**< Reception buffer */
+// RlcAmRecBuf *recBuf[1024]; /**< Reception buffer */
#endif
- KwSn rxNext; /**< RX_Next:Equvalent to VR(R) in 4G */
- KwSn rxNextHighestRcvd; /**< RX_Next_Highest_Rcvd: Equvalent to VR(H) in 4G */
- KwSn rxNextStatusTrig; /**< rxNextStatusTrig: Equvalent to VR(X) in 4G*/
- KwSn vrMr; /**< VR(MR) */
- KwSn rxHighestStatus; /**< rxHighestStatus: Eqvalent to VR(MS) in 4G*/
+ RlcSn rxNext; /**< RX_Next:Equvalent to VR(R) in 4G */
+ RlcSn rxNextHighestRcvd; /**< RX_Next_Highest_Rcvd: Equvalent to VR(H) in 4G */
+ RlcSn rxNextStatusTrig; /**< rxNextStatusTrig: Equvalent to VR(X) in 4G*/
+ RlcSn vrMr; /**< VR(MR) */
+ RlcSn rxHighestStatus; /**< rxHighestStatus: Eqvalent to VR(MS) in 4G*/
Bool staTrg; /**< Whether status trigger occured */
Buffer *partialSdu; /**< Partially received SDU */
- KwSn expSn; /**< Expected SN for reassembly */
- U16 expSo; /**< Expected SO for reassembly */
+ RlcSn expSn; /**< Expected SN for reassembly */
+ uint16_t expSo; /**< Expected SO for reassembly */
CmTimer staProhTmr; /**< T_status_prohibit Timer */
- U16 staProhTmrInt; /**< Timer Interval */
+ uint16_t staProhTmrInt; /**< Timer Interval */
CmTimer reOrdTmr; /**< T_reordering Timer */
- U8 reOrdTmrInt; /**< Timer Interval */
+ uint8_t reOrdTmrInt; /**< Timer Interval */
Bool gatherStaPduInfo; /**< Gather STATUS PDU creation info*/
Bool isOutOfSeq; /**< To identify whether packets are Out-Of-Seq or not */
- U8 snLen; /*!< Sequence number length:12 bit or 18 bit : 5GNR RLC */
- U32 snModMask; /*!< (2 Pwr SnLen - 1): 5GNR RLC */
-}KwAmUl;
+ uint8_t snLen; /*!< Sequence number length:12 bit or 18 bit : 5GNR RLC */
+ uint32_t snModMask; /*!< (2 Pwr SnLen - 1): 5GNR RLC */
+}RlcAmUl;
/*@}*/
* - inst : Id of RLC instance where this Radio Bearer is present. Used
* to find the instance from the Radio Bearer for memory needs
* as different instances might have different memory.
- * - kwuSapId : KWU SAP identifier
+ * - k1wuSapId : KWU SAP identifier
* - udxSapId : UDX SAP idenrifier
* - transId : Stores the transaction identifier used to communicate
* with MAC, the same value as sent by MAC is passed back
{
/* kw005.201 added support for L2 Measurement */
#ifdef LTE_L2_MEAS
- KwL2MeasRbCb rbL2Cb; /**< RB measurement L2 Cb */
+ RlcL2MeasRbCb rbL2Cb; /**< RB measurement L2 Cb */
RlcUlUeCb *ueCb; /*!< Pointer to UeCb */
- U8 qci; /**< qci of the RB */
- KwL2MeasIpThruput l2MeasIpThruput; /**< Holds related parameter for
+ uint8_t qci; /**< qci of the RB */
+ RlcL2MeasIpThruput l2MeasIpThruput; /**< Holds related parameter for
DL/Ul ip throughput>*/
#endif /* LTE_L2_MEAS */
CmLteRlcId rlcId; /**< RLC Identifier */
- KwLchInfo lch; /**< Logical Channel Info */
+ RlcLchInfo lch; /**< Logical Channel Info */
CmLteRlcMode mode; /**< Entity Mode */
- U8 dir; /**< Direction for UL/DL */
+ uint8_t dir; /**< Direction for UL/DL */
Inst inst; /**< Tapa where Rb created Instance id */
- SpId kwuSapId; /**< KWU sap Id, to get the KwuSapCb */
+ SpId k1wuSapId; /**< KWU sap Id, to get the KwuSapCb */
SpId udxSapId; /**< KWU sap Id, to get the KwuSapCb */
- U32 transId; /**< Transaction Id for RLC */
+ uint32_t transId; /**< Transaction Id for RLC */
union
{
- KwUmUl umUl; /**< UM mode Ul elements */
- KwAmUl amUl; /**< AM mode uplink elements */
+ RlcUmUl umUl; /**< UM mode Ul elements */
+ RlcAmUl amUl; /**< AM mode uplink elements */
}m; /**< RLC mode specific Info */
}RlcUlRbCb;
{
CmHashListEnt cellHlEnt; /**< Hash list entry for CellCb */
CmLteCellId cellId; /**< Cell Id */
- RlcUlRbCb *rbCb[KW_MAX_RB_PER_CELL]; /**< RbCbs within a Cell */
- RlcUlLch lCh[KW_MAX_LCH_PER_CELL]; /**< Logical channels in a cell */
+ RlcUlRbCb *rbCb[RLC_MAX_RB_PER_CELL]; /**< RbCbs within a Cell */
+ RlcUlLch lCh[RLC_MAX_LCH_PER_CELL]; /**< Logical channels in a cell */
Pst selfPstUl;
}RlcUlCellCb;
CmHashListEnt ueHlEnt; /**< Hash list entry for UeCb */
CmLteRnti ueId; /*!< UE Id */
CmLteCellId cellId; /*!< Cell Id */
- RlcUlRbCb *srbCb[KW_MAX_SRB_PER_UE]; /**< SRB RbCbs within an UE */
- RlcUlRbCb *drbCb[KW_MAX_DRB_PER_UE]; /**< DRB RbCbs within an UE */
- RlcUlLch lCh[KW_MAX_LCH_PER_UE]; /**< Logical channels of an UE*/
+ RlcUlRbCb *srbCb[RLC_MAX_SRB_PER_UE]; /**< SRB RbCbs within an UE */
+ RlcUlRbCb *drbCb[RLC_MAX_DRB_PER_UE]; /**< DRB RbCbs within an UE */
+ RlcUlLch lCh[RLC_MAX_LCH_PER_UE]; /**< Logical channels of an UE*/
/* kw005.201 added support for L2 Measurement */
#ifdef LTE_L2_MEAS
- U32 firstPacketTTI; /*!< is first packet of the burst */
- U16 numActRb[LKW_MAX_QCI]; /**< number of RBs Active */
+ uint32_t firstPacketTTI; /*!< is first packet of the burst */
+ uint16_t numActRb[LKW_MAX_QCI]; /**< number of RBs Active */
Bool isUlBurstActive; /*!<Has the Burst started for UL IP Thrpt meas */
#endif /* LTE_L2_MEAS */
};
{
CmHashListEnt transHlEnt; /**< List Entry of
Transaction*/
- U32 transId; /**< Locally generated Transaction Id */
- U32 uprLyrTransId; /**< Transaction Id generated by upper layer.
+ uint32_t transId; /**< Locally generated Transaction Id */
+ uint32_t uprLyrTransId; /**< Transaction Id generated by upper layer.
This is used while sending confirm to the User Layer */
CmLteCellId cellId; /**< Cell Id */
CmLteRnti ueId; /**< Ue Id */
RlcUlEntTmpData cfgEntData[CKW_MAX_ENT_CFG]; /**< Entity Data */
} RlcUlCfgTmpData;
/****************************************************************************
- * EXTERN Declarations
+ * Declarations
***************************************************************************/
/****************************************************************************
* Configuration Functions
***************************************************************************/
-EXTERN S16 kwValidateRbCfgParams ARGS ((RlcCb *gCb,
+S16 rlcValidateRbCfgParams ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
RlcEntCfgInfo *cfgToValidate,
CmStatus *status));
-EXTERN S16 rlcCfgValidateUlRb ARGS (( RlcCb *gCb,
+S16 rlcCfgValidateUlRb ARGS (( RlcCb *gCb,
RlcEntCfgInfo *cfgToValidate,
RlcUlEntTmpData *cfgInfo,
RlcUlCfgTmpData *cfg));
-EXTERN S16 rlcCfgRollBackUlRb ARGS ((RlcCb *gCb,
+S16 rlcCfgRollBackUlRb ARGS ((RlcCb *gCb,
CmLteRnti ueId,
RlcEntCfgInfo *cfgToValidate,
RlcUlEntTmpData *cfgTempData));
-EXTERN Void rlcCfgApplyUlRb ARGS ((RlcCb *gCb,
+Void rlcCfgApplyUlRb ARGS ((RlcCb *gCb,
RlcEntCfgInfo *cfgToAply,
RlcUlEntTmpData *cfgTmpData,
RlcUlCfgTmpData *cfgTmpInfo));
-EXTERN S16 rlcCfgValidateReEstRb ARGS ((RlcCb *gCb,
+S16 rlcCfgValidateReEstRb ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
RlcEntCfgInfo *cfgToValidate,
RlcUlEntTmpData *cfgTmpData));
-EXTERN Void rlcCfgApplyReEstUlRb ARGS ((RlcCb *gCb,
+Void rlcCfgApplyReEstUlRb ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
Bool sndReEstInd,
RlcUlEntTmpData *cfgTmpData));
-EXTERN Void rlcCfgApplyDelUlCell ARGS ((RlcCb *gCb,
+Void rlcCfgApplyDelUlCell ARGS ((RlcCb *gCb,
RlcUlCfgTmpData *cfgTmpData));
-EXTERN S16 rlcCfgValidateDelUlCell ARGS ((RlcCb *gCb,
+S16 rlcCfgValidateDelUlCell ARGS ((RlcCb *gCb,
CmLteCellId cellId,
RlcEntCfgInfo *cfgToValidate,
RlcUlEntTmpData *cfgTmpData,
RlcUlCfgTmpData *cfgInfo));
-EXTERN S16 rlcCfgValidateDelUlUe ARGS ((RlcCb *gCb,
+S16 rlcCfgValidateDelUlUe ARGS ((RlcCb *gCb,
RlcEntCfgInfo *cfgToValidate,
RlcUlEntTmpData *cfgTmpData,
RlcUlCfgTmpData *cfgInfo));
-EXTERN Void rlcCfgApplyDelUlUe ARGS ((RlcCb *gCb,
+Void rlcCfgApplyDelUlUe ARGS ((RlcCb *gCb,
RlcUlCfgTmpData *cfgTmpData));
-EXTERN Void rlcUlHdlCfgReq ARGS ((RlcCb *gCb,
+Void rlcUlHdlCfgReq ARGS ((RlcCb *gCb,
RlcUlCfgTmpData *cfgInfo,
RlcCfgInfo *cfg));
-EXTERN Void rlcCfgApplyUlUeIdChng ARGS ((RlcCb *gCb,
+Void rlcCfgApplyUlUeIdChng ARGS ((RlcCb *gCb,
CkwUeInfo *ueInfo,
CkwUeInfo *newUeInfo,
RlcUlCfgTmpData *cfgTmpInfo));
-EXTERN S16 rlcCfgValidateUeIdChng ARGS ((RlcCb *gCb,
+S16 rlcCfgValidateUeIdChng ARGS ((RlcCb *gCb,
CkwUeInfo *ueInfo,
CkwUeInfo *newUeInfo,
RlcUlCfgTmpData *cfgTmpInfo));
/****************************************************************************
* DBM module Functions
***************************************************************************/
-EXTERN S16 kwDbmUlInit ARGS ((RlcCb *gCb));
+S16 rlcDbmUlInit ARGS ((RlcCb *gCb));
-EXTERN Void kwDbmUlDeInit ARGS ((RlcCb *gCb));
+Void rlcDbmUlDeInit ARGS ((RlcCb *gCb));
-EXTERN S16 kwDbmAddUlUeCb ARGS ((RlcCb *gCb,
+S16 rlcDbmAddUlUeCb ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
RlcUlUeCb *ueCb));
-EXTERN S16 kwDbmFetchUlUeCb ARGS ((RlcCb *gCb,
+uint8_t rlcDbmFetchUlUeCb ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
RlcUlUeCb **ueCb));
-EXTERN Void kwDbmDelUlUeCb ARGS ((RlcCb *gCb,
+Void rlcDbmDelUlUeCb ARGS ((RlcCb *gCb,
RlcUlUeCb *ueCb,
Bool abortFlag));
-EXTERN Void kwDbmDelAllUlUe ARGS ((RlcCb *gCb));
+Void rlcDbmDelAllUlUe ARGS ((RlcCb *gCb));
-EXTERN S16 kwDbmAddUlCellCb ARGS ((RlcCb *gCb,
+S16 rlcDbmAddUlCellCb ARGS ((RlcCb *gCb,
CmLteCellId cellId,
RlcUlCellCb *cellCb));
-EXTERN Void kwDbmFetchUlCellCb ARGS ((RlcCb *gCb,
+Void rlcDbmFetchUlCellCb ARGS ((RlcCb *gCb,
CmLteCellId cellId,
RlcUlCellCb **cellCb));
-EXTERN Void kwDbmDelUlCellCb ARGS ((RlcCb *gCb,
+Void rlcDbmDelUlCellCb ARGS ((RlcCb *gCb,
RlcUlCellCb *cellCb));
-EXTERN Void kwDbmDelAllUlCell ARGS ((RlcCb *gCb));
+Void rlcDbmDelAllUlCell ARGS ((RlcCb *gCb));
-EXTERN Void kwDbmFetchUlRbCbByRbId ARGS ((RlcCb *gCb,
+Void rlcDbmFetchUlRbCbByRbId ARGS ((RlcCb *gCb,
CmLteRlcId *rlcId,
RlcUlRbCb **rbCb));
-EXTERN Void kwDbmFetchUlRbCbFromLchId ARGS ((RlcCb *gCb,
+Void rlcDbmFetchUlRbCbFromLchId ARGS ((RlcCb *gCb,
CmLteRnti ueId,
CmLteCellId cellId,
CmLteLcId lcId,
RlcUlRbCb **rbCb));
-EXTERN Void kwDbmDelAllUlRb ARGS ((RlcCb *gCb,
+Void rlcDbmDelAllUlRb ARGS ((RlcCb *gCb,
RlcUlRbCb **rbCbLst,
- U8 numRbCb));
+ uint8_t numRbCb));
-EXTERN S16 kwDbmAddUlTransaction ARGS((RlcCb *gCb, RlcUlCfgTmpData *cfg));
+S16 rlcDbmAddUlTransaction ARGS((RlcCb *gCb, RlcUlCfgTmpData *cfg));
-EXTERN S16 kwDbmFindUlTransaction ARGS((RlcCb *gCb,
- U32 transId,
+S16 rlcDbmFindUlTransaction ARGS((RlcCb *gCb,
+ uint32_t transId,
RlcUlCfgTmpData **cfg));
-EXTERN S16 kwDbmDelUlTransaction ARGS((RlcCb *gCb, RlcUlCfgTmpData *cfg));
+S16 rlcDbmDelUlTransaction ARGS((RlcCb *gCb, RlcUlCfgTmpData *cfg));
-EXTERN S16 kwDbmDelAllUlTransactions ARGS((RlcCb *gCb));
+S16 rlcDbmDelAllUlTransactions ARGS((RlcCb *gCb));
-EXTERN Void kwDbmUlShutdown ARGS ((RlcCb *gCb));
+Void rlcDbmUlShutdown ARGS ((RlcCb *gCb));
/****************************************************************************
* Transparent Mode Functions
***************************************************************************/
#ifdef CCPU_OPT
-EXTERN PUBLIC Void kwTmmRcvFrmLi ARGS ((RlcCb *gCb,
- RlcUlRbCb *rbCb,
- CmLteRnti tCrnti,
- Buffer *pdu));
-#else /* CCPU_OPT */
-EXTERN PUBLIC Void kwTmmRcvFrmLi ARGS ((RlcCb *gCb,
- RlcUlRbCb *rbCb,
- Buffer *pdu));
-#endif /* CCPU_OPT */
-
-EXTERN Void kwTmmUlReEstablish ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
+void rlcTmmRcvFrmMac ARGS ((RlcCb *gCb,
+ RlcUlRbCb *rbCb,
+ CmLteRnti tCrnti,
+ Buffer *pdu));
+
+#else
+void rlcTmmRcvFrmMac ARGS ((RlcCb *gCb,
+ RlcUlRbCb *rbCb,
+ Buffer *pdu));
+#endif
+
+Void rlcTmmUlReEstablish ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
/****************************************************************************
* Unacknowledged Mode Functions
***************************************************************************/
#ifdef LTE_L2_MEAS
-EXTERN Void kwUmmProcessPdus ARGS((RlcCb *gCb,
+Void rlcUmmProcessPdus ARGS((RlcCb *gCb,
RlcUlRbCb *rbCb,
KwPduInfo *pduInfo,
- U32 ttiCnt));
+ uint32_t ttiCnt));
#else
-EXTERN Void kwUmmProcessPdus ARGS ((RlcCb *gCb,
+Void rlcUmmProcessPdus ARGS ((RlcCb *gCb,
RlcUlRbCb *rbCb,
KwPduInfo *pduInfo));
#endif
-EXTERN Void kwUmmUlReEstablish ARGS ((RlcCb *gCb,
+Void rlcUmmUlReEstablish ARGS ((RlcCb *gCb,
CmLteRlcId *rlcId,
RlcUlRbCb *rbCb));
-EXTERN Void kwUmmReOrdTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcUmmReAsmblTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
-EXTERN Void kwUmmFreeUlRbCb ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcUmmFreeUlRbCb ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
/****************************************************************************
* Acknowledged Mode Functions
***************************************************************************/
-EXTERN Void kwAmmUlReEstablish ARGS((RlcCb *gCb,
+Void rlcAmmUlReEstablish ARGS((RlcCb *gCb,
CmLteRlcId rlcId,
Bool sndReEst,
RlcUlRbCb *rbCb));
#ifdef LTE_L2_MEAS
-EXTERN Void kwAmmProcessPdus ARGS((RlcCb *gCb,
+Void rlcAmmProcessPdus ARGS((RlcCb *gCb,
RlcUlRbCb *rbCb,
KwPduInfo *pduInfo,
- U32 ttiCnt));
+ uint32_t ttiCnt));
#else
-EXTERN Void kwAmmProcessPdus ARGS((RlcCb *gCb,
+Void rlcAmmProcessPdus ARGS((RlcCb *gCb,
RlcUlRbCb *rbCb,
KwPduInfo *pduInfo));
#endif
-EXTERN Void kwAmmReOrdTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcAmmReOrdTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
-EXTERN Void kwAmmStaProTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcAmmStaProTmrExp ARGS((RlcCb *gCb, RlcUlRbCb *rbCb));
-EXTERN Void kwAmmFreeUlRbCb ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
+Void rlcAmmFreeUlRbCb ARGS ((RlcCb *gCb, RlcUlRbCb *rbCb));
/****************************************************************************
* Utility Functions
***************************************************************************/
-EXTERN Void kwUtlStoreRecBuf ARGS ((CmLListCp *recBufLst,
- KwAmRecBuf *recBuf,
- KwSn sn
+
+void rlcUtlStoreUmRecBuf ARGS ((CmLListCp *recBufLst,
+ RlcUmRecBuf *recBuf,
+ RlcSn sn
+ ));
+RlcUmRecBuf* rlcUtlGetUmRecBuf ARGS ((CmLListCp *recBufLst,
+ RlcSn sn
+ ));
+void rlcUtlDelUmRecBuf(RlcCb *gCb, CmLListCp *recBufLst, RlcUmRecBuf *recBuf);
+
+Void rlcUtlStoreRecBuf ARGS ((CmLListCp *recBufLst,
+ RlcAmRecBuf *recBuf,
+ RlcSn sn
));
-EXTERN KwAmRecBuf* kwUtlGetRecBuf ARGS ((CmLListCp *recBufLst,
- KwSn sn
+RlcAmRecBuf* rlcUtlGetRecBuf ARGS ((CmLListCp *recBufLst,
+ RlcSn sn
));
-EXTERN Void kwUtlDelRecBuf ARGS ((CmLListCp *recBufLst,
- KwAmRecBuf *recBuf,
+Void rlcUtlDelRecBuf ARGS ((CmLListCp *recBufLst,
+ RlcAmRecBuf *recBuf,
RlcCb *gCb
));
-EXTERN S16 kwUtlRcvFrmLi ARGS ((RlcCb *gCb, KwDatIndInfo *datIndInfo));
+uint8_t rlcUtlRcvFrmMac ARGS ((RlcCb *gCb, KwDatIndInfo *datIndInfo));
-EXTERN S16 kwUtlSndDatInd ARGS ((RlcCb *gCb,RlcUlRbCb *rbCb, Buffer *sdu));
+uint8_t rlcUtlSendUlDataToDu ARGS ((RlcCb *gCb,RlcUlRbCb *rbCb, Buffer *sdu));
#ifdef LTE_L2_MEAS
-EXTERN S16 kwUtlHdlL2TmrExp ARGS (( RlcCb *gCb, KwL2MeasEvtCb *measEvtCb));
+S16 rlcUtlHdlL2TmrExp ARGS (( RlcCb *gCb, RlcL2MeasEvtCb *measEvtCb));
-EXTERN Void kwUtlCalUlIpThrPutIncTTI ARGS ((RlcCb *gCb,
+Void rlcUtlCalUlIpThrPutIncTTI ARGS ((RlcCb *gCb,
RlcUlRbCb *rbCb,
- U32 ttiCnt));
+ uint32_t ttiCnt));
-EXTERN Void kwUtlCalUlIpThrPut ARGS((RlcCb *gCb,
+Void rlcUtlCalUlIpThrPut ARGS((RlcCb *gCb,
RlcUlRbCb *rbCb,
Buffer *pdu,
- U32 ttiCnt));
+ uint32_t ttiCnt));
-EXTERN S16 kwUtlSndUlL2MeasCfm ARGS ((RlcCb *gCb, KwL2MeasEvtCb *measEvtCb));
+S16 rlcUtlSndUlL2MeasCfm ARGS ((RlcCb *gCb, RlcL2MeasEvtCb *measEvtCb));
-EXTERN S16 kwUtlSndUlL2MeasNCfm ARGS ((RlcCb *gCb,
- KwL2MeasReqEvt *measReqEvt,
- KwL2MeasCfmEvt *measCfmEvt));
+S16 rlcUtlSndUlL2MeasNCfm ARGS ((RlcCb *gCb,
+ RlcL2MeasReqEvt *measReqEvt,
+ RlcL2MeasCfmEvt *measCfmEvt));
-EXTERN S16 kwUtlL2MeasUlInit ARGS((RlcCb *gCb));
+S16 rlcUtlL2MeasUlInit ARGS((RlcCb *gCb));
-EXTERN Void kwUtlResetUlL2MeasInKwRb ARGS((RlcCb *gCb,
- KwL2MeasCb *measCb,
- U8 measType));
+Void rlcUtlResetUlL2MeasInRlcRb ARGS((RlcCb *gCb,
+ RlcL2MeasCb *measCb,
+ uint8_t measType));
-EXTERN S16 kwUtlValidateIpThL2Meas ARGS ((KwL2MeasReqEvt *measReqEvt,
- KwL2MeasCfmEvt *measCfmEvt));
+S16 rlcUtlValidateIpThL2Meas ARGS ((RlcL2MeasReqEvt *measReqEvt,
+ RlcL2MeasCfmEvt *measCfmEvt));
#endif /* LTE_L2_MEAS */
/****************************************************************************
* Activation Functions
***************************************************************************/
-EXTERN S16 rlcUlActvInit ARGS ((Ent ent,
+S16 rlcUlActvInit ARGS ((Ent ent,
Inst inst,
Region region,
Reason reason));
-EXTERN S16 rlcUlActvTsk ARGS ((Pst *pst, Buffer *mBuf));
+S16 rlcUlActvTsk ARGS ((Pst *pst, Buffer *mBuf));
/****************************************************************************
* Debug Functions
***************************************************************************/
-EXTERN Void DumpRLCUlDebugInformation ARGS((Void));
+Void DumpRLCUlDebugInformation ARGS((Void));
+
+uint8_t rlcProcCommLcUlData(Pst *pst, SuId suId, RguCDatIndInfo *datInd);
+uint8_t rlcProcDedLcUlData(Pst *pst, SuId suId, RguDDatIndInfo *datInd);
#ifdef __cplusplus
}