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: UDX RRC Control Interface
25 Desc: This file Contains the packing and unpacking functions for
30 *********************************************************************21*/
32 #include "envopt.h" /* environment options */
33 #include "envdep.h" /* environment dependent */
34 #include "envind.h" /* environment independent */
36 #include "gen.h" /* general */
37 #include "ssi.h" /* system services */
38 #include "cm5.h" /* common timer defines */
39 #include "cm_tkns.h" /* common tokens defines */
40 #include "cm_mblk.h" /* common memory allocation library defines */
41 #include "cm_llist.h" /* common link list defines */
42 #include "cm_hash.h" /* common hash list defines */
43 #include "cm_lte.h" /* common LTE defines */
45 #include "kw_udx.h" /* UDX defines */
47 /* extern (.x) include files */
48 #include "gen.x" /* general */
49 #include "ssi.x" /* system services */
51 #include "cm5.x" /* common timer library */
52 #include "cm_tkns.x" /* common tokens */
53 #include "cm_mblk.x" /* common memory allocation */
54 #include "cm_llist.x" /* common link list */
55 #include "cm_hash.x" /* common hash list */
56 #include "cm_lte.x" /* common LTE includes */
57 #include "cm_lib.x" /* common memory allocation library */
70 * Desc: pack the primitive UdxBndReq
80 PRIVATE S16 cmUnpkUdxStruct
88 PRIVATE S16 cmUnpkUdxStruct(dstMBuf,srcBuf,size)
98 RETVALUE(SCpyMsgFix(srcMBuf,offset,size,dstBuf,&tmpLen));
100 } /*end of function cmPkUdxBndReq*/
106 * Desc: pack the primitive UdxBndReq
116 PRIVATE S16 cmPkUdxStruct
123 PRIVATE S16 cmPkUdxStruct(dstMBuf,srcBuf,size)
131 RETVALUE(SAddPstMsgMult(srcBuf,size,dstMBuf));
133 } /*end of function cmPkUdxBndReq*/
138 * Desc: pack the primitive UdxBndReq
148 PUBLIC S16 cmPkUdxBndReq
155 PUBLIC S16 cmPkUdxBndReq(pst, suId, spId)
166 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
168 #if (ERRCLASS & ERRCLS_ADD_RES)
171 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
172 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
173 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
175 #endif /* ERRCLASS & ERRCLS_ADD_RES */
178 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
179 CMCHKPKLOG(SPkS16, suId, mBuf, EUDXXXX, pst);
180 pst->event = (Event) UDX_EVT_BND_REQ;
182 RETVALUE(SPstTsk(pst,mBuf));
183 } /*end of function cmPkUdxBndReq*/
187 * Fun: cmPkUdxUbndReq
189 * Desc: pack the primitive UdxUbndReq
199 PUBLIC S16 cmPkUdxUbndReq
206 PUBLIC S16 cmPkUdxUbndReq(pst, spId, reason)
217 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
219 #if (ERRCLASS & ERRCLS_ADD_RES)
222 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
223 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
224 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
226 #endif /* ERRCLASS & ERRCLS_ADD_RES */
229 CMCHKPKLOG(SPkS16, reason, mBuf, EUDXXXX, pst);
230 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
231 pst->event = (Event) UDX_EVT_UBND_REQ;
233 RETVALUE(SPstTsk(pst,mBuf));
234 } /*end of function cmPkUdxUbndReq*/
240 * Desc: pack the primitive UdxBndCfm
250 PUBLIC S16 cmPkUdxBndCfm
257 PUBLIC S16 cmPkUdxBndCfm(pst, suId, status)
268 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
270 #if (ERRCLASS & ERRCLS_ADD_RES)
273 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
274 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
275 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
278 #endif /* ERRCLASS & ERRCLS_ADD_RES */
281 CMCHKPKLOG(SPkU8, status, mBuf, EUDXXXX, pst);
282 CMCHKPKLOG(SPkS16, suId, mBuf, EUDXXXX, pst);
283 pst->event = (Event) UDX_EVT_BND_CFM;
285 RETVALUE(SPstTsk(pst,mBuf));
286 } /*end of function cmPkUdxBndCfm*/
293 * Desc: pack the primitive KwUiUdxCfgReq
303 PUBLIC S16 cmPkUdxCfgReq
310 PUBLIC S16 cmPkUdxCfgReq(pst, spId, cfgInfo)
321 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
323 #if (ERRCLASS & ERRCLS_ADD_RES)
326 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
327 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
328 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
330 #endif /* ERRCLASS & ERRCLS_ADD_RES */
334 switch(pst->selector)
339 cmPkUdxStruct((U8 *)cfgInfo, sizeof(CkwCfgInfo),mBuf);
340 /* Need Not free CfgInfo here as it is stored
346 CMCHKPKLOG(cmPkPtr,(PTR)cfgInfo,mBuf,EUDXXXX,pst);
352 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
353 pst->event = (Event) UDX_EVT_CFG_REQ;
355 RETVALUE(SPstTsk(pst,mBuf));
356 } /* cmPkUdxCfgReq */
363 * Desc: pack the primitive KwUiUdxCfgCfm
373 PUBLIC S16 cmPkUdxCfgCfm
377 CkwCfgCfmInfo *cfgCfmInfo
380 PUBLIC S16 cmPkUdxCfgCfm(pst, suId, cfgCfmInfo)
383 CkwCfgCfmInfo *cfgCfmInfo;
391 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
393 #if (ERRCLASS & ERRCLS_ADD_RES)
396 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
397 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
398 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
400 #endif /* ERRCLASS & ERRCLS_ADD_RES */
404 switch(pst->selector)
409 cmPkUdxStruct((U8 *)cfgCfmInfo, sizeof(CkwCfgCfmInfo),mBuf);
410 /* Need to free the cfgCfmInfo here as it is allocated
411 buffer call SPutStaticBuffer */
412 SPutStaticBuffer(pst->region,pst->pool,(Data *) cfgCfmInfo,
413 sizeof(CkwCfgCfmInfo),0);
418 CMCHKPKLOG(cmPkPtr,(PTR)cfgCfmInfo,mBuf,EUDXXXX,pst);
424 CMCHKPKLOG(SPkS16, suId, mBuf, EUDXXXX, pst);
425 pst->event = (Event) UDX_EVT_CFG_CFM;
427 RETVALUE(SPstTsk(pst,mBuf));
428 } /* cmPkUdxCfgCfm */
433 * Fun: cmPkUdxUeIdChgReq
435 * Desc: pack the primitive KwUiUdxUeIdChgReq
445 PUBLIC S16 cmPkUdxUeIdChgReq
454 PUBLIC S16 cmPkUdxUeIdChgReq(pst, spId, transId, ueInfo, newUeInfo)
459 CkwUeInfo *newUeInfo;
463 Buffer *mBuf = NULLP;
465 TRC3(cmPkUdxUeIdChgReq)
467 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
469 #if (ERRCLASS & ERRCLS_ADD_RES)
472 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
473 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
474 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
476 #endif /* ERRCLASS & ERRCLS_ADD_RES */
481 switch(pst->selector)
486 cmPkUdxStruct((U8 *)newUeInfo, sizeof(CkwUeInfo),mBuf);
487 cmPkUdxStruct((U8 *)ueInfo, sizeof(CkwUeInfo),mBuf);
488 /* No need to free ueInfo here as it is stored */
493 CMCHKPKLOG(cmPkPtr,(PTR)newUeInfo,mBuf,EUDXXXX,pst);
494 CMCHKPKLOG(cmPkPtr,(PTR)ueInfo,mBuf,EUDXXXX,pst);
499 printf("cmPkUdxUeIdChgReq()- selector =%d not supported \n", pst->selector);
504 CMCHKPKLOG(SPkU32, transId, mBuf, EUDXXXX, pst);
505 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
506 pst->event = (Event) UDX_EVT_UEIDCHG_REQ;
508 RETVALUE(SPstTsk(pst, mBuf));
510 } /* cmPkUdxUeIdChgReq */
514 * Fun: cmPkUdxUeIdChgCfm
516 * Desc: pack the primitive KwUiUdxUeIdChgCfm
526 PUBLIC S16 cmPkUdxUeIdChgCfm
534 PUBLIC S16 cmPkUdxUeIdChgCfm(pst, suId, transId, status)
542 Buffer *mBuf = NULLP;
543 TRC3(cmPkUdxUeIdChgCfm)
545 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
547 #if (ERRCLASS & ERRCLS_ADD_RES)
550 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
551 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
552 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
554 #endif /* ERRCLASS & ERRCLS_ADD_RES */
559 CMCHKPK(cmPkCmStatus, &status, mBuf);
560 CMCHKPKLOG(SPkU32, transId, mBuf, EUDXXXX, pst);
561 CMCHKPKLOG(SPkS16, suId, mBuf, EUDXXXX, pst);
562 pst->event = (Event) UDX_EVT_UEIDCHG_CFM;
564 RETVALUE(SPstTsk(pst, mBuf));
566 } /* cmPkUdxUeIdChgCfm */
570 * Fun: cmPkUdxStaUpdCfm
572 * Desc: pack the primitive KwUiUdxUeIdChgCfm
582 PUBLIC S16 cmPkUdxStaUpdCfm
590 PUBLIC S16 cmPkUdxStaUpdCfm(pst, suId, rlcId,pStaPdu)
594 KwUdxBufLst *pStaPdu;
598 Buffer *mBuf = NULLP;
600 TRC3(cmPkUdxStaUpdCfm)
602 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
604 #if (ERRCLASS & ERRCLS_ADD_RES)
607 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
608 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
609 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
611 #endif /* ERRCLASS & ERRCLS_ADD_RES */
616 switch (pst->selector)
620 cmPkUdxStruct((U8 *)pStaPdu, sizeof(KwUdxBufLst),mBuf);
621 cmPkUdxStruct((U8 *)rlcId, sizeof(CmLteRlcId),mBuf);
626 CMCHKPK(cmPkPtr,(PTR) pStaPdu, mBuf);
627 CMCHKPK(cmPkPtr,(PTR) rlcId, mBuf);
631 CMCHKPKLOG(SPkS16, suId, mBuf, EUDXXXX, pst);
632 pst->event = (Event) UDX_EVT_STA_UPD_CFM;
634 RETVALUE(SPstTsk(pst, mBuf));
636 } /* cmPkUdxStaUpdCfm */
640 * Fun: cmPkUdxStaProhTmrStart
642 * Desc: pack the primitive
652 PUBLIC S16 cmPkUdxStaProhTmrStart
659 PUBLIC S16 cmPkUdxStaProhTmrStart(pst, suId, rlcId)
666 Buffer *mBuf = NULLP;
668 TRC3(cmPkUdxStaProhTmrStart)
670 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
672 #if (ERRCLASS & ERRCLS_ADD_RES)
675 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
676 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
677 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
679 #endif /* ERRCLASS & ERRCLS_ADD_RES */
684 switch (pst->selector)
688 cmPkUdxStruct((U8 *)rlcId, sizeof(CmLteRlcId),mBuf);
693 CMCHKPK(cmPkPtr,(PTR) rlcId, mBuf);
697 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
698 pst->event = (Event) UDX_EVT_STA_PHBT_TMR_START;
700 RETVALUE(SPstTsk(pst, mBuf));
702 } /* cmPkUdxStaProhTmrStart */
706 * Fun: cmPkUdxStaUpdReq
708 * Desc: pack the primitive KwUiUdxUeIdChgCfm
718 PUBLIC S16 cmPkUdxStaUpdReq
726 PUBLIC S16 cmPkUdxStaUpdReq(pst, suId, rlcId,pStaPdu)
730 KwUdxStaPdu *pStaPdu;
734 Buffer *mBuf = NULLP;
736 TRC3(cmPkUdxStaUpdReq)
738 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
740 #if (ERRCLASS & ERRCLS_ADD_RES)
743 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
744 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
745 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
747 #endif /* ERRCLASS & ERRCLS_ADD_RES */
752 switch (pst->selector)
756 cmPkUdxStruct((U8 *)pStaPdu, sizeof(KwUdxStaPdu),mBuf);
757 cmPkUdxStruct((U8 *)rlcId, sizeof(CmLteRlcId),mBuf);
758 SPutStaticBuffer(pst->region,pst->pool,(Data *) pStaPdu,
759 sizeof(KwUdxStaPdu),0);
765 CMCHKPK(cmPkPtr,(PTR) pStaPdu, mBuf);
766 CMCHKPK(cmPkPtr,(PTR) rlcId, mBuf);
770 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
771 pst->event = (Event) UDX_EVT_STA_UPD_REQ;
773 RETVALUE(SPstTsk(pst, mBuf));
775 } /* cmPkUdxStaUpdReq */
779 * Fun: cmPkUdxStaPduReq
781 * Desc: pack the primitive KwUiUdxUeIdChgCfm
791 PUBLIC S16 cmPkUdxStaPduReq
796 KwUdxDlStaPdu *pStaPdu
799 PUBLIC S16 cmPkUdxStaPduReq(pst, suId, rlcId,pStaPdu)
803 KwUdxDlStaPdu *pStaPdu;
807 Buffer *mBuf = NULLP;
809 TRC3(cmPkUdxStaUpdReq)
811 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
813 #if (ERRCLASS & ERRCLS_ADD_RES)
816 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
817 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
818 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
820 #endif /* ERRCLASS & ERRCLS_ADD_RES */
825 switch (pst->selector)
829 cmPkUdxStruct((U8 *)pStaPdu, sizeof(KwUdxDlStaPdu),mBuf);
830 cmPkUdxStruct((U8 *)rlcId, sizeof(CmLteRlcId),mBuf);
831 /* Free status Pdu here for LC */
832 SPutStaticBuffer(pst->region,pst->pool,(Data *) pStaPdu,
833 sizeof(KwUdxDlStaPdu),0);
838 CMCHKPK(cmPkPtr,(PTR) pStaPdu, mBuf);
839 CMCHKPK(cmPkPtr,(PTR) rlcId, mBuf);
843 CMCHKPKLOG(SPkS16, spId, mBuf, EUDXXXX, pst);
844 pst->event = (Event) UDX_EVT_STA_PDU_REQ;
846 RETVALUE(SPstTsk(pst, mBuf));
848 } /* cmPkUdxStaUpdReq */
853 * Fun: cmPkUdxL2MeasReq
862 PUBLIC S16 cmPkUdxL2MeasReq
865 KwL2MeasReqEvt *measReqEvt
868 PUBLIC S16 cmPkUdxL2MeasReq(pst, measReqEvt)
870 KwL2MeasReqEvt *measReqEvt;
874 Buffer *mBuf = NULLP;
876 TRC3(cmPkUdxL2MeasReq)
878 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
880 #if (ERRCLASS & ERRCLS_ADD_RES)
883 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
884 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
885 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
887 #endif /* ERRCLASS & ERRCLS_ADD_RES */
892 switch (pst->selector)
896 cmPkUdxStruct((U8 *)measReqEvt, sizeof(KwL2MeasReqEvt),mBuf);
901 CMCHKPK(cmPkPtr,(PTR) measReqEvt, mBuf);
905 pst->event = (Event) UDX_EVT_L2MEAS_REQ;
907 RETVALUE(SPstTsk(pst, mBuf));
909 } /* cmPkUdxStaUpdReq */
913 * Fun: cmPkUdxL2MeasReq
922 PUBLIC S16 cmPkUdxL2MeasSendReq
928 PUBLIC S16 cmPkUdxL2MeasSendReq(pst, measReqEvt)
934 Buffer *mBuf = NULLP;
936 TRC3(cmPkUdxL2MeasSendReq)
938 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
940 #if (ERRCLASS & ERRCLS_ADD_RES)
943 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
944 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
945 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
947 #endif /* ERRCLASS & ERRCLS_ADD_RES */
952 switch (pst->selector)
957 CMCHKPKLOG(SPkU8, measType, mBuf, EUDXXXX, pst);
961 pst->event = (Event) UDX_EVT_L2MEAS_SEND_REQ;
963 RETVALUE(SPstTsk(pst, mBuf));
969 * Fun: cmPkUdxL2MeasStopReq
978 PUBLIC S16 cmPkUdxL2MeasStopReq
984 PUBLIC S16 cmPkUdxL2MeasStopReq(pst, measType)
990 Buffer *mBuf = NULLP;
992 TRC3(cmPkUdxL2MeasStopReq)
994 if((ret1 = SGetMsg(pst->region, pst->pool, &mBuf)) != ROK)
996 #if (ERRCLASS & ERRCLS_ADD_RES)
999 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1000 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1001 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
1003 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1008 switch (pst->selector)
1013 CMCHKPKLOG(SPkU8, measType, mBuf, EUDXXXX, pst);
1017 pst->event = (Event) UDX_EVT_L2MEAS_STOP_REQ;
1019 RETVALUE(SPstTsk(pst, mBuf));
1023 /******************************************************************************
1025 *****************************************************************************/
1029 * Fun: cmUnpkUdxBndReq
1031 * Desc: unpack the primitive UdxBndReq
1041 PUBLIC S16 cmUnpkUdxBndReq
1048 PUBLIC S16 cmUnpkUdxBndReq(func, pst, mBuf)
1057 TRC3(cmUnpkUdxBndReq)
1059 CMCHKUNPKLOG(SUnpkS16, &suId, mBuf, EUDXXXX, pst);
1060 CMCHKUNPKLOG(SUnpkS16, &spId, mBuf, EUDXXXX, pst);
1063 RETVALUE((*func)(pst, suId, spId));
1064 } /*end of function cmUnpkUdxBndReq*/
1068 * Fun: cmUnpkUdxUbndReq
1070 * Desc: unpack the primitive UdxUbndReq
1080 PUBLIC S16 cmUnpkUdxUbndReq
1087 PUBLIC S16 cmUnpkUdxUbndReq(func, pst, mBuf)
1096 TRC3(cmUnpkUdxUbndReq)
1098 CMCHKUNPKLOG(SUnpkS16, &spId, mBuf, EUDXXXX, pst);
1099 CMCHKUNPKLOG(SUnpkS16, &reason, mBuf, EUDXXXX, pst);
1101 RETVALUE((*func)(pst, spId, reason));
1102 } /*end of function cmUnpkUdxUbndReq*/
1106 * Fun: cmUnpkUdxBndCfm
1108 * Desc: unpack the primitive UdxBndCfm
1118 PUBLIC S16 cmUnpkUdxBndCfm
1125 PUBLIC S16 cmUnpkUdxBndCfm(func, pst, mBuf)
1134 TRC3(cmUnpkUdxBndCfm)
1136 CMCHKUNPKLOG(SUnpkS16, &suId, mBuf, EUDXXXX, pst);
1137 CMCHKUNPKLOG(SUnpkU8, &status, mBuf, EUDXXXX, pst);
1140 RETVALUE((*func)(pst, suId, status));
1141 } /*end of function cmUnpkUdxBndCfm*/
1146 * Fun: cmUnpkUdxCfgReq
1148 * Desc: unpack the primitive KwUiUdxCfgReq
1158 PUBLIC S16 cmUnpkUdxCfgReq
1165 PUBLIC S16 cmUnpkUdxCfgReq(func, pst, mBuf)
1171 #if(ERRCLASS & ERRCLS_DEBUG)
1173 #endif /* ERRCLASS & ERRCLS_DEBUG */
1175 CkwCfgInfo tmpCfgInfo;
1176 CkwCfgInfo *cfgInfo; /*stack Variable because it is not freed */
1178 TRC3(cmUnpkUdxCfgReq)
1180 CMCHKUNPK(SUnpkS16, &(spId), mBuf);
1181 switch(pst->selector)
1186 #if(ERRCLASS & ERRCLS_DEBUG)
1187 ret1 = cmUnpkUdxStruct(mBuf,0,(U8 *)&tmpCfgInfo,sizeof(CkwCfgInfo));
1191 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1192 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1193 (ErrVal)EUDXXXX, (ErrVal)ret1, "Unpacking failure");
1197 cmUnpkUdxStruct(mBuf,0,(U8 *)&tmpCfgInfo,sizeof(CkwCfgInfo));
1198 #endif /* ERRCLASS & ERRCLS_DEBUG */
1199 cfgInfo = &tmpCfgInfo;
1204 CMCHKUNPK(cmUnpkPtr,(PTR *) &cfgInfo, mBuf);
1211 RETVALUE((*func)(pst, spId, cfgInfo));
1212 } /* cmUnpkUdxCfgReq */
1217 * Fun: cmUnpkUdxCfgCfm
1219 * Desc: unpack the primitive KwUiUdxCfgCfm
1229 PUBLIC S16 cmUnpkUdxCfgCfm
1236 PUBLIC S16 cmUnpkUdxCfgCfm(func, pst, mBuf)
1244 CkwCfgCfmInfo *cfgCfmInfo = NULLP;
1246 TRC3(cmUnpkUdxCfgCfm)
1248 CMCHKUNPK(SUnpkS16, &suId, mBuf);
1250 switch(pst->selector)
1255 if((ret1 = SGetStaticBuffer(pst->region, pst->pool, (Data **)&cfgCfmInfo,\
1256 sizeof(CkwCfgCfmInfo),0)) != ROK)
1258 #if (ERRCLASS & ERRCLS_ADD_RES)
1261 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1262 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1263 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
1265 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1269 ret1 = cmUnpkUdxStruct(mBuf,0,(U8 *)cfgCfmInfo, sizeof(CkwCfgCfmInfo));
1270 #if(ERRCLASS & ERRCLS_DEBUG)
1274 SLogError(pst->dstEnt, pst->dstInst, pst->dstProcId,
1275 __FILE__, __LINE__, (ErrCls)ERRCLS_DEBUG,
1276 (ErrVal)EUDXXXX, (ErrVal)ret1, "Unpacking failure");
1279 #endif /* ERRCLASS & ERRCLS_DEBUG */
1284 CMCHKUNPK(cmUnpkPtr,(PTR *) &cfgCfmInfo, mBuf);
1291 RETVALUE((*func)(pst, suId, cfgCfmInfo));
1292 } /* cmUnpkUdxCfgCfm */
1296 * Fun: cmUnpkUdxUeIdChgReq
1298 * Desc: unpack the primitive KwUiUdxUeIdChgReq
1308 PUBLIC S16 cmUnpkUdxUeIdChgReq
1315 PUBLIC S16 cmUnpkUdxUeIdChgReq(func, pst, mBuf)
1323 CkwUeInfo tmpUeInfo;
1324 CkwUeInfo tmpNewUeInfo;
1326 CkwUeInfo *newUeInfo;
1328 TRC3(cmUnpkUdxUeIdChgReq)
1331 CMCHKUNPK(SUnpkS16, &(spId), mBuf);
1332 CMCHKUNPKLOG(SUnpkU32, &transId, mBuf, EUDXXXX, pst);
1334 switch(pst->selector)
1339 cmUnpkUdxStruct(mBuf,0,(U8 *)&tmpNewUeInfo, sizeof(CkwUeInfo));
1340 cmUnpkUdxStruct(mBuf,sizeof(CkwUeInfo),(U8 *)&tmpUeInfo, sizeof(CkwUeInfo));
1342 ueInfo = &tmpUeInfo;
1343 newUeInfo = &tmpNewUeInfo;
1348 CMCHKUNPK(cmUnpkPtr,(PTR *) &ueInfo, mBuf);
1349 CMCHKUNPK(cmUnpkPtr,(PTR *) &newUeInfo, mBuf);
1354 printf("cmUnpkUdxUeIdChgReq()- selector =%d not supported \n", pst->selector);
1362 RETVALUE((*func)(pst, spId, transId, ueInfo, newUeInfo));
1364 } /* cmUnpkUdxUeIdChgReq */
1368 * Fun: cmUnpkUdxUeIdChgCfm
1370 * Desc: unpack the primitive KwUiUdxUeIdChgCfm
1380 PUBLIC S16 cmUnpkUdxUeIdChgCfm
1387 PUBLIC S16 cmUnpkUdxUeIdChgCfm(func, pst, mBuf)
1397 TRC3(cmUnpkUdxUeIdChgCfm)
1399 cmMemset((U8 *)&status, (U8)0, (PTR)sizeof(CmStatus));
1401 CMCHKUNPK(SUnpkS16, &suId, mBuf);
1402 CMCHKUNPKLOG(SUnpkU32, &transId, mBuf, EUDXXXX, pst);
1404 CMCHKUNPK(cmUnpkCmStatus, &status, mBuf);
1408 RETVALUE((*func)(pst, suId, transId, status));
1410 } /* cmUnpkUdxUeIdChgCfm */
1414 * Fun: cmUnpkUdxStaUpdCfm
1416 * Desc: unpack the primitive KwUiUdxUeIdChgCfm
1426 PUBLIC S16 cmUnpkUdxStaUpdCfm
1433 PUBLIC S16 cmUnpkUdxStaUpdCfm(func, pst, mBuf)
1440 CmLteRlcId *rlcId = NULLP; /* KW_FIX */
1441 KwUdxBufLst *pBufLst = NULLP; /* KW_FIX*/
1443 TRC3(cmUnpkUdxStaUpdCfm)
1445 CMCHKUNPK(SUnpkS16, &suId, mBuf);
1446 switch (pst->selector)
1454 CMCHKUNPK(cmUnpkPtr, (PTR *)&rlcId,mBuf);
1455 CMCHKUNPK(cmUnpkPtr, (PTR *)&pBufLst,mBuf);
1462 RETVALUE((*func)(pst, suId, rlcId, pBufLst));
1464 } /* cmUnpkUdxUeIdChgCfm */
1468 * Fun: cmUnpkUdxStaUpdReq
1470 * Desc: unpack the primitive KwUiUdxUeIdChgCfm
1480 PUBLIC S16 cmUnpkUdxStaUpdReq
1487 PUBLIC S16 cmUnpkUdxStaUpdReq(func, pst, mBuf)
1494 CmLteRlcId *rlcId = NULLP; /* KW_FIX */
1495 KwUdxStaPdu *pStaPdu = NULLP; /* KW_FIX */
1497 CmLteRlcId tmpRlcId;
1499 TRC3(cmUnpkUdxStaUpdCfm)
1501 CMCHKUNPK(SUnpkS16, &spId, mBuf);
1502 switch (pst->selector)
1506 if((ret1 = SGetStaticBuffer(pst->region, pst->pool, (Data **)&pStaPdu,
1507 sizeof(KwUdxStaPdu),0)) != ROK)
1509 #if (ERRCLASS & ERRCLS_ADD_RES)
1512 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1513 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1514 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
1516 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1519 ret1 = cmUnpkUdxStruct(mBuf,0,(U8 *)pStaPdu, sizeof(KwUdxStaPdu));
1520 ret1 = cmUnpkUdxStruct(mBuf,sizeof(KwUdxStaPdu),(U8 *)&tmpRlcId,sizeof(CmLteRlcId));
1526 CMCHKUNPK(cmUnpkPtr, (PTR *)&rlcId,mBuf);
1527 CMCHKUNPK(cmUnpkPtr, (PTR *)&pStaPdu,mBuf);
1534 RETVALUE((*func)(pst, spId, rlcId, pStaPdu));
1536 } /* cmUnpkUdxUeIdChgCfm */
1540 * Fun: cmUnpkUdxStaPduReq
1542 * Desc: unpack the primitive KwUiUdxUeIdChgCfm
1552 PUBLIC S16 cmUnpkUdxStaPduReq
1559 PUBLIC S16 cmUnpkUdxStaPduReq(func, pst, mBuf)
1567 CmLteRlcId tmpRlcId;
1568 CmLteRlcId *rlcId = NULLP; /* KW_FIX */
1569 KwUdxDlStaPdu *pStaPdu = NULLP; /* KW_FIX */
1571 TRC3(cmUnpkUdxStaUpdCfm)
1573 CMCHKUNPK(SUnpkS16, &spId, mBuf);
1574 switch (pst->selector)
1578 if((ret1 = SGetStaticBuffer(pst->region, pst->pool, (Data **)&pStaPdu,
1579 sizeof(KwUdxDlStaPdu),0)) != ROK)
1581 #if (ERRCLASS & ERRCLS_ADD_RES)
1584 SLogError(pst->srcEnt, pst->srcInst, pst->srcProcId,
1585 __FILE__, __LINE__, (ErrCls)ERRCLS_ADD_RES,
1586 (ErrVal)EUDXXXX, (ErrVal)0, "SGetMsg() failed");
1588 #endif /* ERRCLASS & ERRCLS_ADD_RES */
1591 ret1 = cmUnpkUdxStruct(mBuf,0, (U8 *)pStaPdu, sizeof(KwUdxDlStaPdu));
1592 ret1 = cmUnpkUdxStruct(mBuf,sizeof(KwUdxDlStaPdu),(U8 *)&tmpRlcId,sizeof(CmLteRlcId));
1598 CMCHKUNPK(cmUnpkPtr, (PTR *)&rlcId,mBuf);
1599 CMCHKUNPK(cmUnpkPtr, (PTR *)&pStaPdu,mBuf);
1605 RETVALUE((*func)(pst, spId, rlcId, pStaPdu));
1607 } /* cmUnpkUdxUeIdChgCfm */
1611 * Fun: cmUnpkUdxStaProhTmrStart
1613 * Desc: unpack the Status prohibit timer start Msg
1623 PUBLIC S16 cmUnpkUdxStaProhTmrStart
1625 UdxStaProhTmrStart func,
1630 PUBLIC S16 cmUnpkUdxStaProhTmrStart(func, pst, mBuf)
1631 UdxStaProhTmrStart func;
1637 CmLteRlcId tmpRlcId;
1638 CmLteRlcId *rlcId = NULLP; /* KW_FIX */
1640 TRC3(cmUnpkUdxStaProhTmrStart)
1642 CMCHKUNPK(SUnpkS16, &spId, mBuf);
1643 switch (pst->selector)
1647 cmUnpkUdxStruct(mBuf,0,(U8 *)&tmpRlcId,sizeof(CmLteRlcId));
1653 CMCHKUNPK(cmUnpkPtr, (PTR *)&rlcId,mBuf);
1660 RETVALUE((*func)(pst, spId, rlcId));
1662 } /* cmUnpkUdxStaProhTmrStart */
1668 * Fun: cmUnpkUdxL2MeasReq
1677 PUBLIC S16 cmUnpkUdxL2MeasReq
1684 PUBLIC S16 cmUnpkUdxL2MeasReq(func, pst, mBuf)
1690 KwL2MeasReqEvt tmpMeasReqEvt;
1691 KwL2MeasReqEvt *measReqEvt = NULLP; /* KW_FIX */
1693 TRC3(cmUnpkUdxL2MeasReq)
1695 switch (pst->selector)
1699 cmUnpkUdxStruct(mBuf,0,(U8 *)&tmpMeasReqEvt,sizeof(KwL2MeasReqEvt));
1700 measReqEvt = &tmpMeasReqEvt;
1705 CMCHKUNPK(cmUnpkPtr, (PTR *)&measReqEvt,mBuf);
1712 RETVALUE((*func)(pst, measReqEvt));
1713 } /* cmUnpkUdxL2MeasReq */
1717 * Fun: cmUnpkUdxL2MeasSendReq
1726 PUBLIC S16 cmUnpkUdxL2MeasSendReq
1728 UdxL2MeasSendReq func,
1733 PUBLIC S16 cmUnpkUdxL2MeasSendReq(func, pst, mBuf)
1734 UdxL2MeasSendReq func;
1739 U8 measType = 0; /* KW_FIX */
1741 TRC3(cmUnpkUdxL2MeasSendReq)
1743 switch (pst->selector)
1748 CMCHKUNPK(SUnpkU8, &measType, mBuf);
1755 RETVALUE((*func)(pst, measType));
1756 } /* cmUnpkUdxL2MeasReq */
1760 * Fun: cmUnpkUdxL2MeasStopReq
1769 PUBLIC S16 cmUnpkUdxL2MeasStopReq
1771 UdxL2MeasStopReq func,
1776 PUBLIC S16 cmUnpkUdxL2MeasStopReq(func, pst, mBuf)
1777 UdxL2MeasSendReq func;
1782 U8 measType = 0; /* KW_FIX */
1784 TRC3(cmUnpkUdxL2MeasStopReq)
1786 switch (pst->selector)
1791 CMCHKUNPK(SUnpkU8, &measType, mBuf);
1798 RETVALUE((*func)(pst, measType));
1799 } /* cmUnpkUdxL2MeasStopReq */
1804 /********************************************************************30**
1806 **********************************************************************/