FreeCalypso > hg > fc-tourmaline
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, ¶); | 660 ksd_decode((CHAR *)string, TRUE, &grp, &rest, ¶); |
661 } | 661 } |
662 else | 662 else |
663 ksd_decode((CHAR *)string, FALSE, &grp, &rest, ¶); | 663 ksd_decode((CHAR *)string, FALSE, &grp, &rest, ¶); |
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, ¶); | 744 bRetVal = ksd_decode((CHAR *)string, TRUE, &grp, &rest, ¶); |
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 |