X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrpdcp%2Fpj_dl.x;fp=src%2F5gnrpdcp%2Fpj_dl.x;h=6bb5a9ab64de093a9b2bb5442b5426ca4d4ea90e;hb=9ffd4692faec97b8457ef0428549b7bfa7a6bb82;hp=0000000000000000000000000000000000000000;hpb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;p=o-du%2Fl2.git diff --git a/src/5gnrpdcp/pj_dl.x b/src/5gnrpdcp/pj_dl.x new file mode 100755 index 000000000..6bb5a9ab6 --- /dev/null +++ b/src/5gnrpdcp/pj_dl.x @@ -0,0 +1,792 @@ +/******************************************************************************* +################################################################################ +# 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; /*!