#define DU_SET_ZERO(_buf, _size) \
memset((_buf), 0, _size);
+#define MAX_PAGING_UE_RECORDS 32
+
typedef enum
{
SLICE_INFO_NOT_AVAILABLE,
{
/*Note: Paging UEID is extracted from 5gSTMSI as per Spec 38.304, Sec 7.1.
*This is not same as DU-UE_F1AP_ID or CU_UE_F1AP_ID*/
- uint16_t ueId; /* UE Identifier from CU*/
+ uint16_t pagUeId; /* UE Identifier from CU*/
/*TODO: When RAN Inititated Paging will be supported then I-RNTI will be
* added as a choice for UE Identity along with S-TMSI*/
uint16_t T; /* T is DRX cycle of the UE */
}DuPagingMsg;
+typedef struct duPagUeRecord
+{
+ uint16_t pagUeId; /*UEID calculated from 5gsTMSI as per Spec 38.304*/
+ uint64_t sTmsi; /*UE Paging Identity: 5GS-TMSI*/
+ uint8_t pagPriority; /* Paging priority */
+}DuPagUeRecord;
+
+typedef struct duPagInfo
+{
+ uint8_t i_s; /*Index of PO*/
+ CmLListCp pagUeList; /*List of UEs to be paged in this Paging Frame/Paging Occ*/
+}DuPagUeList;
+
+typedef struct duPagInfoMap
+{
+ uint16_t pf; /* Paging Frame*/
+ CmLListCp pagInfoList; /* Master List of Paging Identified by PF and i_s*/
+}DuPagInfoList;
+
typedef struct duCellCb
{
uint16_t cellId; /* Internal cell Id */
DuUeCb ueCb[MAX_NUM_UE]; /* Stores UE context */
SlotInfo currSlotInfo;
DuPagingMsg tmpPagingInfoOfUe; /* UE paging information */
+ CmHashListCp pagingInfoMap; /*Paging Map between PF and PagingInfoList*/
}DuCellCb;
typedef struct duLSapCb