#define EVENT_DL_CQI_TO_SCH 32
#define EVENT_UL_CQI_TO_SCH 33
#define EVENT_PHR_IND_TO_SCH 34
+#define EVENT_STATISTICS_REQ_TO_SCH 35
+#define EVENT_STATISTICS_RSP_TO_MAC 36
+#define EVENT_STATISTICS_IND_TO_MAC 37
+#define EVENT_STATISTICS_DELETE_REQ_TO_SCH 38
+#define EVENT_STATISTICS_DELETE_RSP_TO_MAC 39
+
/*macros*/
#define MAX_SSB_IDX 1 /* forcing it as 1 for now. Right value is 64 */
#define SCH_SSB_MASK_SIZE 1
CQI_PUSCH
}CqiUlReportType;
+/* Performance measurements from 3GPP TS 28.552 Release 15 */
+typedef enum
+{
+ SCH_DL_TOTAL_PRB_USAGE,
+ SCH_UL_TOTAL_PRB_USAGE
+}SchMeasurementType;
+
/*structures*/
typedef struct timeDomainAlloc
{
typedef struct schUeCfgReq
{
uint16_t cellId;
- uint8_t ueId;
uint8_t beamIdx;
uint16_t crnti;
bool macCellGrpCfgPres;
typedef struct schUeRecfgReq
{
uint16_t cellId;
- uint8_t ueId;
uint8_t beamIdx;
uint16_t crnti;
bool macCellGrpRecfgPres;
{
uint16_t cellId;
uint8_t beamIdx;
- uint16_t ueId;
uint16_t crnti;
SchMacRsp rsp;
CauseOfResult cause;
SchUeHqInfo *ueHqInfo;
}SchRlsHqInfo;
+/* Statistics Request from MAC to SCH */
+typedef struct schStatsGrpInfo
+{
+ uint8_t groupId;
+ uint16_t periodicity; /* In milliseconds */
+ uint8_t numStats;
+ SchMeasurementType statsList[MAX_NUM_STATS];
+}SchStatsGrpInfo;
+
+typedef struct schStatsReq
+{
+ uint64_t subscriptionId;
+ uint8_t numStatsGroup;
+ SchStatsGrpInfo statsGrpList[MAX_NUM_STATS_GRP];
+}SchStatsReq;
+
+/* Statistics Response from SCH to MAC */
+typedef struct schStatsGrpRejected
+{
+ uint8_t groupId;
+ CauseOfResult cause;
+}SchStatsGrpRejected;
+
+typedef struct schStatsRsp
+{
+ uint64_t subscriptionId;
+ uint8_t numGrpAccepted;
+ uint8_t statsGrpAcceptedList[MAX_NUM_STATS_GRP];
+ uint8_t numGrpRejected;
+ SchStatsGrpRejected statsGrpRejectedList[MAX_NUM_STATS_GRP];
+}SchStatsRsp;
+
+/* Statistics Indication from SCH to MAC */
+typedef struct schStats
+{
+ SchMeasurementType type;
+ double value;
+}SchStats;
+
+typedef struct schStatsInd
+{
+ uint64_t subscriptionId;
+ uint8_t groupId;
+ uint8_t numStats;
+ SchStats measuredStatsList[MAX_NUM_STATS];
+}SchStatsInd;
+
+typedef struct schStatsDeleteReq
+{
+ uint64_t subscriptionId;
+}SchStatsDeleteReq;
+
+typedef struct schStatsDeleteRsp
+{
+ uint64_t subscriptionId;
+ SchMacRsp rsp;
+ CauseOfResult cause;
+}SchStatsDeleteRsp;
+
/* function declarations */
-uint8_t schActvInit(Ent entity, Inst instId, Region region, Reason reason);
uint8_t MacMessageRouter(Pst *pst, void *msg);
uint8_t SchMessageRouter(Pst *pst, void *msg);