typedef enum
{
UE_STATE_INACTIVE,
- UE_STATE_ACTIVE
+ UE_STATE_ACTIVE,
+ UE_HANDIN_IN_PROGRESS
}UeState;
typedef enum
/* UE Cb */
typedef struct macUeCb
{
- uint16_t ueIdx; /* UE Idx assigned by DU APP */
+ uint16_t ueId; /* UE Id calculated from CRNTI */
+ uint8_t duUeF1apId; /* UE ID assigned by DU APP */
uint16_t crnti; /* UE CRNTI */
MacCellCb *cellCb; /* Pointer to cellCb to whihc this UE belongs */
UeState state; /* Is UE active ? */
MacBsrTmrCfg bsrTmrCfg; /* BSR Timer Info */
UeUlCb ulInfo; /* UE specific UL info */
UeDlCb dlInfo; /* UE specific DL info */
+ DataTransmissionAction transmissionAction;
}MacUeCb;
struct macCellCb
MacUlSlot ulSlot[MAX_SLOTS];
uint16_t numActvUe;
MacUeCfg *ueCfgTmpData[MAX_NUM_UE];
+ MacUeCb hoUeCb[MAX_NUM_UE];
MacUeCb ueCb[MAX_NUM_UE];
MacCellCfg macCellCfg;
SlotTimingInfo currTime;
uint8_t sendSchedRptToRlc(DlSchedInfo dlInfo, SlotTimingInfo slotInfo, uint8_t ueIdx, uint8_t schInfoIdx);
uint8_t macProcLongBsr(uint16_t cellId, uint16_t crnti,uint8_t numLcg,\
DataVolInfo dataVolInfo[MAX_NUM_LOGICAL_CHANNEL_GROUPS]);
+void freeMacSliceCfgReq(MacSliceCfgReq *cfgReq,Pst *pst);
#endif
/**********************************************************************
End of file