#define __CKW_X__
#ifdef __cplusplus
-EXTERN "C" {
+extern "C" {
#endif /*for extern "C"*/
/** @file ckw.x
Logical Channel Information */
typedef struct ckwLChInfo
{
- U8 lChId; /*!< Logical Channel ID.
+ uint8_t lChId; /*!< Logical Channel ID.
The allowed values are [1..10] */
- U8 type; /*!< Logical Channel Type -
+ uint8_t type; /*!< Logical Channel Type -
BCCH/PCCH/CCCH/DTCH/DCCH */
}CkwLChInfo;
/** @brief
Un-acknowledge Mode Information */
-typedef struct ckwUmInfo
+typedef struct rlcUmInfo
{
struct _umDl
{
- U8 snLen; /*!< Sequence Number length in bits. Allowed values are 6 and 12*/
+ uint8_t snLen; /*!< Sequence Number length in bits. Allowed values are 6 and 12*/
}dl; /*!< Downlink */
struct _umUl
{
- U8 snLen; /*!< Sequence Number length in bits.*/
+ uint8_t snLen; /*!< Sequence Number length in bits.*/
/*!< Allowed values are 6 and 12*/
- U8 reOrdTmr; /*!< T_reordering Timer in msec */
+ uint8_t reOrdTmr; /*!< T_reordering Timer in msec */
}ul; /*!< Uplink */
-}CkwUmInfo;
+}RlcUmInfo;
/** @brief
Acknowledge Mode Information */
-typedef struct ckwAmInfo
+typedef struct rlcAmInfo
{
struct _amDl
{
- U8 snLen; /*!< Sequence Number length in
+ uint8_t snLen; /*!< Sequence Number length in
bits. Allowed values are 12 and 18 */
- U16 pollRetxTmr; /*!< T_poll_retransmit Timer in msec */
+ uint16_t pollRetxTmr; /*!< T_poll_retransmit Timer in msec */
S16 pollPdu; /*!< Used to trigger a poll for every pollPdu.*/
/*!< This field indicates the number of PDUs */
/* Patch ckw_x_001.main_5 */
/* !<For Infinite, RLC expects value 0xFFFF */
S32 pollByte; /*!< Poll_Byte in bytes. */
/*!<For Infinite RLC expects value 0xFFFFFFFF */
- U8 maxRetx; /*!< Max_Retx_Threshold */
+ uint8_t maxRetx; /*!< Max_Retx_Threshold */
}dl; /*!< Down link */
struct _amUl
{
- U8 snLen; /*!< Sequence Number length in
+ uint8_t snLen; /*!< Sequence Number length in
bits. Allowed values are 12 and 18 */
- U16 staProhTmr; /*!< T_status_prohibit Timer in msec*/
- U8 reOrdTmr; /*!< T_reordering Timer in msec*/
+ uint16_t staProhTmr; /*!< T_status_prohibit Timer in msec*/
+ uint8_t reOrdTmr; /*!< T_reordering Timer in msec*/
}ul; /*!< Up link */
-}CkwAmInfo;
+}RlcAmInfo;
/** @brief
Transparent Mode Information */
-typedef union ckwTmInfo
+typedef union rlcTmInfo
{
struct _tmDl
{
- U32 buffSize; /*!< Buffer Size in bytes */
+ uint32_t buffSize; /*!< Buffer Size in bytes */
}dl; /*!< Down link */
-}CkwTmInfo;
+}RlcTmInfo;
/** @brief
Entity Configuration Information */
-typedef struct ckwEntCfgInfo
+typedef struct rlcEntCfgInfo
{
- U8 cfgType; /*!< Type of Configuration -
+ uint8_t cfgType; /*!< Type of Configuration -
ADD/MODIFY/DELETE/RE-ESTABLISH/
DELTEUE */
- U8 rbId; /* RB ID. The allowed
+ uint8_t rbId; /* RB ID. The allowed
Values are [0..255] */
- U8 rbType; /* Type of the RB - can be SRB or DRB */
- U8 qci; /*!< qCI value Associated with that RB */
+ uint8_t rbType; /* Type of the RB - can be SRB or DRB */
+ uint8_t qci; /*!< qCI value Associated with that RB */
CkwLChInfo lCh[CM_LTE_MAX_LOGCH_PER_RB]; /*!< Logical channel
information
In case of AM mode:
In case of TM/UM idx 0 is only
applicable */
CmLteRlcMode entMode; /*!< Entity mode: AM, UM or TM */
- U8 dir; /*!< Direction: It can be either
+ uint8_t dir; /*!< Direction: It can be either
UL / DL for TM mode
UL / DL or BOTH for UM mode
and for AM its always for both UL
/* Supported by SPLIT Architecture ends */
union
{
- CkwUmInfo umInfo; /*!< Un-acknowledged Mode Information */
- CkwAmInfo amInfo; /*!< Acknowledged Mode Information */
- CkwTmInfo tmInfo; /*!< Transparent Mode Information */
+ RlcUmInfo umInfo; /*!< Un-acknowledged Mode Information */
+ RlcAmInfo amInfo; /*!< Acknowledged Mode Information */
+ RlcTmInfo tmInfo; /*!< Transparent Mode Information */
}m;
-}CkwEntCfgInfo;
+}RlcEntCfgInfo;
/** @brief
Configuration Information from RRC to RLC */
-typedef struct ckwCfgInfo
+typedef struct rlcCfgInfo
{
- U32 transId; /*!< Transaction Id */
+ uint32_t transId; /*!< Transaction Id */
CmLteRnti ueId; /*!< UE ID */
CmLteCellId cellId; /*!< Cell ID */
- U8 numEnt; /*!< Number of entities to
+ uint8_t numEnt; /*!< Number of entities to
configure */
- CkwEntCfgInfo entCfg[CKW_MAX_ENT_CFG]; /*!< Array of Entities to be
+ RlcEntCfgInfo entCfg[CKW_MAX_ENT_CFG]; /*!< Array of Entities to be
configure */
-}CkwCfgInfo;
+}RlcCfgInfo;
/** @brief
Entity Configuration Confirmation Information */
-typedef struct ckwEntCfgCfmInfo
+typedef struct rlcEntCfgCfmInfo
{
- U8 rbId; /*!< rb ID */
- U8 rbType; /*!< RB type - can be SRB or DRB */
+ uint8_t rbId; /*!< rb ID */
+ uint8_t rbType; /*!< RB type - can be SRB or DRB */
CmStatus status; /*!< Status of the confirmation */
-}CkwEntCfgCfmInfo;
+}RlcEntCfgCfmInfo;
/** @brief
Configuration Confirmation Informatin RLC to RRC */
-typedef struct ckwCfgCfmInfo
+typedef struct rlcCfgCfmInfo
{
- U32 transId; /*!< Transaction Id */
+ uint32_t transId; /*!< Transaction Id */
CmLteRnti ueId; /*!< UE ID */
CmLteCellId cellId; /*!< Cell ID */
- U8 numEnt; /*!< Number of entities configured */
- CkwEntCfgCfmInfo entCfgCfm[CKW_MAX_ENT_CFG]; /*!< Array of Entity cfg
+ uint8_t numEnt; /*!< Number of entities configured */
+ RlcEntCfgCfmInfo entCfgCfm[CKW_MAX_ENT_CFG]; /*!< Array of Entity cfg
confiramations */
-}CkwCfgCfmInfo;
+}RlcCfgCfmInfo;
/** @brief
UE Id Information */
/* Control primitives towards LTE RRC */
/* Pointer functiones for Pack/Unpack */
-typedef S16 (*CkwCfgReq) ARGS((Pst *pst, SpId spId, CkwCfgInfo *cfgInfo));
-typedef S16 (*CkwCfgCfm) ARGS((Pst *pst, SuId suId, CkwCfgCfmInfo *cfmInfo));
+typedef S16 (*RlcCfgReq) ARGS((Pst *pst, RlcCfgInfo *cfgInfo));
+typedef S16 (*RlcCfgCfm) ARGS((Pst *pst, SuId suId, RlcCfgCfmInfo *cfmInfo));
-typedef S16 (*CkwUeIdChgReq) ARGS((Pst *pst, SpId spId, U32 transId,
+typedef S16 (*CkwUeIdChgReq) ARGS((Pst *pst, SpId spId, uint32_t transId,
CkwUeInfo *ueInfo, CkwUeInfo *newUeInfo));
-typedef S16 (*CkwUeIdChgCfm) ARGS((Pst *pst, SuId suId, U32 transId,
+typedef S16 (*CkwUeIdChgCfm) ARGS((Pst *pst, SuId suId, uint32_t transId,
CkwUeInfo *ueInfo, CmStatus status));
typedef S16 (*CkwBndReq) ARGS((Pst *pst, SuId suId, SpId spId));
-typedef S16 (*CkwBndCfm) ARGS((Pst *pst, SuId suId, U8 status));
+typedef S16 (*CkwBndCfm) ARGS((Pst *pst, SuId suId, uint8_t status));
typedef S16 (*CkwUbndReq) ARGS((Pst *pst, SpId spId, Reason reason));
/**
* @details The primitive binds the RLC service user entity to the RLC product.
* The RLC service user must bind each CKW SAP individually before sending any
* other request. RLC acknowledges the receipt of the bind request by sending
- * a KwUiCkwBndCfm primitive.
+ * a RlcUiCkwBndCfm primitive.
* @param[in] pst - For the bind request, the event field in the Pst
* structure is set to EVTCKWBNDREQ
* Allowable values: 0 to 32767.
* @return ROK
*/
-EXTERN S16 KwUiCkwBndReq ARGS((Pst *pst, SuId suId, SpId spId));
+S16 RlcUiCkwBndReq ARGS((Pst *pst, SuId suId, SpId spId));
/**
* @details RLC invokes the bind confirm primitive to acknowledge the receipt
- * of the KwUiCkwBndReq primitive from the service user. The status field
+ * of the RlcUiCkwBndReq primitive from the service user. The status field
* indicates whether the bind request succeeded or failed. The bind request
* may fail due to invalid parameters in the bind request from the
* service user (for example, an invalid spId).
CM_BND_NOK: Error encountered during the processing of the bind request.
* @return ROK
*/
-EXTERN S16 KwUiCkwBndCfm ARGS((Pst *pst, SuId suId, U8 status));
+S16 RlcUiCkwBndCfm ARGS((Pst *pst, SuId suId, uint8_t status));
/**
* @details The RLC service user initiates this primitive for performing
* Allowable value: CKW_UBND_REQ.
* @return ROK
*/
-EXTERN S16 KwUiCkwUbndReq ARGS((Pst *pst, SpId spId, Reason reason));
+S16 RlcUiCkwUbndReq ARGS((Pst *pst, SpId spId, Reason reason));
/* Layer interface Control Primitives */
/**
* @param[in] cfgInfo - This structure contains the configuration information
* @return ROK
*/
-EXTERN S16 KwUiCkwCfgReq ARGS((Pst *pst, SpId spId, CkwCfgInfo *cfgInfo));
+S16 RlcProcCfgReq ARGS((Pst *pst, RlcCfgInfo *cfgInfo));
/**
*@details This primitive is used by RLC to confirm the configuration requested
* information.
* @return ROK
*/
-EXTERN S16 KwUiCkwCfgCfm ARGS((Pst *pst, SuId suId, CkwCfgCfmInfo *cfmInfo));
+S16 RlcUiRlcCfgCfm ARGS((Pst *pst, SuId suId, RlcCfgCfmInfo *cfmInfo));
/**
*@details This primitive is used by RRC to change the UeId for the existing UE
* @param[in] newUeInfo - New UE Id Info for existing UE context.
* @return ROK
*/
-EXTERN S16 KwUiCkwUeIdChgReq ARGS((Pst *pst, SpId spId, U32 transId,
+S16 RlcUiCkwUeIdChgReq ARGS((Pst *pst, SpId spId, uint32_t transId,
CkwUeInfo *ueInfo, CkwUeInfo *newUeInfo));
/**
* information.
* @return ROK
*/
-EXTERN S16 KwUiCkwUeIdChgCfm ARGS((Pst *pst, SuId suId, U32 transId,
+S16 RlcUiCkwUeIdChgCfm ARGS((Pst *pst, SuId suId, uint32_t transId,
CkwUeInfo *ueInfo, CmStatus status));
/* RRC Extern declarations */
#ifdef NH
-EXTERN S16 NhLiCkwBndReq ARGS((
+S16 NhLiCkwBndReq ARGS((
Pst *pst,
SuId suId,
SpId spId));
-EXTERN S16 NhLiCkwUbndReq ARGS((
+S16 NhLiCkwUbndReq ARGS((
Pst *pst,
SpId spId,
Reason reason));
-EXTERN S16 NhLiCkwBndCfm ARGS((Pst *pst,
+S16 NhLiCkwBndCfm ARGS((Pst *pst,
SuId suId,
- U8 status));
+ uint8_t status));
-EXTERN S16 NhLiCkwCfgReq ARGS((
+S16 NhLiRlcCfgReq ARGS((
Pst *pst,
SpId spId,
- CkwCfgInfo *cfgInfo));
+ RlcCfgInfo *cfgInfo));
-EXTERN S16 NhLiCkwCfgCfm ARGS((Pst *pst,
+S16 NhLiRlcCfgCfm ARGS((Pst *pst,
SuId suId,
- CkwCfgCfmInfo* cfmInfo));
+ RlcCfgCfmInfo* cfmInfo));
-EXTERN S16 NhLiCkwUeIdChgReq ARGS((Pst *pst,
- SpId spId, U32 transId,
+S16 NhLiCkwUeIdChgReq ARGS((Pst *pst,
+ SpId spId, uint32_t transId,
CkwUeInfo *ueInfo, CkwUeInfo *newUeInfo));
-EXTERN S16 NhLiCkwUeIdChgCfm ARGS((Pst *pst,
- SuId suId, U32 transId,
+S16 NhLiCkwUeIdChgCfm ARGS((Pst *pst,
+ SuId suId, uint32_t transId,
CkwUeInfo *ueInfo, CmStatus status));
#endif /* NH */
/* Dummy RRC Interface primitives */
#ifdef DM
-EXTERN S16 DmUiCkwBndReq ARGS((
+S16 DmUiCkwBndReq ARGS((
Pst *pst,
SuId suId,
SpId spId));
-EXTERN S16 DmUiCkwUbndReq ARGS((
+S16 DmUiCkwUbndReq ARGS((
Pst *pst,
SpId spId,
Reason reason));
-EXTERN S16 DmUiCkwBndCfm ARGS((Pst *pst,
+S16 DmUiCkwBndCfm ARGS((Pst *pst,
SuId suId,
- U8 status));
+ uint8_t status));
-EXTERN S16 DmUiCkwCfgReq ARGS((
+S16 DmUiRlcCfgReq ARGS((
Pst *pst,
SpId spId,
- CkwCfgInfo *cfgInfo));
+ RlcCfgInfo *cfgInfo));
-EXTERN S16 DmUiCkwCfgCfm ARGS((Pst *pst,
+S16 DmUiRlcCfgCfm ARGS((Pst *pst,
SuId suId,
- CkwCfgCfmInfo* cfmInfo));
+ RlcCfgCfmInfo* cfmInfo));
-EXTERN S16 DmUiCkwUeIdChgReq ARGS((Pst *pst,
- SpId spId, U32 transId,
+S16 DmUiCkwUeIdChgReq ARGS((Pst *pst,
+ SpId spId, uint32_t transId,
CkwUeInfo *ueInfo, CkwUeInfo *newUeInfo));
-EXTERN S16 DmUiCkwUeIdChgCfm ARGS((Pst *pst,
- SuId suId, U32 transId,
+S16 DmUiCkwUeIdChgCfm ARGS((Pst *pst,
+ SuId suId, uint32_t transId,
CkwUeInfo *ueInfo, CmStatus status));
#endif /* DM */
****************************************************************************/
#ifdef LCCKW
/* Packing functions */
-EXTERN S16 cmPkCkwTmInfo ARGS ((
-CkwTmInfo *param,
+S16 cmPkRlcTmInfo ARGS ((
+RlcTmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwUmInfo ARGS ((
-CkwEntCfgInfo *param,
+S16 cmPkRlcUmInfo ARGS ((
+RlcEntCfgInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwAmInfo ARGS ((
-CkwAmInfo *param,
+S16 cmPkRlcAmInfo ARGS ((
+RlcAmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwLChInfo ARGS ((
+S16 cmPkCkwLChInfo ARGS ((
CkwLChInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwEntCfgInfo ARGS ((
-CkwEntCfgInfo *param,
+S16 cmPkRlcEntCfgInfo ARGS ((
+RlcEntCfgInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwCfgInfo ARGS ((
-CkwCfgInfo *param,
+S16 cmPkRlcCfgInfo ARGS ((
+RlcCfgInfo *param,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwEntCfgCfmInfo ARGS ((
-CkwEntCfgCfmInfo *param,
+S16 cmPkRlcEntCfgCfmInfo ARGS ((
+RlcEntCfgCfmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwCfgCfmInfo ARGS ((
-CkwCfgCfmInfo *param,
+S16 cmPkRlcCfgCfmInfo ARGS ((
+RlcCfgCfmInfo *param,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwUeInfo ARGS ((
+S16 cmPkCkwUeInfo ARGS ((
CkwUeInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmPkCkwBndReq ARGS ((
+S16 cmPkCkwBndReq ARGS ((
Pst *pst,
SuId suId,
SpId spId
));
-EXTERN S16 cmPkCkwUbndReq ARGS ((
+S16 cmPkCkwUbndReq ARGS ((
Pst *pst,
SpId spId,
Reason reason
));
-EXTERN S16 cmPkCkwBndCfm ARGS ((
+S16 cmPkCkwBndCfm ARGS ((
Pst *pst,
SuId suId,
-U8 status
+uint8_t status
));
-EXTERN S16 cmPkCkwCfgReq ARGS ((
+S16 packUeCreateReq ARGS ((
Pst *pst,
-SpId spId,
-CkwCfgInfo *cfgInfo
+RlcCfgInfo *cfgInfo
));
-EXTERN S16 cmPkCkwCfgCfm ARGS ((
+S16 cmPkRlcCfgCfm ARGS ((
Pst *pst,
SuId suId,
-CkwCfgCfmInfo *cfgCfmInfo
+RlcCfgCfmInfo *cfgCfmInfo
));
-EXTERN S16 cmPkCkwUeIdChgReq ARGS ((
+S16 cmPkCkwUeIdChgReq ARGS ((
Pst *pst,
SpId spId,
-U32 transId,
+uint32_t transId,
CkwUeInfo *ueInfo,
CkwUeInfo *newUeInfo
));
-EXTERN S16 cmPkCkwUeIdChgCfm ARGS ((
+S16 cmPkCkwUeIdChgCfm ARGS ((
Pst *pst,
SuId suId,
-U32 transId,
+uint32_t transId,
CkwUeInfo *ueInfo,
CmStatus status
));
/* Unpacking functions */
-EXTERN S16 cmUnpkCkwTmInfo ARGS ((
-CkwTmInfo *param,
+S16 cmUnpkRlcTmInfo ARGS ((
+RlcTmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwUmInfo ARGS ((
-CkwEntCfgInfo *param,
+S16 cmUnpkRlcUmInfo ARGS ((
+RlcEntCfgInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwAmInfo ARGS ((
-CkwAmInfo *param,
+S16 cmUnpkRlcAmInfo ARGS ((
+RlcAmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwLInfo ARGS ((
+S16 cmUnpkCkwLInfo ARGS ((
CkwLChInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwCfgCfmInfo ARGS ((
-CkwCfgCfmInfo *param,
+S16 cmUnpkRlcCfgCfmInfo ARGS ((
+RlcCfgCfmInfo *param,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwBndReq ARGS ((
+S16 cmUnpkCkwBndReq ARGS ((
CkwBndReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwLChInfo ARGS ((
+S16 cmUnpkCkwLChInfo ARGS ((
CkwLChInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwEntCfgInfo ARGS ((
-CkwEntCfgInfo *param,
+S16 cmUnpkRlcEntCfgInfo ARGS ((
+RlcEntCfgInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwCfgInfo ARGS ((
-CkwCfgInfo *param,
+S16 cmUnpkRlcCfgInfo ARGS ((
+RlcCfgInfo *param,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwUeInfo ARGS ((
+S16 cmUnpkCkwUeInfo ARGS ((
CkwUeInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwCfgCfm ARGS ((
-CkwCfgCfm func,
+S16 cmUnpkRlcCfgCfm ARGS ((
+RlcCfgCfm func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwUbndReq ARGS ((
+S16 cmUnpkCkwUbndReq ARGS ((
CkwUbndReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwBndCfm ARGS ((
+S16 cmUnpkCkwBndCfm ARGS ((
CkwBndCfm func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwCfgReq ARGS ((
-CkwCfgReq func,
+S16 unpackUeCreateReq ARGS ((
+RlcCfgReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwEntCfgCfmInfo ARGS ((
-CkwEntCfgCfmInfo *param,
+S16 cmUnpkRlcEntCfgCfmInfo ARGS ((
+RlcEntCfgCfmInfo *param,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwUeIdChgReq ARGS ((
+S16 cmUnpkCkwUeIdChgReq ARGS ((
CkwUeIdChgReq func,
Pst *pst,
Buffer *mBuf
));
-EXTERN S16 cmUnpkCkwUeIdChgCfm ARGS ((
+S16 cmUnpkCkwUeIdChgCfm ARGS ((
CkwUeIdChgCfm func,
Pst *pst,
Buffer *mBuf