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: CKW RRC Control Interface
25 Desc: This file Contains the packing and unpacking functions for
30 *********************************************************************21*/
32 #include "common_def.h"
36 /* extern (.x) include files */
41 #endif /*for extern "C"*/
48 * Desc: pack the primitive CkwBndReq
68 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
70 #if (ERRCLASS & ERRCLS_ADD_RES)
73 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
74 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
75 (ErrVal)ECKW001, (ErrVal)0, "SGetMsg() failed");
77 #endif /* ERRCLASS & ERRCLS_ADD_RES */
80 CMCHKPKLOG(SPkS16, spId, mBuf, ECKW002, pst);
81 CMCHKPKLOG(SPkS16, suId, mBuf, ECKW003, pst);
82 pst->event = (Event) CKW_EVT_BND_REQ;
84 return (SPstTsk(pst,mBuf));
85 } /*end of function cmPkCkwBndReq*/
91 * Desc: pack the primitive CkwUbndReq
111 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
113 #if (ERRCLASS & ERRCLS_ADD_RES)
116 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
117 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
118 (ErrVal)ECKW004, (ErrVal)0, "SGetMsg() failed");
120 #endif /* ERRCLASS & ERRCLS_ADD_RES */
123 CMCHKPKLOG(SPkS16, reason, mBuf, ECKW005, pst);
124 CMCHKPKLOG(SPkS16, spId, mBuf, ECKW006, pst);
125 pst->event = (Event) CKW_EVT_UBND_REQ;
127 return (SPstTsk(pst,mBuf));
128 } /*end of function cmPkCkwUbndReq*/
134 * Desc: pack the primitive CkwBndCfm
154 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
156 #if (ERRCLASS & ERRCLS_ADD_RES)
159 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
160 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
161 (ErrVal)ECKW007, (ErrVal)0, "SGetMsg() failed");
164 #endif /* ERRCLASS & ERRCLS_ADD_RES */
167 CMCHKPKLOG(oduUnpackUInt8, status, mBuf, ECKW008, pst);
168 CMCHKPKLOG(SPkS16, suId, mBuf, ECKW009, pst);
169 pst->event = (Event) CKW_EVT_BND_CFM;
171 return (SPstTsk(pst,mBuf));
172 } /*end of function cmPkCkwBndCfm*/
179 * Desc: pack the structure RlcTmInfo
195 CMCHKPK(oduUnpackUInt32, param->dl.buffSize, mBuf);
198 } /* cmPkRlcTmInfo */
205 * Desc: pack the structure RlcUmInfo
216 RlcEntCfgInfo *param,
225 CMCHKPK(oduUnpackUInt8, param->m.umInfo.dl.snLen, mBuf);
230 CMCHKPK(oduUnpackUInt8, param->m.umInfo.ul.reAsmblTmr, mBuf);
231 CMCHKPK(oduUnpackUInt8, param->m.umInfo.ul.snLen, mBuf);
234 /* Patch ckw_c_001.main_3 */
235 case CKW_CFG_DIR_BOTH:
237 CMCHKPK(oduUnpackUInt8, param->m.umInfo.dl.snLen, mBuf);
238 CMCHKPK(oduUnpackUInt8, param->m.umInfo.ul.reAsmblTmr, mBuf);
239 CMCHKPK(oduUnpackUInt8, param->m.umInfo.ul.snLen, mBuf);
245 } /* cmPkRlcUmInfo */
252 * Desc: pack the structure RlcAmInfo
269 CMCHKPK(oduUnpackUInt8, param->ul.reAsmblTmr, mBuf);
270 CMCHKPK(oduUnpackUInt16, param->ul.staProhTmr, mBuf);
271 CMCHKPK(oduUnpackUInt8, param->ul.snLen, mBuf);
274 CMCHKPK(oduUnpackUInt8, param->dl.maxRetx, mBuf);
275 CMCHKPK(SPkS32, param->dl.pollByte, mBuf);
276 CMCHKPK(SPkS16, param->dl.pollPdu, mBuf);
277 CMCHKPK(oduUnpackUInt16, param->dl.pollRetxTmr, mBuf);
278 CMCHKPK(oduUnpackUInt8, param->dl.snLen, mBuf);
281 } /* cmPkRlcAmInfo */
288 * Desc: pack the structure CkwLChInfo
304 CMCHKPK(oduUnpackUInt8, param->type, mBuf);
305 CMCHKPK(oduUnpackUInt8, param->lChId, mBuf);
308 } /* cmPkCkwLChInfo */
313 * Fun: cmPkRlcEntCfgInfo
315 * Desc: pack the structure RlcEntCfgInfo
324 S16 cmPkRlcEntCfgInfo
326 RlcEntCfgInfo *param,
331 switch(param->entMode)
335 CMCHKPK(cmPkRlcTmInfo, &(param->m.tmInfo), mBuf);
340 CMCHKPK(cmPkRlcUmInfo, param, mBuf);
345 CMCHKPK(cmPkRlcAmInfo, &(param->m.amInfo), mBuf);
350 /* Logical Channel Information */
351 switch(param->entMode)
355 CMCHKPK(cmPkCkwLChInfo, &(param->lCh[0]), mBuf);
358 /* ccpu00128195: Packing lCh[0] and lCh[1] for UM bearer as well */
362 CMCHKPK(cmPkCkwLChInfo, &(param->lCh[1]), mBuf);
363 CMCHKPK(cmPkCkwLChInfo, &(param->lCh[0]), mBuf);
368 #ifdef TENB_MULT_CELL_SUPPRT
369 CMCHKPK(SPkS16, param->rguSapId, mBuf);
371 CMCHKPK(SPkS16, param->discardTmr, mBuf);
372 CMCHKPK(oduUnpackUInt8, param->dir, mBuf);
373 CMCHKPK(cmPkLteRlcMode, param->entMode, mBuf);
374 CMCHKPK(oduUnpackUInt8, param->qci, mBuf);
375 CMCHKPK(oduUnpackUInt8, param->rbType, mBuf);
376 CMCHKPK(oduUnpackUInt8, param->rbId, mBuf);
377 CMCHKPK(oduUnpackUInt8, param->cfgType, mBuf);
380 } /* cmPkRlcEntCfgInfo */
385 * Fun: cmPkRlcCfgInfo
387 * Desc: pack the structure RlcCfgInfo
405 for (idx = param->numEnt-1; idx >= 0; idx--)
407 CMCHKPK(cmPkRlcEntCfgInfo, &(param->entCfg[idx]), mBuf);
410 CMCHKPK(oduUnpackUInt8, param->numEnt, mBuf);
411 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
412 CMCHKPK(cmPkLteRnti, param->ueId, mBuf);
413 CMCHKPKLOG(oduUnpackUInt32, param->transId, mBuf, ECKW010, pst);
416 } /* cmPkRlcCfgInfo */
421 * Fun: cmPkRlcEntCfgCfmInfo
423 * Desc: pack the structure RlcEntCfgInfo
432 S16 cmPkRlcEntCfgCfmInfo
434 RlcEntCfgCfmInfo *param,
439 CMCHKPK(cmPkCmStatus, &(param->status), mBuf);
440 CMCHKPK(oduUnpackUInt8, param->rbType, mBuf);
441 CMCHKPK(oduUnpackUInt8, param->rbId, mBuf);
444 } /* cmPkRlcEntCfgCfmInfo */
449 * Fun: cmPkRlcCfgCfmInfo
451 * Desc: pack the structure RlcCfgCfmInfo
460 S16 cmPkRlcCfgCfmInfo
462 RlcCfgCfmInfo *param,
469 for (idx = param->numEnt-1; idx >= 0; idx--)
471 CMCHKPK(cmPkRlcEntCfgCfmInfo, &(param->entCfgCfm[(uint8_t)idx]), mBuf);
474 CMCHKPK(oduUnpackUInt8, param->numEnt, mBuf);
475 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
476 CMCHKPK(cmPkLteRnti, param->ueId, mBuf);
477 CMCHKPKLOG(oduUnpackUInt32, param->transId, mBuf, ECKW014, pst);
480 } /* cmPkRlcCfgCfmInfo */
487 * Desc: pack the primitive RlcUiRlcCfgCfm
500 RlcCfgCfmInfo *cfgCfmInfo
507 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
509 #if (ERRCLASS & ERRCLS_ADD_RES)
512 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
513 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
514 (ErrVal)ECKW015, (ErrVal)0, "SGetMsg() failed");
516 #endif /* ERRCLASS & ERRCLS_ADD_RES */
520 switch(pst->selector)
523 case ODU_SELECTOR_LC:
525 ret1 = cmPkRlcCfgCfmInfo( (cfgCfmInfo), pst, mBuf);
526 #if (ERRCLASS & ERRCLS_ADD_RES)
530 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
531 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
532 (ErrVal)ECKW016, (ErrVal)ret1, "Packing failure");
535 #endif /* ERRCLASS & ERRCLS_ADD_RES */
536 if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)cfgCfmInfo,
537 sizeof(RlcCfgCfmInfo)) != ROK)
548 CMCHKPKLOG(SPkS16, suId, mBuf, ECKW017, pst);
549 pst->event = (Event) CKW_EVT_CFG_CFM;
551 return (SPstTsk(pst,mBuf));
552 } /* cmPkRlcCfgCfm */
558 * Desc: pack the primitive KwUiCkwUeInfo
574 CMCHKPK(cmPkLteCellId, param->cellId, mBuf);
575 CMCHKPK(cmPkLteRnti, param->ueId, mBuf);
582 * Fun: cmPkCkwUeIdChgReq
584 * Desc: pack the primitive RlcUiCkwUeIdChgReq
593 S16 cmPkCkwUeIdChgReq
603 Buffer *mBuf = NULLP;
606 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
608 #if (ERRCLASS & ERRCLS_ADD_RES)
611 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
612 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
613 (ErrVal)ECKW018, (ErrVal)0, "SGetMsg() failed");
615 #endif /* ERRCLASS & ERRCLS_ADD_RES */
620 CMCHKPK(cmPkCkwUeInfo, newUeInfo, mBuf);
621 if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)newUeInfo,
622 sizeof(CkwUeInfo)) != ROK)
627 CMCHKPK(cmPkCkwUeInfo, ueInfo, mBuf);
628 if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueInfo,
629 sizeof(CkwUeInfo)) != ROK)
634 CMCHKPKLOG(oduUnpackUInt32, transId, mBuf, ECKW019, pst);
635 CMCHKPKLOG(SPkS16, spId, mBuf, ECKW020, pst);
636 pst->event = (Event) CKW_EVT_UEIDCHG_REQ;
638 return (SPstTsk(pst, mBuf));
640 } /* cmPkCkwUeIdChgReq */
644 * Fun: cmPkCkwUeIdChgCfm
646 * Desc: pack the primitive RlcUiCkwUeIdChgCfm
655 S16 cmPkCkwUeIdChgCfm
665 Buffer *mBuf = NULLP;
668 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
670 #if (ERRCLASS & ERRCLS_ADD_RES)
673 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
674 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
675 (ErrVal)ECKW021, (ErrVal)0, "SGetMsg() failed");
677 #endif /* ERRCLASS & ERRCLS_ADD_RES */
682 CMCHKPK(cmPkCmStatus, &status, mBuf);
683 CMCHKPK(cmPkCkwUeInfo, ueInfo, mBuf);
684 if (SPutSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data *)ueInfo,
685 sizeof(CkwUeInfo)) != ROK)
690 CMCHKPKLOG(oduUnpackUInt32, transId, mBuf, ECKW022, pst);
691 CMCHKPKLOG(SPkS16, suId, mBuf, ECKW023, pst);
692 pst->event = (Event) CKW_EVT_UEIDCHG_CFM;
694 return (SPstTsk(pst, mBuf));
696 } /* cmPkCkwUeIdChgCfm */
699 /******************************************************************************
701 *****************************************************************************/
705 * Fun: cmUnpkCkwBndReq
707 * Desc: unpack the primitive CkwBndReq
727 CMCHKUNPKLOG(SUnpkS16, &suId, mBuf, ECKW024, pst);
728 CMCHKUNPKLOG(SUnpkS16, &spId, mBuf, ECKW025, pst);
731 return ((*func)(pst, suId, spId));
732 } /*end of function cmUnpkCkwBndReq*/
736 * Fun: cmUnpkCkwUbndReq
738 * Desc: unpack the primitive CkwUbndReq
758 CMCHKUNPKLOG(SUnpkS16, &spId, mBuf, ECKW026, pst);
759 CMCHKUNPKLOG(SUnpkS16, &reason, mBuf, ECKW027, pst);
761 return ((*func)(pst, spId, reason));
762 } /*end of function cmUnpkCkwUbndReq*/
766 * Fun: cmUnpkCkwBndCfm
768 * Desc: unpack the primitive CkwBndCfm
788 CMCHKUNPKLOG(SUnpkS16, &suId, mBuf, ECKW028, pst);
789 CMCHKUNPKLOG(oduPackUInt8, &status, mBuf, ECKW029, pst);
792 return ((*func)(pst, suId, status));
793 } /*end of function cmUnpkCkwBndCfm*/
798 * Fun: cmUnpkRlcTmInfo
800 * Desc: pack the structure RlcTmInfo
816 CMCHKUNPK(oduPackUInt32, &(param->dl.buffSize), mBuf);
819 } /* cmUnpkRlcTmInfo */
824 * Fun: cmUnpkRlcUmInfo
826 * Desc: pack the structure RlcUmInfo
837 RlcEntCfgInfo *param,
846 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.dl.snLen), mBuf);
851 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.ul.snLen), mBuf);
852 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.ul.reAsmblTmr), mBuf);
855 /* Patch ckw_c_001.main_3 */
856 case CKW_CFG_DIR_BOTH:
858 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.ul.snLen), mBuf);
859 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.ul.reAsmblTmr), mBuf);
860 CMCHKUNPK(oduPackUInt8, &(param->m.umInfo.dl.snLen), mBuf);
866 } /* cmUnpkRlcUmInfo */
871 * Fun: cmUnpkRlcAmInfo
873 * Desc: pack the structure RlcAmInfo
890 CMCHKUNPK(oduPackUInt8, &(param->dl.snLen), mBuf);
891 CMCHKUNPK(oduPackUInt16, &(param->dl.pollRetxTmr), mBuf);
892 CMCHKUNPK(SUnpkS16, &(param->dl.pollPdu), mBuf);
893 CMCHKUNPK(SUnpkS32, &(param->dl.pollByte), mBuf);
894 CMCHKUNPK(oduPackUInt8, &(param->dl.maxRetx), mBuf);
897 CMCHKUNPK(oduPackUInt8, &(param->ul.snLen), mBuf);
898 CMCHKUNPK(oduPackUInt16, &(param->ul.staProhTmr), mBuf);
899 CMCHKUNPK(oduPackUInt8, &(param->ul.reAsmblTmr), mBuf);
902 } /* cmUnpkRlcAmInfo */
907 * Fun: cmUnpkCkwLChInfo
909 * Desc: pack the structure CkwLChInfo
925 CMCHKUNPK(oduPackUInt8, &(param->lChId), mBuf);
926 CMCHKUNPK(oduPackUInt8, &(param->type), mBuf);
929 } /* cmUnpkCkwLChInfo */
934 * Fun: cmUnpkRlcEntCfgCfmInfo
936 * Desc: unpack the structure RlcEntCfgInfo
945 S16 cmUnpkRlcEntCfgCfmInfo
947 RlcEntCfgCfmInfo *param,
952 CMCHKUNPK(oduPackUInt8, &(param->rbId), mBuf);
953 CMCHKUNPK(oduPackUInt8, &(param->rbType), mBuf);
954 CMCHKUNPK(cmUnpkCmStatus, &(param->status), mBuf);
957 } /* cmUnpkRlcEntCfgCfmInfo */
962 * Fun: cmUnpkRlcCfgCfmInfo
964 * Desc: pack the structure RlcCfgCfmInfo
973 S16 cmUnpkRlcCfgCfmInfo
975 RlcCfgCfmInfo *param,
982 CMCHKUNPKLOG(oduPackUInt32, &(param->transId), mBuf, ECKW030, pst);
983 CMCHKUNPK(cmUnpkLteRnti, &(param->ueId), mBuf);
984 CMCHKUNPK(cmUnpkLteCellId, &(param->cellId), mBuf);
985 CMCHKUNPK(oduPackUInt8, &(param->numEnt), mBuf);
987 for (idx = 0; idx < param->numEnt; idx++)
989 CMCHKUNPK(cmUnpkRlcEntCfgCfmInfo, &(param->entCfgCfm[idx]), mBuf);
993 } /* cmUnpkRlcCfgCfmInfo */
998 * Fun: cmUnpkRlcEntCfgInfo
1000 * Desc: pack the structure RlcEntCfgCfmInfo
1009 S16 cmUnpkRlcEntCfgInfo
1011 RlcEntCfgInfo *param,
1016 CMCHKUNPK(oduPackUInt8, &(param->cfgType), mBuf);
1017 CMCHKUNPK(oduPackUInt8, &(param->rbId), mBuf);
1018 CMCHKUNPK(oduPackUInt8, &(param->rbType), mBuf);
1019 CMCHKUNPK(oduPackUInt8, &(param->qci), mBuf);
1020 CMCHKUNPK(cmUnpkLteRlcMode, &(param->entMode), mBuf);
1021 CMCHKUNPK(oduPackUInt8, &(param->dir), mBuf);
1022 CMCHKUNPK(SUnpkS16, &(param->discardTmr), mBuf);
1023 #ifdef TENB_MULT_CELL_SUPPRT
1024 CMCHKUNPK(SUnpkS16, &(param->rguSapId), mBuf);
1027 /* Logical Channel Information */
1028 switch(param->entMode)
1030 case CM_LTE_MODE_TM:
1032 CMCHKUNPK(cmUnpkCkwLChInfo, &(param->lCh[0]), mBuf);
1035 /* ccpu00128195: Unpacking lCh[0] and lCh[1] for UM bearer as well */
1036 case CM_LTE_MODE_UM:
1037 case CM_LTE_MODE_AM:
1039 CMCHKUNPK(cmUnpkCkwLChInfo, &(param->lCh[0]), mBuf);
1040 CMCHKUNPK(cmUnpkCkwLChInfo, &(param->lCh[1]), mBuf);
1046 switch(param->entMode)
1048 case CM_LTE_MODE_TM:
1050 CMCHKUNPK(cmUnpkRlcTmInfo, &(param->m.tmInfo), mBuf);
1053 case CM_LTE_MODE_UM:
1055 CMCHKUNPK(cmUnpkRlcUmInfo, param, mBuf);
1058 case CM_LTE_MODE_AM:
1060 CMCHKUNPK(cmUnpkRlcAmInfo, &(param->m.amInfo), mBuf);
1066 } /* cmUnpkRlcEntCfgInfo */
1071 * Fun: cmUnpkRlcCfgInfo
1073 * Desc: unpack the structure RlcCfgInfo
1082 S16 cmUnpkRlcCfgInfo
1091 CMCHKUNPKLOG(oduPackUInt32, &(param->transId), mBuf, ECKW031, pst);
1092 CMCHKUNPK(cmUnpkLteRnti, &(param->ueId), mBuf);
1093 CMCHKUNPK(cmUnpkLteCellId, &(param->cellId), mBuf);
1094 CMCHKUNPK(oduPackUInt8, &(param->numEnt), mBuf);
1096 for (idx = 0; idx < param->numEnt; idx++)
1098 CMCHKUNPKLOG(cmUnpkRlcEntCfgInfo,&(param->entCfg[idx]), mBuf, ECKW032, pst);
1102 } /* cmUnpkRlcCfgInfo */
1107 * Fun: cmUnpkRlcCfgCfm
1109 * Desc: unpack the primitive RlcUiRlcCfgCfm
1127 RlcCfgCfmInfo *cfgCfmInfo = NULLP;
1130 if((ret1 = SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&cfgCfmInfo,\
1131 sizeof(RlcCfgCfmInfo))) != ROK)
1133 #if (ERRCLASS & ERRCLS_ADD_RES)
1136 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1137 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1138 (ErrVal)ECKW035, (ErrVal)0, "SGetMsg() failed");
1140 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1144 memset(cfgCfmInfo, 0, sizeof(RlcCfgCfmInfo));
1146 CMCHKUNPK(SUnpkS16, &suId, mBuf);
1148 switch(pst->selector)
1151 case ODU_SELECTOR_LC:
1153 ret1 = cmUnpkRlcCfgCfmInfo( (cfgCfmInfo), pst, mBuf);
1154 #if(ERRCLASS & ERRCLS_DEBUG)
1158 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1159 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1160 (ErrVal)ECKW036, (ErrVal)ret1, "Unpacking failure");
1163 #endif /* ERRCLASS & ERRCLS_DEBUG */
1170 return ((*func)(pst, suId, cfgCfmInfo));
1171 } /* cmUnpkRlcCfgCfm */
1175 * Fun: cmUnpkCkwUeInfo
1177 * Desc: Unpack the primitive KwUiCkwUeInfo
1193 CMCHKUNPK(cmUnpkLteRnti, &(param->ueId), mBuf);
1194 CMCHKUNPK(cmUnpkLteCellId, &(param->cellId), mBuf);
1201 * Fun: cmUnpkCkwUeIdChgReq
1203 * Desc: unpack the primitive RlcUiCkwUeIdChgReq
1212 S16 cmUnpkCkwUeIdChgReq
1221 uint32_t transId = 0;
1222 CkwUeInfo *ueInfo = NULLP;
1223 CkwUeInfo *newUeInfo = NULLP;
1227 CMCHKUNPK(SUnpkS16, &(spId), mBuf);
1228 CMCHKUNPKLOG(oduPackUInt32, &transId, mBuf, ECKW037, pst);
1230 if((ret1 = SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&ueInfo,\
1231 sizeof(CkwUeInfo))) != ROK)
1233 #if (ERRCLASS & ERRCLS_ADD_RES)
1235 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1236 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1237 (ErrVal)ECKW038, (ErrVal)0, "SGetMsg() failed");
1239 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1243 memset(ueInfo, 0, sizeof(CkwUeInfo));
1245 ret1 = cmUnpkCkwUeInfo((ueInfo), mBuf);
1246 #if(ERRCLASS & ERRCLS_DEBUG)
1250 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1251 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1252 (ErrVal)ECKW039, (ErrVal)ret1, "Unpacking failure");
1255 #endif /* ERRCLASS & ERRCLS_DEBUG */
1257 if((ret1 = SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&newUeInfo,\
1258 sizeof(CkwUeInfo))) != ROK)
1260 #if (ERRCLASS & ERRCLS_ADD_RES)
1262 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1263 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1264 (ErrVal)ECKW040, (ErrVal)0, "SGetMsg() failed");
1266 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1270 memset(newUeInfo, 0, sizeof(CkwUeInfo));
1272 ret1 = cmUnpkCkwUeInfo((newUeInfo), mBuf);
1273 #if(ERRCLASS & ERRCLS_DEBUG)
1277 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1278 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1279 (ErrVal)ECKW041, (ErrVal)ret1, "Unpacking failure");
1282 #endif /* ERRCLASS & ERRCLS_DEBUG */
1286 return ((*func)(pst, spId, transId, ueInfo, newUeInfo));
1288 } /* cmUnpkCkwUeIdChgReq */
1292 * Fun: cmUnpkCkwUeIdChgCfm
1294 * Desc: unpack the primitive RlcUiCkwUeIdChgCfm
1303 S16 cmUnpkCkwUeIdChgCfm
1312 uint32_t transId = 0;
1313 CkwUeInfo *ueInfo = NULLP;
1317 memset(&status, 0, sizeof(CmStatus));
1319 CMCHKUNPK(SUnpkS16, &suId, mBuf);
1320 CMCHKUNPKLOG(oduPackUInt32, &transId, mBuf, ECKW042, pst);
1322 if((ret1 = SGetSBufNewForDebug(__FILE__,__FUNCTION__,__LINE__,pst->region, pst->pool, (Data **)&ueInfo,\
1323 sizeof(CkwUeInfo))) != ROK)
1325 #if (ERRCLASS & ERRCLS_ADD_RES)
1328 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1329 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1330 (ErrVal)ECKW043, (ErrVal)0, "SGetMsg() failed");
1332 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1336 memset(ueInfo, 0, sizeof(CkwUeInfo));
1338 ret1 = cmUnpkCkwUeInfo((ueInfo), mBuf);
1339 #if(ERRCLASS & ERRCLS_DEBUG)
1343 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1344 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1345 (ErrVal)ECKW044, (ErrVal)ret1, "Unpacking failure");
1348 #endif /* ERRCLASS & ERRCLS_DEBUG */
1350 CMCHKUNPK(cmUnpkCmStatus, &status, mBuf);
1354 return ((*func)(pst, suId, transId, ueInfo, status));
1356 } /* cmUnpkCkwUeIdChgCfm */
1361 #endif /* __cplusplus */
1364 /**********************************************************************
1366 **********************************************************************/