#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
+#define EVENT_STATISTICS_MODIFY_REQ_TO_SCH 40
+#define EVENT_STATISTICS_MODIFY_RSP_TO_MAC 41
/*macros*/
#define MAX_SSB_IDX 1 /* forcing it as 1 for now. Right value is 64 */
typedef enum
{
- SLOT_PERIODICITY_AND_OFFSET_SL_1 = 1,
- SLOT_PERIODICITY_AND_OFFSET_SL_2,
- SLOT_PERIODICITY_AND_OFFSET_SL_4,
- SLOT_PERIODICITY_AND_OFFSET_SL_5,
- SLOT_PERIODICITY_AND_OFFSET_SL_8,
- SLOT_PERIODICITY_AND_OFFSET_SL_10,
- SLOT_PERIODICITY_AND_OFFSET_SL_16,
- SLOT_PERIODICITY_AND_OFFSET_SL_20,
- SLOT_PERIODICITY_AND_OFFSET_SL_40,
- SLOT_PERIODICITY_AND_OFFSET_SL_80,
- SLOT_PERIODICITY_AND_OFFSET_SL_160,
- SLOT_PERIODICITY_AND_OFFSET_SL_320,
- SLOT_PERIODICITY_AND_OFFSET_SL_640,
- SLOT_PERIODICITY_AND_OFFSET_SL_1280,
- SLOT_PERIODICITY_AND_OFFSET_SL_2560
-}SchMSlotPeriodAndOffset;
+ SLOT_PERIODICITY_SL_1 = 1,
+ SLOT_PERIODICITY_SL_2,
+ SLOT_PERIODICITY_SL_4,
+ SLOT_PERIODICITY_SL_5,
+ SLOT_PERIODICITY_SL_8,
+ SLOT_PERIODICITY_SL_10,
+ SLOT_PERIODICITY_SL_16,
+ SLOT_PERIODICITY_SL_20,
+ SLOT_PERIODICITY_SL_40,
+ SLOT_PERIODICITY_SL_80,
+ SLOT_PERIODICITY_SL_160,
+ SLOT_PERIODICITY_SL_320,
+ SLOT_PERIODICITY_SL_640,
+ SLOT_PERIODICITY_SL_1280,
+ SLOT_PERIODICITY_SL_2560
+}SchMSlotPeriodicity;
typedef enum
{
uint16_t dmrsScramblingId;
}SchControlRsrcSet;
+/*Slot Perioicity and Offset*/
+typedef struct schMSlotPeriodAndOffset
+{
+ SchMSlotPeriodicity mSlotPeriodicity;
+ uint16_t mSlotOffset;
+}SchMSlotPeriodAndOffset;
+
/* Search Space info */
typedef struct schSearchSpace
{
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;
-typedef struct schStatsInfo
+/* Statistics Request from MAC to SCH */
+typedef struct schStatsGrpInfo
{
- SchMeasurementType type;
- uint16_t periodicity; /* In milliseconds */
-}SchStatsInfo;
+ uint8_t groupId;
+ uint16_t periodicity; /* In milliseconds */
+ uint8_t numStats;
+ SchMeasurementType statsList[MAX_NUM_STATS];
+}SchStatsGrpInfo;
typedef struct schStatsReq
{
- uint8_t numStats;
- SchStatsInfo statsList[MAX_NUM_STATS];
+ uint64_t subscriptionId;
+ uint8_t numStatsGroup;
+ SchStatsGrpInfo statsGrpList[MAX_NUM_STATS_GRP];
}SchStatsReq;
-typedef struct schStatsRsp
+typedef struct schStatsReq SchStatsModificationReq;
+typedef struct schStatsRsp SchStatsModificationRsp;
+
+/* Statistics Response from SCH to MAC */
+typedef struct schStatsGrpRejected
{
- SchMacRsp rsp;
+ 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;
-typedef struct schStatsInd
+/* 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;
+ uint8_t numStatsGroupToBeDeleted;
+ uint8_t statsGrpIdToBeDelList[MAX_NUM_STATS_GRP];
+}SchStatsDeleteReq;
+
+typedef struct statsDeleteResult
+{
+ uint8_t groupId;
+ SchMacRsp statsGrpDelRsp;
+ CauseOfResult statsGrpDelCause;
+}StatsDeleteResult;
+
+typedef struct schStatsDeleteRsp
+{
+ uint64_t subscriptionId; /* subscription Id */
+ SchMacRsp subsDelRsp; /* deletion status of all statsGrp with given subscriptionId */
+ CauseOfResult subsDelCause; /* cause of failure in deletion of all statsGrp with given subscriptionId*/
+ uint8_t numStatsGroupDeleted; /* num of action deleted */
+ StatsDeleteResult statsGrpDelInfo[MAX_NUM_STATS_GRP]; /* list of the deletion status for specific actions */
+}SchStatsDeleteRsp;
+
/* function declarations */
uint8_t MacMessageRouter(Pst *pst, void *msg);
uint8_t SchMessageRouter(Pst *pst, void *msg);