#define EVENT_MAC_UE_SYNC_STATUS_IND 227
#define EVENT_MAC_DL_BROADCAST_REQ 228
#define EVENT_MAC_STATISTICS_REQ 229
+#define EVENT_MAC_STATISTICS_RSP 230
+#define EVENT_MAC_STATISTICS_IND 231
+#define EVENT_MAC_STATS_DELETE_REQ 232
+#define EVENT_MAC_STATS_DELETE_RSP 233
#define BSR_PERIODIC_TIMER_SF_10 10
#define BSR_RETX_TIMER_SF_320 320
typedef struct carrierCfg
{
uint32_t dlBw; /* DL bandwidth */
- uint32_t dlFreq; /* Absolute frequency of DL point A in KHz */
+ uint32_t arfcnDL; /* Absolute frequency Number of DL */
uint32_t ulBw; /* UL bandwidth */
- uint32_t ulFreq; /* Absolute frequency of UL point A in KHz */
+ uint32_t arfcnUL; /* Absolute frequency Number of UL */
uint16_t numTxAnt; /* Number of Tx antennas */
uint16_t numRxAnt; /* Number of Rx antennas */
}CarrierCfg;
SiSchedulingInfo **siSchedulingInfo;
}MacDlBroadcastReq;
-typedef struct macStatsInfo
+typedef struct macStatsGrpInfo
{
- MacMeasurementType type;
- uint16_t periodicity; /* In milliseconds */
-}MacStatsInfo;
+ uint8_t groupId;
+ uint16_t periodicity; /* In milliseconds */
+ uint8_t numStats;
+ MacMeasurementType statsList[MAX_NUM_STATS];
+}MacStatsGrpInfo;
typedef struct macStatsReq
{
- uint8_t numStats;
- MacStatsInfo statsList[MAX_NUM_STATS];
+ uint64_t subscriptionId;
+ uint8_t numStatsGroup;
+ MacStatsGrpInfo statsGrpList[MAX_NUM_STATS_GRP];
}MacStatsReq;
+typedef struct macStatsGrpRejected
+{
+ uint8_t groupId;
+ CauseOfResult cause;
+}MacStatsGrpRejected;
+
+typedef struct macStatsRsp
+{
+ uint64_t subscriptionId;
+ uint8_t numGrpAccepted;
+ uint8_t statsGrpAcceptedList[MAX_NUM_STATS_GRP];
+ uint8_t numGrpRejected;
+ MacStatsGrpRejected statsGrpRejectedList[MAX_NUM_STATS_GRP];
+}MacStatsRsp;
+
+typedef struct macStats
+{
+ MacMeasurementType type;
+ double value;
+}MacStats;
+
+typedef struct macStatsInd
+{
+ uint64_t subscriptionId;
+ uint8_t groupId;
+ uint8_t numStats;
+ MacStats measuredStatsList[MAX_NUM_STATS];
+}MacStatsInd;
+
+typedef struct macStatsDeleteReq
+{
+ uint64_t subscriptionId;
+}MacStatsDeleteReq;
+
+typedef struct macStatsDeleteRsp
+{
+ uint64_t subscriptionId;
+ MacRsp result;
+ CauseOfResult status;
+}MacStatsDeleteRsp;
+
/****************** FUNCTION POINTERS ********************************/
/* DL broadcast req from DU APP to MAC*/
Pst *pst,
MacStatsReq *statsReq));
+/* Statistics Response from MAC to DU APP */
+typedef uint8_t (*MacDuStatsRspFunc) ARGS((
+ Pst *pst,
+ MacStatsRsp *statsRsp));
+
+/* Statistics Ind from MAC to DU APP */
+typedef uint8_t (*MacDuStatsIndFunc) ARGS((
+ Pst *pst,
+ MacStatsInd *statsInd));
+
+/* Statitics Delete Request from DU APP to MAC */
+typedef uint8_t (*DuMacStatsDeleteReqFunc) ARGS((
+ Pst *pst,
+ MacStatsDeleteReq *statsDeleteReq));
+
+/* Statistics Delete Response from MAC to DU APP */
+typedef uint8_t (*MacDuStatsDeleteRspFunc) ARGS((
+ Pst *pst,
+ MacStatsDeleteRsp *statsDeleteRsp));
+
/******************** FUNCTION DECLARATIONS ********************************/
uint8_t packMacCellUpInd(Pst *pst, OduCellId *cellId);
uint8_t unpackMacCellUpInd(DuMacCellUpInd func, Pst *pst, Buffer *mBuf);
uint8_t MacProcStatsReq(Pst *pst, MacStatsReq *statsReq);
uint8_t unpackMacStatsReq(DuMacStatsReqFunc func, Pst *pst, Buffer *mBuf);
+uint8_t packDuMacStatsRsp(Pst *pst, MacStatsRsp *statsRsp);
+uint8_t DuProcMacStatsRsp(Pst *pst, MacStatsRsp *statsRsp);
+uint8_t unpackDuMacStatsRsp(MacDuStatsRspFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsInd(Pst *pst, MacStatsInd *statsRsp);
+uint8_t DuProcMacStatsInd(Pst *pst, MacStatsInd *statsRsp);
+uint8_t unpackDuMacStatsInd(MacDuStatsIndFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsDeleteReq(Pst *pst, MacStatsDeleteReq *statsDeleteReq);
+uint8_t MacProcStatsDeleteReq(Pst *pst, MacStatsDeleteReq *statsDeleteReq);
+uint8_t unpackMacStatsDeleteReq(DuMacStatsDeleteReqFunc func, Pst *pst, Buffer *mBuf);
+
+uint8_t packDuMacStatsDeleteRsp(Pst *pst, MacStatsDeleteRsp *statsDeleteRsp);
+uint8_t DuProcMacStatsDeleteRsp(Pst *pst, MacStatsDeleteRsp *statsDeleteRsp);
+uint8_t unpackDuMacStatsDeleteRsp(MacDuStatsDeleteRspFunc func, Pst *pst, Buffer *mBuf);
+
#endif