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**
25 Desc: C Source code for common packing and unpacking functions
26 for RLC Layer Manager Interfaces. It contains the
27 following function definitions
43 *********************************************************************21*/
46 /* header include files (.h) */
47 #include "common_def.h"
48 #include "lkw.h" /* Layer manager */
50 /* header/extern include files (.x) */
52 #include "lkw.x" /* layer manager */
56 Txt ptNmb[LKW_PART_NUM_STR_LEN]; /* Part number */
59 /* forward references */
61 static S16 cmPkRlcMngmt ARGS ((RlcMngmt *param ,Event eventType,
63 static S16 cmPkRlcCfg ARGS ((RlcMngmt *param ,Elmnt elmnt, Buffer *mBuf));
64 static S16 cmPkRlcCntrl ARGS ((RlcMngmt *cntrl, Elmnt elmnt, Buffer *mBuf));
65 static S16 cmPkRlcUsta ARGS ((RlcMngmt *usta, Elmnt elmnt, Buffer *mBuf));
66 static S16 cmPkRlcSsta ARGS ((RlcMngmt *ssta, Elmnt etmnt, Event eventType,
68 static S16 cmPkRlcSts ARGS ((RlcMngmt *sts, Elmnt elmnt, Buffer *mBuf));
69 static S16 cmPkGenSts ARGS ((RlcGenSts *gen, Buffer *mBuf));
70 static S16 cmPkCkwSapSts ARGS ((RlcCkwCntSts *rcSap, Buffer *mBuf));
71 static S16 cmPkKwuSapSts ARGS ((RlcKwuSapSts *ruSap, Buffer *mBuf));
72 /* lkw_c_001.main_2 removed support of RGU sap statistics as it is reflecting
73 * in general statstics.
75 static S16 cmPkRlcTrc ARGS ((RlcMngmt *trc, Buffer *mBuf));
77 static S16 cmUnpkRlcMngmt ARGS ((RlcMngmt *param, Event eventType,
79 static S16 cmUnpkRlcCfg ARGS ((RlcMngmt *cfg, Elmnt elmnt, Buffer *mBuf));
80 static S16 cmUnpkRlcCntrl ARGS ((RlcMngmt *param, Elmnt elmnt, Buffer *mBuf));
81 static S16 cmUnpkRlcUsta ARGS ((RlcMngmt *usta, Elmnt elmnt, Buffer *mBuf));
82 static S16 cmUnpkRlcSsta ARGS ((RlcMngmt *ssta, Elmnt elmnt, Event eventType,
84 static S16 cmUnpkRlcSts ARGS ((RlcMngmt *sts, Elmnt elmnt, Buffer *mBuf));
85 static S16 cmUnpkGenSts ARGS ((RlcGenSts *gen, Buffer *mBuf));
86 static S16 cmUnpkCkwSapSts ARGS ((RlcCkwCntSts *rcSap, Buffer *mBuf));
87 static S16 cmUnpkKwuSapSts ARGS ((RlcKwuSapSts *ruSap, Buffer *mBuf));
88 /* lkw_c_001.main_2 removed support of RGU sap statistics as it is reflecting
89 * in general statstics.
91 static S16 cmUnpkRlcTrc ARGS ((RlcMngmt *trc, Buffer *mBuf));
94 static S16 cmPkCkwSapSta ARGS ((RlcCkwCntSapSta *rcSap, Buffer *mBuf));
95 static S16 cmUnpkCkwSapSta ARGS ((RlcCkwCntSapSta *rcSap, Buffer *mBuf));
97 static S16 cmPkKwuSapSta ARGS ((RlcKwuSapSta *rlSap, Buffer *mBuf));
98 static S16 cmUnpkKwuSapSta ARGS ((RlcKwuSapSta *rlSap, Buffer *mBuf));
100 static S16 cmPkRguSapSta ARGS ((RlcRguSapSta *mkSap, Buffer *mBuf));
101 static S16 cmUnpkRguSapSta ARGS ((RlcRguSapSta *mkSap, Buffer *mBuf));
107 * @param[in] pst : post structure
108 * @param[in] cfg : RLC LM structure
111 * -# Failure : RFAILED
116 Pst *pst, /* post structure */
117 RlcMngmt *cfg /* RLC LM structure */
120 Buffer *mBuf; /* message buffer */
121 S16 ret1; /* return value */
124 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
127 #if (ERRCLASS & ERRCLS_ADD_RES)
130 LKWLOGERROR(pst, ERRCLS_ADD_RES, ELKW001, (ErrVal) ret1,
131 "SGetMsg failed ...!\n");
133 #endif /* ERRCLASS & ERRCLS_ADD_RES */
137 ret1 = cmPkRlcMngmt(cfg, LKW_EVT_CFG_REQ, mBuf);
142 #if (ERRCLASS & ERRCLS_ADD_RES)
145 LKWLOGERROR(pst, ERRCLS_ADD_RES, ELKW002, (ErrVal) ret1,
146 "cmPkRlcMngmt failure ......!");
148 #endif /* ERRCLASS & ERRCLS_ADD_RES */
152 pst->event = (Event) LKW_EVT_CFG_REQ; /* event */
157 } /* end of packRlcConfigReq */
161 Unpack Config Request
163 * @param[in] func : primitive to call
164 * @param[in] pst : post structure
165 * @param[in] mBuf : message buffer
168 * -# Failure : RFAILED
171 uint8_t unpackRlcConfigReq
173 RlcConfigReq func, /* primitive to call */
174 Pst *pst, /* post structure */
175 Buffer *mBuf /* message buffer */
178 S16 ret1; /* Return value */
179 RlcMngmt cfg; /* RLC LM structure */
182 memset(&cfg, 0, sizeof(RlcMngmt));
183 ret1 = cmUnpkRlcMngmt(&cfg, LKW_EVT_CFG_REQ, mBuf);
188 #if (ERRCLASS & ERRCLS_DEBUG)
190 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW003, (ErrVal) ret1,
191 "cmUnpkRlcMngmt failure ......!");
193 #endif /* ERRCLASS & ERRCLS_DEBUG */
198 (Void) (*func)(pst, &cfg);
202 } /* end of unpackRlcConfigReq */
210 * @param[in] pst : post structure
211 * @param[in] cntrl : RLC LM structure
214 * -# Failure : RFAILED
219 Pst *pst, /* post structure */
220 RlcMngmt *cntrl /* RLC LM structure */
223 Buffer *mBuf; /* message buffer */
224 S16 ret1; /* return value */
227 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
230 #if (ERRCLASS & ERRCLS_ADD_RES)
233 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW004, (ErrVal) ret1,
234 "SGetMsg failure ......!");
236 #endif /* ERRCLASS & ERRCLS_ADD_RES */
240 ret1 = cmPkRlcMngmt(cntrl, LKW_EVT_CNTRL_REQ, mBuf);
245 #if (ERRCLASS & ERRCLS_ADD_RES)
248 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW005, (ErrVal) ret1,
249 "cmPkRlcMngmt failure ......!");
251 #endif /* ERRCLASS & ERRCLS_ADD_RES */
255 pst->event = (Event) LKW_EVT_CNTRL_REQ; /* event */
260 } /* end of cmPkLkwCntrlReq */
264 Unpack Control Request
266 * @param[in] func : primitive to call
267 * @param[in] pst : post structure
268 * @param[in] mBuf : message buffer
271 * -# Failure : RFAILED
274 S16 cmUnpkLkwCntrlReq
276 LkwCntrlReq func, /* primitive to call */
277 Pst *pst, /* post structure */
278 Buffer *mBuf /* message buffer */
281 S16 ret1; /* return value */
282 RlcMngmt cfm; /* Confirmation */
285 ret1 = cmUnpkRlcMngmt(&cfm, LKW_EVT_CNTRL_REQ, mBuf);
290 #if (ERRCLASS & ERRCLS_DEBUG)
292 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW006, (ErrVal) ret1,
293 "cmUnpkRlcMngmt failure ......!");
295 #endif /* ERRCLASS & ERRCLS_DEBUG */
300 return ((*func)(pst, &cfm));
302 } /* end of cmUnpkLkwCntrlReq */
308 * @param[in] pst : post structure
309 * @param[in] cfg : RLC LM structure
312 * -# Failure : RFAILED
315 uint8_t cmPkLkwCntrlCfm
317 Pst *pst, /* post structure */
318 RlcMngmt *cfm /* RLC LM structure */
321 Buffer *mBuf; /* message buffer */
322 S16 ret1; /* return value */
325 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
328 #if (ERRCLASS & ERRCLS_ADD_RES)
331 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW007, (ErrVal) ret1,
332 "SGetMsg failure ......!");
334 #endif /* ERRCLASS & ERRCLS_ADD_RES */
338 ret1 = cmPkRlcMngmt(cfm, LKW_EVT_CNTRL_CFM, mBuf);
343 #if (ERRCLASS & ERRCLS_ADD_RES)
346 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW008, (ErrVal) ret1,
347 "Packing failure ......!");
349 #endif /* ERRCLASS & ERRCLS_ADD_RES */
353 pst->event = (Event) LKW_EVT_CNTRL_CFM; /* event */
358 } /* end of cmPkLkwCntrlCfm */
363 Unpack Control confirm
365 * @param[in] func : primitive to call
366 * @param[in] pst : post structure
367 * @param[in] mBuf : message buffer
370 * -# Failure : RFAILED
373 S16 cmUnpkLkwCntrlCfm
375 LkwCntrlCfm func, /* primitive to call */
376 Pst *pst, /* post structure */
377 Buffer *mBuf /* message buffer */
380 RlcMngmt cfm; /* RLC LM structure */
381 S16 ret1; /* return value */
384 ret1 = cmUnpkRlcMngmt(&cfm, LKW_EVT_CNTRL_CFM, mBuf);
389 #if (ERRCLASS & ERRCLS_DEBUG)
392 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW009, (ErrVal) ret1,
393 "cmUnpkRlcMngmt failure ......!");
395 #endif /* ERRCLASS & ERRCLS_DEBUG */
401 return ((*func)(pst, &cfm));
403 } /* end of cmUnpkLkwCntrlCfm */
407 Unpack statistics Confirm
409 * @param[in] func : primitive to call
410 * @param[in] pst : post structure
411 * @param[in] mBuf : message buffer
414 * -# Failure : RFAILED
418 LkwStsCfm func, /* primitive to call */
419 Pst *pst, /* post structure */
420 Buffer *mBuf /* message buffer */
423 RlcMngmt cfm; /* RLC LM structure */
424 S16 ret1; /* return value */
427 ret1 = cmUnpkRlcMngmt(&cfm, LKW_EVT_STS_CFM, mBuf);
432 #if (ERRCLASS & ERRCLS_DEBUG)
435 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW010, (ErrVal) ret1,
436 "SPutMsg failure ......!");
438 #endif /* ERRCLASS & ERRCLS_DEBUG */
444 return ((*func)(pst, 0, &cfm));
446 } /* end of cmUnpkLkwStsCfm */
452 * @param[in] pst : post structure
453 * @param[in] cfg : RLC LM structure
456 * -# Failure : RFAILED
460 uint8_t packRlcConfigCfm
462 Pst *pst, /* post structure */
463 RlcMngmt *cfm /* RLC LM structure */
466 Buffer *mBuf; /* message buffer */
467 S16 ret1; /* return value */
470 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
473 #if (ERRCLASS & ERRCLS_ADD_RES)
476 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW011, (ErrVal) ret1,
477 "SGetMsg failure ......!");
479 #endif /* ERRCLASS & ERRCLS_ADD_RES */
483 ret1 = cmPkRlcMngmt(cfm, LKW_EVT_CFG_CFM, mBuf);
488 #if (ERRCLASS & ERRCLS_ADD_RES)
491 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW012, (ErrVal) ret1,
492 "SPutMsg failure ......!");
494 #endif /* ERRCLASS & ERRCLS_ADD_RES */
498 pst->event = (Event) LKW_EVT_CFG_CFM; /* event */
503 } /* end of packRlcConfigCfm */
508 Unpack Config Confirm
510 * @param[in] func : primitive to call
511 * @param[in] pst : post structure
512 * @param[in] mBuf : message buffer
515 * -# Failure : RFAILED
517 uint8_t unpackRlcConfigCfm
519 RlcConfigCfm func, /* primitive to call */
520 Pst *pst, /* post structure */
521 Buffer *mBuf /* message buffer */
524 S16 ret1; /* return value */
525 RlcMngmt cfm; /* RLC LM structure */
528 ret1 = cmUnpkRlcMngmt(&cfm, LKW_EVT_CFG_CFM, mBuf);
533 #if (ERRCLASS & ERRCLS_DEBUG)
536 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW013, (ErrVal) ret1,
537 "SPutMsg failure ......!");
539 #endif /* ERRCLASS & ERRCLS_DEBUG */
544 return ((*func)(pst, &cfm));
546 } /* end of unpackRlcConfigCfm */
552 Pack Status Indication
554 * @param[in] pst : post structure
555 * @param[in] usta : RLC LM structure
558 * -# Failure : RFAILED
563 Pst *pst, /* post structure */
564 RlcMngmt *usta /* RLC LM structure */
567 Buffer *mBuf; /* message buffer */
568 S16 ret1; /* return value */
571 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
574 #if (ERRCLASS & ERRCLS_ADD_RES)
577 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW014, (ErrVal) ret1,
580 #endif /* ERRCLASS & ERRCLS_ADD_RES */
584 ret1 = cmPkRlcMngmt(usta, LKW_EVT_STA_IND, mBuf);
589 #if (ERRCLASS & ERRCLS_ADD_RES)
592 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW015, (ErrVal) ret1,
593 "cmPkRlcMngmt failure ......!");
595 #endif /* ERRCLASS & ERRCLS_ADD_RES */
599 pst->event = (Event) LKW_EVT_STA_IND; /* event */
604 } /* end of cmPkLkwStaInd */
609 Unpack Unsolicited Status indication
611 * @param[in] func : primitive to call
612 * @param[in] pst : post structure
613 * @param[in] mBuf : message buffer
616 * -# Failure : RFAILED
621 LkwStaInd func, /* primitive pointer */
622 Pst *pst, /* post structure */
623 Buffer *mBuf /* message buffer */
626 RlcMngmt usta; /* RLC LM structure */
627 S16 ret1; /* return value */
630 ret1 = cmUnpkRlcMngmt(&usta, LKW_EVT_STA_IND, mBuf);
635 #if (ERRCLASS & ERRCLS_DEBUG)
638 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW016, (ErrVal) ret1,
639 "cmUnpkRlcMngmt failure ......!");
641 #endif /* ERRCLASS & ERRCLS_DEBUG */
647 return ((*func)(pst, &usta));
648 } /* end of cmUnpkLsnStaInd */
654 * @param[in] pst : post structure
655 * @param[in] sta : RLC LM structure
658 * -# Failure : RFAILED
663 Pst *pst, /* post structure */
664 RlcMngmt *sta /* status */
667 Buffer *mBuf; /* message buffer */
668 S16 ret1; /* return value */
671 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
674 #if (ERRCLASS & ERRCLS_ADD_RES)
677 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW017, (ErrVal) ret1,
678 "SGetMsg failure ......!");
680 #endif /* ERRCLASS & ERRCLS_ADD_RES */
684 ret1 = cmPkRlcMngmt(sta, LKW_EVT_STA_REQ, mBuf);
689 #if (ERRCLASS & ERRCLS_ADD_RES)
692 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW018, (ErrVal) ret1,
693 "SGetMsg() failure ......!");
695 #endif /* ERRCLASS & ERRCLS_ADD_RES */
699 pst->event = (Event) LKW_EVT_STA_REQ; /* event */
704 } /* end of cmPkLkwStaReq */
708 Unpack status confirmation
710 * @param[in] func : primitive to call
711 * @param[in] pst : post structure
712 * @param[in] mBuf : message buffer
715 * -# Failure : RFAILED
719 LkwStaReq func, /* primitive pointer */
720 Pst *pst, /* post structure */
721 Buffer *mBuf /* message buffer */
724 RlcMngmt cfm; /* RLC LM structure */
725 S16 ret1; /* return value */
728 ret1 = cmUnpkRlcMngmt(&cfm, LKW_EVT_STA_CFM, mBuf);
733 #if (ERRCLASS & ERRCLS_DEBUG)
736 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW019, (ErrVal) ret1,
737 "Unpacking failure ......!");
739 #endif /* ERRCLASS & ERRCLS_DEBUG */
745 return ((*func)(pst, &cfm));
747 } /* end of function cmUnpkLkwStaCfm */
751 Unpack Status request
753 * @param[in] func : primitive to call
754 * @param[in] pst : post structure
755 * @param[in] mBuf : message buffer
758 * -# Failure : RFAILED
762 LkwStsReq func, /* primitive pointer */
763 Pst *pst, /* post structure */
764 Buffer *mBuf /* message buffer */
767 RlcMngmt sts; /* RLC LM structure */
768 S16 ret1; /* return value */
769 Action action; /* Action */
772 CMCHKUNPK(SUnpkS16, &action, mBuf);
774 ret1 = cmUnpkRlcMngmt(&sts, LKW_EVT_STS_REQ, mBuf);
779 #if (ERRCLASS & ERRCLS_DEBUG)
781 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW020, (ErrVal) ret1,
782 "Unpacking failure ......!");
784 #endif /* ERRCLASS & ERRCLS_DEBUG */
790 return ((*func)(pst, action, &sts));
792 } /* end of function cmUnpkLkwStsReq */
799 * @param[in] func : primitive to call
800 * @param[in] pst : post structure
801 * @param[in] mBuf : message buffer
804 * -# Failure : RFAILED
808 LkwStaReq func, /* primitive pointer */
809 Pst *pst, /* post structure */
810 Buffer *mBuf /* message buffer */
813 RlcMngmt sta; /* RLC LM structure */
814 S16 ret1; /* return value */
817 ret1 = cmUnpkRlcMngmt(&sta, LKW_EVT_STA_REQ, mBuf);
822 #if (ERRCLASS & ERRCLS_DEBUG)
824 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW021, (ErrVal) ret1,
825 "Unpacking failure ......!");
827 #endif /* ERRCLASS & ERRCLS_DEBUG */
833 return ((*func)(pst, &sta));
835 } /* end of function cmUnpkLkwStaReq */
840 Unpack Trace Indication
842 * @param[in] func : primitive to call
843 * @param[in] pst : post structure
844 * @param[in] mBuf : message buffer
847 * -# Failure : RFAILED
852 LkwTrcInd func, /* primitive to call */
853 Pst *pst, /* post structure */
854 Buffer *mBuf /* message buffer */
857 S16 ret1; /* return value */
858 RlcMngmt trc; /* RLC LM structure */
861 ret1 = cmUnpkRlcMngmt(&trc, LKW_EVT_TRC_IND, mBuf);
866 #if (ERRCLASS & ERRCLS_DEBUG)
869 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW022, (ErrVal) ret1,
870 "Unpacking failure ......!");
872 #endif /* ERRCLASS & ERRCLS_DEBUG */
876 (Void) (*func)(pst, &trc, mBuf);
880 } /* end of cmUnpkLkwTrcInd */
887 * @param[in] pst : post structure
888 * @param[in] cfg : RLC LM structure
891 * -# Failure : RFAILED
894 static S16 cmPkCkwSapSta
896 RlcCkwCntSapSta *rcSap, /* SAP statistics */
897 Buffer *mBuf /* Message buffer */
901 CMCHKPK(cmPkState, rcSap->state, mBuf);
902 CMCHKPK(SPkS16, rcSap->spId, mBuf);
906 } /* end of cmPkCkwSapSta */
912 * @param[out] rcSap: RLC LM structure
913 * @param[in] buffer: Buffer
916 * -# Failure : RFAILED
918 static S16 cmUnpkCkwSapSta
920 RlcCkwCntSapSta *rcSap, /* SAP statistics */
921 Buffer *mBuf /* Message buffer */
925 CMCHKUNPK(SUnpkS16, &rcSap->spId, mBuf);
926 CMCHKUNPK(cmUnpkState, &rcSap->state, mBuf);
929 } /* end of function cmUnpkCkwSapSta */
935 * @param[in] pst : post structure
936 * @param[in] cfg : RLC LM structure
939 * -# Failure : RFAILED
941 static S16 cmPkKwuSapSta
943 RlcKwuSapSta *rlSap, /* SAP statistics */
944 Buffer *mBuf /* Message buffer */
948 CMCHKPK(cmPkState, rlSap->state, mBuf);
949 CMCHKPK(SPkS16, rlSap->spId, mBuf);
953 } /* end of cmPkKwuSapSta */
959 * @param[out] rlSap : KwRLSapSta structure
960 * @param[in] mBuf : message buffer
963 * -# Failure : RFAILED
965 static S16 cmUnpkKwuSapSta
967 RlcKwuSapSta *rlSap, /* SAP statistics */
968 Buffer *mBuf /* Message buffer */
972 CMCHKUNPK(SUnpkS16, &rlSap->spId, mBuf);
973 CMCHKUNPK(cmUnpkState, &rlSap->state, mBuf);
977 } /* end of function cmUnpkKwuSapSta */
983 * @param[in] pst : post structure
984 * @param[in] cfg : RLC LM structure
987 * -# Failure : RFAILED
989 static S16 cmPkRguSapSta
991 RlcRguSapSta *mkSap, /* SAP statistics */
992 Buffer *mBuf /* Message buffer */
996 CMCHKPK(cmPkState, mkSap->state, mBuf);
997 CMCHKPK(cmPkSuId, mkSap->suId, mBuf);
1001 } /* end of cmPkRguSapSta */
1007 * @param[out] mkSap: RlcRguSapSta structure
1008 * @param[in] mBuf : message buffer
1011 * -# Failure : RFAILED
1013 static S16 cmUnpkRguSapSta
1015 RlcRguSapSta *mkSap, /* SAP statistics */
1016 Buffer *mBuf /* Message buffer */
1020 CMCHKUNPK(cmUnpkSuId, &mkSap->suId, mBuf);
1021 CMCHKUNPK(cmUnpkState, &mkSap->state, mBuf);
1025 } /* end of function cmUnpkRguSapSta */
1031 * @param[in] pst : post structure
1032 * @param[in] cfg : RLC LM structure
1035 * -# Failure : RFAILED
1039 Pst *pst, /* post structure */
1040 RlcMngmt *cfm /* solicited status confirm */
1043 Buffer *mBuf; /* message buffer */
1044 S16 ret1; /* return value */
1047 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
1050 #if (ERRCLASS & ERRCLS_ADD_RES)
1053 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW023, (ErrVal) ret1,
1054 "SGetMsg() failure ......!");
1056 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1060 ret1 = cmPkRlcMngmt(cfm, LKW_EVT_STA_CFM, mBuf);
1065 #if (ERRCLASS & ERRCLS_ADD_RES)
1068 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW024, (ErrVal) ret1,
1069 "packing failure ......!");
1071 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1075 pst->event = (Event) LKW_EVT_STA_CFM; /* event */
1079 } /* end of cmPkLkwStaCfm */
1086 * @param[in] pst : post structure
1087 * @param[in] cfg : RLC LM structure
1090 * -# Failure : RFAILED
1094 Pst *pst, /* post structure */
1095 RlcMngmt *trc, /* trace */
1096 Buffer *trcBuf /* trace buffer */
1099 S16 ret1 = ROK; /* return value */
1100 Buffer *mBuf = NULLP; /* Buffer to trace */
1103 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
1106 #if (ERRCLASS & ERRCLS_ADD_RES)
1109 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW025, (ErrVal) ret1,
1110 "SGetMsg() failure ......!");
1112 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1118 ret1 = SCatMsg(mBuf, trcBuf, M1M2);
1123 #if (ERRCLASS & ERRCLS_ADD_RES)
1126 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW026, (ErrVal) ret1,
1127 "SGetMsg() failure ......!");
1129 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1136 ret1 = cmPkRlcMngmt(trc, LKW_EVT_TRC_IND, mBuf);
1141 #if (ERRCLASS & ERRCLS_ADD_RES)
1144 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW027, (ErrVal) ret1,
1145 "packing failure ......!");
1147 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1152 pst->event = (Event) LKW_EVT_TRC_IND; /* event */
1157 } /* end of cmPkLkwTrcInd */
1164 * @param[in] pst : post structure
1165 * @param[in] cfg : RLC LM structure
1168 * -# Failure : RFAILED
1172 Pst *pst, /* post structure */
1173 Action action, /* action */
1174 RlcMngmt *sts /* statistics request */
1178 Buffer *mBuf; /* message buffer */
1179 S16 ret1; /* return value */
1182 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
1185 #if (ERRCLASS & ERRCLS_ADD_RES)
1188 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW028, (ErrVal) ret1,
1189 "SGetMsg() failure ......!");
1191 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1195 ret1 = cmPkRlcMngmt(sts, LKW_EVT_STS_REQ, mBuf);
1200 #if (ERRCLASS & ERRCLS_ADD_RES)
1203 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW029, (ErrVal) ret1,
1204 "Packing failure ......!");
1206 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1210 CMCHKPK(SPkS16, action, mBuf);
1211 pst->event = (Event) LKW_EVT_STS_REQ; /* event */
1216 } /* end of cmPkLkwStsReq */
1223 * @param[in] pst : post structure
1224 * @param[in] cfg : RLC LM structure
1227 * -# Failure : RFAILED
1231 Pst *pst, /* post structure */
1232 Action action, /* action */
1233 RlcMngmt *cfm /* statistics confirmation */
1236 Buffer *mBuf; /* message buffer */
1237 S16 ret1; /* return value */
1239 /* lkw_c_001.main_2 removed warning */
1241 ret1 = SGetMsg(pst->region, pst->pool, &mBuf);
1244 #if (ERRCLASS & ERRCLS_ADD_RES)
1247 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW030, (ErrVal) ret1,
1248 "SGetMsg() failure ......!");
1250 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1254 ret1 = cmPkRlcMngmt(cfm, LKW_EVT_STS_CFM, mBuf);
1259 #if (ERRCLASS & ERRCLS_ADD_RES)
1262 LKWLOGERROR(pst, ERRCLS_INT_PAR, ELKW031, (ErrVal) ret1,
1263 "Packing failure ......!");
1265 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1269 pst->event = (Event) LKW_EVT_STS_CFM; /* event */
1273 } /* end of cmPkLkwStsCfm */
1280 * @param[in] pst : post structure
1281 * @param[in] cfg : RLC LM structure
1284 * -# Failure : RFAILED
1287 static S16 cmPkRlcMngmt
1289 RlcMngmt *param, /* Managment */
1290 Event eventType, /* Event type */
1291 Buffer *mBuf /* Message Buffer */
1294 S16 ret1; /* return value */
1299 case LKW_EVT_CFG_REQ:
1300 ret1 = cmPkRlcCfg(param, param->hdr.elmId.elmnt ,mBuf);
1307 case LKW_EVT_CNTRL_REQ:
1308 ret1 = cmPkRlcCntrl(param, param->hdr.elmId.elmnt ,mBuf);
1315 case LKW_EVT_STA_IND:
1316 ret1 = cmPkRlcUsta(param, param->hdr.elmId.elmnt ,mBuf);
1323 case LKW_EVT_STA_REQ:
1324 case LKW_EVT_STA_CFM:
1325 ret1 = cmPkRlcSsta(param, param->hdr.elmId.elmnt , eventType, mBuf);
1332 case LKW_EVT_STS_REQ:
1333 case LKW_EVT_STS_CFM:
1334 ret1 = cmPkRlcSts(param, param->hdr.elmId.elmnt ,mBuf);
1340 case LKW_EVT_TRC_IND:
1341 ret1 = cmPkRlcTrc(param, mBuf);
1347 case LKW_EVT_CNTRL_CFM:
1348 case LKW_EVT_CFG_CFM:
1352 CMCHKPK(cmPkCmStatus, ¶m->cfm, mBuf);
1353 CMCHKPK(cmPkHeader, ¶m->hdr, mBuf);
1356 } /* end of function cmPkRlcMngmt */
1363 * @param[in] pst : post structure
1364 * @param[in] cfg : RLC LM structure
1367 * -# Failure : RFAILED
1369 static S16 cmPkRlcCfg
1381 CMCHKPK(oduUnpackUInt16, cfg->t.cfg.s.gen.maxRguSaps, mBuf);
1382 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.gen.rlcMode, mBuf);
1383 CMCHKPK(oduUnpackUInt32, cfg->t.cfg.s.gen.timeRes, mBuf);
1384 CMCHKPK(oduUnpackUInt16, cfg->t.cfg.s.gen.maxUdxSaps, mBuf);
1385 CMCHKPK(oduUnpackUInt16, cfg->t.cfg.s.gen.maxKwuSaps, mBuf);
1386 CMCHKPK(oduUnpackUInt32, cfg->t.cfg.s.gen.maxUe, mBuf);
1387 CMCHKPK(cmPkPst, &cfg->t.cfg.s.gen.lmPst,mBuf);
1396 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.route,mBuf);
1397 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.priority,mBuf);
1398 CMCHKPK(oduUnpackUInt16, cfg->t.cfg.s.sap.bndTmrIntvl, mBuf);
1399 CMCHKPK(SPkS16, cfg->t.cfg.s.sap.sapId, mBuf);
1400 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.inst, mBuf);
1401 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.ent, mBuf);
1402 CMCHKPK(oduUnpackUInt16, cfg->t.cfg.s.sap.procId, mBuf);
1403 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.mem.pool, mBuf);
1404 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.mem.region, mBuf);
1405 CMCHKPK(oduUnpackUInt8, cfg->t.cfg.s.sap.selector, mBuf);
1412 } /*end of function cmPkRlcCfg*/
1417 Pack kw control request
1419 * @param[in] cntrl : LM management structure
1420 * @param[in] elmnt : element
1421 * @param[in] mBuf : Buffer
1424 * -# Failure : RFAILED
1426 static S16 cmPkRlcCntrl
1433 uint8_t subAction; /* sub action */
1440 subAction = cntrl->t.cntrl.subAction;
1447 CMCHKPK(oduUnpackUInt32, cntrl->t.cntrl.s.dbgCntrl.dbgMask,
1453 CMCHKPK(SPkS16, cntrl->t.cntrl.s.trcCntrl.trcLen,
1455 CMCHKPK(oduUnpackUInt8, cntrl->t.cntrl.s.trcCntrl.trcMask,
1462 CMCHKPK(oduUnpackUInt32, cntrl->t.cntrl.s.logMask, mBuf);
1473 CMCHKPK(SPkS16, cntrl->t.cntrl.s.sapCntrl.spId, mBuf);
1474 CMCHKPK(SPkS16, cntrl->t.cntrl.s.sapCntrl.suId, mBuf);
1480 CMCHKPK(oduUnpackUInt8, cntrl->t.cntrl.action, mBuf);
1481 CMCHKPK(oduUnpackUInt8, cntrl->t.cntrl.subAction, mBuf);
1482 CMCHKPK(cmPkDateTime, &cntrl->t.cntrl.dt, mBuf);
1485 } /*end of function cmPkRlcCntrl */
1489 Pack unsolicit status
1491 * @param[in] usta : RLC LM structure
1492 * @param[in] elmnt : element
1493 * @param[in] mBuf : Buffer
1496 * -# Failure : RFAILED
1498 static S16 cmPkRlcUsta
1506 /* lkw_c_001.main_2 removed warning */
1508 /* lkw_c_001.main_2 added support for L2 Measurement */
1510 CMCHKPK(oduUnpackUInt8, usta->t.usta.qci, mBuf);
1512 CMCHKPK(oduUnpackUInt32, usta->t.usta.ueId, mBuf);
1513 CMCHKPK(SPkS16, usta->t.usta.suId, mBuf);
1514 CMCHKPK(cmPkCmAlarm, &usta->t.usta.alarm,mBuf);
1515 CMCHKPK(cmPkDateTime, &usta->t.usta.dt, mBuf);
1519 } /* end of cmPkRlcUsta */
1526 * @param[in] pst : post structure
1527 * @param[in] cfg : RLC LM structure
1530 * -# Failure : RFAILED
1532 static S16 cmPkRlcSsta
1547 if(eventType == LKW_EVT_STA_CFM)
1549 CMCHKPK(cmPkSystemId, &ssta->t.ssta.s.sysId,mBuf);
1553 ret1 = cmPkCkwSapSta(&ssta->t.ssta.s.ckwSap, mBuf);
1556 ret1 = cmPkKwuSapSta(&ssta->t.ssta.s.rlckwuSap, mBuf);
1560 ret1 = cmPkRguSapSta(&ssta->t.ssta.s.rguSap, mBuf);
1572 CMCHKPK(cmPkDateTime, &ssta->t.ssta.dt, mBuf);
1576 } /* end of cmPkRlcSsta */
1580 Pack Trace Indication
1582 * @param[in] trc : RLC LM structure
1583 * @param[in] mBuf : Buffer
1586 * -# Failure : RFAILED
1588 static S16 cmPkRlcTrc
1590 RlcMngmt *trc, /* trace */
1591 Buffer *mBuf /* data buffer */
1595 CMCHKPK(oduUnpackUInt16, trc->t.trc.event, mBuf);
1596 CMCHKPK(cmPkDateTime, &trc->t.trc.dt, mBuf);
1599 } /* end of cmPkRlcTrc */
1604 Pack Statistics request
1606 * @param[in] pst : post structure
1607 * @param[in] cfg : RLC LM structure
1610 * -# Failure : RFAILED
1613 static S16 cmPkRlcSts
1626 ret1 = cmPkGenSts(&sts->t.sts.s.gen, mBuf);
1629 ret1 = cmPkCkwSapSts(&sts->t.sts.s.ckwSap, mBuf);
1632 ret1 = cmPkKwuSapSts(&sts->t.sts.s.rlckwuSap, mBuf);
1634 /* lkw_c_001.main_2 removed support of RGU sap statistics as it is reflecting
1635 * in general statstics.
1640 } /* end of switch */
1647 CMCHKPK(cmPkDateTime, &sts->t.sts.dt, mBuf);
1650 } /* end of cmPkRlcSts */
1656 Pack general statistics
1658 * @param[in] gen : RlcGenSts structure
1659 * @param[in] mBuf : Buffer
1662 * -# Failure : RFAILED
1664 static S16 cmPkGenSts
1671 CMCHKPK(oduUnpackUInt32, gen->numSduDisc, mBuf);
1672 CMCHKPK(oduUnpackUInt32, gen->numOfRb, mBuf);
1673 CMCHKPK(oduUnpackUInt32, gen->protTimeOut, mBuf);
1674 CMCHKPK(oduUnpackUInt32, gen->errorPdusRecv, mBuf);
1675 CMCHKPK(oduUnpackUInt32, gen->unexpPdusRecv, mBuf);
1676 CMCHKPK(oduUnpackUInt32, gen->bytesSent, mBuf);
1677 CMCHKPK(oduUnpackUInt32, gen->bytesRecv, mBuf);
1678 CMCHKPK(oduUnpackUInt32, gen->pdusRetx, mBuf);
1679 CMCHKPK(oduUnpackUInt32, gen->pdusSent, mBuf);
1680 CMCHKPK(oduUnpackUInt32, gen->pdusRecv, mBuf);
1681 CMCHKPK(oduUnpackUInt32, gen->numUe, mBuf);
1685 } /* end of cmPkGenSts */
1691 * @param[in] pst : post structure
1692 * @param[in] cfg : RLC LM structure
1695 * -# Failure : RFAILED
1697 static S16 cmPkCkwSapSts
1699 RlcCkwCntSts *rcSap,
1704 CMCHKPK(oduUnpackUInt32, rcSap->statMsgs, mBuf);
1707 } /* end of cmPkCkwSapSts */
1713 * @param[in] pst : post structure
1714 * @param[in] cfg : RLC LM structure
1717 * -# Failure : RFAILED
1719 static S16 cmPkKwuSapSts
1721 RlcKwuSapSts *ruSap,
1726 CMCHKPK(oduUnpackUInt32, ruSap->sduTx, mBuf);
1727 CMCHKPK(oduUnpackUInt32, ruSap->sduRx, mBuf);
1728 /* lkw_c_001.main_2 changed from suId to spId */
1729 CMCHKPK(cmPkSuId, ruSap->spId, mBuf);
1732 } /* end of cmPkCkwSapSts */
1734 /* lkw_c_001.main_2 removed support of RGU sap statistics as it is reflecting
1735 * in general statstics.
1740 Unpack RLC Layer Management structure
1742 * @param[in] param : RLC LM structure
1743 * @param[in] eventType : event type
1744 * @param[in] mBuf : message buffer
1747 * -# Failure : RFAILED
1749 static S16 cmUnpkRlcMngmt
1758 memset(param, 0, sizeof(RlcMngmt));
1760 CMCHKUNPK(cmUnpkHeader, ¶m->hdr, mBuf);
1761 CMCHKUNPK(cmUnpkCmStatus, ¶m->cfm, mBuf);
1765 case LKW_EVT_CFG_REQ:
1766 ret1 = cmUnpkRlcCfg(param, param->hdr.elmId.elmnt ,mBuf);
1772 case LKW_EVT_CNTRL_REQ:
1773 ret1 = cmUnpkRlcCntrl(param, param->hdr.elmId.elmnt ,mBuf);
1780 case LKW_EVT_STA_IND:
1781 ret1 = cmUnpkRlcUsta(param, param->hdr.elmId.elmnt ,mBuf);
1788 case LKW_EVT_STA_REQ:
1789 case LKW_EVT_STA_CFM:
1790 ret1 = cmUnpkRlcSsta(param, param->hdr.elmId.elmnt, eventType,mBuf);
1797 case LKW_EVT_STS_REQ:
1798 case LKW_EVT_STS_CFM:
1800 ret1 = cmUnpkRlcSts(param, param->hdr.elmId.elmnt ,mBuf);
1806 case LKW_EVT_TRC_IND:
1807 ret1 = cmUnpkRlcTrc(param, mBuf);
1814 case LKW_EVT_CNTRL_CFM:
1815 case LKW_EVT_CFG_CFM:
1822 } /*end of function cmUnpkRlcMngmt*/
1826 Unpack Kw configuration structure
1828 * @param[out] cfg : RLC LM structure
1829 * @param[in] elmnt : element
1830 * @param[in] mBuf : message buffer
1833 * -# Failure : RFAILED
1835 static S16 cmUnpkRlcCfg
1847 CMCHKUNPK(cmUnpkPst, &cfg->t.cfg.s.gen.lmPst,mBuf);
1848 CMCHKUNPK(oduPackUInt32, &cfg->t.cfg.s.gen.maxUe, mBuf);
1849 CMCHKUNPK(oduPackUInt16, &cfg->t.cfg.s.gen.maxKwuSaps, mBuf);
1850 CMCHKUNPK(oduPackUInt16, &cfg->t.cfg.s.gen.maxUdxSaps, mBuf);
1851 CMCHKUNPK(oduPackUInt32, &cfg->t.cfg.s.gen.timeRes, mBuf);
1852 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.gen.rlcMode, mBuf);
1853 CMCHKUNPK(oduPackUInt16, &cfg->t.cfg.s.gen.maxRguSaps, mBuf);
1862 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.selector, mBuf);
1863 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.mem.region, mBuf);
1864 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.mem.pool, mBuf);
1865 CMCHKUNPK(oduPackUInt16, &cfg->t.cfg.s.sap.procId, mBuf);
1866 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.ent, mBuf);
1867 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.inst, mBuf);
1868 CMCHKUNPK(SUnpkS16, &cfg->t.cfg.s.sap.sapId, mBuf);
1869 CMCHKUNPK(oduPackUInt16, &cfg->t.cfg.s.sap.bndTmrIntvl, mBuf);
1870 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.priority,mBuf);
1871 CMCHKUNPK(oduPackUInt8, &cfg->t.cfg.s.sap.route,mBuf);
1876 } /* end of switch */
1879 } /* end of cmUnpkRlcCfg */
1883 Unpack Control Structure
1885 * @param[in] cfm : RLC LM structure
1886 * @param[in] elmnt : element
1887 * @param[in] mBuf : message buffer
1890 * -# Failure : RFAILED
1892 static S16 cmUnpkRlcCntrl
1900 RlcDbgCntrl *dbgCntrl;
1901 RlcTrcCntrl *trcCntrl;
1904 /* lkw_c_001.main_2 removed warning */
1907 CMCHKUNPK(cmUnpkDateTime, &cfm->t.cntrl.dt, mBuf);
1908 CMCHKUNPK(oduPackUInt8, &cfm->t.cntrl.subAction, mBuf);
1909 CMCHKUNPK(oduPackUInt8, &cfm->t.cntrl.action, mBuf);
1911 subAction = cfm->t.cntrl.subAction;
1913 switch(cfm->hdr.elmId.elmnt)
1923 dbgCntrl = &cfm->t.cntrl.s.dbgCntrl;
1924 CMCHKUNPK(oduPackUInt32, &dbgCntrl->dbgMask, mBuf);
1929 trcCntrl = &cfm->t.cntrl.s.trcCntrl;
1930 CMCHKUNPK(oduPackUInt8, &trcCntrl->trcMask, mBuf);
1931 CMCHKUNPK(SUnpkS16,&trcCntrl->trcLen, mBuf);
1937 CMCHKUNPK(oduPackUInt32, &cfm->t.cntrl.s.logMask, mBuf);
1948 CMCHKUNPK(SUnpkS16, &cfm->t.cntrl.s.sapCntrl.suId, mBuf);
1949 CMCHKUNPK(SUnpkS16, &cfm->t.cntrl.s.sapCntrl.spId, mBuf);
1957 } /* end of cmUnpkRlcCntrl */
1964 * @param[in] usta : RLC LM Structure
1965 * @param[in] elmnt : element
1966 * @param[out] mBuf : message buffer
1969 * -# Failure : RFAILED
1971 static S16 cmUnpkRlcUsta
1979 /* lkw_c_001.main_2 removed warning */
1982 CMCHKUNPK(cmUnpkDateTime, &usta->t.usta.dt, mBuf);
1983 CMCHKUNPK(cmUnpkCmAlarm, &usta->t.usta.alarm,mBuf);
1984 CMCHKUNPK(SUnpkS16, &usta->t.usta.suId, mBuf);
1985 CMCHKUNPK(oduPackUInt32, &usta->t.usta.ueId, mBuf);
1986 /* lkw_c_001.main_2 added support for L2 Measurement */
1988 CMCHKUNPK(oduPackUInt8, &usta->t.usta.qci, mBuf);
1997 * @param[out] ssta: RLC LM structure
1998 * @param[in] elmnt : element
1999 * @param[in] mBuf : message buffer
2002 * -# Failure : RFAILED
2004 static S16 cmUnpkRlcSsta
2012 S16 ret1; /* return value */
2014 CMCHKUNPK(cmUnpkDateTime, &ssta->t.ssta.dt, mBuf);
2019 if(eventType == LKW_EVT_STA_CFM)
2021 memset( ptNmb, 0, LKW_PART_NUM_STR_LEN);
2022 ssta->t.ssta.s.sysId.ptNmb = ptNmb;
2023 CMCHKUNPK(cmUnpkSystemId, &ssta->t.ssta.s.sysId,mBuf);
2027 ret1 = cmUnpkCkwSapSta(&ssta->t.ssta.s.ckwSap, mBuf);
2030 ret1 = cmUnpkKwuSapSta(&ssta->t.ssta.s.rlckwuSap, mBuf);
2034 ret1 = cmUnpkRguSapSta(&ssta->t.ssta.s.rguSap, mBuf);
2052 Unpack trace Indication
2054 * @param[out] trc : RLC LM Structure
2055 * @param[in] mBuf : message buffer
2058 * -# Failure : RFAILED
2060 static S16 cmUnpkRlcTrc
2067 CMCHKUNPK(cmUnpkDateTime, &trc->t.trc.dt, mBuf);
2068 CMCHKUNPK(oduPackUInt16, &trc->t.trc.event, mBuf);
2071 } /* end of cmUnpkRlcTrc */
2078 * @param[out] sts : RLC LM structure
2079 * @param[in] elmnt : element
2080 * @param[in] mBuf : message buffer
2083 * -# Failure : RFAILED
2085 static S16 cmUnpkRlcSts
2092 S16 ret1; /* return value */
2094 CMCHKUNPK(cmUnpkDateTime, &sts->t.sts.dt, mBuf);
2099 ret1 = cmUnpkGenSts(&sts->t.sts.s.gen, mBuf);
2102 ret1 = cmUnpkCkwSapSts(&sts->t.sts.s.ckwSap, mBuf);
2105 ret1 = cmUnpkKwuSapSts(&sts->t.sts.s.rlckwuSap, mBuf);
2107 /* lkw_c_001.main_2 removed support of RGU sap statistics as it is reflecting
2108 * in general statstics.
2113 } /* end of switch */
2121 } /* end of cmUnpkRlcSts */
2126 Unpack General statistics
2128 * @param[out] gen : RlcGenSts structure
2129 * @param[in] mBuf : message buffer
2132 * -# Failure : RFAILED
2134 static S16 cmUnpkGenSts
2141 CMCHKUNPK(oduPackUInt32, &gen->numUe, mBuf);
2142 CMCHKUNPK(oduPackUInt32, &gen->pdusRecv, mBuf);
2143 CMCHKUNPK(oduPackUInt32, &gen->pdusSent, mBuf);
2144 CMCHKUNPK(oduPackUInt32, &gen->pdusRetx, mBuf);
2145 CMCHKUNPK(oduPackUInt32, &gen->bytesRecv, mBuf);
2146 CMCHKUNPK(oduPackUInt32, &gen->bytesSent, mBuf);
2147 CMCHKUNPK(oduPackUInt32, &gen->unexpPdusRecv, mBuf);
2148 CMCHKUNPK(oduPackUInt32, &gen->errorPdusRecv, mBuf);
2149 CMCHKUNPK(oduPackUInt32, &gen->protTimeOut, mBuf);
2150 CMCHKUNPK(oduPackUInt32, &gen->numOfRb, mBuf);
2151 CMCHKUNPK(oduPackUInt32, &gen->numSduDisc, mBuf);
2154 } /* end of cmUnpkGenSts */
2158 Unpack Ckw Sap Statistics
2160 * @param[out] rcSap : RlcCkwCntSts structure
2161 * @param[in] mBuf : message buffer
2164 * -# Failure : RFAILED
2166 static S16 cmUnpkCkwSapSts
2168 RlcCkwCntSts *rcSap,
2174 CMCHKUNPK(oduPackUInt32, &rcSap->statMsgs, mBuf);
2178 } /* end of cmUnpkCkwSapSts */
2182 Unpack Kwu Sap statistics
2184 * @param[out] : RlcKwuSapSts structure
2185 * @param[in] mBuf : message buffer
2188 * -# Failure : RFAILED
2190 static S16 cmUnpkKwuSapSts
2192 RlcKwuSapSts *ruSap,
2197 /* lkw_c_001.main_2 changed from suId to spId */
2198 CMCHKUNPK(cmUnpkSuId, &ruSap->spId, mBuf);
2199 CMCHKUNPK(oduPackUInt32, &ruSap->sduRx, mBuf);
2200 CMCHKUNPK(oduPackUInt32, &ruSap->sduTx, mBuf);
2204 } /* end of cmUnpkKwuSapSts */
2206 /* lkw_c_001.main_2 added support for L2 Measurement */
2208 S16 cmPkLkwL2MeasReq
2211 RlcL2MeasReqEvt *measReqEvt
2214 Buffer *mBuf = NULLP;
2216 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
2217 #if (ERRCLASS & ERRCLS_ADD_RES)
2218 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2219 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2220 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2222 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));
2225 if (cmPkRlcL2MeasReqInfo(&measReqEvt->measReq, mBuf) != ROK) {
2226 #if (ERRCLASS & ERRCLS_ADD_RES)
2227 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2228 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2229 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2231 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));
2235 if (oduUnpackUInt16(measReqEvt->measPeriod, mBuf) != ROK) {
2236 #if (ERRCLASS & ERRCLS_ADD_RES)
2237 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2238 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2239 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2241 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));
2245 if (oduUnpackUInt32(measReqEvt->transId, mBuf) != ROK) {
2246 #if (ERRCLASS & ERRCLS_ADD_RES)
2247 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2248 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2249 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2251 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));
2256 pst->event = (Event) LKW_EVT_L2MEAS_REQ;
2257 return (SPstTsk(pst,mBuf));
2260 S16 cmPkRlcL2MeasReqInfo
2262 RlcL2MeasReqInfo *param,
2270 if((param->measType & LKW_L2MEAS_DL_IP) ||
2271 (param->measType & LKW_L2MEAS_UL_IP))
2273 for(idx1 = 0;idx1 < param->val.ipThMeas.numUes;idx1++)
2276 CMCHKPK(cmPkLteCellId, param->val.ipThMeas.ueInfoLst[idx1].cellId, mBuf);
2277 CMCHKPK(cmPkLteRnti, param->val.ipThMeas.ueInfoLst[idx1].ueId, mBuf);
2278 for(idx = 0; idx < param->val.ipThMeas.ueInfoLst[idx1].numQci; idx++)
2280 CMCHKPK(oduUnpackUInt8, param->val.ipThMeas.ueInfoLst[idx1].qci[idx], mBuf);
2282 CMCHKPK(oduUnpackUInt8, param->val.ipThMeas.ueInfoLst[idx1].numQci, mBuf);
2284 CMCHKPK(oduUnpackUInt16, param->val.ipThMeas.numUes, mBuf);
2285 CMCHKPK(oduUnpackUInt8, param->measType, mBuf);
2290 for(idx = 0; idx < param->val.nonIpThMeas.numQci; idx++)
2292 CMCHKPK(oduUnpackUInt8, param->val.nonIpThMeas.qci[idx], mBuf);
2294 CMCHKPK(oduUnpackUInt8, param->val.nonIpThMeas.numQci, mBuf);
2295 CMCHKPK(oduUnpackUInt16, param->val.nonIpThMeas.numSamples, mBuf);
2297 CMCHKPK(oduUnpackUInt8, param->measType, mBuf);
2301 S16 cmPkLkwL2MeasStopReq
2307 Buffer *mBuf = NULLP;
2309 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
2310 #if (ERRCLASS & ERRCLS_ADD_RES)
2311 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2312 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2313 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2317 CMCHKPK(oduUnpackUInt8, measType, mBuf);
2318 pst->event = (Event) LKW_EVT_L2MEAS_STOP_REQ;
2319 return (SPstTsk(pst,mBuf));
2322 S16 cmPkLkwL2MeasSendReq
2328 Buffer *mBuf = NULLP;
2330 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
2331 #if (ERRCLASS & ERRCLS_ADD_RES)
2332 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2333 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2334 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2338 CMCHKPK(oduUnpackUInt8, measType, mBuf);
2339 pst->event = (Event) LKW_EVT_L2MEAS_SEND_REQ;
2340 return (SPstTsk(pst,mBuf));
2342 #ifdef TENB_SPLIT_ARCH
2343 S16 cmUnpkLkwL2MeasReq
2350 RlcL2MeasReqEvt measReqEvt;
2353 if (oduPackUInt32(&measReqEvt.transId, mBuf) != ROK) {
2355 #if (ERRCLASS & ERRCLS_ADD_RES)
2356 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2357 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2358 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2362 if (oduPackUInt16(&measReqEvt.measPeriod, mBuf) != ROK) {
2364 #if (ERRCLASS & ERRCLS_ADD_RES)
2365 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2366 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2367 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2371 if (cmUnpkRlcL2MeasReqInfo(&measReqEvt.measReq, mBuf) != ROK)
2373 /*SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));*/
2375 #if (ERRCLASS & ERRCLS_ADD_RES)
2376 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2377 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2378 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2383 return ((*func)(pst, &measReqEvt));
2386 S16 cmUnpkLkwL2MeasReq
2394 RlcL2MeasReqEvt *measReqEvt;
2398 if((ret = SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&measReqEvt,\
2399 sizeof(RlcL2MeasReqEvt))) != ROK)
2401 #if (ERRCLASS & ERRCLS_ADD_RES)
2402 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2403 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2404 (ErrVal)ERRLKW, (ErrVal)0, "SGetMsg() failed");
2405 #endif /* ERRCLASS & ERRCLS_ADD_RES */
2409 if (oduPackUInt32(&measReqEvt->transId, mBuf) != ROK) {
2411 #if (ERRCLASS & ERRCLS_ADD_RES)
2412 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2413 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2414 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2418 if (oduPackUInt16(&measReqEvt->measPeriod, mBuf) != ROK) {
2420 #if (ERRCLASS & ERRCLS_ADD_RES)
2421 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2422 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2423 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2427 if (cmUnpkRlcL2MeasReqInfo(&measReqEvt->measReq, mBuf) != ROK)
2429 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measReqEvt, sizeof(RlcL2MeasReqEvt));
2431 #if (ERRCLASS & ERRCLS_ADD_RES)
2432 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2433 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2434 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2439 return ((*func)(pst, measReqEvt));
2443 S16 cmUnpkRlcL2MeasReqInfo
2445 RlcL2MeasReqInfo *param,
2453 CMCHKUNPK(oduPackUInt8, ¶m->measType, mBuf);
2455 if((param->measType & LKW_L2MEAS_DL_IP) ||
2456 (param->measType & LKW_L2MEAS_UL_IP))
2458 CMCHKUNPK(oduPackUInt16, ¶m->val.ipThMeas.numUes, mBuf);
2459 for(idx1 = 0;idx1 < param->val.ipThMeas.numUes;idx1++)
2461 CMCHKUNPK(oduPackUInt8, ¶m->val.ipThMeas.ueInfoLst[idx1].numQci, mBuf);
2462 for(idx = param->val.ipThMeas.ueInfoLst[idx1].numQci; idx > 0; idx--)
2464 CMCHKUNPK(oduPackUInt8, ¶m->val.ipThMeas.ueInfoLst[idx1].\
2465 qci[idx - 1], mBuf);
2467 CMCHKUNPK(cmUnpkLteRnti, ¶m->val.ipThMeas.ueInfoLst[idx1].\
2469 CMCHKUNPK(cmUnpkLteCellId, ¶m->val.ipThMeas.\
2470 ueInfoLst[idx1].cellId, mBuf);
2476 CMCHKUNPK(oduPackUInt16, ¶m->val.nonIpThMeas.numSamples, mBuf);
2477 CMCHKUNPK(oduPackUInt8, ¶m->val.nonIpThMeas.numQci, mBuf);
2478 for(idx = param->val.nonIpThMeas.numQci; idx > 0; idx--)
2480 CMCHKUNPK(oduPackUInt8, ¶m->val.nonIpThMeas.qci[idx - 1], mBuf);
2486 S16 cmUnpkLkwL2MeasStopReq
2488 LkwL2MeasStopReq func,
2495 CMCHKUNPK(oduPackUInt8, &measType, mBuf);
2497 return ((*func)(pst, measType));
2500 S16 cmUnpkLkwL2MeasSendReq
2502 LkwL2MeasSendReq func,
2510 CMCHKUNPK(oduPackUInt8, &measType, mBuf);
2512 return ((*func)(pst, measType));
2515 S16 cmPkLkwL2MeasCfm
2518 RlcL2MeasCfmEvt *measCfmEvt
2521 Buffer *mBuf = NULLP;
2526 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
2527 #if (ERRCLASS & ERRCLS_ADD_RES)
2528 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2529 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2530 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2532 SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)measCfmEvt, sizeof(RlcL2MeasCfmEvt));
2536 if((measCfmEvt->measType & LKW_L2MEAS_ACT_UE) || \
2537 (measCfmEvt->measType & LKW_L2MEAS_UU_LOSS) || \
2538 (measCfmEvt->measType & LKW_L2MEAS_DL_DISC) || \
2539 (measCfmEvt->measType & LKW_L2MEAS_DL_DELAY))
2541 for(idx = 0; idx < measCfmEvt->val.nonIpThMeas.numCfm; idx++)
2543 if (cmPkRlcL2MeasCfmInfo(&measCfmEvt->val.nonIpThMeas.measCfm[idx], \
2544 mBuf, measCfmEvt->measType) != ROK) {
2545 #if (ERRCLASS & ERRCLS_ADD_RES)
2546 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2547 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2548 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2555 if (oduUnpackUInt16(measCfmEvt->val.nonIpThMeas.numCfm, mBuf) != ROK) {
2556 #if (ERRCLASS & ERRCLS_ADD_RES)
2557 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2558 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2559 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2567 for(idx1 =0 ;idx1< measCfmEvt->val.ipThMeas.numUes;idx1++)
2570 for(idx = 0; idx < measCfmEvt->val.ipThMeas.ueInfoLst[idx1].numCfm; idx++)
2572 if (cmPkRlcL2MeasCfmInfo(&measCfmEvt->val.ipThMeas.ueInfoLst[idx1].\
2573 measCfm[idx], mBuf, measCfmEvt->measType) != ROK) {
2574 #if (ERRCLASS & ERRCLS_ADD_RES)
2575 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2576 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2577 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2584 if (oduUnpackUInt16(measCfmEvt->val.ipThMeas.ueInfoLst[idx1].numCfm, mBuf) != ROK) {
2585 #if (ERRCLASS & ERRCLS_ADD_RES)
2586 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2587 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2588 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2594 CMCHKPK(cmPkLteCellId, measCfmEvt->val.ipThMeas.ueInfoLst[idx1].cellId, mBuf);
2595 CMCHKPK(cmPkLteRnti, measCfmEvt->val.ipThMeas.ueInfoLst[idx1].ueId, mBuf);
2597 oduUnpackUInt16(measCfmEvt->val.ipThMeas.numUes, mBuf);
2600 CMCHKPK(oduUnpackUInt8, measCfmEvt->measType, mBuf);
2601 CMCHKPK(cmPkCmStatus, &measCfmEvt->status, mBuf);
2602 if (oduUnpackUInt32(measCfmEvt->transId, mBuf) != ROK) {
2603 #if (ERRCLASS & ERRCLS_ADD_RES)
2604 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2605 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2606 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2611 pst->event = (Event) LKW_EVT_L2MEAS_CFM;
2612 return (SPstTsk(pst,mBuf));
2615 S16 cmPkRlcL2MeasCfmInfo
2617 RlcL2MeasCfmInfo *param,
2623 if((measType & LKW_L2MEAS_DL_IP) ||
2624 (measType & LKW_L2MEAS_UL_IP))
2626 CMCHKPK(SPkF32, param->val.ipThrput.ulIpThPut, mBuf);
2627 CMCHKPK(SPkF32, param->val.ipThrput.dlIpThPut, mBuf);
2628 CMCHKPK(oduUnpackUInt8, param->qci, mBuf);
2633 CMCHKPK(oduUnpackUInt32, param->val.nonIpThrput.dlDiscRate, mBuf);
2634 CMCHKPK(oduUnpackUInt32, param->val.nonIpThrput.uuLoss, mBuf);
2635 CMCHKPK(oduUnpackUInt32, param->val.nonIpThrput.numActUe, mBuf);
2636 CMCHKPK(oduUnpackUInt32, param->val.nonIpThrput.dlSduDelay, mBuf);
2637 CMCHKPK(oduUnpackUInt8, param->qci, mBuf);
2642 S16 cmUnpkLkwL2MeasCfm
2651 RlcL2MeasCfmEvt measCfmEvt;
2653 memset(&measCfmEvt, 0 , sizeof(RlcL2MeasCfmEvt));
2654 if (oduPackUInt32(&measCfmEvt.transId, mBuf) != ROK) {
2656 #if (ERRCLASS & ERRCLS_ADD_RES)
2657 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2658 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2659 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2663 CMCHKUNPK(cmUnpkCmStatus, &measCfmEvt.status, mBuf);
2664 CMCHKUNPK(oduPackUInt8, &measCfmEvt.measType, mBuf);
2666 if(measCfmEvt.measType & LKW_L2MEAS_DL_IP || measCfmEvt.measType & LKW_L2MEAS_UL_IP)
2668 CMCHKUNPK(oduPackUInt16, &measCfmEvt.val.ipThMeas.numUes, mBuf);
2669 for(idx1 = 0;idx1<measCfmEvt.val.ipThMeas.numUes;idx1++)
2671 CMCHKUNPK(cmUnpkLteRnti, &measCfmEvt.val.ipThMeas.\
2672 ueInfoLst[idx1].ueId, mBuf);
2673 CMCHKUNPK(cmUnpkLteCellId, &measCfmEvt.val.ipThMeas.\
2674 ueInfoLst[idx1].cellId, mBuf);
2675 if (oduPackUInt16(&measCfmEvt.val.ipThMeas.ueInfoLst[idx1].\
2676 numCfm, mBuf) != ROK) {
2678 #if (ERRCLASS & ERRCLS_ADD_RES)
2679 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2680 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2681 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2685 for(idx = measCfmEvt.val.ipThMeas.ueInfoLst[idx1].numCfm; idx > 0; idx--)
2687 if (cmUnpkRlcL2MeasCfmInfo(&measCfmEvt.val.ipThMeas.ueInfoLst[idx1].\
2688 measCfm[idx - 1], mBuf, measCfmEvt.measType) != ROK) {
2690 #if (ERRCLASS & ERRCLS_ADD_RES)
2691 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2692 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2693 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2702 if (oduPackUInt16(&measCfmEvt.val.nonIpThMeas.numCfm, mBuf) != ROK) {
2704 #if (ERRCLASS & ERRCLS_ADD_RES)
2705 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2706 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2707 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2711 for(idx = measCfmEvt.val.nonIpThMeas.numCfm; idx > 0; idx--)
2713 if (cmUnpkRlcL2MeasCfmInfo(&measCfmEvt.val.nonIpThMeas.measCfm[idx - 1], \
2714 mBuf, measCfmEvt.measType) != ROK) {
2716 #if (ERRCLASS & ERRCLS_ADD_RES)
2717 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2718 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2719 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2726 return ((*func)(pst, &measCfmEvt));
2729 S16 cmUnpkRlcL2MeasCfmInfo
2731 RlcL2MeasCfmInfo *param,
2737 if((measType & LKW_L2MEAS_DL_IP) ||
2738 (measType & LKW_L2MEAS_UL_IP))
2740 CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf);
2741 CMCHKUNPK(SUnpkF32, ¶m->val.ipThrput.dlIpThPut, mBuf);
2742 CMCHKUNPK(SUnpkF32, ¶m->val.ipThrput.ulIpThPut, mBuf);
2747 CMCHKUNPK(oduPackUInt8, ¶m->qci, mBuf);
2748 CMCHKUNPK(oduPackUInt32, ¶m->val.nonIpThrput.dlSduDelay, mBuf);
2749 CMCHKUNPK(oduPackUInt32, ¶m->val.nonIpThrput.numActUe, mBuf);
2750 CMCHKUNPK(oduPackUInt32, ¶m->val.nonIpThrput.uuLoss, mBuf);
2751 CMCHKUNPK(oduPackUInt32, ¶m->val.nonIpThrput.dlDiscRate, mBuf);
2757 S16 cmPkLkwL2MeasStopCfm
2764 Buffer *mBuf = NULLP;
2766 if (SGetMsg(pst->region, pst->pool, &mBuf) != ROK) {
2767 #if (ERRCLASS & ERRCLS_ADD_RES)
2768 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
2769 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
2770 (ErrVal)ERRLKW, (ErrVal)0, "Packing failed");
2774 CMCHKPK(oduUnpackUInt8, status, mBuf);
2775 CMCHKPK(oduUnpackUInt8, measType, mBuf);
2776 pst->event = (Event) LKW_EVT_L2MEAS_STOP_CFM;
2777 return (SPstTsk(pst,mBuf));
2781 S16 cmUnpkLkwL2MeasStopCfm
2783 LkwL2MeasStopCfm func,
2790 CMCHKUNPK(oduPackUInt8, &measType, mBuf);
2791 CMCHKUNPK(oduPackUInt8, &status, mBuf);
2793 return ((*func)(pst, measType,status));
2795 #endif /* LTE_L2_MEAS */
2799 /**********************************************************************
2801 **********************************************************************/