#define SCH_TQ_SIZE 10
+/*3GPP 38.331,'frequencyDomainResources' :Number of PRBs per Resource Block Group*/
+#define NUM_PRBS_PER_RBG 6
+
typedef struct schDlHqProcCb SchDlHqProcCb;
typedef struct schUlHqEnt SchUlHqEnt;
typedef struct schRaReq SchRaReq;
typedef struct dlTotalPrbUsage
{
- Inst schInst;
uint16_t numPrbUsedForTx;
uint16_t totalPrbAvailForTx;
- uint16_t periodicity;
- CmTimer periodTimer;
}TotalPrbUsage;
-typedef struct schStatistics
+typedef struct
{
TotalPrbUsage *dlTotalPrbUsage;
TotalPrbUsage *ulTotalPrbUsage;
+}SchKpiSupported;
+
+typedef struct
+{
+ CmLListCp dlTotPrbUseList;
+ CmLListCp ulTotPrbUseList;
+}SchKpiActive;
+
+typedef struct schStatsGrp
+{
+ Inst schInst;
+ uint64_t subscriptionId;
+ uint8_t groupId;
+ uint16_t periodicity; /* In milliseconds */
+ CmTimer periodTimer;
+ SchKpiSupported kpiStats;
+}SchStatsGrp;
+
+typedef struct schStatistics
+{
+ CmLListCp statsGrpList;
+ SchKpiActive activeKpiList;
}SchStatistics;
/**
/* Statistics Function */
uint8_t SchProcStatsReq(Pst *pst, SchStatsReq *statsReq);
-uint8_t SchSendStatsIndToMac(Inst inst, SchMeasurementType measType, double value);
-
+uint8_t SchSendStatsIndToMac(Inst inst, SchStatsInd *statsInd);
+uint8_t schCalcAndSendGrpStats(SchStatsGrp *grpInfo);
+uint8_t SchProcStatsDeleteReq(Pst *pst, SchStatsDeleteReq *statsDeleteReq);
+uint8_t SchProcStatsModificationReq(Pst *pst, SchStatsModificationReq *statsModificationReq);
+void deleteStatsGrpInfo(Inst inst, SchStatsGrp *statsGrpInfo);
/**********************************************************************
End of file
**********************************************************************/