X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fdu_app_rlc_inf.h;h=0929506c7bd922605f157f362aa50c229b67eed6;hb=67b89506e1d6a7a775d5095f390d5dcb610deb86;hp=f168522efff03a8e7d5ece4ef672cd56c97f71e7;hpb=2e79829c81833df467daa9cce57a967d2224876e;p=o-du%2Fl2.git diff --git a/src/cm/du_app_rlc_inf.h b/src/cm/du_app_rlc_inf.h index f168522ef..0929506c7 100644 --- a/src/cm/du_app_rlc_inf.h +++ b/src/cm/du_app_rlc_inf.h @@ -29,8 +29,10 @@ #define EVENT_RLC_UE_RECONFIG_REQ 215 #define EVENT_RLC_UE_RECONFIG_RSP 216 #define EVENT_DL_RRC_MSG_RSP_TO_DU 217 -#define EVENT_DL_USER_DATA_TRANS_TO_DU 218 +#define EVENT_DL_USER_DATA_TRANS_TO_RLC 218 #define EVENT_UL_USER_DATA_TRANS_TO_DU 219 +#define EVENT_RLC_UE_DELETE_REQ 220 +#define EVENT_RLC_UE_DELETE_RSP 221 #define RB_ID_SRB 0 #define RB_ID_DRB 1 @@ -86,6 +88,13 @@ typedef enum RLC_CFG_REAS_INVALID_RGUSAP /*!< Invalid RGU SAP ID */ }FailureReason; +typedef enum +{ + SUCCESSFUL , /*!< No Failure */ + INVALID_CELLID , /*!< CellId not present */ + INVALID_UEID , /*!< UEId not present */ +}UeDeleteResult; + typedef enum { RLC_AM, //Acknowledged Mode @@ -127,7 +136,7 @@ typedef struct dlAmCfg int16_t pollPdu; /* Used to trigger a poll for every pollPdu.*/ int32_t pollByte; /* Poll_Byte in bytes. */ uint8_t maxRetxTh; /* Max_Retx_Threshold */ - + }DlAmCfg; typedef struct dlUmCfg @@ -200,6 +209,19 @@ typedef struct rlcUeCfgRsp FailureReason reason; }RlcUeCfgRsp; +typedef struct rlcUeDelete +{ + uint16_t cellId; + uint8_t ueId; +}RlcUeDelete; + +typedef struct rlcUeDeleteRsp +{ + uint16_t cellId; + uint8_t ueId; + UeDeleteResult result; +}RlcUeDeleteRsp; + /* UL RRC Message from RLC to DU APP */ typedef struct ulRrcMsgInfo { @@ -258,6 +280,16 @@ typedef struct rrcDeliveryReportInfo RrcDeliveryStatus rrcDeliveryStatus; }RrcDeliveryReport; +/* DL Data Message from DU APP to RLC */ +typedef struct dlDataMsgInfo +{ + uint16_t cellId; /* Cell Id */ + uint16_t ueIdx; /* UE index */ + uint8_t rbId; /* Radio Bearer Id */ + uint16_t msgLen; /* Message length */ + Buffer *dlMsg; /* DL Data */ +}RlcDlUserDataInfo; + /* Function Pointers */ /* UE create Request from DU APP to RLC*/ typedef uint8_t (*DuRlcUeCreateReq) ARGS(( @@ -269,6 +301,11 @@ typedef uint8_t (*RlcDuUeCfgRsp) ARGS(( Pst *pst, RlcUeCfgRsp *ueCfgRsp)); +/* UE Delete Response from RLC to DU APP*/ +typedef uint8_t (*RlcDuUeDeleteRsp) ARGS(( + Pst *pst, + RlcUeDeleteRsp *ueDelRsp)); + /* UL RRC Message from RLC to DU APP */ typedef uint8_t (*RlcUlRrcMsgToDuFunc) ARGS(( Pst *pst, @@ -284,10 +321,16 @@ typedef uint8_t (*RlcRrcDeliveryReportToDuFunc) ARGS(( Pst *pst, RrcDeliveryReport *rrcDeliveryReport)); +/* UE Reconfig Request from DU APP to RLC */ typedef uint8_t (*DuRlcUeReconfigReq) ARGS(( Pst *pst, RlcUeCfg *ueCfg )); +/* UE Delete Request from DU APP to RLC */ +typedef uint8_t (*DuRlcUeDeleteReq) ARGS(( + Pst *pst, + RlcUeDelete *ueDelete)); + /* DL RRC Message from RLC to DU APP */ typedef uint8_t (*RlcDlRrcMsgRspToDuFunc) ARGS(( Pst *pst, @@ -298,6 +341,11 @@ typedef uint8_t (*RlcUlUserDataToDuFunc) ARGS(( Pst *pst, RlcUlUserDatInfo *ulUserData)); +/* DL User Data from DU APP to RLC */ +typedef uint8_t (*DuRlcDlUserDataToRlcFunc) ARGS(( + Pst *pst, + RlcDlUserDataInfo *dlDataMsg)); + /* Pack/Unpack function declarations */ uint8_t packDuRlcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); uint8_t unpackRlcUeCreateReq(DuRlcUeCreateReq func, Pst *pst, Buffer *mBuf); @@ -315,6 +363,12 @@ uint8_t packRlcDlRrcMsgRspToDu(Pst *pst, RlcDlRrcMsgRsp *dlRrcMsgRsp); uint8_t unpackRlcDlRrcMsgRspToDu(RlcDlRrcMsgRspToDuFunc func, Pst *pst, Buffer *mBuf); uint8_t packRlcUlUserDataToDu(Pst *pst, RlcUlUserDatInfo *ulUserData); uint8_t unpackRlcUlUserDataToDu(RlcUlUserDataToDuFunc func, Pst *pst, Buffer *mBuf); +uint8_t packRlcDlUserDataToRlc(Pst *pst, RlcDlUserDataInfo *dlDataMsg); +uint8_t unpackRlcDlUserDataToRlc(DuRlcDlUserDataToRlcFunc func, Pst *pst, Buffer *mBuf); +uint8_t packDuRlcUeDeleteReq(Pst *pst, RlcUeDelete *ueDelete); +uint8_t unpackRlcUeDeleteReq(DuRlcUeDeleteReq func, Pst *pst, Buffer *mBuf); +uint8_t packRlcDuUeDeleteRsp(Pst *pst, RlcUeDeleteRsp *ueDeleteRsp); +uint8_t unpackRlcUeDeleteRsp(RlcDuUeDeleteRsp func, Pst *pst, Buffer *mBuf); /* Event Handler function declarations */ uint8_t RlcProcUeCreateReq(Pst *pst, RlcUeCfg *ueCfg); @@ -325,7 +379,9 @@ uint8_t DuProcRlcRrcDeliveryReport(Pst *pst, RrcDeliveryReport *rrcDeliveryRepor uint8_t RlcProcUeReconfigReq(Pst *pst, RlcUeCfg *ueCfg); uint8_t DuProcRlcDlRrcMsgRsp(Pst *pst, RlcDlRrcMsgRsp *dlRrcMsg); uint8_t DuProcRlcUlUserDataTrans(Pst *pst, RlcUlUserDatInfo *ulUserData); - +uint8_t RlcProcDlUserDataTransfer(Pst *pst, RlcDlUserDataInfo *dlDataMsgInfo); +uint8_t RlcProcUeDeleteReq(Pst *pst, RlcUeDelete *ueDelete); +uint8_t DuProcRlcUeDeleteRsp(Pst *pst, RlcUeDeleteRsp *delRsp); #endif /* RLC_INF_H */ /**********************************************************************