comparison src/ui/mfw/mfw_cb.c @ 3:67bfe9f274f6

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