#define __MACINT_H__
#define NUM_NUMEROLOGY 5 /* Number of numerology */
-#define MAXIMUM_TDD_PERIODICITY 5
-#define MAX_SYMB_PER_SLOT 14
#define NUM_SSB 1 /* max value is 64 */
#define SSB_MASK_SIZE 1 /* SSB mask size is 32bit for sub6 */
-#define SIB1_NEW_TX_PERIOD 160
#define SIB1_REPETITION_PERIOD 20
#define CORESET_0_INDEX 0
#define CORESET_1_INDEX 1
#define SEARCHSPACE_4_INDEX 4
#define SS_MONITORING_SLOT_SL1 0 /* all slots */
#define SS_MONITORING_SYMBOL 0x2000; /* symbol-0, set 14th bit */
-#define SIB1_MCS 4
/* Macro for Ue Context */
#define MAX_NUM_SR_CFG_PER_CELL_GRP 8 /* Max number of scheduling request config per cell group */
#define MONITORING_SYMB_WITHIN_SLOT_SIZE 2 /* i.e. 2 bytes because size of monitoring symbols within slot is 14 bits */
#define MAX_NUM_DL_ALLOC 16 /* Max number of pdsch time domain downlink allocation */
#define MAX_NUM_UL_ALLOC 16 /* Max number of pusch time domain uplink allocation */
-#define SD_SIZE 3 /* Max size of Slice Differentiator in S-NSSAI */
-
-#define MAX_NUM_SRB 8
-#define MAX_NUM_DRB 64
#define MAX_NUM_SCELL 32
+/* PUCCH Configuration Macro */
+#define MAX_NUM_PUCCH_RESRC 128
+#define MAX_NUM_PUCCH_RESRC_SET 4
+#define MAX_NUM_PUCCH_PER_RESRC_SET 32
+#define MAX_NUM_SPATIAL_RELATIONS 8
+#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
+
/* Event IDs */
#define EVENT_MAC_CELL_CONFIG_REQ 200
#define EVENT_MAC_CELL_CONFIG_CFM 201
-#define EVENT_MAC_CELL_START_REQ 202
-#define EVENT_MAC_CELL_STOP_REQ 203
-#define EVENT_MAC_SLOT_IND 204
+#define EVENT_MAC_CELL_START 202
+#define EVENT_MAC_CELL_STOP 203
+#define EVENT_MAC_CELL_UP_IND 204
#define EVENT_MAC_STOP_IND 205
#define EVENT_MAC_UL_CCCH_IND 206
#define EVENT_MAC_DL_CCCH_IND 207
#define EVENT_MAC_UE_CREATE_RSP 209
#define EVENT_MAC_UE_RECONFIG_REQ 210
#define EVENT_MAC_UE_RECONFIG_RSP 211
+#define EVENT_MAC_UE_DELETE_REQ 212
+#define EVENT_MAC_UE_DELETE_RSP 213
+#define EVENT_MAC_CELL_DELETE_REQ 214
+#define EVENT_MAC_CELL_DELETE_RSP 215
+#define EVENT_MAC_SLICE_CFG_REQ 216
+#define EVENT_MAC_SLICE_CFG_RSP 217
+#define EVENT_MAC_SLICE_RECFG_REQ 218
+#define EVENT_MAC_SLICE_RECFG_RSP 219
#define BSR_PERIODIC_TIMER_SF_10 10
#define BSR_RETX_TIMER_SF_320 320
MAC_DU_APP_RSP_OK
}MacRsp;
+typedef enum
+{
+ SLICE_PRESENT,
+ SLICE_NOT_PRESENT
+}RspReason;
+
+typedef enum
+{
+ SUCCESS,
+ CELLID_INVALID,
+ UEID_INVALID
+}UeDeleteStatus;
+
+typedef enum
+{
+ SUCCESSFUL_RSP,
+ CELL_ID_INVALID
+}CellDeleteStatus;
+
typedef enum
{
DUP_MODE_FDD,
RSSI_UNIT_DBFS
}RSSIMeasUnit;
-typedef enum
-{
- DL_SLOT,
- UL_SLOT,
- GUARD_SLOT
-}SlotConfig;
-
-typedef enum
-{
- TX_PRDCTY_MS_0P5,
- TX_PRDCTY_MS_0P625,
- TX_PRDCTY_MS_1,
- TX_PRDCTY_MS_1P25,
- TX_PRDCTY_MS_2,
- TX_PRDCTY_MS_2P5,
- TX_PRDCTY_MS_5,
- TX_PRDCTY_MS_10
-}DlUlTxPeriodicity;
-
typedef enum
{
BETA_PSS_0DB,
UNSPECIFIED_MISC_CAUSE
}MiscFailCause;
+typedef enum
+{
+ MCS_TABLE_QAM64,
+ MCS_TABLE_QAM256,
+ MCS_TABLE_QAM64_LOW_SE
+}McsTable;
+
+typedef enum
+{
+ RSRC_PRB,
+ RSRC_DRB,
+ RSRC_RRC_CONNECTED_USERS
+}ResourceType;
+
typedef struct failureCause
{
CauseGrp type;
uint8_t raRspWindow; /* RA Response Window */
}PrachCfg;
-typedef struct tddCfg
+typedef struct schPageCfg
{
- bool pres;
- DlUlTxPeriodicity tddPeriod; /* DL UL Transmission periodicity */
- SlotConfig slotCfg[MAXIMUM_TDD_PERIODICITY][MAX_SYMB_PER_SLOT];
-}TDDCfg;
+ uint8_t numPO; /*Derived from Ns*/
+ bool poPresent; /*Whether FirstPDCCH-MonitoringPO is present or not*/
+ uint16_t pagingOcc[MAX_PO_PER_PF]; /*FirstPDCCH-Monitoring Paging Occasion*/
+}SchPageCfg;
typedef struct sib1CellCfg
{
uint8_t *sib1Pdu;
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 */
uint16_t sib1Mcs;
+ SchPageCfg pagingCfg;
} Sib1CellCfg;
typedef struct bwpParams
uint8_t raSearchSpaceId;
}PdcchConfigCommon;
-typedef struct pdschConfigCommon
+typedef struct pdschCfgCommTimeDomRsrcAlloc
{
uint8_t k0;
uint8_t mappingType;
uint8_t startSymbol;
uint8_t lengthSymbol;
+}PdschCfgCommTimeDomRsrcAlloc;
+
+typedef struct pdschConfigCommon
+{
+ uint8_t numTimeDomAlloc;
+ /* PDSCH time domain DL resource allocation list */
+ PdschCfgCommTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_DL_ALLOC];
}PdschConfigCommon;
typedef struct pucchConfigCommon
uint8_t pucchGroupHopping;
}PucchConfigCommon;
+/* PUSCH Time Domain Resource Allocation */
+typedef struct puschTimeDomRsrcAlloc
+{
+ uint8_t k2;
+ CommonMappingType mappingType;
+ uint8_t startSymbol;
+ uint8_t symbolLength;
+ uint8_t startSymbolAndLength;
+}PuschTimeDomRsrcAlloc;
+
+
typedef struct puschConfigCommon
{
/* PUSCH-TimeDomainResourceAllocation info */
- uint8_t k2;
- uint8_t mappingType;
- uint8_t startSymbol;
- uint8_t lengthSymbol;
+ uint8_t numTimeDomRsrcAlloc;
+ PuschTimeDomRsrcAlloc timeDomRsrcAllocList[MAX_NUM_UL_ALLOC]; /* PUSCH time domain UL resource allocation list */
}PuschConfigCommon;
typedef struct bwpDlConfig
PuschConfigCommon puschCommon;
}BwpUlConfig;
+typedef struct plmnInfoList
+{
+ Plmn plmn;
+ uint8_t numSupportedSlice; /* Total slice supporting */
+ Snssai **snssai; /* List of supporting snssai*/
+}PlmnInfoList;
+
typedef struct macCellCfg
{
- uint16_t cellId; /* Cell Id */
- uint8_t carrierId; /* Carrired Index */
- uint16_t phyCellId; /* Physical cell id */
+ uint16_t cellId; /* Cell Id */
+ uint8_t carrierId; /* Carrired Index */
+ uint16_t phyCellId; /* Physical cell id */
+ uint8_t numerology; /* Supported numerology */
DuplexMode dupType; /* Duplex type: TDD/FDD */
CarrierCfg dlCarrCfg; /* DL Carrier configuration */
CarrierCfg ulCarrCfg; /* UL Carrier configuration */
bool freqShft; /* Indicates presence of 7.5kHz frequency shift */
SsbCfg ssbCfg; /* SSB configuration */
PrachCfg prachCfg; /* PRACH Configuration */
+#ifdef NR_TDD
TDDCfg tddCfg; /* TDD periodicity and slot configuration */
+#endif
RSSIMeasUnit rssiUnit; /* RSSI measurement unit */
Sib1CellCfg sib1Cfg; /* SIB1 config */
BwpDlConfig initialDlBwp; /* Initial DL BWP */
BwpUlConfig initialUlBwp; /* Initial UL BWP */
uint8_t dmrsTypeAPos; /* DMRS Type A position */
+ PlmnInfoList plmnInfoList; /* Consits of PlmnId and Snssai list */
+ //RrmPolicy *rrmPolicy; /* RRM policy details */
}MacCellCfg;
typedef struct macCellCfgCfm
{
- uint16_t cellId;
+ uint16_t cellId;
uint8_t rsp;
}MacCellCfgCfm;
-typedef struct macCellStartInfo
-{
- uint16_t cellId;
-}MacCellStartInfo;
-
-typedef struct macCellStopInfo
-{
- uint16_t cellId;
-}MacCellStopInfo;
-
typedef struct ulCcchInd
{
uint16_t cellId;
/* PDSCH time domain resource allocation */
typedef struct pdschTimeDomRsrcAlloc
{
+ uint8_t *k0;
CommonMappingType mappingType;
uint8_t startSymbol;
uint8_t symbolLength;
}PdschServCellCfg;
/* PUCCH Configuration */
+
+typedef struct pucchResrcSetInfo
+{
+ uint8_t resrcSetId;
+ uint8_t resrcListCount;
+ uint8_t resrcList[MAX_NUM_PUCCH_PER_RESRC_SET];
+ uint8_t maxPayLoadSize;
+}PucchResrcSetInfo;
+
+typedef struct pucchResrcSetCfg
+{
+ uint8_t resrcSetToAddModListCount;
+ PucchResrcSetInfo resrcSetToAddModList[MAX_NUM_PUCCH_RESRC_SET];
+ uint8_t resrcSetToRelListCount;
+ uint8_t resrcSetToRelList[MAX_NUM_PUCCH_RESRC];
+}PucchResrcSetCfg;
+
+typedef struct pucchFormat0
+{
+ uint8_t initialCyclicShift;
+ uint8_t numSymbols;
+ uint8_t startSymbolIdx;
+}PucchFormat0;
+
+typedef struct pucchFormat1
+{
+ uint8_t initialCyclicShift;
+ uint8_t numSymbols;
+ uint8_t startSymbolIdx;
+ uint8_t timeDomOCC;
+}PucchFormat1;
+
+typedef struct pucchFormat2_3
+{
+ uint8_t numPrbs;
+ uint8_t numSymbols;
+ uint8_t startSymbolIdx;
+}PucchFormat2_3;
+
+typedef struct pucchFormat4
+{
+ uint8_t numSymbols;
+ uint8_t occLen;
+ uint8_t occIdx;
+ uint8_t startSymbolIdx;
+}PucchFormat4;
+
+typedef struct pucchResrcInfo
+{
+ uint8_t resrcId;
+ uint16_t startPrb;
+ uint8_t intraFreqHop;
+ uint16_t secondPrbHop;
+ uint8_t pucchFormat;
+ union
+ {
+ PucchFormat0 *format0;
+ PucchFormat1 *format1;
+ PucchFormat2_3 *format2;
+ PucchFormat2_3 *format3;
+ PucchFormat4 *format4;
+ }PucchFormat;
+}PucchResrcInfo;
+
+typedef struct pucchResrcCfg
+{
+ uint8_t resrcToAddModListCount;
+ PucchResrcInfo resrcToAddModList[MAX_NUM_PUCCH_RESRC];
+ uint8_t resrcToRelListCount;
+ uint8_t resrcToRelList[MAX_NUM_PUCCH_RESRC];
+}PucchResrcCfg;
+
+typedef struct pucchFormatCfg
+{
+ uint8_t interSlotFreqHop;
+ uint8_t addDmrs;
+ uint8_t maxCodeRate;
+ uint8_t numSlots;
+ bool pi2BPSK;
+ bool harqAckCSI;
+}PucchFormatCfg;
+
+typedef struct schedReqResrcInfo
+{
+ uint8_t resrcId;
+ uint8_t requestId;
+ uint8_t periodicity;
+ uint16_t offset;
+ uint8_t resrc;
+}SchedReqResrcInfo;
+
+typedef struct pucchSchedReqCfg
+{
+ uint8_t schedAddModListCount;
+ SchedReqResrcInfo schedAddModList[MAX_NUM_SR_CFG_PER_CELL_GRP];
+ uint8_t schedRelListCount;
+ uint8_t schedRelList[MAX_NUM_SR_CFG_PER_CELL_GRP];
+}PucchSchedReqCfg;
+
+typedef struct spatialRelationInfo
+{
+ uint8_t spatialRelationId;
+ uint8_t servCellIdx;
+ uint8_t pathLossRefRSId;
+ uint8_t p0PucchId;
+ uint8_t closeLoopIdx;
+}SpatialRelationInfo;
+
+typedef struct pucchSpatialCfg
+{
+ uint8_t spatialAddModListCount;
+ SpatialRelationInfo spatialAddModList[MAX_NUM_SPATIAL_RELATIONS];
+ uint8_t spatialRelListCount;
+ uint8_t spatialRelList[MAX_NUM_SPATIAL_RELATIONS];
+}PucchSpatialCfg;
+
+typedef struct p0PucchCfg
+{
+ uint8_t p0PucchId;
+ int p0PucchVal;
+}P0PucchCfg;
+
+typedef struct pathLossRefRSCfg
+{
+ uint8_t pathLossRefRSId;
+}PathLossRefRSCfg;
+
+typedef struct pucchMultiCsiCfg
+{
+ uint8_t multiCsiResrcListCount;
+ uint8_t multiCsiResrcList[MAX_NUM_PUCCH_RESRC-1];
+}PucchMultiCsiCfg;
+
+typedef struct pucchDlDataToUlAck
+{
+ uint8_t dlDataToUlAckListCount;
+ uint8_t dlDataToUlAckList[MAX_NUM_DL_DATA_TO_UL_ACK];
+}PucchDlDataToUlAck;
+
+typedef struct pucchPowerControl
+{
+ int deltaF_Format0;
+ int deltaF_Format1;
+ int deltaF_Format2;
+ int deltaF_Format3;
+ int deltaF_Format4;
+ uint8_t p0SetCount;
+ P0PucchCfg p0Set[MAX_NUM_PUCCH_P0_PER_SET];
+ uint8_t pathLossRefRSListCount;
+ PathLossRefRSCfg pathLossRefRSList[MAX_NUM_PATH_LOSS_REF_RS];
+}PucchPowerControl;
+
typedef struct pucchCfg
{
- /* TODO : Not used currently */
+ PucchResrcSetCfg *resrcSet;
+ PucchResrcCfg *resrc;
+ PucchFormatCfg *format1;
+ PucchFormatCfg *format2;
+ PucchFormatCfg *format3;
+ PucchFormatCfg *format4;
+ PucchSchedReqCfg *schedReq;
+ PucchMultiCsiCfg *multiCsiCfg;
+ PucchSpatialCfg *spatialInfo;
+ PucchDlDataToUlAck *dlDataToUlAck;
+ PucchPowerControl *powerControl;
}PucchCfg;
/* Transform precoding disabled */
TransPrecodDisabled transPrecodDisabled; /* Transform precoding disabled */
}DmrsUlCfg;
-/* PUSCH Time Domain Resource Allocation */
-typedef struct puschTimeDomRsrcAlloc
-{
- uint8_t k2;
- CommonMappingType mappingType;
- uint8_t startSymbol;
- uint8_t symbolLength;
- uint8_t startSymbolAndLength;
-}PuschTimeDomRsrcAlloc;
-
/* PUSCH Configuration */
typedef struct puschCfg
{
typedef struct ambrCfg
{
uint32_t ulBr; /* UL Bit rate */
- uint32_t dlBr; /* DL Bit rate */
}AmbrCfg;
-/* Single Network Slice Selection assistance Info */
-typedef struct snssai
-{
- uint8_t sst; /* Slice Type */
- uint8_t sd[SD_SIZE]; /* Slice Differentiator */
-}Snssai;
-
typedef struct nonDynFiveQi
{
uint16_t fiveQi;
DlLcCfg dlLcCfg;
}LcCfg;
+typedef struct modulationInfo
+{
+ uint8_t modOrder; /* Modulation order */
+ uint8_t mcsIndex; /* MCS Index */
+ McsTable mcsTable; /* MCS table */
+}ModulationInfo;
+
typedef struct macUeCfg
{
uint16_t cellId;
- uint8_t ueIdx;
+ uint8_t ueId;
uint16_t crnti;
+ bool macCellGrpCfgPres;
MacCellGrpCfg macCellGrpCfg;
+ bool phyCellGrpCfgPres;
PhyCellGrpCfg phyCellGrpCfg;
+ bool spCellCfgPres;
SpCellCfg spCellCfg;
AmbrCfg *ambrCfg;
+ ModulationInfo dlModInfo; /* DL modulation info */
+ ModulationInfo ulModInfo; /* UL modulation info */
uint8_t numLcs;
LcCfg lcCfgList[MAX_NUM_LC];
- UeCfgState macUeCfgState; /* InActive / Completed */
+ UeCfgState macUeCfgState; /* InActive / Completed */
}MacUeCfg;
typedef struct nrcgi
typedef struct ueCfgRsp
{
uint16_t cellId;
- uint16_t ueIdx;
+ uint16_t ueId;
MacRsp result;
uint8_t numSRBFailed; /* valid values : 0 to MAX_NUM_SRB */
SRBFailInfo *failedSRBlisti;
SCellFailInfo *failedSCellList;
}MacUeCfgRsp;
+typedef struct ueDelete
+{
+ uint16_t cellId;
+ uint8_t ueId;
+ uint16_t crnti;
+}MacUeDelete;
+
+typedef struct ueDeleteRsp
+{
+ uint16_t cellId;
+ uint8_t ueId;
+ UeDeleteStatus result;
+}MacUeDeleteRsp;
+
+typedef struct macCellDelete
+{
+ uint16_t cellId;
+}MacCellDelete;
+
+typedef struct macCellDeleteRsp
+{
+ uint16_t cellId;
+ CellDeleteStatus result;
+}MacCellDeleteRsp;
+
+typedef struct macSliceRsp
+{
+ Snssai snssai;
+ MacRsp rsp;
+ RspReason cause;
+}MacSliceRsp;
+
+typedef struct rrmPolicyRatio
+{
+ uint8_t policyMaxRatio;
+ uint8_t policyMinRatio;
+ uint8_t policyDedicatedRatio;
+}RrmPolicyRatio;
+
+typedef struct macSliceRrmPolicy
+{
+ Snssai snssai;
+ RrmPolicyRatio *rrmPolicyRatio;
+}MacSliceRrmPolicy;
+
+typedef struct macSliceCfgReq
+{
+ uint8_t numOfConfiguredSlice;
+ MacSliceRrmPolicy **listOfSliceCfg;
+}MacSliceCfgReq;
+
+typedef struct macSliceCfgRsp
+{
+ uint8_t numSliceCfgRsp;
+ MacSliceRsp **listOfSliceCfgRsp;
+}MacSliceCfgRsp;
+
/* Functions for slot Ind from MAC to DU APP*/
-typedef uint8_t (*DuMacSlotInd) ARGS((
+typedef uint8_t (*DuMacCellUpInd) ARGS((
Pst *pst,
- SlotIndInfo *slotInfo ));
+ OduCellId *cellId ));
/* Functions for stop Ind from MAC to DU APP*/
typedef uint8_t (*DuMacStopInd) ARGS((
- Pst *pst,
- MacCellStopInfo *cellId ));
+ Pst *pst,
+ OduCellId *cellId ));
/* Functions for mac cell start req */
-typedef uint8_t (*DuMacCellStartReq) ARGS((
- Pst *pst,
- MacCellStartInfo *cellStartInfo ));
+typedef uint8_t (*DuMacCellStart) ARGS((
+ Pst *pst,
+ OduCellId *cellId));
/* Functions for mac cell stop request */
-typedef uint8_t (*DuMacCellStopReq) ARGS((
- Pst *pst,
- MacCellStopInfo *cellStopInfo ));
+typedef uint8_t (*DuMacCellStop) ARGS((
+ Pst *pst,
+ OduCellId *cellId ));
/* Function pointers for packing macCellCfg Request and Confirm */
typedef uint8_t (*packMacCellCfgReq) ARGS((
Pst *pst,
MacUeCfg *ueCfg ));
-uint8_t packMacSlotInd(Pst *pst, SlotIndInfo *slotInfo );
-uint8_t unpackMacSlotInd(DuMacSlotInd func, Pst *pst, Buffer *mBuf);
-uint8_t duHandleSlotInd(Pst *pst, SlotIndInfo *slotInfo);
-uint8_t packMacCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo);
-uint8_t unpackMacCellStartReq(DuMacCellStartReq func, Pst *pst, Buffer *mBuf);
-uint8_t MacProcCellStartReq(Pst *pst, MacCellStartInfo *cellStartInfo);
-uint8_t packMacCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo);
-uint8_t unpackMacCellStopReq(DuMacCellStopReq func, Pst *pst, Buffer *mBuf);
-uint8_t MacProcCellStopReq(Pst *pst, MacCellStopInfo *cellStopInfo);
+/* UE Delete Request from DU APP to MAC*/
+typedef uint8_t (*DuMacUeDeleteReq) ARGS((
+ Pst *pst,
+ MacUeDelete *ueDel ));
+
+/* UE Delete Response from MAC to DU APP*/
+typedef uint8_t (*MacDuUeDeleteRspFunc) ARGS((
+ Pst *pst,
+ MacUeDeleteRsp *deleteRsp));
+
+/* Cell Delete Request from DU APP to MAC*/
+typedef uint8_t (*DuMacCellDeleteReq) ARGS((
+ Pst *pst,
+ MacCellDelete *cellDelete ));
+
+/* Cell Delete Response from MAC to DU APP*/
+typedef uint8_t (*MacDuCellDeleteRspFunc) ARGS((
+ Pst *pst,
+ MacCellDeleteRsp *cellDeleteRsp));
+
+/* Slice Cfg Request from DU APP to MAC*/
+typedef uint8_t (*DuMacSliceCfgReq) ARGS((
+ Pst *pst,
+ MacSliceCfgReq *CfgReq));
+
+/* Slice Cfg Response from MAC to DU APP */
+typedef uint8_t (*MacDuSliceCfgRspFunc) ARGS((
+ Pst *pst,
+ MacSliceCfgRsp *cfgRsp));
+
+/* Slice ReReCfg Request from DU APP to MAC*/
+typedef uint8_t (*DuMacSliceRecfgReq) ARGS((
+ Pst *pst,
+ MacSliceCfgReq *CfgReq));
+
+/* Slice ReReCfg Response from MAC to DU APP */
+typedef uint8_t (*MacDuSliceReCfgRspFunc) ARGS((
+ Pst *pst,
+ MacSliceCfgRsp *cfgRsp));
+
+
+uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId);
+uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf);
+uint8_t duHandleCellUpInd(Pst *pst, OduCellId *cellId);
+uint8_t packMacCellStart(Pst *pst, OduCellId *cellId);
+uint8_t unpackMacCellStart(DuMacCellStart func, Pst *pst, Buffer *mBuf);
+uint8_t MacProcCellStart(Pst *pst, OduCellId *cellId);
+uint8_t packMacCellStop(Pst *pst, OduCellId *cellId);
+uint8_t unpackMacCellStop(DuMacCellStop func, Pst *pst, Buffer *mBuf);
+uint8_t MacProcCellStop(Pst *pst, OduCellId *cellId);
uint8_t packMacCellCfg(Pst *pst, MacCellCfg *macCellCfg);
uint8_t unpackDuMacCellCfg(DuMacCellCfgReq func, Pst *pst, Buffer *mBuf);
uint8_t MacProcCellCfgReq(Pst *pst, MacCellCfg *macCellCfg);
uint8_t packMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
uint8_t unpackMacCellCfgCfm(DuMacCellCfgCfm func, Pst *pst, Buffer *mBuf);
uint8_t duHandleMacCellCfgCfm(Pst *pst, MacCellCfgCfm *macCellCfgCfm);
-uint8_t packMacStopInd(Pst *pst, MacCellStopInfo *cellId);
+uint8_t packMacStopInd(Pst *pst, OduCellId *cellId);
uint8_t unpackMacStopInd(DuMacStopInd func, Pst *pst, Buffer *mBuf);
-uint8_t duHandleStopInd(Pst *pst, MacCellStopInfo *cellId);
+uint8_t duHandleStopInd(Pst *pst, OduCellId *cellId);
uint8_t packMacUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo);
uint8_t unpackMacUlCcchInd(DuMacUlCcchInd func, Pst *pst, Buffer *mBuf);
uint8_t duHandleUlCcchInd(Pst *pst, UlCcchIndInfo *ulCcchIndInfo);
uint8_t packDuMacUeReconfigReq(Pst *pst, MacUeCfg *ueCfg);
uint8_t unpackMacUeReconfigReq(DuMacUeReconfigReq func, Pst *pst, Buffer *mBuf);
uint8_t MacProcUeReconfigReq(Pst *pst, MacUeCfg *ueCfg);
+uint8_t packDuMacUeDeleteReq(Pst *pst, MacUeDelete *ueDelete);
+uint8_t MacProcUeDeleteReq(Pst *pst, MacUeDelete *ueDelete);
+uint8_t unpackMacUeDeleteReq(DuMacUeDeleteReq func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacUeDeleteRsp(Pst *pst, MacUeDeleteRsp *deleteRsp);
+uint8_t DuProcMacUeDeleteRsp(Pst *pst, MacUeDeleteRsp *deleteRsp);
+uint8_t unpackDuMacUeDeleteRsp(MacDuUeDeleteRspFunc func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacCellDeleteReq(Pst *pst, MacCellDelete *cellDelete);
+uint8_t MacProcCellDeleteReq(Pst *pst, MacCellDelete *cellDelete);
+uint8_t unpackMacCellDeleteReq(DuMacCellDeleteReq func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *cellDeleteRsp);
+uint8_t DuProcMacCellDeleteRsp(Pst *pst, MacCellDeleteRsp *cellDeleteRsp);
+uint8_t unpackDuMacCellDeleteRsp(MacDuCellDeleteRspFunc func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacSliceCfgReq(Pst *pst, MacSliceCfgReq *sliceCfgReq);
+uint8_t MacProcSliceCfgReq(Pst *pst, MacSliceCfgReq *sliceCfgReq);
+uint8_t unpackMacSliceCfgReq(DuMacSliceCfgReq func, Pst *pst, Buffer *mBuf);
+uint8_t DuProcMacSliceCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
+uint8_t packDuMacSliceCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
+uint8_t unpackDuMacSliceCfgRsp(MacDuSliceCfgRspFunc func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacSliceRecfgReq(Pst *pst, MacSliceCfgReq *sliceReCfgReq);
+uint8_t MacProcSliceReCfgReq(Pst *pst, MacSliceCfgReq *sliceReCfgReq);
+uint8_t unpackMacSliceReCfgReq(DuMacSliceRecfgReq func, Pst *pst, Buffer *mBuf);
+uint8_t DuProcMacSliceReCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
+uint8_t packDuMacSliceReCfgRsp(Pst *pst, MacSliceCfgRsp *cfgRsp);
+uint8_t unpackDuMacSliceReCfgRsp(MacDuSliceReCfgRspFunc func, Pst *pst, Buffer *mBuf);
#endif
+
/**********************************************************************
End of file
**********************************************************************/