comparison src/ui3/mfw/mfw_cb.c @ 420:e8ddbb0837ed

src/ui3: initial import of TCS3/LoCosto BMI & MFW code
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 21 Jan 2018 03:09:00 +0000
parents
children 40afa09e73cf
comparison
equal deleted inserted replaced
419:59143cd42ec7 420:e8ddbb0837ed
1 /*
2 +--------------------------------------------------------------------+
3 | PROJECT: GSM-MFW (8417) $Workfile:: Mfw_cb.c $|
4 | $Author:: Ak $Revision:: 1 $|
5 | CREATED: 13.10.98 $Modtime:: 10.04.00 15:01 $|
6 | CREATED: 13.10.98 $Modtime:: 20.01.00 14:29 $|
7 | STATE : code |
8 +--------------------------------------------------------------------+
9
10 MODULE : MFW_CB
11
12 PURPOSE : This modul contains the functions for call back.
13
14
15 $History:: Mfw_cb.c $
16 Aug 07, 2007 DR:OMAPS00137726 x0066814(Geetha)
17 Description:HPLMN Manual Selection at power on -unable to perform manual selection at power ON
18 Solution: In rAT_PlusCME, under case AT_CMD_NRG, added the code to list PLMN if Manual is the
19 network regieteration mode during bootup.
20
21 May 31, 2007 DR: OMAPS00133201 x0pleela
22 Description: MS keeps searching networks and doesn't list available PLMNs after
23 performing manual selection
24 Solution : In function rAT_PlusCME(), for commands AT_CMD_COPS and
25 AT_CMD_NRG, passing the error code as parameter to function
26 nm_error_cops()
27
28 June 05, 2007 DR:OMAPS00133241 x0061560(sateeshg)
29 Description:ASTEC29607,SIM:The sim card should not return 9240 still.
30 Solution :Error indication from Aci E_PHB_ERROR sent to mmi.
31
32
33 May 10 2007 DR:OMAPS00127983 x066814
34 Description: PSTN caller name not displayed on MS
35 Solution: Added the following functions:
36 1. set_cnap_name()
37 2. get_cnap_name()
38 3. send_cnap_name_information_mmi()
39 Using these functions, added the code for rAT_PercentCNAP.
40
41 Oct 05, 2006 ER: OMAPS00094496 x0061088(Prachi)
42 Description:Enhance RSSI to 3 parameters: Strength, quality, min-access-level
43 Solution:To solve the ER OMAPS0094496, rAT_PercentCSQ() is now receving four
44 parameters i.e. RSSI,Bit Error rate, Actual level, Minimum access level and also
45 rAT_PercentCSQ() is checking if actual level is less than minimum level and then
46 calls globalSignalUpdate() to show the signal strength.
47
48
49 Aug 01, 2006 DR: OMAPS00082374 x0pleela
50 Description: EONS Failures - unexpected output from the MMI: 2 carriers; on the top always T-Mobile
51 Solution: a) Added the functionality which was removed before for rat_%CSTAT
52
53 Jun 23, 2006 DR: OMAPS00082374 x0pleela
54 Description: EONS Failures - unexpected output from the MMI: 2 carriers; on the top always T-Mobile
55 Solution: a) Removed the usage of global variable gEons_alloc_active
56 b) Removed the call to function set_opn_sel_done(TRUE); in func rat_%CNIV
57 c) Removed the functionality added before for rat_%CSTAT
58
59 July 17, 2006 DR: OMAPS00082792 x0039928
60 Description:Changes to be done in MMI for Move all entries from SIM to FFS (Defect 76492)
61 Solution: Ready signal is sent to MMI when rAT_Ok is called by ACI for CPBW command
62
63 June 02, 2006 DR: OMAPS00078005 x0021334
64 Descripton: Test for NITZ (Network Identity and Timezone) support - No New time was displayed
65 Solution: New Time/Date received from network is sent to MFW by lower layer by invoking 'rAT_PercentCTZV'
66 function. This function has now been implemented to pass on the received values to MMI
67 for user confirmation and RTC updation.
68
69 May 18, 2006 DR: OMAPS00070657 x0pleela
70 Description: CPHS feature on Locosto-Lite
71 Solution: Function "sendCPWIEvt" is called in rAT_PercentCPVWI to handle voice mail indication
72
73 xrashmic 1 Jul, 2006 OMAPS00075784
74 Changed U8 to T_ACI_CME_ERR in rAT_PlusCME
75
76 June 15, 2006 OMAPS00079492 x0043642
77 Description : FT TMO (wk20/06) TC 9.1, 9.2 Multi Party, MS fails to return to idle mode
78 Solution : call set_cmdHold() to assign MFW_CM_DISCONNECT_ALL to variable cmd_hold
79 when ATH command is entered.
80
81 May 15, 2006 DVT: OMAPS00077751 x0043642
82 Description: MFW needs to implement rAT_PercentSATT needed for SAT class E
83 Solution: Define a function rAT_PercentSATT()
84 May 15, 2006 DR: OMAPS00067919 x0pleela
85 Description: SIMP:On repeat Depersonalisation with invalid password MEPD unblock key should
86 be asked not Puk1.
87 Solution:Made the following changes
88 1. Added functionality for rAT_PlusCPIN
89 2. Made code changss in rat_plusCME for SIMP
90
91 May 10, 2006 REF: DRT OMAPS00075829 xdeepadh
92 Description: Submission of ACI and SAP changes for Imaging ERs
93 Solution: Using the mechanism where MFW can receive primitives without
94 ACI to know about it.
95
96
97 Apr 24, 2006 ERT: OMAPS00067603 x0043642
98 Description: Engineering mode
99 Solution: Handle the response from ACI (through rAT_percentEINFO).
100
101
102 Mar 15, 2006 ER: OMAPS00067709 x0pleela
103 Description: Voice Buffering implementation on C+ for PTT via PCM API
104 Solution: Functions rAT_NO_CARRIER, rAT_NO_ANSWER
105 Changes: update the reason for calling record_stop
106
107 * Mar 23, 2006 REF:DR OMAPS00069173 a0393213
108 * Description: GSM - MOC - AT USB - Live Network . Display problem when a MO call is made through AT interface
109 * Solution: misplaced break statement corrected
110
111
112 Feb 15, 2006 ER: OMAPS00065203 x0pleela
113 Description: Cingular Operator Name Prioritization implementation required
114 Solution: Incorporated review comments
115 - Removed global variable gOper_sel_done added earlier
116
117 Feb 09, 2006 ER: OMAPS00065203 x0pleela
118 Description: Cingular Operator Name Prioritization implementation required
119 Solution: Implemented functionality for rAT_PercentCNIV
120 Implemented functionality for rAT_PercentCSTAT
121
122
123 *
124 * Nov 02, 2005 DR OMAPS00052132 xdeepadh
125 * Bug:Not able to access the SMS inbox and also not able to send SMS in Locosto Lite build
126 * Fix: The ATI Enums usage has been put under the FF_ATI flag
127
128 Nov 03, 2005 DR: OMAPS00052032 - xpradipg
129 Description : Locosto: SIMP - integration of issues submitted by solDel on
130 ME Personalization - changes as per the new interfaces
131 Solution : The return value of sAT_PlusCLCK of AT_EXCT is handled and
132 a please wait screen is displayed until the response is recieved
133
134 *
135 * June 01, 2005 REF: CRR 31559 x0021334
136 * Description: TCS2.1.1 SW not buildable without engineering mode
137 * Solution: Engineering Mode specific functions are guarded by 'FF_EM_MODE' flag
138 *
139 * x0018858 24 Mar, 2005 MMI-FIX-11321
140 * Issue Description :- If the inbox is full and a new message is receivd, no indication is received.
141 * Fix: Added support for handling indication when message box is full and
142 * there is a pending message.
143
144 * x0047685, May 22 2006
145 * Added R99 CC Interface changes.
146 * rAT_PercentCMGRS moved under REL99 flag.
147 *
148 * ***************** Version 51 *****************
149 * User: Vo Date: 20.01.00 Time: 14:30
150 * Updated in $/GSM/Condat/MS/SRC/MFW
151 *
152 * ***************** Version 50 *****************
153 * User: Vo Date: 20.01.00 Time: 12:24
154 * Updated in $/GSM/Condat/MS/SRC/MFW
155 *
156 * ***************** Version 49 *****************
157 * User: Vo Date: 14.01.00 Time: 20:02
158 * Updated in $/GSM/Condat/MS/SRC/MFW
159 * New: Save the setting for SMS parameter and cell broadcast
160 * parameter
161 *
162 * ***************** Version 48 *****************
163 * User: Vo Date: 10.01.00 Time: 16:15
164 * Updated in $/GSM/Condat/MS/SRC/MFW
165 *
166 * ***************** Version 47 *****************
167 * User: Ak Date: 5.01.00 Time: 13:27
168 * Updated in $/GSM/Condat/MS/SRC/MFW
169 *
170 * ***************** Version 46 *****************
171 * User: Vo Date: 22.12.99 Time: 15:47
172 * Updated in $/GSM/Condat/MS/SRC/MFW
173 * add "call id" for disconnect
174 *
175 * ***************** Version 45 *****************
176 * User: Sab Date: 2.12.99 Time: 9:25
177 * Updated in $/GSM/Condat/MS/SRC/MFW
178 * Why: Improvement.
179 * What: Implementation of phonebook ready indication.
180 *
181 * ***************** Version 44 *****************
182 * User: Vo Date: 11.11.99 Time: 14:31
183 * Updated in $/GSM/Condat/MS/SRC/MFW
184 * New: DTMF
185 *
186 * ***************** Version 43 *****************
187 * User: Vo Date: 21.10.99 Time: 13:05
188 * Updated in $/GSM/Condat/MS/SRC/MFW
189 * new implemention for command CPOL
190 *
191 * ***************** Version 42 *****************
192 * User: Vo Date: 10.09.99 Time: 19:14
193 * Updated in $/GSM/DEV/MS/SRC/MFW
194 * Add CNUM and USSD
195 *
196 * ***************** Version 41 *****************
197 * User: Vo Date: 30.08.99 Time: 13:25
198 * Updated in $/GSM/DEV/MS/SRC/MFW
199 * AoC
200 * PIN unblock
201 * call held
202 *
203 * ***************** Version 39 *****************
204 * User: Vo Date: 16.07.99 Time: 13:50
205 * Updated in $/GSM/DEV/MS/SRC/MFW
206 *
207 * ***************** Version 38 *****************
208 * User: Es Date: 6.07.99 Time: 12:02
209 * Updated in $/GSM/DEV/MS/SRC/MFW
210 *
211 * ***************** Version 37 *****************
212 * User: Vo Date: 2.07.99 Time: 19:02
213 * Updated in $/GSM/DEV/MS/SRC/MFW
214 *
215 * ***************** Version 36 *****************
216 * User: Vo Date: 2.07.99 Time: 15:25
217 * Updated in $/GSM/DEV/MS/SRC/MFW
218 *
219 * ***************** Version 35 *****************
220 * User: Vo Date: 22.06.99 Time: 12:53
221 * Updated in $/GSM/DEV/MS/SRC/MFW
222 *
223 * ***************** Version 34 *****************
224 * User: Vo Date: 21.06.99 Time: 20:59
225 * Updated in $/GSM/DEV/MS/SRC/MFW
226 *
227 * ***************** Version 32 *****************
228 * User: Vo Date: 14.06.99 Time: 13:56
229 * Updated in $/GSM/DEV/MS/SRC/MFW
230 *
231 * ***************** Version 31 *****************
232 * User: Vo Date: 14.06.99 Time: 10:06
233 * Updated in $/GSM/DEV/MS/SRC/MFW
234 *
235 * ***************** Version 30 *****************
236 * User: Vo Date: 1.06.99 Time: 14:46
237 * Updated in $/GSM/DEV/MS/SRC/MFW
238 *
239 * ***************** Version 29 *****************
240 * User: Vo Date: 20.05.99 Time: 17:26
241 * Updated in $/GSM/DEV/MS/SRC/MFW
242 *
243 * ***************** Version 28 *****************
244 * User: Vo Date: 28.04.99 Time: 16:11
245 * Updated in $/GSM/DEV/MS/SRC/MFW
246 *
247 * ***************** Version 26 *****************
248 * User: Vo Date: 31.03.99 Time: 14:09
249 * Updated in $/GSM/DEV/MS/SRC/MFW
250 *
251 * ***************** Version 24 *****************
252 * User: Vo Date: 15.03.99 Time: 13:40
253 * Updated in $/GSM/DEV/MS/SRC/MFW
254 *
255 * ***************** Version 23 *****************
256 * User: Vo Date: 11.03.99 Time: 18:32
257 * Updated in $/GSM/DEV/MS/SRC/MFW
258 *
259 * ***************** Version 22 *****************
260 * User: Es Date: 20.02.99 Time: 11:55
261 * Updated in $/GSM/DEV/MS/SRC/MFW
262 *
263 * ***************** Version 21 *****************
264 * User: Vo Date: 17.02.99 Time: 19:03
265 * Updated in $/GSM/DEV/MS/SRC/MFW
266 *
267 * ***************** Version 20 *****************
268 * User: Vo Date: 12.02.99 Time: 18:59
269 * Updated in $/GSM/DEV/MS/SRC/MFW
270 *
271 * ***************** Version 19 *****************
272 * User: Vo Date: 9.02.99 Time: 14:54
273 * Updated in $/GSM/DEV/MS/SRC/MFW
274 *
275 * ***************** Version 18 *****************
276 * User: Vo Date: 13.01.99 Time: 11:01
277 * Updated in $/GSM/DEV/MS/SRC/MFW
278 *
279 * ***************** Version 17 *****************
280 * User: Vo Date: 8.01.99 Time: 14:31
281 * Updated in $/GSM/DEV/MS/SRC/MFW
282 *
283 * ***************** Version 16 *****************
284 * User: Es Date: 17.12.98 Time: 17:25
285 * Updated in $/GSM/DEV/MS/SRC/MFW
286 *
287 * ***************** Version 15 *****************
288 * User: Es Date: 9.12.98 Time: 15:12
289 * Updated in $/GSM/DEV/MS/SRC/MFW
290 *
291 * ***************** Version 14 *****************
292 * User: Es Date: 9.12.98 Time: 14:19
293 * Updated in $/GSM/DEV/MS/SRC/MFW
294 * added some needed 'rAT_' functions (as dummies)
295 *
296 * ***************** Version 13 *****************
297 * User: Es Date: 8.12.98 Time: 16:53
298 * Updated in $/GSM/DEV/MS/SRC/MFW
299 *
300 * ***************** Version 11 *****************
301 * User: Vo Date: 27.11.98 Time: 13:19
302 * Updated in $/GSM/DEV/MS/SRC/MFW
303 *
304 * ***************** Version 10 *****************
305 * User: Vo Date: 24.11.98 Time: 21:40
306 * Updated in $/GSM/DEV/MS/SRC/MFW
307 * first successful compilation of MFW
308 *
309 * ***************** Version 9 *****************
310 * User: Vo Date: 13.11.98 Time: 16:21
311 * Updated in $/GSM/DEV/MS/SRC/MFW
312 *
313 * ***************** Version 8 *****************
314 * User: Vo Date: 12.11.98 Time: 13:46
315 * Updated in $/GSM/DEV/MS/SRC/MFW
316 |
317 | ***************** Version 7 *****************
318 | User: Le Date: 11.11.98 Time: 14:47
319 | Updated in $/GSM/DEV/MS/SRC/MFW
320 |
321 | ***************** Version 6 *****************
322 | User: Le Date: 11.11.98 Time: 13:35
323 | Updated in $/GSM/DEV/MS/SRC/MFW
324 |
325 | ***************** Version 5 *****************
326 | User: Le Date: 10.11.98 Time: 16:07
327 | Updated in $/GSM/DEV/MS/SRC/MFW
328 |
329 | ***************** Version 4 *****************
330 | User: Le Date: 10.11.98 Time: 11:08
331 | Updated in $/GSM/DEV/MS/SRC/MFW
332 |
333 | ***************** Version 3 *****************
334 | User: Le Date: 27.10.98 Time: 15:59
335 | Updated in $/GSM/DEV/MS/SRC/MFW
336 |
337 | ***************** Version 2 *****************
338 | User: Le Date: 21.10.98 Time: 16:20
339 | Updated in $/GSM/DEV/MS/SRC/MFW
340 |
341 | ***************** Version 1 *****************
342 | User: Le Date: 21.10.98 Time: 10:33
343 | Created in $/GSM/DEV/MS/SRC/MFW
344 */
345
346 #define ENTITY_MFW
347
348 #include <string.h>
349 #include <stdio.h>
350 #include <stdlib.h>
351
352 #if defined (NEW_FRAME)
353
354 #include "typedefs.h"
355 #include "Vsi.h"
356 #include "PEI.H"
357 #include "custom.h"
358 #include "gsm.h"
359
360 #else
361
362 #include "STDDEFS.H"
363 #include "custom.h"
364 #include "gsm.h"
365 #include "Vsi.h"
366
367 #endif
368 #include"rfs/rfs_api.h"
369
370 #include "mfw_mfw.h"
371 #include "mfw_nm.h"
372 #include "mfw_sim.h"
373 #include "mfw_simi.h"
374 #include "mfw_sima.h"
375 #include "mfw_nmi.h"
376 #include "mfw_phb.h"
377 #include "mfw_phbi.h"
378 #include "mfw_cm.h"
379 #include "mfw_cmi.h"
380 #include "mfw_sms.h"
381 #include "mfw_smsi.h"
382 #ifdef FF_CPHS_REL4
383 #include "mfw_cphs.h"
384 #endif
385
386 // June 02, 2006 DR: OMAPS00078005 x0021334
387 #ifdef FF_TIMEZONE
388 #include "mfw_td.h"
389 #endif
390
391 #include "drv_key.h"
392
393
394 #include "ksd.h"
395 #include "psa.h"
396
397 #if defined (FAX_AND_DATA)
398 #include "aci_fd.h"
399 #endif
400
401 #include "cmh.h"
402 #include "phb.h"
403 #include "cmh_phb.h"
404 #include "psa_sim.h"
405
406 #include "mfw_ss.h"
407 #include "mfw_ssi.h"
408
409 // ADDED BY RAVI - 7-10-2005
410 #if (defined(FF_2TO1_PS) || (BOARD == 61))
411 #define GPRS TI_GPRS
412 #endif
413 // END ADDITION BY RAVI - 7-10-2005
414
415 #ifdef GPRS /* kgt 12-05-2001 */
416
417 // ADDED BY RAVI - 7-10-2005
418 #if (defined(FF_2TO1_PS) || (BOARD == 61))
419 #include "aci_cmh.h"
420 #include "aci_all.h"
421 #include "ati_cmd.h"
422 #include "aci_cmd.h"
423 #include "aci.h"
424 #include "dti_conn_mng.h"
425 #include "dti_cntrl_mng.h"
426 #include "gaci.h" /* include types declared in GACI */
427 #endif
428 // END ADDITION - RAVI - 7-10-2005
429
430 #include "aci_all.h"
431 #include "aci_cmh.h" /* include types declared in ACI */
432 #include "ati_cmd.h"
433 #include "aci_cmd.h"
434 #include "aci.h"
435 #include "dti_conn_mng.h"
436 #include "dti_cntrl_mng.h"
437 #include "gaci.h" /* include types declared in GACI */
438 /*#include "gaci_cmh.h" include types declared in GACI */
439 #include "mfw_gprs.h"
440 #endif /* GPRS */
441
442 #include "Mfw_band.h" /* SPR919 - SH */
443
444 #ifdef FF_CPHS
445 #include "cphs.h"
446 #endif /* ff_cphs */
447
448 //x0pleela 20 Mar, 2006 ER:OMAPS00067709
449 #ifdef FF_PCM_VM_VB
450 #include "mfw_aud.h"
451 #endif
452
453
454 #ifdef NEPTUNE_BOARD /*EngMode */
455 #include "mfw_em.h"
456
457 UBYTE RssiVal;
458 #endif
459
460
461
462
463
464 #if defined(FF_MMI_CAMERA_APP) ||defined(FF_MMI_FILEMANAGER)
465 #include "msl/inc/msl_api.h"
466 #include "mfw_fm.h"
467 #endif
468
469 #include "aci.h"
470 //May 10, 2006 REF: DRT OMAPS00075829 xdeepadh
471 #include "mfw_cb.h"
472
473
474 LOCAL void mfw_format_plmn_name(UBYTE dcs,UBYTE *in, UBYTE in_length,
475 UBYTE *out, UBYTE max_out_length);
476
477
478 /*May 10,2007 DR:OMAP00127983 x0066814(Geetha)-begin*/
479 /*size of the name when converted from 7bit to 8bit alphabet*/
480 #define CNAP_EXPANDED_SIZE (((sizeof(BUF_nameString)+1)*8)/7)
481 //function to get the name from rAT_PercentCNAP
482 void set_cnap_name(T_namePresentationAllowed *cnap_name_info );
483 //function to give the name from set_cnap_name to MMI
484 GLOBAL T_MFW_PHB_TEXT *get_cnap_name();
485 GLOBAL T_MFW_PHB_TEXT cnap_name;
486
487 typedef enum
488 {
489 CNAP_PRES_ALLOWED = 0,
490 CNAP_PRES_RESTRICTED,
491 CNAP_NAME_UNAVAILABLE,
492 CNAP_NAME_PRES_RESTRICTED
493 } T_ATI_CNAP_PRESENTATION;//possible presentation modes for CNAP
494
495 GLOBAL BOOL CALL_NAME_NETWORK = FALSE;//implies that name is not sent via network(rAT_%CNAP)
496 //Function to process the data sent from rAT_PercentCNAP based on presentation mode for CNAP
497 LOCAL void send_cnap_name_information_mmi(T_ATI_CNAP_PRESENTATION pres_mode,
498 T_callingName *NameId);
499 /*May 10,2007 DR:OMAP00127983 x0066814(Geetha)-end*/
500 /********* currently not used ***************************************/
501 extern void sate_error(T_ACI_CME_ERR error); // ADDED BY RAVI - 29-11-2005
502 GLOBAL void rAT_PlusCSMS (T_ACI_CSMS_SERV service,
503 T_ACI_CSMS_SUPP mt,
504 T_ACI_CSMS_SUPP mo,
505 T_ACI_CSMS_SUPP bm) {}
506
507 //x0pleela 21 Apr, 2006 DR: OMAPS00067919
508 //Requesting for any of the SIMP category pin if enabled based on the "code"
509 GLOBAL void rAT_PlusCPIN (T_ACI_CPIN_RSLT code)
510 {
511 #ifdef SIM_PERS
512 TRACE_FUNCTION("rAT_PlusCPIN()");
513 sim_simlock_cpin_code(code );
514 #endif
515 }
516
517 GLOBAL void rAT_PlusCLCK ( T_ACI_CLSSTAT * clsStaLst) {}
518 GLOBAL void rAT_PlusCIMI (CHAR *imsi) {}
519 GLOBAL void rAT_PlusCCFC (T_ACI_CCFC_SET* setting) {}
520 GLOBAL void rAT_PlusCLIR (T_ACI_CLIR_MOD mode, T_ACI_CLIR_STAT stat) {}
521 GLOBAL void rAT_PercentCOLR ( T_ACI_COLR_STAT stat) {}
522 GLOBAL void rAT_PlusCRSM ( SHORT sw1,
523 SHORT sw2,
524 SHORT rspLen,
525 UBYTE *rsp ) {}
526 GLOBAL void rAT_PlusCSIM ( SHORT rspLen,
527 UBYTE *rsp ) {}
528
529 GLOBAL void rAT_PlusCNUM (T_ACI_CNUM_MSISDN *msisdn, UBYTE num)
530 {
531 #ifdef FF_CPHS_REL4
532 static UBYTE count = 0;
533 UBYTE i;
534
535 TRACE_FUNCTION("rAT_PlusCNUM");
536 for(i = 0; i < 2; i++)
537 {
538 count = count + check_msp_rec(&msisdn[i],count);
539 }
540 if (count == 2)
541 qAT_PlusCNUM(CMD_SRC_LCL, 1);
542 else
543 send_msp_signal(count);
544 #endif
545 }
546
547 GLOBAL void rAT_PlusCCWV ( T_ACI_CCWV_CHRG charge ) {}
548
549 GLOBAL void rAT_PercentALS(T_ACI_ALS_MOD ALSmode) {} /* has to be implemented in MFW */
550
551
552 /* May 15, 2006 REF:ER OMAPS00077751 */
553
554 #ifdef NEPTUNE_BOARD
555 EXTERN void set_cmdHold(int command);
556 EXTERN int globalSignalUpdate(U8 value);
557 EXTERN void sendCPWIEvt(UBYTE flag_set, USHORT line);
558 EXTERN void cmhMM_CnvrtPLMN2INT( const T_PS_plmn_id *plmn,
559 USHORT * mccBuf,
560 USHORT * mncBuf );
561 #endif /* NEPTUNE_BOARD */
562 /* End - remove warning Aug -11 */
563 /* May 15, 2006 REF:ER OMAPS00077751 */
564
565 #ifdef NEPTUNE_BOARD
566 /*******************************************************************************
567
568 $Function: rAT_PercentSATT
569
570 $Description:CallBack function, needed for target builds with SAT class E enabled
571
572 $Returns: void
573
574 $Arguments: T_ACI_CMD_SRC srcId
575 T_ACI_SATT_CS cause
576
577 *******************************************************************************/
578
579 GLOBAL void rAT_PercentSATT( T_ACI_CMD_SRC srcId, T_ACI_SATT_CS cause )
580 {
581 TRACE_FUNCTION("rAT_PercentSATT");
582 }
583 #endif
584
585 // ADDED BY RAVI - ACI CHANGES - 6-10-2005
586 #if (BOARD == 61)
587 GLOBAL void rAT_PlusCKEV( T_ACI_CKEV_VALUES sCkevValues,
588 T_ACI_CMER_MODE_TYPE mode) {}
589 GLOBAL void rAT_PercentCPKY(CHAR *keys, SHORT time, SHORT pause) {}
590 #endif
591 // END OF ADDITION - 6-10-2005
592
593 /*to be removed
594 #ifndef FF_2TO1_PS
595 GLOBAL void rAT_PercentRDL(T_ACI_CC_REDIAL_STATE state) {}
596 GLOBAL void rAT_PercentRDLB(T_ACI_CC_RDL_BLACKL_STATE state) {}
597 GLOBAL void rAT_PercentCSTAT(T_ACI_STATE_MSG msgType) {}
598 GLOBAL void rAT_PercentCPRSM (T_ACI_CPRSM_MOD mode) {}
599 #else
600 #endif */
601
602
603 /* SPR#1985 - SH - This is now implemented in mfw_cm.c */
604 /*GLOBAL void rAT_PercentCTYI (T_ACI_CTTY_NEG neg,
605 T_ACI_CTTY_TRX trx) {}*/
606
607 /********* current define *******************************************/
608 #ifdef SIM_TOOLKIT
609 extern char mfwSatMoAccepted;
610 #endif
611
612 #ifdef SIM_PERS
613 EXTERN T_MFW_SIMP_CLCK_FLAG sim_unlock_in_prog;
614 #endif
615
616 //x0018858 24 Mar, 2005 MMI-FIX-11321
617 //Added a global variable and a function to retreive any pending message.
618 //begin - x0018858 24 Mar, 2005 MMI-FIX-11321
619 UBYTE isMessageWaiting = FALSE;
620
621 /*
622 +--------------------------------------------------------------------+
623 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
624 | STATE : code ROUTINE: sms_check_message_pending
625 +--------------------------------------------------------------------+
626 PURPOSE : To retreive the status from server wrt to any pending message.
627 */
628 UBYTE sms_check_message_pending(void)
629 {
630 TRACE_EVENT_P1(" the message status is -- %d", isMessageWaiting);
631 return isMessageWaiting;
632 }
633
634 ///end - x0018858 24 Mar, 2005 MMI-FIX-11321
635
636 /*
637 +--------------------------------------------------------------------+
638 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
639 | STATE : code ROUTINE: rAT_OK |
640 +--------------------------------------------------------------------+
641
642
643 PURPOSE : OK indication from ACI
644
645 */
646
647 GLOBAL void rAT_OK ( T_ACI_AT_CMD cmdId )
648 {
649
650 TRACE_EVENT_P1("rAT_OK %d",cmdId);
651 switch ((int)cmdId)
652 {
653 case AT_CMD_CFUN:
654 sim_ok_cfun ();
655 break;
656
657 case AT_CMD_CPBW:
658 // July 17, 2006 DR: OMAPS00082792 x0039928
659 phb_signal(E_PHB_READY, 0);
660 break;
661
662 case AT_CMD_COPS:
663 nm_ok_cops ();
664 break;
665
666 case AT_CMD_NRG:
667 nm_ok_cops ();
668 break;
669
670 case AT_CMD_PVRF:
671 sim_ok_cpin ();
672 break;
673
674 case AT_CMD_CPIN:
675 sim_ok_cpin ();
676 break;
677
678 case AT_CMD_A:
679 cm_ok_connect();
680 break;
681
682 case AT_CMD_CMGD:
683 /* JVJ SPR1119 apparently not needed since the rAT_PlusCMGD() already handles it */
684 TRACE_EVENT("ACI has deleted SMS!!");
685 sms_ok_delete ();
686 /*Issue 1432: 01/10/2002: Needed as called by ACI instead of rAT_PlusCMGD if concatenated SMS */
687 break;
688
689 case AT_CMD_CMGR:
690 sms_ok_change ();
691 break;
692
693 case AT_CMD_CHUP:
694 cm_ok_disconnect(CMD_SRC_LCL, 0);
695 break;
696
697 case AT_CMD_H:
698 cm_ok_disconnect(CMD_SRC_LCL, 0);
699 break;
700
701 case AT_CMD_ABRT:
702 cm_ok_disconnect(CMD_SRC_LCL, 0);
703 break;
704
705 case AT_CMD_D:
706 cm_ok_connect();
707 break;
708
709 case AT_CMD_CPWD:
710 sim_ok_cpinc();
711 break;
712
713 case AT_CMD_CHLD:
714 cm_result_cmd(CMD_SRC_LCL, Present);
715 break;
716
717 case AT_CMD_CLCK:
718 #ifdef SIM_PERS
719 // Nov 03, 2005 DR: OMAPS00052032 - xpradipg
720 // if the flag is set then SIM Personalization has triggered the CLCK
721 if( (sim_unlock_in_prog EQ SIMP_BOOTUP) OR
722 (sim_unlock_in_prog EQ SIMP_MENU ) )
723 {
724 mfw_simlock_continue(TRUE);
725 sim_unlock_in_prog = SIMP_NONE;
726 }
727 else
728 #endif
729 ss_ok_clck();
730 break;
731
732 case AT_CMD_CCFC:
733 break;
734
735 case AT_CMD_CCWA:
736 break;
737
738 case KSD_CMD_CB:
739 case KSD_CMD_CF:
740 case KSD_CMD_CL:
741 case KSD_CMD_CW:
742 case KSD_CMD_PWD:
743 case KSD_CMD_UBLK:
744 ss_ok_string(cmdId);
745 break;
746
747 case AT_CMD_CPUC:
748 case AT_CMD_CAMM:
749 case AT_CMD_CACM:
750 cm_ok_aoc(cmdId);
751 break;
752
753 case AT_CMD_CUSD:
754 case KSD_CMD_USSD:
755 ss_ok_ussd(cmdId);
756 break;
757 case AT_CMD_CMGL:
758 sms_ok_CMGL();
759 break;
760 case AT_CMD_CPMS:
761 case AT_CMD_CMGW:
762 case AT_CMD_CMSS:
763 case AT_CMD_CMGS:
764 break;
765
766 case AT_CMD_CPOL:
767 nm_ok_pref_plmn();
768 break;
769
770 case AT_CMD_VTS:
771 cm_ok_dtmf();
772 break;
773
774 case AT_CMD_CSAS:
775 sms_ok_csas();
776 break;
777
778 #ifdef GPRS /* KGT 12-05-2001 */
779 case AT_CMD_CGATT:
780 case AT_CMD_CGDCONT:
781 case AT_CMD_CGACT:
782 case AT_CMD_CGQREQ:
783 case AT_CMD_CGQMIN:
784 case AT_CMD_CGDATA:
785 case AT_CMD_CGPADDR:
786 case AT_CMD_CGAUTO:
787 case AT_CMD_CGANS:
788 case AT_CMD_CGCLASS:
789 case AT_CMD_CGEREP:
790 case AT_CMD_CGREG:
791 case AT_CMD_CGSMS:
792 gprs_ok(cmdId);
793 break;
794 #endif /* GPRS */
795
796 /* SPR919 - SH*/
797 case AT_CMD_BAND:
798 nm_ok_band();
799 break;
800 /*MC, SPR 1392, call deflection successful*/
801 case AT_CMD_CTFR:
802 cm_ok_CTFR();
803
804 /* Marcus: CCBS: 14/11/2002: Start */
805 case AT_CMD_CCBS:
806 TRACE_EVENT("AT_CMD_CCBS");
807 cm_ccbs_ok();
808 break;
809 /* Marcus: CCBS: 14/11/2002: Start */
810 /*a0393213 cphs rel4*/
811 #ifdef FF_CPHS_REL4
812 case AT_CMD_P_CFIS:
813 {
814 T_MFW_SIMOP_STATUS result=MFW_SIMOP_WRITE_OK;
815 sendCPHSSignal(E_CPHS_SET_DV_STAT,&result);
816 }
817 #endif
818 default:
819 break;
820 }
821 }
822
823
824 /*
825 +--------------------------------------------------------------------+
826 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
827 | STATE : code ROUTINE: rAT_PlusCME |
828 +--------------------------------------------------------------------+
829
830
831 PURPOSE : Error indication from ACI
832
833 */
834
835 GLOBAL void rAT_PlusCME ( T_ACI_AT_CMD cmdId, T_ACI_CME_ERR err )
836 {
837 TRACE_EVENT_P2("rAT_PlusCME(cmdId %d, err %d)",cmdId, err);
838
839 switch ((int)cmdId) /*a0393213 lint warnings removal - typecasting done*/
840 {
841 //x0061560 Date May16,07 (sateeshg) OMAPS00133241
842 case AT_CMD_CPBW:
843 phb_signal(E_PHB_ERROR, 0);
844 break;
845 case AT_CMD_COPS:
846 //x0pleela 30 May, 2007 DR: OMAPS00133201
847 //Passing the error code
848 nm_error_cops ((T_ACI_CME_ERR)err);
849 break;
850
851 case AT_CMD_NRG:
852 /*Aug 07, 2007 DR:OMAPS00137726 x0066814(Geetha)*/
853 TRACE_EVENT_P1("CME ERROR VALUE in NRG: %d",err);
854 if( (nm_get_mode() == NM_MANUAL) &&
855 ((err == CME_ERR_NoServ) ||(err == CME_ERR_LimServ) ||(err ==CME_ERR_Unknown)))
856 {
857 nm_get_plmn_list_during_bootup();
858 }
859 else
860 {
861 //x0pleela 30 May, 2007 DR: OMAPS00133201
862 //Passing the error code
863 nm_error_cops ((T_ACI_CME_ERR)err);
864 }
865 break;
866 case AT_CMD_CFUN:
867 /* OMAPS00075177 - 17,Apr-2006 */
868 /* Signature of the function has been changed from U8 to T_ACI_CME_ERR.
869 because, when calling this function, it is converting from T_ACI_CME_ERR to U8.
870 It is loosing the negative values( the enum T_ACI_CME_ERR has negative values )
871 */
872 sim_error_cfun ((T_ACI_CME_ERR)err);
873 break;
874
875 case AT_CMD_CPIN:
876 sim_error_cpin ((T_ACI_CME_ERR)err);
877 break;
878
879 case AT_CMD_PVRF:
880 sim_error_cpin ((T_ACI_CME_ERR)err);
881 break;
882
883 case AT_CMD_CHLD:
884 cm_result_cmd(CMD_SRC_LCL, NotPresent);
885 break;
886
887 case AT_CMD_CLCK:
888 #ifdef SIM_PERS
889 //x0pleela 27 Apr, 2006 DR: OMAPS00067919
890 if(sim_unlock_in_prog EQ SIMP_BOOTUP)
891 {
892 //xrashmic 1 Jul, 2006 OMAPS00075784
893 //Changed U8 to T_ACI_CME_ERR
894 sim_error_cfun ((T_ACI_CME_ERR)err);
895 }
896
897 // Nov 03, 2005 DR: OMAPS00052032 - xpradipg
898 // if the flag is set then SIM Personalization has triggered the CLCK
899 else if(sim_unlock_in_prog EQ SIMP_MENU)
900 {
901 sim_unlock_in_prog = SIMP_NONE; /*a0393213 compiler warnings removal - FALSE changed to SIMP_NONE*/
902 mfw_simlock_continue(SIMP_NONE);
903 }
904 else
905 #endif
906 ss_error_clck();
907 break;
908
909 case AT_CMD_CPWD:
910 sim_error_cpinc();
911 break;
912
913 case KSD_CMD_CB:
914 case KSD_CMD_CF:
915 case KSD_CMD_CL:
916 case KSD_CMD_CW:
917 case KSD_CMD_PWD:
918 case KSD_CMD_UBLK:
919 ss_error_string(cmdId, err);
920 break;
921
922 case AT_CMD_CPUC:
923 case AT_CMD_CAMM:
924 case AT_CMD_CACM:
925 cm_error_aoc(cmdId, err);
926 break;
927
928 case AT_CMD_CNUM:
929 phb_read_upn_eeprom();
930 break;
931
932 case AT_CMD_CUSD:
933 case KSD_CMD_USSD:
934 ss_error_ussd(cmdId, err);
935 break;
936
937 case AT_CMD_CPOL:
938 nm_error_pref_plmn();
939 break;
940
941 case AT_CMD_VTS:
942 cm_error_dtmf();
943 break;
944
945 case AT_CMD_D:
946 cm_error_dial(err);
947 break;
948
949 case AT_CMD_CLAN:
950 #ifdef FF_2TO1_PS
951 sim_read_lp_cnf(CAUSE_SIM_EF_INVALID,NULL);
952 #else
953 sim_read_lp_cnf(SIM_CAUSE_EF_INVALID,NULL);
954 #endif
955 break;
956
957 #ifdef GPRS /* KGT 12-05-2001 */
958 case AT_CMD_CGATT:
959 case AT_CMD_CGDCONT:
960 case AT_CMD_CGACT:
961 case AT_CMD_CGQREQ:
962 case AT_CMD_CGQMIN:
963 case AT_CMD_CGDATA:
964 case AT_CMD_CGPADDR:
965 case AT_CMD_CGAUTO:
966 case AT_CMD_CGANS:
967 case AT_CMD_CGCLASS:
968 case AT_CMD_CGEREP:
969 case AT_CMD_CGREG:
970 case AT_CMD_CGSMS:
971 gprs_error(cmdId, err);
972 break;
973 #endif /* GPRS */
974
975 /* Marcus: CCBS: 14/11/2002: Start */
976 case AT_CMD_CCBS:
977 TRACE_EVENT("AT_CMD_CCBS");
978 cm_ccbs_error();
979 break;
980
981 case AT_CMD_H:
982 cm_error_disconnect();
983 break;
984 /* Marcus: CCBS: 14/11/2002: Start */
985
986 /*MC, SPR 1392, call deflection error*/
987 case AT_CMD_CTFR:
988 cm_error_CTFR();
989 break;
990
991 /*SPR#2321 - DS - Handle SAT errors */
992 case AT_CMD_SATE:
993 sate_error(err);
994 break;
995 }
996 }
997
998
999
1000 /*
1001 +--------------------------------------------------------------------+
1002 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1003 | STATE : code ROUTINE: rAT_NO_CARRIER |
1004 +--------------------------------------------------------------------+
1005
1006
1007 PURPOSE : No Carrier indication from ACI
1008
1009 */
1010
1011 GLOBAL void rAT_NO_CARRIER( T_ACI_AT_CMD cmdId, SHORT cId )
1012 {
1013 TRACE_FUNCTION ("rAT_NO_CARRIER()");
1014
1015 //x0pleela 14 Mar, 2006 ER:OMAPS00067709
1016 #ifdef FF_PCM_VM_VB
1017 //update the reason for calling record_stop
1018 if( get_voice_memo_type() EQ VOICE_BUFFERING )
1019 set_voice_buffering_rec_stop_reason(CALLED_PARTY_END_CALL);
1020 #endif
1021
1022 #ifndef GPRS /* kgt 12-05-2001 */
1023 cm_error_connect(cId);
1024 #else /* GPRS */
1025 cm_error_connect(cId);
1026 #endif /* GPRS */
1027 }
1028
1029 /*
1030 +--------------------------------------------------------------------+
1031 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1032 | STATE : code ROUTINE: rAT_BUSY |
1033 +--------------------------------------------------------------------+
1034
1035
1036 PURPOSE : Connect indication from ACI
1037
1038 */
1039
1040 GLOBAL void rAT_BUSY ( T_ACI_AT_CMD cmdId, SHORT cId )
1041 {
1042 TRACE_FUNCTION ("rAT_BUSY()");
1043
1044 #ifndef GPRS /* kgt 12-05-2001 */
1045 cm_error_connect(cId);
1046 #else /* GPRS */
1047 cm_error_connect(cId);
1048 #endif /* GPRS */
1049 }
1050
1051
1052 /*
1053 +--------------------------------------------------------------------+
1054 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1055 | STATE : code ROUTINE: rAT_NO_ANSWER |
1056 +--------------------------------------------------------------------+
1057
1058
1059 PURPOSE : Connect indication from ACI
1060
1061 */
1062
1063 GLOBAL void rAT_NO_ANSWER ( T_ACI_AT_CMD cmdId, SHORT cId )
1064 {
1065 TRACE_FUNCTION ("rAT_NO_ANSWER()");
1066
1067 //x0pleela 07 Mar, 2006 ER:OMAPS00067709
1068 #ifdef FF_PCM_VM_VB
1069 //update the reason for calling record_stop
1070 if( get_voice_memo_type() EQ VOICE_BUFFERING )
1071 set_voice_buffering_rec_stop_reason(CALLED_PARTY_NOT_AVAILABLE);
1072 #endif
1073
1074 #ifndef GPRS /* kgt 12-05-2001 */
1075 cm_error_connect(cId);
1076 #else /* GPRS */
1077 cm_error_connect(cId);
1078 #endif /* GPRS */
1079 }
1080
1081
1082 /*
1083 +--------------------------------------------------------------------+
1084 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1085 | STATE : code ROUTINE: rAT_NO_DIALTONE |
1086 +--------------------------------------------------------------------+
1087
1088
1089 PURPOSE : Connect indication from ACI
1090
1091 */
1092
1093 GLOBAL void rAT_NO_DIALTONE ( void )
1094 {
1095 TRACE_FUNCTION ("rAT_NO_DIALTONE()");
1096 }
1097
1098
1099 /*
1100 +--------------------------------------------------------------------+
1101 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1102 | STATE : code ROUTINE: rAT_CONNECT |
1103 +--------------------------------------------------------------------+
1104
1105
1106 PURPOSE : Connect indication from ACI, only for data call
1107
1108 */
1109
1110 GLOBAL void rAT_CONNECT ( T_ACI_AT_CMD cmdId,
1111 T_ACI_BS_SPEED speed,
1112 SHORT cId )
1113 {
1114 TRACE_FUNCTION ("rAT_CONNECT()");
1115
1116 #ifndef GPRS /* kgt 12-05-2001 */
1117
1118 if (speed==11)
1119 cm_wap_data_connected();
1120 else
1121 cm_data_connect(cId);
1122 #else /* GPRS */
1123 cm_data_connect(cId);
1124 #endif /* GPRS */
1125 }
1126
1127
1128 /*
1129 +------------------------------------------------------------------+
1130 | PROJECT : GSM-MFW (8417) MODULE : MFW_CB |
1131 | STATE : code ROUTINE : rAT_PlusCSSI |
1132 +------------------------------------------------------------------+
1133
1134
1135 PURPOSE : Supplementary service notifications
1136
1137 */
1138
1139 void rAT_PlusCSSI(T_ACI_CSSI_CODE code, SHORT index)
1140 {
1141 TRACE_FUNCTION("rAT_PlusCSSI()");
1142
1143 if (code == CSSI_CODE_NotPresent)
1144 return;
1145
1146 ss_notify(ss_cvtCssiCodes(code), index, 0, 0);
1147 }
1148
1149
1150 /*
1151 +------------------------------------------------------------------+
1152 | PROJECT : GSM-MFW (8417) MODULE : MFW_CB |
1153 | STATE : code ROUTINE : rAT_PlusCSSU |
1154 +------------------------------------------------------------------+
1155
1156
1157 PURPOSE : Supplementary service notifications
1158
1159 */
1160
1161 void rAT_PlusCSSU ( T_ACI_CSSU_CODE code,
1162 SHORT index,
1163 CHAR *number,
1164 T_ACI_TOA *type,
1165 CHAR *subaddr,
1166 T_ACI_TOS *satype)
1167 {
1168 TRACE_FUNCTION("rAT_PlusCSSU()");
1169
1170 if (code == CSSU_CODE_NotPresent)
1171 return;
1172
1173 else if ((code == CSSU_CODE_OnHold) OR
1174 (code == CSSU_CODE_Retrieved))
1175 cm_notify(code, index, (UBYTE *)number);
1176
1177 else
1178 ss_notify(ss_cvtCssuCodes(code),
1179 index,
1180 (UBYTE *)number,
1181 (UBYTE *)subaddr);
1182 }
1183
1184
1185 /*
1186 +------------------------------------------------------------------+
1187 | PROJECT : GSM-MFW (8417) MODULE : MFW_CB |
1188 | STATE : code ROUTINE : rAT_PercentRLOG |
1189 +------------------------------------------------------------------+
1190
1191
1192 PURPOSE :
1193
1194 */
1195
1196 void rAT_PercentRLOG(T_ACI_RLOG *rslt)
1197 {
1198 T_MFW_CM_CALL_STAT stat;
1199 UBYTE ton;
1200 UBYTE mode;
1201
1202 TRACE_FUNCTION("rAT_PercentRLOG()");
1203
1204
1205 TRACE_EVENT_P1("rslt->dest %d",rslt->dest);
1206 TRACE_EVENT_P1("rslt->atRslt %d",rslt->atRslt);
1207
1208
1209 if (rslt->dest > CMD_SRC_LCL)
1210 {
1211 switch (rslt->atRslt)
1212 {
1213 case RLOG_RSLT_OK:
1214 TRACE_EVENT_P1("rslt->rsltPrm.rOK.cmdId %d", rslt->rsltPrm.rOK.cmdId);
1215 if (rslt->rsltPrm.rOK.cmdId EQ AT_CMD_A
1216 OR rslt->rsltPrm.rOK.cmdId EQ AT_CMD_D)
1217 cm_rmt_ok_connect();
1218 if (rslt->rsltPrm.rOK.cmdId EQ AT_CMD_H
1219 OR rslt->rsltPrm.rOK.cmdId EQ AT_CMD_CHUP)
1220 {
1221 //NM Berlin / UK integration 21.09.01
1222 //Nov 02, 2005 DR OMAPS00052132 xdeepadh
1223 //The usage of ATI enum is put under the flag FF_ATI
1224 #if defined (FF_ATI) || defined (NEPTUNE_BOARD)
1225 /*June 15, 2006 DR:OMAPS00079492 x0043642 */
1226 /* Set cmd_hold variable to MFW_CM_DISCONNECT_ALL to end all calls*/
1227 set_cmdHold(MFW_CM_DISCONNECT_ALL);
1228 cm_ok_disconnect(CMD_SRC_ATI_1, rslt->rsltPrm.rOK.cId);
1229 #endif
1230 }
1231 if (rslt->rsltPrm.rOK.cmdId EQ AT_CMD_ABRT)
1232 {
1233 if (cm_search_callStat(rslt->rsltPrm.rOK.cId, &stat, &ton, &mode) == CM_OK)
1234 {
1235 if (stat == CALL_DEACTIVE)
1236 {
1237 //NM Berlin / UK integration 21.09.01
1238 //Nov 02, 2005 DR OMAPS00052132 xdeepadh
1239 //The usage of ATI enum is put under the flag FF_ATI
1240 #ifdef FF_ATI
1241 cm_ok_disconnect(CMD_SRC_ATI_1, rslt->rsltPrm.rOK.cId);
1242 #endif //FF_ATI
1243 }
1244 }
1245 }
1246 if (rslt->rsltPrm.rOK.cmdId EQ AT_CMD_CHLD)
1247 {
1248 //NM Berlin / UK integration 21.09.01
1249 //Nov 02, 2005 DR OMAPS00052132 xdeepadh
1250 //The usage of ATI enum is put under the flag FF_ATI
1251 #ifdef FF_ATI
1252 cm_result_cmd(CMD_SRC_ATI_1, Present);
1253 #endif //FF_ATI
1254 }
1255
1256 #ifdef GPRS /* JVJ 10-10-02 */
1257 /* SH - GPRS*/
1258 switch(rslt->rsltPrm.rOK.cmdId)
1259 {
1260 case AT_CMD_CGDCONT:
1261 case AT_CMD_CGQREQ:
1262 case AT_CMD_CGQMIN:
1263 case AT_CMD_CGATT:
1264 case AT_CMD_CGACT:
1265 case AT_CMD_CGDATA:
1266 case AT_CMD_CGPADDR:
1267 case AT_CMD_CGAUTO:
1268 case AT_CMD_CGANS:
1269 case AT_CMD_CGCLASS:
1270 case AT_CMD_CGEREP:
1271 case AT_CMD_CGREG:
1272 case AT_CMD_CGSMS:
1273 case AT_CMD_SNCNT:
1274 case AT_CMD_P_CGREG:
1275 gprs_ok((T_ACI_AT_CMD)rslt->rsltPrm.rOK.cId);
1276 break;
1277 }
1278 /* end SH */
1279 #endif
1280 //Mar 23, 2006 DR OMAPS00069173 Prabakar R
1281 //break was put inside #ifdef GPRS. it has been moved outside
1282 break;
1283 case RLOG_RSLT_NoCarrier:
1284 #ifdef GPRS /* JVJ 10-10-02 */
1285 /* SH - don't send to CM for GPRS call*/
1286 if (rslt->rsltPrm.rNO_CARRIER.cmdId == AT_CMD_CGDATA)
1287 {
1288 gprs_err_connect(rslt->rsltPrm.rNO_CARRIER.cId);
1289 }
1290 else
1291 #endif
1292 cm_rmt_error_connect(rslt->rsltPrm.rNO_CARRIER.cId);
1293
1294 break;
1295 case RLOG_RSLT_Busy:
1296 /* SH - don't send to CM for GPRS call*/
1297 #ifdef GPRS /* JVJ 10-10-02 */
1298 if (rslt->rsltPrm.rBUSY.cmdId == AT_CMD_CGDATA)
1299 gprs_err_connect(rslt->rsltPrm.rBUSY.cId);
1300 else
1301 #endif
1302 cm_rmt_error_connect(rslt->rsltPrm.rBUSY.cId);
1303 break;
1304
1305 case RLOG_RSLT_NoAnswer:
1306 /* SH - don't send to CM for GPRS call*/
1307 #ifdef GPRS /* JVJ 10-10-02 */
1308 if (rslt->rsltPrm.rNO_ANSWER.cmdId == AT_CMD_CGDATA)
1309 gprs_err_connect(rslt->rsltPrm.rNO_ANSWER.cId);
1310 else
1311 #endif
1312 cm_rmt_error_connect(rslt->rsltPrm.rNO_ANSWER.cId);
1313 break;
1314
1315 case RLOG_RSLT_Connect:
1316 //NM
1317 //merged latest version of MFW from Berlin
1318 //only related with NO_ASCIIZ
1319 //code 1: was replaced by code 2
1320 //keep it still comment out the code 1
1321 //by reason of problem swap the codes
1322
1323 //code 1:
1324 //cm_data_connect(rslt->rsltPrm.rCONNECT.cId);
1325
1326 /* notify MMI of connect by external MMI */
1327 //code 2:
1328
1329 /* SH - don't send to CM for GPRS call*/
1330 #ifdef GPRS /* JVJ 10-10-02 */
1331 if (rslt->rsltPrm.rCONNECT.cmdId == AT_CMD_CGDATA)
1332 gprs_connect(rslt->rsltPrm.rCONNECT.cId);
1333 else
1334 /* SH end */
1335 #endif
1336 cm_rmt_ok_connect(); /* VO ???: to be changed (needs E_CM_CONNECT) */
1337
1338
1339 break;
1340 #ifdef GPRS /* JVJ 10-10-02 */
1341 case RLOG_RSLT_CME:
1342 /* SH - GPRS*/
1343 TRACE_FUNCTION_P1("rslt->rsltPrm.rOK.cmdId=%d",rslt->rsltPrm.rOK.cmdId);
1344 switch(rslt->rsltPrm.rOK.cmdId)
1345 {
1346 case AT_CMD_CGDCONT:
1347 case AT_CMD_CGQREQ:
1348 case AT_CMD_CGQMIN:
1349 case AT_CMD_CGATT:
1350 case AT_CMD_CGACT:
1351 case AT_CMD_CGDATA:
1352 case AT_CMD_CGPADDR:
1353 case AT_CMD_CGAUTO:
1354 case AT_CMD_CGANS:
1355 case AT_CMD_CGCLASS:
1356 case AT_CMD_CGEREP:
1357 case AT_CMD_CGREG:
1358 case AT_CMD_CGSMS:
1359 case AT_CMD_SNCNT:
1360 case AT_CMD_P_CGREG:
1361 gprs_error(rslt->rsltPrm.rCME.cmdId,rslt->rsltPrm.rCME.err);
1362 break;
1363 //CQ-16432 start
1364 case AT_CMD_CPWD:
1365 TRACE_FUNCTION("AT_CMD_CPWD");
1366 ss_sat_passwdReqd(rslt->rsltPrm.rCME.cmdId,rslt->rsltPrm.rCME.err);
1367 break;
1368 //CQ-16432 end
1369 }
1370 /* end SH */
1371 break;
1372 #endif
1373 }
1374 }
1375 }
1376
1377
1378 /*
1379 +------------------------------------------------------------------+
1380 | PROJECT : GSM-MFW (8417) MODULE : MFW_CB |
1381 | STATE : code ROUTINE : rAT_PercentCLOG |
1382 +------------------------------------------------------------------+
1383
1384
1385 PURPOSE :
1386
1387 */
1388
1389 void rAT_PercentCLOG(T_ACI_CLOG *cmd)
1390 {
1391 TRACE_FUNCTION("rAT_PercentCLOG() in mfw");
1392
1393 if (cmd->retCode NEQ AT_CMPL AND cmd->retCode NEQ AT_EXCT)
1394 return;
1395
1396 switch (cmd->cmdType)
1397 {
1398 case CLOG_TYPE_Set:
1399 switch ((int)(cmd->atCmd)) /*a0393213 lint warnings removal - typecast done*/
1400 {
1401 case AT_CMD_D:
1402 if (cmd->cmdPrm.sD.simCallCtrl NEQ D_SIMCC_ACTIVE_CHECK)
1403 cm_AT_D(cmd);
1404 break;
1405 #ifdef SIM_TOOLKIT
1406 case AT_CMD_A:
1407 if (mfwSatMoAccepted)
1408 { /* ES!! accepted SAT Call */
1409 mfwSatMoAccepted = 0;
1410 cm_AT_D(cmd);
1411 }
1412 break;
1413 #endif
1414
1415 case KSD_CMD_CB:
1416 case KSD_CMD_CF:
1417 case KSD_CMD_CW:
1418 case KSD_CMD_CL:
1419 case KSD_CMD_PWD:
1420 case KSD_CMD_UBLK:
1421 case KSD_CMD_USSD:
1422 case AT_CMD_CUSD:
1423 ss_command_info(cmd);
1424 break;
1425
1426 case AT_CMD_CHLD:
1427 cm_AT_CHLD(cmd);
1428 break;
1429
1430 default:
1431 break;
1432 }
1433 break;
1434
1435 case CLOG_TYPE_Query:
1436 break;
1437
1438 case CLOG_TYPE_Test:
1439 break;
1440 }
1441 }
1442
1443
1444 /*
1445 +--------------------------------------------------------------------+
1446 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1447 | STATE : code ROUTINE: rAT_PercentDRV |
1448 +--------------------------------------------------------------------+
1449
1450
1451 PURPOSE : Driver indication from layer 1
1452
1453 */
1454
1455 GLOBAL void rAT_PercentDRV( T_ACI_DRV_DEV device,
1456 T_ACI_DRV_FCT function,
1457 UBYTE val1,
1458 UBYTE val2)
1459 {
1460 TRACE_FUNCTION ("rAT_PercentDRV()");
1461 //ES!! check device & function !!
1462
1463
1464 drvKeyUpDown(val2,val1); //ES!! val2 korrekt ?
1465 }
1466
1467 /*
1468 +--------------------------------------------------------------------+
1469 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1470 | STATE : code ROUTINE: send_cnap_name_information_mmi |
1471 +--------------------------------------------------------------------+
1472
1473
1474 PURPOSE : Function to process the data sent from rAT_PercentCNAP based on presentation mode for CNAP
1475
1476 */
1477 /*May 10,2007 DR:OMAP00127983 x0066814(Geetha)-begin*/
1478 LOCAL void send_cnap_name_information_mmi(T_ATI_CNAP_PRESENTATION pres_mode,
1479 T_callingName *NameId)
1480 {
1481 T_namePresentationAllowed *cnap_name_info = NULL;
1482
1483 TRACE_FUNCTION("send_cnap_name_information()");
1484
1485 switch(pres_mode)
1486 {
1487 case(CNAP_PRES_ALLOWED):
1488 TRACE_EVENT("CNAP: name presentation is allowed");
1489 CALL_NAME_NETWORK=TRUE;//implies that name is got from rAT_%CNAP
1490 cnap_name_info = &(NameId->namePresentationAllowed);
1491 break;
1492
1493 case(CNAP_NAME_PRES_RESTRICTED):
1494 case(CNAP_NAME_UNAVAILABLE):
1495 case(CNAP_PRES_RESTRICTED):
1496 TRACE_EVENT("CNAP: name presentation is restricted/unavilable");
1497 break;
1498
1499 default:
1500 TRACE_ERROR("CNAP: wrong presentation mode");
1501 return;
1502 }
1503 set_cnap_name(cnap_name_info);
1504 }
1505
1506 /*
1507 +--------------------------------------------------------------------+
1508 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1509 | STATE : code ROUTINE: set_cnap_name |
1510 +--------------------------------------------------------------------+
1511
1512
1513 PURPOSE : function to get the name from rAT_PercentCNAP
1514
1515 */
1516 void set_cnap_name(T_namePresentationAllowed *cnap_name_info )
1517 {
1518 TRACE_FUNCTION("set_cnap_name");
1519 if(cnap_name_info EQ NULL)
1520 {
1521 TRACE_ERROR("CNAP cnap_name_info is NULL");
1522 return;
1523 }
1524
1525 if ((cnap_name_info->v_dataCodingScheme) AND
1526 (cnap_name_info->v_lengthInCharacters) AND
1527 (cnap_name_info->v_nameString))
1528 {
1529 UBYTE expanded_len=0;
1530 UBYTE *cnap_name_expanded = NULL;
1531 UBYTE dcs;
1532 TRACE_FUNCTION("All values present");
1533 cnap_name_expanded=mfwAlloc(CNAP_EXPANDED_SIZE+1);
1534 dcs =(UBYTE)cnap_name_info->dataCodingScheme;
1535
1536 if( cmh_getAlphabetCb( (UBYTE)dcs ) EQ 0 ) /* 7bit alphabet */
1537 {
1538 TRACE_FUNCTION("/* 7bit alphabet */");
1539 expanded_len =
1540 utl_cvt7To8((UBYTE *)cnap_name_info->nameString.b_nameString,
1541 (UBYTE)cnap_name_info->lengthInCharacters,
1542 cnap_name_expanded,
1543 0 );
1544 }
1545 else
1546 {
1547 TRACE_FUNCTION("/* 8bit alphabet */");
1548 memcpy( cnap_name_expanded,
1549 (UBYTE *)cnap_name_info->nameString.b_nameString,
1550 (UBYTE)cnap_name_info->lengthInCharacters );
1551 expanded_len = (UBYTE)cnap_name_info->lengthInCharacters;
1552 }
1553 cnap_name.len= (UBYTE)expanded_len;
1554 #ifdef NO_ASCIIZ
1555 memcpy(cnap_name.data,cnap_name_expanded,sizeof(cnap_name.data));
1556 #else
1557 strcpy(cnap_name.data,cnap_name_expanded);
1558 #endif
1559 TRACE_EVENT_P1("cnap_name.data: %s",cnap_name.data);
1560 mfwFree(cnap_name_expanded, CNAP_EXPANDED_SIZE+1);
1561 }
1562 return;
1563 }
1564
1565 /*
1566 +--------------------------------------------------------------------+
1567 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1568 | STATE : code ROUTINE: get_cnap_name |
1569 +--------------------------------------------------------------------+
1570
1571
1572 PURPOSE : function to give the name from set_cnap_name to MMI
1573
1574 */
1575 GLOBAL T_MFW_PHB_TEXT * get_cnap_name()
1576 {
1577 TRACE_FUNCTION("get_cnap_name");
1578 return &cnap_name;
1579 }
1580
1581 /*
1582 +--------------------------------------------------------------------+
1583 | PROJECT: GSM-MFW (8417) MODULE: MFW_CB |
1584 | STATE : code ROUTINE: rAT_PercentCNAP |
1585 +--------------------------------------------------------------------+
1586
1587 PURPOSE : handles rAT_PercentCNAP call back
1588
1589 */
1590
1591 GLOBAL void rAT_PercentCNAP ( T_callingName *NameId,T_ACI_CNAP_STATUS status)
1592 {
1593
1594 TRACE_FUNCTION("rAT_PercentCNAP()");
1595 TRACE_EVENT_P1("NameId: %d",NameId);
1596 if(NameId NEQ NULL)
1597 {
1598 if(NameId->v_namePresentationAllowed)
1599 {
1600 send_cnap_name_information_mmi(CNAP_PRES_ALLOWED, NameId);
1601 return;
1602 }
1603
1604 if(NameId->v_presentationRestricted)
1605 {
1606 send_cnap_name_information_mmi(CNAP_PRES_RESTRICTED, NameId);
1607 return;
1608 }
1609
1610 if(NameId->v_nameUnavailable)
1611 {
1612 send_cnap_name_information_mmi(CNAP_NAME_UNAVAILABLE, NameId);
1613 return;
1614 }
1615
1616 if(NameId->v_namePresentationRestricted)
1617 {
1618 send_cnap_name_information_mmi(CNAP_NAME_PRES_RESTRICTED, NameId);
1619 return;
1620 }
1621 }
1622 }
1623 /*May 10,2007 DR:OMAP00127983 x0066814(Geetha) -end*/
1624 /*
1625 +--------------------------------------------------------------------+
1626 | PROJECT : MODULE : MFW_ACI_DUMMY |
1627 | STATE : code ROUTINE : rAT_PlusCLAN |
1628 +--------------------------------------------------------------------+
1629
1630 PURPOSE : handles AT_PlusCLAN call back
1631
1632 */
1633
1634 GLOBAL void rAT_PlusCLAN (T_ACI_LAN_SUP *CLang )
1635 {
1636 TRACE_FUNCTION("rAT_PlusCLAN()");
1637
1638 #ifdef FF_2TO1_PS /* kgt 12-05-2001 */
1639 sim_read_lp_cnf(CAUSE_SIM_NO_ERROR,CLang);
1640 #else
1641 sim_read_lp_cnf(SIM_NO_ERROR,CLang);
1642 #endif
1643
1644 }
1645
1646 /*
1647 +--------------------------------------------------------------------+
1648 | PROJECT : MODULE : MFW_ACI_DUMMY |
1649 | STATE : code ROUTINE : rAT_PlusCLAE |
1650 +--------------------------------------------------------------------+
1651
1652 PURPOSE : handles AT_PlusCLAE call back
1653
1654 */
1655
1656 GLOBAL void rAT_PlusCLAE (T_ACI_LAN_SUP *CLang )
1657 {
1658 TRACE_FUNCTION("rAT_PlusCLAE()");
1659 }
1660
1661 /*
1662 +--------------------------------------------------------------------+
1663 | PROJECT : ACI/MMI MODULE : ACI_RET |
1664 | STATE : code ROUTINE : rAT_PercentCSQ |
1665 +--------------------------------------------------------------------+
1666
1667 PURPOSE : handles rAT_PercentCSQ call back
1668
1669 Shen,Chao
1670
1671 */
1672
1673 //Oct 05, 2006 ER: OMAPS00094496 x0061088(Prachi)
1674 #ifdef FF_PS_RSSI
1675 #define MMI_MIN_RXLEV_FAULT 99
1676 GLOBAL void rAT_PercentCSQ (UBYTE rssi, UBYTE ber, UBYTE actlevel, UBYTE min_access_level)
1677 #else
1678 GLOBAL void rAT_PercentCSQ (UBYTE rssi, UBYTE ber, UBYTE actlevel)
1679 #endif
1680 {
1681
1682 static UBYTE prelevel=0;
1683 #ifdef NEPTUNE_BOARD
1684 RssiVal = rssi;
1685 #endif
1686
1687 TRACE_FUNCTION("rAT_PercentCSQ()");
1688 #ifdef FF_PS_RSSI
1689 if((min_access_level NEQ MMI_MIN_RXLEV_FAULT) AND (rssi < min_access_level ))
1690 {
1691 globalSignalUpdate(0);
1692 prelevel = 0;
1693 }
1694 else
1695 #endif
1696 if( prelevel != actlevel )
1697 {
1698 globalSignalUpdate(actlevel);
1699 prelevel = actlevel;
1700 }
1701
1702 }
1703
1704
1705
1706 #ifdef FF_CPHS
1707 /*
1708 +--------------------------------------------------------------------+
1709 | PROJECT : MODULE : MFW_ACI_DUMMY |
1710 | STATE : code ROUTINE : rAT_PercentCPVWI |
1711 +--------------------------------------------------------------------+
1712
1713 PURPOSE : handles AT_PercentCPVWI call back
1714
1715 */
1716
1717 GLOBAL void rAT_PercentCPVWI ( UBYTE flag_set,
1718 USHORT line)
1719 {
1720 TRACE_FUNCTION("rAT_PercentCPVWI()");
1721 //18 May, 2006 DR: OMAPS00070657 x0pleela
1722 //Send this event when there is any voice mail
1723 sendCPWIEvt(flag_set, line);
1724 }
1725
1726 /*
1727 +--------------------------------------------------------------------+
1728 | PROJECT : MODULE : MFW_ACI_DUMMY |
1729 | STATE : code ROUTINE : rAT_PercentCPNUMS |
1730 +--------------------------------------------------------------------+
1731
1732 PURPOSE : handles AT_PercentCPNUMS call back
1733
1734 */
1735 GLOBAL void rAT_PercentCPNUMS(UBYTE element_index,
1736 UBYTE index_level,
1737 CHAR *alpha_tag,
1738 CHAR *number,
1739 BOOL premium_flag,
1740 BOOL network_flag,
1741 UBYTE type_of_address)
1742 {
1743 }
1744
1745
1746 /*
1747 +--------------------------------------------------------------------+
1748 | PROJECT : MODULE : MFW_ACI_DUMMY |
1749 | STATE : code ROUTINE : rAT_PercentCPCFU |
1750 +--------------------------------------------------------------------+
1751
1752 PURPOSE : handles AT_PercentCPCFU call back
1753
1754 */
1755 GLOBAL void rAT_PercentCPCFU(UBYTE flag_set,
1756 T_CPHS_LINES line)
1757 {}
1758
1759
1760 /*
1761 +--------------------------------------------------------------------+
1762 | PROJECT : MODULE : MFW_ACI_DUMMY |
1763 | STATE : code ROUTINE : rAT_PercentCPROAM |
1764 +--------------------------------------------------------------------+
1765
1766 PURPOSE : handles AT_PercentCPROAM call back
1767
1768 */
1769 GLOBAL void rAT_PercentCPROAM(UBYTE roam_status)
1770 {}
1771
1772 #endif /* FF_CPHS */
1773
1774 /*
1775 +--------------------------------------------------------------------+
1776 | PROJECT : MODULE : MFW_ACI_DUMMY |
1777 | STATE : code ROUTINE : rAT_PlusCIEV |
1778 +--------------------------------------------------------------------+
1779
1780 PURPOSE : dummy for +CIEV unsolicited message
1781
1782 */
1783 GLOBAL void rAT_PlusCIEV( T_ACI_MM_CIND_VAL_TYPE sCindValues,
1784 T_ACI_MM_CMER_VAL_TYPE sCmerSettings )
1785 {
1786 TRACE_FUNCTION("rAT_PlusCIEV()");
1787
1788 //x0018858 24 Mar, 2005 MMI-FIX-11321
1789 //Added a switch statement to handle the indication received.
1790 //begin - x0018858 24 Mar, 2005 MMI-FIX-11321
1791
1792 switch(sCmerSettings.sCmerIndParam)
1793 {
1794 case CMER_INDICATOR_INVALID:
1795 case CMER_INDICATOR_0:
1796 case CMER_INDICATOR_1:
1797 break;
1798 case CMER_INDICATOR_2:
1799 {
1800 switch (sCindValues.sCindSmsFullParam)
1801 {
1802 case CIND_SMSFULL_INDICATOR_INVALID:
1803 break;
1804 case CIND_SMSFULL_INDICATOR_MEMFULL:
1805 TRACE_FUNCTION("CIND_SMSFULL_INDICATOR_MEMFULL");
1806 isMessageWaiting = TRUE;
1807 break;
1808 case CIND_SMSFULL_INDICATOR_MEMAVAIL:
1809 TRACE_FUNCTION("CIND_SMSFULL_INDICATOR_MEMAVAIL");
1810 isMessageWaiting = FALSE;
1811 break;
1812 case CIND_SMSFULL_INDICATOR_MAX:
1813 default:
1814 break;
1815 }
1816 }
1817 case CMER_INDICATOR_TYPE_MAX:
1818 default:
1819 {
1820 break;
1821 }
1822 }
1823 //end - x0018858 24 Mar, 2005 MMI-FIX-11321
1824 }
1825
1826 /*
1827 +--------------------------------------------------------------------+
1828 | PROJECT : GSM-F&D (8411) MODULE : MFW_CB |
1829 | STATE : code ROUTINE : mfw_format_plmn_name |
1830 +--------------------------------------------------------------------+
1831
1832 PURPOSE : Decodes PLMN name to remote source format
1833
1834 */
1835
1836 void mfw_format_plmn_name(UBYTE dcs,UBYTE *in, UBYTE in_length, UBYTE *out, UBYTE max_out_length)
1837 {
1838 USHORT size_of_plmn_name;
1839 UBYTE dest_len=0;
1840 UBYTE buf[33];
1841
1842 memset(buf,33,0);
1843 if(dcs ==0) /*GSM default */
1844 {
1845 dest_len = utl_cvt7To8(in,in_length,buf,0);
1846 utl_chsetFromGsm(buf,dest_len,out,max_out_length,&size_of_plmn_name,GSM_ALPHA_Def);
1847 memset(buf, 0, 33);
1848 }
1849 else if(dcs ==1) /*UCS2 */
1850 {
1851 utl_hexFromGsm(in,in_length,out,max_out_length,&size_of_plmn_name,GSM_ALPHA_Def,CSCS_ALPHA_7_Bit);
1852
1853 }
1854 }
1855
1856
1857
1858 #ifndef FF_2TO1_PS/*
1859 +--------------------------------------------------------------------+
1860 | PROJECT : MODULE : MFW_ACI_DUMMY |
1861 | STATE : code ROUTINE : rAT_PercentCNIV |
1862 +--------------------------------------------------------------------+
1863
1864 PURPOSE : dummy for %CNIV unsolicited message
1865
1866 */
1867 //x0pleela 09 Feb, 2006 ER:OMAPS00065203
1868 GLOBAL void rAT_PercentCNIV (T_MMR_INFO_IND *mmr_info_ind)
1869 {
1870 T_MFW_NETWORK_STRUCT plmn_netw_data;
1871 SHORT mcc = 0;
1872 SHORT mnc = 0;
1873
1874 TRACE_FUNCTION("rAT_PercentCNIV()");
1875
1876 //copy plmn info into plmn_netw_data from mmr_info_ind
1877 memset(&plmn_netw_data, 0, sizeof(T_MFW_NETWORK_STRUCT) );
1878
1879 if (mmr_info_ind->plmn.v_plmn)
1880 {
1881 cmhMM_CnvrtPLMN2INT( mmr_info_ind->plmn.mcc,
1882 mmr_info_ind->plmn.mnc,
1883 &mcc, &mnc );
1884 }
1885 /* build numeric plmn representation */
1886 if ((mnc & 0x000F) EQ 0x000F)
1887 {
1888 sprintf((char*)&plmn_netw_data.network_numeric, "%d%d",
1889 mcc, (mnc & 0x0FF0) >> 4);
1890 }
1891 else
1892 {
1893 sprintf((char*)&plmn_netw_data.network_numeric, "%d%d", mcc, mnc);
1894 }
1895 //Apr 13, 2007 DRT:OMAPS00122739 x0066814(Geetha)
1896 if (mmr_info_ind->short_name.v_name) /* short name */
1897 {
1898 TRACE_FUNCTION(" SHORT NAME ");
1899 mfw_format_plmn_name(mmr_info_ind->short_name.dcs,(UBYTE*)mmr_info_ind->short_name.text,
1900 mmr_info_ind->short_name.c_text, (UBYTE *)plmn_netw_data.network_short.data, 33);
1901 }
1902
1903 if (mmr_info_ind->full_name.v_name) /* full name */
1904 {
1905 TRACE_FUNCTION(" Long NAME ");
1906 mfw_format_plmn_name(mmr_info_ind->full_name.dcs,(UBYTE*)mmr_info_ind->full_name.text,
1907 mmr_info_ind->full_name.c_text, (UBYTE *)plmn_netw_data.network_long.data, 33);
1908 }
1909
1910 plmn_netw_data.opn_read_from = NM_NITZ;
1911
1912 nm_get_network_data(&plmn_netw_data);
1913 }
1914
1915 #else
1916 /* DMPS MMREG SAP */
1917 GLOBAL void rAT_PercentCNIV (T_MMREG_INFO_IND *mmr_info_ind)
1918 {
1919 T_MFW_NETWORK_STRUCT plmn_netw_data;
1920 SHORT mcc = 0;
1921 SHORT mnc = 0;
1922
1923 TRACE_FUNCTION("rAT_PercentCNIV()");
1924
1925 /* copy plmn info into plmn_netw_data from mmr_info_ind */
1926 memset(&plmn_netw_data, 0, sizeof(T_MFW_NETWORK_STRUCT));
1927
1928 if (mmr_info_ind->v_plmn_id)
1929 {
1930 cmhMM_CnvrtPLMN2INT( &(mmr_info_ind->plmn_id), (USHORT *)&mcc, (USHORT *)&mnc );
1931 }
1932 /* build numeric plmn representation */
1933 if ((mnc & 0x000F) EQ 0x000F)
1934 {
1935 sprintf((char*)&plmn_netw_data.network_numeric, "%d%d",
1936 mcc, (mnc & 0x0FF0) >> 4);
1937
1938 }
1939 else
1940 {
1941 sprintf((char*)&plmn_netw_data.network_numeric, "%d%d", mcc, mnc);
1942
1943 }
1944
1945 if (mmr_info_ind->v_short_net_name AND /* short name only */
1946 !mmr_info_ind->v_full_net_name)
1947 {
1948 TRACE_FUNCTION(" SHORT NAME ");
1949 #ifdef NO_ASCIIZ
1950 memcpy(plmn_netw_data.network_short.data,
1951 mmr_info_ind->short_net_name.text,
1952 mmr_info_ind->short_net_name.c_text);
1953 #else
1954 strcpy(plmn_netw_data.network_short, (char*)mmr_info_ind->short_net_name.text);
1955 #endif
1956 }
1957 else if (!mmr_info_ind->v_short_net_name AND
1958 mmr_info_ind->v_full_net_name) /* full name only */
1959 {
1960 TRACE_FUNCTION(" LONG NAME ");
1961 #ifdef NO_ASCIIZ
1962 memcpy( plmn_netw_data.network_long.data,
1963 mmr_info_ind->full_net_name.text,
1964 mmr_info_ind->full_net_name.c_text);
1965 #else
1966 strcpy( plmn_netw_data.network_long, (char*)mmr_info_ind->full_net_name.text );
1967 #endif
1968 }
1969 else if (mmr_info_ind->v_short_net_name AND
1970 mmr_info_ind->v_full_net_name)
1971 {
1972 TRACE_FUNCTION(" LONG AND SHORT ");
1973 #ifdef NO_ASCIIZ
1974 memcpy( plmn_netw_data.network_long.data,
1975 mmr_info_ind->full_net_name.text,
1976 mmr_info_ind->full_net_name.c_text);
1977 memcpy( plmn_netw_data.network_short.data,
1978 mmr_info_ind->short_net_name.text,
1979 mmr_info_ind->short_net_name.c_text);
1980 #else
1981 strcpy( plmn_netw_data.network_long, (char*)mmr_info_ind->full_net_name.text );
1982 strcpy( plmn_netw_data.network_short, (char*)mmr_info_ind->short_net_name.text);
1983 #endif
1984 }
1985 else
1986 {
1987 TRACE_EVENT("No name found");
1988 }
1989
1990 plmn_netw_data.opn_read_from = NM_NITZ;
1991
1992 nm_get_network_data(&plmn_netw_data);
1993 }
1994
1995 #endif
1996 /*
1997 +--------------------------------------------------------------------+
1998 | PROJECT : MODULE : MFW_ACI_DUMMY |
1999 | STATE : code ROUTINE : rAT_PercentCCCN |
2000 +--------------------------------------------------------------------+
2001
2002 PURPOSE :
2003 */
2004 GLOBAL void rAT_PercentCCCN ( T_ACI_FAC_DIR tDirection,
2005 SHORT cId,
2006 #ifdef FF_2TO1_PS
2007 T_NAS_fac_inf *acFie )
2008 #else
2009 T_MNCC_fac_inf *acFie )
2010 #endif
2011 {
2012 TRACE_FUNCTION ("rAT_PercentCCCN ()");
2013 }
2014
2015 /*
2016 +--------------------------------------------------------------------+
2017 | PROJECT : MODULE : MFW_ACI_DUMMY |
2018 | STATE : code ROUTINE : rAT_PercentCSSN |
2019 +--------------------------------------------------------------------+
2020
2021 PURPOSE :
2022 */
2023 GLOBAL void rAT_PercentCSSN ( T_ACI_FAC_DIR tDirection,
2024 T_ACI_FAC_TRANS_TYPE tType,
2025 #ifdef FF_2TO1_PS
2026 T_NAS_fac_inf *acFie )
2027 #else
2028 T_MNCC_fac_inf *acFie )
2029 #endif
2030 {
2031 TRACE_FUNCTION ("rAT_PercentCSSN ()");
2032 }
2033
2034
2035 #if defined (REL99) || defined (FF_2TO1_PS)
2036
2037 /*
2038 +--------------------------------------------------------------------+
2039 | PROJECT : MODULE : MFW_ACI_DUMMY |
2040 | STATE : code ROUTINE : rAT_PercentCMGRS |
2041 +--------------------------------------------------------------------+
2042
2043 PURPOSE :
2044 */
2045 GLOBAL void rAT_PercentCMGRS ( T_ACI_CMGRS_MODE mode,
2046 UBYTE tp_mr,
2047 UBYTE resend_count,
2048 UBYTE max_retrans )
2049 {
2050 TRACE_FUNCTION ("rAT_PercentCMGRS ()");
2051 }
2052
2053 #endif /* REL99 OR FF_2TO1_PS*/
2054 /*
2055 +--------------------------------------------------------------------+
2056 | PROJECT : MODULE : MFW_ACI_DUMMY |
2057 | STATE : code ROUTINE : rAT_PercentRDLB |
2058 +--------------------------------------------------------------------+
2059
2060 PURPOSE :
2061 */
2062 GLOBAL void rAT_PercentRDLB ( T_ACI_CC_RDL_BLACKL_STATE state )
2063 {
2064 TRACE_FUNCTION ("rAT_PercentRDLB ()");
2065 }
2066 /*
2067 +--------------------------------------------------------------------+
2068 | PROJECT : MODULE : MFW_ACI_DUMMY |
2069 | STATE : code ROUTINE : rAT_PercentCPRSM |
2070 +--------------------------------------------------------------------+
2071
2072 PURPOSE :
2073 */
2074
2075 GLOBAL void rAT_PercentCPRSM ( T_ACI_CPRSM_MOD mode )
2076 {
2077 TRACE_FUNCTION ("rAT_PercentCPRSM ()");
2078 }
2079
2080 /*
2081 +--------------------------------------------------------------------+
2082 | PROJECT : MODULE : MFW_ACI_DUMMY |
2083 | STATE : code ROUTINE : rAT_PercentCSTAT |
2084 +--------------------------------------------------------------------+
2085
2086 PURPOSE :
2087 */
2088
2089 //x0pleela 13 Feb, 2006
2090 //Querying for EONS data when %CSTAT returns EONS ready
2091
2092 GLOBAL void rAT_PercentCSTAT ( T_ACI_STATE_MSG msgType )
2093 {
2094 #ifndef NEPTUNE_BOARD
2095 T_MFW_NETWORK_STRUCT plmn_eons_data;
2096 #endif
2097
2098 TRACE_FUNCTION ("rAT_PercentCSTAT ()");
2099 #ifndef NEPTUNE_BOARD
2100 memset(&plmn_eons_data, 0, sizeof(T_MFW_NETWORK_STRUCT) );
2101 if( (msgType.entityId EQ STATE_MSG_EONS ) AND
2102 (msgType.entityState EQ ENTITY_STATUS_Ready) )
2103 {
2104 nm_get_COPN(&plmn_eons_data);
2105
2106 //send E_NM_OPN event
2107 nm_get_network_data(&plmn_eons_data);
2108 }
2109 #endif
2110
2111 }
2112
2113
2114 /*
2115 +--------------------------------------------------------------------+
2116 | PROJECT : MODULE : MFW_ACI_DUMMY |
2117 | STATE : code ROUTINE : rAT_PercentRDL |
2118 +--------------------------------------------------------------------+
2119
2120 PURPOSE :
2121 */
2122
2123 GLOBAL void rAT_PercentRDL ( T_ACI_CC_REDIAL_STATE state )
2124 {
2125 TRACE_FUNCTION ("rAT_PercentRDL ()");
2126 }
2127
2128 #ifndef FF_2TO1_PS
2129 /*
2130 +--------------------------------------------------------------------+
2131 | PROJECT : MODULE : MFW_ACI_DUMMY |
2132 | STATE : code ROUTINE : rAT_PercentCMGR |
2133 +--------------------------------------------------------------------+
2134
2135 PURPOSE :
2136 */
2137
2138 GLOBAL void rAT_PercentCMGR ( T_ACI_CMGL_SM* sm,
2139 T_ACI_CMGR_CBM * cbm)
2140 {
2141 TRACE_FUNCTION ("rAT_PercentCMGR ()");
2142 }
2143
2144 /*
2145 +--------------------------------------------------------------------+
2146 | PROJECT : MODULE : MFW_ACI_DUMMY |
2147 | STATE : code ROUTINE : rAT_PercentCMGL |
2148 +--------------------------------------------------------------------+
2149
2150 PURPOSE :
2151 */
2152
2153 GLOBAL void rAT_PercentCMGL ( T_ACI_CMGL_SM * smLst)
2154 {
2155 TRACE_FUNCTION ("rAT_PercentCMGL ()");
2156 }
2157
2158
2159 /*
2160 +--------------------------------------------------------------------+
2161 | PROJECT : MODULE : MFW_ACI_DUMMY |
2162 | STATE : code ROUTINE : rAT_* |
2163 +--------------------------------------------------------------------+
2164
2165 PURPOSE : Following functions MOved from ATI. (ati_ret.c)
2166 */
2167
2168
2169 GLOBAL void rAT_PercentCREG ( T_ACI_CREG_STAT status,
2170 USHORT lac,
2171 USHORT cid,
2172 T_ACI_P_CREG_GPRS_IND gprs_ind)
2173 {
2174 TRACE_FUNCTION("rAT_PercentCREG()");
2175 }
2176
2177 #if defined (MFW) || defined (SMI)
2178 #ifdef FF_TIMEZONE
2179 GLOBAL void rAT_PlusCTZV ( S32 timezone )
2180 {
2181 TRACE_FUNCTION("rAT_PlusCTZV()");
2182 }
2183 #else
2184 GLOBAL void rAT_PlusCTZV ( UBYTE* timezone )
2185 {
2186 TRACE_FUNCTION("rAT_PlusCTZV()");
2187 }
2188 #endif
2189 #endif
2190
2191
2192 // June 02, 2006 DR: OMAPS00078005 x0021334
2193 // Descripton: Test for NITZ (Network Identity and Timezone) support - No New time was displayed
2194 // Solution: New Time/Date received from network is sent to MFW by lower layer by invoking 'rAT_PercentCTZV'
2195 // function. This function has now been implemented to pass on the received values to MMI
2196 // for user confirmation and RTC updation.
2197 /*
2198 +--------------------------------------------------------------------+
2199 | PROJECT : MODULE : MFW_ACI_DUMMY |
2200 | STATE : code ROUTINE : rAT_PercentCTZV |
2201 +--------------------------------------------------------------------+
2202
2203 PURPOSE :
2204 */
2205 #if defined (MFW) || defined (SMI)
2206 GLOBAL void rAT_PercentCTZV (T_MMR_INFO_IND *mmr_info_ind, S32 timezone )
2207 {
2208 #ifdef FF_TIMEZONE
2209 T_MFW_TIME_IND currclock;
2210 #endif
2211
2212 TRACE_FUNCTION("rAT_PercentCTZV()");
2213
2214 #ifdef FF_TIMEZONE
2215 // Copy time related data received from network to 'currclock'
2216 // to be passed to MMI.
2217
2218 currclock.hour = mmr_info_ind->time.hour;
2219 currclock.minute = mmr_info_ind->time.minute;
2220 currclock.second = mmr_info_ind->time.second;
2221
2222 // Copy date related data received from network to 'currclock'
2223 // to be passed to MMI.
2224 currclock.day = mmr_info_ind->time.day;
2225 currclock.month = mmr_info_ind->time.month;
2226 currclock.year = mmr_info_ind->time.year;
2227
2228 // Pass time and date info to MMI
2229 nm_set_network_time(&currclock);
2230 #endif
2231 }
2232 #endif
2233
2234 /*
2235 +--------------------------------------------------------------------+
2236 | PROJECT : GSM-PS (6147) MODULE : |
2237 | STATE : code ROUTINE : |
2238 +--------------------------------------------------------------------+
2239
2240 PURPOSE : dummy function, needs not to be used.
2241 */
2242 GLOBAL void rAT_Z ( void ){}
2243
2244 /*
2245 +--------------------------------------------------------------------+
2246 | PROJECT : MODULE : MFW_ACI_DUMMY |
2247 | STATE : code ROUTINE : rAT_* |
2248 +--------------------------------------------------------------------+
2249
2250 PURPOSE : Following functions MOved from ACI. (ati_em_ret.c)
2251 */
2252
2253 // June 01, 2005 REF: CRR 31559 x0021334
2254 // Description: TCS2.1.1 SW not buildable without engineering mode
2255 // Solution: Engineering Mode specific functions are guarded by 'FF_EM_MODE' flag
2256
2257 #ifndef NEPTUNE_BOARD
2258 #ifdef FF_EM_MODE
2259 GLOBAL void rAT_PercentEM ( /*UBYTE srcId,*/ T_EM_VAL *val_tmp )
2260 {
2261 }
2262
2263 GLOBAL void rAT_PercentEMET ( /*UBYTE srcId,*/ T_EM_VAL val_tmp )
2264 {
2265
2266 }
2267
2268 GLOBAL void rAT_PercentEMETS ( UBYTE entity )
2269 {
2270 }
2271 #endif
2272 #else
2273 #ifdef TI_PS_FF_EM
2274 GLOBAL void rAT_PercentEM ( /*UBYTE srcId,*/ T_EM_VAL *val_tmp )
2275 {
2276 }
2277
2278 GLOBAL void rAT_PercentEMET ( /*UBYTE srcId,*/ T_EM_VAL val_tmp )
2279 {
2280
2281 }
2282
2283 GLOBAL void rAT_PercentEMETS ( UBYTE entity )
2284 {
2285 }
2286 #endif
2287 #endif /*FF_EM_MODE*/
2288
2289 /*
2290 +--------------------------------------------------------------------+
2291 | PROJECT : MODULE : MFW_ACI_DUMMY |
2292 | STATE : code ROUTINE : rAT_* |
2293 +--------------------------------------------------------------------+
2294
2295 PURPOSE : Following functions MOved from ACI. (ati_cphs.c)
2296 */
2297
2298
2299
2300 #ifndef MFW
2301 #ifndef FF_MMI_RIV
2302 /* dummy in case of SMI */
2303 GLOBAL void rAT_PercentCPNUMS(UBYTE element_index,
2304 UBYTE index_level,
2305 CHAR *alpha_tag,
2306 CHAR *number,
2307 BOOL premium_flag,
2308 BOOL network_flag,
2309 UBYTE type_of_address)
2310 {
2311 }
2312 #endif /*ndef FF_MMI_RIV */
2313 #endif /* ndef MFW */
2314
2315 #ifndef MFW
2316 #ifndef FF_MMI_RIV
2317 /* dummy in case of SMI */
2318 GLOBAL void rAT_PercentCPROAM(UBYTE roam_status)
2319 {}
2320 #endif /* ndef FF_MMI_RIV */
2321 #endif /* ndef MFW */
2322
2323 #ifndef MFW
2324 #ifndef FF_MMI_RIV
2325 /* dummy in case of SMI */
2326 GLOBAL void rAT_PercentCPVWI ( UBYTE flag_set,
2327 USHORT line)
2328 { }
2329 #endif /* FF_MMI_RIV */
2330 #endif /* MFW */
2331 #endif /*FF_2TO1_PS*/
2332
2333 /*
2334 +--------------------------------------------------------------------+
2335 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2336 | STATE : code ROUTINE : rAT_PercentMBI |
2337 +--------------------------------------------------------------------+
2338
2339 PURPOSE : handles callback for %MBI, which queries the mailbox identifiers
2340 */
2341 #ifdef FF_CPHS_REL4
2342 GLOBAL void rAT_PercentMBI(T_ACI_MBI* mbi)
2343 {
2344 T_MFW_CPHS_REL4_MBI mfw_mbi;
2345 mfw_mbi.voice=mbi->mbdn_id_voice;
2346 mfw_mbi.fax=mbi->mbdn_id_fax;
2347 mfw_mbi.electronic=mbi->mbdn_id_email;
2348 mfw_mbi.other=mbi->mbdn_id_other;
2349 mfw_mbi.valid=1; /*1 means valid*/
2350
2351 /*need to send MBI signal to BMI*/
2352 sendCPHSSignal(E_CPHS_REL4_GET_MBI, &mfw_mbi);
2353 }
2354
2355 /*
2356 +--------------------------------------------------------------------+
2357 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2358 | STATE : code ROUTINE : rAT_PercentMBI |
2359 +--------------------------------------------------------------------+
2360
2361 PURPOSE : handles callback for %MBI, which queries the mailbox identifiers
2362 */
2363
2364 GLOBAL void rAT_PercentMBDN(T_ACI_MBDN* mbdn)
2365 {
2366
2367 /*send MBDN signal to BMI*/
2368 sendCPHSSignal(E_CPHS_REL4_GET_MBDN,mbdn);
2369 }
2370
2371
2372 extern T_MFW_CPHS_REL4_MWIS mwis_stat[4];
2373 /*
2374 +--------------------------------------------------------------------+
2375 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2376 | STATE : code ROUTINE : rAT_PercentMWIS|
2377 +--------------------------------------------------------------------+
2378
2379 PURPOSE : handles callback for %MWIS, which queries the message waiting status*/
2380
2381 GLOBAL void rAT_PercentMWIS(T_ACI_MWIS_MWI* mwis)
2382 {
2383 /*send MBDN signal to BMI*/
2384 int profile;
2385 static UBYTE count = 1;
2386
2387 // memcpy(mwis_stat[count - 1],mwis,sizeof(T_MFW_CPHS_REL4_MWIS));
2388 mwis_stat[count-1].mwisStat = mwis->mwiStat;
2389 mwis_stat[count-1].voicemail = mwis->mwis_count_voice;
2390 mwis_stat[count-1].fax = mwis->mwis_count_fax;
2391 mwis_stat[count-1].electronic = mwis->mwis_count_email;
2392 mwis_stat[count-1].other = mwis->mwis_count_other;
2393
2394
2395 if(count == mfw_cphs_get_no_profile())
2396 sendCPHSSignal(E_CPHS_GET_VC_STAT,0);
2397 else
2398 count++;
2399 }
2400
2401 /*
2402 +--------------------------------------------------------------------+
2403 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2404 | STATE : code ROUTINE : rAT_PercentMWI|
2405 +--------------------------------------------------------------------+
2406
2407 PURPOSE : handles callback for %MWI. This function is called whenever message waiting status is received*/
2408 GLOBAL void rAT_PercentMWI(UBYTE msp_id,T_ACI_MWIS_MWI* mwis)
2409 {
2410 TRACE_FUNCTION("rAT_PercentMWI()");
2411 // memcpy(mwis_stat[msp_id - 1],mwis,sizeof(T_MFW_CPHS_REL4_MWIS));
2412 mwis_stat[msp_id - 1].mwisStat = mwis->mwiStat;
2413 mwis_stat[msp_id - 1].voicemail = mwis->mwis_count_voice;
2414 mwis_stat[msp_id - 1].fax = mwis->mwis_count_fax;
2415 mwis_stat[msp_id - 1].electronic = mwis->mwis_count_email;
2416 mwis_stat[msp_id - 1].other = mwis->mwis_count_other;
2417
2418 sendCPHSSignal(E_CPHS_GET_VC_STAT,0);
2419 }
2420
2421 #endif
2422
2423
2424
2425 /*
2426 +--------------------------------------------------------------------+
2427 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2428 | STATE : code ROUTINE : rAT_PlusCLVL |
2429 +--------------------------------------------------------------------+
2430
2431 PURPOSE : handles callback for +CLVL querying the volume
2432 */
2433
2434 GLOBAL void rAT_PlusCLVL(U8 drvVol)
2435 {
2436 TRACE_FUNCTION ("rAT_PlusCLVL()");
2437
2438 return;
2439 }
2440
2441 /*
2442 +--------------------------------------------------------------------+
2443 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2444 | STATE : code ROUTINE : rAT_PlusCRSL |
2445 +--------------------------------------------------------------------+
2446
2447 PURPOSE : handles callback for +CRSL querying the volume
2448 */
2449
2450 GLOBAL void rAT_PlusCRSL(U8 drvVol)
2451 {
2452 TRACE_FUNCTION ("rAT_PlusCRSL()");
2453
2454 return;
2455 }
2456
2457 /*
2458 +--------------------------------------------------------------------+
2459 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2460 | STATE : code ROUTINE : rAT_PlusCMUT |
2461 +--------------------------------------------------------------------+
2462
2463 PURPOSE : handles callback for +CMUT querying the volume
2464 */
2465
2466 GLOBAL void rAT_PlusCMUT(U8 drvMute)
2467 {
2468 TRACE_FUNCTION ("rAT_PlusCMUT()");
2469
2470 return;
2471 }
2472
2473 /* Mar 14, 2006 REF:ER OMAPS00070811 */
2474 #ifdef NEPTUNE_BOARD
2475 /*
2476 +--------------------------------------------------------------------+
2477 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2478 | STATE : code ROUTINE : rAT_PercentCMGR |
2479 +--------------------------------------------------------------------+
2480
2481 */
2482 GLOBAL void rAT_PercentCMGR ( T_ACI_CMGL_SM* sm,
2483 T_ACI_CMGR_CBM* cbm )
2484 {
2485 TRACE_FUNCTION ("rAT_PercentCMGR()");
2486 }
2487
2488 /*
2489 +--------------------------------------------------------------------+
2490 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2491 | STATE : code ROUTINE : rAT_PercentCMGL |
2492 +--------------------------------------------------------------------+
2493
2494 PURPOSE :
2495 */
2496 GLOBAL void rAT_PercentCMGL ( T_ACI_CMGL_SM * smLst )
2497 {
2498 TRACE_FUNCTION ("rAT_PercentCMGL()");
2499 }
2500
2501 #endif
2502
2503 #if defined(TI_UMTS) && defined(TI_PS_3GPP_R5)
2504 /*
2505 +--------------------------------------------------------------------+
2506 | PROJECT : GSM-F&D (8411) MODULE : MFW_ACI_DUMMY |
2507 | STATE : code ROUTINE : rAT_PercentMMCI |
2508 +--------------------------------------------------------------------+
2509
2510 PURPOSE : handles callback for %MMCC indication cc service change
2511 fallback case ( SCUDIF)
2512 */
2513
2514 GLOBAL void rAT_PercentMMCI ( T_ACI_MMCI_STAT state)
2515 {
2516 TRACE_FUNCTION("rAT_PercentMMCI()");
2517
2518 return;
2519 }
2520
2521 #endif /* TI_UMTS && TI_PS_3GPP_R5 */
2522
2523
2524 #ifdef TI_PS_FF_EM
2525
2526 GLOBAL void rAT_PercentEINFO (U16 offset, U16 length, T_ENG_INFO_REQ *eng_info_req)
2527 {
2528 TRACE_FUNCTION("rAT_PercentEINFO()");
2529 Mfw_em_response_EINFO(eng_info_req);
2530 }
2531
2532 GLOBAL void rAT_PercentESINFO (U16 offset, U16 length, T_ENG_INFO_STATIC_REQ *eng_info_static_req)
2533 {
2534 TRACE_FUNCTION("rAT_PercentESINFO()");
2535 Mfw_em_response_ESINFO(eng_info_static_req);
2536 }
2537
2538 #endif /* TI_PS_FF_EM */
2539
2540 /*a0393213 cphs rel4*/
2541
2542 /*
2543 +--------------------------------------------------------------------+
2544 | PROJECT : GSM-F&D (8411) MODULE : ACI_RET |
2545 | STATE : code ROUTINE : rAT_PercentCFIS |
2546 +--------------------------------------------------------------------+
2547
2548 PURPOSE : handles rAT_PercentCFIS call back
2549 PARAMETERS : cfis - Call forward indication status
2550 */
2551 #ifdef FF_CPHS_REL4
2552 GLOBAL void rAT_PercentCFIS ( T_ACI_CFIS_CFU *cfis )
2553 {
2554 T_MFW_CPHS_REL4_DV_STAT divert_status;
2555 TRACE_FUNCTION("rAT_PercentCFIS()");
2556
2557 if(cfis->cfuStat & 0x01) /*first bit corresponds to voice*/
2558 divert_status.voice=MFW_CFLAG_SET;
2559 else
2560 divert_status.voice=MFW_CFLAG_NOTSet;
2561
2562 if(cfis->cfuStat & 0x02) /*second bit corresponds to fax*/
2563 divert_status.fax=MFW_CFLAG_SET;
2564 else
2565 divert_status.fax=MFW_CFLAG_NOTSet;
2566
2567 if(cfis->cfuStat & 0x04) /*third bit corresponds to data*/
2568 divert_status.data=MFW_CFLAG_SET;
2569 else
2570 divert_status.data=MFW_CFLAG_NOTSet;
2571
2572 memcpy(divert_status.voice_dialling_number,cfis->number,PHB_MAX_LEN);
2573
2574 TRACE_EVENT_P4("voice %x, fax %x, data %x, number %s",
2575 divert_status.voice,divert_status.fax,divert_status.data,
2576 divert_status.voice_dialling_number);
2577
2578 sendCPHSSignal(E_CPHS_GET_DV_STAT,&divert_status);
2579 }
2580 #endif /* FF_CPHS_REL4 */
2581
2582
2583 //May 10, 2006 REF: DRT OMAPS00075829 xdeepadh
2584 //Using the mechanism where MFW can receive primitives without
2585 // ACI to know about it
2586 #if defined(FF_MMI_FILEMANAGER)||defined(FF_MMI_CAMERA_APP)
2587 /*
2588 +------------------------------------------------------------------------------
2589 | Function : mslPrimHandler
2590 +------------------------------------------------------------------------------
2591 | Description : This fn is the premitieve handler for MSL
2592 |
2593 | Parameters : opc-opc code
2594 | data - data
2595 |
2596 |
2597 | Return : TRUE/FALSE
2598 +------------------------------------------------------------------------------
2599 */
2600 GLOBAL BOOL mslPrimHandler (USHORT opc, void * data)
2601 {
2602 TRACE_FUNCTION ("mslPrimHandler");
2603 TRACE_EVENT_P1("opc is %x",opc);
2604
2605 if (opc EQ MSL_MMI_IND)
2606 {
2607 Mslil_msl_mmi_ind((T_MSL_MMI_IND*)data);
2608 return TRUE;
2609 }
2610
2611 return FALSE;
2612
2613 }
2614
2615 /*
2616 +------------------------------------------------------------------------------
2617 | Function : Mslil_msl_mmi_ind
2618 +------------------------------------------------------------------------------
2619 | Description : This fn is called when msl_mmi_ind is received
2620 |
2621 | Parameters : msl_mmi_ind - MSL_MMI_IND primitive structure
2622 |
2623 | Return : void
2624 +------------------------------------------------------------------------------
2625 */
2626
2627 GLOBAL void Mslil_msl_mmi_ind ( T_MSL_MMI_IND *msl_mmi_ind)
2628 {
2629
2630 U32 ucp=msl_mmi_ind->ucp;
2631 /*a0393213 compiler warnings removal - removed variable status*/
2632
2633 TRACE_FUNCTION ("Mslil_msl_mmi_ind");
2634
2635 switch(ucp)
2636 {
2637 #ifdef FF_MMI_CAMERA_APP
2638 case MSL_UCP_IMGCAP:/*MSL_UCP_IMGCAP*/
2639 mfw_msl_cam_cb(msl_mmi_ind->message, msl_mmi_ind->appData);
2640 break;
2641 #endif
2642 #ifdef FF_MMI_FILEMANAGER
2643 case MSL_UCP_IMGTHMB:/*MSL_UCP_IMGTHMB*/
2644 //Call the mmi cb for imagethumbnail.
2645 mfw_fm_thmb_mslcb(msl_mmi_ind->message, msl_mmi_ind->appData);
2646 break;
2647 case MSL_UCP_IMGVIEW:/*MSL_UCP_IMGPREVIEW*/
2648 //Call the mmi cb for magepreview.
2649 mfw_fm_view_mslcb(msl_mmi_ind->message, msl_mmi_ind->appData);
2650 break;
2651 #endif
2652 }
2653
2654 PFREE(msl_mmi_ind);
2655 }
2656
2657 /*
2658 +------------------------------------------------------------------------------
2659 | Function : Msl_mslil_Callback
2660 +------------------------------------------------------------------------------
2661 | Description : This function should be called by other MSL functions when a callback is to be called
2662 |
2663 | Parameters : handle - MSL handle
2664 | ucp_type - Use case pipeline type
2665 | appData - application specific data
2666 | message - status message
2667 |
2668 | Return : void
2669 |
2670 +------------------------------------------------------------------------------
2671 */
2672
2673 void Msl_mslil_Callback(void* handle, U32 ucp_type, U32 tCMd, U32 tStatus)
2674 {
2675 #if defined (NEW_FRAME)
2676 EXTERN T_HANDLE hCommACI;
2677 #else
2678 EXTERN T_VSI_CHANDLE hCommACI;
2679 #endif
2680
2681 PALLOC(msl_mmi_ind,MSL_MMI_IND);
2682 TRACE_FUNCTION ("Msl_mslil_Callback");
2683 msl_mmi_ind->ucp = ucp_type;
2684 msl_mmi_ind->handle = (U32)handle;
2685 msl_mmi_ind->message = tCMd;
2686 msl_mmi_ind->appData = (U32)tStatus;
2687
2688 #if defined (NEW_FRAME)
2689 PSENDX(ACI,msl_mmi_ind);
2690 #else
2691 #if defined (_TMS470)
2692 vsi_c_send("",hCommACI,D2P(msl_mmi_ind),
2693 sizeof(T_PRIM_HEADER)+sizeof(T_MSL_MMI_IND));
2694 #else
2695 PSEND(ACI,msl_mmi_ind);
2696 #endif
2697 #endif
2698
2699 return;
2700 }
2701
2702 #endif //#if defined(FF_MMI_FILEMANAGER)||defined(FF_MMI_CAMERA_APP)
2703 /* EOF */
2704