X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fmac_sch_interface.h;h=2f1e83db02bcccefcfd74310868c5f7ad431464e;hb=88debac51779b5de4f38e60e9a26f3015091d91b;hp=80ef9bfc7766944a29c041fb33a04f2ce0fe79fb;hpb=f0f283a72b3bdf0740cb49071a2f025159f0bf15;p=o-du%2Fl2.git diff --git a/src/cm/mac_sch_interface.h b/src/cm/mac_sch_interface.h index 80ef9bfc7..2f1e83db0 100644 --- a/src/cm/mac_sch_interface.h +++ b/src/cm/mac_sch_interface.h @@ -19,7 +19,7 @@ /* events */ #define EVENT_SCH_CELL_CFG 1 #define EVENT_SCH_CELL_CFG_CFM 2 -#define EVENT_DL_ALLOC 3 +#define EVENT_DL_SCH_INFO 3 #define EVENT_UL_SCH_INFO 4 #define EVENT_RACH_IND_TO_SCH 5 #define EVENT_CRC_IND_TO_SCH 6 @@ -31,19 +31,20 @@ #define EVENT_UCI_IND_TO_SCH 12 #define EVENT_MODIFY_UE_CONFIG_REQ_TO_SCH 13 #define EVENT_UE_RECONFIG_RSP_TO_MAC 14 - +#define EVENT_UE_DELETE_REQ_TO_SCH 15 +#define EVENT_UE_DELETE_RSP_TO_MAC 16 +#define EVENT_CELL_DELETE_REQ_TO_SCH 17 +#define EVENT_CELL_DELETE_RSP_TO_MAC 18 +#define EVENT_LONG_BSR 19 +#define EVENT_SLICE_CFG_REQ_TO_SCH 20 +#define EVENT_SLICE_CFG_RSP_TO_MAC 21 +#define EVENT_SLICE_RECFG_REQ_TO_SCH 22 +#define EVENT_SLICE_RECFG_RSP_TO_MAC 23 /*macros*/ -#define NO_SSB 0 -#define SSB_TRANSMISSION 1 -#define SSB_REPEAT 2 #define MAX_SSB_IDX 1 /* forcing it as 1 for now. Right value is 64 */ #define SCH_SSB_MASK_SIZE 1 -#define NO_SIB1 0 -#define SIB1_TRANSMISSION 1 -#define SIB1_REPITITION 2 - #define MAX_NUM_PRG 1 /* max value should be later 275 */ #define MAX_DIG_BF_INTERFACES 0 /* max value should be later 255 */ #define MAX_CODEWORDS 1 /* max should be 2 */ @@ -62,7 +63,11 @@ #define MAX_SR_BITS_IN_BYTES 1 #define MAX_NUM_LOGICAL_CHANNEL_GROUPS 8 /* can we have a common numslot numscs between mac sch */ +#ifdef NR_TDD +#define MAX_SLOTS 20 +#else #define MAX_SLOTS 10 +#endif #define MAX_SFN 1024 #define MAX_NUM_SR_CFG_PER_CELL_GRP 8 /* Max number of scheduling request config per cell group */ #define MAX_NUM_TAGS 4 /* Max number of timing advance groups */ @@ -82,7 +87,23 @@ #define MAX_NUM_PUCCH_P0_PER_SET 8 #define MAX_NUM_PATH_LOSS_REF_RS 4 #define MAX_NUM_DL_DATA_TO_UL_ACK 15 -#define SD_SIZE 3 +#define QPSK_MODULATION 2 + +#define RAR_PAYLOAD_SIZE 10 /* As per spec 38.321, sections 6.1.5 and 6.2.3, RAR PDU is 8 bytes long and 2 bytes of padding */ +#define TX_PAYLOAD_HDR_LEN 32 /* Intel L1 requires adding a 32 byte header to transmitted payload */ +#define UL_TX_BUFFER_SIZE 5 + +#define MAX_NUM_CONFIG_SLOTS 160 /*Max number of slots as per the numerology*/ +#define MAX_NUM_K0_IDX 16 /* Max number of pdsch time domain downlink allocation */ +#define MAX_NUM_K1_IDX 8 /* As per spec 38.213 section 9.2.3 Max number of PDSCH-to-HARQ resource indication */ +#define MIN_NUM_K1_IDX 4 /* Min K1 values */ +#define MAX_NUM_K2_IDX 16 /* PUSCH time domain UL resource allocation list */ +#define DEFAULT_K0_VALUE 0 /* As per 38.331, PDSCH-TimeDomainResourceAllocation field descriptions */ +/* As per 38.331, PUSCH-TimeDomainResourceAllocationList field descriptions */ +#define DEFAULT_K2_VALUE_FOR_SCS15 1 +#define DEFAULT_K2_VALUE_FOR_SCS30 1 +#define DEFAULT_K2_VALUE_FOR_SCS60 2 +#define DEFAULT_K2_VALUE_FOR_SCS120 3 #define ADD_DELTA_TO_TIME(crntTime, toFill, incr) \ { \ @@ -101,6 +122,26 @@ } \ } +typedef enum +{ + PRB_RSRC, + DRB_RSRC, + RRC_CONNECTED_USERS_RSRC +}SchResourceType; + +typedef enum +{ + SLICE_FOUND, + SLICE_NOT_FOUND +}RspCause; + +typedef enum +{ + NO_TRANSMISSION, + NEW_TRANSMISSION, + REPEATITION +}PduTxOccsaion; + typedef enum { UNSPECIFIED_CAUSE, @@ -121,6 +162,13 @@ typedef enum SR_PROHIBIT_MS128 }SchSrProhibitTimer; +typedef enum +{ + NOT_APPLICABLE, + INVALID_CELLID, + INVALID_UEID +}ErrorCause; + typedef enum { SR_TRANS_MAX_N4, @@ -371,6 +419,14 @@ typedef enum SCH_MCS_TABLE_QAM_64_LOW_SE }SchMcsTable; +typedef enum +{ + NONE, + PDCCH_PDU, + PDSCH_PDU, + BOTH +}DlPduType; + /*structures*/ typedef struct timeDomainAlloc { @@ -444,7 +500,7 @@ typedef struct dmrsInfo typedef struct pdschFreqAlloc { uint8_t resourceAllocType; - /* since we are using type-1, hence rbBitmap excluded */ + /* since we are using type-1, rbBitmap excluded */ FreqDomainAlloc freqAlloc; uint8_t vrbPrbMapping; } PdschFreqAlloc; @@ -530,7 +586,6 @@ typedef struct { /* parameters recieved from DU-APP */ uint16_t sib1PduLen; - uint16_t sib1NewTxPeriod; uint16_t sib1RepetitionPeriod; uint8_t coresetZeroIndex; /* derived from 4 LSB of pdcchSib1 present in MIB */ uint8_t searchSpaceZeroIndex; /* derived from 4 MSB of pdcchSib1 present in MIB */ @@ -578,8 +633,9 @@ typedef struct schCandidatesInfo typedef struct schSearchSpaceCfg { - uint8_t searchSpaceId; - uint8_t coresetId; + uint8_t searchSpaceId; + uint8_t coresetId; + uint8_t freqDomainRsrc[FREQ_DOM_RSRC_SIZE]; /* Frequency domain resource */ uint16_t monitoringSlot; uint16_t duration; uint16_t monitoringSymbol; @@ -592,12 +648,18 @@ typedef struct schPdcchCfgCmn uint8_t raSearchSpaceId; }SchPdcchCfgCmn; -typedef struct schPdschCfgCmn +typedef struct schPdschCfgCmnTimeDomRsrcAlloc { uint8_t k0; uint8_t mappingType; uint8_t startSymbol; uint8_t lengthSymbol; +}SchPdschCfgCmnTimeDomRsrcAlloc; + +typedef struct schPdschCfgCmn +{ + uint8_t numTimeDomAlloc; + SchPdschCfgCmnTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_DL_ALLOC]; }SchPdschCfgCmn; typedef struct schPucchCfgCmn @@ -606,28 +668,81 @@ typedef struct schPucchCfgCmn uint8_t pucchGroupHopping; }SchPucchCfgCmn; +/* PUSCH Time Domain Resource Allocation */ +typedef struct schPuschTimeDomRsrcAlloc +{ + uint8_t k2; + SchTimeDomRsrcAllocMappingType mappingType; + uint8_t startSymbol; + uint8_t symbolLength; +}SchPuschTimeDomRsrcAlloc; + typedef struct schPuschCfgCmn { - uint8_t k2; - uint8_t mappingType; - uint8_t startSymbol; - uint8_t lengthSymbol; + uint8_t numTimeDomRsrcAlloc; + SchPuschTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_UL_ALLOC]; /* PUSCH time domain UL resource allocation list */ }SchPuschCfgCmn; +typedef struct schK1TimingInfo +{ + uint8_t numK1; + uint8_t k1Indexes[MAX_NUM_K1_IDX]; +}SchK1TimingInfo; + +typedef struct schK0TimingInfo +{ + uint8_t k0Index; + SchK1TimingInfo k1TimingInfo; +}SchK0TimingInfo; + +typedef struct schK0K1TimingInfo +{ + uint8_t numK0; + SchK0TimingInfo k0Indexes[MAX_NUM_K0_IDX]; +}SchK0K1TimingInfo; + +typedef struct schK0K1TimingInfoTbl +{ + uint16_t tblSize; + SchK0K1TimingInfo k0k1TimingInfo[MAX_NUM_CONFIG_SLOTS]; +}SchK0K1TimingInfoTbl; + typedef struct schBwpDlCfg { SchBwpParams bwp; SchPdcchCfgCmn pdcchCommon; SchPdschCfgCmn pdschCommon; + SchK0K1TimingInfoTbl k0K1InfoTbl; }SchBwpDlCfg; +typedef struct schK2TimingInfo +{ + uint8_t numK2; + uint8_t k2Indexes[MAX_NUM_K2_IDX]; +}SchK2TimingInfo; + +typedef struct schK2TimingInfoTbl +{ + uint16_t tblSize; + SchK2TimingInfo k2TimingInfo[MAX_NUM_CONFIG_SLOTS]; +}SchK2TimingInfoTbl; + typedef struct schBwpUlCfg { SchBwpParams bwp; SchPucchCfgCmn pucchCommon; SchPuschCfgCmn puschCommon; + SchK2TimingInfoTbl msg3K2InfoTbl; + SchK2TimingInfoTbl k2InfoTbl; }SchBwpUlCfg; +typedef struct schPlmnInfoList +{ + Plmn plmn; + uint8_t numSliceSupport; /* Total slice supporting */ + Snssai **snssai; /* List of supporting snssai*/ +}SchPlmnInfoList; + typedef struct schCellCfg { uint16_t cellId; /* Cell Id */ @@ -642,9 +757,10 @@ typedef struct schCellCfg SchRachCfg schRachCfg; /* PRACH config */ SchBwpDlCfg schInitialDlBwp; /* Initial DL BWP */ SchBwpUlCfg schInitialUlBwp; /* Initial UL BWP */ + SchPlmnInfoList plmnInfoList; /* Consits of PlmnId and Snssai list */ #ifdef NR_TDD TDDCfg tddCfg; /* TDD Cfg */ -#endif +#endif }SchCellCfg; typedef struct schCellCfgCfm @@ -693,19 +809,32 @@ typedef struct dlBrdcstAlloc Sib1AllocInfo sib1Alloc; }DlBrdcstAlloc; +typedef struct msg3UlGrant +{ + uint8_t freqHopFlag; + uint16_t bwpSize; + FreqDomainAlloc msg3FreqAlloc; + uint8_t k2Index; + uint8_t mcs; + uint8_t tpc; + uint8_t csiReq; +}Msg3UlGrant; + typedef struct rarInfo { uint16_t raRnti; uint8_t RAPID; uint16_t ta; - FreqDomainAlloc msg3FreqAlloc; + Msg3UlGrant ulGrant; uint16_t tcrnti; - uint8_t rarPdu[8]; + uint8_t rarPdu[RAR_PAYLOAD_SIZE]; uint8_t rarPduLen; }RarInfo; typedef struct rarAlloc { + DlPduType pduPres; + uint8_t pdschSlot; RarInfo rarInfo; BwpCfg bwp; PdcchCfg rarPdcchCfg; @@ -733,24 +862,32 @@ typedef struct lcSchInfo uint32_t schBytes; /* Number of scheduled bytes */ }LcSchInfo; -typedef struct dlMsgAlloc +typedef struct dlMsgSchedInfo { - uint16_t crnti; uint8_t numLc; LcSchInfo lcSchInfo[MAX_NUM_LC]; /* Scheduled LC info */ BwpCfg bwp; PdcchCfg dlMsgPdcchCfg; PdschCfg dlMsgPdschCfg; + DlPduType pduPres; + uint8_t pdschSlot; DlMsgInfo dlMsgInfo; +}DlMsgSchInfo; + +typedef struct dlMsgAlloc +{ + uint16_t crnti; + uint8_t numSchedInfo; + DlMsgSchInfo dlMsgSchedInfo[2]; }DlMsgAlloc; typedef struct schSlotValue { - SlotIndInfo currentTime; - SlotIndInfo broadcastTime; - SlotIndInfo rarTime; - SlotIndInfo dlMsgTime; - SlotIndInfo ulDciTime; + SlotTimingInfo currentTime; + SlotTimingInfo broadcastTime; + SlotTimingInfo rarTime; + SlotTimingInfo dlMsgTime; + SlotTimingInfo ulDciTime; }SchSlotValue; typedef struct format0_0 @@ -791,7 +928,7 @@ typedef struct dciInfo { uint16_t cellId; uint16_t crnti; /* CRNI */ - SlotIndInfo slotIndInfo; /* Slot Info: sfn, slot number */ + SlotTimingInfo slotIndInfo; /* Slot Info: sfn, slot number */ BwpCfg bwpCfg; /* BWP Cfg */ CoresetCfg coresetCfg; /* Coreset1 Cfg */ FormatType formatType; /* DCI Format */ @@ -816,17 +953,13 @@ typedef struct dlSchedInfo DlBrdcstAlloc brdcstAlloc; /* Allocation for RAR message */ - //uint8_t isRarPres; - RarAlloc *rarAlloc; - - /* Allocation from MSG4 */ - //Msg4Alloc *msg4Alloc; + RarAlloc *rarAlloc[MAX_NUM_UE]; /* UL grant in response to BSR */ DciInfo *ulGrant; /* Allocation from dedicated DL msg */ - DlMsgAlloc *dlMsgAlloc; + DlMsgAlloc *dlMsgAlloc[MAX_NUM_UE]; }DlSchedInfo; @@ -887,7 +1020,7 @@ typedef struct ulSchedInfo { uint16_t cellId; /* Cell Id */ uint16_t crnti; /* CRNI */ - SlotIndInfo slotIndInfo; /* Slot Info: sfn, slot number */ + SlotTimingInfo slotIndInfo; /* Slot Info: sfn, slot number */ uint8_t dataType; /* Type of info being scheduled */ PrachSchInfo prachSchInfo; /* Prach scheduling info */ SchPuschInfo schPuschInfo; /* Pusch scheduling info */ @@ -898,7 +1031,7 @@ typedef struct rachIndInfo { uint16_t cellId; uint16_t crnti; - SlotIndInfo timingInfo; + SlotTimingInfo timingInfo; uint8_t slotIdx; uint8_t symbolIdx; uint8_t freqIdx; @@ -911,7 +1044,7 @@ typedef struct crcIndInfo { uint16_t cellId; uint16_t crnti; - SlotIndInfo timingInfo; + SlotTimingInfo timingInfo; uint16_t numCrcInd; uint8_t crcInd[MAX_NUMBER_OF_CRC_IND_BITS]; }CrcIndInfo; @@ -1033,6 +1166,7 @@ typedef struct schPdcchConfig /* PDSCH time domain resource allocation */ typedef struct schPdschTimeDomRsrcAlloc { + uint8_t *k0; SchTimeDomRsrcAllocMappingType mappingType; uint8_t startSymbol; uint8_t symbolLength; @@ -1078,6 +1212,8 @@ typedef struct schInitalDlBwp SchPdcchConfig pdcchCfg; bool pdschCfgPres; SchPdschConfig pdschCfg; + bool k0K1TblPrsnt; + SchK0K1TimingInfoTbl k0K1InfoTbl; }SchInitalDlBwp; /* BWP Downlink common */ @@ -1271,15 +1407,6 @@ typedef struct SchDmrsUlCfg SchTransPrecodDisabled transPrecodDisabled; /* Transform precoding disabled */ }SchDmrsUlCfg; -/* PUSCH Time Domain Resource Allocation */ -typedef struct schPuschTimeDomRsrcAlloc -{ - uint8_t k2; - SchTimeDomRsrcAllocMappingType mappingType; - uint8_t startSymbol; - uint8_t symbolLength; -}SchPuschTimeDomRsrcAlloc; - /* PUSCH Configuration */ typedef struct schPuschCfg { @@ -1298,6 +1425,8 @@ typedef struct schInitialUlBwp SchPucchCfg pucchCfg; bool puschCfgPres; SchPuschCfg puschCfg; + bool k2TblPrsnt; + SchK2TimingInfoTbl k2InfoTbl; }SchInitialUlBwp; /* Uplink BWP information */ @@ -1372,12 +1501,6 @@ typedef struct schDrbQos uint32_t ulPduSessAggMaxBitRate; /* UL PDU Session Aggregate max bit rate */ }SchDrbQosInfo; -typedef struct schSnssai -{ - uint8_t sst; - uint8_t sd[SD_SIZE]; -}SchSnssai; - /* Special cell configuration */ typedef struct schSpCellCfg { @@ -1407,7 +1530,7 @@ typedef struct schLcCfg ConfigType configType; uint8_t lcId; SchDrbQosInfo *drbQos; - SchSnssai *snssai; + Snssai *snssai; SchDlLcCfg dlLcCfg; SchUlLcCfg ulLcCfg; }SchLcCfg; @@ -1445,13 +1568,39 @@ typedef struct schUeCfg typedef struct schUeCfgRsp { - uint16_t ueIdx; + uint16_t ueId; uint16_t cellId; uint16_t crnti; SchMacRsp rsp; SchFailureCause cause; }SchUeCfgRsp; +typedef struct schUeDelete +{ + uint16_t cellId; + uint16_t crnti; +}SchUeDelete; + +typedef struct schUeDeleteRsp +{ + uint16_t cellId; + uint16_t crnti; + SchMacRsp rsp; + ErrorCause cause; +}SchUeDeleteRsp; + +typedef struct schCellDelete +{ + uint16_t cellId; +}SchCellDelete; + + +typedef struct schCellDeleteRsp +{ + uint16_t cellId; + SchMacRsp rsp; +}SchCellDeleteRsp; + typedef struct dataVolInfo { uint8_t lcgId; @@ -1471,13 +1620,44 @@ typedef struct srUciIndInfo { uint16_t cellId; uint16_t crnti; - SlotIndInfo slotInd; + SlotTimingInfo slotInd; uint8_t numSrBits; uint8_t srPayload[MAX_SR_BITS_IN_BYTES]; }SrUciIndInfo; -/* function pointers */ +typedef struct schRrmPolicyRatio +{ + uint8_t policyMaxRatio; + uint8_t policyMinRatio; + uint8_t policyDedicatedRatio; +}SchRrmPolicyRatio; + +typedef struct schRrmPolicyOfSlice +{ + Snssai snssai; + SchRrmPolicyRatio *rrmPolicyRatioInfo; +}SchRrmPolicyOfSlice; + +typedef struct schSliceCfgReq +{ + uint8_t numOfConfiguredSlice; + SchRrmPolicyOfSlice **listOfConfirguration; +}SchSliceCfgReq; + +typedef struct sliceRsp +{ + Snssai snssai; + SchMacRsp rsp; + RspCause cause; +}SliceRsp; + +typedef struct schSliceRsp +{ + uint8_t numSliceCfgRsp; + SliceRsp **listOfSliceCfgRsp; +}SchSliceCfgRsp; +/* function pointers */ typedef uint8_t (*SchCellCfgCfmFunc) ARGS(( Pst *pst, /* Post Structure */ SchCellCfgCfm *schCellCfgCfm /* Cell Cfg Cfm */ @@ -1520,7 +1700,7 @@ typedef uint8_t (*SchUeCfgRspFunc) ARGS(( typedef uint8_t (*MacSchSlotIndFunc) ARGS(( Pst *pst, /* Post structure */ - SlotIndInfo *slotInd)); /* Slot Info */ + SlotTimingInfo *slotInd)); /* Slot Info */ typedef uint8_t (*MacSchBsrFunc) ARGS(( Pst *pst, @@ -1539,8 +1719,41 @@ typedef uint8_t (*SchUeReCfgRspFunc) ARGS(( Pst *pst, /* Post structure */ SchUeCfgRsp *cfgRsp)); /* Scheduler UE Cfg response */ +typedef uint8_t (*MacSchUeDeleteReqFunc) ARGS(( + Pst *pst, /* Post structure */ + SchUeDelete *schUeDel)); /*Scheduler UE Del*/ + +typedef uint8_t (*SchUeDeleteRspFunc) ARGS(( + Pst *pst, /* Post structure */ + SchUeDeleteRsp *delRsp)); /* Scheduler UE delete response */ + +typedef uint8_t (*MacSchCellDeleteReqFunc) ARGS(( + Pst *pst, /* Post structure */ + SchCellDelete *schCellDelete)); /*Scheduler UE Del*/ + +typedef uint8_t (*SchCellDeleteRspFunc) ARGS(( + Pst *pst, /* Post structure */ + SchCellDeleteRsp *schCellDeleteRsp)); /* Scheduler UE delete response */ + +typedef uint8_t (*MacSchSliceCfgReqFunc) ARGS(( + Pst *pst, /* Post structure */ + SchSliceCfgReq *schSliceCfgReq)); /* Scheduler Slice Cfg Req */ + +typedef uint8_t (*SchSliceCfgRspFunc) ARGS(( + Pst *pst, /* Post Structure */ + SchSliceCfgRsp *schSliceCfgRsp /* Cell Cfg Cfm */ + )); + +typedef uint8_t (*MacSchSliceReCfgReqFunc) ARGS(( + Pst *pst, /* Post structure */ + SchSliceCfgReq *schSliceReCfgReq)); /* Scheduler Slice ReCfg Req */ + +typedef uint8_t (*SchSliceReCfgRspFunc) ARGS(( + Pst *pst, /* Post Structure */ + SchSliceCfgRsp *schSliceReCfgRsp /* Cell ReCfg Cfm */ + )); /* function declarations */ -uint8_t packMacSchSlotInd(Pst *pst, SlotIndInfo *slotInd); +uint8_t packMacSchSlotInd(Pst *pst, SlotTimingInfo *slotInd); uint8_t packSchMacDlAlloc(Pst *pst, DlSchedInfo *dlSchedInfo); uint8_t packSchMacUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo); uint8_t packSchCellCfg(Pst *pst, SchCellCfg *schCellCfg); @@ -1550,7 +1763,6 @@ uint8_t MacProcSchCellCfg(Pst *pst, SchCellCfg *schCellCfg); uint8_t MacProcSchCellCfgCfm(Pst *pst, SchCellCfgCfm *schCellCfgCfm); uint8_t SchHdlCellCfgReq(Pst *pst, SchCellCfg *schCellCfg); uint8_t schActvInit(Ent entity, Inst instId, Region region, Reason reason); -uint8_t SchSendCfgCfm(Pst *pst, RgMngmt *cfm); uint8_t MacProcUlSchInfo(Pst *pst, UlSchedInfo *ulSchedInfo); uint8_t packMacSchRachInd(Pst *pst, RachIndInfo *rachInd); uint8_t MacSchRachInd(Pst *pst, RachIndInfo *rachInd); @@ -1562,8 +1774,8 @@ uint8_t packMacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); uint8_t MacSchAddUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); uint8_t packSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp); uint8_t MacProcSchUeCfgRsp(Pst *pst, SchUeCfgRsp *cfgRsp); -uint8_t MacSchSlotInd ARGS((Pst * pst, SlotIndInfo * slotInd)); -uint8_t packMacSchSlotInd(Pst * pst, SlotIndInfo * slotInd); +uint8_t MacSchSlotInd ARGS((Pst * pst, SlotTimingInfo * slotInd)); +uint8_t packMacSchSlotInd(Pst * pst, SlotTimingInfo * slotInd); uint8_t unpackMacSchSlotInd(MacSchSlotIndFunc func, Pst *pst, Buffer *mBuf); uint8_t packMacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd); uint8_t MacSchBsr(Pst *pst, UlBufferStatusRptInd *bsrInd); @@ -1573,7 +1785,22 @@ uint8_t packMacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); uint8_t MacSchModUeConfigReq(Pst *pst, SchUeCfg *ueCfgToSch); uint8_t packSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp); uint8_t MacProcSchUeReconfigRsp(Pst *pst, SchUeCfgRsp *cfgRsp); - +uint8_t packMacSchUeDeleteReq(Pst *pst, SchUeDelete *schUeDel); +uint8_t MacSchUeDeleteReq(Pst *pst, SchUeDelete *ueDelete); +uint8_t packSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *delRsp); +uint8_t MacProcSchUeDeleteRsp(Pst *pst, SchUeDeleteRsp *schUeDelRsp); +uint8_t packMacSchCellDeleteReq(Pst *pst, SchCellDelete *schCellDelete); +uint8_t MacSchCellDeleteReq(Pst *pst, SchCellDelete *schCellDelete); +uint8_t packSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp); +uint8_t MacProcSchCellDeleteRsp(Pst *pst, SchCellDeleteRsp *schCellDeleteRsp); +uint8_t packMacSchSliceCfgReq(Pst *pst, SchSliceCfgReq *cfgReq); +uint8_t MacSchSliceCfgReq(Pst *pst, SchSliceCfgReq *schSliceCfgReq); +uint8_t packSchSliceCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp); +uint8_t MacProcSchSliceCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp); +uint8_t packMacSchSliceReCfgReq(Pst *pst, SchSliceCfgReq *cfgReq); +uint8_t MacSchSliceReCfgReq(Pst *pst, SchSliceCfgReq *schSliceCfgReq); +uint8_t packSchSliceReCfgRsp(Pst *pst, SchSliceCfgRsp *cfgRsp); +uint8_t MacProcSchSliceReCfgRsp(Pst *pst, SchSliceCfgRsp *sliceReCfgrsp); /********************************************************************** End of file **********************************************************************/