1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
17 *******************************************************************************/
21 #define MAX_SLOT_VALUE 19
23 #define MAX_SLOT_VALUE 9
25 #define MAX_SFN_VALUE 1023
28 #define NUM_DRB_TO_PUMP_DATA 3
29 #define NUM_UL_PACKETS 4
30 /*UE Ids for RACH IND*/
35 bool slotIndicationStarted;
39 /*Mapping between LCG ID and BSR Idx*/
40 typedef struct lcgBufferSize
42 uint8_t lcgId; /*LCG ID for which BSR will be requested*/
43 /*BufferStatus Index. This is as per Spec 38.321, BSR will be reported as Index
44 * Refer table Table 6.1.3.1-1:Short_BSR and Table 6.1.3.1-2:Long_BSR*/
48 /* UE specific information */
55 bool msg5ShortBsrSent;
58 bool msgSecurityModeComp;
59 bool msgRrcReconfiguration;
60 bool msgRegistrationComp;
63 /* Database to store information for all UE */
67 UeCb ueCb[MAX_NUM_UE];
77 MSG_TYPE_SECURITY_MODE_COMPLETE,
78 MSG_TYPE_REGISTRATION_COMPLETE,
79 MSG_TYPE_RRC_RECONFIG_COMPLETE
82 void phyToMac ARGS((uint16_t msgType, uint32_t msgLen,void *msg));
84 void fillTlvs ARGS((fapi_uint16_tlv_t *tlv, uint16_t tag, uint16_t
85 length, uint16_t value, uint32_t *msgLen));
86 void fillMsgHeader ARGS((fapi_msg_t *hdr, uint16_t msgType, uint16_t msgLen));
88 void procPhyMessages(uint16_t msgType, uint32_t msgSize, void *msg);
89 void l1StartConsoleHandler();
90 void l1HdlSlotIndicaion(bool);
92 uint8_t l1SendUlUserData(uint8_t drbId, uint8_t ueIdx);
93 uint8_t l1SendStatusPdu();
94 uint16_t l1BuildAndSendSlotIndication();
95 uint16_t l1BuildAndSendStopInd();
97 /**********************************************************************
99 **********************************************************************/