/******************************************************************************* ################################################################################ # 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. # ################################################################################ *******************************************************************************/ /********************************************************************20** Name: LTE PDCP file Type: C include file Desc: This file contains all the data structures and prototypes for LTE PDCP. File: pj_dl.x *********************************************************************21*/ /** @file pj_dl.x @brief PDCP Product Structures, prototypes */ #ifdef TENB_STATS #include "pj_tenb_stats.x" #endif #ifndef __PJ_DL_X__ #define __PJ_DL_X__ /* * The structures and variables declared in this file * correspond to structures and variables used by * the following TRILLIUM software: * * part no. description * -------- ---------------------------------------------- * 1000371 LTE-RLC * */ #ifdef __cplusplus extern "C" { #endif /* __cplusplus */ typedef struct pjDlUeCb PjDlUeCb; typedef struct pjDlRbCb PjDlRbCb; /* PDCP RB control block */ /** @addtogroup dldata */ /*@{*/ /** * @brief * PDCP SDU Status Information for a DRB mapped to RLC AM. */ typedef struct pjDlHoCfmInfo { U8 rbId; /*!< RB ID */ Bool pres; /*!< Is handover info present for this RB */ U8 dir; /*!< Direction of the RB */ U8 res1; U32 count; /*!< Count of the next SN to be assigned */ }PjDlHoCfmInfo; /** * @brief * Handover information maintainned during processing of SduStaReq */ typedef struct pjDlHoInfo { U32 transId; /*!< Transaction ID */ PjDlHoCfmInfo *hoCfmInfo; /*!< SDU Status Confirm */ }PjDlHoInfo; /** @struct PjTxEnt PDCP Tx Entry - SDU received from Relay */ typedef struct pjTxEnt { CmLList lstEnt; /*!< List entry for SDU */ CmLList datCfmEnt; /*!< List entry for SDU */ CmLList sduSubmitEnt; /*!< List entry for SDU */ CmLList reEstPktEnt; /*!< List entry for SDU */ U8 state; /*!< SDU state */ U8 res; /*!< reserved */ PjSn sn; /*!< PDCP SN associated with this SDU */ U32 count; /*!< COUNT associated with this SDU */ Data *ciphDBuf; /*Pointer to flat buffer created for ciphering */ Buffer *pdu; /*!< Pdu Buffer */ Buffer *sdu; /*!< Sdu Buffer */ #ifdef FLAT_BUFFER_OPT FlatBuffer fb; #endif U32 sduId; /*!< SDU ID */ PjDlRbCb *rbCb; MsgLen bufLen; #ifdef LTE_L2_MEAS EpcTime epcTime; /*!< Arrival Time of the SDU for dl delay */ #endif }PjTxEnt; /** @struct PjDlCb PDCP downlink control block */ typedef struct pjDlCb { S16 discTmrInt; /*!< Discard timer Interval */ U32 txNext; /*!