#define MAX_SFN_VALUE 1023
#define NR_PCI 1
#define SLOT_DELAY 3
+#define NUM_DRB_TO_PUMP_DATA 3
+#define NUM_UL_PACKETS 1
+/*UE Ids for RACH IND*/
+#define UE_IDX_0 0
+#define UE_IDX_1 1
+#define UE_IDX_2 2
bool slotIndicationStarted;
uint16_t sfnValue;
uint16_t slotValue;
-bool rachIndSent;
-bool msg3Sent;
-bool msg5ShortBsrSent;
-bool msg5Sent;
-bool dlDedMsg;
-bool msgSecurityModeComp;
-bool msgRrcReconfiguration;
-bool msgRegistrationComp;
+
+/*Mapping between LCG ID and BSR Idx*/
+typedef struct lcgBufferSize
+{
+ uint8_t lcgId; /*LCG ID for which BSR will be requested*/
+ /*BufferStatus Index. This is as per Spec 38.321, BSR will be reported as Index
+ * Refer table Table 6.1.3.1-1:Short_BSR and Table 6.1.3.1-2:Long_BSR*/
+ uint8_t bsIdx;
+}LcgBufferSize;
+
+/* UE specific information */
+typedef struct ueCb
+{
+ uint8_t ueId;
+ uint16_t crnti;
+ bool rachIndSent;
+ bool msg3Sent;
+ bool msg5ShortBsrSent;
+ bool msg5Sent;
+ bool dlDedMsg;
+ bool msgSecurityModeComp;
+ bool msgRrcReconfiguration;
+ bool msgRegistrationComp;
+ uint8_t rlcSnForSrb1; /* Sequence number of PDU at RLC for AM mode */
+ uint8_t pdcpSn; /* Sequence number of PDU at PDCP */
+}UeCb;
+
+/* Database to store information for all UE */
+typedef struct ueDb
+{
+ uint8_t numActvUe;
+ UeCb ueCb[MAX_NUM_UE];
+}UeDb;
+
+UeDb ueDb;
typedef enum
{
void l1StartConsoleHandler();
void l1HdlSlotIndicaion(bool);
void GenerateTicks();
+uint8_t l1SendUlUserData(uint8_t drbId, uint8_t ueIdx);
+uint8_t l1SendStatusPdu();
+uint16_t l1BuildAndSendSlotIndication();
+uint16_t l1BuildAndSendStopInd();
/**********************************************************************
End of file