1 /*******************************************************************************
2 ################################################################################
3 # Copyright (c) [2017-2019] [Radisys] #
5 # Licensed under the Apache License, Version 2.0 (the "License"); #
6 # you may not use this file except in compliance with the License. #
7 # You may obtain a copy of the License at #
9 # http://www.apache.org/licenses/LICENSE-2.0 #
11 # Unless required by applicable law or agreed to in writing, software #
12 # distributed under the License is distributed on an "AS IS" BASIS, #
13 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
14 # See the License for the specific language governing permissions and #
15 # limitations under the License. #
16 ################################################################################
17 *******************************************************************************/
19 /********************************************************************20**
21 Name: PDCP Layer Management interface
25 Desc: This file contains source code for RLC layer management
26 interface primitives. It includes the definition of the
27 following functions and their portable function
36 *********************************************************************21*/
39 /* header (.h) include files */
40 #include "envopt.h" /* environment options */
41 #include "envdep.h" /* environment dependent */
42 #include "envind.h" /* environment independent */
44 #include "gen.h" /* general */
45 #include "ssi.h" /* system services */
46 #include "cm5.h" /* common timer defines */
47 #include "cm_tkns.h" /* common tokens defines */
48 #include "cm_mblk.h" /* common memory allocation library defines */
49 #include "cm_llist.h" /* common link list defines */
50 #include "cm_hash.h" /* common hash list defines */
51 #include "cm_lte.h" /* common LTE defines */
52 #include "lpj.h" /* LPJ defines */
55 /* extern (.x) include files */
56 #include "gen.x" /* general */
57 #include "ssi.x" /* system services */
59 #include "cm5.x" /* common timer library */
60 #include "cm_tkns.x" /* common tokens */
61 #include "cm_mblk.x" /* common memory allocation */
62 #include "cm_llist.x" /* common link list */
63 #include "cm_hash.x" /* common hash list */
64 #include "cm_lte.x" /* common LTE includes */
65 #include "cm_lib.x" /* common memory allocation library */
66 #include "lpj.x" /* LPJ */
81 EXTERN S16 PtMiLpjCfgCfm ARGS((Pst * pst, PjMngmt * cfgCfm));
83 EXTERN S16 PtMiLpjCntrlCfm ARGS((Pst * pst, PjMngmt * cntlCfm));
85 EXTERN S16 PtMiLpjStaInd ARGS((Pst * pst, PjMngmt * staInd));
87 EXTERN S16 PtMiLpjStaCfm ARGS((Pst * pst, PjMngmt * staCfm));
89 EXTERN S16 PtMiLpjStsCfm ARGS((Pst * pst, Action actn, PjMngmt * stsCfm));
91 EXTERN S16 PtMiLpjTrcInd ARGS((Pst * pst, PjMngmt * trc, Buffer * mBuf));
93 /* kw005.201 added support for L2 Measurement */
95 EXTERN S16 PtMiLpjL2MeasCfm ARGS((Pst *pst, PjL2MeasCfmEvt *measEvt));
96 PRIVATE S16 PtMiLpjL2MeasStopCfm ARGS((Pst *pst, U16 measType,U8 status));
97 #endif /* LTE_L2_MEAS */
99 #endif /*--#ifdef PTPJLPJ--*/
101 /*********************************************************************
102 * Primitives for LPJ interface
103 ********************************************************************/
104 PRIVATE CONSTANT LpjCfgCfm PjMiLpjCfgCfmMt[] =
119 PRIVATE CONSTANT LpjCntrlCfm PjMiLpjCntrlCfmMt[] =
134 PRIVATE CONSTANT LpjStaInd PjMiLpjStaIndMt[] =
149 PRIVATE CONSTANT LpjStaCfm PjMiLpjStaCfmMt[] =
164 PRIVATE CONSTANT LpjStsCfm PjMiLpjStsCfmMt[] =
179 PRIVATE CONSTANT LpjTrcInd PjMiLpjTrcIndMt[] =
193 /* kw005.201 added support for L2 Measurement */
195 PRIVATE CONSTANT LpjL2MeasCfm PjMiLpjL2MeasCfmMt[] =
208 PRIVATE CONSTANT LpjL2MeasStopCfm PjMiLpjL2MeasStopCfmMt[] =
211 cmPkLpjL2MeasStopCfm,
213 PtMiLpjL2MeasStopCfm,
216 SmMiLpjL2MeasStopCfm,
218 PtMiLpjL2MeasStopCfm,
221 #endif /* LTE_L2_MEAS */
223 /****************************************************************************
224 * LPJ Interface Mt functions
225 ***************************************************************************/
227 PUBLIC S16 PjMiLpjCfgCfm
233 PUBLIC S16 PjMiLpjCfgCfm(pst, cfgCfm)
241 (*PjMiLpjCfgCfmMt[pst->selector])(pst, cfgCfm);
249 PUBLIC S16 PjMiLpjCntrlCfm
255 PUBLIC S16 PjMiLpjCntrlCfm(pst, cntlCfm)
261 TRC3(PjMiLpjCntrlCfm)
263 (*PjMiLpjCntrlCfmMt[pst->selector])(pst, cntlCfm);
271 PUBLIC S16 PjMiLpjStaInd
277 PUBLIC S16 PjMiLpjStaInd(pst, staInd)
285 (*PjMiLpjStaIndMt[pst->selector])(pst, staInd);
293 PUBLIC S16 PjMiLpjStaCfm
299 PUBLIC S16 PjMiLpjStaCfm(pst, staCfm)
307 (*PjMiLpjStaCfmMt[pst->selector])(pst, staCfm);
315 PUBLIC S16 PjMiLpjStsCfm
322 PUBLIC S16 PjMiLpjStsCfm(pst, actn, stsCfm)
331 (*PjMiLpjStsCfmMt[pst->selector])(pst, actn, stsCfm);
339 PUBLIC S16 PjMiLpjTrcInd
346 PUBLIC S16 PjMiLpjTrcInd(pst, trc, mBuf)
355 (*PjMiLpjTrcIndMt[pst->selector])(pst, trc, mBuf);
361 /* kw005.201 added support for L2 Measurement */
364 PUBLIC S16 PjMiLpjL2MeasCfm
367 PjL2MeasCfmEvt *measEvt
370 PUBLIC S16 PjMiLpjL2MeasCfm(pst, trc, mBuf)
372 PjL2MeasCfmEvt *measEvt;
376 TRC3(PjMiLpjL2MeasCfm)
378 (*PjMiLpjL2MeasCfmMt[pst->selector])(pst, measEvt);
384 PUBLIC S16 PjMiLpjL2MeasStopCfm
391 PUBLIC S16 PjMiLpjL2MeasStopCfm(pst, measType,status)
398 TRC3(PjMiLpjL2MeasStopCfm)
400 (*PjMiLpjL2MeasStopCfmMt[pst->selector])(pst, measType,status);
405 #endif /* LTE_L2_MEAS */
412 PUBLIC S16 PtMiLpjCfgCfm
418 PUBLIC S16 PtMiLpjCfgCfm(pst, cfgCfm)
435 PUBLIC S16 PtMiLpjCntrlCfm
441 PUBLIC S16 PtMiLpjCntrlCfm(pst, cntlCfm)
447 TRC3(PtMiLpjCntrlCfm)
458 PUBLIC S16 PtMiLpjStaInd
464 PUBLIC S16 PtMiLpjStaInd(pst, staInd)
481 PUBLIC S16 PtMiLpjStaCfm
487 PUBLIC S16 PtMiLpjStaCfm(pst, staCfm)
504 PUBLIC S16 PtMiLpjStsCfm
511 PUBLIC S16 PtMiLpjStsCfm(pst, actn, stsCfm)
530 PUBLIC S16 PtMiLpjTrcInd
537 PUBLIC S16 PtMiLpjTrcInd(pst, trc, mBuf)
554 /* kw005.201 added support for L2 Measurement */
557 PUBLIC S16 PtMiLpjL2MeasCfm
560 PjL2MeasCfmEvt * measEvt
563 PUBLIC S16 PtMiLpjL2MeasCfm(pst, measEvt)
565 PjL2MeasCfmEvt * measEvt;
569 TRC3(PtMiLpjL2MeasCfm)
578 PRIVATE S16 PtMiLpjL2MeasStopCfm
585 PRIVATE S16 PtMiLpjL2MeasStopCfm(pst, measType,status)
592 TRC3(PtMiLpjL2MeasStopCfm)
601 #endif /* LTE_L2_MEAS */
602 #endif /*--ifdef PTPJLPJ--*/
604 /********************************************************************30**
607 **********************************************************************/