comparison src/ui/mfw/mfw_ss.c @ 188:92abb46dc1ba

src/ui/mfw/*.[ch]: rm trailing white space
author Mychaela Falconia <falcon@freecalypso.org>
date Tue, 19 Jan 2021 06:10:27 +0000
parents 67bfe9f274f6
children
comparison
equal deleted inserted replaced
187:a33dd8a5dcc9 188:92abb46dc1ba
12 12
13 13
14 $History:: mfw_ss.c $ 14 $History:: mfw_ss.c $
15 15
16 Feb 27, 2007 ER: OMAPS00113891 x0pleela 16 Feb 27, 2007 ER: OMAPS00113891 x0pleela
17 Description:[ACI] MTC related call forwarded SS notification not differentiable on 17 Description:[ACI] MTC related call forwarded SS notification not differentiable on
18 BAT/ATI level 18 BAT/ATI level
19 Solution: In function ss_cvtCssuCodes(), new enum CSSU_CODE_IncCallForwarded 19 Solution: In function ss_cvtCssuCodes(), new enum CSSU_CODE_IncCallForwarded
20 from ACI is handled and typecasted to MFW_SS_MT_CALL_FORWARDED 20 from ACI is handled and typecasted to MFW_SS_MT_CALL_FORWARDED
21 for MMI to handle this event 21 for MMI to handle this event
22 22
23 Aug 28, 2006 DR: OMAPS00083503 x0pleela 23 Aug 28, 2006 DR: OMAPS00083503 x0pleela
24 Description: Result of ss_check_ss_string may be ignored 24 Description: Result of ss_check_ss_string may be ignored
25 Solution: rat_percentKSIR(): Removed the hardcoded dcs value "MFW_ASCII" 25 Solution: rat_percentKSIR(): Removed the hardcoded dcs value "MFW_ASCII"
26 and sending ss signal E_SS_USSD_REQ or E_SS_USSD_CNF based on user 26 and sending ss signal E_SS_USSD_REQ or E_SS_USSD_CNF based on user
27 action required or not 27 action required or not
28 28
29 Jul 04, 2006 REF: OMAPS00079722 x0023848 29 Jul 04, 2006 REF: OMAPS00079722 x0023848
30 Description: MS displays garbage instead of appropriate user indication when network 30 Description: MS displays garbage instead of appropriate user indication when network
31 release with problem code "unrecognized operation" or a cause "facility rejected". 31 release with problem code "unrecognized operation" or a cause "facility rejected".
32 Solution: Added a NULL Check for the result string of the USSD command that is being received. 32 Solution: Added a NULL Check for the result string of the USSD command that is being received.
33 33
34 Jun 30, 2006 REF : OMAPS00083503 R.Prabakar 34 Jun 30, 2006 REF : OMAPS00083503 R.Prabakar
35 Description : When USSD string is sent, MMI shows requesting screen forever 35 Description : When USSD string is sent, MMI shows requesting screen forever
36 Solution : Some cases in rAT_PlusCUSD weren't handled. They are handled now. 36 Solution : Some cases in rAT_PlusCUSD weren't handled. They are handled now.
37 37
38 Dec 16, 2005 REF: OMAPS00053316 x0018858 38 Dec 16, 2005 REF: OMAPS00053316 x0018858
39 Description: E-Sample 2.58 compiler code crashes when accessing the Voicemail service in the Messages 39 Description: E-Sample 2.58 compiler code crashes when accessing the Voicemail service in the Messages
40 Solution: Added a NULL Check for the USSD pointer that is being received. 40 Solution: Added a NULL Check for the USSD pointer that is being received.
41 41
42 Jul 05, 2005 REF: CRR 22565 a0876501 42 Jul 05, 2005 REF: CRR 22565 a0876501
43 Description: IMEI display on handset through atd*#06# was swapped. 43 Description: IMEI display on handset through atd*#06# was swapped.
44 Solution: Byte swapping corrected for IMEI decoding. 44 Solution: Byte swapping corrected for IMEI decoding.
45 45
46 Mar 30, 2005 REF: CRR 29986 xpradipg 46 Mar 30, 2005 REF: CRR 29986 xpradipg
47 Description: Optimisation 1: Removal of unused variables and dynamically 47 Description: Optimisation 1: Removal of unused variables and dynamically
48 allocate/ deallocate mbndata 48 allocate/ deallocate mbndata
49 Solution: unused variables are removed 49 Solution: unused variables are removed
50 50
51 Apr 06 2005 REF: CRR 29989 xpradipg 51 Apr 06 2005 REF: CRR 29989 xpradipg
52 Description: Optimisation 3: replace the static global data with dynamic 52 Description: Optimisation 3: replace the static global data with dynamic
53 allocation / deallocation 53 allocation / deallocation
54 Solution: The static global variables are dynamically allocated and 54 Solution: The static global variables are dynamically allocated and
55 deallocated 55 deallocated
56 56
57 Aug 16, 2004 REF: CRR 24323 Deepa M.D 57 Aug 16, 2004 REF: CRR 24323 Deepa M.D
58 Bug:Clenup of sprintf used for tracing 58 Bug:Clenup of sprintf used for tracing
59 Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX 59 Fix:Replace the char buf[]; sprintf (buf, "...", ...); TRACE_EVENT (buf); statements by TRACE_EVENT_PX
60 60
61 Jul 15, 2004 REF: CRR 13873 xkundadu 61 Jul 15, 2004 REF: CRR 13873 xkundadu
62 Description: Make an incoming call, the end user pressing 0+send will 62 Description: Make an incoming call, the end user pressing 0+send will
63 pick up the call. Instead, 0+send should reject the incoming 63 pick up the call. Instead, 0+send should reject the incoming
64 call. 64 call.
65 Solution: Added the handling of 0/1/2 SEND for a waiting call. 65 Solution: Added the handling of 0/1/2 SEND for a waiting call.
66 Modified the ss_decode() function in the 66 Modified the ss_decode() function in the
67 mfw_ss.c file to search the sequential table in the case of 67 mfw_ss.c file to search the sequential table in the case of
68 waiting call also. Made changes in mfw_cm.c file also 68 waiting call also. Made changes in mfw_cm.c file also
69 * 69 *
70 * ***************** Version 24 ***************** 70 * ***************** Version 24 *****************
71 * User: Vo Date: 24.03.00 Time: 10:18 71 * User: Vo Date: 24.03.00 Time: 10:18
72 * Updated in $/GSM/Condat/MS/SRC/MFW 72 * Updated in $/GSM/Condat/MS/SRC/MFW
215 static T_MFW_SS_NOTIFY notify; 215 static T_MFW_SS_NOTIFY notify;
216 #endif 216 #endif
217 217
218 // Apr 06 2005 REF: CRR 29989 xpradipg 218 // Apr 06 2005 REF: CRR 29989 xpradipg
219 // The below static globals are dynamically allocated in rAT_PercentKSIR where 219 // The below static globals are dynamically allocated in rAT_PercentKSIR where
220 // the data is populated for the supplementary services response and 220 // the data is populated for the supplementary services response and
221 // deallocated once the ss_signal function is executed where in the contents 221 // deallocated once the ss_signal function is executed where in the contents
222 // are copied onto another variable 222 // are copied onto another variable
223 #ifdef FF_MMI_OPTIM 223 #ifdef FF_MMI_OPTIM
224 T_MFW_SS_CF_CNF *cf_cnf = NULL; 224 T_MFW_SS_CF_CNF *cf_cnf = NULL;
225 T_MFW_SS_CB_CNF *cb_cnf = NULL; 225 T_MFW_SS_CB_CNF *cb_cnf = NULL;
285 // Mar 30, 2005 REF: CRR 29986 xpradipg 285 // Mar 30, 2005 REF: CRR 29986 xpradipg
286 // remove reundant code since the values assigned here are never referenced 286 // remove reundant code since the values assigned here are never referenced
287 287
288 #ifndef PCM_2_FFS 288 #ifndef PCM_2_FFS
289 289
290 #ifndef FF_MMI_OPTIM 290 #ifndef FF_MMI_OPTIM
291 EF_MSCAP mscap; 291 EF_MSCAP mscap;
292 EF_MSSUP mssup; 292 EF_MSSUP mssup;
293 EF_MSSET msset; 293 EF_MSSET msset;
294 UBYTE version; 294 UBYTE version;
295 295
362 T_MFW_HND ss_create(T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc) 362 T_MFW_HND ss_create(T_MFW_HND hWin, T_MFW_EVENT event, T_MFW_CB cbfunc)
363 { 363 {
364 T_MFW_HDR *hdr; 364 T_MFW_HDR *hdr;
365 T_MFW_SS *ss_para; 365 T_MFW_SS *ss_para;
366 MfwHdr * insert_status =0; 366 MfwHdr * insert_status =0;
367 367
368 TRACE_FUNCTION("ss_create()"); 368 TRACE_FUNCTION("ss_create()");
369 369
370 hdr = (T_MFW_HDR *) mfwAlloc(sizeof (T_MFW_HDR)); 370 hdr = (T_MFW_HDR *) mfwAlloc(sizeof (T_MFW_HDR));
371 ss_para = (T_MFW_SS *) mfwAlloc(sizeof (T_MFW_SS)); 371 ss_para = (T_MFW_SS *) mfwAlloc(sizeof (T_MFW_SS));
372 372
373 if (!hdr OR !ss_para) 373 if (!hdr OR !ss_para)
374 { 374 {
375 TRACE_ERROR("ERROR: ss_create() Mem Alloc Failed."); 375 TRACE_ERROR("ERROR: ss_create() Mem Alloc Failed.");
376 376
377 if(hdr) 377 if(hdr)
378 mfwFree((U8*)hdr,sizeof(MfwHdr)); 378 mfwFree((U8*)hdr,sizeof(MfwHdr));
379 379
380 if(ss_para) 380 if(ss_para)
381 mfwFree((U8*)ss_para,sizeof(T_MFW_SS)); 381 mfwFree((U8*)ss_para,sizeof(T_MFW_SS));
382 382
383 return FALSE; 383 return FALSE;
384 } 384 }
385 385
386 /* 386 /*
387 * initialisation of the handler 387 * initialisation of the handler
388 */ 388 */
389 ss_para->emask = event; 389 ss_para->emask = event;
390 ss_para->handler = cbfunc; 390 ss_para->handler = cbfunc;
394 394
395 /* 395 /*
396 * installation of the handler 396 * installation of the handler
397 */ 397 */
398 insert_status = mfwInsert((T_MFW_HDR *)hWin, hdr); 398 insert_status = mfwInsert((T_MFW_HDR *)hWin, hdr);
399 399
400 if(!insert_status) 400 if(!insert_status)
401 { 401 {
402 TRACE_ERROR("ERROR: ss_create() Failed to Install Handler. "); 402 TRACE_ERROR("ERROR: ss_create() Failed to Install Handler. ");
403 mfwFree((U8*)hdr,sizeof(MfwHdr)); 403 mfwFree((U8*)hdr,sizeof(MfwHdr));
404 mfwFree((U8*)ss_para,sizeof(T_MFW_SS)); 404 mfwFree((U8*)ss_para,sizeof(T_MFW_SS));
405 return 0; 405 return 0;
406 } 406 }
407 return insert_status; 407 return insert_status;
408 } 408 }
409 409
545 545
546 void ss_signal(T_MFW_EVENT event, void * para) 546 void ss_signal(T_MFW_EVENT event, void * para)
547 { 547 {
548 UBYTE temp; 548 UBYTE temp;
549 TRACE_FUNCTION ("ss_signal()"); 549 TRACE_FUNCTION ("ss_signal()");
550 550
551 temp = dspl_Enable(0); 551 temp = dspl_Enable(0);
552 if (mfwSignallingMethod EQ 0) 552 if (mfwSignallingMethod EQ 0)
553 { 553 {
554 /* 554 /*
555 * focus is on a window 555 * focus is on a window
654 654
655 /* check the type of destination address */ 655 /* check the type of destination address */
656 if ((cm_search_callId(CAL_STAT_Held, &id) == CM_OK) 656 if ((cm_search_callId(CAL_STAT_Held, &id) == CM_OK)
657 OR (cm_search_callId(CAL_STAT_Active, &id) == CM_OK)) 657 OR (cm_search_callId(CAL_STAT_Active, &id) == CM_OK))
658 { 658 {
659 call_active = TRUE; 659 call_active = TRUE;
660 ksd_decode((CHAR *)string, TRUE, &grp, &rest, &para); 660 ksd_decode((CHAR *)string, TRUE, &grp, &rest, &para);
661 } 661 }
662 else 662 else
663 ksd_decode((CHAR *)string, FALSE, &grp, &rest, &para); 663 ksd_decode((CHAR *)string, FALSE, &grp, &rest, &para);
664 664
673 { 673 {
674 case (SEQGRP_DIAL): /*JVJ CQ 6242 */ 674 case (SEQGRP_DIAL): /*JVJ CQ 6242 */
675 if (string_length<=MFW_MAX_DIAL_SHORT_STRING_LEN) 675 if (string_length<=MFW_MAX_DIAL_SHORT_STRING_LEN)
676 { 676 {
677 /* If the call is active, the short string will be USSD in all the cases not described in ETSI 2.30*/ 677 /* If the call is active, the short string will be USSD in all the cases not described in ETSI 2.30*/
678 if (call_active) 678 if (call_active)
679 grp = SEQGRP_USSD; 679 grp = SEQGRP_USSD;
680 /* If the call is not active, the short strings 1x will be DIAL, the rest USSD*/ 680 /* If the call is not active, the short strings 1x will be DIAL, the rest USSD*/
681 else if ((string_length EQ 1)||(*(string) NEQ '1')) 681 else if ((string_length EQ 1)||(*(string) NEQ '1'))
682 grp = SEQGRP_USSD; 682 grp = SEQGRP_USSD;
683 } 683 }
684 break; 684 break;
685 case (SEQGRP_SUP_CLIR): /* JGG/JVJ - CQ 6537 */ 685 case (SEQGRP_SUP_CLIR): /* JGG/JVJ - CQ 6537 */
686 case (SEQGRP_INV_CLIR): 686 case (SEQGRP_INV_CLIR):
687 if (strlen(rest)!=0) 687 if (strlen(rest)!=0)
690 690
691 /*check to make sure that the number is a real dial string */ 691 /*check to make sure that the number is a real dial string */
692 rest_ss_group = ss_check_ss_string((UBYTE*)rest); 692 rest_ss_group = ss_check_ss_string((UBYTE*)rest);
693 if (rest_ss_group EQ MFW_SS_DIAL) /*If rest is a dial string, then the whole string is dial */ 693 if (rest_ss_group EQ MFW_SS_DIAL) /*If rest is a dial string, then the whole string is dial */
694 ss_group = MFW_SS_DIAL; 694 ss_group = MFW_SS_DIAL;
695 else 695 else
696 ss_group = MFW_SS_UNKNOWN; 696 ss_group = MFW_SS_UNKNOWN;
697 697
698 TRACE_EVENT_P2("ss_check_ss_string(""%s"") returns -> %d",(char*)string,ss_group); 698 TRACE_EVENT_P2("ss_check_ss_string(""%s"") returns -> %d",(char*)string,ss_group);
699 return ss_group; 699 return ss_group;
700 } 700 }
701 break; 701 break;
731 BOOL bRetVal; 731 BOOL bRetVal;
732 732
733 TRACE_FUNCTION("ss_decode()"); 733 TRACE_FUNCTION("ss_decode()");
734 734
735 // Added the checking of wait call to solve the bug MMI-SPR 13873. 735 // Added the checking of wait call to solve the bug MMI-SPR 13873.
736 // If the call is a waiting also pass TRUE as the second parameter to the 736 // If the call is a waiting also pass TRUE as the second parameter to the
737 // function ksd_decode() to decode the entered number. In ksd_decode only if 737 // function ksd_decode() to decode the entered number. In ksd_decode only if
738 // the second parameter is TRUE the sequential table is searched to find out 738 // the second parameter is TRUE the sequential table is searched to find out
739 // the group where the user entered string belongs to. 739 // the group where the user entered string belongs to.
740 if ((cm_search_callId(CAL_STAT_Held, &id) == CM_OK) 740 if ((cm_search_callId(CAL_STAT_Held, &id) == CM_OK)
741 OR (cm_search_callId(CAL_STAT_Active, &id) == CM_OK) 741 OR (cm_search_callId(CAL_STAT_Active, &id) == CM_OK)
742 OR (cm_search_callId(CAL_STAT_Wait, &id) == CM_OK)) 742 OR (cm_search_callId(CAL_STAT_Wait, &id) == CM_OK))
743 { 743 {
744 bRetVal = ksd_decode((CHAR *)string, TRUE, &grp, &rest, &para); 744 bRetVal = ksd_decode((CHAR *)string, TRUE, &grp, &rest, &para);
745 if (!bRetVal) 745 if (!bRetVal)
746 *rest = 0; 746 *rest = 0;
747 } 747 }
778 */ 778 */
779 779
780 T_MFW_SS_RETURN ss_check_group(T_KSD_SEQGRP grp, T_KSD_SEQPARAM para) 780 T_MFW_SS_RETURN ss_check_group(T_KSD_SEQGRP grp, T_KSD_SEQPARAM para)
781 { 781 {
782 TRACE_EVENT_P1("ss_check_group: grp=%d", grp); 782 TRACE_EVENT_P1("ss_check_group: grp=%d", grp);
783 783
784 switch (grp) 784 switch (grp)
785 { 785 {
786 case SEQGRP_DIAL: 786 case SEQGRP_DIAL:
787 /*SPR#1352 - SH - Check for TTY On Next Call psuedo-ss strings*/ 787 /*SPR#1352 - SH - Check for TTY On Next Call psuedo-ss strings*/
788 if (!strncmp((char*)para.ussd.ussd, TTY_NEXTCALL_ON, strlen(TTY_NEXTCALL_ON))) 788 if (!strncmp((char*)para.ussd.ussd, TTY_NEXTCALL_ON, strlen(TTY_NEXTCALL_ON)))
798 case SEQGRP_DTMF: 798 case SEQGRP_DTMF:
799 return MFW_SS_DTMF; 799 return MFW_SS_DTMF;
800 800
801 case SEQGRP_USSD: 801 case SEQGRP_USSD:
802 /*MC, SPR 1111 check for LANGUAGE reset code*/ 802 /*MC, SPR 1111 check for LANGUAGE reset code*/
803 803
804 if (!strncmp((char*)para.ussd.ussd, LANG_RESET, strlen(LANG_RESET)) && para.ussd.ussd[6]=='#') 804 if (!strncmp((char*)para.ussd.ussd, LANG_RESET, strlen(LANG_RESET)) && para.ussd.ussd[6]=='#')
805 return MFW_SS_LANG_RESET; 805 return MFW_SS_LANG_RESET;
806 /*MC end*/ 806 /*MC end*/
807 return MFW_SS_USSD; 807 return MFW_SS_USSD;
808 808
865 case KSD_SS_BAIC: 865 case KSD_SS_BAIC:
866 case KSD_SS_BICRM: 866 case KSD_SS_BICRM:
867 867
868 /*NM 190602*/ 868 /*NM 190602*/
869 case KSD_SS_ALL_SERV: 869 case KSD_SS_ALL_SERV:
870 870
871 return MFW_SS_REG_PW; 871 return MFW_SS_REG_PW;
872 872
873 case KSD_SS_PIN1: 873 case KSD_SS_PIN1:
874 case KSD_SS_PIN2: 874 case KSD_SS_PIN2:
875 return MFW_SS_SIM_REG_PW; 875 return MFW_SS_SIM_REG_PW;
957 case CSSU_CODE_FwrdCheckSS: return MFW_SS_NOTIFY_checkSS; 957 case CSSU_CODE_FwrdCheckSS: return MFW_SS_NOTIFY_checkSS;
958 case CSSU_CODE_ECTAlert: return MFW_SS_NOTIFY_ectALERT; 958 case CSSU_CODE_ECTAlert: return MFW_SS_NOTIFY_ectALERT;
959 case CSSU_CODE_ECTConnect: return MFW_SS_NOTIFY_ectCONNECT; 959 case CSSU_CODE_ECTConnect: return MFW_SS_NOTIFY_ectCONNECT;
960 case CSSU_CODE_DeflectedCall: return MFW_SS_MT_DEFLECTED; 960 case CSSU_CODE_DeflectedCall: return MFW_SS_MT_DEFLECTED;
961 //x0pleela 22 Feb, 2007 ER: OMAPS00113891 961 //x0pleela 22 Feb, 2007 ER: OMAPS00113891
962 /* Adding the following new enum to differentiate the indications b/n the 962 /* Adding the following new enum to differentiate the indications b/n the
963 subscriber who forwarded the call (CSSU_CODE_IncCallForwarded) and 963 subscriber who forwarded the call (CSSU_CODE_IncCallForwarded) and
964 to whom the call was forwarded(CSSU_CODE_ForwardedCall) */ 964 to whom the call was forwarded(CSSU_CODE_ForwardedCall) */
965 case CSSU_CODE_IncCallForwarded: return MFW_SS_MT_CALL_FORWARDED; 965 case CSSU_CODE_IncCallForwarded: return MFW_SS_MT_CALL_FORWARDED;
966 default: return MFW_SS_NOTIFY_UNKNOWN; 966 default: return MFW_SS_NOTIFY_UNKNOWN;
967 } 967 }
968 } 968 }
1027 strcpy((char *)notify.number, (char *)number); 1027 strcpy((char *)notify.number, (char *)number);
1028 if (subaddr) 1028 if (subaddr)
1029 strcpy((char *)notify.subaddr, (char *)subaddr); 1029 strcpy((char *)notify.subaddr, (char *)subaddr);
1030 1030
1031 //PATCH TB 1309: Wrong codes tested 1031 //PATCH TB 1309: Wrong codes tested
1032 if ((code == MFW_SS_MO_CUG_CALL) OR 1032 if ((code == MFW_SS_MO_CUG_CALL) OR
1033 (code == MFW_SS_MT_CUG_CALL)) 1033 (code == MFW_SS_MT_CUG_CALL))
1034 notify.index = (UBYTE)index; 1034 notify.index = (UBYTE)index;
1035 /* END PATCH TB */ 1035 /* END PATCH TB */
1036 1036
1037 { 1037 {
1038 /***************************Go-lite Optimization changes Start***********************/ 1038 /***************************Go-lite Optimization changes Start***********************/
1039 //Aug 16, 2004 REF: CRR 24323 Deepa M.D 1039 //Aug 16, 2004 REF: CRR 24323 Deepa M.D
1040 TRACE_EVENT_P1 ("SS notify code = %d", notify.code); 1040 TRACE_EVENT_P1 ("SS notify code = %d", notify.code);
1041 /***************************Go-lite Optimization changes end***********************/ 1041 /***************************Go-lite Optimization changes end***********************/
1080 PURPOSE : This function is used to convert the SS code 1080 PURPOSE : This function is used to convert the SS code
1081 used by ACI to the SS code used by MFW. 1081 used by ACI to the SS code used by MFW.
1082 1082
1083 */ 1083 */
1084 1084
1085 T_MFW ss_cvtSCode(T_ACI_KSD_SS code) 1085 T_MFW ss_cvtSCode(T_ACI_KSD_SS code)
1086 { 1086 {
1087 switch (code) 1087 switch (code)
1088 { 1088 {
1089 case KSD_SS_CLIP: return SS_CLIP; 1089 case KSD_SS_CLIP: return SS_CLIP;
1090 case KSD_SS_CLIR: return SS_CLIR; 1090 case KSD_SS_CLIR: return SS_CLIR;
1247 1247
1248 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30; 1248 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30;
1249 imei_info.imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30; 1249 imei_info.imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30;
1250 imei_info.imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30; 1250 imei_info.imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30;
1251 imei_info.imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30; 1251 imei_info.imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30;
1252 imei_info.imei_number[4] = ( ksStat->ir.rKSIMEI.tac3 ) & 0x0F | 0x30; 1252 imei_info.imei_number[4] = ( ksStat->ir.rKSIMEI.tac3 ) & 0x0F | 0x30;
1253 imei_info.imei_number[5] = ( ksStat->ir.rKSIMEI.tac3 & 0xF0 ) >> 4 | 0x30; 1253 imei_info.imei_number[5] = ( ksStat->ir.rKSIMEI.tac3 & 0xF0 ) >> 4 | 0x30;
1254 imei_info.imei_number[6] = ( ksStat->ir.rKSIMEI.fac ) & 0x0F | 0x30; 1254 imei_info.imei_number[6] = ( ksStat->ir.rKSIMEI.fac ) & 0x0F | 0x30;
1255 imei_info.imei_number[7] = ( ksStat->ir.rKSIMEI.fac & 0xF0 ) >> 4 | 0x30; 1255 imei_info.imei_number[7] = ( ksStat->ir.rKSIMEI.fac & 0xF0 ) >> 4 | 0x30;
1256 imei_info.imei_number[8] = ( ksStat->ir.rKSIMEI.snr1 ) & 0x0F | 0x30; 1256 imei_info.imei_number[8] = ( ksStat->ir.rKSIMEI.snr1 ) & 0x0F | 0x30;
1257 imei_info.imei_number[9] = ( ksStat->ir.rKSIMEI.snr1 & 0xF0 ) >> 4 | 0x30; 1257 imei_info.imei_number[9] = ( ksStat->ir.rKSIMEI.snr1 & 0xF0 ) >> 4 | 0x30;
1258 imei_info.imei_number[10] = ( ksStat->ir.rKSIMEI.snr2 ) & 0x0F | 0x30; 1258 imei_info.imei_number[10] = ( ksStat->ir.rKSIMEI.snr2 ) & 0x0F | 0x30;
1259 imei_info.imei_number[11] = ( ksStat->ir.rKSIMEI.snr2 & 0xF0 ) >> 4 | 0x30; 1259 imei_info.imei_number[11] = ( ksStat->ir.rKSIMEI.snr2 & 0xF0 ) >> 4 | 0x30;
1261 imei_info.imei_number[13] = ( ksStat->ir.rKSIMEI.snr3 & 0xF0 ) >> 4 | 0x30; 1261 imei_info.imei_number[13] = ( ksStat->ir.rKSIMEI.snr3 & 0xF0 ) >> 4 | 0x30;
1262 imei_info.imei_number[14] = ( ksStat->ir.rKSIMEI.cd & 0x0F ) | 0x30; 1262 imei_info.imei_number[14] = ( ksStat->ir.rKSIMEI.cd & 0x0F ) | 0x30;
1263 imei_info.imei_number[15] = ( ksStat->ir.rKSIMEI.svn ) & 0x0F | 0x30; 1263 imei_info.imei_number[15] = ( ksStat->ir.rKSIMEI.svn ) & 0x0F | 0x30;
1264 imei_info.imei_number[16] = ( ksStat->ir.rKSIMEI.svn & 0xF0 ) >> 4 | 0x30; 1264 imei_info.imei_number[16] = ( ksStat->ir.rKSIMEI.svn & 0xF0 ) >> 4 | 0x30;
1265 imei_info.imei_number[17] = '\0'; 1265 imei_info.imei_number[17] = '\0';
1266 1266
1267 #else 1267 #else
1268 imei_info->imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30; 1268 imei_info->imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30;
1269 imei_info->imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30; 1269 imei_info->imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30;
1270 imei_info->imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30; 1270 imei_info->imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30;
1271 imei_info->imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30; 1271 imei_info->imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30;
1291 #ifdef NEPTUNE_BOARD /* OMAPS00059546 : BCD to conversion has been changed */ 1291 #ifdef NEPTUNE_BOARD /* OMAPS00059546 : BCD to conversion has been changed */
1292 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30; 1292 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 ) & 0x0F | 0x30;
1293 imei_info.imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30; 1293 imei_info.imei_number[1] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30;
1294 imei_info.imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30; 1294 imei_info.imei_number[2] = ( ksStat->ir.rKSIMEI.tac2 ) & 0x0F | 0x30;
1295 imei_info.imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30; 1295 imei_info.imei_number[3] = ( ksStat->ir.rKSIMEI.tac2 & 0xF0 ) >> 4 | 0x30;
1296 imei_info.imei_number[4] = ( ksStat->ir.rKSIMEI.tac3 ) & 0x0F | 0x30; 1296 imei_info.imei_number[4] = ( ksStat->ir.rKSIMEI.tac3 ) & 0x0F | 0x30;
1297 imei_info.imei_number[5] = ( ksStat->ir.rKSIMEI.tac3 & 0xF0 ) >> 4 | 0x30; 1297 imei_info.imei_number[5] = ( ksStat->ir.rKSIMEI.tac3 & 0xF0 ) >> 4 | 0x30;
1298 imei_info.imei_number[6] = ( ksStat->ir.rKSIMEI.fac ) & 0x0F | 0x30; 1298 imei_info.imei_number[6] = ( ksStat->ir.rKSIMEI.fac ) & 0x0F | 0x30;
1299 imei_info.imei_number[7] = ( ksStat->ir.rKSIMEI.fac & 0xF0 ) >> 4 | 0x30; 1299 imei_info.imei_number[7] = ( ksStat->ir.rKSIMEI.fac & 0xF0 ) >> 4 | 0x30;
1300 imei_info.imei_number[8] = ( ksStat->ir.rKSIMEI.snr1 ) & 0x0F | 0x30; 1300 imei_info.imei_number[8] = ( ksStat->ir.rKSIMEI.snr1 ) & 0x0F | 0x30;
1301 imei_info.imei_number[9] = ( ksStat->ir.rKSIMEI.snr1 & 0xF0 ) >> 4 | 0x30; 1301 imei_info.imei_number[9] = ( ksStat->ir.rKSIMEI.snr1 & 0xF0 ) >> 4 | 0x30;
1302 imei_info.imei_number[10] = ( ksStat->ir.rKSIMEI.snr2 ) & 0x0F | 0x30; 1302 imei_info.imei_number[10] = ( ksStat->ir.rKSIMEI.snr2 ) & 0x0F | 0x30;
1303 imei_info.imei_number[11] = ( ksStat->ir.rKSIMEI.snr2 & 0xF0 ) >> 4 | 0x30; 1303 imei_info.imei_number[11] = ( ksStat->ir.rKSIMEI.snr2 & 0xF0 ) >> 4 | 0x30;
1305 imei_info.imei_number[13] = ( ksStat->ir.rKSIMEI.snr3 & 0xF0 ) >> 4 | 0x30; 1305 imei_info.imei_number[13] = ( ksStat->ir.rKSIMEI.snr3 & 0xF0 ) >> 4 | 0x30;
1306 imei_info.imei_number[14] = ( ksStat->ir.rKSIMEI.cd & 0x0F ) | 0x30; 1306 imei_info.imei_number[14] = ( ksStat->ir.rKSIMEI.cd & 0x0F ) | 0x30;
1307 imei_info.imei_number[15] = ( ksStat->ir.rKSIMEI.svn ) & 0x0F | 0x30; 1307 imei_info.imei_number[15] = ( ksStat->ir.rKSIMEI.svn ) & 0x0F | 0x30;
1308 imei_info.imei_number[16] = ( ksStat->ir.rKSIMEI.svn & 0xF0 ) >> 4 | 0x30; 1308 imei_info.imei_number[16] = ( ksStat->ir.rKSIMEI.svn & 0xF0 ) >> 4 | 0x30;
1309 imei_info.imei_number[17] = '\0'; 1309 imei_info.imei_number[17] = '\0';
1310 1310
1311 #else 1311 #else
1312 // Jul 05 2005 REF: CRR 22565 a0876501 1312 // Jul 05 2005 REF: CRR 22565 a0876501
1313 // Fixed the issue of byte swapping. 1313 // Fixed the issue of byte swapping.
1314 1314
1315 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30; 1315 imei_info.imei_number[0] = ( ksStat->ir.rKSIMEI.tac1 & 0xF0 ) >> 4 | 0x30;
1337 imei_info.imei_number[0], imei_info.imei_number[1], imei_info.imei_number[2], imei_info.imei_number[3], 1337 imei_info.imei_number[0], imei_info.imei_number[1], imei_info.imei_number[2], imei_info.imei_number[3],
1338 imei_info.imei_number[4], imei_info.imei_number[5], imei_info.imei_number[6], imei_info.imei_number[7]); 1338 imei_info.imei_number[4], imei_info.imei_number[5], imei_info.imei_number[6], imei_info.imei_number[7]);
1339 TRACE_EVENT_P6("ss_decode_imei IMEI: SNR %1c%1c%1c%1c%1c%1c", 1339 TRACE_EVENT_P6("ss_decode_imei IMEI: SNR %1c%1c%1c%1c%1c%1c",
1340 imei_info.imei_number[8], imei_info.imei_number[9], imei_info.imei_number[10], imei_info.imei_number[11], 1340 imei_info.imei_number[8], imei_info.imei_number[9], imei_info.imei_number[10], imei_info.imei_number[11],
1341 imei_info.imei_number[12], imei_info.imei_number[13]); 1341 imei_info.imei_number[12], imei_info.imei_number[13]);
1342 TRACE_EVENT_P4("ss_decode_imei IMEI: SV CD %1c%1c%1c%1c", 1342 TRACE_EVENT_P4("ss_decode_imei IMEI: SV CD %1c%1c%1c%1c",
1343 imei_info.imei_number[14], imei_info.imei_number[15], imei_info.imei_number[16],imei_info.imei_number[17]); 1343 imei_info.imei_number[14], imei_info.imei_number[15], imei_info.imei_number[16],imei_info.imei_number[17]);
1344 1344
1345 #endif 1345 #endif
1346 } 1346 }
1347 1347
1348 #ifdef NEPTUNE_BOARD 1348 #ifdef NEPTUNE_BOARD
1349 1349
1350 1350
1380 /* 1380 /*
1381 +--------------------------------------------------------------------+ 1381 +--------------------------------------------------------------------+
1382 | PROJECT: MMI-Framework (8417) MODULE : MFW_SS | 1382 | PROJECT: MMI-Framework (8417) MODULE : MFW_SS |
1383 | STATE : code ROUTINE : mfw_getCdByteFromImei | 1383 | STATE : code ROUTINE : mfw_getCdByteFromImei |
1384 +--------------------------------------------------------------------+ 1384 +--------------------------------------------------------------------+
1385 PURPOSE : Get CD byte from IMEI. 1385 PURPOSE : Get CD byte from IMEI.
1386 */ 1386 */
1387 UBYTE getCdByteFromImei(UBYTE *imei) 1387 UBYTE getCdByteFromImei(UBYTE *imei)
1388 { 1388 {
1389 T_ACI_IMEI aci_imei; 1389 T_ACI_IMEI aci_imei;
1390 #ifdef NEPTUNE_BOARD 1390 #ifdef NEPTUNE_BOARD
1405 #ifndef NEPTUNE_BOARD 1405 #ifndef NEPTUNE_BOARD
1406 1406
1407 return(cmhSS_getCdFromImei(&aci_imei)); 1407 return(cmhSS_getCdFromImei(&aci_imei));
1408 1408
1409 #else 1409 #else
1410 1410
1411 /* OMAPS00059546 : Calculating the CD bytes for IMEI */ 1411 /* OMAPS00059546 : Calculating the CD bytes for IMEI */
1412 iSum += mfw_getSumOf2Digits ( aci_imei.tac1 ); 1412 iSum += mfw_getSumOf2Digits ( aci_imei.tac1 );
1413 iSum += mfw_getSumOf2Digits ( aci_imei.tac2 ); 1413 iSum += mfw_getSumOf2Digits ( aci_imei.tac2 );
1414 iSum += mfw_getSumOf2Digits ( aci_imei.tac3 ); 1414 iSum += mfw_getSumOf2Digits ( aci_imei.tac3 );
1415 iSum += mfw_getSumOf2Digits ( aci_imei.fac ); 1415 iSum += mfw_getSumOf2Digits ( aci_imei.fac );
1416 iSum += mfw_getSumOf2Digits ( aci_imei.snr1 ); 1416 iSum += mfw_getSumOf2Digits ( aci_imei.snr1 );
1417 iSum += mfw_getSumOf2Digits ( aci_imei.snr2 ); 1417 iSum += mfw_getSumOf2Digits ( aci_imei.snr2 );
1418 iSum += mfw_getSumOf2Digits ( aci_imei.snr3 ); 1418 iSum += mfw_getSumOf2Digits ( aci_imei.snr3 );
1419 1419
1420 iCd = 10 - ( iSum % 10 ); 1420 iCd = 10 - ( iSum % 10 );
1421 iCd = ( iCd EQ 10 ? 0 : iCd ); 1421 iCd = ( iCd EQ 10 ? 0 : iCd );
1422 return ( iCd ); 1422 return ( iCd );
1423 #endif 1423 #endif
1424 1424
1480 #else 1480 #else
1481 cb_cnf.ss_code = (T_MFW_SS_CODES) ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCB.ssCd); 1481 cb_cnf.ss_code = (T_MFW_SS_CODES) ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCB.ssCd);
1482 cb_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCB.opCd); 1482 cb_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCB.opCd);
1483 cb_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCB.ssErr); 1483 cb_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCB.ssErr);
1484 cb_cnf.ss_telecom_list = p_tele; 1484 cb_cnf.ss_telecom_list = p_tele;
1485 #endif 1485 #endif
1486 1486
1487 for( idx = 0; 1487 for( idx = 0;
1488 idx < ksStat->ir.rKSCB.c_cbInfoLst AND 1488 idx < ksStat->ir.rKSCB.c_cbInfoLst AND
1489 idx < MFW_MAX_TELE_NR; 1489 idx < MFW_MAX_TELE_NR;
1490 idx++, p_tele++ ) 1490 idx++, p_tele++ )
1494 p_tele->ss_telecom_service = ksStat->ir.rKSCB. 1494 p_tele->ss_telecom_service = ksStat->ir.rKSCB.
1495 cbInfoLst[idx].bsCd; 1495 cbInfoLst[idx].bsCd;
1496 p_tele->ss_status = ksStat->ir.rKSCB. 1496 p_tele->ss_status = ksStat->ir.rKSCB.
1497 cbInfoLst[idx].ssSt; 1497 cbInfoLst[idx].ssSt;
1498 } 1498 }
1499 // Apr 06 2005 REF: CRR 29989 xpradipg 1499 // Apr 06 2005 REF: CRR 29989 xpradipg
1500 #ifdef FF_MMI_OPTIM 1500 #ifdef FF_MMI_OPTIM
1501 if(NULL != cb_cnf) 1501 if(NULL != cb_cnf)
1502 cb_cnf->ss_telecom_count = idx; 1502 cb_cnf->ss_telecom_count = idx;
1503 #else 1503 #else
1504 cb_cnf.ss_telecom_count = idx; 1504 cb_cnf.ss_telecom_count = idx;
1505 #endif 1505 #endif
1506 break; 1506 break;
1507 1507
1508 case KSD_CMD_CF: 1508 case KSD_CMD_CF:
1509 TRACE_EVENT("KSD_CMD_CF"); 1509 TRACE_EVENT("KSD_CMD_CF");
1510 TRACE_EVENT_P1("ksStat->ir.rKSCF.ssCd %d", ksStat->ir.rKSCF.ssCd); 1510 TRACE_EVENT_P1("ksStat->ir.rKSCF.ssCd %d", ksStat->ir.rKSCF.ssCd);
1544 cf_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCF.ssCd); 1544 cf_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCF.ssCd);
1545 cf_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCF.opCd); 1545 cf_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCF.opCd);
1546 cf_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCF.ssErr); 1546 cf_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCF.ssErr);
1547 1547
1548 cf_cnf.ss_feature_list = p_feat; 1548 cf_cnf.ss_feature_list = p_feat;
1549 #endif 1549 #endif
1550 for( idx = 0; 1550 for( idx = 0;
1551 idx < ksStat->ir.rKSCF.c_cfFeatLst AND 1551 idx < ksStat->ir.rKSCF.c_cfFeatLst AND
1552 idx < MFW_MAX_FEAT_NR; 1552 idx < MFW_MAX_FEAT_NR;
1553 idx++, p_feat++ ) 1553 idx++, p_feat++ )
1554 { 1554 {
1568 (char *)ksStat->ir.rKSCF.cfFeatLst[idx].sub, 1568 (char *)ksStat->ir.rKSCF.cfFeatLst[idx].sub,
1569 MFW_SS_SUBADR_LEN); 1569 MFW_SS_SUBADR_LEN);
1570 p_feat->ss_no_reply_condition_time = ksStat->ir.rKSCF. 1570 p_feat->ss_no_reply_condition_time = ksStat->ir.rKSCF.
1571 cfFeatLst[idx].time; 1571 cfFeatLst[idx].time;
1572 } 1572 }
1573 // Apr 06 2005 REF: CRR 29989 xpradipg 1573 // Apr 06 2005 REF: CRR 29989 xpradipg
1574 #ifdef FF_MMI_OPTIM 1574 #ifdef FF_MMI_OPTIM
1575 if(NULL != cf_cnf) 1575 if(NULL != cf_cnf)
1576 cf_cnf->ss_feature_count = idx; 1576 cf_cnf->ss_feature_count = idx;
1577 #else 1577 #else
1578 cf_cnf.ss_feature_count = idx; 1578 cf_cnf.ss_feature_count = idx;
1579 #endif 1579 #endif
1580 TRACE_EVENT("rat_percentksir->KSD_CMD_CF"); 1580 TRACE_EVENT("rat_percentksir->KSD_CMD_CF");
1581 if (ksStat->srcId != CMD_SRC_LCL) 1581 if (ksStat->srcId != CMD_SRC_LCL)
1582 // Apr 06 2005 REF: CRR 29989 xpradipg 1582 // Apr 06 2005 REF: CRR 29989 xpradipg
1583 #ifdef FF_MMI_OPTIM 1583 #ifdef FF_MMI_OPTIM
1584 { 1584 {
1585 1585
1586 ss_signal(E_SS_CF_ICN_UPD,cf_cnf); 1586 ss_signal(E_SS_CF_ICN_UPD,cf_cnf);
1587 } 1587 }
1588 #else 1588 #else
1589 ss_signal(E_SS_CF_ICN_UPD, &cf_cnf); 1589 ss_signal(E_SS_CF_ICN_UPD, &cf_cnf);
1590 #endif 1590 #endif
1591 1591
1592 break; 1592 break;
1598 TRACE_EVENT_P1("ksStat->ir.rKSCL.ssErr %d", ksStat->ir.rKSCL.ssErr); 1598 TRACE_EVENT_P1("ksStat->ir.rKSCL.ssErr %d", ksStat->ir.rKSCL.ssErr);
1599 TRACE_EVENT_P1("ksStat->ir.rKSCL.ssSt %d", ksStat->ir.rKSCL.ssSt); 1599 TRACE_EVENT_P1("ksStat->ir.rKSCL.ssSt %d", ksStat->ir.rKSCL.ssSt);
1600 TRACE_EVENT_P1("ksStat->ir.rKSCL.mode %d", ksStat->ir.rKSCL.mode); 1600 TRACE_EVENT_P1("ksStat->ir.rKSCL.mode %d", ksStat->ir.rKSCL.mode);
1601 TRACE_EVENT_P1("ksStat->ir.rKSCL.clirOpt %d", ksStat->ir.rKSCL.clirOpt); 1601 TRACE_EVENT_P1("ksStat->ir.rKSCL.clirOpt %d", ksStat->ir.rKSCL.clirOpt);
1602 TRACE_EVENT_P1("ksStat->ir.rKSCL.ovrdCtg %d", ksStat->ir.rKSCL.ovrdCtg); 1602 TRACE_EVENT_P1("ksStat->ir.rKSCL.ovrdCtg %d", ksStat->ir.rKSCL.ovrdCtg);
1603 // Apr 06 2005 REF: CRR 29989 xpradipg 1603 // Apr 06 2005 REF: CRR 29989 xpradipg
1604 #ifdef FF_MMI_OPTIM 1604 #ifdef FF_MMI_OPTIM
1605 cli_cnf = (T_MFW_SS_CLI_CNF*)mfwAlloc(sizeof(T_MFW_SS_CLI_CNF)); 1605 cli_cnf = (T_MFW_SS_CLI_CNF*)mfwAlloc(sizeof(T_MFW_SS_CLI_CNF));
1606 if(NULL != cli_cnf) 1606 if(NULL != cli_cnf)
1607 { 1607 {
1608 cli_cnf->ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCL.ssCd); /*a0393213 compiler warning removal - explicit typecasting done*/ 1608 cli_cnf->ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCL.ssCd); /*a0393213 compiler warning removal - explicit typecasting done*/
1618 cli_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCL.ssErr); 1618 cli_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCL.ssErr);
1619 1619
1620 cli_cnf.ss_status = ksStat->ir.rKSCL.ssSt; 1620 cli_cnf.ss_status = ksStat->ir.rKSCL.ssSt;
1621 cli_cnf.ss_clir_option = (T_MFW_CL_STATUS)ss_cvtCLStatus((T_ACI_KSD_CLIR_OP)ksStat->ir.rKSCL.clirOpt);/*a0393213 compiler warning removal - explicit typecasting done*/ 1621 cli_cnf.ss_clir_option = (T_MFW_CL_STATUS)ss_cvtCLStatus((T_ACI_KSD_CLIR_OP)ksStat->ir.rKSCL.clirOpt);/*a0393213 compiler warning removal - explicit typecasting done*/
1622 cli_cnf.ss_ovrd_ctgry = (T_MFW_OV_CTGRY)ss_cvtCLOvrd((T_ACI_KSD_OVRD_CTG)ksStat->ir.rKSCL.ovrdCtg); 1622 cli_cnf.ss_ovrd_ctgry = (T_MFW_OV_CTGRY)ss_cvtCLOvrd((T_ACI_KSD_OVRD_CTG)ksStat->ir.rKSCL.ovrdCtg);
1623 #endif 1623 #endif
1624 break; 1624 break;
1625 1625
1626 case KSD_CMD_CW: 1626 case KSD_CMD_CW:
1627 TRACE_EVENT("KSD_CMD_CW"); 1627 TRACE_EVENT("KSD_CMD_CW");
1628 TRACE_EVENT_P1("ksStat->ir.rKSCW.ssCd %d", ksStat->ir.rKSCW.ssCd); 1628 TRACE_EVENT_P1("ksStat->ir.rKSCW.ssCd %d", ksStat->ir.rKSCW.ssCd);
1638 TRACE_EVENT_P2("ksStat->ir.rKSCW.cwBSGLst[%d].bsTp %d", i, ksStat->ir.rKSCW.cwBSGLst[i].bsTp); 1638 TRACE_EVENT_P2("ksStat->ir.rKSCW.cwBSGLst[%d].bsTp %d", i, ksStat->ir.rKSCW.cwBSGLst[i].bsTp);
1639 TRACE_EVENT_P2("ksStat->ir.rKSCW.cwBSGLst[%d].bsCd %d", i, ksStat->ir.rKSCW.cwBSGLst[i].bsCd); 1639 TRACE_EVENT_P2("ksStat->ir.rKSCW.cwBSGLst[%d].bsCd %d", i, ksStat->ir.rKSCW.cwBSGLst[i].bsCd);
1640 } 1640 }
1641 } 1641 }
1642 p_srv = (T_MFW_SRV_GROUP *) ssLstBuf; 1642 p_srv = (T_MFW_SRV_GROUP *) ssLstBuf;
1643 // Apr 06 2005 REF: CRR 29989 xpradipg 1643 // Apr 06 2005 REF: CRR 29989 xpradipg
1644 #ifdef FF_MMI_OPTIM 1644 #ifdef FF_MMI_OPTIM
1645 cw_cnf = (T_MFW_SS_CW_CNF*)mfwAlloc(sizeof(T_MFW_SS_CW_CNF)); 1645 cw_cnf = (T_MFW_SS_CW_CNF*)mfwAlloc(sizeof(T_MFW_SS_CW_CNF));
1646 if(cw_cnf != NULL) 1646 if(cw_cnf != NULL)
1647 { 1647 {
1648 cw_cnf->ss_code =(T_MFW_SS_CODES) ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCW.ssCd);/*a0393213 compiler warning removal - explicit typecasting done*/ 1648 cw_cnf->ss_code =(T_MFW_SS_CODES) ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCW.ssCd);/*a0393213 compiler warning removal - explicit typecasting done*/
1649 cw_cnf->ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCW.opCd);/*a0393213 compiler warning removal - explicit typecasting done*/ 1649 cw_cnf->ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCW.opCd);/*a0393213 compiler warning removal - explicit typecasting done*/
1650 cw_cnf->ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCW.ssErr);/*a0393213 compiler warning removal - explicit typecasting done*/ 1650 cw_cnf->ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCW.ssErr);/*a0393213 compiler warning removal - explicit typecasting done*/
1651 cw_cnf->ss_status = ksStat->ir.rKSCW.ssSt; 1651 cw_cnf->ss_status = ksStat->ir.rKSCW.ssSt;
1652 cw_cnf->ss_service_list = p_srv; 1652 cw_cnf->ss_service_list = p_srv;
1653 } 1653 }
1654 1654
1655 #else 1655 #else
1656 cw_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCW.ssCd); 1656 cw_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSCW.ssCd);
1657 cw_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCW.opCd); 1657 cw_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSCW.opCd);
1658 cw_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCW.ssErr); 1658 cw_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSCW.ssErr);
1659 cw_cnf.ss_status = ksStat->ir.rKSCW.ssSt; 1659 cw_cnf.ss_status = ksStat->ir.rKSCW.ssSt;
1660 1660
1668 p_srv->ss_telecom_type = ksStat->ir.rKSCW. 1668 p_srv->ss_telecom_type = ksStat->ir.rKSCW.
1669 cwBSGLst[idx].bsTp; 1669 cwBSGLst[idx].bsTp;
1670 p_srv->ss_telecom_service = ksStat->ir.rKSCW. 1670 p_srv->ss_telecom_service = ksStat->ir.rKSCW.
1671 cwBSGLst[idx].bsCd; 1671 cwBSGLst[idx].bsCd;
1672 } 1672 }
1673 // Apr 06 2005 REF: CRR 29989 xpradipg 1673 // Apr 06 2005 REF: CRR 29989 xpradipg
1674 #ifdef FF_MMI_OPTIM 1674 #ifdef FF_MMI_OPTIM
1675 if(NULL != cw_cnf) 1675 if(NULL != cw_cnf)
1676 cw_cnf->ss_service_count = idx; 1676 cw_cnf->ss_service_count = idx;
1677 #else 1677 #else
1678 cw_cnf.ss_service_count = idx; 1678 cw_cnf.ss_service_count = idx;
1679 #endif 1679 #endif
1680 break; 1680 break;
1681 1681
1682 case KSD_CMD_PWD: 1682 case KSD_CMD_PWD:
1683 TRACE_EVENT("KSD_CMD_PWD"); 1683 TRACE_EVENT("KSD_CMD_PWD");
1684 TRACE_EVENT_P1("ksStat->ir.rKSPW.ssCd %d", ksStat->ir.rKSPW.ssCd); 1684 TRACE_EVENT_P1("ksStat->ir.rKSPW.ssCd %d", ksStat->ir.rKSPW.ssCd);
1685 TRACE_EVENT_P1("ksStat->ir.rKSPW.opCd %d", ksStat->ir.rKSPW.opCd); 1685 TRACE_EVENT_P1("ksStat->ir.rKSPW.opCd %d", ksStat->ir.rKSPW.opCd);
1686 TRACE_EVENT_P1("ksStat->ir.rKSPW.ssErr %d", ksStat->ir.rKSPW.ssErr); 1686 TRACE_EVENT_P1("ksStat->ir.rKSPW.ssErr %d", ksStat->ir.rKSPW.ssErr);
1687 TRACE_EVENT_P1("ksStat->ir.rKSPW.newPwd %s", ksStat->ir.rKSPW.newPwd); 1687 TRACE_EVENT_P1("ksStat->ir.rKSPW.newPwd %s", ksStat->ir.rKSPW.newPwd);
1688 // Apr 06 2005 REF: CRR 29989 xpradipg 1688 // Apr 06 2005 REF: CRR 29989 xpradipg
1689 #ifdef FF_MMI_OPTIM 1689 #ifdef FF_MMI_OPTIM
1690 pw_cnf = (T_MFW_SS_PW_CNF*)mfwAlloc(sizeof(T_MFW_SS_PW_CNF)); 1690 pw_cnf = (T_MFW_SS_PW_CNF*)mfwAlloc(sizeof(T_MFW_SS_PW_CNF));
1691 if( NULL != pw_cnf) 1691 if( NULL != pw_cnf)
1692 { 1692 {
1693 pw_cnf->ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSPW.ssCd);/*a0393213 compiler warning removal - explicit typecasting done*/ 1693 pw_cnf->ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSPW.ssCd);/*a0393213 compiler warning removal - explicit typecasting done*/
1694 pw_cnf->ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSPW.opCd);/*a0393213 compiler warning removal - explicit typecasting done*/ 1694 pw_cnf->ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSPW.opCd);/*a0393213 compiler warning removal - explicit typecasting done*/
1695 pw_cnf->ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSPW.ssErr);/*a0393213 compiler warning removal - explicit typecasting done*/ 1695 pw_cnf->ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSPW.ssErr);/*a0393213 compiler warning removal - explicit typecasting done*/
1696 1696
1697 strncpy( (char *)pw_cnf->ss_new_pwd, (char *)ksStat->ir.rKSPW.newPwd, 1697 strncpy( (char *)pw_cnf->ss_new_pwd, (char *)ksStat->ir.rKSPW.newPwd,
1698 MFW_SS_PWD_LEN); 1698 MFW_SS_PWD_LEN);
1699 } 1699 }
1700 #else 1700 #else
1701 pw_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSPW.ssCd); 1701 pw_cnf.ss_code = (T_MFW_SS_CODES)ss_cvtSCode((T_ACI_KSD_SS)ksStat->ir.rKSPW.ssCd);
1702 pw_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSPW.opCd); 1702 pw_cnf.ss_category = (T_MFW_SS_CATEGORY)ss_cvtOCode((T_ACI_KSD_OP)ksStat->ir.rKSPW.opCd);
1703 pw_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSPW.ssErr); 1703 pw_cnf.ss_error = (T_MFW_SS_ERROR)ss_cvtErrCode((T_ACI_KSD_ERR)ksStat->ir.rKSPW.ssErr);
1704 1704
1705 strncpy( (char *)pw_cnf.ss_new_pwd, (char *)ksStat->ir.rKSPW.newPwd, 1705 strncpy( (char *)pw_cnf.ss_new_pwd, (char *)ksStat->ir.rKSPW.newPwd,
1706 MFW_SS_PWD_LEN); 1706 MFW_SS_PWD_LEN);
1707 #endif 1707 #endif
1708 break; 1708 break;
1709 1709
1710 case KSD_CMD_IMEI: 1710 case KSD_CMD_IMEI:
1711 TRACE_EVENT("KSD_CMD_IMEI"); 1711 TRACE_EVENT("KSD_CMD_IMEI");
1712 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.tac1 %d", ksStat->ir.rKSIMEI.tac1); 1712 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.tac1 %d", ksStat->ir.rKSIMEI.tac1);
1716 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr1 %d", ksStat->ir.rKSIMEI.snr1); 1716 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr1 %d", ksStat->ir.rKSIMEI.snr1);
1717 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr2 %d", ksStat->ir.rKSIMEI.snr2); 1717 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr2 %d", ksStat->ir.rKSIMEI.snr2);
1718 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr3 %d", ksStat->ir.rKSIMEI.snr3); 1718 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.snr3 %d", ksStat->ir.rKSIMEI.snr3);
1719 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.svn %d", ksStat->ir.rKSIMEI.svn); 1719 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.svn %d", ksStat->ir.rKSIMEI.svn);
1720 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.cd %d", ksStat->ir.rKSIMEI.cd); 1720 TRACE_EVENT_P1("ksStat->ir.rKSIMEI.cd %d", ksStat->ir.rKSIMEI.cd);
1721 // Apr 06 2005 REF: CRR 29989 xpradipg 1721 // Apr 06 2005 REF: CRR 29989 xpradipg
1722 #ifdef FF_MMI_OPTIM 1722 #ifdef FF_MMI_OPTIM
1723 imei_info = (T_MFW_IMEI*)mfwAlloc(sizeof(T_MFW_IMEI)); 1723 imei_info = (T_MFW_IMEI*)mfwAlloc(sizeof(T_MFW_IMEI));
1724 if( NULL != imei_info) 1724 if( NULL != imei_info)
1725 { 1725 {
1726 #endif 1726 #endif
1727 ss_decode_imei(ksStat); 1727 ss_decode_imei(ksStat);
1728 // Apr 06 2005 REF: CRR 29989 xpradipg 1728 // Apr 06 2005 REF: CRR 29989 xpradipg
1729 #ifdef FF_MMI_OPTIM 1729 #ifdef FF_MMI_OPTIM
1730 imei_info->error = MFW_SS_NO_ERROR; 1730 imei_info->error = MFW_SS_NO_ERROR;
1731 ss_signal(E_SS_IMEI, imei_info); 1731 ss_signal(E_SS_IMEI, imei_info);
1732 } 1732 }
1733 #else 1733 #else
1734 imei_info.error = MFW_SS_NO_ERROR; 1734 imei_info.error = MFW_SS_NO_ERROR;
1735 ss_signal(E_SS_IMEI, &imei_info); 1735 ss_signal(E_SS_IMEI, &imei_info);
1736 #endif 1736 #endif
1737 break; 1737 break;
1738 1738
1757 1757
1758 //x0pleela 28 Aug, 2006 DR: OMAPS00083503 1758 //x0pleela 28 Aug, 2006 DR: OMAPS00083503
1759 //sending ss signal E_SS_USSD_REQ or E_SS_USSD_CNF based on user action required or not 1759 //sending ss signal E_SS_USSD_REQ or E_SS_USSD_CNF based on user action required or not
1760 if (ksStat->ir.rKSUS.mode == CUSD_MOD_YesActReq) 1760 if (ksStat->ir.rKSUS.mode == CUSD_MOD_YesActReq)
1761 ss_signal(E_SS_USSD_REQ, &ussd_info); 1761 ss_signal(E_SS_USSD_REQ, &ussd_info);
1762 if (ksStat->ir.rKSUS.mode == CUSD_MOD_NoActReq || ksStat->ir.rKSUS.mode==CUSD_MOD_TerminatedByNetwork || 1762 if (ksStat->ir.rKSUS.mode == CUSD_MOD_NoActReq || ksStat->ir.rKSUS.mode==CUSD_MOD_TerminatedByNetwork ||
1763 ksStat->ir.rKSUS.mode == CUSD_MOD_OperationNotSupported || ksStat->ir.rKSUS.mode ==CUSD_MOD_NetworkTimeout) 1763 ksStat->ir.rKSUS.mode == CUSD_MOD_OperationNotSupported || ksStat->ir.rKSUS.mode ==CUSD_MOD_NetworkTimeout)
1764 ss_signal(E_SS_USSD_CNF, &ussd_info); 1764 ss_signal(E_SS_USSD_CNF, &ussd_info);
1765 1765
1766 break; 1766 break;
1767 1767
1768 default: 1768 default:
1769 TRACE_EVENT("default"); 1769 TRACE_EVENT("default");
1770 break; 1770 break;
1786 { 1786 {
1787 // Apr 06 2005 REF: CRR 29989 xpradipg 1787 // Apr 06 2005 REF: CRR 29989 xpradipg
1788 // the variable is made local since the scope lies within this function 1788 // the variable is made local since the scope lies within this function
1789 #ifdef FF_MMI_OPTIM 1789 #ifdef FF_MMI_OPTIM
1790 T_MFW_SS_RES ss_res; 1790 T_MFW_SS_RES ss_res;
1791 #endif 1791 #endif
1792 TRACE_FUNCTION("ss_command_info()"); 1792 TRACE_FUNCTION("ss_command_info()");
1793 1793
1794 if (cmd->cmdPrm.sCFUN.srcId != CMD_SRC_LCL) 1794 if (cmd->cmdPrm.sCFUN.srcId != CMD_SRC_LCL)
1795 return; 1795 return;
1796 1796
1845 1845
1846 1846
1847 /*NM 190602*/ 1847 /*NM 190602*/
1848 case KSD_SS_ALL_SERV : 1848 case KSD_SS_ALL_SERV :
1849 1849
1850 1850
1851 ss_res.type = ss_cvtSCode((T_ACI_KSD_SS)cmd->cmdPrm.sKSPW.ssCd); 1851 ss_res.type = ss_cvtSCode((T_ACI_KSD_SS)cmd->cmdPrm.sKSPW.ssCd);
1852 ss_res.category = SS_REGISTRATION; 1852 ss_res.category = SS_REGISTRATION;
1853 if( cmd->cmdPrm.sKSPW.oldPwd ) 1853 if( cmd->cmdPrm.sKSPW.oldPwd )
1854 strncpy(ss_res.ppn, (char *)cmd->cmdPrm.sKSPW.oldPwd, 1854 strncpy(ss_res.ppn, (char *)cmd->cmdPrm.sKSPW.oldPwd,
1855 MAX_PWD_LEN); 1855 MAX_PWD_LEN);
1966 if(cb_cnf) 1966 if(cb_cnf)
1967 { 1967 {
1968 ss_signal(E_SS_CB_CNF, cb_cnf); 1968 ss_signal(E_SS_CB_CNF, cb_cnf);
1969 mfwFree((U8*)cb_cnf, sizeof(T_MFW_SS_CB_CNF)); 1969 mfwFree((U8*)cb_cnf, sizeof(T_MFW_SS_CB_CNF));
1970 } 1970 }
1971 #else 1971 #else
1972 ss_signal(E_SS_CB_CNF, &cb_cnf); 1972 ss_signal(E_SS_CB_CNF, &cb_cnf);
1973 #endif 1973 #endif
1974 break; 1974 break;
1975 case KSD_CMD_CF: 1975 case KSD_CMD_CF:
1976 // Apr 06 2005 REF: CRR 29989 xpradipg 1976 // Apr 06 2005 REF: CRR 29989 xpradipg
1977 #ifdef FF_MMI_OPTIM 1977 #ifdef FF_MMI_OPTIM
1978 TRACE_EVENT("KSD_CMD_CF"); 1978 TRACE_EVENT("KSD_CMD_CF");
1979 if(cf_cnf) 1979 if(cf_cnf)
1980 { 1980 {
1981 ss_signal(E_SS_CF_CNF, cf_cnf); 1981 ss_signal(E_SS_CF_CNF, cf_cnf);
1982 mfwFree((U8*)cf_cnf, sizeof(T_MFW_SS_CF_CNF)); 1982 mfwFree((U8*)cf_cnf, sizeof(T_MFW_SS_CF_CNF));
1983 } 1983 }
1984 #else 1984 #else
1985 ss_signal(E_SS_CF_CNF, &cf_cnf); 1985 ss_signal(E_SS_CF_CNF, &cf_cnf);
1986 #endif 1986 #endif
1987 1987
1988 break; 1988 break;
1989 case KSD_CMD_CW: 1989 case KSD_CMD_CW:
1990 // Apr 06 2005 REF: CRR 29989 xpradipg 1990 // Apr 06 2005 REF: CRR 29989 xpradipg
1991 #ifdef FF_MMI_OPTIM 1991 #ifdef FF_MMI_OPTIM
1992 TRACE_EVENT("KSD_CMD_CW"); 1992 TRACE_EVENT("KSD_CMD_CW");
1993 if(cw_cnf) 1993 if(cw_cnf)
1994 { 1994 {
1995 ss_signal(E_SS_CW_CNF, cw_cnf); 1995 ss_signal(E_SS_CW_CNF, cw_cnf);
1996 mfwFree((U8*)cw_cnf, sizeof(T_MFW_SS_CW_CNF)); 1996 mfwFree((U8*)cw_cnf, sizeof(T_MFW_SS_CW_CNF));
1997 } 1997 }
1998 #else 1998 #else
1999 ss_signal(E_SS_CW_CNF, &cw_cnf); 1999 ss_signal(E_SS_CW_CNF, &cw_cnf);
2000 #endif 2000 #endif
2001 break; 2001 break;
2002 case KSD_CMD_PWD: 2002 case KSD_CMD_PWD:
2003 // Apr 06 2005 REF: CRR 29989 xpradipg 2003 // Apr 06 2005 REF: CRR 29989 xpradipg
2004 #ifdef FF_MMI_OPTIM 2004 #ifdef FF_MMI_OPTIM
2005 TRACE_EVENT("KSD_CMD_PW"); 2005 TRACE_EVENT("KSD_CMD_PW");
2006 if(pw_cnf) 2006 if(pw_cnf)
2007 { 2007 {
2008 if (!pwd_flag) 2008 if (!pwd_flag)
2009 ss_signal(E_SS_GET_PW, pw_cnf); 2009 ss_signal(E_SS_GET_PW, pw_cnf);
2010 mfwFree((U8*)pw_cnf,sizeof(T_MFW_SS_PW_CNF)); 2010 mfwFree((U8*)pw_cnf,sizeof(T_MFW_SS_PW_CNF));
2011 } 2011 }
2012 #else 2012 #else
2013 if (!pwd_flag) 2013 if (!pwd_flag)
2014 ss_signal(E_SS_GET_PW, &pw_cnf); 2014 ss_signal(E_SS_GET_PW, &pw_cnf);
2015 #endif 2015 #endif
2016 2016
2017 if (pwd_flag == 1) 2017 if (pwd_flag == 1)
2018 { 2018 {
2019 pwd_flag = 0; 2019 pwd_flag = 0;
2020 sim_ok_cpinc(); 2020 sim_ok_cpinc();
2021 } 2021 }
2022 break; 2022 break;
2023 case KSD_CMD_UBLK: 2023 case KSD_CMD_UBLK:
2024 sim_ss_unblock(SIM_UBLK_OK, CME_ERR_NotPresent); 2024 sim_ss_unblock(SIM_UBLK_OK, CME_ERR_NotPresent);
2025 break; 2025 break;
2026 case KSD_CMD_CL: 2026 case KSD_CMD_CL:
2027 // Apr 06 2005 REF: CRR 29989 xpradipg 2027 // Apr 06 2005 REF: CRR 29989 xpradipg
2028 #ifdef FF_MMI_OPTIM 2028 #ifdef FF_MMI_OPTIM
2029 TRACE_EVENT("KSD_CMD_CLI"); 2029 TRACE_EVENT("KSD_CMD_CLI");
2030 if(cli_cnf) 2030 if(cli_cnf)
2031 { 2031 {
2032 ss_signal(E_SS_CLI_CNF,(void*) cli_cnf); 2032 ss_signal(E_SS_CLI_CNF,(void*) cli_cnf);
2033 mfwFree((U8*)cli_cnf, sizeof(T_MFW_SS_CLI_CNF)); 2033 mfwFree((U8*)cli_cnf, sizeof(T_MFW_SS_CLI_CNF));
2034 } 2034 }
2035 #else 2035 #else
2036 ss_signal(E_SS_CLI_CNF,&cli_cnf); 2036 ss_signal(E_SS_CLI_CNF,&cli_cnf);
2037 #endif 2037 #endif
2038 break; 2038 break;
2039 case KSD_CMD_IMEI: 2039 case KSD_CMD_IMEI:
2040 // Apr 06 2005 REF: CRR 29989 xpradipg 2040 // Apr 06 2005 REF: CRR 29989 xpradipg
2041 #ifdef FF_MMI_OPTIM 2041 #ifdef FF_MMI_OPTIM
2042 if( imei_info) 2042 if( imei_info)
2043 { 2043 {
2044 imei_info->error = MFW_SS_NO_ERROR; 2044 imei_info->error = MFW_SS_NO_ERROR;
2045 ss_signal(E_SS_IMEI, imei_info); 2045 ss_signal(E_SS_IMEI, imei_info);
2046 mfwFree((U8*)imei_info,sizeof(T_MFW_IMEI)); 2046 mfwFree((U8*)imei_info,sizeof(T_MFW_IMEI));
2047 } 2047 }
2048 #else 2048 #else
2049 imei_info.error = MFW_SS_NO_ERROR; 2049 imei_info.error = MFW_SS_NO_ERROR;
2050 ss_signal(E_SS_IMEI, &imei_info); 2050 ss_signal(E_SS_IMEI, &imei_info);
2051 #endif 2051 #endif
2052 break; 2052 break;
2053 default: 2053 default:
2054 break; 2054 break;
2055 } 2055 }
2056 } 2056 }
2082 if(cb_cnf) 2082 if(cb_cnf)
2083 { 2083 {
2084 ss_signal(E_SS_CB_CNF, cb_cnf); 2084 ss_signal(E_SS_CB_CNF, cb_cnf);
2085 mfwFree((U8*)cb_cnf,sizeof(T_MFW_SS_CB_CNF)); 2085 mfwFree((U8*)cb_cnf,sizeof(T_MFW_SS_CB_CNF));
2086 } 2086 }
2087 #else 2087 #else
2088 ss_signal(E_SS_CB_CNF, &cb_cnf); 2088 ss_signal(E_SS_CB_CNF, &cb_cnf);
2089 #endif 2089 #endif
2090 break; 2090 break;
2091 case KSD_CMD_CF: 2091 case KSD_CMD_CF:
2092 // Apr 06 2005 REF: CRR 29989 xpradipg 2092 // Apr 06 2005 REF: CRR 29989 xpradipg
2093 #ifdef FF_MMI_OPTIM 2093 #ifdef FF_MMI_OPTIM
2094 TRACE_EVENT("KSD_CMD_CF"); 2094 TRACE_EVENT("KSD_CMD_CF");
2095 if(cf_cnf) 2095 if(cf_cnf)
2096 { 2096 {
2097 ss_signal(E_SS_CF_CNF, cf_cnf); 2097 ss_signal(E_SS_CF_CNF, cf_cnf);
2098 mfwFree((U8*)cf_cnf,sizeof(T_MFW_SS_CF_CNF)); 2098 mfwFree((U8*)cf_cnf,sizeof(T_MFW_SS_CF_CNF));
2099 TRACE_FUNCTION("memory freed for cf_cnf"); 2099 TRACE_FUNCTION("memory freed for cf_cnf");
2100 } 2100 }
2101 #else 2101 #else
2102 ss_signal(E_SS_CF_CNF, &cf_cnf); 2102 ss_signal(E_SS_CF_CNF, &cf_cnf);
2103 #endif 2103 #endif
2104 break; 2104 break;
2105 case KSD_CMD_CW: 2105 case KSD_CMD_CW:
2106 // Apr 06 2005 REF: CRR 29989 xpradipg 2106 // Apr 06 2005 REF: CRR 29989 xpradipg
2107 #ifdef FF_MMI_OPTIM 2107 #ifdef FF_MMI_OPTIM
2108 TRACE_EVENT("KSD_CMD_CW"); 2108 TRACE_EVENT("KSD_CMD_CW");
2109 if(cw_cnf) 2109 if(cw_cnf)
2110 { 2110 {
2111 ss_signal(E_SS_CW_CNF, cw_cnf); 2111 ss_signal(E_SS_CW_CNF, cw_cnf);
2112 mfwFree((U8*)E_SS_CW_CNF,sizeof(T_MFW_SS_CW_CNF)); 2112 mfwFree((U8*)E_SS_CW_CNF,sizeof(T_MFW_SS_CW_CNF));
2113 } 2113 }
2114 #else 2114 #else
2115 ss_signal(E_SS_CW_CNF, &cw_cnf); 2115 ss_signal(E_SS_CW_CNF, &cw_cnf);
2116 #endif 2116 #endif
2117 break; 2117 break;
2118 case KSD_CMD_PWD: 2118 case KSD_CMD_PWD:
2119 // Apr 06 2005 REF: CRR 29989 xpradipg 2119 // Apr 06 2005 REF: CRR 29989 xpradipg
2120 #ifdef FF_MMI_OPTIM 2120 #ifdef FF_MMI_OPTIM
2121 TRACE_EVENT("KSD_CMD_PW"); 2121 TRACE_EVENT("KSD_CMD_PW");
2122 if(pw_cnf) 2122 if(pw_cnf)
2123 { 2123 {
2124 if (!pwd_flag) 2124 if (!pwd_flag)
2125 ss_signal(E_SS_GET_PW, pw_cnf); 2125 ss_signal(E_SS_GET_PW, pw_cnf);
2126 mfwFree((U8*)pw_cnf,sizeof(T_MFW_SS_PW_CNF)); 2126 mfwFree((U8*)pw_cnf,sizeof(T_MFW_SS_PW_CNF));
2127 } 2127 }
2128 #else 2128 #else
2129 if (!pwd_flag) 2129 if (!pwd_flag)
2130 ss_signal(E_SS_GET_PW, &pw_cnf); 2130 ss_signal(E_SS_GET_PW, &pw_cnf);
2131 #endif 2131 #endif
2132 if (pwd_flag == 1) 2132 if (pwd_flag == 1)
2133 { 2133 {
2134 pwd_flag = 0; 2134 pwd_flag = 0;
2135 sim_error_cpinc(); 2135 sim_error_cpinc();
2136 } 2136 }
2137 break; 2137 break;
2138 case KSD_CMD_UBLK: 2138 case KSD_CMD_UBLK:
2139 sim_ss_unblock(SIM_UBLK_ERROR, reason); 2139 sim_ss_unblock(SIM_UBLK_ERROR, reason);
2140 break; 2140 break;
2141 case KSD_CMD_CL: 2141 case KSD_CMD_CL:
2142 // Apr 06 2005 REF: CRR 29989 xpradipg 2142 // Apr 06 2005 REF: CRR 29989 xpradipg
2143 #ifdef FF_MMI_OPTIM 2143 #ifdef FF_MMI_OPTIM
2144 TRACE_EVENT("KSD_CMD_CLI"); 2144 TRACE_EVENT("KSD_CMD_CLI");
2145 if(cli_cnf) 2145 if(cli_cnf)
2146 { 2146 {
2147 ss_signal(E_SS_CLI_CNF, cli_cnf); 2147 ss_signal(E_SS_CLI_CNF, cli_cnf);
2148 mfwFree((U8*)cli_cnf,sizeof(T_MFW_SS_CLI_CNF)); 2148 mfwFree((U8*)cli_cnf,sizeof(T_MFW_SS_CLI_CNF));
2149 } 2149 }
2150 #else 2150 #else
2151 ss_signal(E_SS_CLI_CNF,&cli_cnf); 2151 ss_signal(E_SS_CLI_CNF,&cli_cnf);
2152 #endif 2152 #endif
2153 case KSD_CMD_IMEI: 2153 case KSD_CMD_IMEI:
2154 // Apr 06 2005 REF: CRR 29989 xpradipg 2154 // Apr 06 2005 REF: CRR 29989 xpradipg
2155 #ifdef FF_MMI_OPTIM 2155 #ifdef FF_MMI_OPTIM
2156 if( imei_info) 2156 if( imei_info)
2157 { 2157 {
2158 imei_info->error = MFW_SS_ERROR; 2158 imei_info->error = MFW_SS_ERROR;
2159 ss_signal(E_SS_IMEI, imei_info); 2159 ss_signal(E_SS_IMEI, imei_info);
2160 mfwFree((U8*)imei_info,sizeof(T_MFW_IMEI)); 2160 mfwFree((U8*)imei_info,sizeof(T_MFW_IMEI));
2161 } 2161 }
2162 #else 2162 #else
2163 imei_info.error = MFW_SS_ERROR; 2163 imei_info.error = MFW_SS_ERROR;
2164 ss_signal(E_SS_IMEI, &imei_info); 2164 ss_signal(E_SS_IMEI, &imei_info);
2165 #endif 2165 #endif
2166 break; 2166 break;
2167 default: 2167 default:
2168 break; 2168 break;
2169 } 2169 }
2170 } 2170 }
2179 2179
2180 PURPOSE : This function execute the facility lock command. 2180 PURPOSE : This function execute the facility lock command.
2181 2181
2182 */ 2182 */
2183 /*a0393213 warnings removal - T_ACI_CLCK_FAC changed to T_ACI_FAC as a result of ACI enum change*/ 2183 /*a0393213 warnings removal - T_ACI_CLCK_FAC changed to T_ACI_FAC as a result of ACI enum change*/
2184 T_MFW ss_set_clck(T_ACI_FAC fac, 2184 T_MFW ss_set_clck(T_ACI_FAC fac,
2185 T_ACI_CLCK_MOD mode, 2185 T_ACI_CLCK_MOD mode,
2186 CHAR *passwd, 2186 CHAR *passwd,
2187 T_ACI_CLASS class_type, 2187 T_ACI_CLASS class_type,
2188 UBYTE modul) 2188 UBYTE modul)
2189 { 2189 {
2312 2312
2313 */ 2313 */
2314 2314
2315 void rAT_PlusCUSD(T_ACI_CUSD_MOD m, T_ACI_USSD_DATA *ussd, SHORT dcs) 2315 void rAT_PlusCUSD(T_ACI_CUSD_MOD m, T_ACI_USSD_DATA *ussd, SHORT dcs)
2316 { 2316 {
2317 2317
2318 TRACE_FUNCTION("rAT_PlusCUSD()"); 2318 TRACE_FUNCTION("rAT_PlusCUSD()");
2319 2319
2320 //Dec 16, 2005 OMAPS00053316 x0018858 2320 //Dec 16, 2005 OMAPS00053316 x0018858
2321 //Added the NullCheck to ensure that we dont access the elements when the pointer is NULL. 2321 //Added the NullCheck to ensure that we dont access the elements when the pointer is NULL.
2322 //Begin OMAPS00053316 2322 //Begin OMAPS00053316
2323 2323
2324 if(ussd != NULL) 2324 if(ussd != NULL)
2325 { 2325 {
2326 ussd_info.len = ussd->len; 2326 ussd_info.len = ussd->len;
2327 memcpy(ussd_info.ussd, ussd->data, sizeof(ussd_info.ussd)); 2327 memcpy(ussd_info.ussd, ussd->data, sizeof(ussd_info.ussd));
2328 } 2328 }
2329 else 2329 else
2330 { 2330 {
2331 ussd_info.len = 0; 2331 ussd_info.len = 0;
2332 memset(ussd_info.ussd, 0x00, sizeof(ussd_info.ussd)); 2332 memset(ussd_info.ussd, 0x00, sizeof(ussd_info.ussd));
2333 } 2333 }
2334 //End OMAPS00053316 2334 //End OMAPS00053316
2335 ussd_info.dcs = (T_MFW_DCS)dcs; 2335 ussd_info.dcs = (T_MFW_DCS)dcs;
2336 2336
2337 if (m==CUSD_MOD_TerminatedByNetwork || 2337 if (m==CUSD_MOD_TerminatedByNetwork ||
2338 m== CUSD_MOD_OperationNotSupported || 2338 m== CUSD_MOD_OperationNotSupported ||
2339 m==CUSD_MOD_NetworkTimeout) 2339 m==CUSD_MOD_NetworkTimeout)
2340 ussd_info.error = MFW_SS_ERROR; 2340 ussd_info.error = MFW_SS_ERROR;
2341 else 2341 else
2342 ussd_info.error = MFW_SS_NO_ERROR; 2342 ussd_info.error = MFW_SS_NO_ERROR;
2405 */ 2405 */
2406 2406
2407 T_MFW ss_abort_transaction(void) 2407 T_MFW ss_abort_transaction(void)
2408 { 2408 {
2409 TRACE_FUNCTION("ss_abort_transaction()"); 2409 TRACE_FUNCTION("ss_abort_transaction()");
2410 2410
2411 if (sAT_Abort(CMD_SRC_LCL, AT_CMD_CUSD) EQ AT_CMPL) 2411 if (sAT_Abort(CMD_SRC_LCL, AT_CMD_CUSD) EQ AT_CMPL)
2412 return TRUE; 2412 return TRUE;
2413 else 2413 else
2414 { 2414 {
2415 if (sAT_Abort(CMD_SRC_LCL, AT_CMD_D) EQ AT_CMPL) 2415 if (sAT_Abort(CMD_SRC_LCL, AT_CMD_D) EQ AT_CMPL)
2438 TRACE_FUNCTION("ss_set_cug()"); 2438 TRACE_FUNCTION("ss_set_cug()");
2439 2439
2440 /* check cug mode */ 2440 /* check cug mode */
2441 switch(cug_param->mode) 2441 switch(cug_param->mode)
2442 { 2442 {
2443 case MFW_SS_CUG_TMP_DISABLE: 2443 case MFW_SS_CUG_TMP_DISABLE:
2444 cug_mode = CCUG_MOD_DisableTmp; 2444 cug_mode = CCUG_MOD_DisableTmp;
2445 break; 2445 break;
2446 case MFW_SS_CUG_TMP_ENABLE: 2446 case MFW_SS_CUG_TMP_ENABLE:
2447 cug_mode = CCUG_MOD_EnableTmp; /* enable to control cug info */ 2447 cug_mode = CCUG_MOD_EnableTmp; /* enable to control cug info */
2448 break; 2448 break;
2477 cug_index = CCUG_IDX_7; 2477 cug_index = CCUG_IDX_7;
2478 break; 2478 break;
2479 case MFW_SS_CUG_INDEX8: 2479 case MFW_SS_CUG_INDEX8:
2480 cug_index = CCUG_IDX_8; 2480 cug_index = CCUG_IDX_8;
2481 break; 2481 break;
2482 case MFW_SS_CUG_INDEX9: 2482 case MFW_SS_CUG_INDEX9:
2483 cug_index = CCUG_IDX_9; 2483 cug_index = CCUG_IDX_9;
2484 break; 2484 break;
2485 case MFW_SS_CUG_NO_INDEX: 2485 case MFW_SS_CUG_NO_INDEX:
2486 cug_index = CCUG_IDX_No; /* preferred CUG taken from subscriber data */ 2486 cug_index = CCUG_IDX_No; /* preferred CUG taken from subscriber data */
2487 break; 2487 break;
2526 2526
2527 T_MFW_SS_RETURN ss_get_cug(T_MFW_SS_CUG_PARA *cug_param) 2527 T_MFW_SS_RETURN ss_get_cug(T_MFW_SS_CUG_PARA *cug_param)
2528 { 2528 {
2529 T_ACI_CCUG_MOD cug_mode; 2529 T_ACI_CCUG_MOD cug_mode;
2530 T_ACI_CCUG_IDX cug_index; 2530 T_ACI_CCUG_IDX cug_index;
2531 T_ACI_CCUG_INFO cug_info; 2531 T_ACI_CCUG_INFO cug_info;
2532 2532
2533 cug_param->mode = MFW_SS_CUG_MODE_Not_Present; 2533 cug_param->mode = MFW_SS_CUG_MODE_Not_Present;
2534 cug_param->index = MFW_SS_CUG_INDEX_Not_Present; 2534 cug_param->index = MFW_SS_CUG_INDEX_Not_Present;
2535 cug_param->info = MFW_SS_CUG_INFO_Not_Present; 2535 cug_param->info = MFW_SS_CUG_INFO_Not_Present;
2536 2536