X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=src%2F5gnrpdcp%2Fpj_udx_ptul.c;fp=src%2F5gnrpdcp%2Fpj_udx_ptul.c;h=e46c9211c19c8908d101fcbb5b52b6546b9b088e;hb=9ffd4692faec97b8457ef0428549b7bfa7a6bb82;hp=0000000000000000000000000000000000000000;hpb=5625a52ad68f6ad93684e68bbbdbaef0d462cf9a;p=o-du%2Fl2.git diff --git a/src/5gnrpdcp/pj_udx_ptul.c b/src/5gnrpdcp/pj_udx_ptul.c new file mode 100755 index 000000000..e46c9211c --- /dev/null +++ b/src/5gnrpdcp/pj_udx_ptul.c @@ -0,0 +1,1632 @@ +/******************************************************************************* +################################################################################ +# 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 Layer - Upper Interface + + Type: C file + + Desc: C source code for the upper interface of LTE-PDCP + + File: pj_udx_ptul.c + +*********************************************************************21*/ + +/** @file pj_udx_ptul.c +@brief PDCP Upper Interface +*/ + + +/* header (.h) include files */ +#include "envopt.h" /* environment options */ +#include "envdep.h" /* environment dependent */ +#include "envind.h" /* environment independent */ + +#include "gen.h" /* general */ +#include "ssi.h" /* system services */ +#include "cm5.h" /* common timer defines */ +#include "cm_tkns.h" /* common tokens defines */ +#include "cm_mblk.h" /* common memory allocation library defines */ +#include "cm_llist.h" /* common link list defines */ +#include "cm_hash.h" /* common hash list defines */ +#include "cm_lte.h" /* common LTE defines */ +#include "cpj.h" /* UDX defines */ +#include "pju.h" /* PJU defines */ +#include "lpj.h" +#include "pj_udx.h" + +#include "pj_err.h" +#include "pj_env.h" /* RLC environment options */ + +/* extern (.x) include files */ +#include "gen.x" /* general */ +#include "ssi.x" /* system services */ + +#include "cm5.x" /* common timer library */ +#include "cm_tkns.x" /* common tokens */ +#include "cm_mblk.x" /* common memory allocation */ +#include "cm_llist.x" /* common link list */ +#include "cm_hash.x" /* common hash list */ +#include "cm_lte.x" /* common LTE includes */ +#include "cm_lib.x" /* common memory allocation library */ +#include "cpj.x" /* UDX defines */ +#include "pju.x" /* PJU defines */ +#include "lpj.x" /* LPJ defines */ +#include "pj.h" +#include "pj.x" +#include "pj_udx.x" +#include "pj_ul.x" + + +#if !(defined(LCPJULUDX) && defined(PJ) && defined(LWLCPJULUDX)) +#define PTPJULUDX +#endif + +#ifdef __cplusplus +EXTERN "C" { +#endif /* __cplusplus */ + +#ifdef PTPJULUDX +PRIVATE S16 PtUlUdxBndReq ARGS((Pst *post, SuId suId, SpId spId)); +PRIVATE S16 PtUlUdxUbndReq ARGS((Pst *post, SpId spId, Reason reason)); +PRIVATE S16 PtUlUdxCfgReq ARGS((Pst *post, SpId spId, UdxCfgReqInfo *pdCfgReq)); +PRIVATE S16 PtUlUdxUeIdChgReq ARGS((Pst *post, SpId spId,U32 transId, + UdxUeInfo *oldUeInfo, + UdxUeInfo *newUeInfo)); + +PRIVATE S16 PtUlUdxSecCfgReq ARGS((Pst *post, SpId spId, + UdxSecCfgReqInfo *pdcpSecCfgReq)); +PRIVATE S16 PtUlUdxCountReq ARGS((Pst *post, SpId spId, + UdxCountReqInfo *pdcpCountReq)); +PRIVATE S16 PtUlUdxReEstReq ARGS(( Pst *post, SpId spId, + UdxReEstReqInfo *restbInfo)); +PRIVATE S16 PtUlUdxSduStaReq ARGS(( Pst *post, SpId spId, + UdxSduStaReqInfo *statReqInfo)); + +PRIVATE S16 PtUlUdxUlStaRep ARGS (( + Pst *post, /* Post structure */ + SpId spId, /* Service provider ID */ + UdxUlStaRepInfo *pdStaRep /* PDCP UL ot PDCP DL Reestablishment trigger */ + )); +PRIVATE S16 PtUlUdxDlStaRep ARGS (( + Pst *post, /* Post structure */ + SpId spId, /* Service provider ID */ + UdxDlStaRepInfo *pdStaRep /* Status report from PDCP UL to PDCP DL */ + )); + +PRIVATE S16 PtUlUdxUlFdbkPktInfo ARGS (( + Pst *post, /* Post structure */ + SpId spId, /* Service provider ID */ + UdxUlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ + )); + +PRIVATE S16 PtUlUdxDlFdbkPktInfo ARGS (( + Pst *post, /* Post structure */ + SpId spId, /* Service provider ID */ + UdxDlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ + )); +#ifdef LTE_L2_MEAS +PRIVATE S16 PtUlUdxL2MeasReq ARGS (( + Pst *pst, + PjL2MeasReqEvt *measReqEvt + )); +PRIVATE S16 PtUlUdxL2MeasSendReq ARGS(( + Pst *pst, + U8 status + )); +PRIVATE S16 PtUlUdxL2MeasStopReq ARGS(( + Pst *pst, + U8 status + )); +#endif +PRIVATE S16 PtUlUdxDatResumeReq ARGS(( + Pst *pst, + UdxDatResumeInfo *udxDatResumeInfo + )); +PRIVATE S16 PtUlUdxDatForwardReq ARGS(( + Pst *pst, + UdxDatForwardInfo *udxDatForwardInfo + )); +#endif /* PTPJULUDX */ + + +/************************************************************************** + * UDX Interface Matrices + *************************************************************************/ + +/* UDX Interface Bind Request primitive */ +PRIVATE CONSTANT UdxBndReq PjUlUdxBndReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxBndReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxBndReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxBndReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxBndReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxBndReq, /* 2 - tightly coupled, CTC */ +#else /* PJ */ + PtUlUdxBndReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Unbind Request primitive */ +PRIVATE CONSTANT UdxUbndReq PjUlUdxUbndReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxUbndReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUbndReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxUbndReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUbndReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxUbndReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxUbndReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Config Request primitive */ +PRIVATE CONSTANT UdxCfgReq PjUlUdxCfgReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxCfgReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxCfgReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxCfgReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxCfgReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxCfgReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxCfgReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Status Report from PDCP-UL to PDCP-DL primitive */ +PRIVATE CONSTANT UdxUlStaRep PjUlUdxUlStaRepMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxUlStaRep, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUlStaRep, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxUlStaRep, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUlStaRep, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxUlStaRep, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxUlStaRep, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Status Report from PDCP-UL to PDCP-DL primitive */ +PRIVATE CONSTANT UdxDlStaRep PjUlUdxDlStaRepMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxDlStaRep, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDlStaRep, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxDlStaRep, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDlStaRep, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxDlStaRep, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxDlStaRep, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Status Report from PDCP-UL to PDCP-DL primitive */ +PRIVATE CONSTANT UdxDlFdbkPkt PjUlUdxDlFdbkPktInfoMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxDlFdbkPkt, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDlFdbkPktInfo, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxDlFdbkPkt, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDlFdbkPktInfo, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxDlFdbkPktInfo, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxDlFdbkPktInfo, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + + +/* UDX Interface Feedback Pkt Info from PDCP-UL to PDCP-DL primitive */ +PRIVATE CONSTANT UdxUlFdbkPkt PjUlUdxUlFdbkPktInfoMt [3] = +{ +#ifdef LCPJULUDX + cmPkPjUdxUlFdbkPkt, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUlFdbkPktInfo, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxUlFdbkPkt, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUlFdbkPktInfo, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxUlFdbkPktInfo, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxUlFdbkPktInfo, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface UE Id Change Request primitive */ +PRIVATE CONSTANT UdxUeIdChgReq PjUlUdxUeIdChgReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxUeIdChgReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUeIdChgReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxUeIdChgReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxUeIdChgReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxUeIdChgReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxUeIdChgReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Security Config Request primitive */ +PRIVATE CONSTANT UdxSecCfgReq PjUlUdxSecCfgReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxSecCfgReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxSecCfgReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxSecCfgReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxSecCfgReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxSecCfgReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxSecCfgReq, /* 2 - tightly coupled, portable */ +#endif/* PJ */ +}; + +/* UDX Interface COUNT Request primitive */ +PRIVATE CONSTANT UdxCountReq PjUlUdxCountReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxCountReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxCountReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxCountReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxCountReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxCountReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxCountReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface PDCP Status Request primitive */ +PRIVATE CONSTANT UdxSduStaReq PjUlUdxSduStaReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxSduStaReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxSduStaReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxSduStaReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxSduStaReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxSduStaReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxSduStaReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/* UDX Interface Re-Establishment Request primitive */ +PRIVATE CONSTANT UdxReEstReq PjUlUdxReEstReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxReEstReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxReEstReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxReEstReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxReEstReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxReEstReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxReEstReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +#ifdef LTE_L2_MEAS +PRIVATE CONSTANT UdxL2MeasReq pjUlUdxL2MeasReqMt[PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxL2MeasReq, /* 0 - loosely coupled */ +#else + PtUlUdxL2MeasReq, /* 0 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef LWLCPJULUDX + cmPkPjUdxL2MeasReq, /* 1 - loosely coupled */ +#else + PtUlUdxL2MeasReq, /* 1 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef PJ + PjDlUdxL2MeasReq, /* 2 - tightly coupled, RRC */ +#else + PtUlUdxL2MeasReq, /* 2 - tightly coupled, portable */ +#endif /* KW */ +}; + +PRIVATE CONSTANT UdxL2MeasSendReq pjUlUdxL2MeasSendReqMt[PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxL2MeasSendReq, /* 0 - loosely coupled */ +#else + PtUlUdxL2MeasSendReq, /* 0 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef LWLCPJULUDX + cmPkPjUdxL2MeasSendReq, /* 1 - loosely coupled */ +#else + PtUlUdxL2MeasSendReq, /* 1 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef PJ + PjDlUdxL2MeasSendReq, /* 2 - tightly coupled, RRC */ +#else + PtUlUdxL2MeasSendReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +PRIVATE CONSTANT UdxL2MeasStopReq pjUlUdxL2MeasStopReqMt[PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxL2MeasStopReq, /* 0 - loosely coupled */ +#else + PtUlUdxL2MeasStopReq, /* 0 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef LWLCPJULUDX + cmPkPjUdxL2MeasStopReq, /* 1 - loosely coupled */ +#else + PtUlUdxL2MeasStopReq, /* 1 - loosely coupled, portable */ +#endif /* LCKWUIKWU */ +#ifdef PJ + PjDlUdxL2MeasStopReq, /* 2 - tightly coupled, RRC */ +#else + PtUlUdxL2MeasStopReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; +#endif + + +/* UDX Interface PDCP Status Request primitive */ +PRIVATE CONSTANT UdxDatResumeReq pjUlUdxDatResumeReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxDatResumeReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDatResumeReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxDatResumeReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDatResumeReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxDatResumeReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxDatResumeReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + + +/* UDX Interface PDCP Start Data Forward primitive */ +PRIVATE CONSTANT UdxDatForwardReq pjUlUdxDatForwardReqMt [PJ_MAX_UDX] = +{ +#ifdef LCPJULUDX + cmPkPjUdxDatForwardReq, /* 0 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDatForwardReq, /* 0 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef LWLCPJULUDX + cmPkPjUdxDatForwardReq, /* 1 - loosely coupled */ +#else /* LCPJULUDX */ + PtUlUdxDatForwardReq, /* 1 - loosely coupled, portable */ +#endif /* LCPJULUDX */ +#ifdef PJ + PjDlUdxDatForwardReq, /* 2 - tightly coupled, UDX */ +#else /* PJ */ + PtUlUdxDatForwardReq, /* 2 - tightly coupled, portable */ +#endif /* PJ */ +}; + +/************************************************************************** + * The UDX Interface + *************************************************************************/ +/** + * + * @brief This function binds the RRC service user with the PDCP + * service provider. + * + * @details This function binds the RRC service user with the PDCP + * service provider. The PDCP registers this new service + * user and allocates a Service Access Point (SAP) for + * this bind. The service user specifies the reference + * number that is used for the duration of this bind. + */ +#ifdef ANSI +PUBLIC S16 PjUlUdxBndReq +( +Pst *post, /* Post structure */ +SuId suId, /* Service user ID */ +SpId spId /* Service provider ID */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxBndReq(post, suId, spId) +Pst *post; /* Post structure */ +SuId suId; /* Service user ID */ +SpId spId; /* Service provider ID */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxBndReq); + + RETVALUE((*PjUlUdxBndReqMt[post->selector])(post, suId, spId)); + +} /* end of function PjUlUdxBndReq */ + + +/* +* @brief This function unbinds the RRC service user with the PDCP +* service provider. +* +* @details This function unbinds the RRC service user with the PDCP +* service provider. +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxUbndReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +Reason reason /* Reason */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxUbndReq(post, spId, reason) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +Reason reason; /* Reason */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxUbndReq); + + RETVALUE((*PjUlUdxUbndReqMt[post->selector])(post, spId, reason)); + +} /* end of function PjUlUdxUbndReq */ + + +/** +* +* @brief This function is used to pass Signalling Info to PDCP related +* to PDCP configuration. +* +* @details This function is used to pass signaling Info to PDCP related +* to PDCP configuration. +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxCfgReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxCfgReqInfo *pdCfgReq /* PDCP Config parameters */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxCfgReq(post, spId, pdCfgReq) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxCfgReqInfo *pdCfgReq; /* PDCP Config parameters */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxCfgReq); + + + RETVALUE((*PjUlUdxCfgReqMt[post->selector])(post, spId, pdCfgReq)); + +} /* end of function PjUlUdxCfgReq */ + + +/** +* +* @brief This function is used to sent the PDCP STATUS report to PDCP-DL during the Reestablishment. +* @details This function is used to sent the PDCP STATUS report to PDCP-DL during the Reestablishment +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxUlStaRep +( +Pst *pst, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxUlStaRepInfo *staRep /*PDCP Status Report*/ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxUlStaRep (pst, spId, staRep) +Pst *pst; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxUlStaRepInfo *staRep; /* PDCP Status Report*/ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxUlStaRep); + + RETVALUE((*PjUlUdxUlStaRepMt[pst->selector])(pst, spId, staRep)); + +} /* end of function PjUlUdxUlStaRep */ + +/** +* +* @brief This function is used to sent the PDCP STATUS report received from peer RLC to PDCP-DL. +* @details This function is used to sent the PDCP STATUS report received from peer RLC to PDCP-DL +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxDlStaRep +( +Pst *pst, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxDlStaRepInfo *staRep /*PDCP Status Report*/ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxDlStaRep (pst, spId, staRep) +Pst *pst; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxDlStaRepInfo *staRep; /* PDCP Status Report*/ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxDlStaRep); + + RETVALUE((*PjUlUdxDlStaRepMt[pst->selector])(pst, spId, staRep)); + +} /* end of function PjUlUdxUlStaRep */ + +/** +* +* @brief This function is used to sent the ROHC feedback report received from peer PDCP to PDCP-DL +* @details This function is used to sent the ROHC feedback report received from peer PDCP to PDCP-DL +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxDlFdbkPktInfo +( +Pst *pst, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxDlFdbkPktInfo *fdbk /*ROHC feedback*/ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxDlFdbkPktInfo (pst, spId, fdbk) +Pst *pst; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxDlFdbkPktInfo *fdbk; /* ROHC feedback*/ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxDlFdbkPktInfo); + + RETVALUE((*PjUlUdxDlFdbkPktInfoMt[pst->selector])(pst, spId, fdbk)); + +} /* end of function PjUlUdxDlFdbkPktInfo */ + +/** + * + * @brief This function is used to sent the Feedback pkt info to DL-PDCP. + * @details This function is used to sent the Feedback pkt info to DL-PDCP. + * + */ +#ifdef ANSI +PUBLIC S16 PjUlUdxUlFdbkPktInfo +( +Pst *pst, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxUlFdbkPktInfo *fdbkPktInfo /*Feedback Packet Info*/ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxUlFdbkPktInfo (pst, spId, staRep) +Pst *pst; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxUlFdbkPktInfo *fdbkPktInfo; /* Feedback Packet Info*/ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxUlFdbkPktInfo); + + RETVALUE((*PjUlUdxUlFdbkPktInfoMt[pst->selector])(pst, spId, fdbkPktInfo)); + +} /* end of function PjUlUdxUlFdbkPktInfo */ + + +/** + * + * @brief Sends an UE Id Change Indication to PDCP on Ckw interface + * @details Sends an UE Id Change Indication to PDCP on Ckw interface + * + */ +#ifdef ANSI +PUBLIC S16 PjUlUdxUeIdChgReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +U32 transId, /* RRC Transaction Id */ +UdxUeInfo *oldUeInfo, /* current UE Id */ +UdxUeInfo *newUeInfo /* new UE Id */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxUeIdChgReq(post, spId, transId, oldUeInfo, newUeInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +U32 transId; /* RRC Transaction Id */ +UdxUeInfo *oldUeInfo; /* current UE Id */ +UdxUeInfo *newUeInfo; /* new UE Id */ +#endif /* ANSI */ +{ + TRC3(PjUlUdxUeIdChgReq); + + RETVALUE((*PjUlUdxUeIdChgReqMt[post->selector])(post, spId, transId, + (UdxUeInfo *)oldUeInfo, (UdxUeInfo *)newUeInfo )); + +} /* end of function PjUlUdxUeIdChgReq */ + +/** +* +* @brief This function is used to configure PDCP security parameters +* (parametrs of Integrity protection and ciphering) +* +* @details This function is used to configure PDCP security parameters +* (parametrs of Integrity protection and ciphering) +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxSecCfgReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxSecCfgReqInfo *cpjSecConfigReqInfo /* PDCP Security Config parameters */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxSecCfgReq(post, spId, cpjSecConfigReqInfo) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxSecCfgReqInfo *cpjSecConfigReqInfo; /* PDCP Security Config parameters */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxSecCfgReq); + + RETVALUE((*PjUlUdxSecCfgReqMt[post->selector])(post, spId, + cpjSecConfigReqInfo)); + +} /* end of function PjUlUdxSecCfgReq */ + +/** +* +* @brief This function is used to get COUNT values of each established DRB +* +* @details This function is used to get COUNT values of each established DRB +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxCountReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxCountReqInfo *pdcpCountReq /* PDCP COUNT request paramters */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxCountReq(post, spId, pdcpCountReq) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxCountReqInfo *pdcpCountReq; /* PDCP COUNT request paramters */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxCountReq); + + RETVALUE((*PjUlUdxCountReqMt[post->selector])(post, spId, pdcpCountReq)); + +} /* end of function PjUlUdxCountReq */ + +/** +* +* @brief This function is used to get PDCP Sdu Status for all DRBs. +* +* @details This function is used to get PDCP Sdu Status for all DRBs +* from PDCP at source during HO. +* +*/ +#ifdef ANSI +PUBLIC S16 PjUlUdxSduStaReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxSduStaReqInfo *pdcpSduStaReq /* PDCP SDU status request parameters */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxSduStaReq(post, spId, pdcpSduStaReq) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxSduStaReqInfo *pdcpSduStaReq; /* PDCP SDU status request parameters */ +#endif /* ANSI */ +{ + + TRC3(PjUlUdxSduStaReq); + + RETVALUE((*PjUlUdxSduStaReqMt[post->selector])(post, spId, pdcpSduStaReq)); + +} /* end of function PjUlUdxSduStaReq */ + + +/** + * + * @brief Sends a Re-establish request to PDCP on UDX interface + * @details Sends a Re-establish request to PDCP on UDX interface + * + */ +#ifdef ANSI +PUBLIC S16 PjUlUdxReEstReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxReEstReqInfo *restbInfo /* Re-establishment Info */ +) +#else /* ANSI */ +PUBLIC S16 PjUlUdxReEstReq(post, spId, restbInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxReEstReqInfo *restbInfo; /* new UE Id */ +#endif /* ANSI */ +{ + TRC3(PjUlUdxReEstReq); + + RETVALUE((*PjUlUdxReEstReqMt[post->selector])(post, spId, restbInfo)); + +} /* end of function PjUlUdxReEstReq */ + +#ifdef LTE_L2_MEAS +/** +* @brief Request from ULM to DLM for MeasReq +* +* @details +* +* Function : PjUlUdxL2MeasReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PUBLIC S16 PjUlUdxL2MeasReq +( +Pst* pst, +PjL2MeasReqEvt *measReqEvt +) +#else +PUBLIC S16 PjUlUdxL2MeasReq(pst,measReqEvt) +Pst* pst; +PjL2MeasReqEvt *measReqEvt; +#endif +{ + + TRC3(PjUlUdxStaUpdReq); + + RETVALUE((*pjUlUdxL2MeasReqMt[pst->selector])(pst,measReqEvt)); +} /* end of PjUlUdxMesReq*/ + +/** +* @brief Request from ULM to DLM for MeasSendReq +* +* @details +* +* Function : PjUlUdxMeasSendReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PUBLIC S16 PjUlUdxL2MeasSendReq +( +Pst* pst, +U8 measType +) +#else +PUBLIC S16 PjUlUdxL2MeasSendReq(pst,measReqEvt) +Pst* pst; +U8 measType; +#endif +{ + + TRC3(PjUlUdxL2MeasSendReq); + + RETVALUE((*pjUlUdxL2MeasSendReqMt[pst->selector])(pst,measType)); +} /* end of PjUlUdxMesReq*/ + +/** +* @brief Request from ULM to DLM for MeasStopReq +* +* @details +* +* Function : PjUlUdxL2MeasStopReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PUBLIC S16 PjUlUdxL2MeasStopReq +( +Pst* pst, +U8 measType +) +#else +PUBLIC S16 PjUlUdxL2MeasStopReq(pst,measReqEvt) +Pst* pst; +U8 measType; +#endif +{ + + TRC3(PjUlUdxL2MeasStopReq); + + RETVALUE((*pjUlUdxL2MeasStopReqMt[pst->selector])(pst,measType)); +} /* end of PjUlUdxMesReq*/ +#endif + + + +/** +* @brief Request from ULM to DLM for MeasStopReq +* +* @details +* +* Function : PjUlUdxDatResumeReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PUBLIC S16 PjUlUdxDatResumeReq +( +Pst* pst, +UdxDatResumeInfo *udxDatResumeInfo +) +#else +PUBLIC S16 PjUlUdxDatResumeReq(pst, udxDatResumeInfo) +Pst* pst; +UdxDatResumeInfo *udxDatResumeInfo; +#endif +{ + + TRC3(PjUlUdxDatResumeReq); + + RETVALUE((*pjUlUdxDatResumeReqMt[pst->selector])(pst, udxDatResumeInfo)); +} /* end of PjUlUdxMesReq*/ + + +/** +* @brief +* +* @details +* +* Function : PjUlUdxDatForwardReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PUBLIC S16 PjUlUdxDatForwardReq +( +Pst* pst, +UdxDatForwardInfo *udxDatForwardInfo +) +#else +PUBLIC S16 PjUlUdxDatForwardReq(pst, udxDatForwardInfo) +Pst* pst; +UdxDatForwardInfo *udxDatForwardInfo; +#endif +{ + + TRC3(PjUlUdxDatForwardReq); + + RETVALUE((*pjUlUdxDatForwardReqMt[pst->selector])(pst, udxDatForwardInfo)); +} /* end of PjUlUdxMesReq*/ +/************************************************************************** + * The UDX (Portable) Interface + *************************************************************************/ +#ifdef PTPJULUDX +/************************************************************************** + * + * Fun: PtUlUdxBndReq + * + * Desc: Portable UdxBndReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxBndReq +( +Pst *post, /* Post structure */ +SuId suId, /* Service user ID */ +SpId spId /* Service provider ID */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxBndReq(post, suId, spId) +Pst *post; /* Post structure */ +SuId suId; /* Service user ID */ +SpId spId; /* Service provider ID */ +#endif /* ANSI */ +{ + + TRC3(PtUlUdxBndReq); + + UNUSED(post); + UNUSED(suId); + UNUSED(spId); + + RETVALUE(ROK); + +} /* end of function PtUlUdxBndReq */ + + +/************************************************************************** +* +* Fun: PtUlUdxUbndReq +* +* Desc: Portable UdxUbndReq primitive +* +* Ret: ROK +* +* Notes: +* +* File: nh_ptli.c +* +*************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxUbndReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +Reason reason /* Reason */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxUbndReq(post, spId, reason) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +Reason reason; /* Reason */ +#endif /* ANSI */ +{ + + TRC3(PtUlUdxUbndReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(reason); + + RETVALUE(ROK); + +} /* end of function PtUlUdxUbndReq */ + + +/************************************************************************** +* +* Fun: PtUlUdxCfgReq +* +* Desc: Portable UdxCfgReq primitive +* +* Ret: ROK +* +* Notes: +* +* File: nh_ptli.c +* +*************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxCfgReq +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxCfgReqInfo *pdCfgReq /* PDCP Config parameters */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxCfgReq(post, spId, pdCfgReq) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxCfgReqInfo *pdCfgReq; /* PDCP Config parameters */ +#endif /* ANSI */ +{ + + TRC3(PtUlUdxCfgReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(pdCfgReq); + + + RETVALUE(ROK); + +} /* end of function PtUlUdxCfgReq */ + +/************************************************************************** +* +* Fun: PtUlUdxUlStaRep +* +* Desc: Portable UdxUlStaRep primitive +* +* Ret: ROK +* +* Notes: +* +* File: pj_udx_ptul.c +* +*************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxUlStaRep +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxUlStaRepInfo *pdStaRep /* PDCP UL ot PDCP DL Reestablishment trigger */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxUlStaRep(post, spId, pdStaRep) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxUlStaRepInfo *pdStaRep; /* PDCP UL ot PDCP DL Reestablishment trigger */ +#endif /* ANSI */ +{ + + TRC3(PtUlUdxUlStaRep); + + UNUSED(post); + UNUSED(spId); + UNUSED(pdStaRep); + + + RETVALUE(ROK); + +} /* end of function */ + +/************************************************************************** +* +* Fun: PtUlUdxUlStaRep +* +* Desc: Portable UdxUlStaRep primitive +* +* Ret: ROK +* +* Notes: +* +* File: pj_udx_ptul.c +* +*************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxDlStaRep +( +Pst *post, /* Post structure */ +SpId spId, /* Service provider ID */ +UdxDlStaRepInfo *pdStaRep /* Status report from PDCP UL to PDCP DL */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxDlStaRep(post, spId, pdStaRep) +Pst *post; /* Post structure */ +SpId spId; /* Service provider ID */ +UdxDlStaRepInfo *pdStaRep; /* Status report from PDCP UL to PDCP DL */ +#endif /* ANSI */ +{ + + TRC3(PtUlUdxDlStaRep); + + UNUSED(post); + UNUSED(spId); + UNUSED(pdStaRep); + + + RETVALUE(ROK); + +} /* end of function */ + + +/************************************************************************** + * + * Fun: PtUlUdxUeIdChgReq + * + * Desc: Portable UdxUeIdChgReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxUeIdChgReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +U32 transId, /* TransId */ +UdxUeInfo *oldUeInfo, /* current UE Id */ +UdxUeInfo *newUeInfo /* new UE Id */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxUeIdChgReq(post, spId, transId, oldUeInfo, newUeInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +U32 transId; /* TransId */ +UdxUeInfo *oldUeInfo; /* current UE Id */ +UdxUeInfo *newUeInfo; /* new UE Id */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxUeIdChgReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(transId); + UNUSED(oldUeInfo); + UNUSED(newUeInfo); + + RETVALUE(ROK); + +} /* end of function PtUlCkwUeIdChgReq */ + +/************************************************************************** + * + * Fun: PtUlUdxSecCfgReq + * + * Desc: Portable UdxSecCfgReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxSecCfgReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxSecCfgReqInfo *secCfgReq /* PDCP Security Config paramters */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxSecCfgReq(post, spId, secCfgReq) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxSecCfgReqInfo *secCfgReq; /* PDCP Security Config paramters */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxSecCfgReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(secCfgReq); + + RETVALUE(ROK); + +} /* end of function PtUlUdxSecCfgReq */ + +/************************************************************************** + * + * Fun: PtUlUdxCountReq + * + * Desc: Portable UdxCountReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxCountReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxCountReqInfo *countReq /* PDCP Security Config paramters */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxCountReq(post, spId, countReq) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxCountReqInfo *countReq; /* Count value paramters */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxCountReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(countReq); + + RETVALUE(ROK); + +} /* end of function PtUlUdxCountReq */ + +/************************************************************************** + * + * Fun: PtUlUdxSduStaReq + * + * Desc: Portable UdxSduStaReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxSduStaReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxSduStaReqInfo *sduStaReq /* PDCP SDU status parameters */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxSduStaReq(post, spId, sduStaReq) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxSduStaReqInfo *sduStaReq; /* PDCP SDU status parameters */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxSduStaReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(sduStaReq); + + + RETVALUE(ROK); + +} /* end of function PtUlUdxSduStaReq */ + + +/************************************************************************** + * + * Fun: PtUlUdxReEstReq + * + * Desc: Portable UdxReEstReq primitive + * + * Ret: ROK + * + * Notes: + * + * File: nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxReEstReq +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxReEstReqInfo *restbInfo /* PDCP Re-establishment Config paramters */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxReEstReq(post, spId, restbInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxReEstReqInfo *restbInfo; /* PDCP Re-establishment Config paramters */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxReEstReq); + + UNUSED(post); + UNUSED(spId); + UNUSED(restbInfo); + + RETVALUE(ROK); + +} /* end of function PtUlUdxReEstReq */ +/************************************************************************** + * + * Fun: PtUlUdxUlFdbkPktInfo + * + * Desc: Portable PtUlUdxUlFdbkPktInfo primitive + * + * Ret: ROK + * + * Notes: + * + * File : nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxUlFdbkPktInfo +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxUlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxUlFdbkPktInfo(post, spId, fdbkPktInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxUlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxUlFdbkPktInfo); + + UNUSED(post); + UNUSED(spId); + UNUSED(fdbkPktInfo); + + + RETVALUE(ROK); + +} /* end of function PtUlUdxUlFdbkPktInfo */ + + +/************************************************************************** + * + * Fun: PtUlUdxDlFdbkPktInfo + * + * Desc: Portable PtUlUdxDlFdbkPktInfo primitive + * + * Ret: ROK + * + * Notes: + * + * File : nh_ptli.c + * + *************************************************************************/ +#ifdef ANSI +PRIVATE S16 PtUlUdxDlFdbkPktInfo +( +Pst *post, /* post structure */ +SpId spId, /* service provider */ +UdxDlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ +) +#else /* ANSI */ +PRIVATE S16 PtUlUdxDlFdbkPktInfo(post, spId, fdbkPktInfo) +Pst *post; /* post structure */ +SpId spId; /* service provider */ +UdxDlFdbkPktInfo *fdbkPktInfo /* feedback Packet Info */ +#endif /* ANSI */ +{ + TRC3(PtUlUdxDlFdbkPktInfo); + + UNUSED(post); + UNUSED(spId); + UNUSED(fdbkPktInfo); + + + RETVALUE(ROK); + +} /* end of function PtUlUdxDlFdbkPktInfo */ + + + + +#ifdef LTE_L2_MEAS +/** +* @brief Request from ULM to DLM for Measurement +* +* @details +* +* Function : PjUdxUdxL2MeasReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PRIVATE S16 PtUlUdxL2MeasReq +( +Pst* pst, +PjL2MeasReqEvt *measReqEvt +) +#else +PRIVATE S16 PtUlUdxL2MeasReq(pst, measReqEvt ) +Pst* pst; +PjL2MeasReqEvt *measReqEvt; +#endif +{ + + TRC3(PtUlUdxL2MeasReq); + + RETVALUE(ROK); +} + +/** +* @brief Request from ULM to DLM for Measurement +* +* @details +* +* Function : PjUdxUdxL2MeasSendReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PRIVATE S16 PtUlUdxL2MeasSendReq +( +Pst* pst, +U8 status +) +#else +PRIVATE S16 PtUlUdxL2MeasSendReq(pst, status ) +Pst* pst; +U8 status +#endif +{ + + TRC3(PtUlUdxL2MeasSendReq); + + RETVALUE(ROK); +} + +/** +* @brief Request from ULM to DLM for Measurement +* +* @details +* +* Function : PjUdxUdxL2MeasStopReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PRIVATE S16 PtUlUdxL2MeasStopReq +( +Pst* pst, +U8 status +) +#else +PRIVATE S16 PtUlUdxL2MeasStopReq(pst, status ) +Pst* pst; +U8 status +#endif +{ + + TRC3(PtUlUdxL2MeasStopReq); + + RETVALUE(ROK); +} +#endif +/** +* @brief Request from ULM to DLM for ResumeReq +* +* @details +* +* Function : PtUlUdxDatResumeReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PRIVATE S16 PtUlUdxDatResumeReq +( +Pst* pst, +UdxDatResumeInfo *udxDatResumeInfo +) +#else +PRIVATE S16 PtUlUdxDatResumeReq(pst, udxDatResumeInfo ) +Pst* pst; +UdxDatResumeInfo *udxDatResumeInfo; +#endif +{ + + TRC3(PtUlUdxDatResumeReq); + + RETVALUE(ROK); +} + +/** +* @brief +* +* @details +* +* Function : PtUlUdxDatForwardReq +* +* @param[in] Pst* pst + +* @return S16 +* -# ROK +**/ +#ifdef ANSI +PRIVATE S16 PtUlUdxDatForwardReq +( +Pst* pst, +UdxDatForwardInfo *udxDatForwardInfo +) +#else +PRIVATE S16 PtUlUdxDatForwardReq(pst, udxDatForwardInfo ) +Pst* pst; +UdxDatForwardInfo *udxDatForwardInfo; +#endif +{ + + TRC3(PtUlUdxDatForwardReq); + + RETVALUE(ROK); +} + +#endif /* #ifdef PTPJULUDX */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ +/********************************************************************30** + End of file +**********************************************************************/