X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2Fcm%2Fpju.x;fp=src%2Fcm%2Fpju.x;h=0000000000000000000000000000000000000000;hb=829bbd114f1c3dc00c1da47bca0a8207c049df3f;hp=5808d5bc41aa69092bf90b8d5c46251880220526;hpb=9ffd4692faec97b8457ef0428549b7bfa7a6bb82;p=o-du%2Fl2.git diff --git a/src/cm/pju.x b/src/cm/pju.x deleted file mode 100755 index 5808d5bc4..000000000 --- a/src/cm/pju.x +++ /dev/null @@ -1,787 +0,0 @@ -/******************************************************************************* -################################################################################ -# 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 Interface - - Type: C include file - - Desc: This file contains the Data structures for LTE PDCP Interface. - - File: pju.x - -*********************************************************************21*/ -#ifndef __PJU_X__ -#define __PJU_X__ - -#ifdef __cplusplus -EXTERN "C" { -#endif /*for extern "C"*/ - -/** - * @file - * @brief PJU Interface File - */ - -/************************************************************************* - * START OF STRUCTURES - ************************************************************************/ -typedef U32 PjuSduId; /*!< SDU ID */ -typedef U32 PjuSduLen; /*!< Length of SDU in bytes */ - -/** - * @brief Data Confirmation Status parameters. -*/ - -typedef struct pjuDatCfmSta -{ - PjuSduId sduId; /*!< SDU ID for AM */ - U8 status; /*!< Status, Value can be - - -# PJU_DAT_CFM_SUCCESS, - -# PJU_RLC_TRANS_FAIL, - -# PJU_DISCARD_TMR_EXP */ -}PjuDatCfmSta; - -/** - * @brief Data Confirmation parameters -*/ - -typedef struct pjuDatCfmInfo -{ - U16 numSdus; /*!< Number of SDUs for which cfm is sent */ - PjuDatCfmSta cfmSta[PJU_MAX_SDU_CFM]; /*!< Data Confirm Status */ -}PjuDatCfmInfo; - -/** - * @brief Status Indication parameters -*/ -typedef struct pjuStaIndInfo -{ - U8 cause; /*!< Error cause */ -}PjuStaIndInfo; - -/** - * @brief Data Forward Information -*/ -typedef struct pjuDatFwdInfo -{ - PjuSduId sduId; /*!< SDU ID */ - U16 sn; /*!< SN associated with the SDU */ - Buffer *sdu; /*!< Forwarded SDU sent / received during - handover */ -}PjuDatFwdInfo; - -/** - * @brief Data Forward Request parameters for PDCP - entity mapped to RLC AM -*/ - -typedef struct pjuDatFwdReqInfo -{ - U8 dir; /*!< Data forwarded for - UL/DL PDCP entity */ - U16 numSdus; /*!< Number of SDUs in DatFwdReq */ - PjuDatFwdInfo *datFwdInfo; /*!< Data Forward Information */ - Bool isLastDatFwdInd; /*!< Last Data Foward Indication */ -}PjuDatFwdReqInfo; - -/** - * @brief Data Forward Indication parameters for PDCP - entity mapped to RLC AM -*/ -typedef PjuDatFwdReqInfo PjuDatFwdIndInfo; -typedef struct pjuDatReqInfo -{ - SpId spId; - CmLtePdcpId pdcpId; - PjuSduId sduId; -}PjuDatReqInfo; -typedef struct pjuDatIndInfo -{ - SuId suId; - CmLtePdcpId pdcpId; -}PjuDatIndInfo; -/************************************************************************* - * END OF STRUCTURES - ************************************************************************/ - -/****************************************************************************** - * Prototypes for the selector matrices * - ******************************************************************************/ - - -typedef S16 (*PjuBndReq) ARGS(( - Pst *, - SuId, - SpId - )); - -typedef S16 (*PjuBndCfm) ARGS(( - Pst *, - SuId, - U8 - )); - -typedef S16 (*PjuUbndReq) ARGS(( - Pst *, - SpId, - Reason - )); - -typedef S16 (*PjuDatReq) ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuSduId, - Buffer * - )); - -#ifdef FLAT_BUFFER_OPT -typedef S16 (*PjuDatReqFB) ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuSduId, - FlatBuffer * - )); -#endif - - -typedef S16 (*PjuDatCfm) ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - PjuDatCfmInfo * - )); - -typedef S16 (*PjuDatInd) ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - Buffer * - )); - -typedef S16 (*PjuStaInd) ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - PjuStaIndInfo *, - Buffer * - )); - -typedef S16 (*PjuDatFwdReq) ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuDatFwdReqInfo * - )); - -typedef S16 (*PjuDatFwdInd) ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - PjuDatFwdIndInfo * - )); - -/* pju_x_001.main_2 */ -/************************************************************************* - * Start of Extern Interface Declarations - ************************************************************************/ -/** - * @brief Bind request primitive - * @details - * The function binds the PDCP service user entity to the PDCP product. - * The PDCP service user must bind each PJU SAP individually before sending - * any other request. PDCP acknowledges the receipt of the bind request by - * sending a @ref PjUiPjuBndCfm primitive. - * - * @param[in] pst - Pointer to the pst structure. - * @param[in] suId - Service user ID. This is the reference number used by the - * PDCP service user to identify its SAP. This reference number is - * provided by PDCP in any further primitives sent by PDCP to the service user. - * @param[in] spId - Service provider ID. This is the reference number - * used by the PDCP service user (Relay) to identify its SAP. This reference number - * is provided by PDCP in any further primitives sent by the PDCP - * to the service user. - * - * @return ROK - */ -EXTERN S16 PjUiPjuBndReq ARGS(( Pst* , SuId , SpId)); - -/** - * @brief Bind confirm primitive - * @details - * PDCP invokes the bind confirm primitive to acknowledge the receipt - * of the @ref PjUiPjuBndReq primitive from the service user. The status - * field indicates whether the bind request succeeded or failed. The bind - * request may fail due to invalid parameters in the bind request from the - * service user (for example, an invalid spId). - * - * @param[in] pst - Pointer to the pst structure. - * @param[in] suId - Service user ID. This is the reference number used - * by the PDCP service user (Relay or RRC layer) to identify its SAP. - * @param[in] status - Status field indicates whether the bind request - * succeeded or failed. - * -# TRUE, if successful bind. - * -# FALSE, otherwise. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuBndCfm ARGS(( Pst*, SuId, U8)); - -/** - * @brief Unbind request primitive - * @details - * The PDCP service user initiates this primitive for performing an unbind - * operation. This function brings the link between PDCP and its service user - * down if it is already up, and releases all the resources associated for - * this SAP at PDCP. - * - * @param[in] pst - Pointer to pst structure. - * @param[in] spId - Service provider ID. This is the reference number - * used by the PDCP service user (Relay) to identify its SAP. This reference number - * is provided by the PDCP in any further primitives sent by the PDCP - * to the service user. - * @param[in] reason - Unbind reason. Not used in the current implementation. - * - * @return ROK - */ -EXTERN S16 PjUiPjuUbndReq ARGS(( Pst*, SpId, Reason)); - -/** - * @brief Data request primitive - * @details - * This primitive is used by the PDCP service user to request the PDCP - * for data transfer. - * - * @param[in] pst - Pointer to pst structure. - * @param[in] spId - Service provider ID. This is the reference number - * used by the PDCP service user (Relay) to identify its SAP. This reference number - * is provided by the PDCP in any further primitives sent by the PDCP - * to the service user. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to - * uniquely identify a PDCP entity. - * @param[in] sduId - SDU ID. - * @param[in] mBuf - Pointer to data buffer. - * - * @return ROK - */ -EXTERN S16 PjUiPjuDatReq ARGS(( Pst*, SpId, CmLtePdcpId *, PjuSduId, Buffer*)); -#ifdef FLAT_BUFFER_OPT -EXTERN S16 PjUiPjuDatReqFB ARGS(( Pst*, SpId, CmLtePdcpId *, PjuSduId, FlatBuffer*)); -#endif - -/** - * @brief Data confirm primitive - * @details - * This primitive is sent to the PDCP user to acknowledge the status of the SDU delivered - * to the lower layer. Its applicable only for PDCP entities mapped with RLC AM. - * - * @param[in] pst - Pointer to pst structure. - * @param[in] suId - Service user ID. This is the reference number used by the PDCP - user to identify its SAP. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to - uniquely identify a PDCP entity. - * @param[in] datCfm - Pointer to data confirm structure. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuDatCfm ARGS((Pst*, SuId, CmLtePdcpId *, PjuDatCfmInfo *)); - -/** - * @brief Data indication primitive - * @details - * This primitive is used to send the data received from the lower layer - * to the service user. - * - * @param[in] pst - Pointer to pst structure. - * @param[in] suId - Service user ID. This is the reference number used - * by the PDCP user to identify its SAP. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used - * to uniquely identify a PDCP entity. - * @param[in] mBuf - Pointer to data buffer. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuDatInd ARGS((Pst*, SuId, CmLtePdcpId *, Buffer*)); - -/** - * @brief Status indication primitive - * @details - * This primitive is used by the PDCP to indicate to the PDCP service user about - * the arrival of invalid PDUs (integrity protection or ciphering failed). - * - * @param[in] pst - Pointer to pst structure. - * @param[in] suId - Service user ID. This is the reference number used - * by the PDCP user to identify its SAP. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to - * uniquely identify a PDCP entity. - * @param[in] staInd - Pointer to status indication structure. - * @param[in] mBuf - PDU for which integrity protection failed. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuStaInd ARGS((Pst*, SuId, CmLtePdcpId *, PjuStaIndInfo *, Buffer *)); - - -/** - * @brief Data Forward Request primitive - * @details - * This primitive is used by PDCP user to forward the SDUs along with its SN - * as part of handover (SDUs forwarded from PDCP on source eNB through X2-U - * interface to the PDCP on target eNB). - * - * @param[in] pst - Pointer to pst structure. - * @param[in] spId - Service provider ID. This is the reference number - * used by PDCP service user (Relay) to identify its SAP. This reference number - * is provided by PDCP in any further primitives sent by PDCP - * to the service user. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to - * uniquely identify a PDCP entity. - * @param[in] datFwdReq - Pointer to data forward information structure. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuDatFwdReq ARGS((Pst*, SpId, CmLtePdcpId *, PjuDatFwdReqInfo *)); - - -/** - * @brief Data Forward Indication primitive - * @details - * This primitive is used by PDCP to forward the SDUs along with its SN - * as part of handover (SDUs forwarded from PDCP on source eNB through X2-U - * interface to the PDCP on target eNB). - * - * @param[in] pst - Pointer to pst structure. - * @param[in] suId - Service user ID. This is the reference number used - * by the PDCP user to identify its SAP. - * @param[in] pdcpId - Pointer to CmLtePdcpId structure, PDCP ID is used to - * uniquely identify a PDCP entity. - * @param[in] datFwdInd - Pointer to data forward information structure. - * - * @return ROK. - */ -EXTERN S16 PjUiPjuDatFwdInd ARGS((Pst*, SuId, CmLtePdcpId *, PjuDatFwdIndInfo *)); - - -/************************************************************************* - * End of Extern Interface Declarations - ************************************************************************/ - -#ifdef DM -EXTERN S16 DmUiPjuBndReq ARGS(( - Pst*, - SuId, - SpId - )); - -EXTERN S16 DmUiPjuUbndReq ARGS(( - Pst*, - SpId, - Reason - )); - - -EXTERN S16 DmUiPjuBndCfm ARGS(( - Pst*, - SuId, - U8 - )); - -EXTERN S16 DmUiPjuDatReq ARGS(( - Pst*, - SpId, - CmLtePdcpId *, - PjuSduId , - Buffer* - )); - -EXTERN S16 DmUiPjuDatInd ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - Buffer* - )); - -EXTERN S16 DmUiPjuDatCfm ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - PjuDatCfmInfo * - )); - -EXTERN S16 DmUiPjuStaInd ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - PjuStaIndInfo * - )); - -EXTERN S16 DmUiPjuDatFwdReq ARGS(( - Pst*, - SpId, - CmLtePdcpId *, - PjuDatFwdReqInfo * - )); - -EXTERN S16 DmUiPjuDatFwdInd ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - PjuDatFwdIndInfo * - )); -#endif /* DM */ - -/****************************************************************************** -* Prototypes for LTE-PDCP layer * -******************************************************************************/ - -#ifdef PX /* for LTE PDCP to PX (Relay) */ - -EXTERN S16 PxLiPjuBndReq ARGS(( - Pst *, - SuId, - SpId - )); - -EXTERN S16 PxLiPjuUbndReq ARGS(( - Pst *, - SuId, - Reason - )); - -EXTERN S16 PxLiPjuDatReq ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuSduId, - Buffer * - )); - -EXTERN S16 PxLiPjuBndCfm ARGS(( - Pst *, - SuId, - U8 - )); - -EXTERN S16 PxLiPjuDatInd ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - Buffer * - )); - -EXTERN S16 PxLiPjuDatCfm ARGS(( - Pst *, - SuId , - CmLtePdcpId *, - PjuDatCfmInfo * - )); - -EXTERN S16 PxLiPjuStaInd ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - PjuStaIndInfo * , - Buffer * - )); - -EXTERN S16 PxLiPjuDatFwdReq ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuDatFwdReqInfo * - )); - - -EXTERN S16 PxLiPjuDatFwdInd ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - PjuDatFwdIndInfo * - )); - -#endif /* PX */ - -#ifdef NH /* for LTE RLC to NH */ - -EXTERN S16 NhLiPjuBndReq ARGS(( - Pst *, - SuId, - SpId - )); - -EXTERN S16 NhLiPjuUbndReq ARGS(( - Pst *, - SuId, - Reason - )); - -EXTERN S16 NhLiPjuDatReq ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuSduId, - Buffer * - )); - -EXTERN S16 NhLiPjuBndCfm ARGS(( - Pst *, - SuId, - U8 - )); - -EXTERN S16 NhLiPjuDatInd ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - Buffer * - )); - -EXTERN S16 NhLiPjuDatCfm ARGS(( - Pst *, - SuId , - CmLtePdcpId *, - PjuDatCfmInfo * - )); - -EXTERN S16 NhLiPjuStaInd ARGS(( - Pst*, - SuId, - CmLtePdcpId *, - PjuStaIndInfo * , - Buffer * - )); - -EXTERN S16 NhLiPjuDatFwdReq ARGS(( - Pst *, - SpId, - CmLtePdcpId *, - PjuDatFwdReqInfo * - )); - - -EXTERN S16 NhLiPjuDatFwdInd ARGS(( - Pst *, - SuId, - CmLtePdcpId *, - PjuDatFwdIndInfo * - )); - -#endif /* NH */ - -/****************************************************************************** - * pack/unpack functions * - ******************************************************************************/ - -#ifdef LCPJU - -EXTERN S16 cmPkPjuBndReq ARGS(( -Pst* pst, -SpId suId, -SuId spId -)); -EXTERN S16 cmUnpkPjuBndReq ARGS(( -PjuBndReq func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuBndCfm ARGS(( -Pst* pst, -SuId suId, -U8 status -)); -EXTERN S16 cmUnpkPjuBndCfm ARGS(( -PjuBndCfm func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuUbndReq ARGS(( -Pst* pst, -SpId spId, -Reason reason -)); -EXTERN S16 cmUnpkPjuUbndReq ARGS(( -PjuUbndReq func, -Pst *pst, -Buffer *mBuf -)); -#ifdef SS_RBUF -EXTERN S16 cmPkFpPjuDatReq ARGS(( -Pst* pst, -SpId spId, -CmLtePdcpId * pdcpId, -PjuSduId sduId, -Buffer * mBuf -)); -#endif -EXTERN S16 cmPkPjuDatReq ARGS(( -Pst* pst, -SpId spId, -CmLtePdcpId * pdcpId, -PjuSduId sduId, -Buffer * mBuf -)); -#ifdef FLAT_BUFFER_OPT -EXTERN S16 cmPkPjuDatReqFB ARGS(( -Pst* pst, -SpId spId, -CmLtePdcpId * pdcpId, -PjuSduId sduId, -FlatBuffer * mBuf -)); -#endif - -#ifdef SS_RBUF -EXTERN S16 cmUnpkFpPjuDatReq ARGS(( -PjuDatReq func, -Pst *pst, -Buffer *mBuf -)); -#endif -EXTERN S16 cmUnpkPjuDatReq ARGS(( -PjuDatReq func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatCfm ARGS(( -Pst* pst, -SuId suId, -CmLtePdcpId * pdcpId, -PjuDatCfmInfo * datCfm -)); -EXTERN S16 cmUnpkPjuDatCfm ARGS(( -PjuDatCfm func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatInd ARGS(( -Pst* pst, -SuId suId, -CmLtePdcpId * pdcpId, -Buffer * mBuf -)); -EXTERN S16 cmUnpkPjuDatInd ARGS(( -PjuDatInd func, -Pst *pst, -Buffer *mBuf -)); - -#ifdef SS_RBUF -EXTERN S16 cmPkFpPjuDatInd ARGS(( -Pst* pst, -SuId suId, -CmLtePdcpId * pdcpId, -Buffer * mBuf -)); - -EXTERN S16 cmUnpkFpPjuDatInd ARGS(( -PjuDatInd func, -Pst *pst, -Buffer *mBuf -)); -#endif - -EXTERN S16 cmPkPjuStaInd ARGS(( -Pst* pst, -SuId suId, -CmLtePdcpId * pdcpId, -PjuStaIndInfo * staInd, -Buffer *buff -)); -EXTERN S16 cmUnpkPjuStaInd ARGS(( -PjuStaInd func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatFwdReq ARGS(( -Pst* pst, -SpId spId, -CmLtePdcpId * pdcpId, -PjuDatFwdReqInfo * datFwdReq -)); -EXTERN S16 cmUnpkPjuDatFwdReq ARGS(( -PjuDatFwdReq func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatFwdInd ARGS(( -Pst* pst, -SuId suId, -CmLtePdcpId * pdcpId, -PjuDatFwdIndInfo * datFwdInd -)); -EXTERN S16 cmUnpkPjuDatFwdInd ARGS(( -PjuDatFwdInd func, -Pst *pst, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatCfmInfoSta ARGS(( -PjuDatCfmSta *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkPjuDatCfmInfoSta ARGS(( -PjuDatCfmSta *param, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatCfmInfo ARGS(( -PjuDatCfmInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkPjuDatCfmInfo ARGS(( -PjuDatCfmInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuStaIndInfo ARGS(( -PjuStaIndInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkPjuStaIndInfo ARGS(( -PjuStaIndInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatFwdReqInfo ARGS(( -PjuDatFwdReqInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkPjuDatFwdReqInfo ARGS(( -Pst *pst, -PjuDatFwdReqInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmPkPjuDatFwdInfo ARGS(( -PjuDatFwdInfo *param, -Buffer *mBuf -)); -EXTERN S16 cmUnpkPjuDatFwdInfo ARGS(( -PjuDatFwdInfo *param, -Buffer *mBuf -)); - -#endif - -#ifdef __cplusplus -} -#endif /* __cplusplus */ -#endif /* __PJU_X__ */ -/********************************************************************30** - - End of file -**********************************************************************/