Deleted the rlog folder
[o-du/l2.git] / src / 5gnrrlc / kw_dl.x
index 00c2a13..e686fae 100755 (executable)
 
 /********************************************************************20**
   
-        Name:    LTE RLC file 
+        Name:    NR RLC file      
     
         Type:    C include file
   
         Desc:    This file contains all the data structures and 
-                 prototypes for LTE RLC.
+                 prototypes for RLC.
  
         File:    kw_dl.x
   
@@ -97,24 +97,24 @@ typedef struct rlcSdu
    {
       struct   _t 
       {
-         U16         sfn;        /*!< Sub frame number for BCCH/PCCH */
-         U16         slot;   /*!< Subframe number */
+         uint16_t    sfn;        /*!< Sub frame number for BCCH/PCCH */
+         uint16_t    slot;   /*!< Subframe number */
          CmLteRnti   rnti;       /*!< RNTI for CCCH */
 #ifdef EMTC_ENABLE
-         U8          emtcDiReason; /*!< DI reason */
-         U8          pnb;       /*!<narrow band on which Ue performs Paging*/
+         uint8_t          emtcDiReason; /*!< DI reason */
+         uint8_t          pnb;       /*!<narrow band on which Ue performs Paging*/
 #endif
       }tm;   /*!< SDU for TM mode */
 
       struct   _u
       {
-         U32    sduId;         /*!< SDU Identifier */
-         Bool   isSegmented;   /*!< Flag to indicate if the SDU is segmented */
+         uint32_t  sduId;         /*!< SDU Identifier */
+         Bool      isSegmented;   /*!< Flag to indicate if the SDU is segmented */
       }um;   /*!< SDU for UM mode */
 
       struct   _a
       {
-         U32        sduId;                    /*!< SDU Identifier */
+         uint32_t   sduId;                    /*!< SDU Identifier */
          MsgLen     rcvdSz;                   /*!< Recvd SDU Size from peer */
          Bool       isSegmented;              /*!< Is SDU segmented */
          RlcSn        sn;                       /*!< SN assigned to this SDU*/
@@ -151,11 +151,11 @@ typedef struct rlcTm
 */
 typedef struct rlcBoRep
 {
-   S32    bo;            /*!< Buffer occupancy */
-   U16    estHdrSz;      /*!< Estimated header size for the bo */
-   Bool   staPduPrsnt;   /*!< Indicate control bo present or not */
-   U32    staPduBo;     /*!< Indicate bo for control PDU */
-   U32    oldestSduArrTime;
+   int32_t  bo;            /*!< Buffer occupancy */
+   uint16_t estHdrSz;      /*!< Estimated header size for the bo */
+   bool     staPduPrsnt;   /*!< Indicate control bo present or not */
+   uint32_t staPduBo;     /*!< Indicate bo for control PDU */
+   uint32_t oldestSduArrTime;
 } RlcBoRep;
 
 /** 
@@ -174,7 +174,7 @@ typedef struct rlcDatReq
 /* kw005.201 added support for L2 Measurement */
 #ifdef LTE_L2_MEAS
    KwLchMapInfo lchMapInfo;   /*!< Logical channel mapping info */
-   U32          totMacGrant;
+   uint32_t          totMacGrant;
 #endif /* LTE_L2_MEAS */
 }RlcDatReq;
 
@@ -192,25 +192,18 @@ typedef struct rlcDatReq
  *                    as 1 for 5 bit sequence numbers and 
  *                    2 for 10 bit sequence numbers
  *    - bo          : Current buffer occupancy for this RB
- *    - estHdrSz    : Estimated size of headers required to send 
- *                    all the SDUs in the queue
- *    - vtUs        : VT(US)
+ *    - TX_Next     : SN to be allocated to next SDU
  *    - modBitMask  : Bitmask used to do modulus operations to wrap around 
- *                    state variables, value is 0x1f or 
- *                    0x3ff for 5-bit and 10-bit sequence numbers respectively
- *    - numLi       : Number of length indicators to be sent in the next pdu
- *    - li          : Values of the lenght indicators
+ *                    state variables, value is 0x3f or 
+ *                    0xfff for 6-bit and 12-bit sequence numbers respectively
 */
 typedef struct rlcUmDl
 {
    CmLListCp   sduQ;            /*!< SDU queue for UM */
-   U8          snLen;           /*!< Sequence number length */
-   S32         bo;              /*!< Buffer occupancy */
-   S32         estHdrSz;        /*!< Estimated header size for BO */
-   RlcSn        vtUs;            /*!< VT(US) */
-   U16         modBitMask;      /*!< Bitmask for modulus to wrap around vars*/   
-   U16         numLi;           /*!< Number of LIs */
-   U16         li[RLC_MAX_LI];   /*!< Length Indicator array */
+   uint8_t     snLen;           /*!< Sequence number length */
+   int32_t     bo;              /*!< Buffer occupancy */
+   RlcSn       txNext;          /*!< TX_Next */
+   uint16_t    modBitMask;      /*!< Bitmask for modulus to wrap around vars*/   
 }RlcUmDl;
 
 /** 
@@ -253,12 +246,12 @@ typedef struct rlcRetx
    Buffer     *seg;                /*!< Buffer of PDU or Segment */
    MsgLen     segSz;               /*!< Segment Size */
    MsgLen     hdrSz;               /*!< Header size for the segment */
-   RlcAmHdr    amHdr;               /*!< AM header Info */
-   U16        soEnd;               /*!< Segment Offset End */
-   RlcSn       retxCnt;             /*!< Retransmission count */
+   RlcAmHdr   amHdr;               /*!< AM header Info */
+   uint16_t   soEnd;               /*!< Segment Offset End */
+   RlcSn      retxCnt;             /*!< Retransmission count */
    Bool       yetToConst;          /*!< Yet to construct seg flag */
    Bool       pendingReTrans;      /*!< Is node waiting for re-transmission */
-   RlcSduMap   sduMap;              /*!< SDU mapped with PDU */
+   RlcSduMap  sduMap;              /*!< SDU mapped with PDU */
 }RlcRetx;
 
 /** 
@@ -339,34 +332,34 @@ typedef struct rlcTx
 typedef struct rlcAmDl
 {
    CmLListCp        sduQ;             /*!< SDU queue */
-   RlcSdu            *nxtTx;           /*!< Next SDU to be transmitted */
+   RlcSdu           *nxtTx;           /*!< Next SDU to be transmitted */
    CmTimer          pollRetxTmr;      /*!< T_poll_retransmit Timer */
-   U16              pollRetxTmrInt;   /*!< Timer Interval */
-   S16              pollPdu;          /*!< Poll_PDU */
-   S32              pollByte;         /*!< Poll_Byte */
-   U8               maxRetx;          /*!< Max_Retx_Threshold */
-   S32              cntrlBo;          /*!< BO of control pdu */ 
-   S32              retxBo;           /*!< BO of Retransmission PDUs */ 
-   U32              estHdrSz;         /*!< Estimated header size for the BO */
-   S32              bo;               /*!< BO of new PDUs */
+   uint16_t         pollRetxTmrInt;   /*!< Timer Interval */
+   int16_t          pollPdu;          /*!< Poll_PDU */
+   int32_t          pollByte;         /*!< Poll_Byte */
+   uint8_t          maxRetx;          /*!< Max_Retx_Threshold */
+   int32_t          cntrlBo;          /*!< BO of control pdu */ 
+   int32_t          retxBo;           /*!< BO of Retransmission PDUs */ 
+   uint32_t         estHdrSz;         /*!< Estimated header size for the BO */
+   int32_t          bo;               /*!< BO of new PDUs */
 #ifndef LTE_TDD 
    CmLListCp        *txBufLst;       /*!< Transmission buffer list of type RlcTx */
 #else
 //   RlcTx             *txBuf[1024];          /*!< Transmission buffer */
 #endif
    CmLListCp        retxLst;          /*!< Retransmission PDU list */
-   RlcRetx           *nxtRetx;         /*!< Next node to be retransmitted */
-   RlcSn             txNext;           /*!< 5GNR: TX_Next, in LTE  VT(S) */
-   RlcSn             txNextAck;        /*!< 5GNR: TX_Next_Ack, in LTE VT(A)*/ 
-   S16              pduWoPoll;        /*!< PDU without poll bit counter */
-   S32              byteWoPoll;       /*!< Byte without poll bit counter */
-   RlcSn             pollSn;           /*!< Poll SN */
+   RlcRetx          *nxtRetx;         /*!< Next node to be retransmitted */
+   RlcSn            txNext;           /*!< 5GNR: TX_Next, in LTE  VT(S) */
+   RlcSn            txNextAck;        /*!< 5GNR: TX_Next_Ack, in LTE VT(A)*/ 
+   int16_t          pduWoPoll;        /*!< PDU without poll bit counter */
+   int32_t          byteWoPoll;       /*!< Byte without poll bit counter */
+   RlcSn            pollSn;           /*!< Poll SN */
    Buffer           *mBuf;            /*!< this can be removed later 
                                            Stores the Control Pdu */
    Bool             maxReTxReached;   /*!< Set when the DL MAX Retx exceeded */
-   RlcUdxDlStaPdu*   pStaPdu;          /*!< The Control Pdu passed from UL*/
-   U8               snLen;           /*!< Sequence number length:12 bit or 18 bit : 5GNR RLC */
-   U32              snModMask;       /*!< (2 Pwr SnLen - 1): 5GNR RLC */
+   RlcUdxDlStaPdu*  pStaPdu;          /*!< The Control Pdu passed from UL*/
+   uint8_t          snLen;           /*!< Sequence number length:12 bit or 18 bit : 5GNR RLC */
+   uint32_t         snModMask;       /*!< (2 Pwr SnLen - 1): 5GNR RLC */
 }RlcAmDl;
 
 /*@}*/
@@ -400,7 +393,7 @@ typedef struct rlcAmDl
 */
 typedef struct _rlcDlRbCb
 {
-   U8              qci;                /*!< qci of the RB */
+   uint8_t              qci;                /*!< qci of the RB */
 #ifdef LTE_L2_MEAS
    RlcDlUeCb        *ueCb;              /*!< Pointer to UeCb  */
    RlcL2MeasRbCb    rbL2Cb;             /*!< RB measurement L2 Cb */
@@ -415,14 +408,14 @@ typedef struct _rlcDlRbCb
                                            seconds for an PDCP SDU for this RB */
    /* Discard new changes ends */
    CmLteRlcId     rlcId;           /*!< RLC Identifier */
-   RlcLchInfo      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 Instance where rb created */
    SpId           k1wuSapId;        /*!< KWU sap Id, to get the KwuSapCb */
    SpId           udxSapId;        /*!< UDX sap Id, to get the UdxSapCb */
-   U32            transId;         /*!< Transaction Id for RLC */
-   Bool  reestInProgress; /*!< Is reestablishment in progress */
+   uint32_t       transId;         /*!< Transaction Id for RLC */
+   Bool           reestInProgress; /*!< Is reestablishment in progress */
    SpId           rguSapId;        /*!< RGU Instance SAP corresponding to this RB */
    union          
    {
@@ -432,8 +425,8 @@ typedef struct _rlcDlRbCb
    }m;   /*!< RLC mode specific Info */
    CmLList   rlsLnk;   /*!< Link to add to release list */
    Bool      cleanupStarted; /*!< Whether cleanup of RB is in progress or not */
-   U32       lastRprtdBoToMac; /*!< Last Reported BO to MAC Layer */
-   U32       boUnRprtdCnt; /*!< Count to keep track of periodic BO Update */
+   uint32_t  lastRprtdBoToMac; /*!< Last Reported BO to MAC Layer */
+   uint32_t  boUnRprtdCnt; /*!< Count to keep track of periodic BO Update */
 }RlcDlRbCb;
 
 /** 
@@ -472,8 +465,8 @@ typedef struct rlcDlCellCb
 typedef struct rlcContSduLst
 {
    CmLteLcId   lcId;    /*!< Holds the lcId of rbCb */
-   U8          numSdus; /*!< Number sdus in sduIdx array */
-   U8          sduIdx[RLC_L2MEAS_MAX_OUTSTNGSDU];  /*!< Hold the index to KwOutStngSduLst */
+   uint8_t     numSdus; /*!< Number sdus in sduIdx array */
+   uint8_t     sduIdx[RLC_L2MEAS_MAX_OUTSTNGSDU];  /*!< Hold the index to KwOutStngSduLst */
 }RlcContSduLst;
 typedef struct rlcSduInfo
 {
@@ -484,8 +477,8 @@ typedef struct rlcSduInfo
 typedef struct rlclchInfo
 {
    CmLteLcId   lcId;    /*!< Holds the lcId of rbCb */
-   U8         numSdus; /*!< Number sdus belonged to the this LC */
-   RlcSduInfo sduInfo[RLC_L2MEAS_SDUIDX];
+   uint8_t     numSdus; /*!< Number sdus belonged to the this LC */
+   RlcSduInfo  sduInfo[RLC_L2MEAS_SDUIDX];
 }RlclchInfo;
 
 /** @struct RlcL2MeasTb
@@ -493,13 +486,13 @@ typedef struct rlclchInfo
  */
 typedef struct rlcL2MeasTb
 {
-   U8              numLcId;       /* number of logical channels in this TbCb */
+   uint8_t          numLcId;       /* number of logical channels in this TbCb */
    RlcContSduLst    sduInfo[RLC_MAX_ACTV_DRB]; /*!< Contained sduLst for 
                                                outstanding sdu */
-   U8              numLchInfo;
+   uint8_t          numLchInfo;
    RlclchInfo       lchInfo[RLC_MAX_ACTV_DRB]; /* Holds the LC info details 
                                                   used for DL delay L2 Meas*/
-   U32             txSegSduCnt; /*!< This holds the no.of partially 
+   uint32_t         txSegSduCnt; /*!< This holds the no.of partially 
                                      transmitted SDU per TB which can be used for UU loss Meas*/
 }RlcL2MeasTb;
 #endif
@@ -517,17 +510,17 @@ typedef struct rlcL2MeasTb
 */
 struct rlcDlUeCb
 {
-   CmHashListEnt   ueHlEnt;                   /*!< Hash list entry for UeCb */
-   CmLteRnti     ueId;     /*!< UE Id */
-   CmLteCellId   cellId;   /*!< Cell Id */
-   RlcDlRbCb        *srbCb[RLC_MAX_SRB_PER_UE]; /*!< SRB RbCbs within a UE */ 
-   RlcDlRbCb        *drbCb[RLC_MAX_DRB_PER_UE]; /*!< DRB RbCbs within a UE */ 
-   RlcDlLch         lCh[RLC_MAX_LCH_PER_UE];    /*!< Array of Logical channels */
+   CmHashListEnt     ueHlEnt;                   /*!< Hash list entry for UeCb */
+   CmLteRnti         ueId;     /*!< UE Id */
+   CmLteCellId       cellId;   /*!< Cell Id */
+   RlcDlRbCb         *srbCb[RLC_MAX_SRB_PER_UE]; /*!< SRB RbCbs within a UE */ 
+   RlcDlRbCb         *drbCb[RLC_MAX_DRB_PER_UE]; /*!< DRB RbCbs within a UE */ 
+   RlcDlLch          lCh[RLC_MAX_LCH_PER_UE];    /*!< Array of Logical channels */
 /* kw005.201 added support for L2 Measurement */
 #ifdef LTE_L2_MEAS
-   U16           numActRb[LKW_MAX_QCI];     /*!< number of RBs Active */
-   U8            tbIdx;                /*!< TBIDx for  measTbCb */
-   RlcL2MeasTb    *l2MeasTbCb[RLC_MAX_TB_PER_UE]; /*!< Array of Measurement tbCb */
+   uint16_t           numActRb[LKW_MAX_QCI];     /*!< number of RBs Active */
+   uint8_t            tbIdx;                /*!< TBIDx for  measTbCb */
+   RlcL2MeasTb        *l2MeasTbCb[RLC_MAX_TB_PER_UE]; /*!< Array of Measurement tbCb */
 #endif /* LTE_L2_MEAS */
 #ifdef TENB_STATS
    TSL2UeStatsCb   *tenbStats; /*!< UE Stats Holder */
@@ -535,48 +528,48 @@ struct rlcDlUeCb
 };
 
 /****************************************************************************
- *                      EXTERN Declarations
+ *                      Declarations
  ***************************************************************************/
 /****************************************************************************
  *                    Configuration Functions 
  ***************************************************************************/ 
-EXTERN S16 rlcCfgAddDlRb ARGS ((RlcCb *gCb, 
+S16 rlcCfgAddDlRb ARGS ((RlcCb *gCb, 
                               CmLteRnti ueId, 
                               CmLteCellId cellId, 
                               RlcEntCfgInfo *entCfg, 
                               RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgReCfgDlRb ARGS ((RlcCb *gCb, 
+S16 rlcCfgReCfgDlRb ARGS ((RlcCb *gCb, 
                                  CmLteRnti ueId, 
                                  CmLteCellId cellId, 
                                  RlcEntCfgInfo *entCfg, 
                                  RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgDelDlRb ARGS ((RlcCb *gCb, 
+S16 rlcCfgDelDlRb ARGS ((RlcCb *gCb, 
                                CmLteRnti ueId, 
                                CmLteCellId cellId, 
                                RlcEntCfgInfo *entCfg, 
                                RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgDelDlUe ARGS ((RlcCb *gCb, 
+S16 rlcCfgDelDlUe ARGS ((RlcCb *gCb, 
                                CmLteRnti ueId, 
                                CmLteCellId cellId, 
                                RlcEntCfgInfo *entCfg, 
                                RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgReEstDlRb ARGS ((RlcCb *gCb, 
+S16 rlcCfgReEstDlRb ARGS ((RlcCb *gCb, 
                                  CmLteRnti ueId, 
                                  CmLteCellId cellId, 
                                  Bool sndReEst,
                                  RlcEntCfgInfo *entCfg, 
                                  RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgDelDlCell ARGS ((RlcCb *gCb, 
+S16 rlcCfgDelDlCell ARGS ((RlcCb *gCb, 
                                  CmLteCellId cellId, 
                                  RlcEntCfgInfo *entCfg,
                                  RlcEntCfgCfmInfo *entCfm));
 
-EXTERN S16 rlcCfgDlUeIdChng ARGS ((RlcCb *gCb, 
+S16 rlcCfgDlUeIdChng ARGS ((RlcCb *gCb, 
                                   CkwUeInfo *ueInfo, 
                                   CkwUeInfo *newUeInfo, 
                                   CmStatus  *status));
@@ -584,265 +577,265 @@ EXTERN S16 rlcCfgDlUeIdChng ARGS ((RlcCb *gCb,
 /****************************************************************************
  *                    DBM module Functions 
  ***************************************************************************/
-EXTERN S16 rlcDbmDlInit ARGS ((RlcCb *gCb));
+S16 rlcDbmDlInit ARGS ((RlcCb *gCb));
 
-EXTERN Void rlcDbmDlDeInit ARGS ((RlcCb *gCb));
+Void rlcDbmDlDeInit ARGS ((RlcCb *gCb));
 
-EXTERN S16 rlcDbmCreateDlUeCb ARGS ((RlcCb *gCb,     
+S16 rlcDbmCreateDlUeCb ARGS ((RlcCb *gCb,     
                                     CmLteRnti ueId,   
                                     CmLteCellId cellId,
                                     RlcDlUeCb **ueCb));
 
-EXTERN S16 rlcDbmFetchDlUeCb ARGS ((RlcCb *gCb,        
+uint8_t rlcDbmFetchDlUeCb ARGS ((RlcCb *gCb,        
                                    CmLteRnti ueId,      
                                    CmLteCellId cellId,     
                                    RlcDlUeCb **ueCb));
 
-EXTERN Void rlcDbmDelDlUeCb ARGS ((RlcCb *gCb,       
+Void rlcDbmDelDlUeCb ARGS ((RlcCb *gCb,       
                                   RlcDlUeCb *ueCb, 
                                   Bool abortFlag));
 
-EXTERN Void rlcDbmDelAllDlUe ARGS ((RlcCb *gCb));
+Void rlcDbmDelAllDlUe ARGS ((RlcCb *gCb));
 
-EXTERN S16 rlcDbmCreateDlCellCb ARGS ((RlcCb *gCb,      
-                                      CmLteCellId cellId,   
-                                      RlcDlCellCb **cellCb));
+S16 rlcDbmCreateDlCellCb ARGS ((RlcCb *gCb,      
+                                    CmLteCellId cellId,   
+                                    RlcDlCellCb **cellCb));
 
-EXTERN S16 rlcDbmFetchDlCellCb ARGS ((RlcCb *gCb, 
+uint8_t rlcDbmFetchDlCellCb ARGS ((RlcCb *gCb, 
                                      CmLteCellId cellId, 
                                      RlcDlCellCb **cellCb));
 
-EXTERN Void rlcDbmDelDlCellCb ARGS ((RlcCb *gCb, RlcDlCellCb *cellCb));
+Void rlcDbmDelDlCellCb ARGS ((RlcCb *gCb, RlcDlCellCb *cellCb));
 
-EXTERN Void rlcDbmDelAllDlCell ARGS ((RlcCb *gCb));
+Void rlcDbmDelAllDlCell ARGS ((RlcCb *gCb));
 
-EXTERN Void rlcDbmFetchDlRbCbByRbId ARGS ((RlcCb *gCb, 
+Void rlcDbmFetchDlRbCbByRbId ARGS ((RlcCb *gCb, 
                                           CmLteRlcId *rlcId, 
                                           RlcDlRbCb **rbCb));
 
-EXTERN Void rlcDbmFetchDlRbCbFromLchId ARGS ((RlcCb *gCb,       
+Void rlcDbmFetchDlRbCbFromLchId ARGS ((RlcCb *gCb,       
                                              CmLteRnti ueId,     
                                              CmLteCellId cellId,    
                                              CmLteLcId lcId,      
                                              RlcDlRbCb **rbCb));
 
-EXTERN Void rlcDbmDelAllDlRb ARGS ((RlcCb *gCb, RlcDlRbCb **rbCbLst, U8 numRbCb));
+Void rlcDbmDelAllDlRb ARGS ((RlcCb *gCb, RlcDlRbCb **rbCbLst, uint8_t numRbCb));
 
-EXTERN S16 rlcDbmDlShutdown ARGS ((RlcCb *gCb));
+S16 rlcDbmDlShutdown ARGS ((RlcCb *gCb));
 
-EXTERN Void rlcUtlGetCurrTime ARGS((U32 *time));
-EXTERN Void rlcUtlTrigPdbFlowCntrl ARGS((RlcCb *gCb, RlcDlRbCb *rbCb, U32 pktAdmitCnt ));
+Void rlcUtlGetCurrTime ARGS((uint32_t *time));
+Void rlcUtlTrigPdbFlowCntrl ARGS((RlcCb *gCb, RlcDlRbCb *rbCb, uint32_t pktAdmitCnt ));
 #ifdef LTE_L2_MEAS
-EXTERN Void rlcDbmDelAllDlL2MeasTbFrmUe ARGS ((RlcCb *gCb, RlcDlUeCb *ueCb));
+Void rlcDbmDelAllDlL2MeasTbFrmUe ARGS ((RlcCb *gCb, RlcDlUeCb *ueCb));
 
 #endif
 
 /****************************************************************************
  *                    Transparent Mode Functions 
  ***************************************************************************/
-EXTERN Void rlcTmmQSdu ARGS ((RlcCb *gCb,
+Void rlcTmmQSdu ARGS ((RlcCb *gCb,
                             RlcDlRbCb *rbCb,
-                            KwuDatReqInfo *datReqInfo,
+                            RlcDatReqInfo *datReqInfo,
                             Buffer *mBuf));
-EXTERN Void rlcTmmSndToLi ARGS ((RlcCb     *gCb,
+Void rlcTmmSendToMac ARGS ((RlcCb     *gCb,
                                 SuId     suId,
                                 RlcDlRbCb *rbCb, 
                                 RguCStaIndInfo *staInd));
 
-EXTERN Void rlcDlTmmReEstablish ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
+Void rlcDlTmmReEstablish ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
 
 /****************************************************************************
  *                    Unacknowledged Mode Functions 
  ***************************************************************************/
-EXTERN Void rlcUmmQSdu ARGS ((RlcCb *gCb, 
+Void rlcUmmQSdu ARGS ((RlcCb *gCb, 
                              RlcDlRbCb *rbCb,
-                             KwuDatReqInfo *datReq, 
+                             RlcDatReqInfo *datReq, 
                              Buffer *mBuf));
 
-EXTERN Void rlcUmmDiscSdu ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, U32 sduId));
+Void rlcUmmDiscSdu ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, uint32_t sduId));
 
-EXTERN Void rlcDlUmmReEstablish ARGS ((RlcCb *gCb, 
+Void rlcDlUmmReEstablish ARGS ((RlcCb *gCb, 
                                       CmLteRlcId rlcId, 
                                       Bool sndReEst,
                                       RlcDlRbCb *rbCb));
 
-EXTERN Void rlcUmmProcessSdus ARGS ((RlcCb *gCb,RlcDlRbCb *rbCb,RlcDatReq *datReq));
+Void rlcUmmProcessSdus ARGS ((RlcCb *gCb,RlcDlRbCb *rbCb,RlcDatReq *datReq));
 
-EXTERN Void rlcUmmFreeDlRbCb ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
+Void rlcUmmFreeDlRbCb ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
 
 /****************************************************************************
  *                    Acknowledged Mode Functions 
  ***************************************************************************/
 
-EXTERN S32 rlcAmmCalculateBo ARGS ((RlcAmDl *amDl));
+S32 rlcAmmCalculateBo ARGS ((RlcAmDl *amDl));
 
-EXTERN Void rlcAmmSendDStaRsp ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, RlcAmDl *amDl));
+Void rlcAmmSendDedLcBoStatus ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, RlcAmDl *amDl));
 
-EXTERN Void rlcAmmQSdu ARGS((RlcCb *gCb,
+Void rlcAmmQSdu ARGS((RlcCb *gCb,
                             RlcDlRbCb *rbCb,
                             Buffer *mBuf, 
-                            KwuDatReqInfo *datReq));
+                            RlcDatReqInfo *datReq));
 
-EXTERN Void rlcAmmProcessSdus ARGS((RlcCb *gCb, 
+void rlcAmmProcessSdus ARGS((RlcCb *gCb, 
                                    RlcDlRbCb *rbCb, 
                                    RlcDatReq *rlcDatReq,
-                                   Bool staPduPres));
+                                   bool staPduPres));
 
-EXTERN Void rlcAmmDlReEstablish ARGS((RlcCb *gCb, 
+Void rlcAmmDlReEstablish ARGS((RlcCb *gCb, 
                                      CmLteRlcId rlcId, 
                                      RlcDlRbCb *rbCb));
 
-EXTERN Void rlcAmmDlHndlStatusPdu ARGS ((RlcCb  *gCb,
+Void rlcAmmDlHndlStatusPdu ARGS ((RlcCb  *gCb,
                                         RlcDlRbCb  *rbCb,
                                         RlcUdxStaPdu *pStaPdu));
 
-EXTERN S16 rlcAmmDiscSdu ARGS((RlcCb *gCb, RlcDlRbCb *rbCb, U32 sduId));
+S16 rlcAmmDiscSdu ARGS((RlcCb *gCb, RlcDlRbCb *rbCb, uint32_t sduId));
 
-EXTERN Void rlcAmmPollRetxTmrExp ARGS((RlcCb *gCB, RlcDlRbCb *rbCb));
+Void rlcAmmPollRetxTmrExp ARGS((RlcCb *gCB, RlcDlRbCb *rbCb));
 
-EXTERN Void rlcAmmFreeDlRbCb ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
+Void rlcAmmFreeDlRbCb ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb));
 
 /****************************************************************************
  *                    Utility Functions 
  ***************************************************************************/
 
-EXTERN Void rlcUtlStoreTxBuf ARGS ((CmLListCp        *txBufLst,
+Void rlcUtlStoreTxBuf ARGS ((CmLListCp        *txBufLst,
                                     RlcTx       *txBuf,
                                     RlcSn              sn
                                    ));
-EXTERN RlcTx* rlcUtlGetTxBuf ARGS ((CmLListCp        *txBufLst,
+RlcTx* rlcUtlGetTxBuf ARGS ((CmLListCp        *txBufLst,
                                   RlcSn              sn
                                   ));
-EXTERN Void rlcUtlDelTxBuf ARGS ((CmLListCp        *txBufLst,
+Void rlcUtlDelTxBuf ARGS ((CmLListCp        *txBufLst,
                                   RlcTx            *txBuf,
                                   RlcCb              *gCb
                                   ));
-EXTERN Void rlcUtlRemovTxBuf ARGS ((CmLListCp      *txBufLst,
+Void rlcUtlRemovTxBuf ARGS ((CmLListCp      *txBufLst,
                                   RlcTx            *txBuf,
                                   RlcCb              *gCb
                                   ));
 
-EXTERN S16 rlcUtlSndDStaRsp ARGS ((RlcCb *gCb,
+uint8_t rlcUtlSendDedLcBoStatus ARGS ((RlcCb *gCb,
                                   RlcDlRbCb *rbCb,
-                                  S32 bo,
-                                  S32 estHdrSz,
-                                  Bool staPduPrsnt,
-                                  U32 staPduBo));
+                                  int32_t bo,
+                                 int32_t estHdrSz,
+                                  bool staPduPrsnt,
+                                  uint32_t staPduBo));
 
 #ifdef LTE_L2_MEAS_RLC
-EXTERN Void rlcUtlEmptySduQ ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, CmLListCp *sduQ));
+Void rlcUtlEmptySduQ ARGS ((RlcCb *gCb, RlcDlRbCb *rbCb, CmLListCp *sduQ));
 #else /* LTE_L2_MEAS */
-EXTERN Void rlcUtlEmptySduQ ARGS ((RlcCb *gCb,CmLListCp *sduQ));
+Void rlcUtlEmptySduQ ARGS ((RlcCb *gCb,CmLListCp *sduQ));
 #endif /* LTE_L2_MEAS */
 
-EXTERN Void rlcUtlCalcLiForSdu ARGS ((RlcCb *gCb,
-                                     U16 numLi, 
-                                     MsgLen msgLen,
-                                     S16 *pduSz));
-
-EXTERN S16 rlcUtlSndToLi ARGS ((RlcCb *gCb, SuId suId, KwDStaIndInfo *staIndInfo));
+uint8_t rlcUtlSendToMac ARGS ((RlcCb *gCb, SuId suId, KwDStaIndInfo *staIndInfo));
 
-EXTERN Void rlcUtlIncrementKwuStsSduTx ARGS((RlcKwuSapCb *rlckwuSap));
+Void rlcUtlIncrementKwuStsSduTx ARGS((RlcKwuSapCb *rlckwuSap));
 
-EXTERN Void rlcUtlIncrementGenStsBytesAndPdusSent ARGS((RlcGenSts *genSts, 
+Void rlcUtlIncrementGenStsBytesAndPdusSent ARGS((RlcGenSts *genSts, 
                                                        Buffer *pdu));
 
-EXTERN Void rlcUtlFreeDlMemory ARGS ((RlcCb *gCb));
+Void rlcUtlFreeDlMemory ARGS ((RlcCb *gCb));
 
-EXTERN Void rlcUtlInitToBeFreed ARGS ((RlcCb *gCb, RlcDlDataToBeFreed *toBeFreed));
+Void rlcUtlInitToBeFreed ARGS ((RlcCb *gCb, RlcDlDataToBeFreed *toBeFreed));
 
-EXTERN Void rlcUtlInitializeSelfPst ARGS((RlcCb *gCb));
+Void rlcUtlInitializeSelfPst ARGS((RlcCb *gCb));
 
-EXTERN Void rlcUtlRaiseDlCleanupEvent ARGS((RlcCb *gCb));
+Void rlcUtlRaiseDlCleanupEvent ARGS((RlcCb *gCb));
 
-EXTERN Void rlcUtlAddSduToBeFreedQueue ARGS((RlcCb *gCb, RlcSdu *sdu));
+Void rlcUtlAddSduToBeFreedQueue ARGS((RlcCb *gCb, RlcSdu *sdu));
 
-EXTERN Void rlcUtlAddReTxPduToBeFreedQueue ARGS((RlcCb *gCb, RlcRetx *retx));
+Void rlcUtlAddReTxPduToBeFreedQueue ARGS((RlcCb *gCb, RlcRetx *retx));
 
-EXTERN Void rlcUtlAddTxPduToBeFreedQueue ARGS((RlcCb *gCb, RlcTx *pdu));
+Void rlcUtlAddTxPduToBeFreedQueue ARGS((RlcCb *gCb, RlcTx *pdu));
 
 #ifdef LTE_L2_MEAS
-EXTERN S16 rlcUtlL2MeasDlInit ARGS((RlcCb *gCb));
+S16 rlcUtlL2MeasDlInit ARGS((RlcCb *gCb));
 #endif
 
 /****************************************************************************
  *                    Debug Functions 
  ***************************************************************************/
-EXTERN Void ResetRLCStats ARGS((Void));
+Void ResetRLCStats ARGS((Void));
 
-EXTERN Void PrintRLCStats ARGS((Void));
+Void PrintRLCStats ARGS((Void));
 
-EXTERN Void DumpRLCDlDebugInformation ARGS((Void));
+Void DumpRLCDlDebugInformation ARGS((Void));
 
 /****************************************************************************
  *                    Activation Functions 
  ***************************************************************************/
-EXTERN S16 rlcDlActvInit ARGS ((Ent ent,Inst inst,Region region,Reason reason)); 
+S16 rlcDlActvInit ARGS ((Ent ent,Inst inst,Region region,Reason reason)); 
 
-EXTERN S16 rlcDlActvTsk ARGS ((Pst *pst, Buffer *mBuf));
+S16 rlcDlActvTsk ARGS ((Pst *pst, Buffer *mBuf));
 
-EXTERN Bool rlcDlUtlIsReestInProgress ARGS ((RlcDlRbCb *rbCb));
+bool rlcDlUtlIsReestInProgress ARGS ((RlcDlRbCb *rbCb));
 
-EXTERN Void rlcDlUtlResetReestInProgress ARGS ((RlcDlRbCb *rbCb));
+Void rlcDlUtlResetReestInProgress ARGS ((RlcDlRbCb *rbCb));
 
-EXTERN Void rlcDlUtlResetReestInProgress ARGS (( RlcDlRbCb *rbCb));
+Void rlcDlUtlResetReestInProgress ARGS (( RlcDlRbCb *rbCb));
 
-EXTERN Void rlcDlUtlSetReestInProgressForAllRBs ARGS ((RlcCb *gCb, RlcDlUeCb
+Void rlcDlUtlSetReestInProgressForAllRBs ARGS ((RlcCb *gCb, RlcDlUeCb
          *ueCb));
-EXTERN Void rlcDlUtlSetReestInProgressForRB ARGS (( RlcCb *gCb, RlcDlRbCb *rbCb));
+Void rlcDlUtlSetReestInProgressForRB ARGS (( RlcCb *gCb, RlcDlRbCb *rbCb));
 
 #ifdef LTE_L2_MEAS
-EXTERN Void rlcUtlUpdateContainedSduLst ARGS ((
-U8  sduIdx, 
+Void rlcUtlUpdateContainedSduLst ARGS ((
+uint8_t  sduIdx, 
 RlcContSduLst  *contSduLst
 ));
-EXTERN Void rlcUtlUpdateOutStandingSduLst ARGS ((
+Void rlcUtlUpdateOutStandingSduLst ARGS ((
 RlcL2MeasDlIpTh   *dlIpThPut, 
-U8               sduIdx, 
-MsgLen           sduLen, 
-U32              sduId,
-Bool             newIdx
+uint8_t           sduIdx, 
+MsgLen            sduLen, 
+uint32_t          sduId,
+Bool              newIdx
 ));
-EXTERN Void rlcUtlUpdateBurstSdus ARGS((
+Void rlcUtlUpdateBurstSdus ARGS((
 RlcCb            *gCb,         
 RlcDlRbCb        *rbCb,
 RlcContSduLst    *contSduLst,
-S32             dataVol,
-U32             schPduSz
+S32              dataVol,
+uint32_t         schPduSz
 ));
 
-EXTERN RlcL2MeasTb * rlcUtlGetCurMeasTb ARGS((
+RlcL2MeasTb * rlcUtlGetCurMeasTb ARGS((
 RlcCb     *gCb,
 RlcDlRbCb *rbCb
 ));
 
-EXTERN S16 rlcUtlSndDlL2MeasNCfm ARGS((RlcCb *gCb,
+S16 rlcUtlSndDlL2MeasNCfm ARGS((RlcCb *gCb,
                                       RlcL2MeasReqEvt *measReqEvt,
                                       RlcL2MeasCfmEvt *measCfmEvt));
 
-EXTERN S16 rlcUtlSndDlL2MeasCfm  ARGS ((RlcCb *gCb, RlcL2MeasEvtCb *measEvtCb));
+S16 rlcUtlSndDlL2MeasCfm  ARGS ((RlcCb *gCb, RlcL2MeasEvtCb *measEvtCb));
 
-EXTERN S16 rlcUtlProcHarqInd  ARGS (( RlcCb *gCb, RguHarqStatusInd *staInd, RlcDlUeCb *ueCb, 
-                                     U8 tbIdx));
-EXTERN Void rlcUtlResetDlL2MeasInRlcRb ARGS ((RlcCb *gCb,
+S16 rlcUtlProcHarqInd  ARGS (( RlcCb *gCb, RguHarqStatusInd *staInd, RlcDlUeCb *ueCb, 
+                                     uint8_t tbIdx));
+Void rlcUtlResetDlL2MeasInRlcRb ARGS ((RlcCb *gCb,
                                             RlcL2MeasCb *measCb,
-                                            U8 measType));
+                                            uint8_t measType));
 
-EXTERN S16 RlcMiLkwL2MeasStopCfm ARGS((Pst *pst, U8  measType,U8  status));
+S16 RlcMiLkwL2MeasStopCfm ARGS((Pst *pst, uint8_t  measType,uint8_t  status));
 
-EXTERN S16 rlcUtlValidateIpThL2Meas ARGS((RlcL2MeasReqEvt *measReqEvt, 
+S16 rlcUtlValidateIpThL2Meas ARGS((RlcL2MeasReqEvt *measReqEvt, 
                                      RlcL2MeasCfmEvt *measCfmEvt)); 
                                     
-EXTERN S16 rlcFetchLchInfo ARGS ((RlcL2MeasReqEvt *measReqEvt,
+S16 rlcFetchLchInfo ARGS ((RlcL2MeasReqEvt *measReqEvt,
                                  RlcL2MeasCfmEvt *measCfmEvt,
-                                 U16             ueId,
+                                 uint16_t             ueId,
                                  CmLteLcId *lChId,
-                                 U8 *numLch));
+                                 uint8_t *numLch));
 
-EXTERN S16 rlcUtlNotifyMacUlIp ARGS ((RlcL2MeasCb *measCb,U16 ueIdx, Bool enable,
-                                    CmLteLcId  *lChId, U8 *numLCh));
+S16 rlcUtlNotifyMacUlIp ARGS ((RlcL2MeasCb *measCb,uint16_t ueIdx, Bool enable,
+                                    CmLteLcId  *lChId, uint8_t *numLCh));
 #endif
-EXTERN Void rlcUtlFreeDlMem ARGS(( Void));
+
+uint8_t rlcProcDlData(Pst *pst, RlcDatReqInfo* datReq, Buffer *buf);
+uint8_t rlcProcCommLcSchedRpt(Pst *pst, SuId suId, RguCStaIndInfo  *staInd);
+uint8_t rlcProcDedLcSchedRpt(Pst *pst, SuId suId, RguDStaIndInfo  *staInd);
+
+Void rlcUtlFreeDlMem ARGS(( Void));
 #ifdef __cplusplus
 }
 #endif /* __cplusplus */