/******************************************************************************* ################################################################################ # Copyright (c) [2017-2019] [Radisys] # # # # Licensed under the Apache License, Version 2.0 (the "License"); # # you may not use this file except in compliance with the License. # # You may obtain a copy of the License at # # # # http://www.apache.org/licenses/LICENSE-2.0 # # # # Unless required by applicable law or agreed to in writing, software # # distributed under the License is distributed on an "AS IS" BASIS, # # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # # See the License for the specific language governing permissions and # # limitations under the License. # ################################################################################ *******************************************************************************/ /* This file containes define for RLC-MAC interface */ /* RLC instances */ #define RLC_UL_INST 0 #define RLC_DL_INST 1 /* Event */ #define EVENT_BO_STATUS_TO_MAC 15 #define EVENT_SCHED_RESULT_TO_RLC 16 #define EVENT_DL_DATA_TO_MAC 17 #define EVENT_UL_DATA_TO_RLC 18 /* MACRO defines */ #define MAX_NUM_PDU 16 /* Buffer occupancy status information */ typedef struct rlcBoStatus { uint16_t cellId; /*!< CELL ID */ uint16_t ueIdx; /*!< UE ID */ bool commCh; /*!< Common or Dedicated Channel */ uint8_t lcId; /*!< Logical channel ID */ uint16_t bo; /*!< Buffer occupancy reported by RLC */ }RlcBoStatus; /* Scheduled logical channel info */ typedef struct rlcLcSchInfo { bool commCh; /* Common or dedicated channel */ uint8_t lcId; /*!< Logical channel ID */ uint16_t bufSize; /*!< Total buffer size in bytes scheduled by MAC */ }RlcLcSchInfo; /* Schedule result report */ typedef struct rlcSchedResultRpt { //Slot info uint16_t cellId; /*!< CELL ID */ uint16_t rnti; /*!< Temporary CRNTI */ uint8_t numLc; /*!< Number of logical channels scheduled */ SlotIndInfo slotInfo; /*!< Timing info */ RlcLcSchInfo lcSch[MAX_NUM_LC]; /*!< Scheduled info of logical channels */ }RlcSchedResultRpt; /* DL/UL data transfer */ typedef struct rlcPduInfo { bool commCh; /*!