blob: b9af19869bd204d4d511f8949edc85cb3b9c42c5 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
2* Copyright Statement:
3* --------------------
4* This software is protected by Copyright and the information contained
5* herein is confidential. The software may not be copied and the information
6* contained herein may not be used or disclosed except with the written
7* permission of MediaTek Inc. (C) 2016
8*
9* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
10* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS (""MEDIATEK SOFTWARE"")
11* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
12* AN ""AS-IS"" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
13* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
14* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
15* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
16* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
17* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
18* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
19* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
20* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
21*
22* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
23* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
24* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
25* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
26* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
27*
28* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
29* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
30* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
31* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
32* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
33*
34*****************************************************************************/
35/*************************************************************
36*
37* This Software is the property of VIA Telecom, Inc. and may only be used pursuant to a license from VIA Telecom, Inc.
38*
39* Any unauthorized use inconsistent with the terms of such license is strictly prohibited.
40*
41* Copyright (c) 2005-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44/*****************************************************************************
45
46 FILE NAME: valapi.h
47
48 DESCRIPTION:
49
50 This file contains all constants and typedefs needed to interface
51 with the VAL unit via the Exe mail service routines.
52
53
54*****************************************************************************/
55#ifndef VALAPI_H
56#define VALAPI_H
57
58#include "sysdefs.h"
59#include "pswnam.h"
60#include "hlpapi.h"
61#include "valatdata.h"
62#include "cpbuf.h"
63#include "pswapi.h"
64#include "pswvalapi.h"
65
66
67#ifdef MTK_PLT_ON_PC
68#include "valatcdefs.h"
69#include "valattune.h"
70#include "sbp_public_utility.h"
71#endif /* MTK_PLT_ON_PC */
72
73
74#include "module_msg_range.h"
75#include "val_nvram.h"
76#include "l4_msgid.h"
77#include "ps_public_l4_msgid.h"
78#include "ps_public_struct.h"
79
80
81#ifndef VAL_MAX_SIZE_DATA
82#define VAL_MAX_SIZE_DATA 64
83#define VAL_MAX_MON_SPY_LEN 64
84
85#define VAL_MAX_CFG_STR_SIZE 249 /* MAX_CFG_LEN in Ai_data.h */
86#define VAL_MAX_BRSWR_DGT_SIZE (32 +1)
87 /* NULL-terminated. */
88#define VAL_MAX_FDL_STR_SIZE 95 /* Sect 4.4.3 IS-707-A.3 */
89#define VAL_MAX_GCAP_STR_SIZE 64 /* Ai_cmd is using 65535 bytes!! */
90#define VAL_MAX_FLI_STR_SIZE 21 /* MAX_FLI_LEN in Ai_data.h */
91#define VAL_MAX_FPA_STR_SIZE 21 /* MAX_FPA_LEN in Ai_data.h */
92#define VAL_MAX_FPI_STR_SIZE 21 /* MAX_FPI_LEN in Ai_data.h */
93#define VAL_MAX_FPW_STR_SIZE 21 /* MAX_FPW_LEN in Ai_data.h */
94#define VAL_MAX_FSA_STR_SIZE 21 /* MAX_FSA_LEN in Ai_data.h */
95#define VAL_MAX_GMI_STR_SIZE 64 /* Sect 4.1.1 IS-131 says 2048 */
96#define VAL_MAX_GMM_STR_SIZE 64 /* Sect 4.1.2 IS-131 says 2048 */
97#define VAL_MAX_GMR_STR_SIZE 64 /* Sect 4.1.3 IS-131 says 2048 */
98#define VAL_MAX_GOI_STR_SIZE 64 /* Sect 4.1.4 IS-131 says 2048 */
99#define VAL_MAX_GSN_STR_SIZE 64 /* Sect 4.1.5 IS-131 says 2048 */
100#ifdef SYS_OPTION_ATCMD_CH_3
101#define VAL_MAX_NUMBER_OF_TIMERS 40 /* 27 timers for all AT channels (4*6+3)*/
102#else
103#define VAL_MAX_NUMBER_OF_TIMERS 20
104#endif
105#define VAL_MAX_USRID_LEN HLP_MAX_USRID_LEN
106#define VAL_MAX_PSWD_LEN HLP_MAX_PSWD_LEN
107#define VAL_MAX_FIF_LEN 90
108#define VAL_MAX_NUM_LINE_IN_RSP ATC_MAX_NUM_LINE_IN_RSP
109#define VAL_MAX_ATPARMS 8
110#define VAL_MAX_COMMAND_BODY_LEN 16
111#ifdef SYS_OPTION_ENHANCEDAT
112#define VAL_ENHANCED_AT_CMD_LEN ATC_ENHANCED_AT_CMD_LEN
113#endif
114#endif
115
116#ifdef MTK_CBP
117#define CT_MCC 460
118#define MCC_WILDCARD_AI 0x3FF /* 10bit all '1's */
119#define MNC_WILDCARD_AI 0x7F /* 7bit all '1's */
120#define GPS_MAX_SECURITY_DATA 16
121extern kal_uint8 FakePowerOnInProgess;
122#endif
123
124#define VAL_MAX_AT_CMD_DATA_LEN 2000 /*For EXCGLA*/
125#define VAL_WILD_CHAR '?'
126
127/*------------------------------------------------------------------------
128 * Define constants used in VAL API
129 *------------------------------------------------------------------------*/
130
131/* undefined troublesome consts */
132#undef KAL_TRUE
133#undef KAL_FALSE
134
135typedef enum
136{
137 VAL_MEM_POOL_SYS,
138 VAL_MEM_POOL_NOHALT
139}ValMemPoolTypeT;
140
141#define NUM_UI_LOCK_CODE_DIGITS 7
142//#undef FEATURE_UTK
143
144
145/* other signals are defined in valdefs.h, and start from _11 up */
146
147/* VAL command mailbox id */
148#define VAL_MAILBOX EXE_MAILBOX_1_ID
149#define VAL_MAILBOX_WAIT_ID EXE_MAILBOX_1
150
151#define VAL_HAL_MAILBOX EXE_MAILBOX_2_ID
152#define VAL_HAL_MAILBOX_WAIT_ID EXE_MAILBOX_2
153
154#define VAL_STORAGE_MAILBOX EXE_MAILBOX_3_ID
155#define VAL_STORAGE_MAILBOX_WAIT_ID EXE_MAILBOX_3
156
157#define VAL_ATC_MAILBOX EXE_MAILBOX_4_ID
158#define VAL_ATC_MAILBOX_WAIT_ID EXE_MAILBOX_4
159
160#define VAL_CUST_MAILBOX EXE_MAILBOX_5_ID
161#define VAL_CUST_MAILBOX_WAIT_ID EXE_MAILBOX_5
162
163
164/* macros */
165#define VAL_MAKE_RECID(Index,DevType) ((Index) | (DevType))
166#define VAL_GET_INDEX_FROM_RECID(PhyAddress) ((PhyAddress) & (0x0FFF))
167#define VAL_GET_DEVTYPE_FROM_RECID(PhyAddress) ((PhyAddress) & (0xF000))
168
169#define VAL_MISC_MAX_REG_TASK (5)
170
171/* timer for L1d/RMC RSSI reports */
172#define VAL_RSSI_REPORT_TIMER (HWD_CLK_FREQ_32KHZ/10) /* 100 ms */
173
174/*-----------------------------------------------------------------
175 * uistate.cpp interface
176 *----------------------------------------------------------------*/
177#define POWER_DOWN_WAIT 1000 /* msec */
178
179
180/*------------------------------------------------------------------------
181 * VAL message data structures (grouped like and in the same order of messages)
182 *------------------------------------------------------------------------*/
183/*------------------------------------------------------------------------
184 * VAL message ids, grouped by originator
185 *
186 * When adding/removing/modifying VAL messages:
187 * - add (or remove) associated data structure; put new structures in the
188 * same section as the message id, and in the same relative order within
189 * its section
190 * - update the VAL section in msg_id.txt for ETS if the message should be
191 * usable from ETS (VAL-subsections on ETS are the same as the ones in
192 * VALapi.h). Try to keep the msg name and ETS command as similar as
193 * possible.
194 * - always update the enum VAL MsgIds in val\val_msg.txt on ETS; the enum is used
195 * to display incoming VAL messages, and should always be kept in synch
196 * with ValMsgIdT.
197 * - update val_msg.txt with the data structure associated with the new
198 * message (optiona; do it only if ETS is supposed to send this message)
199 *
200 *------------------------------------------------------------------------*/
201
202#if 0
203/* under construction !*/
204/* under construction !*/
205/* under construction !*/
206/* under construction !*/
207/* under construction !*/
208/* under construction !*/
209/* under construction !*/
210/* under construction !*/
211/* under construction !*/
212/* under construction !*/
213/* under construction !*/
214/* under construction !*/
215/* under construction !*/
216/* under construction !*/
217/* under construction !*/
218/* under construction !*/
219/* under construction !*/
220/* under construction !*/
221/* under construction !*/
222/* under construction !*/
223/* under construction !*/
224/* under construction !*/
225/* under construction !*/
226/* under construction !*/
227/* under construction !*/
228/* under construction !*/
229/* under construction !*/
230/* under construction !*/
231/* under construction !*/
232/* under construction !*/
233/* under construction !*/
234/* under construction !*/
235/* under construction !*/
236/* under construction !*/
237/* under construction !*/
238/* under construction !*/
239/* under construction !*/
240/* under construction !*/
241/* under construction !*/
242/* under construction !*/
243/* under construction !*/
244/* under construction !*/
245/* under construction !*/
246/* under construction !*/
247/* under construction !*/
248/* under construction !*/
249/* under construction !*/
250/* under construction !*/
251/* under construction !*/
252/* under construction !*/
253/* under construction !*/
254/* under construction !*/
255/* under construction !*/
256/* under construction !*/
257/* under construction !*/
258/* under construction !*/
259/* under construction !*/
260/* under construction !*/
261/* under construction !*/
262/* under construction !*/
263/* under construction !*/
264/* under construction !*/
265/* under construction !*/
266/* under construction !*/
267/* under construction !*/
268/* under construction !*/
269/* under construction !*/
270/* under construction !*/
271/* under construction !*/
272/* under construction !*/
273/* under construction !*/
274/* under construction !*/
275/* under construction !*/
276/* under construction !*/
277/* under construction !*/
278/* under construction !*/
279/* under construction !*/
280/* under construction !*/
281/* under construction !*/
282/* under construction !*/
283/* under construction !*/
284/* under construction !*/
285/* under construction !*/
286/* under construction !*/
287/* under construction !*/
288/* under construction !*/
289/* under construction !*/
290/* under construction !*/
291/* under construction !*/
292/* under construction !*/
293/* under construction !*/
294/* under construction !*/
295/* under construction !*/
296/* under construction !*/
297/* under construction !*/
298/* under construction !*/
299/* under construction !*/
300/* under construction !*/
301/* under construction !*/
302/* under construction !*/
303/* under construction !*/
304/* under construction !*/
305/* under construction !*/
306/* under construction !*/
307/* under construction !*/
308/* under construction !*/
309/* under construction !*/
310/* under construction !*/
311/* under construction !*/
312/* under construction !*/
313/* under construction !*/
314/* under construction !*/
315/* under construction !*/
316/* under construction !*/
317/* under construction !*/
318/* under construction !*/
319/* under construction !*/
320/* under construction !*/
321/* under construction !*/
322/* under construction !*/
323/* under construction !*/
324/* under construction !*/
325/* under construction !*/
326/* under construction !*/
327/* under construction !*/
328/* under construction !*/
329/* under construction !*/
330/* under construction !*/
331/* under construction !*/
332/* under construction !*/
333/* under construction !*/
334/* under construction !*/
335/* under construction !*/
336/* under construction !*/
337/* under construction !*/
338/* under construction !*/
339/* under construction !*/
340/* under construction !*/
341/* under construction !*/
342/* under construction !*/
343/* under construction !*/
344/* under construction !*/
345/* under construction !*/
346/* under construction !*/
347/* under construction !*/
348/* under construction !*/
349/* under construction !*/
350/* under construction !*/
351/* under construction !*/
352/* under construction !*/
353/* under construction !*/
354/* under construction !*/
355/* under construction !*/
356/* under construction !*/
357/* under construction !*/
358/* under construction !*/
359/* under construction !*/
360/* under construction !*/
361/* under construction !*/
362/* under construction !*/
363/* under construction !*/
364/* under construction !*/
365/* under construction !*/
366/* under construction !*/
367/* under construction !*/
368/* under construction !*/
369/* under construction !*/
370/* under construction !*/
371/* under construction !*/
372/* under construction !*/
373/* under construction !*/
374/* under construction !*/
375/* under construction !*/
376/* under construction !*/
377/* under construction !*/
378/* under construction !*/
379/* under construction !*/
380/* under construction !*/
381/* under construction !*/
382/* under construction !*/
383/* under construction !*/
384/* under construction !*/
385/* under construction !*/
386/* under construction !*/
387/* under construction !*/
388/* under construction !*/
389/* under construction !*/
390/* under construction !*/
391/* under construction !*/
392/* under construction !*/
393/* under construction !*/
394/* under construction !*/
395/* under construction !*/
396/* under construction !*/
397/* under construction !*/
398/* under construction !*/
399/* under construction !*/
400/* under construction !*/
401/* under construction !*/
402/* under construction !*/
403/* under construction !*/
404/* under construction !*/
405/* under construction !*/
406/* under construction !*/
407/* under construction !*/
408/* under construction !*/
409/* under construction !*/
410/* under construction !*/
411/* under construction !*/
412/* under construction !*/
413/* under construction !*/
414/* under construction !*/
415/* under construction !*/
416/* under construction !*/
417/* under construction !*/
418/* under construction !*/
419/* under construction !*/
420/* under construction !*/
421/* under construction !*/
422/* under construction !*/
423/* under construction !*/
424/* under construction !*/
425/* under construction !*/
426/* under construction !*/
427/* under construction !*/
428/* under construction !*/
429/* under construction !*/
430/* under construction !*/
431/* under construction !*/
432/* under construction !*/
433/* under construction !*/
434/* under construction !*/
435/* under construction !*/
436/* under construction !*/
437/* under construction !*/
438/* under construction !*/
439/* under construction !*/
440/* under construction !*/
441/* under construction !*/
442/* under construction !*/
443/* under construction !*/
444/* under construction !*/
445/* under construction !*/
446/* under construction !*/
447/* under construction !*/
448/* under construction !*/
449/* under construction !*/
450/* under construction !*/
451/* under construction !*/
452/* under construction !*/
453/* under construction !*/
454/* under construction !*/
455/* under construction !*/
456/* under construction !*/
457/* under construction !*/
458/* under construction !*/
459/* under construction !*/
460/* under construction !*/
461/* under construction !*/
462/* under construction !*/
463/* under construction !*/
464/* under construction !*/
465/* under construction !*/
466/* under construction !*/
467/* under construction !*/
468/* under construction !*/
469/* under construction !*/
470/* under construction !*/
471/* under construction !*/
472/* under construction !*/
473/* under construction !*/
474/* under construction !*/
475/* under construction !*/
476/* under construction !*/
477/* under construction !*/
478/* under construction !*/
479/* under construction !*/
480/* under construction !*/
481/* under construction !*/
482/* under construction !*/
483/* under construction !*/
484/* under construction !*/
485/* under construction !*/
486/* under construction !*/
487#if 0
488/* under construction !*/
489/* under construction !*/
490/* under construction !*/
491/* under construction !*/
492/* under construction !*/
493/* under construction !*/
494/* under construction !*/
495/* under construction !*/
496/* under construction !*/
497#if defined(MTK_CBP) && (!defined(MTK_PLT_ON_PC))
498/* under construction !*/
499/* under construction !*/
500/* under construction !*/
501/* under construction !*/
502#endif
503/* under construction !*/
504/* under construction !*/
505/* under construction !*/
506/* under construction !*/
507/* under construction !*/
508/* under construction !*/
509/* under construction !*/
510/* under construction !*/
511/* under construction !*/
512/* under construction !*/
513/* under construction !*/
514/* under construction !*/
515/* under construction !*/
516/* under construction !*/
517/* under construction !*/
518/* under construction !*/
519/* under construction !*/
520/* under construction !*/
521/* under construction !*/
522/* under construction !*/
523/* under construction !*/
524/* under construction !*/
525/* under construction !*/
526/* under construction !*/
527/* under construction !*/
528/* under construction !*/
529/* under construction !*/
530/* under construction !*/
531/* under construction !*/
532/* under construction !*/
533/* under construction !*/
534/* under construction !*/
535/* under construction !*/
536/* under construction !*/
537/* under construction !*/
538/* under construction !*/
539/* under construction !*/
540/* under construction !*/
541/* under construction !*/
542/* under construction !*/
543/* under construction !*/
544/* under construction !*/
545/* under construction !*/
546/* under construction !*/
547/* under construction !*/
548/* under construction !*/
549/* under construction !*/
550/* under construction !*/
551/* under construction !*/
552/* under construction !*/
553/* under construction !*/
554/* under construction !*/
555/* under construction !*/
556/* under construction !*/
557/* under construction !*/
558/* under construction !*/
559/* under construction !*/
560/* under construction !*/
561/* under construction !*/
562/* under construction !*/
563/* under construction !*/
564/* under construction !*/
565/* under construction !*/
566/* under construction !*/
567/* under construction !*/
568/* under construction !*/
569/* under construction !*/
570/* under construction !*/
571/* under construction !*/
572/* under construction !*/
573/* under construction !*/
574/* under construction !*/
575/* under construction !*/
576/* under construction !*/
577/* under construction !*/
578/* under construction !*/
579/* under construction !*/
580/* under construction !*/
581/* under construction !*/
582/* under construction !*/
583/* under construction !*/
584/* under construction !*/
585/* under construction !*/
586/* under construction !*/
587/* under construction !*/
588/* under construction !*/
589/* under construction !*/
590/* under construction !*/
591/* under construction !*/
592/* under construction !*/
593/* under construction !*/
594/* under construction !*/
595/* under construction !*/
596/* under construction !*/
597/* under construction !*/
598/* under construction !*/
599/* under construction !*/
600/* under construction !*/
601/* under construction !*/
602/* under construction !*/
603/* under construction !*/
604/* under construction !*/
605/* under construction !*/
606/* under construction !*/
607/* under construction !*/
608/* under construction !*/
609/* under construction !*/
610/* under construction !*/
611/* under construction !*/
612/* under construction !*/
613/* under construction !*/
614/* under construction !*/
615/* under construction !*/
616/* under construction !*/
617/* under construction !*/
618/* under construction !*/
619#endif
620/* under construction !*/
621/* under construction !*/
622/* under construction !*/
623/* under construction !*/
624/* under construction !*/
625/* under construction !*/
626/* under construction !*/
627/* under construction !*/
628/* under construction !*/
629/* under construction !*/
630/* under construction !*/
631/* under construction !*/
632/* under construction !*/
633/* under construction !*/
634/* under construction !*/
635/* under construction !*/
636/* under construction !*/
637/* under construction !*/
638/* under construction !*/
639/* under construction !*/
640/* under construction !*/
641/* under construction !*/
642/* under construction !*/
643/* under construction !*/
644/* under construction !*/
645/* under construction !*/
646/* under construction !*/
647/* under construction !*/
648/* under construction !*/
649/* under construction !*/
650/* under construction !*/
651/* under construction !*/
652/* under construction !*/
653/* under construction !*/
654/* under construction !*/
655/* under construction !*/
656/* under construction !*/
657/* under construction !*/
658/* under construction !*/
659/* under construction !*/
660/* under construction !*/
661/* under construction !*/
662/* under construction !*/
663/* under construction !*/
664/* under construction !*/
665/* under construction !*/
666/* under construction !*/
667/* under construction !*/
668/* under construction !*/
669/* under construction !*/
670/* under construction !*/
671/* under construction !*/
672/* under construction !*/
673/* under construction !*/
674/* under construction !*/
675/* under construction !*/
676/* under construction !*/
677/* under construction !*/
678/* under construction !*/
679/* under construction !*/
680/* under construction !*/
681/* under construction !*/
682/* under construction !*/
683/* under construction !*/
684/* under construction !*/
685/* under construction !*/
686/* under construction !*/
687/* under construction !*/
688/* under construction !*/
689/* under construction !*/
690/* under construction !*/
691/* under construction !*/
692/* under construction !*/
693/* under construction !*/
694/* under construction !*/
695/* under construction !*/
696/* under construction !*/
697/* under construction !*/
698/* under construction !*/
699/* under construction !*/
700/* under construction !*/
701/* under construction !*/
702/* under construction !*/
703/* under construction !*/
704/* under construction !*/
705/* under construction !*/
706/* under construction !*/
707/* under construction !*/
708/* under construction !*/
709/* under construction !*/
710/* under construction !*/
711/* under construction !*/
712/* under construction !*/
713/* under construction !*/
714/* under construction !*/
715/* under construction !*/
716/* under construction !*/
717/* under construction !*/
718/* under construction !*/
719/* under construction !*/
720/* under construction !*/
721/* under construction !*/
722/* under construction !*/
723/* under construction !*/
724/* under construction !*/
725/* under construction !*/
726/* under construction !*/
727/* under construction !*/
728/* under construction !*/
729/* under construction !*/
730/* under construction !*/
731/* under construction !*/
732/* under construction !*/
733/* under construction !*/
734/* under construction !*/
735/* under construction !*/
736/* under construction !*/
737/* under construction !*/
738/* under construction !*/
739/* under construction !*/
740/* under construction !*/
741#ifdef MTK_CBP
742/* under construction !*/
743/* under construction !*/
744#endif
745/* under construction !*/
746/* under construction !*/
747/* under construction !*/
748/* under construction !*/
749/* under construction !*/
750/* under construction !*/
751/* under construction !*/
752/* under construction !*/
753/* under construction !*/
754/* under construction !*/
755/* under construction !*/
756/* under construction !*/
757/* under construction !*/
758/* under construction !*/
759#ifdef MTK_CBP
760/* under construction !*/
761/* under construction !*/
762#endif
763/* under construction !*/
764/* under construction !*/
765/* under construction !*/
766/* under construction !*/
767/* under construction !*/
768/* under construction !*/
769/* under construction !*/
770/* under construction !*/
771/* under construction !*/
772/* under construction !*/
773/* under construction !*/
774/* under construction !*/
775/* under construction !*/
776/* under construction !*/
777/* under construction !*/
778/* under construction !*/
779/* under construction !*/
780/* under construction !*/
781/* under construction !*/
782/* under construction !*/
783/* under construction !*/
784/* under construction !*/
785/* under construction !*/
786/* under construction !*/
787/* under construction !*/
788/* under construction !*/
789/* under construction !*/
790/* under construction !*/
791/* under construction !*/
792/* under construction !*/
793/* under construction !*/
794/* under construction !*/
795/* under construction !*/
796/* under construction !*/
797/* under construction !*/
798/* under construction !*/
799/* under construction !*/
800/* under construction !*/
801/* under construction !*/
802/* under construction !*/
803/* under construction !*/
804/* under construction !*/
805/* under construction !*/
806/* under construction !*/
807/* under construction !*/
808/* under construction !*/
809/* under construction !*/
810/* under construction !*/
811/* under construction !*/
812/* under construction !*/
813/* under construction !*/
814/* under construction !*/
815/* under construction !*/
816/* under construction !*/
817/* under construction !*/
818/* under construction !*/
819/* under construction !*/
820/* under construction !*/
821/* under construction !*/
822/* under construction !*/
823/* under construction !*/
824/* under construction !*/
825/* under construction !*/
826/* under construction !*/
827/* under construction !*/
828/* under construction !*/
829/* under construction !*/
830/* under construction !*/
831#if 0
832/* under construction !*/
833/* under construction !*/
834/* under construction !*/
835/* under construction !*/
836/* under construction !*/
837/* under construction !*/
838/* under construction !*/
839/* under construction !*/
840/* under construction !*/
841/* under construction !*/
842/* under construction !*/
843/* under construction !*/
844/* under construction !*/
845/* under construction !*/
846/* under construction !*/
847/* under construction !*/
848/* under construction !*/
849/* under construction !*/
850/* under construction !*/
851/* under construction !*/
852/* under construction !*/
853/* under construction !*/
854/* under construction !*/
855/* under construction !*/
856/* under construction !*/
857/* under construction !*/
858/* under construction !*/
859/* under construction !*/
860/* under construction !*/
861/* under construction !*/
862/* under construction !*/
863/* under construction !*/
864/* under construction !*/
865/* under construction !*/
866/* under construction !*/
867/* under construction !*/
868/* under construction !*/
869/* under construction !*/
870/* under construction !*/
871/* under construction !*/
872/* under construction !*/
873/* under construction !*/
874/* under construction !*/
875/* under construction !*/
876/* under construction !*/
877/* under construction !*/
878/* under construction !*/
879/* under construction !*/
880/* under construction !*/
881/* under construction !*/
882/* under construction !*/
883/* under construction !*/
884/* under construction !*/
885/* under construction !*/
886/* under construction !*/
887/* under construction !*/
888/* under construction !*/
889/* under construction !*/
890/* under construction !*/
891/* under construction !*/
892/* under construction !*/
893/* under construction !*/
894/* under construction !*/
895/* under construction !*/
896/* under construction !*/
897/* under construction !*/
898/* under construction !*/
899/* under construction !*/
900/* under construction !*/
901/* under construction !*/
902/* under construction !*/
903/* under construction !*/
904/* under construction !*/
905/* under construction !*/
906/* under construction !*/
907/* under construction !*/
908/* under construction !*/
909/* under construction !*/
910/* under construction !*/
911/* under construction !*/
912/* under construction !*/
913/* under construction !*/
914/* under construction !*/
915/* under construction !*/
916/* under construction !*/
917/* under construction !*/
918/* under construction !*/
919/* under construction !*/
920/* under construction !*/
921/* under construction !*/
922/* under construction !*/
923/* under construction !*/
924/* under construction !*/
925/* under construction !*/
926/* under construction !*/
927/* under construction !*/
928/* under construction !*/
929#endif
930/* under construction !*/
931/* under construction !*/
932/* under construction !*/
933/* under construction !*/
934/* under construction !*/
935/* under construction !*/
936/* under construction !*/
937/* under construction !*/
938/* under construction !*/
939/* under construction !*/
940/* under construction !*/
941/* under construction !*/
942/* under construction !*/
943/* under construction !*/
944/* under construction !*/
945/* under construction !*/
946/* under construction !*/
947/* under construction !*/
948/* under construction !*/
949/* under construction !*/
950/* under construction !*/
951/* under construction !*/
952/* under construction !*/
953/* under construction !*/
954/* under construction !*/
955/* under construction !*/
956/* under construction !*/
957/* under construction !*/
958/* under construction !*/
959/* under construction !*/
960/* under construction !*/
961/* under construction !*/
962/* under construction !*/
963/* under construction !*/
964/* under construction !*/
965/* under construction !*/
966/* under construction !*/
967/* under construction !*/
968/* under construction !*/
969/* under construction !*/
970/* under construction !*/
971/* under construction !*/
972/* under construction !*/
973/* under construction !*/
974/* under construction !*/
975/* under construction !*/
976/* under construction !*/
977/* under construction !*/
978/* under construction !*/
979/* under construction !*/
980/* under construction !*/
981/* under construction !*/
982/* under construction !*/
983/* under construction !*/
984/* under construction !*/
985/* under construction !*/
986/* under construction !*/
987/* under construction !*/
988/* under construction !*/
989/* under construction !*/
990/* under construction !*/
991/* under construction !*/
992/* under construction !*/
993/* under construction !*/
994/* under construction !*/
995/* under construction !*/
996/* under construction !*/
997/* under construction !*/
998/* under construction !*/
999/* under construction !*/
1000/* under construction !*/
1001/* under construction !*/
1002/* under construction !*/
1003/* under construction !*/
1004/* under construction !*/
1005/* under construction !*/
1006/* under construction !*/
1007/* under construction !*/
1008/* under construction !*/
1009/* under construction !*/
1010/* under construction !*/
1011/* under construction !*/
1012/* under construction !*/
1013/* under construction !*/
1014/* under construction !*/
1015/* under construction !*/
1016/* under construction !*/
1017/* under construction !*/
1018/* under construction !*/
1019/* under construction !*/
1020/* under construction !*/
1021/* under construction !*/
1022/* under construction !*/
1023/* under construction !*/
1024/* under construction !*/
1025/* under construction !*/
1026/* under construction !*/
1027/* under construction !*/
1028/* under construction !*/
1029/* under construction !*/
1030/* under construction !*/
1031/* under construction !*/
1032/* under construction !*/
1033/* under construction !*/
1034/* under construction !*/
1035/* under construction !*/
1036/* under construction !*/
1037/* under construction !*/
1038/* under construction !*/
1039/* under construction !*/
1040/* under construction !*/
1041/* under construction !*/
1042/* under construction !*/
1043/* under construction !*/
1044/* under construction !*/
1045/* under construction !*/
1046/* under construction !*/
1047/* under construction !*/
1048/* under construction !*/
1049/* under construction !*/
1050/* under construction !*/
1051/* under construction !*/
1052/* under construction !*/
1053/* under construction !*/
1054/* under construction !*/
1055#if 0
1056/* under construction !*/
1057/* under construction !*/
1058/* under construction !*/
1059/* under construction !*/
1060/* under construction !*/
1061/* under construction !*/
1062/* under construction !*/
1063/* under construction !*/
1064/* under construction !*/
1065/* under construction !*/
1066/* under construction !*/
1067/* under construction !*/
1068/* under construction !*/
1069/* under construction !*/
1070/* under construction !*/
1071/* under construction !*/
1072/* under construction !*/
1073/* under construction !*/
1074/* under construction !*/
1075/* under construction !*/
1076/* under construction !*/
1077/* under construction !*/
1078/* under construction !*/
1079/* under construction !*/
1080/* under construction !*/
1081/* under construction !*/
1082/* under construction !*/
1083/* under construction !*/
1084/* under construction !*/
1085/* under construction !*/
1086/* under construction !*/
1087/* under construction !*/
1088/* under construction !*/
1089/* under construction !*/
1090/* under construction !*/
1091/* under construction !*/
1092/* under construction !*/
1093/* under construction !*/
1094/* under construction !*/
1095/* under construction !*/
1096/* under construction !*/
1097/* under construction !*/
1098/* under construction !*/
1099/* under construction !*/
1100/* under construction !*/
1101/* under construction !*/
1102/* under construction !*/
1103/* under construction !*/
1104/* under construction !*/
1105/* under construction !*/
1106/* under construction !*/
1107/* under construction !*/
1108/* under construction !*/
1109/* under construction !*/
1110/* under construction !*/
1111/* under construction !*/
1112/* under construction !*/
1113/* under construction !*/
1114/* under construction !*/
1115/* under construction !*/
1116/* under construction !*/
1117/* under construction !*/
1118/* under construction !*/
1119/* under construction !*/
1120/* under construction !*/
1121/* under construction !*/
1122/* under construction !*/
1123/* under construction !*/
1124/* under construction !*/
1125/* under construction !*/
1126/* under construction !*/
1127/* under construction !*/
1128/* under construction !*/
1129/* under construction !*/
1130/* under construction !*/
1131/* under construction !*/
1132/* under construction !*/
1133/* under construction !*/
1134/* under construction !*/
1135/* under construction !*/
1136/* under construction !*/
1137/* under construction !*/
1138/* under construction !*/
1139/* under construction !*/
1140/* under construction !*/
1141/* under construction !*/
1142/* under construction !*/
1143/* under construction !*/
1144/* under construction !*/
1145/* under construction !*/
1146/* under construction !*/
1147/* under construction !*/
1148/* under construction !*/
1149/* under construction !*/
1150/* under construction !*/
1151/* under construction !*/
1152/* under construction !*/
1153/* under construction !*/
1154/* under construction !*/
1155/* under construction !*/
1156/* under construction !*/
1157/* under construction !*/
1158/* under construction !*/
1159/* under construction !*/
1160/* under construction !*/
1161/* under construction !*/
1162/* under construction !*/
1163/* under construction !*/
1164/* under construction !*/
1165/* under construction !*/
1166/* under construction !*/
1167/* under construction !*/
1168/* under construction !*/
1169/* under construction !*/
1170/* under construction !*/
1171/* under construction !*/
1172/* under construction !*/
1173/* under construction !*/
1174/* under construction !*/
1175/* under construction !*/
1176/* under construction !*/
1177/* under construction !*/
1178/* under construction !*/
1179/* under construction !*/
1180/* under construction !*/
1181/* under construction !*/
1182/* under construction !*/
1183/* under construction !*/
1184/* under construction !*/
1185/* under construction !*/
1186#endif
1187/* under construction !*/
1188/* under construction !*/
1189/* under construction !*/
1190/* under construction !*/
1191/* under construction !*/
1192/* under construction !*/
1193/* under construction !*/
1194/* under construction !*/
1195/* under construction !*/
1196/* under construction !*/
1197/* under construction !*/
1198/* under construction !*/
1199/* under construction !*/
1200/* under construction !*/
1201/* under construction !*/
1202/* under construction !*/
1203/* under construction !*/
1204/* under construction !*/
1205/* under construction !*/
1206/* under construction !*/
1207/* under construction !*/
1208/* under construction !*/
1209/* under construction !*/
1210/* under construction !*/
1211/* under construction !*/
1212/* under construction !*/
1213/* under construction !*/
1214/* under construction !*/
1215/* under construction !*/
1216/* under construction !*/
1217/* under construction !*/
1218/* under construction !*/
1219/* under construction !*/
1220/* under construction !*/
1221/* under construction !*/
1222/* under construction !*/
1223/* under construction !*/
1224#ifdef MTK_DEV_C2K_IRAT
1225/* under construction !*/
1226/* under construction !*/
1227/* under construction !*/
1228/* under construction !*/
1229#endif
1230/* under construction !*/
1231/* under construction !*/
1232#endif
1233#ifdef SYS_OPTION_MORE_AT_CHANNEL
1234#define VAL_ALL_ATC_SIGNALS(msgid) ((msgid == MSG_ID_VAL_REV_TX_REQ_AT_1_SIGNAL) | \
1235 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_1_SIGNAL) | \
1236 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_2_SIGNAL) | \
1237 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_2_SIGNAL) | \
1238 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_3_SIGNAL) | \
1239 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_3_SIGNAL) | \
1240 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_4_SIGNAL) | \
1241 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_4_SIGNAL) | \
1242 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_5_SIGNAL) | \
1243 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_5_SIGNAL) | \
1244 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_6_SIGNAL) | \
1245 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_6_SIGNAL) | \
1246 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_7_SIGNAL) | \
1247 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_7_SIGNAL) | \
1248 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_8_SIGNAL) | \
1249 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_8_SIGNAL))
1250#elif defined(SYS_OPTION_ATCMD_CH_3)
1251#ifdef SYS_OPTION_ATCMD_CH_4
1252#define VAL_ALL_ATC_SIGNALS(msgid) ((msgid == MSG_ID_VAL_REV_TX_REQ_AT_1_SIGNAL) | \
1253 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_1_SIGNAL) | \
1254 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_2_SIGNAL) | \
1255 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_2_SIGNAL) | \
1256 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_3_SIGNAL) | \
1257 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_3_SIGNAL) | \
1258 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_4_SIGNAL) | \
1259 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_4_SIGNAL))
1260#else
1261#define VAL_ALL_ATC_SIGNALS(msgid) ((msgid == MSG_ID_VAL_REV_TX_REQ_AT_1_SIGNAL) | \
1262 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_1_SIGNAL) | \
1263 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_2_SIGNAL) | \
1264 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_2_SIGNAL) | \
1265 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_3_SIGNAL) | \
1266 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_3_SIGNAL))
1267#endif
1268#else
1269#define VAL_ALL_ATC_SIGNALS(msgid) ((msgid == MSG_ID_VAL_REV_TX_REQ_AT_1_SIGNAL) | \
1270 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_1_SIGNAL) | \
1271 (msgid == MSG_ID_VAL_REV_TX_REQ_AT_2_SIGNAL) | \
1272 (msgid == MSG_ID_VAL_FWD_TX_RSP_AT_2_SIGNAL))
1273#endif /* SYS_OPTION_MORE_AT_CHANNEL*/
1274
1275
1276typedef struct {
1277 kal_bool C109On; /* status of C109, active high */
1278 kal_uint8 chan;
1279} AtcValC109IndMsgT;
1280
1281
1282typedef enum
1283{
1284 VAL_PSW_CKECK_Locking_Feature_OK = 0x00,
1285 VAL_PSW_CKECK_MIN_ERROR,
1286 VAL_PSW_CKECK_DefaultMIN_OK,
1287 VAL_PSW_CKECK_SID_ERROR,
1288 VAL_PSW_CKECK_MCC_ERROR,
1289 VAL_PSW_CKECK_FOR_RELIANCE_PrefNO_ERROR,
1290 VAL_PSW_CKECK_MIN_ERROR_OVER_MAX_RETRY_TIMES,
1291 VAL_PSW_CKECK_Locking_Feature_NUM
1292}PswCheckForMinLockStateT;
1293
1294/* Generic ETS Message
1295 */
1296typedef struct
1297{
1298 ExeRspMsgT RspInfo;
1299 kal_uint32 RegId;
1300} ValGenericMsgT;
1301
1302/*-----------------------------------------------------------------
1303 * HLPHandler
1304 *----------------------------------------------------------------*/
1305
1306typedef enum
1307{
1308 VAL_HLP_CONN_SUCCESS, /* success */
1309 VAL_HLP_CONN_FAIL, /* fail */
1310 VAL_HLP_CONN_DISCONNECT, /* disconnect */
1311 VAL_HLP_CONN_DORMANT, /* dormant */
1312 VAL_HLP_CONN_RECONNECT, /* reconnect */
1313 VAL_HLP_CONN_STATUS_MAX_NUM
1314} HlpConnStatusT;
1315
1316
1317typedef struct
1318{
1319 HlpConnStatusT status;
1320 kal_uint32 LocalIPAddr;
1321 kal_uint32 RemoteIPAddr;
1322 kal_uint32 PriDNSAddr;
1323 kal_uint32 SecDNSAddr;
1324} ValHlpPppConnStatusMsgT; /* for Um interface only. */
1325
1326#ifdef MTK_CBP /*MTK_DEV_C2K_IRAT*/
1327typedef struct
1328{
1329 kal_uint16 Mtu;
1330} ValHlpMtuUrcMsgT;
1331#endif /* MTK_DEV_C2K_IRAT */
1332
1333typedef struct
1334{
1335 HlpConnStatusT status;
1336} ValHlpPppCloseStatusMsgT;
1337
1338typedef struct
1339{
1340 kal_int16 socketId;
1341 kal_uint8 sap;
1342 ValSocketStatusT status;
1343} ValHlpSocketCreateStatusMsgT;
1344
1345typedef struct
1346{
1347 kal_uint8 sap;
1348 ValSocketStatusT status;
1349} ValHlpSocketBindStatusMsgT;
1350
1351typedef struct
1352{
1353 kal_uint8 sap;
1354 ValSocketStatusT status;
1355 kal_uint32 srcIP;
1356 kal_uint32 destIP;
1357 kal_uint16 srcPort;
1358 kal_uint16 dstPort;
1359} ValHlpSocketConnStatusMsgT;
1360
1361typedef struct
1362{
1363 kal_int16 SockListenfd;
1364 kal_uint8 SocketNum;
1365 kal_int16 sockfd[5];
1366 kal_uint8 sap[5];
1367} ValHlpSocketListenStatusMsgT;
1368
1369typedef struct
1370{
1371 kal_uint8 sap;
1372 kal_uint8 opt_type;
1373 kal_uint16 size;
1374 ValSocketStatusT status;
1375} ValHlpSocketOptStatusMsgT;
1376
1377typedef struct
1378{
1379 kal_uint8 sap;
1380 ValSocketStatusT status;
1381 kal_int8 how;
1382} ValHlpSocketShutDownStatusMsgT;
1383
1384typedef struct
1385{
1386 kal_uint8 sap;
1387 kal_bool lingerOnOff;
1388 kal_uint32 lingerTime;
1389 ValSocketStatusT status;
1390} ValHlpSocketLingerStatusMsgT;
1391
1392typedef struct
1393{
1394 ExeRspMsgT RspInfo; /* Response routing information */
1395} ValHlpIpDnsAddrGetMsgT;
1396
1397typedef struct
1398{
1399 kal_uint32 LocalIPAddr;
1400 kal_uint32 PriDNSAddr;
1401 kal_uint32 SecDNSAddr;
1402} ValHlpIpDnsAddrGetRspMsgT;
1403/*-----------------------------------------------------------------
1404 * OTASPHandler
1405 *----------------------------------------------------------------*/
1406
1407/*-----------------------------------------------------------------
1408 * LocHandler
1409 *----------------------------------------------------------------*/
1410
1411/* Refer to PswPosAfltMeasurementMsgT in pswapi.h */
1412 /*-----------------------------------------------------------------
1413 * PSWAmpsHandler
1414 *----------------------------------------------------------------*/
1415
1416/* VAL_AMPS_EXT_PROTO_MSG */
1417typedef enum
1418{
1419 VAL_AMPS_MST_VMAIL,
1420 VAL_AMPS_MST_CLI,
1421 VAL_AMPS_MST_SMS
1422} ValAmpsExtProtoType;
1423
1424typedef struct
1425{
1426 ValAmpsExtProtoType ExtProtoType;
1427 kal_bool SoundAudibleAlertFlag;
1428 kal_uint16 MsgLen;
1429 kal_uint8 MsgData[1];
1430} ValAmpsExtProtoMsgT;
1431
1432
1433typedef enum
1434{
1435 CSFB_TST_CDMA_PARM,
1436 CSFB_TST_SIB8,
1437 CSFB_TST_REDIR
1438} ValCsfbTstBuffType;
1439
1440typedef struct
1441{
1442 ValCsfbTstBuffType buffID;
1443 kal_uint8 size;
1444 kal_uint8 buff[255];
1445} ValCsfbTstSetBufferMsgT;
1446
1447typedef struct
1448{
1449 kal_bool inclRand;
1450 kal_uint32 Rand;
1451 kal_bool inclMobParms;
1452} ValCsfbTstParmRspMsgT;
1453
1454typedef struct
1455{
1456 kal_bool inclRand;
1457 kal_uint32 Rand;
1458 kal_bool inclMobParms;
1459} ValCsfbTstHOEutraPrepMsgT;
1460
1461typedef struct
1462{
1463 kal_bool sysTimeIncl;
1464 kal_uint8 sysTime[5];
1465} ValCsfbTstMobFromEutraMsgT;
1466
1467/* VAL_NWK_RPT_PREV_PREVINUSE_MSG */
1468typedef struct
1469{
1470 kal_uint8 PRev;
1471 kal_uint8 PRevInUse;
1472} ValNetworkPrevAndPrevInUseMsgT;
1473
1474
1475/* VAL_DO_RX_TX_POWER_INFO_DATA_MSG */
1476typedef struct
1477{
1478 ExeRspMsgT RspInfo; /* Response routing information */
1479 kal_int16 MainRxPowerDbmQ6;
1480 kal_int16 DivRxPowerDbmQ6;
1481 kal_uint16 MainRxGainState;
1482 kal_uint16 DivRxGainState;
1483 kal_int16 TxPowerDbmQ6;
1484 kal_uint16 TxGainState;
1485 kal_int16 TxClosedLoopAdjQ6;
1486 kal_int16 TxAnt;
1487#ifdef MTK_DEV_C2K_IRAT
1488 kal_int16 EcIo;
1489 kal_uint16 SINR; /* uint:Linear, convert it to dB = 10*lg(SINR/512) */
1490#endif
1491 kal_bool IsValTriggerItself;
1492} ValDoRxTxPwrInfoMsgT;
1493
1494/* VAL_MISC_RX_TX_PWR_INFO_EVT - this typedef is for UI callback only */
1495typedef struct
1496{
1497 kal_int16 RxPowerDbmQ6;
1498 kal_int16 DivRxPowerDbmQ6;
1499 kal_int16 TxPowerDbmQ6;
1500 kal_uint16 RxGainState;
1501 kal_uint16 DivRxGainState;
1502 kal_uint16 TxGainState;
1503 kal_int16 AvgActiveEcIoQ6;
1504#ifdef MTK_CBP
1505 kal_int16 LastAvgActiveEcIoQ6_1;
1506 kal_int16 LastAvgActiveEcIoQ6_2;
1507#endif
1508 kal_uint16 TxAgcPdmRep;
1509 kal_int16 TxClosedLoopAdjQ6;
1510 kal_int16 RxGainIntegral;
1511 kal_int16 RxGainCoarse;
1512 kal_int16 RxGainFine;
1513 kal_int16 RxGainPdmQ3;
1514 kal_int16 TxConstPowerOffsetQ6;
1515#ifdef MTK_CBP
1516 kal_int16 TxAnt;
1517#endif
1518} ValUiRxTxPowerDataT;
1519
1520#define ELEVATOR_RSSI_NUMBER 7
1521
1522typedef struct
1523{
1524 kal_int32 RxPowerDbmQ6[ELEVATOR_RSSI_NUMBER];
1525 kal_int32 RssiSumA;
1526 kal_int32 RssiSumB;
1527 kal_int16 index;
1528 kal_int16 rssiWinsize;
1529 kal_int16 rssi_diff_between_elevator_mode;
1530 kal_int16 GoodSignal_counter;
1531 kal_int16 BadSignal_counter;
1532} ValC2kRxTxPowerDataT;
1533
1534#ifdef MTK_CBP
1535/*Tx power level of <5, <10, <15, <20, <25*/
1536#define VAL_NUM_TX_POWER_LEVELS 5
1537#define VAL_RCV_DO_RX_TX_TIME_INFO_RSP 0X01
1538#define VAL_RCV_L1D_RX_TX_TIME_INFO_RSP 0X02
1539
1540#if 1
1541/* VAL_RMC_DO_RX_TX_TIME_INFO_DATA_RSP_MSG */
1542typedef struct
1543{
1544 /*period(in ms) for which Tx is active*/
1545 kal_uint32 do_tx_time_ms[VAL_NUM_TX_POWER_LEVELS];
1546 /*period (in ms) for which Rx is active*/
1547 kal_uint32 do_rx_time_ms;
1548}ValDoRxTxtimeInfoRspMsgT;
1549#endif
1550/* VAL_L1D_RX_TX_TIME_INFO_DATA_RSP_MSG */
1551typedef struct
1552{
1553 /*period(in ms) for which Tx is activ*/
1554 kal_uint32 L1D_tx_time_ms[VAL_NUM_TX_POWER_LEVELS];
1555 kal_uint32 L1D_rx_time_ms;
1556}ValL1dRxTxtimeInfoRspMsgT;
1557
1558typedef enum
1559{
1560 VAL_Cl1TST_START_TX_TRANSMIT = 0,
1561 VAL_CL1TST_STOP_TX_TRANSMIT,
1562 VAL_CL1TST_START_RX_MEASURE,
1563 VAL_CL1TST_TX_POWER_QUERY,
1564 VAL_CL1TST_START_TX_POWER_MODU_SIGNAL,
1565 VAL_CL1TST_STOP_TX_POWER_MODU_SIGNAL,
1566 VAL_CL1TST_DETECT_RX_POWER_DBM_UNIT,
1567 VAL_CL1TST_POWER_REDUCTION_LEVEL,
1568 VAL_CL1TST_POWER_REDUCTION_LEVEL_BY_BAND
1569}ValCl1tstReqModeT;
1570
1571typedef enum
1572{
1573 VAL_CL1TST_SIG_TX_TONE = 0,
1574 VAL_CL1TST_SIG_TX_MODU,
1575 VAL_CL1TST_SIG_INVALID = 255
1576}ValCl1tstTxSigTypeT;
1577
1578typedef struct
1579{
1580 ValCl1tstReqModeT mode;
1581 kal_int16 TxPower; /* Need to convert from Q5 to Q3 */
1582 kal_int16 MainRxPower;/* Need to convert from Q7 to Q3 */
1583 kal_int16 DivRxPower; /* Need to convert from Q7 to Q3 */
1584}ValCl1tstRxTxPwrDetectMsgT;
1585
1586#ifdef __RF_SCAN_FOR_DESENSE_TEST__
1587
1588typedef struct
1589{
1590 kal_uint8 RatType;
1591 kal_int16 MainRxPower;/* Need to convert from Q7 to Q3 */
1592 kal_int16 DivRxPower; /* Need to convert from Q7 to Q3 */
1593}ValCl1tstRxScanRspMsgT;
1594#endif
1595
1596
1597typedef struct
1598{
1599 kal_uint8 RatType;
1600 kal_uint8 AntennaIdex;
1601}ValCl1tstGetAntInfoCfgMsgT;
1602
1603typedef struct
1604{
1605 kal_uint8 RatType;
1606 kal_uint8 AntennaIdex;
1607}ValCl1tstGetAntInfoIndMsgT;
1608
1609typedef struct
1610{
1611 kal_uint8 ForceTxAntState;
1612 kal_bool EnableForceTas;
1613 kal_bool QueryByBand;
1614}ValL1dTasForceAntQueryMsgT;
1615
1616
1617#if 0
1618/* under construction !*/
1619/* under construction !*/
1620/* under construction !*/
1621/* under construction !*/
1622/* under construction !*/
1623#endif
1624typedef enum
1625{
1626 VAL_L1D_TX_PWR_REDUCTION = 0,
1627 VAL_L1D_TX_PWR_REDUCTION_BY_BAND
1628}ValTxPwrReducModeT;
1629
1630 typedef struct
1631 {
1632 kal_int16 FeatureIndex;
1633 kal_bool DoDatSarCfgRsp; /*TRUE:DO SUCESS CFG RF Fail:DO do not CFG RF */
1634 kal_int16 SeqNum;
1635 }ValRmcRfcDatSarCfgRspMsgT;
1636
1637typedef struct
1638{
1639 kal_int16 SeqNum;
1640 kal_int16 featureIndex;
1641 kal_bool L1dDatSarCfgRsp; /*TRUE:1x SUCESS CFG RF Fail:1x do not CFG RF */
1642}ValL1dRfDatSarCfgRspMsgT;
1643#endif
1644
1645
1646 /*-----------------------------------------------------------------
1647 * MULTIMEDIA APPLICATION Handler
1648 *----------------------------------------------------------------*/
1649
1650/* Status & Error codes used for VAL Apps callback functions (Music, JPEG) */
1651typedef enum
1652{
1653 VAL_APP_OK = 0,
1654 VAL_APP_FILE_FORMAT_INVALID,
1655 VAL_APP_FILE_IO_ERROR,
1656 VAL_APP_FAILED_ERROR,
1657 VAL_APP_WRONG_PLAY_FORMAT,
1658 VAL_APP_CONFLICT,
1659 VAL_APP_MALLOC_ERROR,
1660 VAL_APP_DATA_SIZE_INVALID,
1661 VAL_APP_TONE_ID_INVALID,
1662
1663 VAL_APP_IMAGE_TYPE_INVALID,
1664 VAL_APP_IMAGE_CONTEXT_NOT_INIT,
1665 VAL_APP_IMAGE_WIDTH_INVALID,
1666 VAL_APP_IMAGE_ACTUAL_SIZE_UNKNOWN,
1667
1668 VAL_APP_VMEMO_WRONG_STATE_ERR,
1669 VAL_APP_VMEMO_INVALID_REC_TYPE,
1670 VAL_APP_VMEMO_RECORD_DEVICE_FULL,
1671 VAL_APP_VMEMO_INVALID_NUM_PKTS,
1672 VAL_APP_VMEMO_INVALID_SRVC_OPT,
1673 VAL_APP_VMEMO_SRVC_OPT_MISMATCH,
1674 VAL_APP_VMEMO_WRONG_REC_WHILE_ON_TRAFFIC,
1675 VAL_APP_VMEMO_INTERNAL_ERR,
1676 VAL_APP_VMEMO_INVAL_TYPE_FOR_FILE_REC,
1677 VAL_APP_VMEMO_INVAL_PLAYBACK_PARMS,
1678 VAL_APP_VMEMO_INVAL_PACKET_RATE,
1679
1680 VAL_APP_A2DP_STREAM_OPERATION_ERR,
1681 VAL_APP_MUSIC_NOT_SUPPORTED_ERR,
1682 VAL_APP_CMD_NOT_SUPPORTED_ERR,
1683 VAP_APP_SAMPLING_RATE_INVALID,
1684 VAL_APP_NUM_CHANS_INVALID,
1685 VAL_APP_WRONG_RECORD_FORMAT
1686} ValAppStatusT;
1687
1688/* VAL audio sampling rates, used in Music and Voice Memo API's */
1689typedef enum
1690{
1691 VAL_SAMP_RATE_8000,
1692 VAL_SAMP_RATE_11025,
1693 VAL_SAMP_RATE_12000,
1694 VAL_SAMP_RATE_16000,
1695 VAL_SAMP_RATE_22050,
1696 VAL_SAMP_RATE_24000,
1697 VAL_SAMP_RATE_32000,
1698 VAL_SAMP_RATE_44100,
1699 VAL_SAMP_RATE_48000,
1700 VAL_NUM_SAMPLING_RATES
1701} ValSamplingRatesT;
1702
1703/*-----------------------------------------------------------------
1704* VSTRM Handler
1705*----------------------------------------------------------------*/
1706/* Used by Vstrm, but could be used for generic passing of CpBuff */
1707typedef struct
1708{
1709 CpBufferT* pCpBuf;
1710 kal_uint16 offset;
1711 kal_uint16 Len;
1712} ValCpBuffMsgT;
1713
1714
1715/*-----------------------------------------------------------------
1716* MISC Handler
1717*----------------------------------------------------------------*/
1718
1719/* VAL_L1DTST_GETPHONESTATUS; rspmsg data structure defined by L1D */
1720typedef ExeRspMsgT ValL1DTstGetPhoneStatusMsgT;
1721
1722/* VAL_HRPD_RSSI_RPT_MSG */
1723typedef struct
1724{
1725 kal_int16 Rssi;
1726} ValHrpdRssiRptMsgT;
1727
1728/* typedef for expressing time in user format */
1729typedef struct
1730{
1731 kal_uint8 Secs, Mins, Hours; /* 00:00:00 to 23:59:59 */
1732 kal_uint8 Day, Month; /* 1...31, 1...12 */
1733 kal_uint8 DoW; /* 0 (Sun)...6 (Sat) */
1734 kal_uint16 Year; /* 1980...2043 */
1735 kal_uint16 MilliSecs;
1736} ValCalendarTimeT;
1737
1738/*-----------------------------------------------------------------
1739 * ETS Handler
1740 *----------------------------------------------------------------*/
1741
1742/* VAL_SEND_DATA_BURST_MSG */
1743/* ??? how about going to a header + data dual structure */
1744#define VAL_CP_MAX_DATA_BURST_CHAR 249 /* 255 - Data Burst Header */
1745typedef struct
1746{
1747 kal_uint8 MsgNumber;
1748 kal_uint8 BurstType;
1749 kal_uint8 NumMsgs;
1750 kal_uint8 NumFields;
1751 kal_uint8 Data[249]; /* ??? */
1752 kal_bool Encoded;
1753 kal_bool DigitMode;
1754 kal_uint8 NumDigits;
1755 kal_uint8 Digits[30]; /* ??? */
1756} ValSendDataBurstMsgT;
1757
1758typedef struct
1759{
1760 kal_bool Mode; /* KAL_TRUE: disabled */
1761} ValKPadDisabledMsgT;
1762
1763/* VAL_EMERGENCY_MODE_TEST_MSG */
1764typedef struct
1765{
1766 ExeRspMsgT RspInfo;
1767 kal_bool value;
1768} ValEmergencyModeTestingMsgT;
1769
1770typedef struct
1771{
1772 kal_bool mode;
1773} ValEmergencyModeTestingResponseMsgT;
1774
1775typedef enum
1776{
1777 VAL_DEV_NONE = 0x0000,
1778 VAL_DEV_UIM = 0x1000,
1779 VAL_DEV_RAM = 0x2000,
1780 VAL_DEV_FLASH = 0x3000,
1781 VAL_DEV_UIM_FLASH = 0x4000,
1782 VAL_DEV_FLASH_UIM = 0x5000
1783#ifdef MTK_CBP
1784 ,VAL_DEV_UIM_FDN = 0x6000,
1785 VAL_DEV_UIM_ADN_FDN = 0x7000
1786#endif
1787} ValDeviceT;
1788
1789 /* VAL Event typedefs */
1790typedef kal_int16 RegIdT;
1791typedef void (*ValEventFunc) ( RegIdT RegId,
1792 kal_uint32 MsgId,
1793 void* MsgBufferP );
1794
1795 /* Structure for registering events */
1796typedef struct
1797{
1798 kal_bool IsUse; /* if this entry is in use */
1799 ValEventFunc CallBack; /* function to call back */
1800} ValRegTableT;
1801
1802/* Event handler */
1803typedef struct
1804{
1805 ValRegTableT* RegTableP; /* Register table pointer */
1806 kal_semid SemaphoreP;
1807 kal_int16 MaxRegIds; /* Maximum RegId count Register table supported */
1808} ValEventHandlerT;
1809
1810/* index used to access the CallTxtTable[] */
1811typedef enum {
1812 VAL_CT_DEFAULT,
1813 VAL_CT_AMPS_CALL,
1814 VAL_CT_DATA_CALL,
1815 VAL_CT_FAX_CALL,
1816 VAL_CT_SSO1,
1817 VAL_CT_SSO2,
1818 VAL_CT_SSO3,
1819 VAL_CT_SSO6,
1820 VAL_CT_SSO9,
1821 VAL_CT_SSO14,
1822 VAL_CT_SSO17,
1823 VAL_CT_SSO32768,
1824 VAL_CT_SSO18,
1825 VAL_CT_SSO19,
1826 VAL_CT_SSO32,
1827 VAL_CT_SSO33,
1828 VAL_CT_SSO35,
1829 VAL_CT_SSO36,
1830 VAL_CT_SSO54,
1831 VAL_CT_SSO55,
1832 VAL_CT_SSO68,
1833 VAL_CT_SSO32798,
1834 VAL_CT_SSO32799,
1835 VAL_CT_SSO32858,
1836 VAL_CT_SSO32859,
1837 VAL_CT_MAX
1838} ValCallTypeT;
1839
1840/* powerdown sequence signals */
1841typedef enum
1842{
1843 VAL_PWRDWN_START,
1844 VAL_PWRDWN_PSDOWN,
1845 VAL_PWRDWN_DBMFLUSH,
1846 VAL_PWRDWN_AIWFLUSH
1847} ValPowerDownIdT;
1848
1849typedef enum
1850{
1851 VAL_MISC_PWRDWN_FLUSH_EVT,
1852 VAL_MISC_BATTERY_READING_EVT,
1853 VAL_MISC_TEMP_READING_EVT,
1854 VAL_MISC_RX_TX_PWR_INFO_EVT,
1855 VAL_MISC_REFURBISH_AGING_TX_OFF_IND,
1856 VAL_MISC_REFURBISH_AGING_TX_ON_IND,
1857 VAL_MISC_GET_SMS_COUNT_EVT,
1858 VAL_MISC_GET_SMS_EVT
1859} ValMiscEventIdT;
1860
1861#ifdef MTK_PLT_ON_PC_UT
1862typedef enum
1863{
1864 VAL_UT_GV_CSS_OP_MODE,
1865 VAL_UT_GV_CSS_NV_READ_COMPLETE,
1866 VAL_UT_GV_PROTOCOL_1,
1867 VAL_UT_GV_PROTOCOL_2,
1868 VAL_UT_GV_PROTOCOL_3
1869} ValUtGloblaValTypeE;
1870#endif
1871
1872enum _ValAtService
1873{
1874 VAL_ATS_AsyncData,
1875 VAL_ATS_Fax,
1876 VAL_ATS_Rejected,
1877 VAL_ATS_PacketRelayRm,
1878 VAL_ATS_SingleStackQNC,
1879 VAL_ATS_UpBrowser,
1880 VAL_ATS_AsyncUpBrowser,
1881 VAL_ATS_TcpCktBrowser,
1882 VAL_ATS_TcpPktBrowser,
1883 VAL_ATS_PacketNtwkRm,
1884 VAL_ATS_PPPOnly,
1885 VAL_NUM_ATSs
1886};
1887
1888typedef kal_uint8 ValAtService;
1889
1890typedef struct
1891{
1892 kal_uint8* buf;
1893 kal_uint16 offset;
1894 kal_uint16 len;
1895} ValAtBuf;
1896
1897/* IWF-intermediate result codes need not appear in this list. */
1898enum
1899{
1900 /* IWF-final and MT2 generated codes */
1901 VAL_ARC_OK,
1902 VAL_ARC_CON,
1903 VAL_ARC_ERR,
1904 VAL_ARC_CPKT,
1905 VAL_ARC_CBWSR,
1906
1907 /* IWF-final generated codes */
1908 VAL_ARC_BSY,
1909 VAL_ARC_NAN,
1910 VAL_ARC_NCR,
1911 VAL_ARC_NDT,
1912 VAL_ARC_CEIF,
1913
1914 /* MT2 generated codes */
1915 VAL_ARC_NUL,
1916 VAL_ARC_CEBR,
1917 VAL_ARC_CELF,
1918 VAL_ARC_CENDS,
1919 VAL_ARC_CENFS,
1920 VAL_ARC_CENS,
1921 VAL_ARC_CEPF,
1922 VAL_ARC_CEPG,
1923 VAL_ARC_CERL,
1924 VAL_ARC_CERT,
1925 VAL_ARC_CRGA,
1926 VAL_ARC_CRGF,
1927
1928 VAL_NUM_RCs
1929};
1930typedef kal_uint8 ValAtResultCode;
1931
1932typedef struct
1933{
1934 kal_uint8 *dataPtr;
1935 kal_uint16 offset;
1936 kal_uint16 dataLen;
1937} FwdDataInfoT;
1938
1939/* cmd id for ValUserInfoControl() */
1940typedef enum
1941{
1942 VAL_USERINFO_INIT_CMD = 0x01,
1943 VAL_USERINFO_RESTART_CMD,
1944 VAL_USERINFO_STOP_CMD
1945} ValUserInfoCmdT;
1946
1947typedef struct
1948{
1949 kal_bool Mode;
1950} ValSetPrivacyModeMsgT;
1951
1952typedef struct
1953{
1954 kal_uint8 NetPre;
1955} ValReportNetPre;
1956
1957typedef struct
1958{
1959 kal_uint8 BreakLen; /* in 10 msec units */
1960} ValEia617BreakReqMsgT;
1961
1962typedef struct
1963{
1964 kal_bool C108On; /* the state of C108, DTE ready. */
1965 kal_uint8 chan;
1966 kal_bool CableUnplugged ;
1967} ValC108IndMsgT;
1968
1969typedef struct
1970{
1971 kal_uint32 Rate; /* Bit rate on both Tx and Rx side. */
1972} ValRateIndMsgT;
1973
1974typedef struct
1975{
1976 CpBufferT* pCpBuf; /* points to the first byte of data */
1977 kal_uint16 offset; /* data size in bytes. */
1978 kal_uint16 Len;
1979 kal_uint8 RlpFlow;
1980 kal_uint8 chan;
1981} ValRevTxReqMsgT;
1982
1983#ifdef MTK_PLT_ON_PC_UT
1984typedef struct
1985{
1986 kal_uint8 len;
1987 ValUtGloblaValTypeE type[16]; /* points to the first byte of data */
1988 kal_uint32 val[16];
1989} ValUtGlobalValSetMsgT;
1990
1991typedef struct
1992{
1993 CpBufferT* pCpBuf; /* points to the first byte of data */
1994 kal_uint16 offset; /* data size in bytes. */
1995 kal_uint16 Len;
1996 kal_uint8 RlpFlow;
1997 kal_uint8 chan;
1998 kal_char cmdBuf[ATC_ENHANCED_AT_CMD_LEN];
1999} ValRevTxReqMsgUtT;
2000
2001typedef struct
2002{
2003 kal_uint16 Len;
2004 kal_uint8 chan;
2005 kal_char cmdBuf[1024];
2006} ValSendTxIndMsgT;
2007
2008typedef struct
2009{
2010 kal_uint8 value;
2011} ValConfigureReqMsgT;
2012
2013#endif
2014
2015#ifdef MTK_DEV_ETS_ENHANCEMENT
2016typedef struct
2017{
2018 kal_bool on;
2019} ValATChanCtrlMsgT;
2020
2021typedef struct
2022{
2023 kal_char cmdBuf[1];
2024} ValATFwdTxReqMsgT;
2025
2026typedef struct
2027{
2028 kal_char cmdBuf[1];
2029} ValATRevTxReqMsgT;
2030#endif
2031
2032typedef struct
2033{
2034 kal_uint8* DataBufP; /* points to the first byte of data */
2035 kal_uint16 DataLen; /* data size in bytes. */
2036} ValFwdTxReqMsgT;
2037
2038typedef struct
2039{
2040 kal_uint8 chan;
2041} ValFwdTxRspMsgT;
2042
2043/* VAL_RLP_REV_DATA_RSP_MSG */
2044typedef struct
2045{
2046 kal_uint8 srId;
2047} ValRlpRevDataRspMsgT;
2048
2049/* IOP_RLP_FWD_DATA_IND_MSG */
2050typedef struct {
2051 kal_uint8 *dataPtr;
2052 kal_uint16 offset;
2053 kal_uint16 dataLen;
2054} ValRlpFwdDataFrameT;
2055
2056#define NUM_VAL_RLP_FRAMES_PER_INDICATION 20
2057typedef struct {
2058 kal_uint16 numRlpFrames;
2059 ValRlpFwdDataFrameT rlpFrames[NUM_VAL_RLP_FRAMES_PER_INDICATION];
2060} ValRlpFwdDataIndMsgT;
2061
2062
2063typedef struct
2064{
2065 ValAtResultCode ResultCode;
2066} ValDsIssueResultMsgT;
2067
2068typedef struct
2069{
2070 ValAtService Svc;
2071} ValDsConnIndMsgT;
2072
2073typedef struct
2074{
2075 kal_uint8 QNCStr[VAL_MAX_BRSWR_DGT_SIZE]; /* null-terminated */
2076} ValSetQNCDialStrMsgT;
2077
2078#ifdef SYS_OPTION_VOICE_RECOGNITION
2079typedef enum
2080{
2081 VAL_VREC_TRAINING_START_EVT,
2082 VAL_VREC_TRAINING_COMPLETE_EVT,
2083 VAL_VREC_SPEECH_PLAYBACK_EVT,
2084 VAL_VREC_START_RECOGNITION_EVT,
2085 VAL_VREC_NOT_RECOGNIZED_EVT,
2086 VAL_VREC_RECOGNIZED_EVT,
2087 VAL_VERC_CANCEL_EVT,
2088 VAL_VREC_CAPTURE_CONFIRM_EVT,
2089 VAL_VREC_CAPTURE_PLAYBACK_EVT,
2090 VAL_VREC_CMD_DONE_EVT,
2091 VAL_VREC_TRAIN_CANCEL_EVT,
2092 VAL_VREC_CANCEL_EVT,
2093 VAL_VREC_TEMPLATE_COMPLETE_EVT
2094} ValVrecEventT;
2095#endif
2096
2097/* Please, note!!!! This type HAS to match HWD definitions */
2098typedef enum
2099{
2100 VAL_RF_PCS_BAND, /* = HWD_RF_PLL_BAND_PCS_1900,*/
2101 VAL_RF_AMPS_BAND, /* = HWD_RF_PLL_BAND_AMPS, */
2102 VAL_RF_CELL_BAND, /* = HWD_RF_PLL_BAND_CDMA_CELLULAR, */
2103 VAL_RF_T53_BAND, /* = HWD_RF_PLL_BAND_CDMA_T53, */
2104 VAL_RF_KPCS_BAND, /* = HWD_RF_PLL_BAND_KOREAN_PCS, */
2105 VAL_RF_UNDEF_BAND /* = HWD_RF_PLL_BAND_UNDEFINED */
2106} ValRfPllBandT;
2107
2108/* Define VAL Display Device Info msg */
2109typedef struct
2110{
2111 ExeRspMsgT RspInfo;
2112} ValDispDeviceInfoMsgT;
2113
2114/* Define VAL Display Device response Info msg */
2115#define VAL_DISP_MAX_DEVICE_INFO_LEN 20
2116typedef struct
2117{
2118 kal_char Vendor [VAL_DISP_MAX_DEVICE_INFO_LEN];
2119 kal_char ModelId [VAL_DISP_MAX_DEVICE_INFO_LEN];
2120 kal_uint16 BitsPerPixel;
2121 kal_uint16 WidthInPixels;
2122 kal_uint16 HeightInPixels;
2123} ValDispDeviceInfoRspMsgT;
2124
2125/*The following definitions are used for the datacard application software support*/
2126
2127#define VAL_MAX_ROAMING_NETWORK_LEN 34
2128#define VAL_MAX_MDN_LEN 16
2129#define VAL_MAX_ACTIVATION_CODE_LEN 8
2130#define VAL_MAX_MNHA_LEN 16
2131#define VAL_MAX_MNAAA_LEN 16
2132#define VAL_MAX_PRL_SIZE 8192
2133#define VAL_MAX_NTWK_ERR_STR_LEN 240
2134
2135typedef enum
2136{
2137 VAL_WMC_SERVICE_NONE = 0,
2138 VAL_WMC_SERVICE_AMPS,
2139 VAL_WMC_SERVICE_IS95A,
2140 VAL_WMC_SERVICE_IS95B,
2141 VAL_WMC_SERVICE_GSM,
2142 VAL_WMC_SERVICE_GPRS,
2143 VAL_WMC_SERVICE_1XRTT,
2144 VAL_WMC_SERVICE_1XEVDO,
2145 VAL_WMC_SERVICE_UMTS,
2146 VAL_WMC_SERVICE_1XEVDOrA
2147}ValWmcServiceTypeT;
2148
2149typedef enum
2150{
2151 VAL_WMC_NETWORK_HOME = 0,
2152 VAL_WMC_NETWORK_EXTENDED,
2153 VAL_WMC_NETWORK_ROAM
2154}ValWmcNetworkTypeT;
2155
2156typedef enum
2157{
2158 VAL_WMC_RC_SUCCESS = 0,
2159 VAL_WMC_RC_BAD_PARAMETER,
2160 VAL_WMC_RC_NOT_STARTED,
2161 VAL_WMC_RC_BUFFER_TOO_SMALL,
2162 VAL_WMC_RC_DEVICE_NOT_AVAILABLE,
2163 VAL_WMC_RC_ACTIVATE_FAILED,
2164 VAL_WMC_RC_ALREADY_ACTIVATED,
2165 VAL_WMC_RC_DEVICE_CONNECTED,
2166 VAL_WMC_RC_SERVICE_NOT_AVAILABLE,
2167 VAL_WMC_RC_ACTIVATION_INITIATED
2168
2169}ValWmcResultCodeT;
2170
2171typedef enum {
2172 VAL_WMC_STATE_UNKNOWN,
2173 VAL_WMC_STATE_IDLE,
2174 VAL_WMC_STATE_CONNECTING,
2175 VAL_WMC_STATE_AUTH,
2176 VAL_WMC_STATE_CONNECTED,
2177 VAL_WMC_STATE_DORMANT,
2178 VAL_WMC_STATE_UPDATING_NAM,
2179 VAL_WMC_STATE_UPDATING_PRL,
2180 VAL_WMC_STATE_DISCONNECTING,
2181 VAL_WMC_STATE_ERROR,
2182 VAL_WMC_STATE_NUM
2183}ValWmcConnStatusT;
2184
2185typedef enum {
2186 WMC_STATE_OTASP_NONE,
2187 WMC_OTASP_STATE_IN_PROGRESS,
2188 WMC_OTASP_STATE_SPL_UNLOCKED,
2189 WMC_OTASP_STATE_NAM_DOWNLOADED,
2190 WMC_OTASP_STATE_MDN_DOWNLOADED,
2191 WMC_OTASP_STATE_IMSI_DOWNLOADED,
2192 WMC_OTASP_STATE_PRL_DOWNLOADED,
2193 WMC_OTASP_STATE_COMMIT_SUCCESS,
2194 WMC_OTASP_STATE_PROG_SUCCESS,
2195 WMC_OTASP_STATE_PROG_FAILED
2196}ValWmcOtaspStateT;
2197
2198typedef struct
2199{
2200 kal_uint16 Year;
2201 kal_uint16 Month;
2202 kal_uint16 Day;
2203 kal_uint16 Hour;
2204 kal_uint16 Minute;
2205 kal_uint16 Second;
2206 kal_uint16 MillionSeconds;
2207 kal_int32 MinutesFromUTC;
2208} ValWmcDateTimeT;
2209
2210typedef struct
2211{
2212 ExeRspMsgT RspInfo; /* Response routing information */
2213} ValDatacardGetNetworkInfoMsgT;
2214
2215/* Get Network Information response message */
2216typedef struct
2217{
2218 kal_int32 Rssi;
2219 ValWmcServiceTypeT CurrentService;
2220 ValWmcNetworkTypeT NetworkType;
2221 ValWmcDateTimeT NetworkTime;
2222 kal_int32 RssiDbm;
2223 kal_int32 RssiEvdoDbm;
2224 kal_uint32 PrlRoamInd;
2225 kal_char RoamingNetwork[VAL_MAX_ROAMING_NETWORK_LEN+1];
2226} ValDatacardGetNetworkInfoRspMsgT;
2227
2228 typedef enum
2229 {
2230 PHONE_ESN_UIMID,
2231 PHONE_ESN_EUIMID,
2232 PHONE_MEID_UIMID,
2233 PHONE_MEID_EUIMID
2234 } ValPhoneIdTypeT;
2235
2236 typedef struct
2237{
2238 ValPhoneIdTypeT PhoneIdType;
2239 kal_uint32 MeEsn;
2240 kal_uint32 UimId;
2241 kal_uint8 MeMeid[NAM_MEID_SIZE];
2242 kal_uint8 EUimId[NAM_MEID_SIZE];
2243 kal_uint32 MePesn;
2244 kal_uint32 UimPesn;
2245} ValDbmMeidAndUimIdT;
2246
2247typedef struct
2248{
2249 ExeRspMsgT RspInfo; /* Response routing information */
2250 kal_bool Automatic;
2251 kal_char MDN[VAL_MAX_MDN_LEN+1];
2252 kal_uint64 MIN;
2253 kal_char ActivationCode[VAL_MAX_ACTIVATION_CODE_LEN+1];
2254 kal_uint32 HomeSID;
2255 kal_bool SetMNHA;
2256 kal_uint32 MNHASize;
2257 kal_uint8 MNHA[VAL_MAX_MNHA_LEN+1];
2258 kal_bool SetMNAAA;
2259 kal_uint32 MNAAASize;
2260 kal_uint8 MNAAA[VAL_MAX_MNHA_LEN+1];
2261} ValDataCardOTAActivateMsgT;
2262
2263/* OTA-Activate response message */
2264typedef struct
2265{
2266 ValWmcResultCodeT result;
2267} ValDatacardOTAActivateRspMsgT;
2268
2269typedef enum
2270{
2271 VAL_WMC_MIP_OFF = 0,
2272 VAL_WMC_MIP_PREFERRED,
2273 VAL_WMC_MIP_ONLY
2274} ValWmcMipTypeT;
2275
2276typedef enum
2277{
2278 VAL_WMC_PREF_MODE_AUTO = 0,
2279 VAL_WMC_PREF_CDMA_ONLY,
2280 VAL_WMC_PREF_EVDO_ONLY
2281} ValWmcPrefModeT;
2282
2283typedef struct
2284{
2285 ValWmcMipTypeT Mip;
2286 ValWmcPrefModeT PrefMode;
2287 kal_uint16 Accolc;
2288} ValWmcMiscParameterT;
2289
2290typedef struct
2291{
2292 ExeRspMsgT RspInfo; /* Response routing information */
2293 ValWmcMiscParameterT MsgData;
2294} ValDataCardSetDevParamMsgT;
2295
2296/* Set device paramters response message */
2297typedef struct
2298{
2299 ValWmcResultCodeT result;
2300} ValDataCardSetDevParamRspMsgT;
2301
2302typedef struct
2303{
2304 ExeRspMsgT RspInfo; /* Response routing information */
2305} ValDataCardGetDevParamMsgT;
2306
2307typedef struct
2308{
2309 ValWmcMiscParameterT MsgData;
2310} ValDataCardGetDevParamRspMsgT;
2311
2312typedef enum
2313{
2314 /*1xRTT Error Codes*/
2315 VAL_WMC_NETWORK_ERROR_1X_START = 0,
2316 VAL_WMC_NETWORK_ERROR_1X_CO_NO_SERVICE = VAL_WMC_NETWORK_ERROR_1X_START,
2317 VAL_WMC_NETWORK_ERROR_1X_CO_ACCESS_FAILURE,
2318 VAL_WMC_NETWORK_ERROR_1X_CO_CANNOT_ORIGINATE,
2319 VAL_WMC_NETWORK_ERROR_1X_CO_REDIRECTION,
2320 VAL_WMC_NETWORK_ERROR_1X_CO_HANDOFF,
2321 VAL_WMC_NETWORK_ERROR_1X_CO_IN_PROGRESS,
2322 VAL_WMC_NETWORK_ERROR_1X_CO_PRIORITY_INBOUND,
2323 VAL_WMC_NETWORK_ERROR_1X_CO_LOCKED,
2324 VAL_WMC_NETWORK_ERROR_1X_CO_INCOMPATIBLE_SERVICES,
2325 VAL_WMC_NETWORK_ERROR_1X_CO_CONCURRENT_NOT_SUPPORTED,
2326 VAL_WMC_NETWORK_ERROR_1X_CO_NO_RESPONSE,
2327 VAL_WMC_NETWORK_ERROR_1X_CO_REJECT,
2328 VAL_WMC_NETWORK_ERROR_1X_CO_SO_NOT_SUPPORTED,
2329 VAL_WMC_NETWORK_ERROR_1X_CO_CHANNEL_OPEN,
2330 VAL_WMC_NETWORK_ERROR_1X_CO_ALERT_STOP,
2331 VAL_WMC_NETWORK_ERROR_1X_CO_MAX_ACCESS,
2332 VAL_WMC_NETWORK_ERROR_1X_CO_ACTIVATION_NOT_AVAILABLE,
2333 VAL_WMC_NETWORK_ERROR_1X_CO_INTERCEPT,
2334 VAL_WMC_NETWORK_ERROR_1X_CO_REORDER,
2335 VAL_WMC_NETWORK_ERROR_1X_CO_OTHER,
2336 VAL_WMC_NETWORK_ERROR_1X_RELEASE_FADE,
2337 VAL_WMC_NETWORK_ERROR_1X_RELEASE_NO_REASON,
2338 VAL_WMC_NETWORK_ERROR_1X_RELEASE_SO_NOT_SUPPORTED,
2339 VAL_WMC_NETWORK_ERROR_1X_PROTOCOL_FAILURE,
2340 VAL_WMC_NETWORK_ERROR_1X_REDIRECT_TO_EVDO,
2341 VAL_WMC_NETWORK_ERROR_1X_FADE,
2342 VAL_WMC_NETWORK_ERROR_1X_USER_DISCONNECTED,
2343 VAL_WMC_NETWORK_ERROR_1X_OTASP_ENDED,
2344 VAL_WMC_NETWORK_ERROR_1X_ENDED_FOR_VOICE,
2345 VAL_WMC_NETWORK_ERROR_1X_E911_CALL_ENDED,
2346 VAL_WMC_NETWORK_ERROR_1X_E911_EMERGENCY_CALL,
2347 VAL_WMC_NETWORK_ERROR_1X_E911_GPS_FIX,
2348 VAL_WMC_NETWORK_ERROR_1X_END,
2349
2350 /*GSM/WCDMA Error Codes*/
2351 VAL_WMC_NETWORK_ERROR_WCDMA_START = 100,
2352 VAL_WMC_NETWORK_ERROR_WCDMA_PROTOCOL_FAILURE = VAL_WMC_NETWORK_ERROR_WCDMA_START,
2353 VAL_WMC_NETWORK_ERROR_WCDMA_ORIGINATION_FAILURE,
2354 VAL_WMC_NETWORK_ERROR_WCDMA_INCOMMING_REJECTED,
2355 VAL_WMC_NETWORK_ERROR_WCDMA_NETWORK_DISCONNECTED,
2356 VAL_WMC_NETWORK_ERROR_WCDMA_NO_SERVICE,
2357 VAL_WMC_NETWORK_ERROR_WCDMA_USER_DISCONNECTED,
2358 VAL_WMC_NETWORK_ERROR_WCDMA_END,
2359
2360 /*1xEV-DO Error Codes*/
2361 VAL_WMC_NETWORK_ERROR_EVDO_START = 150,
2362 VAL_WMC_NETWORK_ERROR_EVDO_CO_NO_SERVICE = VAL_WMC_NETWORK_ERROR_EVDO_START,
2363 VAL_WMC_NETWORK_ERROR_EVDO_CO_ACCESS_FAILURE,
2364 VAL_WMC_NETWORK_ERROR_EVDO_CO_REDIRECTION,
2365 VAL_WMC_NETWORK_ERROR_EVDO_CO_NOT_PREFERRED,
2366 VAL_WMC_NETWORK_ERROR_EVDO_CO_MODE_HANDOFF,
2367 VAL_WMC_NETWORK_ERROR_EVDO_CO_IN_PROGRESS,
2368 VAL_WMC_NETWORK_ERROR_EVDO_CO_SETUP_TIMEOUT,
2369 VAL_WMC_NETWORK_ERROR_EVDO_CO_SESSION_NOT_OPEN,
2370 VAL_WMC_NETWORK_ERROR_EVDO_RELEASE_NO_REASON,
2371 VAL_WMC_NETWORK_ERROR_EVDO_PROTOCOL_FAILURE,
2372 VAL_WMC_NETWORK_ERROR_EVDO_DENY_NO_REASON,
2373 VAL_WMC_NETWORK_ERROR_EVDO_DENY_NETWORK_BUSY,
2374 VAL_WMC_NETWORK_ERROR_EVDO_DENY_AUTHENTICATION,
2375 VAL_WMC_NETWORK_ERROR_EVDO_REDIRECT_TO_1X,
2376 VAL_WMC_NETWORK_ERROR_EVDO_FADE,
2377 VAL_WMC_NETWORK_ERROR_EVDO_USER_DISCONNECTED,
2378 VAL_WMC_NETWORK_ERROR_EVDO_GPS_FIX,
2379 VAL_WMC_NETWORK_ERROR_EVDO_END
2380} ValWmcNtwkErrCodeT;
2381
2382typedef struct
2383{
2384 ValWmcConnStatusT connStatus;
2385 ValWmcNtwkErrCodeT DisconnectError;
2386 ConnStateT ConnState;
2387 ValPswDataTypeT DataType;
2388} ValHlpConnStatusMsgT;
2389
2390typedef struct
2391{
2392 kal_uint8 SectorId[16];
2393 kal_uint32 Latitude;
2394 kal_uint32 Longitude;
2395 kal_uint8 SubnetMask;
2396} ValClcCellInfoMsgT;
2397
2398typedef struct
2399{
2400 kal_uint32 uTotalSessionMS;
2401 kal_uint32 uActiveSessionMS;
2402 kal_uint32 uTotalTxBytes;
2403 kal_uint32 uTotalRxBytes;
2404 kal_uint32 uPreTotalTxBytes;
2405 kal_uint32 uPreTotalRxBytes;
2406} ValStatPeekRspMsgT;
2407
2408typedef struct
2409{
2410 ExeRspMsgT RspInfo; /* Response routing information */
2411} ValDatacardGetConnInfoMsgT;
2412
2413typedef struct
2414{
2415 ValWmcConnStatusT connStatus;
2416 ValWmcNtwkErrCodeT DisconnectError;
2417 ValWmcOtaspStateT otaspState;
2418
2419 kal_uint32 uTotalSessionMS;
2420 kal_uint32 uActiveSessionMS;
2421 kal_uint32 uTotalTxBytes;
2422 kal_uint32 uTotalRxBytes;
2423} ValConnInfoRspMsgT;
2424
2425typedef struct
2426{
2427 ExeRspMsgT RspInfo; /* Response routing information */
2428 ValWmcNtwkErrCodeT ErrCode;
2429} ValDataCardGetNtwkErrStrMsgT;
2430
2431typedef struct
2432{
2433 kal_uint8 ErrStr[VAL_MAX_NTWK_ERR_STR_LEN];
2434} ValDataCardGetNtwkErrStrRspMsgT;
2435
2436typedef enum
2437{
2438 VAL_DO_POWERDOWN,
2439 VAL_DO_POWERUP
2440} ValPowerupStatusT;
2441
2442typedef struct
2443{
2444 ValPowerupStatusT powerup;
2445} ValPowerupStatusMsgT;
2446
2447typedef struct
2448{
2449 kal_int8 RecId;
2450} ValDnsQueryMsgT;
2451
2452typedef struct
2453{
2454 kal_uint8 DNSEvent;
2455 kal_int16 DNSParam;
2456} ValDnsNetMsgT;
2457
2458typedef enum
2459{
2460 FACTORY_NOT_PROVISIONED,
2461 FACTORY_ALREADY_PROVISIONED
2462} DataInitMode;
2463
2464typedef struct
2465{
2466 DataInitMode Mode;
2467} ValAllDataInitMsgT;
2468
2469typedef enum
2470{
2471 /* AT_CARD_NOT_READY = 0,*/
2472 /* UIM_STATE_VALID=1,*/
2473 AT_UIM_CARD = 1,
2474 AT_SIM_CARD = 2,
2475 AT_UIM_SIM_CARD = 3,
2476 AT_UNKNOWN_CARD = 4,
2477 AT_CT_UIM_CARD = 5,
2478 AT_CT_UIM_SIM_CARD = 6,
2479 AT_NEED_PIN_CARD = 7, /* This card need to input PIN to determin the type */
2480 #ifndef MTK_CBP
2481 AT_CT_UICC_CARD = 8,
2482 AT_NOT_CT_UICC_CARD = 9,
2483
2484 #else
2485 AT_CT_UICC_CARD = 8, /* This enum is no more used, it's split into AT_CT_CSIM_CARD, AT_CT_CSIM_USIM_CARD, AT_CT_CSIM_USIM_ISIM_CARD */
2486 AT_NOT_CT_UICC_CARD = 9, /* This enum is no more used, it's split into AT_CSIM_CARD, AT_CSIM_USIM_CARD, AT_CSIM_USIM_ISIM_CARD, AT_USIM_CARD, AT_USIM_ISIM_CARD */
2487 AT_CSIM_CARD = 10,
2488 AT_CSIM_USIM_CARD = 11,
2489 AT_CSIM_USIM_ISIM_CARD = 12,
2490 AT_USIM_CARD =13,
2491 AT_USIM_ISIM_CARD =14,
2492 AT_CT_CSIM_CARD = 15,
2493 AT_CT_CSIM_USIM_CARD = 16,
2494 AT_CT_CSIM_USIM_ISIM_CARD = 17,
2495 #endif
2496#ifdef MTK_DEV_C2K_IRAT
2497 AT_CARD_LOCKED_CARD = 18,
2498 AT_CARD_IVSR_CARD = 19,
2499#endif
2500
2501 AT_UIM_INIT_BUSY = 20,
2502 AT_UIM_CARD_TYPE_CHANGE = 21,
2503 AT_SIM_SWITCH_NO_RESET = 22,
2504
2505
2506 AT_ROMSIM=240,
2507
2508 /* NO_UIM_CARD=255*/
2509 AT_CARD_NOT_READY = 255
2510}ATUimStateT;
2511
2512typedef enum
2513{
2514 UIM_STATE_VALID=1,
2515 ROMSIM=240,
2516 NO_UIM_CARD=255
2517}CTATUimStateT;
2518
2519typedef enum
2520{
2521 UIM_UPDATE_PHB,
2522 UIM_Del_PHB,
2523 UIM_UPDATE_SMS,
2524 UIM_Del_SMS,
2525
2526 ME_UPDATE_PHB,
2527 ME_Del_PHB,
2528 ME_UPDATE_SMS,
2529 ME_Del_SMS
2530}UimSmsPhbOpT;
2531
2532typedef struct
2533{
2534 kal_int16 RxPowerDbmQ6;
2535 kal_uint16 RxGainState;
2536 kal_int16 DivRxPowerDbmQ6;
2537 kal_uint16 DivRxGainState;
2538 kal_int16 TxPowerDbmQ6;
2539 kal_uint16 TxGainState;
2540 kal_int16 TxClosedLoopAdjQ6;
2541#ifdef MTK_DEV_C2K_IRAT
2542 kal_int16 LastEcIo;
2543 kal_int16 StableEcIo;
2544 kal_int16 EcIo;
2545#endif
2546#ifdef MTK_CBP
2547 kal_int16 TxAnt;
2548#endif
2549#if defined (MTK_CBP) && defined (MTK_DEV_C2K_IRAT)
2550 kal_uint16 Sinr;
2551#endif
2552
2553} ValUiDoRxTxPowerDataT;
2554
2555 /*------------------------------------------------------------------------
2556 * IOP Mux events
2557 *------------------------------------------------------------------------*/
2558typedef enum
2559{
2560 VAL_IOP_MUX_CLOSE_EVENT_ID
2561} ValIopMuxEvtT;
2562
2563typedef struct
2564{
2565 ValIopMuxEvtT event;
2566} ValIopMuxEvtMsgT;
2567
2568/*------------------------------------------------------------------------
2569 * GPS events
2570 *------------------------------------------------------------------------*/
2571typedef enum
2572{
2573 GPS_SUCCESS,
2574 GPS_FAIL
2575}ValGpsStatusT;
2576
2577typedef enum
2578{
2579 CP_VAL_GPS_POSITION_UTC_TIME = 0x1,
2580 CP_VAL_GPS_POSITION_LATITUDE = 0x2,
2581 CP_VAL_GPS_POSITION_LONGITUDE = 0x4,
2582 CP_VAL_GPS_POSITION_SPEED = 0x8,
2583 CP_VAL_GPS_POSITION_HEADING = 0x10,
2584 CP_VAL_GPS_POSITION_MAGNETIC_VARIATION = 0x20,
2585 CP_VAL_GPS_POSITION_WRT_SEA_LEVEL = 0x40,
2586 CP_VAL_GPS_POSITION_WRT_ELLIPSOID = 0x80,
2587 CP_VAL_GPS_POSITION_DILUTION_OF_PRECISION = 0x100,
2588 CP_VAL_GPS_POSITION_HORIZONTAL_DILUTION_OF_PRECISION = 0x200,
2589 CP_VAL_GPS_POSITION_VERTICAL_DILUTION_OF_PRECISION = 0x400,
2590 CP_VAL_GPS_POSITION_VALID_SATELLITE_COUNT = 0x800,
2591 CP_VAL_GPS_POSITION_VALID_SATELLITE_USED_PRNS = 0x1000,
2592 CP_VAL_GPS_POSITION_VALID_SATELLITE_IN_VIEW = 0x2000,
2593 CP_VAL_GPS_POSITION_VALID_SATELLITE_IN_VIEW_PRNS = 0x4000,
2594 CP_VAL_GPS_POSITION_VALID_SATELLITE_IN_VIEW_ELEVATION = 0x8000,
2595 CP_VAL_GPS_POSITION_VALID_SATELLITE_IN_VIEW_AZIMUTH = 0x10000,
2596 CP_VAL_GPS_POSITION_VALID_SATELLITE_IN_VIEW_SIGNAL_TO_NOISE_RATIO = 0x20000,
2597 CP_VAL_GPS_POSITION_UNCERTAINTY_ERROR = 0x40000,
2598 CP_VAL_GPS_POSITION_FIX_MODE = 0x80000,
2599 CP_VAL_GPS_POSITION_FIX_ERROR = 0x100000,
2600 CP_VAL_GPS_POSITION_ALL
2601}GpsPositionValidityMaskT;
2602
2603typedef enum
2604{
2605 GPS_FIX_QUALITY_UNKNOWN, /*Fix uses information from GPS satellites only.*/
2606 GPS_FIX_QUALITY_GPS, /*Fix uses information from GPS satellites and also a differential GPS (DGPS) station. */
2607 GPS_FIX_QUALITY_DGPS
2608}ValGpsFixQualityT;
2609
2610typedef enum
2611{
2612 VAL_GPS_FIX_UNKNOWN,
2613 VAL_GPS_FIX_2D,
2614 VAL_GPS_FIX_3D
2615}ValGpsFixTypeT;
2616
2617typedef enum
2618{
2619 GPS_FIX_SELECTION_UNKNOWN,
2620 GPS_FIX_SELECTION_AUTO,
2621 GPS_FIX_SELECTION_MANUAL
2622}ValGpsSelectionTypeT;
2623
2624typedef enum
2625{
2626 CP_VAL_GPS_FIX_MODE_UNKNOWN,
2627 CP_VAL_GPS_FIX_MODE_MSA,
2628 CP_VAL_GPS_FIX_MODE_MSB,
2629 CP_VAL_GPS_FIX_MODE_MSS,
2630 CP_VAL_GPS_FIX_MODE_AFLT,
2631 CP_VAL_GPS_FIX_MODE_SPEED_OPTIMAL,
2632 CP_VAL_GPS_FIX_MODE_ACCURACY_OPTIMAL,
2633 CP_VAL_GPS_FIX_MODE_DATA_OPTIMAL,
2634 CP_VAL_GPS_FIX_MODE_CONTROL_PLANE,
2635#ifdef MTK_CBP
2636 CP_VAL_GPS_FIX_MODE_SUPL_MSA_HYBRID_AGPS,
2637 CP_VAL_GPS_FIX_MODE_SUPL_MSA_AFLT_ONLY_AGPS,
2638 CP_VAL_GPS_FIX_MODE_SUPL_MSB_AGPS,
2639#endif
2640 CP_VAL_GPS_FIX_MODE_COUNT /* must be last entry*/
2641}ValGpsFixModeT;
2642
2643typedef enum
2644{
2645 CP_VAL_GPS_SUCCESS,
2646 CP_VAL_GPS_ERROR_INVALID_PARM,
2647 CP_VAL_GPS_ERROR_INVALID_SECURITY_STATUS,
2648 CP_VAL_GPS_ERROR_LOCATION_REQ_QUEUE_FULL,
2649 CP_VAL_GPS_ERROR_PREV_LOCATION_REQ_PENDING,
2650 CP_VAL_GPS_ERROR_CP_SESSION_PENDING
2651}ValGpsFixOperationStatusT;
2652
2653
2654
2655typedef enum
2656{
2657 CP_VAL_GPS_ASSISTANCE_DATA_ALMANAC,
2658 CP_VAL_GPS_ASSISTANCE_DATA_EPHEMERIS,
2659 CP_VAL_GPS_ASSISTANCE_DATA_LAST_LOCATION,
2660 CP_VAL_GPS_ASSISTANCE_DATA_BASE_STATION_ALMANAC,
2661 CP_VAL_GPS_ASSISTANCE_DATA_ALMANAC_CORRECTION,
2662 CP_VAL_GPS_ASSISTANCE_DATA_SV_HEALTH_INFO,
2663 CP_VAL_GPS_ASSISTANCE_DATA_NAVIGATION_MSG_BITS,
2664 CP_VAL_GPS_ASSISTANCE_DATA_ALL_GPS_DATA
2665}ValGpsAssistanceDataT;
2666
2667typedef enum
2668{
2669 CP_VAL_GPS_DEVICE_HW_STATE = 0x1,
2670 CP_VAL_GPS_DEVICE_EPH_SV_MASK = 0x2,
2671 CP_VAL_GPS_DEVICE_ALM_SV_MASK = 0x4,
2672 CP_VAL_GPS_DEVICE_SAT_IN_VIEW_PRN = 0x8,
2673 CP_VAL_GPS_DEVICE_SAT_IN_CARRIER_TO_NOISE_RATIO = 0x10,
2674 CP_VAL_GPS_DEVICE_ERROR = 0x20
2675} ValGpsDeviceValidityMaskT;
2676
2677typedef enum
2678{
2679 CP_VAL_GPS_HW_STATE_UNKNOWN,
2680 CP_VAL_GPS_HW_STATE_ON,
2681 CP_VAL_GPS_HW_STATE_IDLE
2682} ValGpsHwStateT;
2683
2684typedef enum
2685{
2686 SESS_CLOSE_NORMAL,
2687 TCP_OPEN_FAIL,
2688 PPM_PREF_QUAL_TIMER_OUT,
2689 SESS_OPEN_ERROR,
2690 BS_REJ_ERROR,
2691 OUT_REQ_TIMEROUT,
2692 ORIG_CANCEL,
2693 BS_DISCONN_EV,
2694 BS_CLOSE_SESS,
2695 MANUAL_BS_ALMANAC_FAIL,
2696 SESS_MSS_FALLBACK_EV,
2697 MPC_FAIL,
2698 NUM_SESS_STATUS
2699}SessionStatusE;
2700
2701/*GPS_OPEN_DEVICE_HW_INIT_ETS*/
2702typedef struct
2703{
2704 ExeRspMsgT rspInfo;
2705} ValGpsOpenDeviceHwInitMsgT;
2706
2707typedef struct
2708{
2709 ValGpsStatusT Status;
2710} ValGpsOpenDeviceHwInitRspMsgT;
2711
2712/*GPS_CLOSE_DEVICE_ETS */
2713typedef struct
2714{
2715 ExeRspMsgT rspInfo;
2716} ValGpsCloseDeviceMsgT;
2717
2718typedef struct
2719{
2720 MonSysTimeT SysTime;
2721 ValGpsStatusT Status;
2722} ValGpsCloseDeviceRspMsgT;
2723
2724/*GPS_POSITION_GET_ETS*/
2725typedef struct
2726{
2727 ExeRspMsgT rspInfo;
2728 kal_uint32 InstanceID;
2729} ValGpsPositionGetMsgT;
2730
2731typedef struct
2732{
2733 kal_uint32 InstanceID;
2734} ValGpsPositionGetReqT;
2735
2736
2737
2738typedef struct
2739{
2740 /*; Horizontal position uncertainty in meters of axis aligned with the angle
2741 ; specified in dWHorizontalErrorAngle of a two-dimension horizontal error
2742 ; ellipse. The value dwHorizontalConfidence gives the percentage of positions
2743 ; expected to fall within this ellipse, e.g. dwHorizontalConfidence = 39
2744 ; indicates a 1-sigma error ellipse is given.*/
2745 kal_uint32 HorizontalErrorAlong;
2746 kal_uint32 HorizontalErrorAngle;
2747 kal_uint32 HorizontalErrorPerp;
2748 kal_uint32 VerticalError;
2749 kal_uint32 HorizontalConfidence;
2750
2751 /*; Horizontal velocity uncertainty in m/s*/
2752 kal_uint32 HorizontalVelocityError;
2753 /*; Vertical velocity uncertainty in m/s*/
2754 kal_uint32 VerticalVelocityError;
2755 /*; Horizontal heading uncertainty in degrees*/
2756 kal_uint32 HorinzontalHeadingError;
2757 /*; Latitude uncertainty*/
2758 kal_uint32 LatitudeUncertainty;
2759 /*; Longitude Uncertainty*/
2760 kal_uint32 LongitudeUncertainty;
2761} VALGpsPositionErrorT;
2762
2763typedef struct
2764{
2765 kal_uint32 ValidityMask;
2766
2767 ValGpsSystemTimeT UTCTime;
2768
2769 kal_int32 Latitude; /*in degrees, positive number indicate north latitude*/
2770 kal_int32 Longitude; /*in degrees, positive number indicate east longitude*/
2771 double Speed; /*in knots (nautical miles)*/
2772 double Heading; /*in degrees, a heading of zero is true north*/
2773
2774/*the difference between the bearing to true north and the bearing shown on a magnetic compass, positive numbers indicate east*/
2775 double MagneticVariation;
2776 double AltitudeWRTSeaLevel; /*in meters, with respect to sea level*/
2777 double AltitudeWRTEllipsoid; /*in meters, with respect to the WGS84 ellipsoid*/
2778
2779 ValGpsFixQualityT FixQuality;
2780 ValGpsFixTypeT FixType;
2781 ValGpsSelectionTypeT SelectionType;
2782
2783 /*; degree to which the overall position is affected by positional dilution of posisiont (PDOP). PDOP is caused by the location of the satellites providing
2784 the GPS fix. Lower number indicates a more accurate position. A value of 1.
2785 0 indeicates the least dilution (highest accuracy), a value of 50 indicates
2786 the most dilution (lowest accuracy).*/
2787 double PositionDilutionOfPrecision;
2788 double HorizontalDilutionOfPrecision;
2789 double VerticalDilutionOfPrecision;
2790 kal_uint32 SatelliteCount; /*number of satellites used to obtain the position*/
2791
2792 kal_uint32 SatellitesUsedPRNs[12];
2793 kal_uint32 SatellitesInView;
2794 kal_uint32 SatellitesInViewPRNs[12];
2795 kal_uint32 SatellitesInViewElevation[12];
2796 kal_uint32 SatellitesInViewAzimuth[12];
2797 kal_uint32 SatellitesInViewSNR[12];
2798
2799 VALGpsPositionErrorT GPSPositionError;
2800
2801 ValGpsFixModeT FixMode;
2802
2803 /*; the number of GPS fixes attempted*/
2804 kal_uint32 GPSSessionCount;
2805 /*; the number of positions*/
2806 kal_uint32 NumberOfPositions;
2807 /*; Horizontal velocity in m/s*/
2808 kal_uint32 HorizontalVelocity;
2809 /* Vertical velocity in m/s*/
2810 kal_uint32 VerticalVelocity;
2811} ValGpsLocRespMsgT;
2812
2813typedef struct
2814{
2815 MonSysTimeT SysTime;
2816 kal_uint32 InstanceID;
2817 ValGpsLocRespMsgT LocResp;
2818} ValGpsPositionGetRspMsgT;
2819
2820/*GPS_OPEN_SESSION_ETS*/
2821
2822typedef enum
2823{
2824 VAL_GPS_SESSION_OPEN_SUCCESS,
2825 VAL_GPS_SESSION_OPEN_ERROR_SESSION_ALREADY_EXISTS,
2826 VAL_GPS_SESSION_OPEN_ERROR_MAX_SESSION_LIMIT_REACHED
2827} ValGpsSessionOpenStatusT;
2828
2829typedef enum
2830
2831{
2832 VAL_USERMODE,
2833 Val_TESTMODE,
2834 VAL_APMODE
2835
2836}ValLBS_ModeT;
2837
2838typedef struct
2839{
2840 kal_uint8 ResultCode;
2841} ValTlsOpenResponseMsgT;
2842
2843typedef struct
2844{
2845 kal_uint16 len;
2846 kal_uint8 *buf;
2847}ValTlsRxIndT;
2848
2849typedef struct
2850{
2851 ExeRspMsgT rspInfo;
2852 kal_uint32 InstanceID;
2853} ValGpsSessionOpenMsgT;
2854
2855typedef struct
2856{
2857 kal_uint32 InstanceID;
2858} ValGpsSessionOpenReqT;
2859
2860typedef struct
2861{
2862 kal_uint32 InstanceID;
2863 ValGpsSessionOpenStatusT Status;
2864} ValGpsSessionOpenRspMsgT;
2865
2866/*GPS_START_FIX_ETS*/
2867typedef struct
2868{
2869 ExeRspMsgT rspInfo;
2870 kal_uint32 InstanceID;
2871 kal_uint32 GpsStartFixFlag;
2872} ValGpsStartFixMsgT;
2873
2874typedef struct
2875{
2876 kal_uint32 InstanceID;
2877 kal_uint32 GpsStartFixFlag;
2878 kal_uint8 LBSMode;
2879} ValGpsStartFixReqT;
2880
2881typedef struct
2882{
2883 kal_uint32 InstanceID;
2884 ValGpsFixOperationStatusT Status;
2885} ValGpsStartFixRspMsgT;
2886
2887/*GPS_QUERY_FIX_ETS*/
2888typedef struct
2889{
2890 ExeRspMsgT rspInfo;
2891 kal_uint32 InstanceID;
2892} ValGpsQueryFixMsgT;
2893
2894typedef struct
2895{
2896 kal_uint32 InstanceID;
2897 ValGpsFixOperationStatusT Status;
2898} ValGpsQueryFixRspMsgT;
2899
2900/*GPS_STOP_FIX_ETS*/
2901typedef struct
2902{
2903 ExeRspMsgT rspInfo;
2904 kal_uint32 InstanceID;
2905} ValGpsStopFixMsgT;
2906
2907typedef struct
2908{
2909 kal_uint32 InstanceID;
2910} ValGpsStopFixReqT;
2911
2912typedef struct
2913{
2914 kal_uint32 action;
2915} ValGpsSessionCancelReqT;
2916
2917
2918typedef struct
2919{
2920 kal_uint32 InstanceID;
2921 ValGpsFixOperationStatusT Status;
2922} ValGpsStopFixRspMsgT;
2923
2924/*GPS_CONFIG_FIX_MODE_SET_ETS*/
2925typedef struct
2926{
2927 ExeRspMsgT rspInfo;
2928 kal_uint32 InstanceID;
2929 ValGpsFixModeT Mode;
2930} ValGpsFixModeConfigMsgT;
2931
2932typedef struct
2933{
2934 kal_uint32 InstanceID;
2935 ValGpsFixModeT Mode;
2936} ValGpsFixModeConfigReqT;
2937
2938
2939typedef struct
2940{
2941 kal_uint32 InstanceID;
2942 ValGpsFixOperationStatusT Status;
2943} ValGpsFixModeConfigRspMsgT;
2944
2945/*GPS_CONFIG_FIX_MODE_GET_MSG*/
2946typedef struct
2947{
2948 ExeRspMsgT rspInfo;
2949} ValGpsFixModeGetMsgT;
2950
2951typedef struct
2952{
2953 ValGpsFixOperationStatusT Status;
2954 ValGpsFixModeT Mode;
2955} ValGpsFixModeGetRspMsgT;
2956
2957/*GPS_CONFIG_FIX_RATE_SET_ETS*/
2958typedef struct
2959{
2960 ExeRspMsgT rspInfo;
2961 kal_uint32 InstanceID;
2962 kal_uint32 NumFixes;
2963 kal_uint32 TimeBFixes;
2964} ValGpsFixRateConfigMsgT;
2965
2966typedef struct
2967{
2968 kal_uint32 InstanceID;
2969 kal_uint32 NumFixes;
2970 kal_uint32 TimeBFixes; /*in seconds*/
2971} ValGpsFixRateConfigReqT;
2972
2973typedef struct
2974{
2975 kal_uint32 InstanceID;
2976 ValGpsFixOperationStatusT Status;
2977} ValGpsFixRateConfigRspMsgT;
2978
2979/*GPS_CONFIG_QOS_SET_ETS*/
2980typedef struct
2981{
2982 ExeRspMsgT rspInfo;
2983 kal_uint32 InstanceID;
2984 kal_uint32 HorizontalAccuracy;
2985 kal_uint32 VerticalAccuracy;
2986#ifdef MTK_CBP
2987 kal_uint32 PseudorangeAccuracy;
2988#endif
2989 kal_uint32 Performance;
2990} ValGpsQosConfigMsgT;
2991
2992typedef struct
2993{
2994 kal_uint32 InstanceID;
2995 kal_uint32 HorizontalAccuracy;
2996 kal_uint32 VerticalAccuracy;
2997 kal_uint32 Performance;
2998} ValGpsQosConfigReqT;
2999
3000typedef struct
3001{
3002 kal_uint32 InstanceID;
3003 ValGpsFixOperationStatusT Status;
3004} ValGpsQosConfigRspMsgT;
3005
3006/*GPS_WRITE_SERVER_CONFIG_ETS*/
3007typedef struct
3008{
3009 ExeRspMsgT rspInfo;
3010 kal_bool bAddrValid;
3011 kal_bool IPType; /*0: IPV4; 1: IPV6*/
3012 kal_uint32 Ipv4Addr;
3013 kal_uint32 IPv6Addr[4];
3014 kal_uint32 PortNum;
3015 kal_bool bURLValid;
3016 kal_uint8 URLAddr[256];
3017} ValGpsWriteServerConfigMsgT;
3018
3019
3020/*GPS_READ_SERVER_CONFIG_ETS*/
3021typedef struct
3022{
3023 kal_bool bAddrValid;
3024 kal_bool IPType; /*0: IPV4; 1: IPV6*/
3025 kal_uint32 Ipv4Addr;
3026 kal_uint32 IPv6Addr[4];
3027 kal_uint32 PortNum;
3028 kal_bool bURLValid;
3029 kal_uint8 URLAddr[256];
3030} ValGpsReadServerConfigMsgT;
3031
3032
3033typedef struct
3034{
3035 kal_bool bAddrValid;
3036 kal_bool IPType; /*0: IPV4; 1: IPV6*/
3037 kal_uint32 Ip4Addr;
3038 kal_uint32 IP6Addr[4];
3039 kal_uint32 PortNum;
3040 kal_bool bURLValid;
3041 kal_uint8 URLAddr[256];
3042} ValGpsWriteServerConfigReqT;
3043
3044typedef struct
3045{
3046 ValGpsStatusT Status;
3047} ValGpsWriteServerConfigRspMsgT;
3048
3049
3050typedef struct
3051{
3052 kal_uint8 id_s;
3053 kal_uint8 pref_resp_qual;
3054 kal_uint8 offset_req;
3055}VAL_LCS_PPM_REQ_T;
3056
3057
3058/*GPS_ENABLE_SECURITY_ETS*/
3059typedef struct
3060{
3061 ExeRspMsgT rspInfo;
3062 kal_uint32 InstanceID;
3063} ValGpsEnableSecurityMsgT;
3064
3065typedef struct
3066{
3067 kal_uint32 InstanceID;
3068} ValGpsEnableSecurityReqT;
3069
3070typedef struct
3071{
3072 kal_uint32 InstanceID;
3073 ValGpsStatusT Status;
3074} ValGpsEnableSecurityRspMsgT;
3075
3076/*GPS_WRITE_SECURITY_CONFIG_ETS*/
3077typedef struct
3078{
3079 ExeRspMsgT rspInfo;
3080 kal_uint32 InstanceID;
3081 kal_uint8 SecurityDataID;
3082 kal_uint8 SecurityDataLen;
3083 kal_uint8 SecurityData[20];
3084} ValGpsWriteSecurityConfigMsgT;
3085
3086typedef struct
3087{
3088 kal_uint32 InstanceID;
3089 kal_uint8 SecurityDataID;
3090 kal_uint8 SecurityDataLen;
3091 kal_uint8 SecurityData[20];
3092} ValGpsWriteSecurityConfigReqT;
3093
3094typedef struct
3095{
3096 MonSysTimeT SysTime;
3097 kal_uint32 InstanceID;
3098 ValGpsStatusT Status;
3099} ValGpsWriteSecurityConfigRspMsgT;
3100
3101/*GPS_READ_SECURITY_CONFIG_ETS*/
3102typedef struct
3103{
3104 ExeRspMsgT rspInfo;
3105 kal_uint32 InstanceID;
3106} ValGpsReadSecurityConfigMsgT;
3107
3108typedef struct
3109{
3110 kal_uint32 InstanceID;
3111} ValGpsReadSecurityConfigReqT;
3112
3113
3114typedef struct
3115{
3116 MonSysTimeT SysTime;
3117 kal_uint32 InstanceID;
3118 kal_uint32 HashAlgorithm;
3119 kal_uint8 SecurityDataID;
3120 kal_uint8 SecurityDataLen;
3121 kal_uint8 SecurityData[20];
3122} ValGpsReadSecurityConfigRspMsgT;
3123
3124typedef struct
3125{
3126 MonSysTimeT SysTime;
3127 ValGpsStatusT Status;
3128 kal_uint32 InstanceID;
3129 kal_uint32 HashAlgorithm;
3130 kal_uint8 SecurityDataID;
3131 kal_uint8 SecurityDataLen;
3132 kal_uint8 SecurityData[20];
3133} ValGpsReadSecurityConfigRspWithStatusMsgT;
3134
3135/*GPS_READ_ENCRYPT_CONFIG_ETS*/
3136typedef struct
3137{
3138 ExeRspMsgT rspInfo;
3139 kal_uint32 InstanceID;
3140} ValGpsReadEncryptConfigMsgT;
3141
3142typedef struct
3143{
3144 kal_uint32 InstanceID;
3145} ValGpsReadEncryptConfigReqT;
3146
3147typedef struct
3148{
3149 MonSysTimeT SysTime;
3150 kal_uint32 InstanceID;
3151 kal_uint32 EncryptAlgorithm;
3152 ValGpsSystemTimeT UTCTime;
3153
3154 kal_uint8 EncryptDataLen;
3155 kal_uint8 EncryptData[20];
3156} ValGpsReadEncryptConfigRspMsgT;
3157
3158typedef struct
3159{
3160 MonSysTimeT SysTime;
3161 ValGpsStatusT Status;
3162 kal_uint32 InstanceID;
3163 kal_uint32 EncryptAlgorithm;
3164 ValGpsSystemTimeT UTCTime;
3165 kal_uint8 EncryptDataLen;
3166 kal_uint8 EncryptData[20];
3167} ValGpsReadEncryptConfigRspWithStatusMsgT;
3168
3169
3170/*GPS_LBS_PRIVACY_SETTING_GET_ETS*/
3171typedef struct
3172{
3173 ExeRspMsgT rspInfo;
3174} ValGpsLbsPrivacySettingGetMsgT;
3175
3176typedef struct
3177{
3178 MonSysTimeT SysTime;
3179 ValGpsStatusT Status;
3180 ValGpsPrivacySettingT PrivacySetting;
3181} ValGpsLbsPrivacySettingGetRspMsgT;
3182
3183/*GPS_LBS_PRIVACY_SETTING_SET_ETS*/
3184typedef struct
3185{
3186 ExeRspMsgT rspInfo;
3187 kal_uint8 privacySetting;
3188} ValGpsLbsPrivacySettingsSetMsgT;
3189
3190typedef struct
3191{
3192 ValGpsStatusT Status;
3193} ValGpsLbsPrivacySettingsSetRspMsgT;
3194
3195/*GPS_BASESSD_GET_ETS*/
3196typedef struct
3197{
3198 ExeRspMsgT rspInfo;
3199 kal_uint32 InstanceID;
3200} ValGpsBaseSSDGetMsgT;
3201
3202typedef struct
3203{
3204 MonSysTimeT SysTime;
3205 ValGpsStatusT Status;
3206 kal_uint32 InstanceID;
3207 kal_uint8 BaseSSD[16];
3208 ValGpsSystemTimeT UTCTime;
3209} ValGpsBaseSSDGetRspMsgT;
3210
3211/*GPS_BASESSD_SET_MSG*/
3212typedef struct
3213{
3214 ExeRspMsgT rspInfo;
3215 kal_uint8 BaseSSD[16];
3216 ValGpsSystemTimeT UTCTime;
3217} ValGpsBaseSSDSetMsgT;
3218
3219typedef struct
3220{
3221 kal_uint8 BaseSSD[16];
3222 ValGpsSystemTimeT UTCTime;
3223} ValGpsBaseSSDSetReqT;
3224
3225typedef struct
3226{
3227 ValGpsStatusT Status;
3228} ValGpsBaseSSDSetRspMsgT;
3229
3230/*GPS_RAND_PERIOD_SET_ETS*/
3231typedef struct
3232{
3233 ExeRspMsgT rspInfo;
3234 kal_uint32 InstanceID;
3235 kal_uint32 RandPeriod;
3236} ValGpsRandPeriodSetMsgT;
3237
3238typedef struct
3239{
3240 kal_uint32 InstanceID;
3241 kal_uint32 RandPeriod;
3242} ValGpsRandPeriodSetReqT;
3243
3244typedef struct
3245{
3246 MonSysTimeT SysTime;
3247 kal_uint32 InstanceID;
3248 ValGpsStatusT Status;
3249} ValGpsRandPeriodSetRspMsgT;
3250
3251/*GPS_START_MODE_SET_ETS*/
3252
3253typedef enum
3254{
3255 VAL_GPS_START_MODE_HOT=1,
3256 VAL_GPS_START_MODE_WARM,
3257 VAL_GPS_START_MODE_COLD
3258} ValGpsStartMode;
3259
3260typedef struct
3261{
3262 ExeRspMsgT rspInfo;
3263 ValGpsStartMode startMode;
3264} ValGpsStartModeSetMsgT;
3265
3266
3267typedef struct
3268{
3269 ValGpsStartMode startMode;
3270} ValGpsStartModeSetReqT;
3271
3272typedef struct
3273{
3274 ValGpsStatusT Status;
3275} ValGpsStartModeSetRspMsgT;
3276
3277
3278/*GPS_RESET_ASSIST_ETS*/
3279typedef struct
3280{
3281 ExeRspMsgT rspInfo;
3282 ValGpsAssistanceDataT AssisData;
3283} ValGpsResetAssistMsgT;
3284
3285
3286typedef struct
3287{
3288 ValGpsAssistanceDataT AssisData;
3289} ValGpsResetAssistDataReqMsgT;
3290
3291
3292typedef struct
3293{
3294 MonSysTimeT SysTime;
3295 ValGpsStatusT Status;
3296} ValGpsResetAssistRspMsgT;
3297
3298typedef struct
3299{
3300 kal_bool OnOff; /*0: Off; 1: On*/
3301} ValGpsNmeaOuputCfgMsgT;
3302
3303 /*Val GPS Location Update ETS Spy*/
3304typedef struct
3305{
3306 kal_uint32 InstanceID;
3307 kal_uint8 LocationInfoIncl;
3308} ValGpsLocationUpdateSpy1MsgT;
3309
3310 typedef struct
3311{
3312 kal_uint32 InstanceID;
3313 kal_uint8 LocationInfoIncl;
3314 ValGpsLocRespMsgT LocResp;
3315} ValGpsLocationUpdateSpy2MsgT;
3316
3317/*Val GPS State Change ETS Spy*/
3318typedef struct
3319{
3320 kal_uint32 InstanceID;
3321} ValGpsStateChangeSpyMsgT;
3322
3323typedef struct
3324{
3325 ExeRspMsgT rspInfo;
3326 kal_uint8 Enable; /*0: close;1: open*/
3327} ValGpsNmeaOuputSettingsMsgT;
3328
3329typedef struct
3330{
3331 ValGpsStatusT Status;
3332} ValGpsNmeaOuputSettingsRspMsgT;
3333
3334typedef struct
3335{
3336 ExeRspMsgT rspInfo;
3337 kal_uint32 InstanceID;
3338} ValGpsFixRateConfigGetMsgT;
3339
3340typedef struct
3341{
3342 ValGpsStatusT Status;
3343 kal_uint32 NumFixes;
3344 kal_uint32 TimeBFixes;
3345} ValGpsFixRateConfigGetRspMsgT;
3346
3347 #define RXN_PGPS_NUM_SERVERS 3
3348
3349typedef struct
3350{
3351
3352 kal_uint8 feature_enable;
3353 kal_uint8 download_clock_enable;
3354 kal_char vendor_id[50+1];
3355 kal_char device_id[50+1];
3356 kal_char model_id[50+1];
3357 kal_char servers[RXN_PGPS_NUM_SERVERS][72];
3358 kal_uint16 server_ports[RXN_PGPS_NUM_SERVERS];
3359} ValPgpsCfgT;
3360
3361typedef struct
3362{
3363 ExeRspMsgT rspInfo;
3364} ValGpsSuplCellInfoMsgT;
3365
3366typedef struct
3367{
3368 kal_uint16 NID; /* Network ID, Range [0..0xFFFF] */
3369 kal_uint16 SID; /* System ID, Range [0..0x7FFF] */
3370 kal_uint16 Band; /* Band information; enum SysCdmaBandT */
3371 kal_uint16 BaseID; /* Base Station ID and Range [0..0xFFFF] */
3372 kal_uint16 RefPN; /* Base Station PN number, Range[0..0x1FF]*/
3373 kal_uint32 BaseLat; /* Base Station Latitudue, Range[0..0x3FFFFF] */
3374 kal_uint32 BaseLong; /* Base Station Longitude, Range[0..0x7FFFFF] */
3375 kal_uint16 GPSWeekNumber; /* GPS Week number, Range[0..0xFFFF] */
3376 kal_uint32 GPSSeconds; /* GPS Seconds, Range[0..0x3FFFFF] */
3377} ValGpsSuplCDMAInformationT;
3378
3379typedef struct
3380{
3381 kal_uint8 SectorID[16]; /* Sector ID, Length 128bits */
3382 kal_uint16 Band; /* Band information; enum SysCdmaBandT */
3383 kal_uint32 BaseLat; /* Base Station Latitudue, Range[0..0x3FFFFF] */
3384 kal_uint32 BaseLong; /* Base Station Longitude, Range[0..0x7FFFFF] */
3385 kal_uint16 GPSWeekNumber; /* GPS Week number, Range[0..0xFFFF] */
3386 kal_uint32 GPSSeconds; /* GPS Seconds, Range[0..0x3FFFFF] */
3387} ValGpsSuplHRPDInformationT;
3388
3389typedef struct
3390{
3391 kal_uint8 ValidCellIDInform; /* 0: Not Valid, 1: CDMA, 2: HRPD */
3392 ValGpsSuplCDMAInformationT CDMAInfo;
3393 ValGpsSuplHRPDInformationT HRPDInfo;
3394} ValGpsSuplCellInformationRspMsgT;
3395
3396#define ValPgpsCfgGetMsgT ValPgpsCfgT
3397
3398
3399/*
3400typedef struct
3401{
3402 kal_uint8 feature_enable;
3403 kal_uint8 download_clock_enable;
3404 kal_char vendor_id[50];
3405 kal_char device_id[50];
3406 kal_char model_id[50];
3407 kal_char server1[72];
3408 kal_char server2[72];
3409 kal_char server3[72];
3410} ValPgpsCfgGetMsgT;
3411
3412*/
3413
3414
3415/*Val GPS State Change ETS Spy*/
3416typedef struct
3417{
3418 /* indicate the validity of each field in this record */
3419 ValGpsDeviceValidityMaskT ValidityMask;
3420 ValGpsHwStateT Status;
3421 /*; Ephemeris Satellite Vehicles validaty mask. Each bit indicates the validity
3422 ; of the Ephemeris for the associated SV, bit-0 indicates the validity for SV1,
3423 ; bit-1 for SV2, ? bit-31 for SV32.*/
3424 kal_uint32 EphemerisSVMask;
3425 kal_uint32 AlmanacSVMask;
3426
3427 /*; PRN numbers of the satellites in view of the GPS hardware. The order of
3428 ;the elements in the next array, Satellites In View Carrier to Noise Ratio,
3429 ;must match the ordering of this list of SV PRNs.*/
3430 kal_uint32 SatellitesInViewPRNs[12];
3431 kal_uint32 SatellitesInViewCarriertoNoiseRatio[12];
3432 kal_uint32 DeviceError;
3433} ValGpsStateChangeParamsSpyMsgT;
3434
3435 /*Val GPS Rand Num1 Update Spy*/
3436typedef struct
3437{
3438 kal_uint32 InstanceID;
3439} ValGpsRandNum1UpdateSpyMsgT;
3440
3441typedef struct
3442{
3443 kal_uint8 *RspData;
3444} ValEtsGpsParmSetRspMsgT;
3445
3446typedef struct
3447{
3448 kal_uint8 *dataP;
3449} ValEtsGpsParmGetRspMsgT;
3450
3451typedef struct
3452{
3453 kal_uint32 InstanceID;
3454 GPS_FIX_MODE Mode;
3455 kal_uint8 Status;
3456 kal_uint8 SessStatus;
3457} ValPswIs801SessDoneMsgT;
3458
3459#ifdef MTK_DEV_GPSONE_ON_LTE
3460typedef struct
3461{
3462 kal_uint32 InstanceID;
3463 kal_int32 RatMode;
3464} ValPswIs801TcpConnReqMsgT;
3465#endif
3466
3467typedef struct
3468{
3469#ifdef MTK_CBP
3470 kal_uint32 InstanceId; /* add for supl, retrieve fix mode by instance id. */
3471#endif
3472#if defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT)
3473 kal_uint8 data[255];
3474#endif
3475 kal_uint8 *DataP;
3476 kal_uint16 Size;
3477
3478} ValGpsTcpbSendDataMsgT;
3479
3480typedef struct
3481{
3482 kal_uint32 Instance;
3483 kal_uint16 TimeRefCDMA;
3484#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
3485 double LAT;
3486 double LONG;
3487#else
3488 float LAT;
3489 float LONG;
3490#endif
3491 kal_uint8 LocUncrtnyAng;
3492 kal_uint8 LocUncrtnyA;
3493 kal_uint8 LocUncrtnyP;
3494 kal_uint8 FixType;
3495 kal_bool VelocityIncl;
3496 kal_uint16 VelocityHor;
3497 kal_uint16 Heading;
3498 kal_uint8 VelocityVer;
3499 kal_bool ClockIncl;
3500 kal_uint32 ClockBias;
3501 kal_uint16 ClockDrift;
3502 kal_bool HeightIncl;
3503 kal_uint16 Height;
3504 kal_uint8 LocUncrtnyV;
3505} ValLocRespDataT;
3506
3507typedef struct
3508{
3509 kal_uint32 ValidityMask;
3510 ValGpsSystemTimeT UTCTime;
3511
3512 kal_bool bOldPosDataSaved;
3513
3514 kal_int32 Latitude; /*in degrees, positive number indicate north latitude*/
3515 kal_int32 Longitude; /*in degrees, positive number indicate east longitude*/
3516#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
3517 double Speed; /*in knots (nautical miles)*/
3518 double Heading; /*in degrees, a heading of zero is true north*/
3519
3520 double MagneticVariation;
3521 double AltitudeWRTSeaLevel; /*in meters, with respect to sea level*/
3522 double AltitudeWRTEllipsoid; /*in meters, with respect to the WGS84 ellipsoid*/
3523#else
3524 float Speed; /*in knots (nautical miles)*/
3525 float Heading; /*in degrees, a heading of zero is true north*/
3526
3527 float MagneticVariation;
3528 float AltitudeWRTSeaLevel; /*in meters, with respect to sea level*/
3529 float AltitudeWRTEllipsoid; /*in meters, with respect to the WGS84 ellipsoid*/
3530#endif
3531 ValGpsFixQualityT FixQuality;
3532 ValGpsFixTypeT FixType;
3533 ValGpsSelectionTypeT SelectionType;
3534
3535#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
3536 double PositionDilutionOfPrecision;
3537 double HorizontalDilutionOfPrecision;
3538 double VerticalDilutionOfPrecision;
3539#else
3540 float PositionDilutionOfPrecision;
3541 float HorizontalDilutionOfPrecision;
3542 float VerticalDilutionOfPrecision;
3543#endif
3544 kal_uint32 SatelliteCount; /*number of satellites used to obtain the position*/
3545
3546 kal_uint32 SatellitesUsedPRNs[12];
3547 kal_uint32 SatellitesInView;
3548 kal_uint8 totalGsvNum;
3549 kal_uint8 seqGsvNum;
3550 kal_uint32 SatellitesInViewPRNs[12];
3551 kal_uint32 SatellitesInViewElevation[12];
3552 kal_uint32 SatellitesInViewAzimuth[12];
3553 kal_uint32 SatellitesInViewSNR[12];
3554
3555 VALGpsPositionErrorT GPSPositionError;
3556
3557 ValGpsFixModeT FixMode;
3558}ValNMEADataT;
3559
3560typedef struct{
3561 kal_uint32 Instance;
3562 GPS_FIX_MODE FixMode;
3563 union {
3564 ValLocRespDataT MsaCPLocRespMsg;
3565 PswLocRspDataT MsbMssLocRespMsg;
3566 ValNMEADataT MssNmeasStreamMsg;
3567 }LocRespDataT;
3568}ValLocRespMsgT;
3569
3570typedef struct{
3571 kal_uint32 Instance;
3572 GPS_FIX_MODE FixMode;
3573 union
3574 {
3575 ValLocRespDataT MsaCPLocRespMsg;
3576 PswLocRspDataT MsbMssLocRespMsg;
3577 PswGpsNmeaStreamMsgT MssNmeasStreamMsg;
3578 } LocRespDataT;
3579}ValPswLocRespMsgT;
3580
3581typedef struct {
3582 kal_uint32 Instance;
3583} ValPswSessActiveIndMsgT;
3584
3585typedef struct {
3586 kal_uint32 Instance;
3587#ifdef MTK_DEV_GPSONE_ON_LTE
3588 kal_int32 RatMode;
3589#endif
3590} ValPswMpcConnReqMsgT;
3591
3592typedef struct {
3593 kal_uint32 Interval;
3594 kal_bool bGPGGA;
3595 kal_bool bGPGSV;
3596 kal_bool bGPGSA;
3597 kal_bool bGPRMC;
3598 kal_bool bGPGST;
3599 kal_bool bGPGLL;
3600 kal_bool bGPVTG;
3601} ValNMEACfgSetMsgT;
3602
3603typedef struct {
3604 ExeRspMsgT rspInfo;
3605} ValNmeaCfgGetReqMsgT;
3606
3607typedef struct {
3608 kal_uint32 Interval;
3609 kal_bool bGPGGA;
3610 kal_bool bGPGSV;
3611 kal_bool bGPGSA;
3612 kal_bool bGPRMC;
3613 kal_bool bGPGST;
3614 kal_bool bGPGLL;
3615 kal_bool bGPVTG;
3616} ValNmeaCfgGetRspMsgT;
3617
3618typedef struct {
3619 kal_bool bEncryptDecryptResult;
3620} ValSecAesCryptRspMsgT;
3621
3622typedef struct {
3623 ExeRspMsgT rspInfo;
3624 kal_uint32 InstanceID;
3625 kal_uint8 Mode;
3626} ValGpsRestartFixMsgT;
3627
3628typedef struct {
3629 ValGpsStatusT Status;
3630} ValGpsRestartFixRspMsgT;
3631
3632typedef enum
3633{
3634 VAL_GPS_TECHNOLOGY_CELL_ID_BASED,
3635 VAL_GPS_TECHNOLOGY_GPS_BASED,
3636 VAL_GPS_TECHNOLOGY_AFLT_BASED,
3637 VAL_GPS_TECHNOLOGY_GPS_AND_AFLT_BASED
3638}ValGpsSearchTechE;
3639
3640typedef struct {
3641 ExeRspMsgT rspInfo;
3642 kal_uint32 InstanceID;
3643 ValGpsSearchTechE SearchTech;
3644} ValGpsConfigTechMsgT;
3645
3646typedef struct {
3647 kal_uint32 InstanceID;
3648 ValGpsStatusT Status;
3649} ValGpsConfigTechRspMsgT;
3650
3651typedef struct {
3652 kal_uint32 Instance;
3653}ValPswMpcCloseConnMsgT;
3654
3655
3656
3657
3658typedef struct {
3659 ExeRspMsgT rspInfo;
3660 /* ; Enable or disable Verizon security call flow*/
3661 ValGpsSecOperE Status;
3662/*; The Security Code must be correct before the GPS security status can be modified*
3663; The Security Code should be the last 4 digits of the MDN in reverse order
3664; If the incorrect security code is entered 5 times consecutively then this command should
3665; be rejected until the device is re-flashed and the fault cleared*/
3666 kal_uint32 SecCode;
3667} ValGpsSetSecMsgT;
3668
3669typedef struct {
3670 /* ; Enable or disable Verizon security call flow*/
3671 ValGpsSecOperE Status;
3672/*; The Security Code must be correct before the GPS security status can be modified*
3673; The Security Code should be the last 4 digits of the MDN in reverse order
3674; If the incorrect security code is entered 5 times consecutively then this command should
3675; be rejected until the device is re-flashed and the fault cleared*/
3676 kal_uint32 SecCode;
3677} ValGpsSetSecReqT;
3678
3679typedef enum
3680{
3681 CP_VAL_GPS_SET_SECURITY_SUCCESS,
3682 /*; when security code received does not match current code*/
3683 CP_VAL_GPS_SET_SECURITY_INCORRECT_CODE,
3684 /*when incorrect security code is received 5 consecutive time
3685 it should persist even after a power cycle */
3686 CP_VAL_GPS_SET_SECURITY_REJECTED
3687}ValGpsSecStatusE;
3688
3689typedef struct {
3690 MonSysTimeT SysTime;
3691 ValGpsSecStatusE Status;
3692} ValGpsSetSecRspMsgT;
3693
3694typedef struct {
3695 kal_uint32 EphSysTime;
3696 kal_uint32 AlmSysTime;
3697} ValAlmEphUpdateMsgT;
3698
3699typedef struct {
3700 kal_uint16 T_Dormancy;
3701 kal_bool bSaveToDbm;
3702} ValCtaUpdateMsgT;
3703
3704typedef struct {
3705 kal_uint8 N_DIGITS;
3706 kal_uint8 MDN[OTA_MAX_MDN_DIGITS];
3707} ValPswMDNUpdatedMsgT;
3708typedef struct {
3709 kal_uint32 ESN;
3710} ValPswESNUpdatedMsgT;
3711
3712#define HASH_DATA_NUM 20
3713
3714typedef struct {
3715 kal_uint32 BeginOffset;
3716 kal_uint32 EndOffset;
3717 kal_uint8 Hash[HASH_DATA_NUM];
3718} ValGpsOffsetHashDataT;
3719
3720typedef struct {
3721 ExeRspMsgT rspInfo;
3722 kal_uint32 InstanceID;
3723 kal_uint32 OffsetsSize;
3724 kal_uint8 *pHashData;
3725} ValGpsWriteOffsetInfoMsgT;
3726
3727typedef struct {
3728 ExeRspMsgT rspInfo;
3729 kal_uint32 InstanceID;
3730} ValGpsReadOffsetInfoMsgT;
3731
3732typedef struct {
3733 kal_uint32 InstanceID;
3734 ValGpsStatusT State;
3735 kal_uint32 OffsetsSize;
3736 kal_uint8 *pHashData;
3737} ValGpsReadOffsetInfoRspMsgT;
3738
3739typedef struct {
3740 kal_uint32 InstanceID;
3741 ValGpsStatusT State;
3742} ValGpsWriteOffsetInfoRspMsgT;
3743
3744typedef struct
3745{
3746 kal_uint8 SubnetMask;
3747 kal_uint8 ColorCode;
3748 kal_uint8 SectorID[16];
3749 kal_uint8 UserServed;
3750 } ValEvdoOvhdInfoT;
3751
3752#ifdef SYS_OPTION_EVDO
3753extern kal_uint8 Rev0RevRate;
3754extern kal_uint8 RevPerfStatEnable;
3755#endif
3756
3757typedef struct
3758{
3759 kal_uint32 SystemTime;
3760} ValHrpdSessStartMsg;
3761
3762/* Get Sprint PCS Mode message */
3763typedef struct
3764{
3765 ExeRspMsgT RspInfo; /* Response routing information */
3766} ValGetAlertStatusMsgT;
3767
3768typedef struct
3769{
3770 kal_uint32 TimeId;
3771}ValMpcCallbackMsgT;
3772
3773typedef struct
3774{
3775 ExeRspMsgT RspInfo;
3776 kal_uint32 IpAddr;
3777 kal_uint16 IpPort;
3778} ValGpsCTMpcCfgMsgT;
3779
3780typedef struct
3781{
3782 ValGpsStatusT Status;
3783} ValGpsCTMpcCfgRspMsgT;
3784
3785typedef struct
3786{
3787 kal_uint32 InstanceID;
3788 SessionStatusE State;
3789} ValGpsSessStatusMsgT;
3790
3791typedef struct
3792{
3793 ExeRspMsgT RspInfo;
3794 kal_uint8 SIP_NAI[72];
3795 kal_uint8 SIP_PASSWORD[16];
3796} ValGpsCTMpcPasswrdUsernameCfgMsgT;
3797
3798typedef struct
3799{
3800 ValGpsStatusT Status;
3801} ValGpsCTMpcPasswrdUsernameCfgRspMsgT;
3802
3803typedef enum
3804{
3805 MODEM_FAILURE_1x = 0x01,
3806 MODEM_FAILURE_DO = 0x02,
3807 MODEM_FAILURE = (MODEM_FAILURE_1x | MODEM_FAILURE_DO)
3808}ValGeneralModemFailureT;
3809
3810/*-------------------------------------------------------------------------
3811 * Silent Logging message definitions
3812 *------------------------------------------------------------------------*/
3813#define VAL_SILENT_LOG_FILENAME_LEN 128
3814
3815typedef enum
3816{
3817 VAL_SILENT_LOG_CMD_SUCCESS = 0,
3818 VAL_SILENT_LOG_FILE_OPEN_ERR,
3819 VAL_SILENT_LOG_FILE_WRITE_ERR
3820} ValSilentLogStatusT;
3821
3822/* Silent Log Config Create cmd/resp */
3823typedef struct
3824{
3825 ExeRspMsgT RspInfo;
3826 kal_char FileName [VAL_SILENT_LOG_FILENAME_LEN];
3827} ValSilentLogCfgCreateMsgT;
3828
3829typedef struct
3830{
3831 ValSilentLogStatusT Status;
3832} ValSilentLogCfgCreateRspMsgT;
3833
3834/* Set Silent Log Parms cmd/resp:
3835 * saves silent logging parameters in flash, takes affect at next power up.
3836 */
3837#define VAL_COUNT_NO_CHANGE 0xFFFF /* Leave count as is */
3838#define VAL_COUNT_FOREVER 0xFFFE /* Count not to decrement, log forever */
3839
3840typedef enum
3841{
3842 VAL_PARM_NO_CHANGE,
3843 VAL_PARM_DISABLE,
3844 VAL_PARM_ENABLE
3845} ValParmChgT;
3846
3847typedef enum
3848{
3849 LOG_OFF_STATE, /* ETS connected, no more logging until next power up */
3850 LOG_INACTIVE_STATE, /* No valid config file or count is zero */
3851 LOG_ACTIVE_STATE, /* Logging enabled with valid config file and non-zero count */
3852 LOG_PAUSED_STATE /* Logging was ACTIVE but was paused by user */
3853} ValSilentLogStateT;
3854
3855typedef struct
3856{
3857 kal_uint16 Count; /* Use VAL_COUNT_NO_CHANGE if count to remain as is */
3858 ValParmChgT Continuous; /* Use VAL_PARM_NO_CHANGE if value to remain as it */
3859 ValParmChgT LogFaults; /* Use VAL_PARM_NO_CHANGE if value to remain as it */
3860} ValSilentLogParmsT;
3861
3862typedef struct
3863{
3864 ExeRspMsgT RspInfo;
3865 ValSilentLogParmsT Parms;
3866 kal_char FileName [VAL_SILENT_LOG_FILENAME_LEN];
3867} ValSilentLogSetParmsMsgT;
3868
3869typedef struct
3870{
3871 ValSilentLogStatusT Status;
3872} ValSilentLogSetParmsRspMsgT;
3873
3874/* Get Silent Log Get Parms cmd/resp */
3875typedef struct
3876{
3877 ExeRspMsgT RspInfo;
3878} ValSilentLogGetParmsMsgT;
3879
3880typedef struct
3881{
3882 ValSilentLogStateT CurrState;
3883 ValSilentLogParmsT Parms;
3884 kal_char FileName [VAL_SILENT_LOG_FILENAME_LEN];
3885} ValSilentLogGetParmsRspMsgT;
3886
3887/* Update Silent Log Parms without affecting Parms file in flash;
3888 * logging will start immediately.
3889 * More customized logging types can be added as needed.
3890 */
3891typedef enum
3892{
3893 VAL_PCM_DATA_LOGGING = 1
3894} ValSilentLogTypeT;
3895
3896typedef struct
3897{
3898 ValSilentLogTypeT Type;
3899 kal_bool ClearActive; /* KAL_TRUE if active spies/traces are to be cleared */
3900 ValParmChgT Continuous; /* Use VAL_PARM_NO_CHANGE if value to remain as it */
3901 ValParmChgT LogFaults; /* Use VAL_PARM_NO_CHANGE if value to remain as it */
3902} ValSilentLogUpdateParmsMsgT;
3903
3904/* Silent Log Get Data Info cmd/resp */
3905typedef struct
3906{
3907 ExeRspMsgT RspInfo;
3908} ValSilentLogGetDataInfoMsgT;
3909
3910typedef struct
3911{
3912 kal_uint8 *BufP;
3913 kal_uint32 UploadSizeWords;
3914 kal_uint32 MaxSizeBytes;
3915 kal_uint32 CurrIdx;
3916} ValSilentLogGetDataInfoRspMsgT;
3917
3918/*------------------------------------------------------------------------
3919 * GPS on AP message definitions
3920 *------------------------------------------------------------------------*/
3921
3922/* Defalut SVs Number */
3923#define MAX_SV_NUM (32) /* It is depend on GPS solution */
3924#define MAX_EPH_PRN_NUM (16) /* Maximum PRNs in one Message according to IS-801-1 Spec */
3925#define MAX_ALM_PRN_NUM (32) /* Actually it is 64 and current PDE sent 7 PRNs to MS */
3926
3927typedef enum
3928{
3929 TOW_AA,
3930 TOW_ONLY
3931} AssistDataTypeT;
3932
3933/* Define for ToAP_MSG: VAL_AP_GPS_DEVICE_POWER_ON_REQ_MSG w/ CONFIG MSG */
3934typedef struct
3935{
3936 kal_uint32 InstanceID;
3937 GPS_FIX_MODE FixMode; /* Unkown:0, MSA:1, MSB:2, MSS:3, and Control Plane:4 */
3938 kal_uint32 FixRateNumFixes; /* A value of 1 means is interested in only one fix, */
3939 /* A value > 1,multiple fixes with some time in btw the attempts */
3940 kal_uint32 FixRateTimeBeFixes; /* Time, in seconds, btw position fix attempts. */
3941 /* A default of 30 seconds is used. */
3942 kal_uint32 QoSHAccuracy; /* Horizontal Accuracy, in meters, meaningful for MSB */
3943 kal_uint32 QoSVAccuracy; /* Vertical Accuracy, in meters, meaningful for MSB */
3944#ifdef MTK_CBP
3945 kal_uint32 QoSPRAccuracy; /* Pseudorange Accuracy, in meters, meaningful for MSA */
3946#endif
3947 kal_uint32 QoSPerformance; /* Performance response quality in terms of time, in seconds, meaningful for MSA & MSB */
3948} ValGpsPowerOnMsgT;
3949
3950typedef struct
3951{
3952 kal_uint32 InstanceID;
3953} ValGpsFakePowerOnMsgT;
3954
3955typedef struct
3956{
3957 kal_uint32 IsActive;
3958} ValGpsEmergencyCallIndMsgT;
3959
3960typedef struct
3961{
3962
3963 kal_uint8 duration;
3964}ValGpsFreqAidReqT;
3965
3966
3967
3968/* Define for ToAP_MSG: VAL_AP_GPS_FREQUENCY_AIDING_RSP_MSG */
3969typedef struct
3970{
3971 kal_uint32 FrequencyDataType; /* 00: Should not be used, */
3972 /* 01: Absolute center freq of the ECLK (Nominal Freq + delta) */
3973 /* 02: Delta from the nominal frequency */
3974 kal_uint32 AccuracyDataType; /* 00: Should not be used, 01: in units of PPM */
3975 /* 02: in units of Hz */
3976 kal_uint32 OS_time; /* OS Time [milliseconds] */
3977 kal_int32 Cal_ppb; /* Clock Frequency Calibration value [ppb] */
3978 double Cal_RMS_ppb; /* Frequency Calibration RMS [ppb] */
3979 double Frequency; /* in unit of Hz. ex, 19.6608Mhz => (19.6608 * 1000000)*/
3980 double Accuracy;
3981} ValGpsFreqAidingMsgT;
3982
3983/* Define for ToAP_MSG: VAL_AP_GPS_PRECISE_TIME_AIDING_RSP_MSG */
3984typedef struct
3985{
3986 kal_uint8 ValidRefTime; /* Not Available: 0, Available: 1*/
3987#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
3988 double TOW; /* GPS Time of Week [seconds] */
3989#else
3990 float TOW;
3991#endif
3992 kal_uint16 WeekNum; /* GPS Week Number, */
3993 kal_uint32 OS_Time; /* OS Time [milliseconds] */
3994 kal_uint32 Absolute_RMS_Acc; /* Absolute Pulse RMS Accuracy [microseconds] */
3995 kal_uint32 Relative_RMS_Acc; /* Relative Pulse RMS Accuracy [nanoseconds] */
3996} ValGpsFrameSyncMsgT;
3997
3998/* Define for ToAP_MSG: VAL_AP_GPS_PSEUDORANGE_MSMT_REQ_MSG w/ AA Data */
3999typedef struct
4000{
4001 kal_uint8 SVID;
4002 kal_int8 Doppler1; /* Doppler 1st order term Hz/s) */
4003 kal_uint8 Dopp_Win; /* Satellite Doppler Uncertainty */
4004 kal_uint8 SV_CodePh_int; /* GPS Integer Code Phase since the last GPS bit edge */
4005 kal_uint8 GPS_BitNum; /* GPS Bit Number relative to GPS_TOW */
4006 kal_uint8 SV_CodePh_Win; /* Code Phase Search Window */
4007 kal_uint8 Azimuth; /* Satellite Azimuth degrees */
4008 kal_uint8 Elevation; /* Satellite Elevation degrees */
4009 kal_uint16 SV_CodePh; /* GPS Code Phase 0..1022 chips */
4010 kal_int16 Doppler0; /* Doppler 0th order term ( Hz) */
4011} ValGpsAADataT;
4012
4013typedef struct
4014{
4015 kal_uint32 AA_Ref_TOW; /* Acq Assist Reference TOW */
4016 kal_uint8 AA_Num; /* Num of AA elements */
4017 kal_uint8 DopIncl; /* Doppler 0, included or not, 1---doppler 0 included */
4018 kal_uint8 AddDopIncl; /* 1 add doppler included1 */
4019 kal_uint8 Code_ph_incl; /* 1 Code phase information included */
4020 kal_uint8 Az_El_incl; /* 1 Azimuth and elevation angle included.*/
4021 ValGpsAADataT AA_Data[MAX_SV_NUM]; /*AA data array */
4022} ValGpsAADataMsgT;
4023
4024typedef struct
4025{
4026 float Qos;
4027} ValGpsQosDataMsgT;
4028/* Define for ToCP_MSG: PSEUDORANGE_MSMT RSP MSG w/ Measurement Data */
4029typedef struct
4030{
4031 kal_uint8 SVID; /* Range [1..32] */
4032 kal_uint8 SV_CN0; /* Satellite C/N0. */
4033 kal_uint8 MultiPath_Ind; /* Pseudorange Multipath Indicator */
4034 kal_uint8 PS_Range_RMS_ER; /* Pseudorange RMS Error */
4035 kal_int16 PS_Dopp; /* Satellite Doppler */
4036 kal_uint16 SV_Code_Ph_Wh; /* Satellite code phase - whole chips */
4037 kal_uint16 SV_Code_Ph_Fr; /* SV Code Phase Fractional Chips */
4038} ValGpsPRMeasDataT;
4039
4040typedef struct
4041{
4042 kal_uint8 prm_valid; /*0--not valid, 1--valid*/
4043 kal_uint32 Meas_TOW; /* Measurement GPS Time of Week */
4044 kal_uint8 Meas_TOW_Unc; /* Meas GPS Time of Week Uncertainty */
4045 kal_uint8 Num_Meas; /* Number of measurement 0-16 */
4046 ValGpsPRMeasDataT MeasData[MAX_SV_NUM];
4047} ValGpsPRMeasMsgT;
4048
4049typedef struct
4050{
4051 kal_uint8 sv_valid; /*0--not valid, 1--valid*/
4052} ValGpsSvValidMsgT;
4053/* Defined PDE's Location Response Structure for Control Plane. */
4054/* Note: For LAT/Long, Just bypass PDE's data to AP, NOT multiple 1M number */
4055typedef struct
4056{
4057 ValGpsSystemTimeT UTCTime; /* Current System Date and Time */
4058 double Latitude; /* In units degree, computed (LAT * 180/2^25) degrees */
4059 /* Range [-90..+90x(1-2^-24)]degrees */
4060 /* positive angles north of the equator and negative angles south of the equator.*/
4061 double Longitude; /* In units degrees, computed (LONG * 360/2^26) degrees */
4062 /* Range [-180 .. +180x(1-2^-25)] degrees */
4063 /* Positive angles east of the Greenwich meridian and negative angles west */
4064 float LocUncAng; /* In units degrees, computed (ANG * 5.625) degrees */
4065 /* Range [0..84.375] degrees. */
4066 float LocUncAx; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4067 float LocUncPe; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4068 kal_uint8 FixType; /* 0: For 2D Fix, 1: 3D fix */
4069 float VelocityHor; /* In units of meter/seconds, computed (VH x 0.25) meter/seconds */
4070 /* Range [0..127.75] meter/seconds */
4071 float Heading; /* In units degrees, computed (Heading * (360/2^10)) */
4072 /* Range [0..360x (1-2^-10)] degrees and a heading of zero is true north*/
4073 float VelocityVer; /* In units of meter/seconds, computed (VV x 0.5) meter/seconds */
4074 /* Range [-64..+63.5] meter/seconds */
4075 kal_int32 Height; /* In units of meter, Binary value of the field conveys the hight plus 500m */
4076 float LocUncVe; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4077} ValGpsCpLocRespMsgT;
4078
4079/* This structure is for only ETS's Spy. */
4080typedef struct
4081{
4082 ValGpsSystemTimeT UTCTime; /* Current System Date and Time */
4083 double Latitude; /* In units degree, computed (LAT * 180/2^25) degrees */
4084 /* Range [-90..+90x(1-2^-24)]degrees */
4085 /* positive angles north of the equator and negative angles south of the equator.*/
4086 double Longitude; /* In units degrees, computed (LONG * 360/2^26) degrees */
4087 /* Range [-180 .. +180x(1-2^-25)] degrees */
4088 /* Positive angles east of the Greenwich meridian and negative angles west */
4089 double LocUncAng; /* In units degrees, computed (ANG * 5.625) degrees */
4090 /* Range [0..84.375] degrees. */
4091 double LocUncAx; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4092 double LocUncPe; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4093 kal_uint8 FixType; /* 0: For 2D Fix, 1: 3D fix */
4094 double VelocityHor; /* In units of meter/seconds, computed (VH x 0.25) meter/seconds */
4095 /* Range [0..127.75] meter/seconds */
4096 double Heading; /* In units degrees, computed (Heading * (360/2^10)) */
4097 /* Range [0..360x (1-2^-10)] degrees and a heading of zero is true north*/
4098 double VelocityVer; /* In units of meter/seconds, computed (VV x 0.5) meter/seconds */
4099 /* Range [-64..+63.5] meter/seconds */
4100 kal_int32 Height; /* In units of meter, Binary value of the field conveys the hight plus 500m */
4101 double LocUncVe; /* In uints meters, Converted Position Table 4.2.4.2-6 */
4102} ValGpsETSCpLocRespMsgT;
4103
4104/* This structure is for Reference Location Response. */
4105typedef struct
4106{
4107 kal_uint8 ValidRefLoc; /* 0: Not Valid, 1: Valid TimeZone only, 2: Valid Time Zone and BS location */
4108 float TimeZoneLat; /* Ex)Default location is Kansas and (39.164253,-94.544503) */
4109 float TimeZoneLong; /* FYI, Time Zone Range is [-16h ~ +15.5h] */
4110 kal_uint16 SID; /* System ID and Range [0..32767] */
4111 kal_uint16 NID; /* Network ID and and Range [0..65535] */
4112 kal_uint16 BaseID; /* Base Station ID and Range [0..65535] */
4113 float BaseLat; /* WGS84 Geodetic Latitude [degrees],latitude from base last registered on */
4114 float BaseLong; /* WGS84 Geodetic Longitude[degrees],Longitude from base last registered on */
4115} ValGpsRefLocRespMsgT;
4116
4117typedef struct
4118{
4119 kal_uint8 SVID; /* Range [1..32] */
4120 kal_int8 Af2; /* Apparent satellite clock correction af2. */
4121 kal_uint8 IODE; /* Issue of data */
4122 kal_uint16 TOC; /* Clock data reference time. */
4123 kal_uint16 TOE; /* ephemeris reference time. */
4124 kal_int16 Af1; /* Apparent satellite clock correction af1. */
4125 kal_int16 Delta_n ; /* Mean motion difference from the computed value. */
4126 kal_int16 IDOT; /* Rate of inclination angle, If negative number and Masked with 0xE000 */
4127 kal_int16 C_RS; /* Amplitude of the sine harmonic correction term to the orbit radius */
4128 kal_int16 C_RC; /* Amplitude of the cosine harmonic correction term to the orbit radius. */
4129 kal_int16 C_US; /* Amplitude of the sine harmonic correction term to the argument of latitude. */
4130 kal_int16 C_UC; /* Amplitude of the cosine harmonic correction term to the argument of latitude.*/
4131 kal_int16 C_IS; /* Amplitude of the sine harmonic correction term to the angle of inclination. */
4132 kal_int16 C_IC; /* Amplitude of the cosine harmonic correction term to the angle of inclination.*/
4133 kal_int32 Af0; /* Apparent satellite clock correction af0,If negative number and Masked with 0xFFE00000*/
4134 kal_int32 M0; /* Mean anomaly at the reference time. */
4135 kal_uint32 A_SQRT; /* Square root of the semi-major axis. */
4136 kal_uint32 Eccentricity; /* Eccentricity. */
4137 kal_int32 I_angle; /* Inclination angle at the reference time. */
4138 kal_int32 Omega_0; /* Longitude of ascending node of orbit plane at weekly epoch. */
4139 kal_int32 Omega; /* Argument of perigee. */
4140 kal_int32 OmegaDOT; /* Rate of right ascension,If negative number and Masked with 0xFF000000 */
4141} ValGpsEphPrnDataT;
4142
4143typedef struct
4144{
4145 kal_uint8 TotalPart; /* Range [0.. 31] */
4146 kal_uint8 PartNum; /* Range [0..TotalParts] */
4147 kal_uint8 NumSV; /* Range [1..32] */
4148 ValGpsEphPrnDataT EPHData[MAX_EPH_PRN_NUM]; /* Set Max 16 PRNs, 3 + (57 * 16) = 915 Bytes */
4149} ValGpsEphPrnMsgT;
4150
4151typedef struct
4152{
4153 kal_uint8 SVID; /* Range [1..32] */
4154 kal_int16 Delta_I; /* Correction to inclination. */
4155 kal_int16 af0; /* Apparent satellite clock correction af0.If negative number and Masked with 0xF800 */
4156 kal_int16 af1; /* Apparent satellite clock correction af1.If negative number and Masked with 0xF800 */
4157 kal_int16 OmegaDOT; /* Rate of right ascension. */
4158 kal_uint16 Eccentricity; /* Eccentricity. */
4159 kal_uint32 A_SQRT; /* Square root of the semi-major axis */
4160 kal_int32 Omega_0; /* Longitude of ascending node of orbit plane.If negative number and Masked with 0xFF000000*/
4161 kal_int32 Omega; /* Argument of perigee. If negative number and Masked with 0xFF000000 */
4162 kal_int32 M0; /* Mean anomaly at reference time.If negative number and Masked with 0xFF000000.*/
4163} ValGpsAlmPrnDataT;
4164
4165typedef struct
4166{
4167 kal_uint8 TotalPart; /* Range [0.. 31] */
4168 kal_uint8 PartNum; /* Range [0..TotalParts]*/
4169 kal_uint8 NumSV; /* Range [1..32] */
4170 kal_uint8 Week_Num; /* GPS week number. Range [0..255] */
4171 kal_uint8 TOA; /* Time of almanac. in units of 4096s and Range [0..602112] */
4172 ValGpsAlmPrnDataT ALMData[MAX_ALM_PRN_NUM]; /* Set Max 32 PRNs, 5 + (27 * 32)= 869 bytes */
4173} ValGpsAlmPrnMsgT;
4174
4175typedef struct
4176{
4177 kal_uint8 AbPar_Incl; /* Inclusion of the alpha and beta parameters. 0 or 1 */
4178 kal_int8 Alpha0; /* Ionospheric correction parameter. */
4179 kal_int8 Alpha1; /* Ionospheric correction parameter. */
4180 kal_int8 Alpha2; /* Ionospheric correction parameter. */
4181 kal_int8 Alpha3; /* Ionospheric correction parameter. */
4182 kal_int8 Beta0; /* Ionospheric correction parameter. */
4183 kal_int8 Beta1; /* Ionospheric correction parameter. */
4184 kal_int8 Beta2; /* Ionospheric correction parameter. */
4185 kal_int8 Beta3; /* Ionospheric correction parameter. */
4186 kal_uint32 Z_Count; /* Z-Count */
4187} ValGpsIonMsgT;
4188
4189/* Decoded PDE's data for AP based on IS-801-1 Spec */
4190typedef struct
4191{
4192 kal_uint8 Velocity_Incl; /* Velocity information included */
4193 kal_uint8 Height_Incl; /* 1: include Heigth and Loc_Unc_V */
4194 kal_uint8 Clock_incl; /* 1: include Clock Information */
4195 kal_uint8 FixType; /* 0: For 2D Fix, 1: 3D fix */
4196 kal_int16 Loc_Unc_ang; /* in units Degrees */
4197 kal_int32 Clock_bias; /* */
4198 kal_int16 Clock_drift; /* */
4199 float Latitude; /* in units Degrees north of equator */
4200 float Longitude; /* in uints Degrees west of Greenwich meridian */
4201 float Loc_Unc_A; /* in units Meters */
4202 float Loc_Unc_P; /* in units Meters */
4203 float Velocity_Hor; /* Horizontal velocity magnitude. */
4204 float Heading; /* */
4205 float Height; /* in units Meters */
4206 float Vvelocity; /* Vertical velocity. */
4207 float Loc_Unc_V; /* Standard deviation of vertical error for position uncertainty */
4208} ValGpsLocMsgT;
4209
4210typedef struct
4211{
4212 kal_uint8 Ref_Pos_Req; /*1: need assist, 0:doesn't need */
4213 kal_uint8 Ion_Req; /*1: need assist, 0:doesn't need */
4214 kal_uint8 Alm_Req; /*1: need assist, 0:doesn't need */
4215 kal_uint8 Eph_Req; /*1: need assist, 0:doesn't need */
4216} ValGpsAssistReqT;
4217
4218typedef struct
4219{
4220 kal_uint16 datalen;
4221 kal_uint16 chanId; /* IopDataChannel */
4222} ValRpcRxMsgHeadT;
4223
4224typedef struct
4225{
4226 kal_uint16 datalen;
4227 kal_uint16 chanId;
4228 kal_uint8 *pMsgData;
4229}ValRpcRxMsgT;
4230typedef struct
4231{
4232 kal_uint16 PilotPN;
4233 /* PILOT_PN_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
4234 kal_int32 PnPhase;
4235 /* PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
4236 kal_uint16 Strength;
4237 /* RMS_ERR_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
4238 kal_uint8 RmsErrPhase;
4239} ValAfltPilotMeasurementT;
4240
4241typedef struct
4242{
4243 kal_uint8 SeqNum;
4244 /* TIME_REF_MS sent in PROVIDE PILOT PHASE MEASUREMENTS */
4245 kal_uint16 TimeRefMs;
4246 kal_bool OffsetIncl;
4247 kal_int16 MobOffset;
4248 /* REF_PN sent in PROVIDE PILOT PHASE MEASUREMENTS */
4249 kal_uint16 RefPN;
4250 /* REF_PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
4251 kal_uint16 RefPilotStrength;
4252
4253 kal_uint8 BAND_CLASS;
4254 kal_uint16 CDMA_FREQ;
4255 kal_uint16 BASE_ID;
4256 kal_uint16 SID;
4257 kal_uint16 NID;
4258 kal_uint16 TOTAL_RX_PWR;
4259
4260 /* NUM_PILOTS_P sent in PROVIDE PILOT PHASE MEASUREMENTS */
4261 /* actual number of pilot measurements in AFLTPilotMeasurement */
4262 kal_uint8 NumPilots;
4263 ValAfltPilotMeasurementT PosAFLT[SYS_CP_MAX_AFLT_LIST_PILOTS];
4264} ValPswPosAfltMeasurementMsgT;
4265
4266
4267typedef enum
4268{
4269 UNKOWN_MODE,
4270 NORMAL_GPS_MODE,
4271 VGTT,
4272 THIRD_PARTY_LBS,
4273 AT_GPS
4274}ValGpsModeT;
4275
4276typedef struct
4277{
4278 ExeRspMsgT rspInfo;
4279 kal_uint8 Mode;
4280} ValGpsTestModeSetT;
4281
4282typedef struct
4283{
4284 ValGpsFixOperationStatusT Status;
4285} ValGpsTestModeSetRspMsgT;
4286
4287
4288typedef struct
4289{
4290 ExeRspMsgT RspInfo;
4291 kal_uint8 Band;
4292 kal_int32 RFDelay1X;
4293 kal_int32 RFDelayDO;
4294
4295} ValGpsRfDelayMsgT;
4296
4297typedef struct
4298{
4299 ValGpsStatusT Status;
4300 kal_uint8 Band;
4301 kal_int32 RFDelay1X;
4302 kal_int32 RFDelayDO;
4303} ValGpsRfDelayRspMsgT;
4304
4305#ifdef MTK_PLT_ON_PC
4306typedef struct
4307{
4308 sbp_id_enum sbp_id;
4309 sbp_md_feature_enum feature;
4310} ValConfigSbpInfoMsgT;
4311#endif
4312
4313typedef enum
4314{
4315 BYPASS_USER_VERIFICATION,
4316 WAIT_USER_VERIFICATION,
4317 NOTIFY_USER_BYPASS_VERFICATION
4318}ValMpcNotifIndE;
4319
4320typedef enum
4321{
4322 START_IS801_SESSION,
4323 SID_NID_RETURN,
4324 CACHED_POS_USED,
4325 RESERVE_POS_TECH_IND
4326}ValMpcPostionTechIndE;
4327
4328typedef enum
4329{
4330 VAL_MPC_MSA,
4331 VAL_MPC_MSB,
4332 VAL_MPC_MSA_PREFED_MSB_ALLOWD,
4333 VAL_MPC_MSB_PREFED_MSA_ALLOWD,
4334 VAL_MPC_MODE_RESERVE
4335}ValMpcIs801ModeE;
4336
4337typedef struct
4338{
4339 kal_uint8 Length;
4340 ValMpcNotifIndE NotificationAndVerificationInd;
4341 ValMpcPostionTechIndE PositionTechInd;
4342 kal_uint8 PositionQosInc;
4343 kal_uint8 PositionQos;
4344 kal_uint16 NumOfFixes;
4345 kal_uint16 TimeBtwFixes;
4346 ValMpcIs801ModeE Is801PositionMode;
4347 kal_uint8 CorrelationId;
4348 kal_uint8 RequestIDEnc;
4349 kal_uint8 RequestIDLen;
4350 kal_char RequestID[256];
4351}ValMpcPositionRequestMsgT;
4352
4353typedef struct
4354{
4355 kal_uint8 Length;
4356 ValMpcNotifIndE NotificationAndVerificationInd;
4357 ValMpcPostionTechIndE PositionTechInd;
4358
4359 kal_uint8 PositionQosInc;
4360 kal_uint8 PositionQos;
4361 kal_uint16 NumOfFixes;
4362 kal_uint16 TimeBtwFixes;
4363 ValMpcIs801ModeE Is801PositionMode;
4364 kal_uint8 CorrelationId;
4365 kal_char action; /* 0: agree; 1 cancel; 2 timeout */
4366}ValMpcPositionRequestParaRespT;
4367
4368typedef struct
4369{
4370 kal_uint32 InstanceID;
4371} ValGpsStopAckMsgT;
4372
4373typedef struct
4374{
4375 kal_uint32 InstanceID;
4376} ValGpsStopReqMsgT;
4377
4378typedef struct
4379{
4380 kal_uint32 InstanceID;
4381 kal_uint8 Status;
4382} ValGpsCancelIndMsgT;
4383
4384typedef struct
4385{
4386 kal_uint32 sess_id;
4387 kal_uint8 Length;
4388 ValMpcNotifIndE NotificationAndVerificationInd;
4389 ValMpcPostionTechIndE PositionTechInd;
4390
4391 kal_uint8 PositionQosInc;
4392 kal_uint8 PositionQos;
4393 kal_uint16 NumOfFixes;
4394 kal_uint16 TimeBtwFixes;
4395 ValMpcIs801ModeE Is801PositionMode;
4396 kal_uint8 CorrelationId;
4397 kal_char action; /* 0: agree; 1 cancel; 2 timeout */
4398}ValIPCMpcPositionRequestParaRespT;
4399
4400void ValMpc3rdPartyParamStore(ValMpcPositionRequestParaRespT *Resp, kal_uint32 Inst);
4401void ValMpcUserCancelLbs(kal_uint8 CorrelationId);
4402
4403typedef struct
4404{
4405 kal_uint32 TimerId;
4406}ValCpSmsRegTimerExpiredMsgT;
4407
4408typedef enum
4409{
4410 PowerUpReg,
4411 MoSmsReg,
4412 MoVoiceReg,
4413 MtSmsReg,
4414 MtVoiceReg,
4415 MoDataReg,
4416 NwInitReg,
4417 UtkMenuSelReg,
4418 UtkMenuMeidReg,
4419 NUM_MAX_REGTYPE
4420}ValSmsAutoRegTypeT;
4421
4422typedef struct
4423{
4424 ValSmsAutoRegTypeT Trigger;
4425
4426}ValCpSmsRegTriggerReqMsgT;
4427 /*------------------------------------------------------------------------
4428 * NST List Mode prototypes
4429 *------------------------------------------------------------------------*/
4430
4431
4432typedef struct
4433{
4434 kal_uint16 len;
4435 kal_uint8 *data;
4436} ValCsfbGcsnaULMsgT;
4437
4438#ifdef MTK_DEV_C2K_IRAT
4439typedef struct
4440{
4441 IratSIB8MeasResultDataT rsp;
4442
4443} ValCsfbMeasRspMsgT;
4444
4445#define MAX_EUTRA_FREQS_NUM 8
4446
4447typedef struct
4448{
4449 kal_uint8 NumEUTRAFrequencies;
4450 kal_uint16 EARFCN[MAX_EUTRA_FREQS_NUM];
4451} ValClcNbrFreqsRptMsgT;
4452
4453typedef struct
4454{
4455 kal_bool isUatiUpdated;
4456 kal_bool isColorCodeUpdated;
4457} ValClcDoParaChangedIndMsgT;
4458
4459typedef struct
4460{
4461 kal_uint8 EfunState;
4462} ValEfunStateIndMsgT;
4463
4464typedef PACKED_PREFIX struct
4465{
4466 kal_uint8 src_id;
4467 c2k_1x_loop_back_call_mode_enum operation_mode;
4468} PACKED_POSTFIX ValMd11xLoopBackCallReqMsgT;
4469
4470typedef struct
4471{
4472 ValIratModemStatusT MdStatus;
4473 uim_access_option_enum UimAccessOption;
4474} ValUimEmdstatusUpdateIndMsgT;
4475
4476typedef struct
4477{
4478 kal_uint8 cardEsnMeOld[8];
4479 kal_uint8 cardEsnMeNew[8];
4480} ValUimPreStoredCardEsnmeIndMsgT;
4481
4482#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
4483typedef struct
4484{
4485 kal_uint16 status_word;
4486} UimApduStatusWordNotifyMsgT;
4487
4488typedef struct {
4489 kal_uint8 action_type;
4490 kal_uint8 refresh_type;
4491} UimRefreshNotiIndMsgT;
4492
4493typedef struct {
4494 kal_uint8 refresh_type;
4495}UimRefreshIndMsgT;
4496#endif
4497
4498typedef struct
4499{
4500 ValEmdstatusFlowVersionT EmdstatusFlowVersion;
4501} ValEmdstatusFlowVersionIndMsgT;
4502typedef struct
4503{
4504 kal_uint8 is_ims_registred;
4505} ValImsRegStatusUpdateIndMsgT;
4506
4507#endif /* MTK_DEV_C2K_IRAT */
4508
4509typedef struct
4510{
4511 kal_uint16 len;
4512 kal_uint8 *data;
4513} ValCsfbHoPrepXferMsgT;
4514
4515typedef enum
4516{
4517 VAL_IRAT1X_CSFB_PARM_RSP_ACK,
4518 VAL_IRAT1X_CSFB_SIB8_PARM_ACK,
4519 VAL_IRAT1X_CSFB_GCSNA_DL_ACK,
4520 VAL_IRAT1X_CSFB_MEAS_REQ_ACK,
4521 VAL_IRAT1X_CSFB_CONN_REL_ACK,
4522 VAL_IRAT1X_CSFB_HO_EUTRA_PREP_ACK,
4523 VAL_IRAT1X_CSFB_MOB_FROM_EUTRA_ACK,
4524
4525 VAL_IRAT1X_EVENT_MAX
4526} ValIrat1xCsfbEventIdT;
4527
4528typedef struct
4529{
4530 ValIrat1xCsfbEventIdT event;
4531} ValCsfbEventMsgT;
4532
4533#ifdef MTK_PLT_ON_PC
4534#define MAX_IP_TEST_DATA_LEN (AT_MAX_AT_CMD_LEN)
4535
4536typedef struct
4537{
4538 kal_uint16 size;
4539 /* the 1st byte in data is Iopchannel */
4540 kal_uint8 data[MAX_IP_TEST_DATA_LEN];
4541} ValIpDataSendReqMsgT;
4542
4543typedef struct
4544{
4545 kal_uint16 status;
4546 kal_uint16 len;
4547} ValIpDataSendCnfMsgT;
4548
4549typedef struct
4550{
4551 kal_uint8 *data;
4552 kal_uint16 size;
4553} ValIpDataRecvIndMsgT;
4554
4555typedef struct
4556{
4557 kal_uint32 SrcAddr;
4558 kal_uint32 DstAddress;
4559 kal_uint8 Data[MAX_IP_TEST_DATA_LEN]; /* point to the first byte of data. */
4560 kal_uint16 Size; /* The size of data in byte. */
4561} HlpIpDataSendReqMsgT;
4562#endif /* MTK_PLT_ON_PC */
4563
4564typedef enum
4565{
4566 VAL_CSS_CS_REG_IND_IRAT_1X_REG_DISABLED, /* Global Irat1XRegEnabled changed to FALSE */
4567 VAL_CSS_CS_REG_IND_IRAT_1X_REG_ENABLED, /* Global Irat1XRegEnabled changed to TRUE */
4568 VAL_CSS_CS_REG_IND_1X_IN_SERVICE, /* 1x changed to in service */
4569 VAL_CSS_CS_REG_IND_1X_NO_SERVICE, /* 1x changed to no service */
4570 VAL_CSS_CS_REG_IND_MAX,
4571} ValCssCsRegNotifyIndT;
4572
4573/* VAL_CSS_CS_REG_STATUS_NOTIFY_IND_MSG */
4574typedef struct
4575{
4576 ValCssCsRegNotifyIndT csRegIndType;
4577} ValCssCsRegStatusNotifyIndMsgT;
4578
4579
4580#ifdef MTK_CBP //MTK_DEV_C2K_IRAT
4581typedef struct
4582{
4583 HlpValPcmtModeT mode;
4584 kal_bool result;
4585 kal_uint32 pcmtEhrpdValue;
4586 kal_uint32 pcmtIratValue;
4587} ValHlpPcmtParaRspMsgT;
4588
4589typedef enum
4590{
4591 VAL_EHRPD_OFF = 0,
4592 VAL_EHRPD_ON,
4593 VAL_EHRPD_MODE_NUM
4594}ValEhrpdModeE;
4595#endif
4596#ifdef MTK_DEV_ENGINEER_MODE
4597typedef enum
4598{
4599 RF_TST_STOP_TRANSMIT = 0,
4600 RF_TST_START_TRANSMIT = 1
4601}RfTstControlActionT;
4602
4603typedef enum
4604{
4605 RF_TST_BAND_CLASS_0 = 0,
4606 RF_TST_BAND_CLASS_1 = 1,
4607 RF_TST_BAND_CLASS_2 = 2,
4608 RF_TST_BAND_CLASS_3 = 3,
4609 RF_TST_BAND_CLASS_4 = 4,
4610 RF_TST_BAND_CLASS_5 = 5,
4611 RF_TST_BAND_CLASS_6 = 6,
4612 RF_TST_BAND_CLASS_7 = 7,
4613 RF_TST_BAND_CLASS_8 = 8,
4614 RF_TST_BAND_CLASS_9 = 9,
4615 RF_TST_BAND_CLASS_10 = 10,
4616 RF_TST_BAND_CLASS_11 = 11,
4617 RF_TST_BAND_CLASS_12 = 12,
4618 RF_TST_BAND_CLASS_13 = 13,
4619 RF_TST_BAND_CLASS_14 = 14,
4620 RF_TST_BAND_CLASS_15 = 15
4621}RfTstControlBandT;
4622
4623typedef enum
4624{
4625 RF_TST_1XRTT = 0,
4626 RF_TST_EVDO = 1,
4627 RF_TST_NONE
4628}RfTstControlModulationT;
4629
4630typedef enum
4631{
4632 ECTM_MODE_NONE = 0,
4633 ECTM_MODE_SPIRENT = 1
4634}EctmMode;
4635
4636typedef enum
4637{
4638 VAL_DISABLE_FORCE_TX_ANTENNA = 0,
4639 VAL_ENABLE_FORCE_TX_ANTENNA,
4640 VAL_FORCE_TX_ANTENNA_INVALID_MODE = 255
4641}ValForceTxAntModeT;
4642
4643#ifdef MTK_DEV_C2K_IRAT
4644typedef enum
4645{
4646 ECLSC_ENABLE_MODE = 0,
4647 ECLSC_DISABLE_MODE = 1
4648}EclscMode;
4649#endif
4650
4651/* move here to pass intercross header file invoke which is really bad... */
4652typedef struct
4653 {
4654 RfTstControlActionT Action;
4655 kal_uint16 Channel;
4656 RfTstControlBandT Band;
4657 kal_int16 PowerLevel;
4658 } RcpRfTstPowerControlMsgT;
4659#endif
4660
4661#ifdef MTK_DEV_GPSONE_ON_LTE
4662typedef enum gps_rpc_rat_mode_t {
4663 GPSRPC_RAT_C2K = 0,
4664 GPSRPC_RAT_LTE = 1,
4665 GPSRPC_RAT_MODE_UNKNOWN = 2
4666}gps_rpc_rat_mode_t;
4667
4668typedef enum
4669{
4670 STATUS_IE_SOCKET_FAILED = 7, /* Socket created failed or connection failed*/
4671 STATUS_IE_CLOSEPENDINGWAIT = 6, /* TCP close by peers, wait for user */
4672 STATUS_IE_CLOSEPENDING = 5, /* TCP graceful close in progress */
4673 STATUS_IE_RECVMOREDATA = 4, /* more UDP or raw IP data */
4674 STATUS_IE_NODATA = 3, /* no data available for receive */
4675 STATUS_IE_CONNECTPENDING = 2, /* TCP connect attempt in progress */
4676 STATUS_IE_LISTENPENDING = 1, /* listening for remote connect */
4677 STATUS_IE_SUCCESS = 0, /* request successful */
4678 STATUS_IE_INVALIDRQST = -1, /* invalid or unknown request */
4679 STATUS_IE_INVALIDSAP = -2, /* invalid service access point */
4680 STATUS_IE_INVALIDPORT = -4, /* invalid listen or connect port */
4681 STATUS_IE_INVALIDADDR = -5, /* invalid connect host address */
4682 STATUS_IE_NOMOREMBUFS = -6, /* no mbufs available */
4683 STATUS_IE_NOMORETCBS = -7, /* no tcbs available */
4684 STATUS_IE_NOLOCALADDR = -8, /* local host address not set */
4685 STATUS_IE_INVALIDSIZE = -9, /* invalid send or receive size */
4686 STATUS_IE_INVALIDDATA = -10, /* invalid request field */
4687 STATUS_IE_INVALIDOPT = -11, /* option incorrectly specified */
4688 STATUS_IE_INVALIDFLAGS = -12, /* invalid send/sento flags */
4689 STATUS_IE_INVALIDSTATE = -13, /* invalid TCP state */
4690 STATUS_IE_TCP_TIME_OUT = -14, /* TCP connecting time out */
4691 STATUS_IE_TCP_RESET = -15, /* TCP reset by remote */
4692 STATUS_IE_TCP_ABORT = -16, /* TCP reset by local */
4693 STATUS_IE_TCP_DISCNT_NORMAL = -17 /* TCP Disconnect normal */
4694} GpsSocketStatusT;
4695
4696#define MAX_TCP_DATA_SIZE (1500/4)
4697
4698typedef enum{
4699 service_tcp = 0,
4700 service_udp = 1,
4701 service_unknown = 2,
4702 service_type_max = 0x10000000
4703}SocketServiceType;
4704typedef struct
4705{
4706 kal_uint32 IpAddress; /* 32-bit IP address. */
4707 kal_uint16 PortNumber; /* UDP port number. */
4708} ValSocketAddrT;
4709
4710typedef struct
4711{
4712 kal_int16 SocketId;/* input socket Id, will be used in the response message */
4713 SocketServiceType TcpType;
4714 ValSocketAddrT DestAddr;
4715}GpsSocketCreateMsgT;
4716
4717
4718typedef struct
4719{
4720 kal_int32 SocketHandle;
4721 kal_uint16 Size;
4722 //kal_uint8 *DataP;
4723 kal_uint32 Data[MAX_TCP_DATA_SIZE];
4724}GpsTcpbSendDataMsgT;
4725
4726
4727
4728
4729typedef struct
4730{
4731 kal_int32 SocketHandle;
4732 GpsSocketStatusT Status;
4733} GpsTcpbRecvRspMsgT;
4734typedef struct
4735{
4736 kal_int32 SocketHandle;
4737 kal_bool Graceful;
4738}GpsSocketCloseMsgT;
4739
4740
4741
4742
4743#endif
4744#ifdef MTK_DEV_C2K_IRAT
4745typedef struct
4746{
4747 kal_uint32 Id;
4748}ValUtkTimerExpiryMsgT;
4749#endif
4750#ifdef MTK_CBP
4751typedef enum
4752{
4753 ENWINFO_CALL_DROP = 402,
4754 ENWINFO_SMS_FAIL = 403
4755}EnwinfoEventE;
4756
4757typedef enum
4758{
4759 EVOCD_VOICE_SPEECH_CODEC_NONE_V02 = 0,
4760 EVODE_VOICE_SPEECH_CODEC_QCELP13K_V02 = 1,
4761 EVODE_VOICE_SPEECH_CODEC_EVRC_V02 = 2,
4762 EVODE_VOICE_SPEECH_CODEC_EVRC_B_V02 = 3,
4763 EVODE_VOICE_SPEECH_CODEC_EVRC_WB_V02 = 4,
4764 EVODE_VOICE_SPEECH_CODEC_EVRC_NW_V02 = 5,
4765 EVODE_VOICE_SPEECH_CODEC_AMR_NB_V02 = 6,
4766 EVODE_VOICE_SPEECH_CODEC_AMR_WB_V02 = 7,
4767 EVODE_VOICE_SPEECH_CODEC_GSM_EFR_V02 = 8,
4768 EVODE_VOICE_SPEECH_CODEC_GSM_FR_V02 = 9,
4769 EVODE_VOICE_SPEECH_CODEC_GSM_HR_V02 = 10,
4770 EVODE_VOICE_SPEECH_CODEC_INVALID
4771}EvocdCodec;
4772
4773typedef struct
4774{
4775 kal_uint16 Mcc;
4776 kal_uint16 SidMin;
4777 kal_uint16 SidMax;
4778}MccSidT;
4779
4780#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
4781typedef enum
4782{
4783 VAL_CARRIER_TEST, /* Test */
4784 VAL_CARRIER_SKT, /* KOREA SKT */
4785 VAL_CARRIER_KTF, /* KOREA KTF */
4786 VAL_CARRIER_LGT, /* KOREA LGT */
4787 VAL_CARRIER_VERIZON, /* US VERIZON */
4788 VAL_CARRIER_SPRINT, /* US SPRINT */
4789 VAL_CARRIER_ALLTEL, /* US ALLTEL */
4790 VAL_CARRIER_METRO_PCS, /* US METRO_PCS */
4791 VAL_CARRIER_US_CELLULAR, /* US CELLULAR */
4792 VAL_CARRIER_CRIKET, /* US CRIKET */
4793 VAL_CARRIER_TELUS, /* CANADA TELUS */
4794 VAL_CARRIER_BMC, /* CANADA BMC */
4795 VAL_CARRIER_BWA, /* CANADA BWA */
4796 VAL_CARRIER_CTC, /* CHINA CTC */
4797 VAL_CARRIER_INVALID
4798}ValCarrierIdEnumT;
4799
4800typedef struct
4801{
4802 kal_uint16 Mcc;
4803 kal_uint16 MncMin;
4804 kal_uint16 MncMax;
4805 ValCarrierIdEnumT Carrier;
4806}MccMncCarrierIdT;
4807#endif
4808
4809#ifdef MTK_GPS_SYNC_DEV
4810typedef struct
4811{
4812 double TOW;
4813 kal_uint16 WeekNum;
4814 kal_uint8 FreqBiasValid;
4815 kal_int32 FreqBias;
4816}ValGpsTimeIndMsgT;
4817#endif
4818
4819typedef struct
4820{
4821 kal_bool DomDataRoaming_enabled; /* true means enable data roaming, attach */
4822 kal_bool IntlDataRoaming_enabled;
4823}ValDataRoamingChgMsgT;
4824
4825typedef enum
4826{
4827 RF_OFF_NOT_RECEIVED = 0,
4828 RF_OFF_RECEIVED_HANDLING = 1,
4829 RF_OFF_RECEIVED_SUSPEND = 2,
4830 RF_OFF_RECEIVED_OFFDONE = 3,
4831}C2kRfOffT;
4832typedef enum
4833{
4834 VAL_GPS_SESS_INIT_STATE,
4835 VAL_GPS_SESS_LBS_HASH_STATE,
4836 VAL_GPS_SESS_SEC_REG_STATE,
4837 VAL_GPS_SESS_IDLE_STATE,
4838 VAL_GPS_SESS_IDLE_SSD_AUTH_CHAN_STATE,
4839 VAL_GPS_MPC_OPENNING_STATE,
4840 VAL_GPS_SESS_SUSPEND_STATE,
4841 VAL_GPS_SESS_OPEN_STATE,
4842 VAL_GPS_SESS_OPEN_SDD_AUTH_CHAN_STATE,
4843 VAL_GPS_SESS_OPEN_MSB_MPC_OPENNING_STATE,
4844 VAL_GPS_SESS_STATE_NUM
4845} ValGpsSessStateT;
4846typedef enum
4847{
4848 RAND_PERIOD_EXP,
4849 LOC_REQ,
4850} ValGpsAuthChallResultT;
4851typedef struct {
4852 kal_uint8 SecDataId;
4853 kal_uint8 SecDataLen;
4854 kal_uint8 SecData[GPS_MAX_SECURITY_DATA]; /*Rand1*/
4855} GPS_Security;
4856typedef struct {
4857 kal_uint32 EncryptAlg; /*GPS_ENCRYPT_AES_128_LAT_LONG*/
4858 ValGpsSystemTimeT UTCTime;
4859 kal_uint8 EncDataLen;
4860 kal_uint8 EncData[GPS_MAX_SECURITY_DATA];
4861 kal_uint8 AesKey[GPS_MAX_SECURITY_DATA];
4862} GPS_Encrypt; /*Rand2*/
4863
4864typedef enum
4865{
4866 VAL_GPS_MSS_IDLE,
4867 VAL_GPS_MSS_STARTED,
4868 VAL_GPS_MSS_DONE
4869} ValGpsMssStateT;
4870
4871typedef enum
4872{
4873 VAL_GPS_INACTIVE,
4874 VAL_GPS_OPENNING,
4875 VAL_GPS_OPEN
4876}ValSessBlkStateE;
4877
4878
4879typedef struct ValGpsSessCtlBlkT
4880{
4881 kal_uint32 InstanceID;
4882
4883 ValGpsFixModeT FixMode;
4884 kal_uint32 NumFixes;
4885 kal_uint32 TimeBFixes;
4886
4887 kal_uint32 HorizontalAccuracy;
4888 kal_uint32 VerticalAccuracy;
4889#ifdef MTK_CBP
4890 kal_uint32 PseudorangeAccuracy;
4891 kal_bool OnCTNtwk;
4892 ValGpsSecOperE SecOp;
4893#ifdef MTK_DEV_GPSONE_ON_LTE
4894 kal_int32 RatMode;
4895#endif
4896#endif
4897 kal_uint32 Performance;
4898
4899 ValGpsSessStateT GpsSessState;
4900
4901 kal_timerid GpsRand1TimerCb;
4902 kal_uint32 RandPeriod;
4903 ValGpsAuthChallResultT AuthResult;
4904
4905 GPS_Security GpsSecurity;
4906 GPS_Encrypt GpsEncrypt;
4907
4908 ValGpsMssStateT MssState;
4909 kal_uint8 MssDataRcvFlag;
4910 kal_bool bDataReadReady;
4911 ValLocRespMsgT LocRespData;
4912 kal_uint8 LocEncryPhase;
4913 ValGpsSystemTimeT UTCTime;
4914
4915 kal_uint16 NmeaSpyFlag;
4916 kal_uint32 NumberOfPositions;
4917
4918 ValGpsReadOffsetInfoMsgT ReadOffsetInfoMsg;
4919 kal_bool bReadOffsetInfoPending;
4920
4921 SessionStatusE State;
4922 ValSessBlkStateE Lbsstate;
4923
4924 kal_uint8 UserId; /*0: default; 1: RPC; 2: AT; 3: VGTT: 4: 3rd party; 5: exception*/
4925 kal_uint8 CancelId;
4926
4927#if ((defined SYS_OPTION_RPC) && (defined SYS_OPTION_GPS_RPC))
4928 kal_bool bAPInit;
4929#endif
4930 kal_uint8 StopReason;
4931} ValGpsSessCtlBlkT;
4932
4933extern ValGpsSessCtlBlkT* ValGpsGetFreeSessCtlBlk(kal_uint32 InstanceID);
4934#endif
4935
4936#ifdef MTK_CBP /*for mode switch optimization*/
4937typedef struct
4938{
4939 LOCAL_PARA_HDR
4940 OperationModeT OpMode;
4941 kal_bool Is1XPowerOn;
4942 kal_bool IsDOPowerOn;
4943}ValRatModeChgCnfMsgT;
4944#endif
4945#ifdef __TC10_IPC_CDMA_SUPPORT__
4946/* VAL_SMS_POWER_STATUS_MSG */
4947typedef struct
4948{
4949 kal_bool PowerUp;
4950} ValSmsPowerStatusMsgT;
4951#endif
4952typedef enum
4953{
4954 POSITIONING_REQUEST_ID=1,
4955 CANCEL_NI_TRACKING_SESSION_ID,
4956 CANCEL_REFRESH_MS_RES_TRACKING_SESSION_ID,
4957 RESERVE_MPC_MT_SMS_ID
4958}ValMpcMTSmsMessageIDE;
4959
4960typedef enum
4961{
4962 REJ_POSITIONING_REQUEST_ID=1,
4963 CANCEL_POSITIONING_NOTIFICATION_ID,
4964 RESERVE_MPC_MO_SMS_ID
4965}ValMpcMOSmsMessageIDE;
4966
4967typedef enum
4968{
4969 MS_TCP_MPC_MESSAGE,
4970 MPC_MS_TCP_MESSAGE,
4971 MS_SMS_MPC_MESSAGE,
4972 MPC_SMS_MS_MESSAGE,
4973}ValMpcMessageTraceIds;
4974
4975typedef enum
4976{
4977 NULL_MO_TCP_ID=0,
4978 TCP_POSITIONING_REQUEST_ID=1,
4979 POSITION_REPORT_ID,
4980 CANCEL_TRACKING_SESSION_ID,
4981 RESERVE_MPC_MT_TCP_ID
4982}ValMpcMOTcpMessageIDE;
4983
4984typedef enum
4985{
4986 START_POSITION_PROCESS_RESP_ID=1,
4987 POSITION_REPORT_RESP_ID,
4988 MPC_MO_TCP_RESERVE_ID
4989}ValMpcMtTcpMessageIDE;
4990
4991
4992typedef struct
4993{
4994 ValMpcMessageTraceIds traceIds;
4995 union {
4996 ValMpcMOTcpMessageIDE MoTcp;
4997 ValMpcMtTcpMessageIDE MtTcp;
4998 ValMpcMOSmsMessageIDE MoSms;
4999 ValMpcMTSmsMessageIDE MtSms;
5000 } u;
5001}ValGpsCpValMpcMsgT;
5002
5003typedef enum {
5004 VAL_POWER_OFF_BY_CPOF,
5005 VAL_POWER_OFF_BY_EPOF,
5006 VAL_POWER_OFF_BY_OTHERS,
5007}ValPowerOffModeT;
5008
5009 /*------------------------------------------------------------------------
5010 * Global function prototypes
5011 *------------------------------------------------------------------------*/
5012
5013#ifdef __cplusplus
5014extern "C" {
5015#endif
5016
5017kal_int8 GetValStatus( void );
5018void ValGetDebugInfo( kal_bool isAtCmd );
5019RegIdT ValRegister( const ValEventHandlerT* EventHandlerP,
5020 ValEventFunc CallBack );
5021void ValUnRegister( const ValEventHandlerT* EventHandlerP,
5022 RegIdT RegId );
5023void ValProcessEvent( const ValEventHandlerT* EventHandlerP,
5024 kal_uint32 Event,
5025 void* EventDataP );
5026void GetUimSPName(void * MsgP);
5027#ifdef MTK_CBP
5028kal_bool ValGetRegResumeFlag(void);
5029#endif
5030
5031/*-----------------------------------------------------------------
5032 * valmisc.c interface
5033 *----------------------------------------------------------------*/
5034void ValMiscPowerDown( ValPowerDownIdT Signal, kal_uint32 ValMsgId );
5035RegIdT ValMiscRegister( ValEventFunc CallBack );
5036void ValMiscUnregister( RegIdT RegId );
5037void ValMiscNamRequest( void );
5038void ValUserInfoControl( ValUserInfoCmdT CmdId );
5039//RegIdT ValVrecRegister( ValEventFunc EventFuncP );
5040kal_bool ValGetEmergencyModeTestingMsg( void );
5041void ValGetFirmwareVersion (void);
5042
5043/*-----------------------------------------------------------------
5044 * valfsimsg.c interface
5045 *----------------------------------------------------------------*/
5046RegIdT ValFsiRegister(ValEventFunc EventFuncP);
5047
5048/*-----------------------------------------------------------------
5049 * val interfaces to HWD (valmisc.c)
5050 *----------------------------------------------------------------*/
5051void ValPwrOffBoard( void );
5052void* ValMalloc( kal_uint32 size );
5053void* ValMallocNoHalt( kal_uint32 size );
5054void ValFree(void* Ptr);
5055kal_uint32 ValGetMemPoolMinFree(ValMemPoolTypeT MemPoolId);
5056kal_uint32 ValGetAvailableSpace(ValMemPoolTypeT PoolType);
5057kal_uint32 ValMemoryPoolSizeGet(ValMemPoolTypeT PoolId);
5058
5059void ValTestModeStopRefurbishAging (void);
5060void ValTestModeRefurbishAgingChangeTxPwr (kal_bool Increment);
5061void ValDispGetLcdDeviceInfoTest(ValDispDeviceInfoMsgT* MsgP);
5062
5063/*-----------------------------------------------------------------
5064 * val voice stream VSTRM
5065 *----------------------------------------------------------------*/
5066//void ValVstrmFlushVoiceData(void);
5067//void ValVstrmGetVoiceData(kal_uint8 *DstBuf, kal_uint16 Size, kal_uint16 *NumPcktsP, kal_uint16* NumBytesRcvdP);
5068//void ValVstrmChkVoiceData(kal_uint16 *NumPcktsP, kal_uint16* NumBytesRcvdP);
5069//void ValVstrmDiscardVoiceData(kal_uint16 Size, kal_uint16 *NumPcktsP, kal_uint16* NumBytesDiscardedP);
5070
5071/*-----------------------------------------------------------------
5072 * val interfaces for connectivity (valconnectivity.c)
5073 *----------------------------------------------------------------*/
5074ValRptCpEventT ValPktSvcState( void );
5075
5076
5077/*-----------------------------------------------------------------
5078 * val interfaces for Silent Logging (valtask.c)
5079 *----------------------------------------------------------------*/
5080kal_uint16 ValSilentLogUpload (kal_uint8 *DstP, kal_uint16 NumBytes, kal_uint32 Offset, kal_uint32 *TotSizeP);
5081
5082
5083/*-----------------------------------------------------------------
5084 * val PGPS functions (valpgps.c)
5085 *----------------------------------------------------------------*/
5086void PgpsPdaInit(void);
5087void PgpsPdaStart(void );
5088void PgpsPdaDbmReadRspMsg(void * MsgDataP);
5089void PgpsPdaDbmWriteRspMsg(void *MsgDataP);
5090void PgpsPdaCfgSet( ValPgpsCfgT * msg_buf);
5091void PgpsPdaCfgGet( ExeRspMsgT * MsgP );
5092void PgpsPdaTimerHandler(void );
5093void PgpsPdaStartNetwork(void );
5094void PgpsConnected( void );
5095kal_bool PgpsReadMoreData(void );
5096kal_bool PgpsClosePpp(void );
5097void PgpsDataFeteched(void );
5098void ValRecordModemFailure(kal_uint8 Interface, kal_bool Set);
5099#ifdef MTK_CBP
5100extern kal_uint32 GPSSessStartTime;
5101extern void ValPswNotifyGpsOfEmergencyCall(kal_uint8 IsActive);
5102extern void ValPswTriggerFakeStopGps(void);
5103#endif
5104
5105#if defined(__TC10__) && defined(__FEATURE_SS_LOG__) && !defined (MTK_PLT_ON_PC)
5106#define CVAL_MAX_SS_LOG_LEN 200
5107
5108void ValPrintCdmaSSLog(const char* fmt, ...);
5109#define SS_STR_TRACE(fmt, ...) ValPrintCdmaSSLog(fmt, ##__VA_ARGS__)
5110#else
5111#define SS_STR_TRACE(fmt, ...)
5112#endif
5113
5114#ifdef MTK_DEV_C2K_IRAT
5115#define C2K_IRAT_STATUS (ValIratGetInterRatOperationStatus())
5116#define C2K_IRAT_ON if(C2K_IRAT_STATUS)
5117#define C2K_IRAT_OFF if(!C2K_IRAT_STATUS)
5118kal_bool ValIsLTEDisabled(void);/*check if 4G is disabled*/
5119#ifdef MTK_DEV_C2K_SRLTE
5120/* C2K_SRLTE_STATUS is a constant, for non-single bin build. */
5121#ifdef MTK_DEV_C2K_SRLTE_L1
5122#define C2K_SRLTE_STATUS (KAL_TRUE)
5123#else
5124#define C2K_SRLTE_STATUS (KAL_FALSE)
5125#endif
5126
5127#define C2K_SRLTE_ON if (C2K_SRLTE_STATUS)
5128#define C2K_SRLTE_OFF if (!C2K_SRLTE_STATUS)
5129
5130/* #define SRLTE_RSVA_STUB 1 */
5131#else /* MTK_DEV_C2K_SRLTE */
5132#define C2K_SRLTE_STATUS (KAL_FALSE)
5133#endif /* MTK_DEV_C2K_SRLTE */
5134
5135#define C2K_IRAT_ON_OR_SRLTE_ON if((C2K_IRAT_STATUS)||(C2K_SRLTE_STATUS))
5136
5137#else
5138#define C2K_IRAT_STATUS (ValIratGetInterRatOperationStatus())
5139#define C2K_IRAT_ON if(C2K_IRAT_STATUS)
5140#define C2K_IRAT_OFF if(!C2K_IRAT_STATUS)
5141kal_bool ValPsdmIsAttached(void); // check if +cgatt initiated
5142kal_bool ValIsLTEDisabled(void);/*check if 4G is disabled*/
5143
5144#endif /* MTK_DEV_C2K_IRAT */
5145
5146
5147#ifdef __cplusplus
5148}
5149#endif /* __cplusplus */
5150
5151#ifdef MTK_CBP /*for mode switch optimization*/
5152extern OperationModeT ValOpMode;
5153extern OperationModeT ValOpModeOld;
5154extern OperationModeT OpModeForSim1;
5155extern kal_bool GmssModeSwitchOngoing;
5156extern kal_bool NeedDeepSleepByCPOF;
5157extern OperationModeT C2KPrefMode;
5158extern kal_uint8 PowerCtrlPendByModeSwitch;
5159extern kal_uint8 ValGmssHybridModeSetProgress;
5160extern kal_bool SetRatModeByCPON;
5161
5162extern OperationModeT ValModeGet(void);
5163extern void ValSavePrefModeToNV(OperationModeT PrefModeForSave);
5164
5165#define VAL_HYBRID_MODE_CHG_1X_ENABLE_MASK 0x01
5166#define VAL_HYBRID_MODE_CHG_1X_DISABLE_MASK 0x02
5167#define VAL_HYBRID_MODE_CHG_DO_ENABLE_MASK 0x04
5168#define VAL_HYBRID_MODE_CHG_DO_DISABLE_MASK 0x08
5169#define VAL_HYBRID_MODE_CHG_REQ_START_MASK 0x80
5170#endif
5171
5172/*for set rat mode optimization*/
5173extern kal_bool IsModeSwitchCompleted;
5174extern kal_bool IsEmdStatusCompleted;
5175extern kal_bool IsCssStatusCompleted;
5176extern kal_uint8 md3_active_sim_index;
5177extern kal_uint8 sim_index_cnf_md1;
5178
5179#if defined (__MCIF_SUPPORT__) && defined (__CO_ANTENNA__)
5180
5181#define CONSYS_MDC2K_COANT_STAT_IND 0x0002
5182#define MDC2K_CONSYS_COANT_STAT_IND 0x0101
5183
5184typedef enum
5185{
5186 ENUM_C2K_ENTER_FLIGHT_MODE, /* not used */
5187 ENUM_C2K_LEAVE_FLIGHT_MODE, /* not used */
5188
5189 ENUM_C2K_1X_OOSA, /* not used */
5190 ENUM_C2K_1X_IDLE_SLOTTED, /* lightly used */
5191 ENUM_C2K_1X_IDLE_NON_SLOTTED, /* highly used */
5192 ENUM_C2K_1X_PLMN_SEARCH, /* highly used */
5193 ENUM_C2K_1X_ACCESS, /* highly used */
5194 ENUM_C2K_1X_CONECTION, /* highly used */
5195
5196 ENUM_C2K_DO_INACTIVE, /* not used */
5197 ENUM_C2K_DO_IDLE_SLEEP, /* not used */
5198 ENUM_C2K_DO_PILOTACQ, /* highly used */
5199 ENUM_C2K_DO_IDLE_MONITOR, /* highly used */
5200 ENUM_C2K_DO_ACCESS, /* highly used */
5201 ENUM_C2K_DO_CONNECTED /* highly used */
5202} ENUM_MD_C2K_STATUS;
5203typedef struct
5204{
5205 kal_uint32 SeqNum;
5206 kal_uint32 Systime;
5207 ENUM_MD_C2K_STATUS c2k_Status;
5208 kal_uint32 DRXCycle; /* Reserved */
5209 kal_uint32 auReserved[4];
5210}mdc2k_consys_coant_stat_param_t;
5211
5212
5213typedef enum
5214{
5215 ENUM_C2K_WIFI_ON,
5216 ENUM_C2K_WIFI_OFF,
5217 ENUM_C2K_WIFI_ENTER_LP,
5218 ENUM_C2K_WIFI_LEAVE_LP
5219} ENUM_C2K_COANT_WIFI_STATUS;
5220
5221
5222typedef struct {
5223
5224 kal_uint32 u4_secquence_num;
5225 kal_uint32 u4_systime;
5226 ENUM_C2K_COANT_WIFI_STATUS wifi_status;
5227 kal_uint8 au_reserved[4];
5228} consys_to_c2k_wifi_status_struct;
5229
5230
5231extern void val_mcif_c2k_current_state_rpt();
5232extern void val_mcif_c2k_state_rpt(ENUM_MD_C2K_STATUS State);
5233
5234#endif
5235
5236
5237typedef struct
5238{
5239 rat_enum rat_mode;
5240 rat_enum reported_rat;
5241 irat_system_type_enum c2k_mode;
5242 kal_uint8 protocol_id;
5243}ValSetRatModeMsgT;
5244
5245typedef struct
5246{
5247 l4_rf_state_enum rf_state;
5248 rfoff_cause_enum rfoff_cause;
5249 l4_sim_state_enum sim_state;
5250 kal_bool is_power_off; /* used by IMC to teardown IMS anyway */
5251}ValPhoneStateMsgT;
5252
5253#endif /* VALAPI_H */
5254
5255/*****************************************************************************
5256 End of file
5257*****************************************************************************/
5258/**Log information: \main\6 2012-02-20 08:44:52 GMT hbi
5259** HREF#0000: remove warning (Audio)**/
5260/**Log information: \main\Trophy\Trophy_ylxiao_href22033\1 2013-03-18 14:15:47 GMT ylxiao
5261** HREF#22033, merge 4.6.0**/
5262/**Log information: \main\Trophy\1 2013-03-19 05:20:15 GMT hzhang
5263** HREF#22033 to merge 0.4.6 code from SD.**/
5264/**Log information: \main\Trophy\Trophy_zjiang_href22162\1 2013-04-22 07:49:54 GMT zjiang
5265** HREF#22162.1x only°æ±¾±àÒë´íÎó**/
5266/**Log information: \main\Trophy\2 2013-04-22 08:04:35 GMT gdeng
5267** HREF#22162|**/
5268/**Log information: \main\Trophy\Trophy_wzhou_href22163\1 2013-04-25 03:10:40 GMT wzhou
5269** HREF#22163: add A12 auth status message in VAL**/
5270/**Log information: \main\Trophy\3 2013-04-25 03:06:29 GMT jzwang
5271** href#22163**/
5272/**Log information: \main\Trophy\Trophy_wzhou_href22221\1 2013-06-05 08:57:58 GMT wzhou
5273** HREF#22221: fix Agps**/
5274/**Log information: \main\Trophy\5 2013-06-05 08:47:21 GMT jzwang
5275** href#22221**/
5276/**Log information: \main\Trophy\Trophy_zjiang_href22256\1 2013-08-21 07:39:36 GMT zjiang
5277** HREF#22256.1.crts21316:Ä£¿é¶ÌÐÅ×Ô×¢²á±àÒë°æ±¾Àï´æÔÚµÄ×Ô×¢²á¶ÌÐŶàÓàÉϱ¨ÐÞ¸Ä;2.+CPINÃüÁîÓÅ»¯.**/
5278/**Log information: \main\Trophy\6 2013-08-21 07:42:28 GMT cshen
5279** href#22256**/
5280/**Log information: \main\Trophy\Trophy_zjiang_href22290\1 2013-10-25 07:51:33 GMT zjiang
5281** HREF#22290.fix crts 21713 and crts 21496. Ìí¼Ó+VECIOÖ÷¶¯Éϱ¨¡£ÐÞ¸ÄVMEMFLÃüÁîÖеÄÎÊÌâ¡£**/
5282/**Log information: \main\Trophy\7 2013-10-25 07:54:10 GMT cshen
5283** href#22290**/
5284/**Log information: \main\Trophy\Trophy_zjiang_href22317\1 2013-11-27 09:21:37 GMT zjiang
5285** HREF#22317.fix crts21903.Ôö¼ÓUICC¿¨ÀàÐÍ¡£**/
5286/**Log information: \main\Trophy\8 2013-11-28 01:24:36 GMT cshen
5287** href#22317**/
5288/**Log information: \main\Trophy\Trophy_yzhang_href22324\1 2013-12-05 09:30:46 GMT yzhang
5289** HREF#22324:India MTS/TATA ESN Tracking SMS requirement**/
5290/**Log information: \main\Trophy\9 2013-12-06 02:32:24 GMT cshen
5291** href#22324**/
5292/**Log information: \main\Trophy\Trophy_xding_href22331\1 2013-12-10 07:18:07 GMT xding
5293** HREF#22331, ºÏ²¢MMCÏà¹Ø¹¦Äܵ½Trophy baselineÉÏ**/
5294/**Log information: \main\Trophy\10 2013-12-10 08:33:46 GMT jzwang
5295** href#22331:Merge MMC latest implementation from Qilian branch.**/
5296/**Log information: \main\Trophy\Trophy_zjiang_href22338\1 2013-12-23 07:32:21 GMT zjiang
5297** HREF#22338**/
5298/**Log information: \main\Trophy\12 2013-12-23 08:58:55 GMT cshen
5299** href#22338**/
5300/**Log information: \main\Trophy\Trophy_zjiang_href22357\1 2014-01-11 07:30:26 GMT zjiang
5301** HREF#22357**/
5302/**Log information: \main\Trophy\13 2014-01-11 07:36:42 GMT cshen
5303** HREF#22357**/
5304