blob: 38c02ce55bb8bc348228d41faac4e9a7563bf79a [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
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) 1998-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44#ifndef _PSWAPI_H_
45#define _PSWAPI_H_
46/*****************************************************************************
47*
48* FILE NAME : pswapi.h
49*
50* DESCRIPTION : Protocol stack interface
51*
52* This include file provides system wide global type declarations and
53* constants
54*
55* HISTORY :
56* See Log at end of file
57*
58*****************************************************************************/
59
60/*----------------------------------------------------------------------------
61 Include Files
62----------------------------------------------------------------------------*/
63
64#include "pswnam.h"
65#include "pswcustom.h"
66#include "pswsmstune.h"
67#include "lmdapi.h"
68#include "syscommon.h"
69#include "c2k_defs.h"
70#include "cssapi.h"
71#ifdef MTK_DEV_C2K_IRAT
72#include "iratapi.h"
73#endif
74#include "module_msg_range.h"
75
76#ifdef MTK_PLT_ON_PC_UT
77#include "sbp_public_utility.h"
78#endif
79#include "psw_msgid.h"
80#include "hlpapi.h"
81#include "pswairmsg.h"
82#include "dspmapi.h"
83/*----------------------------------------------------------------------------
84 Global Defines and Macros
85----------------------------------------------------------------------------*/
86
87#define SYS_CP_MAX_AFLT_LIST_PILOTS_MEAS 16 /* max number of pilot pn's in neighbor list measured to PSW */
88
89#define PSW_MAILBOX_CMD EXE_MAILBOX_1_ID
90#define PSW_MAILBOX2_CMD EXE_MAILBOX_2_ID
91
92#define PSW_SYNC_DATA_SIZE 4
93
94#define PSW_MAX_SMS_SIZE 256
95#define PRM_MAX_SIZE 256
96
97#define PSW_NUM_MUX1_COUNTER_INDEX 14
98#define PSW_NUM_MUX2_COUNTER_INDEX 26
99
100/* Data service page acceptance bit map. */
101#define PSW_ASYNC_DATA_PAGE_ACCEPT 1
102#define PSW_FAX_PAGE_ACCEPT 2
103#define PSW_ASYNCDATA_AND_FAX_PAGE_ACCEPT 3
104
105/* Updated NAM Data Mask Bits Defined (whatChangedInNam) */
106#define SLOT_CYCLE_INDEX_UPDATED 0x0001
107#define SCM_UPDATED 0x0002
108#define MOB_TERM_HOME_UPDATED 0x0004
109#define MOB_TERM_FOR_SID_UPDATED 0x0008
110#define MOB_TERM_FOR_NID_UPDATED 0x0010
111#define AKEY_UPDATED 0x0040
112#define SYSTEMSELECT_UPDATED 0x0080
113
114#define PSW_AKEY_UINT64
115
116/* IMSI Character String - Input sizes */
117#define MAX_IMSI_S1_DIGITS 7
118#define MAX_IMSI_S2_DIGITS 3
119#define MAX_IMSI_S_DIGITS 10
120#define MAX_MNC_DIGITS 2
121#define MAX_MCC_DIGITS 3
122#define FIELD_TEST_DATA
123
124#define PSW_GPS7560_DATA_SIZE_MAX 760
125
126/*MS-Based*/
127#define NMEA_SV 16
128#define MAX_SVINVIEW 16
129
130 /* A21 Subscription Info record */
131#define PSW_A21_MS_SUBS_INFO_ELEMENT_ID 0x0B
132#define PSW_A21_MS_SUBS_INFO_ELEMENT_ID_WIDTH 8
133#define PSW_A21_MS_SUBS_INFO_ELEMENT_LEN_WIDTH 8
134#define PSW_A21_MS_SUBS_INFO_BC_REC_ID 0x00
135#define PSW_A21_MS_SUBS_INFO_BC_REC_ID_WIDTH 8
136#define PSW_A21_MS_SUBS_INFO_BC_REC_LEN_WIDTH 8
137#define PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH 1
138#define PSW_A21_MS_SUBS_INFO_BC_CURRENT_SUBCLASS_WIDTH 7
139#define PSW_A21_MS_SUBS_INFO_BC_BANDCLASS_WIDTH 8
140#define PSW_A21_MS_SUBS_INFO_BC_RESERVED1_WIDTH 3
141#define PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_LEN_WIDTH 4
142#define PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_WIDTH 8
143#define PSW_A21_MS_SUBS_INFO_HEADER_LEN ((PSW_A21_MS_SUBS_INFO_ELEMENT_ID_WIDTH \
144 + PSW_A21_MS_SUBS_INFO_ELEMENT_LEN_WIDTH \
145 + PSW_A21_MS_SUBS_INFO_BC_REC_ID_WIDTH \
146 + PSW_A21_MS_SUBS_INFO_BC_REC_LEN_WIDTH \
147 + PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH \
148 + PSW_A21_MS_SUBS_INFO_BC_CURRENT_SUBCLASS_WIDTH) / 8)
149
150#define PSW_A21_MS_SUBS_INFO_BANDCLASS_LEN ((PSW_A21_MS_SUBS_INFO_BC_BANDCLASS_WIDTH \
151 + PSW_A21_MS_SUBS_INFO_BC_ALL_INCLUDE_WIDTH \
152 + PSW_A21_MS_SUBS_INFO_BC_RESERVED1_WIDTH \
153 + PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_LEN_WIDTH \
154 + PSW_A21_MS_SUBS_INFO_BC_SUBCLASS_WIDTH * 4) / 8)
155
156#define PSW_MAX_A21_MS_SUBS_INFO_LEN (PSW_A21_MS_SUBS_INFO_HEADER_LEN + PSW_A21_MS_SUBS_INFO_BANDCLASS_LEN * NAM_BANDS_SUPPORTED)
157#define MAX_SMS_ACK_PDU_LEN 255
158#define PSW_SMS_CBS_CHA_MAX 4
159
160#define CP_MAX_NUM_FOR_SCH 2
161#define CP_MAX_NUM_REV_SCH 2
162#define CP_MAX_ROUNDS_FWD 7
163#define CP_MAX_ROUNDS_REV 7
164/****************************************************************************
165 * Other Global declarations.
166 ***************************************************************************/
167extern kal_bool VoicePrivacy;
168
169/*----------------------------------------------------------------------------
170 Global Typedefs
171----------------------------------------------------------------------------*/
172typedef enum
173{
174 PE_ENG_ERR_BAD_PREF_BAND =1, /* pref band mismatch with op_mode */
175 PE_ENG_ERR_BAD_PREF_MODE, /* pref mode mismatch with op_mode */
176 PE_ENG_ERR_BAD_CUSTOM_OPMODE, /* bad opmode setting in custom.h */
177 PE_ENG_ERR_INCOMPATIBLE_BAND_MODE, /* incompatible band/mode combo */
178 PE_ENG_ERR_TUNE_RADIO, /* Can't tune Radio */
179 PE_ENG_ERR_POWER_AMP, /* Can't control Power Amplifier */
180 PE_ENG_ERR_OOSA_BAD_VALUE, /* Bad param value for OOSA select */
181 PE_ENG_ERR_IHO_BAD_VALUE, /* Bad parm for Idle HandOff */
182
183 /* Call Processing Request types */
184 PE_RQ_ENABLE =10, /* (+ NAM Parameter Data) */
185 PE_RQ_DISABLE, /* (no data) */
186 PE_RQ_ORIGINATE, /* (+ digits + service option) */
187 PE_RQ_ANSWER, /* (no data) */
188 PE_RQ_FLASH, /* (+ digits) */
189 PE_RQ_TERMINATE, /* (no data) */
190 PE_RQ_POWERDOWN, /* (no data) */
191 PE_RQ_BURST_DTMF, /* (+ digits) */
192 PE_RQ_CONT_DTMF_ON, /* (+ digit) */
193 PE_RQ_CONT_DTMF_OFF, /* (no data) */
194 PE_RQ_VP_ON, /* (no data) */
195 PE_RQ_VP_OFF, /* (no data) */
196 PE_RQ_DATA_BURST, /* (+ data burst data) */
197 PE_RQ_DATA_BURST_UNACK, /* (+ data burst data) */
198 PE_RQ_DATA_BURST_REJ, /* (no data) */
199 PE_RQ_WIDE_ANALOG, /* (no data) */
200
201 PE_RQ_AUTO_ANSWER =27, /* (no data) */
202 PE_RQ_PAGE_RESPONSE, /* (no data) */
203 PE_RQ_TERM_SVC_INACT, /* (no data) */
204 PE_RQ_AFLT_SEARCH, /* (+ aflt info) */
205 PE_RQ_LBS_1X_ACQ,
206 PE_RQ_NST_POWERUP,
207 PE_RQ_NST_EXIT,
208 PE_RQ_FULL_SYSTIME_GET,
209
210 /* Status indication for different WBIOS Reports */
211 PE_ENG_IND_ANTENNA_REQ_GRANTED =57,
212 PE_ENG_IND_ANTENNA_REQ_DENIED,
213 PE_ENG_IND_ANTENNA_RELEASED,
214 PE_ENG_IND_PILOT_ACQUIRE,
215 PE_ENG_IND_NO_PILOT,
216 PE_ENG_IND_SYNC_ACQUIRE_FAIL,
217 PE_ENG_IND_SYNC_TO_SYS_TIME,
218 PE_ENG_IND_SYNC_TO_SYS_TIME_FAIL,
219 PE_ENG_IND_PAGE_MONITOR,
220 PE_ENG_IND_PAGE_MONITOR_FAIL,
221 PE_ENG_IND_SEND_ACCESS_MSG_FAIL,
222 PE_ENG_IND_SEND_TC_MSG,
223 PE_ENG_IND_SEND_TC_MSG_FAIL,
224 PE_ENG_IND_TC_CONFIG,
225 PE_ENG_IND_LONG_CODE_CHANGED,
226 PE_ENG_IND_RADIO_TUNED,
227 PE_ENG_IND_RADIO_NOT_TUNED,
228 PE_ENG_IND_PILOT_LOST,
229 PE_ENG_IND_PUF_PROBE_SENT,
230 PE_ENG_IND_PUF_PROBE_SENT_MAX_PWR,
231 PE_ENG_IND_PUF_PROBE_NOT_SENT,
232 PE_ENG_IND_WAKEUP,
233 PE_ENG_IND_PILOT_SET,
234 PE_ENG_IND_IHO_COMPLETE,
235 PE_ENG_IND_OOSA_WAKEUP,
236 PE_ENG_IND_TC_TO_AVC_HO_START,
237 PE_ENG_IND_BCCH_MONITOR,
238 PE_ENG_IND_BCCH_MONITOR_FAIL,
239 PE_ENG_IND_FCCCH_MONITOR,
240 PE_ENG_IND_FCCCH_MONITOR_FAIL,
241 PE_ENG_IND_HO_FAIL,
242 PE_ENG_IND_FORCE_BAND_MODE,
243 PE_ENG_SYS_RESCAN_TIME,
244 PE_ENG_IND_DISABLE_E911MODE ,
245 PE_ENG_IND_RSCH_STARTED,
246
247 PE_ENG_IND_SYNC_CSS_FAIL =92,
248 PE_ENG_IND_SYNC_CSS_PASS,
249 PE_ENG_IND_FSCH_STARTED,
250 PE_ENG_IND_FSCH_TERMINATED,
251 PE_ENG_SYS_REDIRECTION_END_TIME ,
252 PE_ENG_IND_FORCE_ANALOG_MODE,
253 PE_ENG_IND_IDLE_HANDOFF_ACQUIRE, /* and from CPB6.0 Hans Christiansen 080404 */
254
255 /* Engine event notification request types for use in CALLBACK */
256 PE_ENG_NULL_EVENT =100, /* event complete indicator */
257 PE_ENG_IND_TIMEOUT, /* CP timer expiry indicator */
258 PE_ENG_SYNC_MESSAGE, /* SYNC message received ind. */
259 PE_ENG_PAGE_MESSAGE, /* PCH message received ind. */
260 PE_ENG_FTC_MESSAGE, /* FTC message received ind. */
261 PE_ENG_FCSCH_LOST, /* forword common control Ch lost ind. */
262 PE_ENG_IDLE_HANDOFF, /* Idle handoff request ind. */
263 PE_ENG_REGISTRATION_REQ, /* Registration access request */
264 PE_ENG_ACCESS_FAIL, /* Access attempt failed */
265 PE_ENG_FTC_N5M_FRAMES, /* Rcvd N5m consecutive good frames */
266 PE_ENG_ACCESS_PSIST_FAIL, /* PSIST calculation = 0 */
267 PE_ENG_FTC_LOST, /* FTC fade timer timed out */
268 PE_ENG_IND_ACK_RECEIVED, /* Ack rcvd for a transmitted msg */
269 PE_ENG_STRONGEST_PILOT_REPORT, /* Strongest pilot report */
270 PE_ENG_ACCESS_HO_CANDIDATE, /* Access Entry HO candidate found */
271 PE_ENG_ACCESS_HO_NO_CANDIDATE, /* no Access Entry HO candidate */
272 PE_ENG_ACCESS_HO_LIST, /* access ho list pilot report */
273 PE_ENG_ACCESS_PROBE_HO_FAIL, /* access probe ho fail ind. */
274 PE_ENG_ACCESS_HO_DENIED, /* access ho attempt not allowed */
275 PE_ENG_READ_ACCESS_OVERHEAD, /* selected overhead read after ho */
276 PE_ENG_ACCESS_PROBE_FAIL, /* access probe too big */
277 PE_ENG_IND_TC_ACK_FAILURE, /* TC transmission ACK failure */
278 PE_ENG_IND_ACCESS_PILOT_MSMT, /* pilot msmt report in access */
279 PE_ENG_START_SYS_RESELECT, /* Start Sys Reselect Procedures */
280
281 PE_ENG_ACCESS_MODE_SEARCH_FAIL =125, /* access mode determination fail */
282 PE_ENG_BCCH_MESSAGE, /* FCCCH message received ind. */
283 PE_ENG_FCCCH_MESSAGE, /* BCCH message received ind. */
284 PE_ENG_ACCESS_HANDOFF, /* Access handoff request ind. */
285
286 PE_ENG_IND_QPCH_PI_STATUS =129, /* PI Status */
287 PE_ENG_IND_SOFT_HO_COMPLETE,
288 PE_ENG_IND_HARD_HO_COMPLETE,
289 PE_ENG_IND_E911_ACCESS_FAIL =133, /* E911 Access Fail */
290 PE_ENG_IND_AFLT_RESULT_RCVD, /* AFLT Srch Rslt Rcvd from L1d */
291 PE_ENG_IND_OOSA_REQ,
292 PE_ENG_IND_MODEM_FAILURE,
293 PE_ENG_IND_MODEM_READY,
294 PE_ENG_IND_IRAT_RESET_1XCDMA,
295
296 PE_ENG_IND_CSS_OTASP_ACQ_REQ =150,
297 PE_ENG_IND_CSS_SELECT_RSP,
298 PE_ENG_IND_CSS_VALIDATE_RSP,
299 PE_ENG_IND_CSS_SYS_ACQ_REQ,
300
301 PE_ENG_IND_FREEZE =154,
302 PE_ENG_IND_THAW,
303 PE_ENG_IND_RESYNC,
304 PE_ENG_IND_RESYNC_DENIED,
305
306#ifdef MTK_DEV_C2K_IRAT
307 PE_ENG_IND_RSVAS_VIRTUAL_SUSPEND =160,/* inform to stop inter-freq meas if any*/
308 PE_ENG_IND_RSVAS_RESUME, /* inform to start inter-freq meas if any */
309 PE_ENG_IND_RSVAS_OCCUPY_IND, /* inform to start access procedure */
310 PE_ENG_IND_EXIT_PS_REQ, /* inform to exit 1x PS during C2L MPSR procedure */
311#endif
312
313
314 PE_ENG_AMPS_START_SCAN =200, /* Start AMPS channel scanner */
315 PE_ENG_AMPS_SCAN_COMPLETE =201, /* Channel scan complete */
316 PE_ENG_AMPS_OMT =203, /* OMT received */
317 PE_ENG_AMPS_FILLER =204, /* Control Filler received */
318 PE_ENG_AMPS_MSCM =205, /* MSCM received */
319 PE_ENG_AMPS_SMS_CNF =206, /* MSCM received */
320 PE_ENG_AMPS_AWI_SMS_CNF =207, /* MSCM received */
321 PE_ENG_NO_IDLE_HANDOFF =210, /* No Idle handoff request ind */
322 PE_ENG_IND_EPRL_ESPM_TIMEOUT =213,
323 PE_ENG_IND_MANUAL_AVOID_SYS =214,
324 PE_ENG_IND_L1D_DEACTIVE_CNF =215,
325 PE_ENG_UIM_AUTHR =230, /*UIM AUTH Result*/
326 PE_ENG_UIM_RANDBS =240,
327 PE_ENG_UIM_SSD_CONFIRM =241,
328#ifdef MTK_CBP_SYNC_OPTIMIZE
329 PE_ENG_IND_SIB8_TIMING_CNF =250,
330 PE_ENG_IND_NO_SIB8_TIMING =251
331#endif /* MTK_CBP_SYNC_OPTIMIZE */
332} PeRunEngineEvent;
333
334extern const RetrievableAndSettableParametersT parameterIDTable[];
335
336/* Protocol Revision definitions */
337#define P_REV_1 1 /* 95 (BC0), JSTD008(BC1) */
338#define P_REV_2 2 /* 95A (BC0, BC1) */
339#define P_REV_3 3 /* TSB74 (BC0, BC1), T53 V1 (BC3) */
340#define P_REV_4 4 /* 95B (BC0, BC1), T53 V2 (BC3) */
341#define P_REV_5 5 /* 95B (BC0, BC1), T53 V2 (BC3) */
342#define P_REV_6 6 /* 2000 REL 0 (no BCCH nor FCCCH support) */
343#define P_REV_7 7 /* 2000 REL A (with BCCH and FCCCH support) */
344#define P_REV_8 8 /* 2000 REL B */
345#define P_REV_9 9 /* 2000 REL C */
346#define P_REV_10 10 /* IS-2000-C with encryption */
347
348/* Call Processing State Machine States */
349typedef enum
350{
351 CP_DISABLED, /* CP Disabled */
352 CP_SYS_DETERMINATION, /* System Determination (6.6.1.1) */
353 CP_PILOT_ACQUISITION, /* Pilot Channel Acquisition (6.6.1.2) */
354 CP_SYNC_ACQUISITION, /* Sync Channel Acquisition (6.6.1.3) */
355 CP_TIMING_CHANGE, /* Timing Change (6.6.1.4) */
356 CP_IDLE, /* Idle (6.6.2) */
357 CP_UPDATE_OHD_INFO, /* Update Overhead Information (6.6.3.2) */
358 CP_PAGE_RESPONSE, /* Page Response (6.6.3.3) */
359 CP_ORD_MSG_RESP, /* Order/Message Response (6.6.3.4) */
360 CP_ORIGINATION, /* Origination Attempt (6.6.3.5) */
361 CP_REGISTRATION, /* Registration Attempt (6.6.3.6) */
362 CP_MSG_TRANSMISSION, /* Message Transmission (6.6.3.7) */
363 CP_TC_INIT, /* Traffic Channel Initialization (6.6.4.2) */
364 CP_TC_WAIT_ORDER, /* TC Waiting for Order (6.6.4.3.1) */
365 CP_TC_WAIT_ANSWER, /* TC Waiting for MS Answer (6.6.4.3.2) */
366 CP_TC_CONVERSATION, /* TC Conversation (6.6.4.4) */
367 CP_TC_RELEASE, /* TC Release (6.6.4.5) */
368 CP_NST, /* Non-Signaling Test Mode */
369 CP_FROZEN, /*Temp put here*/
370 CP_TC_FROZEN, /* TC Frozen */
371
372 CP_NUM_STATES
373} CPState;
374
375typedef enum
376{
377 /* Call Processing Event types reported in wbiosReportCPEvent */
378 EV_DISCONNECT = 1, /* CP leaves Conversation ST */
379 EV_PAGE_RECEIVED = 2, /* Page received on Control Ch */
380 EV_STOPALERT = 3, /* CP leaves Waiting For Answer ST*/
381 EV_ABBR_ALERT = 4, /* Abbreviated alert */
382 EV_NOSVC = 5, /* No Service */
383 EV_CDMA_INSVC = 6, /* In Service (Ready) */
384 EV_CPENABLED = 7, /* Call Processing Enabled */
385 EV_CPDISABLED = 8, /* Call Processing Disabled */
386 EV_PDOWNACK = 9, /* Power-Down Acknowledge */
387 EV_CONNANALOG = 10, /* CP enters Conv. ST on voice ch */
388 EV_CONNDIGITAL = 11, /* CP enters Conv. ST on TC ch */
389 EV_TC_ASSIGNED = 12, /* Traffic Channel assigned */
390 EV_ORIG_FAIL = 13, /* Orig. failed - Access failed */
391 EV_NDSS_ORIG_CANCEL = 14, /* Orig. attempt cancelled */
392 EV_INTERCEPT = 15, /* Orig. failed - Intercept */
393 EV_REORDER = 16, /* Orig. failed - Reorder */
394 EV_CC_RELEASE = 17, /* Control Channel - Release */
395 EV_CC_RELEASE_SO_REJ = 18, /* CC Release - Scv Option reject */
396 EV_DIALING_COMPLETE = 19, /* Dialing digits all sent */
397 EV_DIALING_CONTINUE = 20, /* Dialed digits continue on TC */
398 EV_MAINTENANCE = 21, /* Maintenance order received */
399 EV_VP_ON = 22, /* Voice privacy is enabled */
400 EV_VP_OFF = 23, /* Voice privacy is disabled */
401 EV_PSIST_FAIL = 24, /* PSIST calculation failed */
402 EV_TC_RELEASE_MS = 25, /* TC released normally by MS */
403 EV_TC_RELEASE_PDOWN = 26, /* TC released by MS Power Down */
404 EV_TC_RELEASE_DISABLE = 27, /* TC released by MS Disable */
405 EV_TC_RELEASE_BS = 28, /* TC released normally by BS */
406 EV_TC_RELEASE_SO_REJECT = 29, /* TC released by BS Serv Opt Rej */
407 EV_TC_RELEASE_TIMEOUT = 30, /* TC released - Timeout */
408 EV_TC_RELEASE_ACK_FAIL = 31, /* TC released - Ack failure */
409 EV_TC_RELEASE_FADE = 32, /* TC released - Fade */
410 EV_TC_RELEASE_LOCK = 33, /* TC released - due to bs lock */
411 EV_PAGE_FAIL = 34, /* Page Response Fail */
412 EV_RETRY_TIMER_ACTIVE = 35, /* Retry Delay Timer is active */
413 EV_RETRY_TIMER_INACTIVE = 36, /* Retry Delay Timer is inactive */
414 EV_AMPS_INSVC = 37, /* In AMPS Service (Ready) */
415 EV_PACKET_ACTIVE = 38, /* In Active Packet State */
416 EV_PACKET_RELEASED = 39, /* In Inactive Packet State */
417 EV_PACKET_DORMANT = 40, /* In Dormant Packet State */
418 EV_ORIG_REJECTED = 41, /* Origination Rejected */
419 EV_ORIG_ACCT = 42,
420
421 EV_ORIG_USER_CANCEL = 60,
422 EV_ORIG_ACCESS_FAIL = 61,
423 EV_ORIG_NO_SVC_FAIL = 62,
424 EV_ORIG_RETRY_ORDER = 63,
425 EV_SR_ENABLED = 64,
426 EV_SR_DISABLED = 65,
427 EV_ORIG_REQ_RECEIVED = 66,
428 EV_ORIG_REJECTED_SO_NOT_SUPPORTED = 67, /*VAL has requested an SO not supported by the device*/
429 EV_ORIG_BLOCKED_BY_IRAT = 68, /* CDMA not selected by RATC as pri CS service */
430 EV_SMS_CANCEL_BY_PWRDOWN = 69, /* SMS cancel by CP Power Down */
431 /* BEGIN AMPS ONLY */
432 EV_FLASHFAIL = 80, /* Flash request failed */
433 EV_ANALOG_PAGE_RECEIVED = 81, /* Page received on Control Ch */
434 EV_AMPS_IDLE = 82, /* AMPS service is acquired. */
435 /* END AMPS ONLY */
436
437 EV_ABBR_INTERCEPT = 83,
438 EV_ABBR_REORDER = 84,
439 EV_CONN_COMPLETE = 85,
440 EV_ENTER_OOSA = 86,
441 EV_FNM_RELEASE = 87, /* Feature Notification Msg RELEASE=1, ORDM ONLY */
442 EV_DBM_MSID_UPDATED = 88,
443 EV_BUSY_ORIG_FAIL = 89,
444 EV_LOCKED_ORIG_FAIL = 90,
445 EV_ORIG_FAIL_SO_REDIRECT = 91,
446 EV_TC_RELEASE_MT_CALL = 92,
447 EV_REG_SUCCESS = 93, /*MS register with network successfully*/
448#ifdef MTK_DEV_C2K_IRAT
449 EV_RSVAS_SUSPEND_COMPLETE = 94,
450#endif
451#if defined (__MCIF_SUPPORT__) && defined (__CO_ANTENNA__)
452 EV_1X_SLOTTED = 95,
453 EV_1X_NOT_SLOTTED = 96,
454#endif
455 EV_ACCESS_MAX_PROBE_FAIL = 97,
456
457} CallProcessingEventT;
458
459typedef enum
460{
461 CP_ACCESS_REASON_PAGE_RSP = 1,
462 CP_ACCESS_REASON_REGISTRATION,
463 CP_ACCESS_REASON_ORIGINATION,
464 CP_ACCESS_REASON_MSG_RESPONSE,
465 CP_ACCESS_REASON_DATABURST
466} AccessReasonT;
467
468typedef enum
469{
470 PSW_PILOT_ACQUIRE,
471 PSW_NO_PILOT,
472 PSW_SYNC_ACQUIRE_FAIL,
473 PSW_SYNC_TO_SYS_TIME,
474 PSW_SYNC_TO_SYS_TIME_FAIL,
475 PSW_PAGE_MONITOR,
476 PSW_PAGE_MONITOR_FAIL,
477 PSW_BCCH_MONITOR, /* BSR 3/12/04 */
478 PSW_BCCH_MONITOR_FAIL, /* BSR 3/12/04 */
479 PSW_FCCCH_MONITOR, /* BSR 3/16/04 */
480 PSW_FCCCH_MONITOR_FAIL, /* BSR 3/16/04 */
481 PSW_SEND_ACCESS_MSG_FAIL,
482 PSW_SEND_TC_MSG,
483 PSW_SEND_TC_MSG_FAIL,
484 PSW_TC_CONFIG,
485 PSW_LONG_CODE_CHANGED,
486 PSW_RADIO_TUNED,
487 PSW_RADIO_NOT_TUNED,
488 PSW_PILOT_LOST,
489 PSW_PUF_PROBE_SENT,
490 PSW_PUF_PROBE_SENT_MAX_PWR,
491 PSW_PUF_PROBE_NOT_SENT,
492 PSW_IND_WAKEUP,
493 PSW_IND_PILOT_SET,
494 PSW_SOFT_HO_COMPLETE,
495 PSW_OOSA_WAKEUP,
496 PSW_AMPS_HO_COMPLETE,
497 PSW_RSCH_STARTED,
498 PSW_FSCH_STARTED,
499 PSW_FSCH_TERMINATED,
500 PSW_RSR_UPDATED,
501 PSW_HARD_HO_COMPLETE,
502 PSW_IND_FREEZE,
503 PSW_IND_THAW,
504 PSW_IND_RESYNC,
505 PSW_IND_RESYNC_DENIED,
506 PSW_ANTENNA_REQ_GRANTED,
507 PSW_ANTENNA_REQ_DENIED,
508 PSW_ANTENNA_RELEASED,
509 PSW_MODEM_FAILURE,
510 PSW_MODEM_READY,
511 PSW_CLK_CAL_START,
512 PSW_CLK_CAL_DONE,
513 PSW_NUM_CMD_STATUS
514} PswCmdStatusT;
515
516typedef enum
517{
518 PSW_FRAME_CATAGORY_RS1_9600_FULL_PRI = 1,
519 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_HALF_PRI_SIG = 2,
520 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_QUARTER_PRI_SIG = 3,
521 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_EIGHTH_PRI_SIG = 4,
522 PSW_FRAME_CATAGORY_RS1_9600_BLANK_BURST_SIG = 5,
523 PSW_FRAME_CATAGORY_RS1_4800_FULL_PRI = 6,
524 PSW_FRAME_CATAGORY_RS1_2400_FULL_PRI = 7,
525 PSW_FRAME_CATAGORY_RS1_1200_FULL_PRI = 8,
526 PSW_FRAME_CATAGORY_RS1_9600_FULL_PRI_BIT_ERRORS = 9,
527 PSW_FRAME_CATAGORY_RS1_INSUFFICIENT_FRAME_QUALITY = 10,
528 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_HALF_PRI_SEC = 11,
529 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_QUARTER_PRI_SEC = 12,
530 PSW_FRAME_CATAGORY_RS1_9600_DIM_BURST_EIGHTH_PRI_SEC = 13,
531 PSW_FRAME_CATAGORY_RS1_9600_BLANK_BURST_SEC = 14,
532 PSW_FRAME_CATAGORY_RS1_9600_DCCH_NULL_FRAME = 15,
533 PSW_FRAME_CATAGORY_RS2_14400_FULL_PRI = 1,
534 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_HALF_PRI_SIG = 2,
535 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_QUARTER_PRI_SIG = 3,
536 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SIG = 4,
537 PSW_FRAME_CATAGORY_RS2_14400_BLANK_BURST_SIG = 5,
538 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_HALF_PRI_SEC = 6,
539 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_QUARTER_PRI_SEC = 7,
540 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SEC = 8,
541 PSW_FRAME_CATAGORY_RS2_14400_BLANK_BURST_SEC = 9,
542 PSW_FRAME_CATAGORY_RS2_14400_DIM_BURST_EIGHTH_PRI_SEC_SIG = 10,
543 PSW_FRAME_CATAGORY_RS2_7200_FULL_PRI = 11,
544 PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_QUARTER_PRI_SIG = 12,
545 PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SIG = 13,
546 PSW_FRAME_CATAGORY_RS2_7200_BLANK_BURST_SIG = 14,
547 PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_QUARTER_PRI_SEC = 15,
548 PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SEC = 16,
549 PSW_FRAME_CATAGORY_RS2_7200_BLANK_BURST_SEC = 17,
550 PSW_FRAME_CATAGORY_RS2_7200_DIM_BURST_EIGHTH_PRI_SEC_SIG = 18,
551 PSW_FRAME_CATAGORY_RS2_3600_FULL_PRI = 19,
552 PSW_FRAME_CATAGORY_RS2_3600_DIM_BURST_EIGHTH_PRI_SIG = 20,
553 PSW_FRAME_CATAGORY_RS2_3600_BLANK_BURST_SIG = 21,
554 PSW_FRAME_CATAGORY_RS2_3600_DIM_BURST_EIGHTH_PRI_SEC = 22,
555 PSW_FRAME_CATAGORY_RS2_3600_BLANK_BURST_SEC = 23,
556 PSW_FRAME_CATAGORY_RS2_1800_FULL_PRI = 24,
557 PSW_FRAME_CATAGORY_RS2_1800_BLANK_BURST_SEC = 25,
558 PSW_FRAME_CATAGORY_RS2_INSUFFICIENT_FRAME_QUALITY = 26,
559 PSW_FRAME_CATAGORY_RS2_14400_DCCH_NULL_FRAME = 27,
560
561 PSW_FRAME_CATAGORY_RS_LAST = PSW_FRAME_CATAGORY_RS2_14400_DCCH_NULL_FRAME
562
563} PswFrameCatagoryT;
564
565
566/* Define redirection record types - Table 7.7.2.3.2.16-1 */
567typedef enum
568{
569 CP_SRD_REDIRECTION_NDSS_OFF,
570 CP_SRD_REDIRECTION_ANALOG,
571 CP_SRD_REDIRECTION_CDMA,
572 CP_SRD_REDIRECTION_TACS,
573 CP_SRD_REDIRECTION_JTACS
574} ServRedirRecord;
575
576typedef enum
577{
578 CP_IDLE_START,
579 CP_IDLE_WAIT_FOR_FCSCH,
580 CP_IDLE_MONITOR,
581 CP_IDLE_HANDOFF,
582 CP_IDLE_CHANNEL_CHANGE,
583 CP_IDLE_ACCESS_ENTRY_HO,
584 CP_IDLE_WAKEUP_FOR_ACCESS,
585 CP_IDLE_POWERDOWN,
586 CP_IDLE_SLOTTED_HO_WAKEUP,
587 CP_IDLE_QPCH_HO_WAKEUP,
588 CP_IDLE_FROZEN,
589 CP_IDLE_MAX
590} CpIdleSubStateT;
591
592typedef enum
593{
594 PSW_BAD_FRAME = 0,
595 PSW_GOOD_FRAME
596} PswFrameQuality;
597
598typedef struct
599{
600 kal_bool Stale;
601 kal_uint16 PnPhase;
602 kal_uint16 Strength;
603} PswPilotMeasurementT;
604
605typedef struct
606{
607 kal_uint16 PilotPN;
608 kal_bool Stale;
609 kal_uint16 PnPhase;
610 kal_uint16 Strength;
611} PswRemainPilotMeasurementT;
612
613/*------------------------------------------------------------------------
614 Define funtion prototypes
615-------------------------------------------------------------------------*/
616
617extern PswIs95NamT* PswNamGet (void);
618extern void PswDbmInit( void );
619
620
621typedef enum
622{
623 PSW_AYNC_DATA = 1, /* bit 0 */
624 PSW_FAX = 2, /* bit 1 */
625 PSW_UPB_ASYNC = 64 /* bit 6 */
626} PswDsEnableBitMapT;
627
628typedef struct
629{
630 kal_bool CssSyncValOk;
631} PswCssValSyncRspMsgT;
632
633/***********************/
634/* Message Definitions */
635/***********************/
636typedef struct
637{
638 kal_uint8 numAlt;
639 kal_uint16 phase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
640 kal_uint16 strength[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
641} AlternatePilotsInfoT;
642
643typedef struct
644{
645 kal_bool pilotFound; /* Pilot found */
646 kal_uint16 pilotStrength; /* Pilot Ec/Io (linear Q6) */
647 kal_int16 rxPower; /* RSSI (dBm) */
648#if defined(MTK_CBP_SYNC_OPTIMIZE)
649 kal_bool retried; /*For mini pilot acq, this channel retries normal ICS or not*/
650#endif
651 AlternatePilotsInfoT altPilots;
652} PswInitialAcqReportMsgT;
653typedef enum
654{
655 PI_OFF = 0,
656 PI_ON = 1,
657 PI_UNDEF = 2,
658 PI_ERASURE = 3
659} QpchPiStat;
660
661typedef enum
662{
663 PSW_PCH = 0,
664 PSW_QPCH1 = 1,
665 PSW_QPCH2 = 2,
666 PSW_CCI = 3,
667 PSW_FCCCH = 4,
668 PSW_BC = 5
669} WakeModeT;
670
671typedef struct
672{
673 WakeModeT WakeMode; /* Status of a command previously sent by PS */
674 kal_int16 QpchInd; /* OFF = 0, ON = 1, Erasure = -1 */
675 kal_int16 QpchMetric; /* X1 if first indicator, X2 if second indicator, Q0 */
676 kal_int16 PilotEnergy; /* Usable path combined Pilot Energy, Q0 */
677 kal_uint16 EcIo; /* Mini-Acq Pilot Ec/Io */
678 kal_uint16 NumPath; /* Number of usable path */
679 kal_uint16 QpchPilotPn; /* Pilot PN Offset */
680 kal_uint32 SysTime; /* Current CDMA time 20ms */
681} PswWakeStatusT;
682
683typedef struct
684{
685 PswCmdStatusT CmdStatus; /* Status of a command previously sent by PS */
686 PswWakeStatusT WakeStatus; /* Status of a command previously sent by PS */
687} PswCmdStatusMsgT;
688
689typedef struct
690{
691 kal_uint16 PnPhase;
692 kal_uint16 Strength;
693} PswCandFreqMeasT;
694
695typedef struct
696{
697 kal_int16 cfTotalRxPwr; /* Total Rx Power on CF */
698 kal_uint8 NumPilots; /* Number of pilot measurements */
699 PswCandFreqMeasT CfPilotList[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
700} PswCandFreqMeasurementsMsgT;
701
702typedef struct
703{
704 kal_uint8 TotalOffTimeFwd; /* Total time spent off of forward channel */
705 kal_uint8 MaxOffTimeFwd; /* Max time spent off of forward channel */
706 kal_uint8 TotalOffTimeRev; /* Total time spent off of reverse channel */
707 kal_uint8 MaxOffTimeRev; /* Max time spent off of reverse channel */
708} PswCandFreqTimesMsgT;
709
710typedef struct
711{
712 kal_uint16 PilotPN; /* Pilot PN to handoff to */
713} PswIdleHandoffMsgT;
714
715typedef struct
716{
717 SysSystemTimeT SysTime; /* System time the frame was received at */
718 kal_uint16 EbNt;
719 kal_uint16 DataSize; /* Data size in bits*/
720#ifdef MTK_PLT_ON_PC_UT
721 kal_uint8 Data[PCH_FRAME_LEN]; /* Starting address of frame data */
722#endif
723 kal_uint32 *DataAddress; /* Starting address of frame data */
724} PswForwardPageChanFrameMsgT;
725
726typedef struct
727{
728 SysSystemTimeT SysTime; /* System time the frame was received at */
729 kal_uint8 MuxPduType;
730 kal_uint8 Category;
731 PswFrameQuality Quality;
732 kal_uint16 SigBits;
733 kal_uint8 Data[MAX_FCH_FRAME_BYTE_LEN]; /* Starting address of frame data */
734}PswDschFrameMsgT;
735
736typedef struct
737{
738 kal_uint8 SchId;
739 kal_uint16 SchBadFrames;
740 kal_uint16 SchTotFrames;
741} PswPrmSchT;
742
743typedef struct
744{
745 kal_bool FchMeasIncl; /* FCH measurement included */
746 kal_uint8 FchBadFrames; /* BAD_FRAMESs in IS2000A.5 2.6.4.1.1*/
747 kal_uint16 FchTotFrames; /* TOT_FRAMESs in IS2000A.5 2.6.4.1.1*/
748 kal_bool DcchMeasIncl; /* DCCH measurement included */
749 kal_uint8 DcchBadFrames; /* BAD_FRAMESs in IS2000A.5 2.6.4.1.1*/
750 kal_uint16 DcchTotFrames; /* TOT_FRAMESs in IS2000A.5 2.6.4.1.1*/
751 kal_uint8 NumForSch; /* Number of FSCH to report */
752 PswPrmSchT SchPmr[ SYS_MAX_FSCH ];
753}PswPmrMsgT;
754
755/*AKK 01-26-01 Added the following for phase2 Outer Loop Report Message */
756typedef struct
757{
758 kal_uint8 SchId;
759 kal_uint8 FpcSchCurrSetPt;
760}PswFpcSchReportT;
761
762typedef struct
763{
764 kal_bool FchIncl;
765 kal_uint8 FpcFchCurrSetPt;
766 kal_bool DcchIncl;
767 kal_uint8 FpcDcchCurrSetPt;
768 kal_uint8 NumSup;
769 PswFpcSchReportT FpcSch[2];
770}PswOuterLoopReportReqMsgT;
771/*END--AKK 01-26-01 Added the following for phase2 Outer Loop Report Message */
772
773typedef struct
774{
775 SysSystemTimeT SysTime; /* System time the frame was received at */
776 kal_uint16 DataSize; /* Data size in bits */
777 kal_uint8 Data[1]; /* Starting address of frame data */
778}PswFCCCHFrameMsgT;
779
780typedef struct
781{
782 SysSystemTimeT SysTime; /* System time the frame was received at */
783 kal_uint16 DataSize; /* Data size in bits */
784 kal_uint8 Data[1]; /* Starting address of frame data */
785}PswBCCHFrameMsgT;
786
787typedef struct
788{
789 SysSystemTimeT FrameNum; /* Frame number this signaling data */
790 /* was received. Note: There is no system */
791 /* time while on the sync channel so a */
792 /* counter is used for the frame time */
793#ifdef MTK_PLT_ON_PC_UT
794 kal_uint8 Data[PSW_SYNC_DATA_SIZE*9]; /* This is a fixed 24 bit size */
795#endif
796 kal_uint16 EbNt;
797 kal_uint16 DataLength;
798 kal_uint8 *DataAddress;
799}PswForwardSyncChanFrameMsgT;
800
801typedef struct
802{
803 SysSystemTimeT SysTime; /* System time the frame was received at */
804 kal_uint16 DataSize; /* Data size in bits */
805 kal_uint8 Data[1]; /* Starting address of frame data */
806}PswForwardBCCHFrameMsgT;
807
808typedef struct
809{
810 SysSystemTimeT SysTime; /* System time the frame was received at */
811 kal_uint16 DataSize; /* Data size in bits */
812 kal_uint8 Data[1]; /* Starting address of frame data */
813}PswForwardFCCCHFrameMsgT;
814
815typedef struct
816{
817 SysSystemTimeT SysTime; /* System time the frame was received at */
818 SysMultiplexOptionT MultiplexOpt; /* multiplex option being used */
819 /* (i.e. rate set) */
820 kal_uint16 Strength; /* Power of the pilot in Q16 linear units */
821 PswFrameCatagoryT Catagory; /* Frame category - size of data derived from this */
822 kal_uint8 Data[1]; /* Starting address of frame data */
823}PswForwardTrafficChanFrameMsgT;
824
825typedef struct
826{
827 kal_bool enable; /* KAL_TRUE power up, KAL_FALSE power down */
828} PswFlyModeMsgT;
829
830typedef struct
831{
832 kal_bool PowerUp; /* KAL_TRUE power up, KAL_FALSE power down */
833} PswPowerMsgT;
834
835typedef struct
836{
837 kal_bool EnablePrl; /* KAL_FALSE if PRL is not to be used in system selection */
838} PswEnablePrlMsgT;
839
840typedef struct
841{
842 kal_uint8 NumActive; /* Number of active set pilot measurements */
843 kal_uint8 NumCandidate; /* Number of candidate set pilot measurements */
844 kal_uint8 NumNeighbor; /* Number of neighbor set pilot measurements */
845 kal_uint8 NumRemaining; /* Number of neighbor set pilot measurements */
846 PswPilotMeasurementT Active [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
847 PswPilotMeasurementT Candidate [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
848 PswPilotMeasurementT Neighbor [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
849 PswPilotMeasurementT Remaining [SYS_CP_MAX_REMAINING_LIST_PILOTS];
850} DebugPilotInfo;
851
852typedef struct
853{
854 kal_int16 PilotSeq;
855 kal_uint16 ReferencePN;
856 kal_uint8 NumActive; /* Number of active set pilot measurements */
857 kal_uint8 NumCandidate; /* Number of candidate set pilot measurements */
858 kal_uint8 NumNeighbor; /* Number of neighbor set pilot measurements */
859 PswPilotMeasurementT Active [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
860 PswPilotMeasurementT Candidate [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
861 PswPilotMeasurementT Neighbor [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
862} PswScanMeasurementsMsgT;
863
864typedef enum
865{
866 IGNORE_N5M_FRAMES_IN_TC_INIT = 0,
867 IGNORE_BS_ACK_IN_TC_INIT = 1,
868 IGNORE_HHO_SUCCESS = 2,
869 MAX_NUM_PSW_TEST_MODE_TIMER_TYPE
870} PswTestModeTimerTypeT;
871
872 typedef enum
873 {
874 TM_CRC = 0, /* Enable/Disable CRC Checking */
875 TM_REMAIN_IN_SYNC_STATE = 1, /* Force MS to stay on Sync Channel */
876 TM_ENABLE_IDLE_HANDOFF = 2, /* Enable Idle Handoff */
877 TM_ENABLE_MSG_INJECTION = 3, /* Message Injection Test Mode */
878 TM_ENABLE_SLOTTED_MODE = 4, /* Enable Slotted Mode */
879 TM_ENABLE_REGISTRATION = 5, /* enable/disable registration */
880 TM_ENABLE_PAGE_RESPONSE = 6, /* enable/disable page response */
881
882 TM_ENABLE_QPCH_MODE = 17,
883 TM_DISABLE_ACCESS_AUTH_PARMS = 18, /* Don't include auth parameters in access msgs */
884 TM_DISPLAY_LOC_DATA = 19, /* dump Location Services Data */
885 TM_ENABLE_REMAINING_SET_SEARCH= 20, /* Controls the remaining set search */
886 TM_IGNORE_OTA_AKEY_PREV = 21, /* Ignore A_KEY_PREV in MS Key Req Msg */
887
888 TM_QPCH_SET_PI1 = 22, /* Set Paging Indicator 1 override */
889 TM_QPCH_SET_PI2 = 23, /* Set Paging Indicator 2 override */
890 TM_CONTINUOUS_BCCH = 24, /* Continuously receive the BCCH channel */
891 TM_START_BCCH = 25, /* Used to start or stop the BCCH channel */
892 TM_SLOTTED_DELAY = 26, /* Used to delay before going to sleep in slotted paging */
893
894 TM_REMAIN_IN_PILOT_STATE = 30, /* Force MS to stay on Pilot Acquisition state */
895 TM_REMAIN_IN_IDLE_SLOTTED_OFF_STATE = 31, /* Force MS to stay on Idle state, slotted off */
896 TM_REMAIN_IN_IDLE_SLOTTED_ON_STATE = 32, /* Force MS to stay on Idle state, slotted on */
897 TM_REMAIN_IN_TRAFFIC_STATE = 33, /* Disable fade timer */
898 TM_SECURE_DATA_SPY_DUMP = 34, /* Trigger Dump of Secure Data Spy */
899 TM_ENABLE_IHO_INTER_TEST = 35, /* For inter IHO script test*/
900 TM_ENABLE_HO_CF_TEST = 36, /* For traffic inter freq handoff test*/
901 TM_ENABLE_TIMER_OUT_TEST = 37, /* For timer out test*/
902 MAX_NUM_PSW_TEST_MODE
903 }PswTestModeT, TestModeMsgT;
904
905#define TM_QPCH_FLAG_WRITE_NV 0xfffe
906
907#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
908
909typedef PACKED_PREFIX struct
910{
911 PswTestModeT Mode;
912} PACKED_POSTFIX PswEngineTestModeGetReqMsgT;
913
914typedef PACKED_PREFIX struct
915{
916 kal_bool defineRcForAllSo;
917 kal_uint8 forRc;
918 kal_uint8 revRc;
919} PACKED_POSTFIX PswSetServiceConfigReqMsgT;
920#endif
921
922typedef struct
923{
924 kal_uint8 NumAlt;
925 kal_uint16 Phase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
926 kal_uint16 Strength[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
927}PswL1dAlternatePilotsMsgT;
928
929/* PSW_LOCATION_SVC_CFG_MSG */
930typedef struct {
931 kal_bool Mode; /* location privacy enabled */
932} PswLocationSvcCfgMsgT;
933
934typedef struct {
935 kal_uint8 event;
936 kal_uint8 *MsgDataP;
937} PswLocStateChangedMsgT;
938
939typedef enum
940{
941 PSW_REQUEST_MODE_CDMA_ONLY = 1,
942 PSW_REQUEST_MODE_WIDE,
943 PSW_REQUEST_MODE_CDMA_WIDE,
944 PSW_REQUEST_MODE_NARROW_ONLY,
945 PSW_REQUEST_MODE_CDMA_NARROW_ONLY,
946 PSW_REQUEST_MODE_NARROW_WIDE,
947 PSW_REQUEST_MODE_NARROW_WIDE_CDMA
948} PswRequestModeT;
949
950typedef enum
951{
952 PSW_NT_UNKNOWN = 0,
953 PSW_NT_INTERNATIONAL,
954 PSW_NT_NATIONAL,
955 PSW_NT_NETWORK_SPECIFIC,
956 PSW_NT_SUBSCRIBER,
957 PSW_NT_RESERVED,
958 PSW_NT_ABBREVIATED = 6
959} PswNumberTypeT;
960
961typedef enum
962{
963 PSW_NP_UNKNOWN = 0,
964 PSW_NP_ISDN_TELEPHONY,
965 PSW_NP_RESERVED2,
966 PSW_NP_DATA,
967 PSW_NP_TELEX,
968 PSW_NP_RESERVED5,
969 PSW_NP_RESERVED6,
970 PSW_NP_RESERVED7,
971 PSW_NP_RESERVED8,
972 PSW_NP_PRIVATE = 9
973} PswNumberPlanT;
974
975typedef enum /* This section needs to be defined in an order as it appears in SCCGEN.H */
976{
977 PSW_UNKNOWN_SERVICE_TYPE=0,
978 PSW_VOICE_SERVICE_TYPE,
979 PSW_ANALOG_VOICE_SERVICE_TYPE,
980 PSW_ASYNC_FAX_DATA_SERVICE_TYPE,
981 PSW_ASYNC_DATA_SERVICE_TYPE,
982 PSW_FAX_DATA_SERVICE_TYPE,
983 PSW_UP_ASYNC_DATA_SERVICE_TYPE,
984 PSW_PACKET_DATA_SERVICE_TYPE,
985 PSW_QNC_PACKET_DATA_SERVICE_TYPE,
986 PSW_UP_PACKET_DATA_SERVICE_TYPE,
987 PSW_LPBK_SERVICE_TYPE,
988 PSW_SMS_SERVICE_TYPE,
989 PSW_OTASP_SERVICE_TYPE,
990 PSW_TCP_BROWSER_DATA_SERVICE_TYPE,
991 PSW_LOC_SERVICE_TYPE
992} PswServiceT;
993
994typedef enum
995{
996 PSW_PI_ALLOWED,
997 PSW_PI_RESTRICTED,
998 PSW_PI_NUMBER_NA,
999 PSW_PI_RSVD
1000} PswPresentationIndicatorT;
1001
1002typedef enum
1003{
1004 PSW_SI_USER_PROVIDED_NOT_SCREENED,
1005 PSW_SI_USER_PROVIDED_VERIFIED_PASSED,
1006 PSW_SI_USER_PROVIDED_VERIFIED_FAILED,
1007 PSW_SI_NETWORK_PROVIDED
1008} PswScreeningIndicatorT;
1009
1010typedef struct
1011{
1012 PswNumberTypeT Type;
1013 PswNumberPlanT Plan;
1014 PswPresentationIndicatorT Pi;
1015 PswScreeningIndicatorT Si;
1016 kal_int8 Number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1]; /* Inc NULL terminator */
1017} PswCallingPartyNumberT;
1018
1019/* move these two for CBP3_MERGE */
1020typedef enum
1021{
1022 PSW_SUBADDRESS_TYPE_NSAP,
1023 PSW_SUBADDRESS_TYPE_USER_SPECIFIED = 2
1024} PswSubaddressTypeT;
1025
1026/* registration type enum */
1027typedef enum
1028{
1029 TIMER_BASED_REGISTRATION = 0,
1030 POWER_UP_REGISTRATION = 1,
1031 ZONED_BASED_REGISTRATION = 2,
1032 POWER_DOWN_REGISTRATION = 3 ,
1033 PARAMETER_CHANGE_REGISTRATION = 4,
1034 ORDERD_REGISTRATION = 5,
1035 DISTANCE_BASED_REGISTRATION = 6
1036} reg_type_enum;
1037
1038typedef struct
1039{
1040 kal_bool Extension;
1041 PswSubaddressTypeT Type;
1042 kal_bool Indicator;
1043 kal_int8 Address[CP_MAX_SUBADDRESS_SIZE + 1];/*Inc NULL terminator*/
1044} PswSubaddressT;
1045
1046typedef struct
1047{
1048 kal_bool num_incl;
1049 kal_bool digitMode;
1050 PswNumberTypeT type;
1051 PswNumberPlanT plan;
1052 kal_uint8 NumChar;
1053 kal_uint8 ms_orig_pos_loc_ind;
1054 kal_uint8 number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1];
1055}PswGlobalEmergencyCall;
1056
1057typedef struct
1058{
1059 kal_bool num_info_incl;
1060 PswNumberTypeT type;
1061 PswNumberPlanT plan;
1062 kal_uint8 numFields;
1063 kal_uint8 number[CP_MAX_KEYPAD_FACILITY_SIZE+1];
1064}PswExtKeypadFacility;
1065
1066typedef struct
1067{
1068 kal_bool Mode;
1069} PswSetPrivacyModeMsgT;
1070
1071typedef enum
1072{
1073 CALL_MODE_UNKNOWN,
1074 NORMAL_VOICE,
1075 EMERGENCY_E911,
1076 WPS,
1077 WPS_E911,
1078 OTASP,
1079 CALL_MODE_END
1080} PswCallModeT;
1081
1082typedef struct
1083{
1084 PswRequestModeT RequestMode; /* requested call type */
1085 PswCallModeT CallMode; /* call type (e.g. emergency, OTASP, WPS ...) */
1086 PswServiceOptionT ServiceOption; /* requested service option */
1087 kal_bool Encoded;
1088 kal_bool DigitMode; /* digit encoding indicator */
1089 PswNumberTypeT NumberType; /* type of number */
1090 PswNumberPlanT NumberPlan; /* numbering plan */
1091 kal_uint8 NumDigits; /* number of digits to be dialled */
1092 kal_uint8 OtaspMode; /* target band or system for OTASP Orig */
1093 kal_uint8 Digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1];/* ascii digits, null terminated string */
1094 PswCallingPartyNumberT CPNInfo; /* Calling Party Number Info */
1095 PswServiceT ServiceType; /* service types. */
1096 kal_bool MultipleCallingPartyNum; /* MS has > 1 calling party num */
1097 kal_bool SendCallingPartySubaddr; /* subaddress included? */
1098 PswSubaddressT CallingPartySubaddr;
1099 kal_bool SendCalledPartySubaddr; /* subaddress included? */
1100 PswSubaddressT CalledPartySubaddr;
1101 kal_uint16 pktDataIncTimer; /* in seconds*/
1102 NspeAppT pktDataAppType;
1103} PswCallInitiateMsgT;
1104
1105typedef struct
1106{
1107 kal_uint32 TimerId; /* Expired timer Id */
1108} PswTimerExpiredMsgT;
1109
1110/* MSG_ID_PSW_VAL_SET_DDTM_MSG */
1111typedef struct
1112{
1113 kal_bool enabled; /* TRUE: DDTM enabled, FALSE: DDTM disabled */
1114} PswValSetDDTMMsgT;
1115
1116typedef struct
1117{
1118 kal_uint32 Mux1Stats[PSW_NUM_MUX1_COUNTER_INDEX];
1119 kal_uint32 Mux2Stats[PSW_NUM_MUX2_COUNTER_INDEX];
1120}PswRevStatParmsMsgT;
1121
1122typedef struct
1123{
1124 kal_bool Encoded;
1125 kal_uint8 Digit;
1126} PswSendContDTMFMsgT;
1127
1128typedef struct
1129{
1130 kal_bool Encoded;
1131 kal_uint8 NumDigits;
1132 kal_uint8 DtmfOnLength;
1133 kal_uint8 DtmfOffLength;
1134 kal_uint8 Digits[ CP_MAX_BURST_DTMF_DIGITS + 1 ]; /* Incl NULL terminator */
1135} PswSendBurstDTMFMsgT;
1136
1137typedef struct
1138{
1139 PswNumberTypeT Type;
1140 PswNumberPlanT Plan;
1141 kal_int8 Number[CP_MAX_CALLED_PARTY_NUMBER_SIZE + 1];/*Inc NULL terminator*/
1142} PswCalledPartyNumberT;
1143
1144
1145typedef struct
1146{
1147 kal_bool SendFeatureIndicator;
1148 kal_uint8 Feature;
1149 kal_bool SendKeypadFacility;
1150 kal_int8 KeypadFacility[CP_MAX_DISPLAY_SIZE + 1]; /* Incl NULL terminator */
1151 kal_bool SendCalledPartyNumber;
1152 PswCalledPartyNumberT CalledPartyNumber;
1153 kal_bool SendCallingPartyNumber;
1154 PswCallingPartyNumberT CallingPartyNumber;
1155 kal_bool SendConnectedNumber;
1156 PswCallingPartyNumberT ConnectedNumber; /* Same format as CallingPartyNumber */
1157 kal_bool Send;
1158 kal_bool SendCalledPartySubaddress;
1159 PswSubaddressT CalledPartySubaddress;
1160 kal_bool SendCallingPartySubaddress;
1161 PswSubaddressT CallingPartySubaddress;
1162 kal_bool SendConnectedSubaddress;
1163 PswSubaddressT ConnectedSubaddress;
1164 kal_bool sendGlobalEmergencyCall;
1165 PswGlobalEmergencyCall EmergencyNum;
1166 kal_bool sendExtKeypadFacility;
1167 PswExtKeypadFacility ExtKeypadFac;
1168#ifdef MTK_CBP
1169 kal_bool isEccWith3WC; /* to indicate that this is a ECC throurh 3WC or not */
1170#endif
1171} PswHookflashMsgT;
1172
1173typedef struct
1174{
1175 kal_uint8 NumFrames; /* Number of frames spent off the serving frequency */
1176} PswEndCFMeasureMsgT;
1177
1178typedef struct
1179{
1180 kal_uint16 EnableBits;
1181} PswDsEnableMsgT;
1182
1183typedef enum
1184{
1185 PSW_MDR_DISABLED = 0,
1186 PSW_MDR_IF_AVAIL,
1187 PSW_MDR_ONLY
1188} PswPktSvcPrefT;
1189
1190typedef struct
1191{
1192 kal_uint8 pageAcceptMap;
1193 kal_uint16 ayncDataSOPref;
1194 kal_uint16 faxSOPref;
1195 kal_bool dormantBySCC;
1196 kal_uint16 ldrSOPrefer;
1197 kal_uint16 mdrSOPrefer;
1198 PswPktSvcPrefT pktSvcPref;
1199 kal_uint8 forRc;
1200 kal_uint8 revRc;
1201} PswDataPrefReqMsgT;
1202
1203typedef enum
1204{
1205 PSW_PREFER_MUX1 = 1,
1206 PSW_PREFER_MUX2
1207} PswMuxPrefMapT;
1208
1209typedef struct
1210{
1211 kal_uint16 voiceSO;
1212 PswMuxPrefMapT MuxOptPref;
1213 kal_bool ToNegotiate;
1214 kal_uint8 forRc;
1215 kal_uint8 revRc;
1216} PswVsPrefReqMsgT;
1217
1218typedef struct
1219{
1220 kal_uint8 pageAccptMap;
1221 kal_uint16 lpbkSO;
1222 kal_uint16 markovSO;
1223 kal_uint16 supplSO;
1224 kal_bool ToNegotiate;
1225 kal_uint8 forRc;
1226 kal_uint8 revRc;
1227} PswLsPrefReqMsgT;
1228
1229typedef struct
1230{
1231 kal_uint16 ServiceOption;
1232 kal_bool ToNegotiate;
1233 kal_uint8 forRc;
1234 kal_uint8 revRc;
1235} PswSetServiceConfigMsgT;
1236
1237/* SNR SR */
1238typedef struct
1239{
1240 kal_bool enable;
1241 kal_uint8 numAttempts; /* See MAX_SILENT_RETRIES */
1242 kal_uint8 timeBetweenAttempts; /* See SILENT_RETRY_TIMEOUT */
1243 kal_uint8 timeBeforeAbort; /* See SILENT_RETRY_RESET_TIMEOUT */
1244} PswSetSilentRetryMsgT;
1245
1246typedef struct
1247{
1248 kal_uint32 CustomFeature;
1249 /*each bit is defined for every cumtomfeafure */
1250} PswCustomFeatureMsgT;
1251
1252typedef struct
1253{
1254 ExeRspMsgT RspInfo; /* Response routing information */
1255} PswGetSilentRetryStatusMsgT;
1256
1257/* Get Active NAM response message */
1258typedef struct
1259{
1260 kal_bool enable;
1261} PswGetSilentRetryStatusResponseMsgT;
1262
1263typedef struct
1264{
1265 kal_bool E911Mode; /* KAL_TRUE=EN, KAL_FALSE=DIS */
1266} PswE911ModeMsgT;
1267
1268typedef struct
1269{
1270 kal_uint8 PRev;
1271} PswSetPRevMsgT;
1272
1273typedef struct
1274{
1275 NamNumber namNumber;
1276} PswGetPrlMsgT;
1277
1278typedef enum
1279{
1280 PSW_PAM_DISABLE,
1281 PSW_PAM_FAX_NEXT_CALL,
1282 PSW_PAM_FAX_TILL_PWDN,
1283 PSW_PAM_DATA_NEXT_CALL,
1284 PSW_PAM_DATA_TILL_PWDN
1285} DsPreArangT;
1286
1287typedef struct
1288{
1289 DsPreArangT paType;
1290} PswVsDsPreArangMsgT;
1291
1292typedef struct
1293{
1294 kal_uint8 HATtmrValue;
1295 kal_uint8 HTtmrValue;
1296} PswSetPkzidHysterTmrMsgT;
1297
1298typedef struct
1299{
1300 kal_uint8 reason;
1301} PswPsCallRelMsgT;
1302
1303typedef struct
1304{
1305 kal_uint8 ConRef;
1306 kal_uint16 SrvOpt;
1307 kal_uint8 Length;
1308 kal_uint8 CtrlRec[MAX_MSG_LEN];
1309} PswServiceOptionControlRespMsgT;
1310
1311typedef struct
1312{
1313 kal_uint16 RemainDuration; /* Remaining RSCH duration as assigned by BS */
1314} PswRschRelIndMsgT;
1315
1316/* RLP Message Definitions */
1317typedef struct
1318{
1319 kal_uint8 SrId;
1320 kal_uint16 DataSize;
1321} PswDataBufferStatusMsgT;
1322
1323typedef struct
1324{
1325 kal_uint8 SoPref;
1326 kal_uint8 forRc;
1327 kal_uint8 revRc;
1328} PswSmsPrefReqMsgT;
1329
1330typedef struct
1331{
1332 kal_uint8 DataByte[PSW_MAX_SMS_SIZE]; /* contents of SMS. */
1333 kal_uint16 len; /* the length of data in DataByte[ ] */
1334 kal_bool confirm; /* confirm-required indocator */
1335 kal_uint8 Digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii
1336 digits, null terminated string*/
1337 kal_bool IsE911; /* IsE911 */
1338} PswSmsTxReqMsgT;
1339typedef struct
1340{
1341 kal_uint8 len; /* contents of SMS. */
1342 kal_uint8 addr[PSW_MAX_SMS_SIZE/4]; /* addr*/
1343} PswSmsBroadcastExpectedMsgT;
1344typedef struct
1345{
1346 kal_uint8 len; /* contents of SMS. */
1347 kal_uint8 data[PSW_MAX_SMS_SIZE/2]; /* data*/
1348} PswSmsMtDataBurstMsgT;
1349
1350
1351typedef struct
1352{
1353 kal_bool Success;
1354} PswOtaspRcvdMsgT;
1355
1356typedef struct
1357{
1358 kal_uint16 Length;
1359 kal_uint8* Data;
1360} PswOtaspTxReqMsgT;
1361
1362typedef struct
1363{
1364 kal_uint16 SoPref;
1365 kal_uint8 forRc;
1366 kal_uint8 revRc;
1367} PswOtaspSoPrefMsgT;
1368
1369typedef struct
1370{
1371 kal_uint8 mode;
1372} PswOtaSetPowerUpModeMsgT;
1373
1374typedef struct
1375{
1376 kal_uint16 NewSo;
1377} PswVsSwitchSoMsgT;
1378
1379typedef struct
1380{
1381 NamNumber namNumber;
1382} PswGetNamMsgT;
1383
1384typedef struct
1385{
1386 NamNumber namNumber;
1387 kal_bool ScmIncl;
1388 kal_uint8 Scm[NAM_BANDS_SUPPORTED];
1389 kal_bool SlotCycleIncl;
1390 kal_uint8 SlotCycleIndex;
1391 kal_bool LckRsnIncl;
1392 kal_uint8 LckRsn;
1393 kal_bool MaintRsnIncl;
1394 kal_uint8 MaintRsn;
1395 kal_bool prefServiceIncl;
1396 kal_uint8 prefBand;
1397 kal_uint8 prefMode;
1398 kal_uint8 prefBlockBand1;
1399 kal_uint8 prefServBand0;
1400 kal_bool ImsiMIncl;
1401 kal_bool ImsiMValid;
1402 IMSIType IMSI_M;
1403
1404 kal_bool SidNidIdexIncl;
1405 kal_uint8 SidNidIdex;
1406 kal_bool SidIncl;
1407 kal_uint16 Sid;
1408 kal_bool NidIncl;
1409 kal_uint16 Nid;
1410 kal_bool AccolcIncl;
1411 kal_uint8 Accolc;
1412 kal_bool TermInfoIncl;
1413 kal_uint8 MobTermHome;
1414 kal_uint8 MobTermSid;
1415 kal_uint8 MobTermNid;
1416 kal_bool SpcIncl;
1417 kal_uint32 Spc;
1418 kal_bool MdnIncl;
1419 kal_uint8 MdnNumDigits;
1420 kal_uint8 Mdn[16];
1421 kal_bool AllowOtapaIncl;
1422 kal_bool AllowOtapa;
1423 kal_bool AnalogParmIncl;
1424 kal_uint16 HomeSid;
1425 kal_uint16 Sids;
1426 kal_uint16 LocaIds;
1427 kal_bool Puregs;
1428 kal_bool systemSelectIncl;
1429 kal_uint8 SystemSelect;
1430
1431 kal_bool ImsiTIncl;
1432 kal_bool ImsiTValid;
1433 IMSIType IMSI_T;
1434
1435 kal_bool CpcaCscaIncl;
1436 kal_uint16 CPCA, CSCA; /* CDMA Primary (and Secondary) Channel A */
1437
1438 kal_bool CpcbCscbIncl;
1439 kal_uint16 CPCB, CSCB; /* CDMA Primary (and Secondary) Channel B */
1440
1441} PswNamChangedMsgT;
1442
1443typedef struct
1444{
1445 kal_uint8 msResult[64];
1446 kal_uint8 NumBytes;
1447} PswModExpMSResultMsgT;
1448
1449typedef struct
1450{
1451 kal_uint8 otaK[8];
1452} PswModExpBSResultMsgT;
1453
1454typedef struct
1455{
1456 kal_bool SSPRListFillOK;
1457} PswFillSSPRRspMsgT;
1458
1459typedef struct
1460{
1461 kal_uint8 *IS683Msg;
1462 kal_uint16 Length;
1463} PswIOTAIS683MsgT;
1464
1465typedef struct
1466{
1467 kal_uint8 *IOTAPrl;
1468 kal_uint16 Length;
1469} PswIOTAPRLMsgT;
1470
1471/* from MMI - SMS related */
1472#ifdef SYS_OPTION_SMS_ENGINE
1473
1474typedef struct
1475{
1476 PswServiceOptionT SrvOpt;
1477} PswSmsPrefSrvOptMsgT;
1478
1479typedef struct
1480{
1481 kal_bool DigitMode;
1482 kal_bool NumberMode;
1483 kal_uint8 NumberType;
1484 kal_uint8 NumberPlan;
1485 kal_uint8 NumFields;
1486 kal_uint8 Char[ SMS_MAX_ADDRESS_CHARS ];
1487} PswSmsMCAddrT;
1488
1489typedef struct
1490{
1491 kal_uint8 Type;
1492 kal_bool Odd;
1493 kal_uint8 NumFields;
1494 kal_uint8 Char[ SMS_MAX_SUBADDRESS_CHARS ];
1495} PswSmsMCSubaddrT;
1496
1497typedef struct
1498{
1499 kal_uint16 Category;
1500 kal_uint8 Language;
1501 kal_uint8 CategoryResult;
1502} PswCategoryT;
1503
1504typedef struct
1505{
1506 kal_uint8 NumCategories;
1507 PswCategoryT Cat[ SMS_MAX_NUM_SERVICE_CATEGORIES ];
1508} PswSrvCatProgResultT;
1509
1510typedef struct
1511{
1512 kal_uint8 DispMode;
1513 kal_uint8 reserved;
1514} PswDispModeT;
1515
1516typedef struct
1517{
1518 kal_uint16 TeleSrvId; /* Teleservice ID */
1519 PswSmsMCAddrT DefaultDestAddr; /* Message center address of all */
1520 /* submitted messages */
1521 kal_bool DefaultSubaddrPres; /* Indicator if subaddress present */
1522 PswSmsMCSubaddrT DefaultSubaddr; /* Message center subaddress */
1523} PswSmsConnectMsgT;
1524
1525typedef struct
1526{
1527 kal_uint16 TeleSrvId; /* Teleservice ID */
1528} PswSmsDisconnectMsgT;
1529
1530/*
1531** PSW_GET_STAT_CNT_MSG,
1532*/
1533typedef struct
1534{
1535 StatCounterT StatCounter; /* Statistics counter */
1536 kal_uint8 NumElement; /* Number of elements in StatCounter */
1537 kal_uint32 *MuxStat;
1538 #ifdef MTK_PLT_ON_PC_UT
1539 kal_uint32 StatCnt[255];
1540 #endif
1541} PswStatCntMsgT;
1542
1543#define PSW_SMS_MAX_USER_DATA_CHARS 256
1544
1545typedef struct
1546{
1547 kal_uint8 Year;
1548 kal_uint8 Month;
1549 kal_uint8 Day;
1550 kal_uint8 Hours;
1551 kal_uint8 Minutes;
1552 kal_uint8 Seconds;
1553} PswSmsAbsTimeT;
1554
1555typedef enum
1556{
1557 PSW_CAT_UNKNOWN,
1558 PSW_CAT_EMERGENCIES,
1559 PSW_CAT_ADMINISTRATIVE,
1560 PSW_CAT_MAINTENANCE,
1561 PSW_CAT_GEN_NEWS_LOCAL,
1562 PSW_CAT_GEN_NEWS_REGIONAL,
1563 PSW_CAT_GEN_NEWS_NATIONAL,
1564 PSW_CAT_GEN_NEWS_INTERNATIONAL,
1565 PSW_CAT_FINANCE_NEWS_LOCAL,
1566 PSW_CAT_FINANCE_NEWS_REGIONAL,
1567 PSW_CAT_FINANCE_NEWS_NATIONAL,
1568 PSW_CAT_FINANCE_NEWS_INTERNATIONAL,
1569 PSW_CAT_SPORTS_NEWS_LOCAL,
1570 PSW_CAT_SPORTS_NEWS_REGIONAL,
1571 PSW_CAT_SPORTS_NEWS_NATIONAL,
1572 PSW_CAT_SPORTS_NEWS_INTERNATIONAL,
1573 PSW_CAT_ENTERTAINMENT_NEWS_LOCAL,
1574 PSW_CAT_ENTERTAINMENT_NEWS_REGIONAL,
1575 PSW_CAT_ENTERTAINMENT_NEWS_NATIONAL,
1576 PSW_CAT_ENTERTAINMENT_NEWS_INTERNATIONAL,
1577 PSW_CAT_LOCAL_WEATHER,
1578 PSW_CAT_TRAFFIC,
1579 PSW_CAT_FLIGHT_SCHEDULE,
1580 PSW_CAT_RESTAURANTS,
1581 PSW_CAT_LODGINGS,
1582 PSW_CAT_RETAIL_DIRECTORY,
1583 PSW_CAT_ADVERTISEMENT,
1584 PSW_CAT_STOCK_QUOTES,
1585 PSW_CAT_EMPLOYMENT_OPPORTUNITIES,
1586 PSW_CAT_MEDICAL_HEALTH,
1587 PSW_CAT_TECH_NEWS,
1588 PSW_CAT_MULTI_CATEGORY
1589} PSW_SMS_SERVICE_CAT;
1590
1591typedef enum
1592{
1593 PSW_NORMAL,
1594 PSW_INTERACTIVE,
1595 PSW_URGENT,
1596 PSW_EMERGENCY
1597} PSW_SMS_PRIORITY;
1598
1599typedef enum
1600{
1601 PSW_SMS_NOT_RESTRICTED,
1602 PSW_SMS_RESTRICTED,
1603 PSW_SMS_CONFIDENTIAL,
1604 PSW_SMS_SECRET
1605} PSW_SMS_PRIVACY;
1606
1607typedef enum
1608{
1609 PSW_SMS_MOBILE_DEFAULT,
1610 PSW_SMS_LOW_PRIORITY,
1611 PSW_SMS_MEDIUM_PRIORITY,
1612 PSW_SMS_HIGH_PRIORITY
1613} PSW_SMS_ALERT;
1614
1615typedef enum
1616{
1617 PSW_SMS_UNKNOWN,
1618 PSW_SMS_ENGLISH,
1619 PSW_SMS_FRENCH,
1620 PSW_SMS_SPANISH,
1621 PSW_SMS_JAPANESE,
1622 PSW_SMS_KOREAN,
1623 PSW_SMS_CHINESE,
1624 PSW_SMS_HEBREW
1625} PSW_SMS_LANG;
1626
1627typedef struct
1628{
1629 kal_uint8 ErrorClass;
1630 kal_uint8 MsgStatusCode;
1631} PSW_MSG_STATUS;
1632
1633typedef enum
1634{
1635 PSW_SMS_DELIVERY_ACK = 4,
1636 PSW_SMS_USER_ACK,
1637 PSW_SMS_READ_ACK
1638} PSW_MSG_TYPE;
1639
1640typedef struct
1641{
1642 kal_uint16 TeleSrvId; /* Teleservice ID */
1643 kal_uint16 SeqNum; /* Unique number to coordinate the */
1644 /* parameter and user data messages*/
1645 kal_bool SendOnTraffic; /* Force SMS on Traffic or let CP */
1646 /* decide */
1647
1648 kal_bool SrvCatPres; /* If service catagory is present */
1649 PSW_SMS_SERVICE_CAT SrvCat; /* Service Catagory */
1650 kal_uint16 MsgId; /* Message ID of submitted message */
1651 kal_bool HeaderInd; /* Header Indicator */
1652 kal_bool BearerReplyOptPres;
1653 kal_uint8 ReplySeq;
1654 kal_uint8 NumUserDataMsgs; /* Number of User data messages */
1655 kal_bool AbsValPres; /* Absolute validity period present*/
1656 PswSmsAbsTimeT AbsVal; /* Absolute validity period */
1657 kal_bool RelValPres; /* Relative validity period present*/
1658 kal_uint8 RelVal; /* Relative validity period */
1659 kal_bool AbsDelPres; /* Absolute deferred delivery time */
1660 /* present */
1661 PswSmsAbsTimeT AbsDel; /* Absolute deferred delivery time */
1662 kal_bool RelDelPres; /* Relative deferred delivery time */
1663 /* present */
1664 kal_uint8 RelDel; /* Relative deferred delivery time */
1665 kal_bool PriPres; /* Priority indicator present */
1666 PSW_SMS_PRIORITY Pri; /* Priority indicator */
1667 kal_bool PrvPres; /* Privacy indicator present */
1668 PSW_SMS_PRIVACY Prv; /* Privacy indicator */
1669 kal_bool ReplyOptPres; /* If reply option is present */
1670 kal_bool UserAck; /* User acknowledgement requested */
1671 kal_bool DeliverAck; /* delivery acknowledgement */
1672 /* requested from message center */
1673 kal_bool ReadAck; /* read acknowledgement */
1674 kal_bool AlertPres; /* Alert on message delivery present*/
1675 PSW_SMS_ALERT Alert; /* Alert on message delivery */
1676 kal_bool LangPres; /* Language indicator present */
1677 PSW_SMS_LANG Lang; /* Language indicator */
1678 kal_bool CallbackNumPres; /* Callback number present */
1679 PswSmsMCAddrT CallbackNum; /* Callback number */
1680 kal_bool OverrideAddrPres; /* Override Address Present */
1681 PswSmsMCAddrT OverrideAddr; /* Override Address */
1682 kal_bool OverrideSubaddrPres; /* Override Subaddress Present */
1683 PswSmsMCSubaddrT OverrideSubaddr; /* Override Subaddress */
1684 kal_bool MsgDepIndexPres; /* Message Deposit Index present */
1685 kal_uint16 MsgDepIndex; /* Message Deposit Index */
1686 kal_bool SrvCatProgResultPres; /* Service Category Program Results*/
1687 PswSrvCatProgResultT SrvCatProgResult; /* Service Category Program Results*/
1688 kal_bool DispModePres; /* Service Category Program Results*/
1689 PswDispModeT DispMode; /* Service Category Program Results*/
1690} PswSmsSubmitParmsMsgT;
1691
1692typedef struct
1693{
1694 kal_uint16 SeqNum;
1695 kal_uint8 MsgType;
1696 kal_uint8 NumMsgs;
1697 kal_uint8 MsgEncoding;
1698 kal_uint8 NumFields;
1699 kal_uint8 Char[ SMS_MAX_USERDATA_LENGTH ]; /* User Data field of message */
1700} PswSmsUserDataMsgT;
1701
1702typedef struct
1703{
1704 kal_uint16 TeleSrvId; /* Teleservice ID */
1705 kal_uint16 MsgId; /* Message ID of submitted message */
1706 kal_bool HeaderInd; /* Header Indicator */
1707 kal_bool OverrideAddrPres; /* Override address present */
1708 PswSmsMCAddrT OverrideAddr; /* Override address */
1709 kal_bool SubaddrPres; /* Subaddress Present */
1710 PswSmsMCSubaddrT Subaddr; /* Subaddress */
1711 kal_bool SendSmsCancelDb; /* Send SMS Cancel Databurst if needed */
1712 kal_uint16 SeqNum;
1713} PswSmsCancelMsgT;
1714
1715typedef struct
1716{
1717 kal_uint16 TeleSrvId; /* Teleservice ID */
1718 kal_uint16 SeqNum; /* Unique number to cordinate the */
1719 /* parameters and user data messages*/
1720 PswSmsMCAddrT Addr; /* Message ceneter address */
1721 kal_bool SubaddrPres; /* Subaddress Present */
1722 PswSmsMCSubaddrT Subaddr; /* Subaddress */
1723 kal_uint16 MsgId; /* Message ID of submitted message */
1724 PSW_MSG_TYPE MsgType; /* User/Delivery/Read ack type */
1725 kal_bool HeaderInd; /* Header Indicator */
1726 kal_uint8 NumUserDataMsgs; /* Number of User data messages */
1727 kal_bool RespCodePres; /* User response code present */
1728 kal_uint8 RespCode; /* User response code */
1729 kal_bool TimeStampPres; /* Time Stamp present */
1730 PswSmsAbsTimeT TimeStamp; /* Message Center Time Stamp */
1731 kal_bool MsgDepIndexPres; /* Message Deposit Index present */
1732 kal_uint16 MsgDepIndex; /* Message Deposit Index */
1733 kal_bool MsgStatusPres; /* Message Status present */
1734 PSW_MSG_STATUS MsgStatus; /* Message Status */
1735} PswSmsAckMsgT;
1736
1737typedef struct
1738{
1739 kal_uint32 SvcMask; /* Refer to scc_msc.c / mscGetSvcBitMap() for mapping */
1740 kal_uint32 LangMask; /* Refer to scc_msc.c / mscGetLangBitMap() for mapping */
1741 PSW_SMS_PRIORITY Priority;
1742} PswSmsBCastParmsMsgT;
1743
1744#if defined(LGT_EXTENSIONS)
1745typedef struct
1746{
1747 kal_uint32 Param1;
1748 kal_uint32 Param2;
1749 PSW_SMS_PRIORITY Priority;
1750} PswSmsUnknownParmsMsgT;
1751#endif
1752
1753typedef enum
1754{
1755 PSW_NO_TERMINAL_PROBLEMS,
1756 PSW_DESTINATION_RESOURSE_SHORTAGE,
1757 PSW_DESTINATION_OUT_OF_SERVICE
1758}PswTermStatusT;
1759
1760typedef struct
1761{
1762 PswTermStatusT Status;
1763} PswSmsTerminalStatusMsgT;
1764
1765typedef struct
1766{
1767 kal_uint8 NumTempRetries; /* Max # of retries if BS returns errorCode = Temporary */
1768 kal_uint8 NumPermRetries; /* Max # of retries if BS returns errorCode = Permanent */
1769 kal_uint8 NumTimeoutRetries;/* Max # of retries if no BS SMS Ack received and timeout
1770 occurs */
1771} PswSmsRetxAmountMsgT;
1772
1773typedef struct
1774{
1775 kal_uint8 ErrorClass;
1776 kal_uint8 CasueCode;
1777} PswSmsCauseCodeMsgT;
1778
1779typedef struct
1780{
1781 kal_uint16 SeqNum;
1782 kal_uint8 ErrorClass;
1783 kal_uint8 CauseCode;
1784 kal_bool SendTlAck;
1785} PswSmsReplyTlAckMsgT;
1786
1787 typedef struct
1788 {
1789 kal_bool MultiSMSMode;
1790 }PswSMSModeMsgT;
1791 /*
1792 This primitive is sent from md3-val to md3-psw to reply an tlack when receives SMS MT message.
1793 */
1794 typedef struct
1795 {
1796 kal_uint8 len;
1797 kal_uint8 Pdu[MAX_SMS_ACK_PDU_LEN];
1798 kal_uint16 seqNum;
1799 }PswSMSTlackReqMsgT;
1800
1801typedef struct {
1802 kal_bool CbsState; /* KAL_FALSE, CBS off; KAL_TRUE, CBS on */
1803 kal_uint32 LanMask; /* lanuage bitmap */
1804 kal_uint32 ChaMask[PSW_SMS_CBS_CHA_MAX]; /* channels bitmap */
1805 kal_uint32 CmasMask; /* cmas bitmap */
1806}PswSmsCbsInfoT;
1807
1808#endif
1809
1810/*-------------------------------------------------------------------**
1811 PSW_POS_AFLT_MEASUREMENTS_MSG
1812 PswPosAfltMeasurementMsgT
1813 L1D reports various position AFLT pilot set list information needed
1814 by BS. This list is not necessarily a complete list of position AFLT
1815 pilot set list but only those measurements that are completed as of
1816 the time the message is generated.
1817 *-------------------------------------------------------------------**/
1818
1819typedef struct
1820{
1821 kal_uint16 PilotPN;
1822 kal_bool Stale;
1823 /* PILOT_PN_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
1824 kal_int32 PnPhase;
1825 /* PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
1826 kal_uint16 Strength;
1827 /* RMS_ERR_PHASE sent in PROVIDE PILOT PHASE MEASUREMENTS */
1828} AFLTPilotMeasurementT;
1829
1830typedef struct
1831{
1832 kal_uint8 SeqNum;
1833 /* TIME_REF_MS sent in PROVIDE PILOT PHASE MEASUREMENTS */
1834 kal_uint16 TimeRefMs;
1835 kal_bool OffsetIncl;
1836 kal_int16 MobOffset;
1837 /* REF_PN sent in PROVIDE PILOT PHASE MEASUREMENTS */
1838 kal_uint16 RefPN;
1839 /* REF_PILOT_STRENGTH sent in PROVIDE PILOT PHASE MEASUREMENTS */
1840 kal_uint16 RefPilotStrength;
1841 /* NUM_PILOTS_P sent in PROVIDE PILOT PHASE MEASUREMENTS */
1842 /* actual number of pilot measurements in AFLTPilotMeasurement */
1843 kal_uint8 NumPilots;
1844 AFLTPilotMeasurementT PosAFLT[SYS_CP_MAX_AFLT_LIST_PILOTS_MEAS];
1845} PswPosAfltMeasurementMsgT;
1846
1847/*-------------------------------------------------------------------**
1848 PSW_POS_AFLT_ACK_ABORT_MSG
1849 PswPosAfltAckAbortMsgT
1850 L1D, after receiving L1D_POS_AFLT_ABORT_MSG, acknowledges its
1851 position search measurements aborted for given sequence number.
1852 *-------------------------------------------------------------------**/
1853
1854typedef struct
1855{
1856 kal_uint16 SeqNum;
1857} PswPosAfltAckAbortMsgT;
1858
1859/*-------------------------------------------------------------------**
1860 PSW_POS_AFLT_ABORT_REQ_MSG
1861 PswPosAfltAbortReqMsgT
1862 L1D, requests for position search measurements aborted for given
1863 sequence number.
1864 *-------------------------------------------------------------------**/
1865
1866typedef struct
1867{
1868 kal_uint16 SeqNum;
1869} PswPosAfltAbortReqMsgT;
1870
1871/* mclee location services request element messages */
1872typedef struct
1873{
1874 kal_uint8 SessID;
1875 kal_uint8 RejReqType; /* BS Request Element type */
1876 kal_bool RejReason;
1877} PswPosRejectMsgT;
1878
1879typedef struct
1880{
1881 kal_uint8 RecLen;
1882 kal_uint8 ProvPseudorangeRec[PRM_MAX_SIZE];
1883} PswPseudorangeMsmtRspMsgT;
1884
1885typedef struct
1886{
1887 kal_uint8 SoPref;
1888 kal_uint8 forRc;
1889 kal_uint8 revRc;
1890} PswLocPrefReqMsgT;
1891
1892typedef struct
1893{
1894 kal_bool Enable;
1895 kal_uint8 N1;
1896} PswGPSEnableReportsMsgT;
1897
1898typedef struct
1899{
1900 kal_uint16 Size;
1901 kal_uint8 Sap;
1902 kal_uint8 DataP[200];
1903} PswIs801TcpbFwdDataRespInfoMsgT;
1904
1905typedef struct
1906{
1907 kal_uint8 SessionId;
1908} PswIs801TcpBRevDataRespMsgT;
1909
1910
1911typedef enum
1912{
1913 PSW_GPS_ASSISTANCE_DATA_ALMANAC,
1914 PSW_GPS_ASSISTANCE_DATA_EPHEMERIS,
1915 PSW_GPS_ASSISTANCE_DATA_LAST_LOCATION,
1916 PSW_GPS_ASSISTANCE_DATA_BASE_STATION_ALMANAC,
1917 PSW_GPS_ASSISTANCE_DATA_ALMANAC_CORRECTION,
1918 PSW_GPS_ASSISTANCE_DATA_SV_HEALTH_INFO,
1919 PSW_GPS_ASSISTANCE_DATA_NAVIGATION_MSG_BITS,
1920 PSW_GPS_ASSISTANCE_DATA_ALL_GPS_DATA
1921}IS801GpsResetAssistanceDataT;
1922
1923typedef struct
1924{
1925 IS801GpsResetAssistanceDataT AssisData;
1926}PswGpsResetAssistMsgT;
1927
1928typedef struct
1929{
1930 kal_uint16 DataLen;
1931 kal_uint8 Data[PSW_GPS7560_DATA_SIZE_MAX];
1932} PswGpsNmeaStreamMsgT;
1933
1934typedef struct
1935{
1936 SysSystemTimeT SendTime;
1937} PswL1dAccessPreambleCompleteMsgT;
1938
1939typedef struct
1940{
1941 SysSystemTimeT SendTime;
1942} PswL1dAccessCompleteMsgT;
1943
1944typedef struct
1945{
1946 SysSystemTimeT finishTime;
1947} PswL1dAccessProbeCompleteMsgT;
1948
1949/****************/
1950/* ETS Messages */
1951/****************/
1952
1953typedef struct
1954{
1955 PswTestModeT Mode; /* Test mode */
1956 kal_uint16 Enabled; /* Mode Qualifier, typically equivalent to ON/OFF */
1957 kal_uint16 Value; /* Mode value*/
1958} PswEngineTestModeMsgT;
1959
1960
1961typedef struct
1962{
1963 kal_bool TimersUsed; /* Timers turned (on = KAL_TRUE) or (off = KAL_FALSE) */
1964} PswTestModeTimersUsedMsgT;
1965
1966typedef struct
1967{
1968 kal_uint32 MaxCapSize; /* System time to start sending message */
1969 kal_uint16 power_correction; /* Tx power level less mean input power */
1970 kal_bool use_curr_mip; /* Use current mean input power or not */
1971 kal_uint8 data_len; /* Length of data to be sent */
1972 kal_uint8 data[30]; /* l3 message data, length, data, crc */
1973 kal_bool repeat_data; /* Message data is repeated flag */
1974 kal_uint8 lc_mask[6]; /* Access channel long code mask */
1975 kal_uint8 pam_size; /* Preamble size in frames */
1976 kal_uint16 RN; /* Random chip delay : 0 - 511 */
1977} PswAccessSigMsgT;
1978
1979#ifdef MTK_PLT_ON_PC_UT
1980/* For PSW UT */
1981typedef struct
1982{
1983 kal_uint8 lengthInBits;
1984 kal_uint8 reverseSigData[CPBUF_SIZE_REV];
1985}PswUnitTestReverseSigMsgT;
1986#ifdef MTK_DEV_C2K_IRAT
1987typedef struct
1988{
1989 kal_bool paramPsServStatusPresent;
1990 kal_bool paramIratModePresent;
1991 kal_bool psRegistered;
1992 srlteRatTypeT c2kRatType;
1993 rat_enum ratMode;
1994}PswSetIratParamMsgT;
1995#endif
1996typedef struct
1997{
1998 kal_bool success;
1999 kal_bool resend;
2000}PswSendSmsConfirmMsgT;
2001
2002typedef struct
2003{
2004 sbp_id_enum sbpId;
2005}PswSetSbpIdMsgT;
2006
2007#endif
2008
2009/* Status request message - Request current PS status */
2010typedef struct
2011{
2012 ExeRspMsgT RspInfo; /* Response routing information */
2013} PswStatusRequestMsgT;
2014
2015/* Status request, response */
2016typedef struct
2017{
2018 kal_uint32 Esn;
2019 kal_uint8 RFMode;
2020 kal_uint8 MIN_Digits;
2021 kal_uint8 Min[15];
2022 kal_uint8 CPState;
2023 kal_uint8 CDMAGoodFrames;
2024 kal_uint16 AMPSGoodFrames;
2025 kal_uint16 AMPSBadFrames;
2026 kal_uint8 CPEntranceReason;
2027 kal_uint16 Channel;
2028 kal_uint16 PilotPN;
2029 kal_uint16 CurSID;
2030 kal_uint16 CurNID;
2031 kal_uint16 LocAreaID;
2032 kal_int16 RSSI;
2033 kal_uint8 PowerLevel;
2034 kal_bool Slotted_Mode_Flag;
2035} PswStatusResponseMsgT;
2036
2037/* Debug Pilot Strength request message */
2038typedef struct
2039{
2040 ExeRspMsgT RspInfo; /* Response routing information */
2041 kal_bool enable;
2042} PswDebugPilotStrengthMsgT;
2043
2044typedef struct
2045{
2046 DebugPilotInfo *PilotReport;
2047} PswDebugPilotStrengthRspMsgT;
2048
2049/* Debug Screen request message - Request debug screen info */
2050typedef struct
2051{
2052 ExeRspMsgT RspInfo; /* Response routing information */
2053} PswDebugScrnRequestMsgT;
2054
2055/* Debug Screen Response */
2056typedef struct
2057{
2058 kal_uint16 sid;
2059 kal_uint16 nid;
2060 kal_uint16 badframes;
2061 kal_uint16 totframes;
2062 kal_uint16 ActPilotPN [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
2063 kal_uint16 ActPilotEcIo [SYS_CP_MAX_ACTIVE_LIST_PILOTS];
2064 kal_uint16 CandPilotPN [SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
2065 kal_uint16 CandPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS];
2066 kal_uint16 NghbrPilotPN [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
2067 kal_uint16 NghbrPilotEcIo [SYS_CP_MAX_NEIGHBOR_LIST_PILOTS];
2068 kal_int16 txPower;
2069 kal_int16 rxPower;
2070 kal_uint8 current_slot_cycle_index;
2071 kal_bool slotted_enabled;
2072 kal_bool qpch_enabled;
2073 kal_uint8 forfchRc;
2074 kal_uint8 revfchRc;
2075 kal_uint16 serviceOption;
2076 PswServiceT serviceType;
2077} PswDebugScrnResponseT;
2078
2079/* Phone State request message */
2080typedef struct
2081{
2082 ExeRspMsgT RspInfo; /* Response routing information */
2083} PswPhoneStateRequestMsgT;
2084
2085/* Phone State request, response */
2086typedef struct
2087{
2088 kal_uint8 State;
2089 kal_uint32 total_msg; /* Number of paging ch messages received */
2090 kal_uint32 error_msg; /* Number of paging ch messages with bad crc */
2091 kal_uint16 acc_1; /* number of layer 3 requests messages generated */
2092 kal_uint16 acc_2; /* number of layer 3 response messages generated */
2093 kal_uint16 acc_8; /* number of unsuccessful access attempts */
2094 kal_uint16 dpchLoss_count; /* Count of paging ch declared */
2095 kal_uint16 dtchLoss_count; /* Count of dedicated traffic CH Loss*/
2096 kal_uint32 idleHO_count; /* Count of idle handoff*/
2097 kal_uint16 hardHO_count; /* Count of hard handoff*/
2098 kal_uint16 interFreqIdleHO_count; /* Count of inter_Freq idle handoff*/
2099 kal_uint16 MO_count; /* Count of successful MS ORIGINATED */
2100 kal_uint16 MT_count; /* Count of successful MS TERMINATED */
2101 kal_uint16 powerDownReg_count; /* Count of power down registration */
2102 kal_uint16 timeBasedReg_count; /* Count of time based registration */
2103 kal_uint16 parameterReg_count; /* Count of parameter change registration */
2104 kal_uint16 powerUpReg_count; /* Count of power up registration */
2105 kal_uint16 orderedReg_count; /* Count of ordered registration */
2106 kal_uint16 zoneBasedReg_count; /* Count of zone based registration */
2107 kal_uint16 distanceBasedReg_count; /* Count of distance based registration */
2108 kal_uint16 silentryRetryTimeout_count; /* Count of silentry retry timeout */
2109 kal_uint16 T40_count; /* Count of T40m timeout */
2110 kal_uint16 T41_count; /* Count of T41m timeout */
2111 kal_uint16 T50_count; /* Count of T50m timeout */
2112 kal_uint16 T51_count; /* Count of T51m timeout */
2113 kal_uint16 T52_count; /* Count of T52m timeout */
2114 kal_uint16 T55_count; /* Count of T55m timeout */
2115} PswPhoneStateResponseMsgT;
2116
2117/* Set Retreivable Statistics Parameter Request Type */
2118typedef struct
2119{
2120 kal_uint16 ParameterID;
2121 kal_uint32 Value;
2122} PswSetRetrievableParameterMsgT;
2123
2124/* Get Retreivable Statistics Parameter Request Type */
2125typedef struct
2126{
2127 StatCounterT StatCounter; /* Statistics counter */
2128} PswGetRetrievableParameterMsgT;
2129
2130/* Get Retreivable Statistics Parameter Response Message Type */
2131typedef struct
2132{
2133 StatCounterT StatCounter; /* Statistics counter */
2134 kal_uint32 Value[MAX_STAT_ELEMENT];
2135} GetRetrievableParameterRspMsgT;
2136
2137typedef struct
2138{
2139 ExeRspMsgT RspInfo; /* Response routing information */
2140} PswGetFullSysTimeMsgT;
2141
2142typedef struct
2143{
2144 ExeRspMsgT RspInfo; /* Response routing information */
2145} PswGetPRevInUseRequestMsgT;
2146
2147typedef struct
2148{
2149 kal_uint8 P_Rev_In_Use;
2150} PswGetPRevInUseResponseMsgT;
2151
2152/* aak_akey */
2153#ifdef PSW_AKEY_UINT64
2154typedef struct
2155{
2156 ExeRspMsgT RspInfo; /* Response routing information */
2157 kal_uint64 akey;
2158 kal_uint32 checksum;
2159} PswEnterAKeyMsgT;
2160#else
2161typedef struct
2162{
2163 ExeRspMsgT RspInfo; /* Response routing information */
2164 kal_uint32 akey_low;
2165 kal_uint32 akey_high;
2166 kal_uint32 checksum;
2167} PswEnterAKeyMsgT;
2168#endif
2169
2170typedef struct
2171{
2172 kal_uint8 NoiseFloor;
2173 kal_uint8 ThrMin;
2174 kal_uint8 MinAct;
2175 kal_uint8 ThrSlope;
2176} PswSetAccessHOParmsMsgT;
2177
2178typedef struct
2179{
2180 kal_uint8 ThrMinImmed;
2181 kal_uint8 MinActImmed;
2182 kal_uint8 ThrSlopeImmed;
2183 kal_uint8 ThrMinDelayed;
2184 kal_uint8 MinActDelayed;
2185 kal_uint8 ThrSlopeDelayed;
2186 kal_uint8 DelayCount;
2187 kal_uint8 MinNghbrThr;
2188} PswSetIdleHOParmsMsgT;
2189
2190typedef struct
2191{
2192 kal_bool PiStatus;
2193} PswQpchPiStatusMsgT;
2194
2195typedef struct
2196{
2197 kal_uint8 nomPwrExt;
2198 kal_int8 nomPwr;
2199 kal_uint8 numPreamble;
2200 kal_uint8 bandClass;
2201 kal_uint16 cdmaFreq;
2202 kal_uint16 pilotPN;
2203 kal_uint8 codeChanFCH;
2204} PswInjectHandoffMsgT;
2205
2206/*****************************************************************************
2207 * Defines
2208 ****************************************************************************/
2209typedef enum
2210{
2211 PSW_UI_ENCRYP_DISABLED,
2212 PSW_UI_ORYX_ENABLED
2213} PSW_UI_ENCRYPT_MODE_TYPE;
2214
2215typedef enum
2216{
2217 PSW_BASIC_ENCRYPT_SUPP,
2218 PSW_BASIC_AND_ENHANCED_SUPP
2219} PSW_ENCRYPT_MODE_TYPE;
2220
2221/* define set of frame sizes */
2222typedef enum
2223{
2224 PSW_DCCH_FS_20MS = 1, /* 20 ms frame size only */
2225 PSW_DCCH_FS_5MS = 2, /* 5 ms frame size only */
2226 PSW_DCCH_FS_5MS_AND_20MS = 3 /* both 5 and 20 ms frame size */
2227} PSW_DCCH_FRAME_SIZE_TYPE;
2228
2229typedef enum
2230{
2231 PSW_FCH_FS_20MS = 0,
2232 PSW_FCH_FS_5MS_AND_20MS = 1
2233} PSW_FCH_FRAME_SIZE_TYPE;
2234
2235/* define set of RC settings */
2236typedef enum
2237{
2238 PSW_FOR_RC_1 = 0x100,
2239 PSW_FOR_RC_2 = 0x80,
2240 PSW_FOR_RC_3 = 0x40,
2241 PSW_FOR_RC_4 = 0x20,
2242 PSW_FOR_RC_5 = 0x10,
2243 PSW_FOR_RC_6 = 0x8,
2244 PSW_FOR_RC_7 = 0x4,
2245 PSW_FOR_RC_8 = 0x2,
2246 PSW_FOR_RC_9 = 0x1
2247} PSW_FOR_RC_TYPE;
2248
2249typedef enum
2250{
2251 PSW_REV_RC_1 = 0x20,
2252 PSW_REV_RC_2 = 0x10,
2253 PSW_REV_RC_3 = 0x8,
2254 PSW_REV_RC_4 = 0x4,
2255 PSW_REV_RC_5 = 0x2,
2256 PSW_REV_RC_6 = 0x1
2257} PSW_REV_RC_TYPE;
2258
2259/* define set of RC Preference settings */
2260typedef enum
2261{
2262 PSW_RC_PREF_1 = 1,
2263 PSW_RC_PREF_2 = 2,
2264 PSW_RC_PREF_3 = 3,
2265 PSW_RC_PREF_4 = 4,
2266 PSW_RC_PREF_5 = 5,
2267 PSW_RC_PREF_6 = 6,
2268 PSW_RC_PREF_7 = 7,
2269 PSW_RC_PREF_8 = 8,
2270 PSW_RC_PREF_9 = 9
2271} PSW_RC_PREF_TYPE;
2272
2273/* define set of Geo-location support */
2274typedef enum
2275{
2276 PSW_GL_NO_SUPPORT = 0,
2277 PSW_GL_AFLT = 1,
2278 PSW_GL_AFLT_AND_GPS = 2,
2279 PSW_GL_GPS = 3
2280} PSW_GEO_LOC_TYPE;
2281
2282typedef enum
2283{
2284 PSW_GATING_RATE_SET_00 = 0x00, /* Gating rates 1 */
2285 PSW_GATING_RATE_SET_01 = 0x01, /* Gating rates 1 and 1/2 */
2286 PSW_GATING_RATE_SET_10 = 0x02, /* Gating rates 1, 1/2 and 1/4 */
2287 PSW_GATING_RATE_SET_11 = 0x03 /* reserved */
2288} PSW_GATING_RATE_SET_TYPE;
2289
2290
2291/* FOR SCH Multiplex options --------------------------------------- */
2292typedef enum
2293{
2294 PSW_FOR_SCH_0x03_MUX_OPTION = 0x0001, /* For SCH 0x03 Mux options, bit, */
2295 PSW_FOR_SCH_0x809_MUX_OPTION = 0x0002, /* For SCH 0x809 Mux options, bit, */
2296 PSW_FOR_SCH_0x811_MUX_OPTION = 0x0004, /* For SCH 0x811 Mux options, bit, */
2297 PSW_FOR_SCH_0x821_MUX_OPTION = 0x0008, /* For SCH 0x821 Mux options, bit, */
2298 PSW_FOR_SCH_0x905_MUX_OPTION = 0x0010, /* For SCH 0x905 Mux options, bit, */
2299 PSW_FOR_SCH_0x909_MUX_OPTION = 0x0020, /* For SCH 0x909 Mux options, bit, */
2300 PSW_FOR_SCH_0x911_MUX_OPTION = 0x0040, /* For SCH 0x911 Mux options, bit, */
2301 PSW_FOR_SCH_0x921_MUX_OPTION = 0x0080, /* For SCH 0x921 Mux options, bit, */
2302
2303 PSW_FOR_SCH_0x04_MUX_OPTION = 0x0100, /* For SCH 0x04 Mux options, bit, */
2304 PSW_FOR_SCH_0x80a_MUX_OPTION = 0x0200, /* For SCH 0x80a Mux options, bit, */
2305 PSW_FOR_SCH_0x812_MUX_OPTION = 0x0400, /* For SCH 0x812 Mux options, bit, */
2306 PSW_FOR_SCH_0x822_MUX_OPTION = 0x0800, /* For SCH 0x822 Mux options, bit, */
2307 PSW_FOR_SCH_0x906_MUX_OPTION = 0x1000, /* For SCH 0x906 Mux options, bit, */
2308 PSW_FOR_SCH_0x90a_MUX_OPTION = 0x2000, /* For SCH 0x90a Mux options, bit, */
2309 PSW_FOR_SCH_0x912_MUX_OPTION = 0x4000, /* For SCH 0x912 Mux options, bit, */
2310 PSW_FOR_SCH_0x922_MUX_OPTION = 0x8000 /* For SCH 0x922 Mux options, bit, */
2311} PSW_FOR_SCH_MUX_OPTION;
2312
2313
2314/* REV SCH Multiplex options --------------------------------------- */
2315typedef enum
2316{
2317 PSW_REV_SCH_0x03_MUX_OPTION = 0x0001, /* Rev SCH 0x03 Mux options, bit, */
2318 PSW_REV_SCH_0x809_MUX_OPTION = 0x0002, /* Rev SCH 0x809 Mux options, bit, */
2319 PSW_REV_SCH_0x811_MUX_OPTION = 0x0004, /* Rev SCH 0x811 Mux options, bit, */
2320 PSW_REV_SCH_0x821_MUX_OPTION = 0x0008, /* Rev SCH 0x821 Mux options, bit, */
2321 PSW_REV_SCH_0x905_MUX_OPTION = 0x0010, /* Rev SCH 0x905 Mux options, bit, */
2322 PSW_REV_SCH_0x909_MUX_OPTION = 0x0020, /* Rev SCH 0x909 Mux options, bit, */
2323 PSW_REV_SCH_0x911_MUX_OPTION = 0x0040, /* Rev SCH 0x911 Mux options, bit, */
2324 PSW_REV_SCH_0x921_MUX_OPTION = 0x0080, /* Rev SCH 0x921 Mux options, bit, */
2325
2326 PSW_REV_SCH_0x04_MUX_OPTION = 0x0100, /* Rev SCH 0x04 Mux options, bit, */
2327 PSW_REV_SCH_0x80a_MUX_OPTION = 0x0200, /* Rev SCH 0x80a Mux options, bit, */
2328 PSW_REV_SCH_0x812_MUX_OPTION = 0x0400, /* Rev SCH 0x812 Mux options, bit, */
2329 PSW_REV_SCH_0x822_MUX_OPTION = 0x0800, /* Rev SCH 0x822 Mux options, bit, */
2330 PSW_REV_SCH_0x906_MUX_OPTION = 0x1000, /* Rev SCH 0x906 Mux options, bit, */
2331 PSW_REV_SCH_0x90a_MUX_OPTION = 0x2000, /* Rev SCH 0x90a Mux options, bit, */
2332 PSW_REV_SCH_0x912_MUX_OPTION = 0x4000, /* Rev SCH 0x912 Mux options, bit, */
2333 PSW_REV_SCH_0x922_MUX_OPTION = 0x8000 /* Rev SCH 0x922 Mux options, bit, */
2334} PSW_REV_SCH_MUX_OPTION;
2335
2336/* FCH & DCCH Multiplex options -------------------------------------- */
2337typedef enum
2338{
2339 PSW_MUX_OPTION_0x1 = 0x1,
2340 PSW_MUX_OPTION_0x2 = 0x2,
2341 PSW_MUX_OPTION_0x704 = 0x4
2342} PSW_MUX_OPTIONS_TYPES;
2343
2344/* define set of bitmap indicator */
2345typedef enum
2346{
2347 PSW_SO_0_BITS = 0,
2348 PSW_SO_4_BITS = 1,
2349 PSW_SO_8_BITS = 2
2350} PSW_SERV_OPT_BITMAP_IND;
2351
2352typedef enum
2353{
2354 PSW_CH_IND_RESERVED = 0x00,
2355 PSW_CH_IND_FCH = 0x01,
2356 PSW_CH_IND_DCCH = 0x02,
2357 PSW_CH_IND_FCH_AND_DCCH = 0x03
2358} PSW_CH_IND_TYPE;
2359
2360typedef struct
2361{
2362 PSW_FCH_FRAME_SIZE_TYPE FchFrameSize; /* FCH_FRAME_SIZE, FCH frame Size capability indicator */
2363 kal_uint8 ForFchLen; /* FOR_FCH_LEN, Fwd Fundemental Channel Config Info. Len */
2364 kal_uint16 ForFchRcMap; /* FOR_FCH_RC_MAP Forward Fundemental Radio Config. Info.*/
2365 kal_uint8 RevFchLen; /* REV_FCH_LEN, Rev Fundemental Channel Config Info. Len */
2366 PSW_REV_RC_TYPE RevFchRcMap; /* REV_FCH_RC_MAP Reverse Fundemental Radio Config. Info.*/
2367} PSW_FCH_TYPE_SPECIFIC_FIELDS_TYPE;
2368
2369typedef struct
2370{
2371 PSW_DCCH_FRAME_SIZE_TYPE DcchFrameSize; /* DCCH_FRAME_SIZE, DCCH frame Size capability indicator */
2372 kal_uint8 ForDcchLen; /* FOR_DCCH_LEN, Fwd Dedicated Ctrl Ch. Config Info. Len */
2373 kal_uint16 ForDcchRcMap; /* FOR_DCCH_RC_MAP Fwd Dedicated Ch. Radio Config. Info. */
2374 kal_uint8 RevDcchLen; /* REV_DCCH_LEN, Rev Dedicated Ctrl Ch. Config Info. Len */
2375 PSW_REV_RC_TYPE RevDcchRcMap; /* REV_DCCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
2376} PSW_DCCH_TYPE_SPECIFIC_FIELDS_TYPE;
2377
2378typedef struct
2379{
2380 kal_uint8 ForSchLen; /* FOR_SCH_LEN, Fwd Supplemental length in 3 bit uints */
2381 kal_uint16 ForSchRcMap; /* FOR_SCH_RC_MAP, Fwd Supplemental Channel Radio Config Information. */
2382 kal_uint8 ForSchNum; /* FOR_SCH_NUM, Number of Forward Supplemental Cannel */
2383 kal_bool ForTurboSupportedSch1; /* FOR_TURBO_SUPPORTED, 1 Ch Fwd Turbo Coding Supported */
2384 kal_bool ForTurboSupportedSch2; /* FOR_TURBO_SUPPORTED, 2 Ch Fwd Turbo Coding Supported */
2385 kal_uint8 ForMaxTurboBlockSize; /* FOR_MAX_TURBO_BLOCK_SIZE, Fwd Max Turbo Block Size */
2386 kal_bool ForConvSupportedSch1; /* FOR_CONV_SUPPORTED, 1 Ch Fwd convolutional Coding Supported */
2387 kal_bool ForConvSupportedSch2; /* FOR_CONV_SUPPORTED, 2 Ch Fwd convolutional Coding Supported */
2388 kal_uint8 ForMaxConvBlockSize; /* FOR_MAX_CONV_BLOCK_SIZE, Fwd Max Conv. Code Block Size*/
2389} PSW_FOR_SCH_TYPE_SPECIFIC_FIELDS_TYPE;
2390
2391typedef struct
2392{
2393 kal_uint8 RevSchLen; /* REV_SCH_LEN, Rev Supplemental length in 3 bit uints */
2394 kal_uint8 RevSchRcMap; /* REV_SCH_RC_MAP Rev Dedicated Ch. Radio Config. Info. */
2395 kal_uint8 RevSchNum; /* REV_SCH_NUM, Number of Reverse Supplemental Cannel */
2396 kal_bool RevTurboSupportedSch1; /* REV_TURBO_SUPPORTED, 1 Ch Rev Turbo Coding Supported */
2397 kal_bool RevTurboSupportedSch2; /* REV_TURBO_SUPPORTED, 2 Ch Rev Turbo Coding Supported */
2398 kal_uint8 RevMaxTurboBlockSize; /* REV_MAX_TURBO_BLOCK_SIZE, Rev Max Turbo Block Size */
2399 kal_bool RevConvSupportedSch1; /* REV_CONV_SUPPORTED, 1 Ch Rev convolutional Coding Supported */
2400 kal_bool RevConvSupportedSch2; /* REV_CONV_SUPPORTED, 2 Ch Rev convolutional Coding Supported */
2401 kal_uint8 RevMaxConvBlockSize; /* REV_MAX_CONV_BLOCK_SIZE, Rev Max Conv. Code Block Size*/
2402} PSW_REV_SCH_TYPE_SPECIFIC_FIELDS_TYPE;
2403
2404typedef struct
2405{
2406 kal_uint8 MaxMsNakRoundsFwd; /* MAX_MS_NAK_ROUNDS_FWD Maximum number of RLP_NAK rounds
2407 supported by the MS on the forward traffic channel */
2408 kal_uint8 MaxMsNakRoundsRev; /* MAX_MS_NAK_ROUNDS_REV Maximum number of RLP_NAK rounds
2409 supported by the MS on the reverse traffic channel */
2410} PSW_RLP_CAP_BLOB_LEN_TYPE;
2411
2412/* Status request, response */
2413typedef struct
2414{
2415 kal_uint8 MsCapData[1];
2416} PswMsCapDbWriteMsgT;
2417
2418typedef enum
2419{
2420 PSW_HSPD_CONTROL_HOLD_STATE = 0,
2421 PSW_HSPD_ACTIVE_STATE = 1
2422} PswHspdActiveControlHoldT;
2423
2424typedef struct
2425{
2426 PswHspdActiveControlHoldT HspdNewState;
2427} PswHspdActiveControlHoldMsgT;
2428
2429typedef enum
2430{
2431 PSW_SCH_9_6_KBPS = 0,
2432 PSW_SCH_19_2_KBPS = 1,
2433 PSW_SCH_38_4_KBPS = 2,
2434 PSW_SCH_76_8_KBPS = 3,
2435 PSW_SCH_153_6_KBPS = 4,
2436 PSW_SCH_307_2_KBPS = 5,
2437 PSW_SCH_614_4_KBPS = 6
2438} PswSchPrefRateT;
2439
2440typedef struct
2441{
2442 kal_uint8 SrId;
2443 PswSchPrefRateT PrefRate;
2444 kal_uint16 Duration;
2445} PswRevSchRequestMsgT;
2446
2447#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
2448typedef struct
2449{
2450 kal_bool defineRcForAllSo;
2451 kal_uint8 forRc;
2452 kal_uint8 revRc;
2453} PackedPswDefineRcT;
2454#endif
2455
2456typedef struct
2457{
2458 kal_uint8 StartupActiveNam;
2459 kal_uint8 PswFeatureFlags;
2460 kal_uint8 PhyFeatureFlags;
2461 kal_uint8 PswMiscEnableFlags;
2462 kal_uint8 pendingReg;
2463 kal_uint16 PrefHomeMOSO;
2464 kal_uint16 PrefHomeMTSO;
2465 kal_uint16 PrefRoamMOSO;
2466 kal_bool IS683NamLock;
2467 kal_uint8 DfsEcIoThresh;
2468 kal_uint16 qpchPilotEcIoThreshLow;
2469 kal_uint16 qpchPilotEcIoThreshHigh;
2470 kal_uint8 reserved_0;
2471#if defined (__TC10__) && defined (__TC10_IPC_CDMA_SUPPORT__)
2472 PackedPswDefineRcT defineRc;
2473#endif
2474 kal_uint16 checksum;
2475} PackedPswMiscT;
2476
2477/*#ifdef VERIZON_GPS_DEBUG */
2478#define MAX_DEBUG_INFO 64
2479#define MAX_NUM_SATELLITES 9
2480
2481typedef struct
2482{
2483 ExeRspMsgT RspInfo; /* Response routing information */
2484} PswGpsDebugInfoCmdMsgT;
2485
2486typedef struct
2487{
2488 kal_bool Valid;
2489 kal_uint32 num_pilots_in_aflt_msg;
2490 kal_uint32 SystemTime;
2491 kal_uint32 LAT;
2492 kal_uint32 LONG;
2493 kal_uint32 FixType;
2494 kal_uint8 SatelliteNumber[MAX_NUM_SATELLITES];
2495} PswGpsDebugInfoRspMsgT;
2496
2497/*#endif */
2498
2499typedef enum
2500{
2501 ID_NOT_SET = 0,
2502 ESN = 1,
2503 MEID = 2,
2504 UIMID = 3,
2505 SF_EUIMID
2506} MobileIDType;
2507
2508typedef enum
2509{
2510 PSW_SET_MBID_ELT = 0,
2511 PSW_SET_MBID_AT = 1,
2512 PSW_SET_MBID_META = 2,
2513 PSW_SET_MBID_SYNC_FROM_IMEI = 3,
2514 PSW_SET_MBID_INVALID
2515} PswSetMobileIdType;
2516
2517typedef enum
2518{
2519 PSW_SET_FAILURE = 0,
2520 PSW_SET_SUCCESS = 1,
2521} PswSetMobileIdStatus;
2522
2523/* Set ESN message */
2524typedef struct
2525{
2526 MobileIDType Id;
2527 kal_uint64 value;
2528} PswSetMobileIDMsgT;
2529
2530/* Get ESN message */
2531typedef struct
2532{
2533 ExeRspMsgT RspInfo; /* Response routing information */
2534} PswGetMobileIDMsgT;
2535
2536/* Verify SPC message */
2537typedef struct
2538{
2539 kal_uint32 SPC;
2540 kal_bool reset;
2541} PswVerifySPCMsgT;
2542
2543/* Get ESN response message */
2544typedef struct
2545{
2546 MobileIDType Id;
2547 kal_uint64 value;
2548} PswGetMobileIDRspMsgT;
2549
2550/* Get Active NAM message */
2551typedef struct
2552{
2553 ExeRspMsgT RspInfo; /* Response routing information */
2554} PswGetActiveNamMsgT;
2555
2556/* Get Active NAM response message */
2557typedef struct
2558{
2559 kal_uint8 CurrentActiveNam;
2560} PswGetActiveNamResponseMsgT;
2561
2562/* Select Active NAM message */
2563typedef struct
2564{
2565 kal_uint8 SelectActiveNam;
2566} PswSelectActiveNamMsgT;
2567
2568typedef enum
2569{
2570 DUAL_NAM_NOT_SUPPORTED = 0,
2571 NAM1_SELECTED = 1,
2572 NAM2_SELECTED = 2,
2573 PS_ACTIVE_NAM1_LOCKED = 3,
2574 PS_ACTIVE_NAM2_LOCKED = 4
2575} ActiveNamResultT;
2576
2577/* Select Active NAM response message */
2578typedef struct
2579{
2580 kal_uint8 ActiveNamResult;
2581} PswSelectActiveNamResponseMsgT;
2582
2583typedef struct
2584{
2585 kal_uint8 PWR_CNTL_STEP;
2586 kal_bool USE_TIME;
2587 kal_uint8 ACTION_TIME;
2588 kal_bool FPC_INCL;
2589 kal_uint8 FPC_MODE;
2590 kal_bool FPC_PRI_CHAN;
2591 kal_bool FPC_OLPC_FCH_INCL;
2592 kal_uint8 FPC_FCH_FER;
2593 kal_uint8 FPC_FCH_MIN_SETPT;
2594 kal_uint8 FPC_FCH_MAX_SETPT;
2595 kal_bool FPC_OLPC_DCCH_INCL;
2596 kal_uint8 FPC_DCCH_FER;
2597 kal_uint8 FPC_DCCH_MIN_SETPT;
2598 kal_uint8 FPC_DCCH_MAX_SETPT;
2599 kal_bool FPC_SEC_CHAN;
2600 kal_uint8 NUM_SUP;
2601 kal_bool SCH_ID;
2602 kal_uint8 FPC_SCH_FER;
2603 kal_uint8 FPC_SCH_MIN_SETPT;
2604 kal_uint8 FPC_SCH_MAX_SETPT;
2605 kal_bool FPC_THRESH_INCL;
2606 kal_uint8 FPC_SETPT_THRESH;
2607 kal_bool FPC_THRESH_SCH_INCL;
2608 kal_uint8 FPC_SETPT_THRESH_SCH;
2609 kal_bool RPC_INCL;
2610 kal_uint8 RPC_NUM_REC;
2611 kal_uint8 RPC_ADJ_REC_TYPE_0;
2612 kal_uint8 RPC_ADJ_REC_LEN_0;
2613 kal_bool PCM_FCH_INCL;
2614 kal_uint8 FCH_CHAN_ADJ_GAIN;
2615 kal_bool PCM_DCCH_INCL;
2616 kal_uint8 DCCH_CHAN_ADJ_GAIN;
2617 kal_bool SCH0_INCL;
2618 kal_uint8 SCH0_CHAN_ADJ_GAIN;
2619 kal_bool SCH1_INCL;
2620 kal_uint8 SCH1_CHAN_ADJ_GAIN;
2621 kal_uint8 RPC_ADJ_REC_TYPE_1;
2622 kal_uint8 RPC_ADJ_REC_LEN_1;
2623 kal_bool RL_ATT_ADJ_GAIN_TYPE_1;
2624 kal_bool RC3_RC5_20MS_INCL_1;
2625 kal_uint8 RL_ATT_ADJ_GAIN_1500;
2626 kal_uint8 RL_ATT_ADJ_GAIN_2700;
2627 kal_uint8 RL_ATT_ADJ_GAIN_4800;
2628 kal_uint8 RL_ATT_ADJ_GAIN_9600;
2629 kal_bool RC4_RC6_20MS_INCL_1;
2630 kal_uint8 RL_ATT_ADJ_GAIN_1800;
2631 kal_uint8 RL_ATT_ADJ_GAIN_3600;
2632 kal_uint8 RL_ATT_ADJ_GAIN_7200;
2633 kal_uint8 RL_ATT_ADJ_GAIN_14400;
2634 kal_bool MS5_INCL;
2635 kal_uint8 NORM_ATT_GAIN_9600_5MS;
2636 kal_uint8 RPC_ADJ_REC_TYPE_2;
2637 kal_uint8 RPC_ADJ_REC_LEN_2;
2638 kal_bool CODE_TYPE;
2639 kal_bool RL_ATT_ADJ_GAIN_TYPE_2;
2640 kal_bool RC3_RC5_20MS_INCL_2;
2641 kal_uint8 RL_ATT_ADJ_GAIN_19200;
2642 kal_uint8 RL_ATT_ADJ_GAIN_38400;
2643 kal_uint8 RL_ATT_ADJ_GAIN_76800;
2644 kal_uint8 RL_ATT_ADJ_GAIN_153600;
2645 kal_uint8 RL_ATT_ADJ_GAIN_307200;
2646 kal_uint8 RL_ATT_ADJ_GAIN_614400;
2647 kal_bool RC4_RC6_20MS_INCL_2;
2648 kal_uint8 RL_ATT_ADJ_GAIN_28800;
2649 kal_uint8 RL_ATT_ADJ_GAIN_576600;
2650 kal_uint8 RL_ATT_ADJ_GAIN_115200;
2651 kal_uint8 RL_ATT_ADJ_GAIN_230400;
2652 kal_uint8 RL_ATT_ADJ_GAIN_460800;
2653 kal_uint8 RL_ATT_ADJ_GAIN_1036800;
2654} PswTestPowerControlMsgT;
2655
2656typedef struct
2657{
2658 ExeRspMsgT RspInfo;
2659} PswReadRawIMSIMsgT;
2660
2661typedef struct
2662{
2663 kal_uint8 ValidIMSImap; /* bit0: IMSI_M, bit1:IMSI_T */
2664 kal_uint8 M_MCC[3]; /* MCC raw digits */
2665 kal_uint8 M_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
2666 kal_uint8 M_IMSI_S[10]; /* M_IMSI_S raw digits */
2667 kal_uint8 M_IMSI_Class;
2668 kal_uint8 M_AddrNum;
2669 kal_uint8 T_MCC[3]; /* MCC raw digits */
2670 kal_uint8 T_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
2671 kal_uint8 T_IMSI_S[10]; /* M_IMSI_S raw digits */
2672 kal_uint8 T_IMSI_Class;
2673 kal_uint8 T_AddrNum;
2674 kal_uint8 Mdn[NAM_MAX_MDN_DIGITS]; /* MDN max 16 digits */
2675 kal_uint8 MDN_NUM_DIGITS; /* MDN number digits */
2676 kal_uint8 ACCOLCp; /* access overload class */
2677} PswReadRawIMSIRspT;
2678
2679/* PSW_OOSA_WAKEUP_IND_MSG */
2680typedef struct
2681{
2682 OosaWakeupTypeT OosaWakeupType;
2683} PswOosaWakupIndMsgT;
2684
2685typedef struct
2686{
2687 kal_bool result; /* Verify result, True:pass, False: not pass */
2688} PswL1dSltTxVerifyIndMsgT;
2689
2690#ifdef MTK_CBP_ENCRYPT_VOICE
2691typedef struct
2692{
2693 kal_bool isMoc ;
2694} PswKeyReqMsgT;
2695
2696typedef struct
2697{
2698 kal_uint16 SeqNum;
2699} PswCancelCipherSmsSendReqT;
2700
2701#endif
2702
2703typedef struct
2704{
2705 kal_bool result; /* SLT verify RF result, KAL_TRUE:success, KAL_FALSE:fail */
2706} SltVerifyResultMsgT;
2707
2708typedef struct
2709{
2710 CHANNEL_DESC Sys;
2711 kal_bool LastChannelInSRSL;
2712} PswCssSelectRspMsgT;
2713
2714typedef enum
2715{
2716 CP_SYS_REJECTED,
2717 CP_SYS_ACCEPTED,
2718 CP_SYS_MCC_MNC_NEEDED
2719} PswCssValidationRsltT;
2720
2721typedef enum
2722{
2723 CP_REG_NOT_ROAMING,
2724 CP_REG_NID_ROAMING,
2725 CP_REG_SID_ROAMING,
2726 CP_REG_UNKNOWN_ROAMING
2727} PswRegRoamStatus;
2728
2729typedef struct
2730{
2731 PswCssValidationRsltT ValidationRslt;
2732 PswRegRoamStatus RegRoamStatus;
2733} PswCssValidateRspMsgT;
2734
2735typedef struct
2736{
2737 ExeRspMsgT RspInfo;
2738} PswGetNamPrefereceMsgT;
2739
2740typedef enum
2741{
2742 FORCESLEEP,
2743 ACQUISITION,
2744#ifdef MTK_DEV_C2K_IRAT
2745 ExitPs /* Release 1x PS during C2L MPSR */
2746#endif
2747} CssForceInitReasonT;
2748
2749typedef struct
2750{
2751 CssForceInitReasonT reason;
2752} PswCssSysAcqReqMsgT;
2753
2754typedef struct
2755{
2756 kal_uint16 duration; /*in the unit of 100ms*/
2757} PswCssOosaSleepReqMsgT;
2758
2759typedef struct
2760{
2761 kal_bool bActive;
2762} PswRlpActivityStatusReportMsgT;
2763
2764/* PSW_CSS_SET_EMERGENCY_CALLBACK_MODE_MSG */
2765typedef struct
2766{
2767 kal_bool isInCallBackMode;
2768} PswCssSetEmergencyCallbackModeMsgT;
2769
2770typedef enum {
2771 PSW_SLOTTED_TST_MODE_VETO_FLAG = 0x0001, /* Test mode veto */
2772 PSW_SLOTTED_PE_SMS_VETO_FLAG = 0x0002, /* PE SMS: disabling slotted for paging SMS activity */
2773 PSW_SLOTTED_PE_SR_VETO_FLAG = 0x0004, /* PE Silent retry: disable slotted betwen retries */
2774 PSW_SLOTTED_PE_LOC_VETO_FLAG = 0x0008, /* PE LOC: Loc srv activity (AFLT, ...) */
2775 PSW_SLOTTED_LEC_VETO_FLAG = 0x0010, /* LEC: GPS activity (time sync, ...) */
2776 PSW_SLOTTED_L1D_VETO_FLAG = 0x0020, /* L1D: bad 32k slotted veto */
2777 PSW_SLOTTED_SPARE_VETO_FLAG10 = 0x0040, /* Spare */
2778 PSW_SLOTTED_SPARE_VETO_FLAG9 = 0x0080, /* Spare */
2779 PSW_SLOTTED_SPARE_VETO_FLAG8 = 0x0100, /* Spare */
2780 PSW_SLOTTED_SPARE_VETO_FLAG7 = 0x0200, /* Spare */
2781 PSW_SLOTTED_SPARE_VETO_FLAG6 = 0x0400, /* Spare */
2782 PSW_SLOTTED_SPARE_VETO_FLAG5 = 0x0800, /* Spare */
2783 PSW_SLOTTED_SPARE_VETO_FLAG4 = 0x1000, /* Spare */
2784 PSW_SLOTTED_SPARE_VETO_FLAG3 = 0x2000, /* Spare */
2785 PSW_SLOTTED_SPARE_VETO_FLAG2 = 0x4000, /* Spare */
2786 PSW_SLOTTED_SPARE_VETO_FLAG1 = 0x8000, /* Spare */
2787} PswSlottedVetoFlagT;
2788
2789typedef struct
2790{
2791 PswSlottedVetoFlagT flag;
2792 kal_bool vetoSlotted;
2793} PswSlottedVetoMsgT;
2794
2795typedef struct
2796{
2797 ExeRspMsgT RspInfo; /* Response routing information */
2798 kal_uint8 SIP_PASSWORD[HLP_MAX_PSWD_LEN];
2799} PswSetSIPpasswordMsgT;
2800
2801typedef struct
2802{
2803 ExeRspMsgT RspInfo; /* Response routing information */
2804} PswGetSIPpasswordMsgT;
2805
2806typedef struct
2807{
2808 kal_bool Valid;
2809 kal_uint8 Pswd[HLP_MAX_PSWD_LEN];
2810} PswGetSIPpasswordRspMsgT;
2811
2812
2813typedef struct
2814{
2815 ExeRspMsgT RspInfo; /* Response routing information */
2816} PswGetMIPkeysMsgT;
2817
2818typedef struct
2819{
2820 kal_bool Valid;
2821 kal_uint8 MN_AAA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE]; /* MIP AAA Shared Secret*/
2822 kal_uint8 MN_HA_PASSWORD[HLP_MN_PASSWD_MAX_SIZE]; /* MIP HA Shared Secret */
2823} PswGetMIPkeysRspMsgT;
2824
2825typedef struct
2826{
2827 kal_uint32 SPC;
2828} PswSetSPCMsgT;
2829
2830/* MSG_ID_PSW_VAL_SET_SO_SUPPORT_MSG */
2831typedef struct
2832{
2833 kal_uint16 ServiceOption;
2834 kal_bool Supported;
2835} PswSetSoSupportMsgT;
2836
2837/* Must match ETS ps_msg.txt enum
2838 IP Password Update Response.
2839 */
2840typedef enum
2841{
2842 SUCCESS_0,
2843 PS_NOT_POWERED_UP,
2844 DATA_SERVICES_NOT_SUPPORTED,
2845 MOBILE_IP_NOT_SUPPORTED,
2846 PREVIOUS_WRITE_NOT_FINISHED,
2847 DATA_OUT_OF_RANGE,
2848 CHECKSUM_MISMATCH,
2849 SECURITY_CODE_OR_SPC_MISMATCH
2850 ,UICC_UPDATE_PROHIBITED
2851} PswSetSecureDataRspCode;
2852
2853typedef struct
2854{
2855 kal_bool Result;
2856 PswSetSecureDataRspCode ResponseCode;
2857} PswSetSecureDataRspMsgT;
2858
2859typedef struct
2860{
2861 ExeRspMsgT RspInfo;
2862} PswGetSpcMsgT;
2863
2864typedef struct
2865{
2866 ExeRspMsgT RspInfo;
2867} PswGetSSDMsgT;
2868
2869typedef struct
2870{
2871 kal_bool Valid;
2872 kal_uint32 SPC;
2873} PswGetSpcRspMsgT;
2874
2875typedef struct
2876{
2877 kal_bool Valid;
2878 kal_uint8 SSD_A[8];
2879 kal_uint8 SSD_B[8];
2880} PswGetSSDRspMsgT;
2881
2882typedef struct
2883{
2884 ExeRspMsgT RspInfo;
2885} PswGetCpBcToCdmaBcMsgT;
2886
2887typedef struct
2888{
2889 kal_uint8 namIndex;
2890 kal_uint8 bandClass;
2891 kal_uint32 subBandMask;
2892 kal_uint8 calibTable;
2893} BandInfoT;
2894
2895typedef struct
2896{
2897 kal_uint8 numBandsSupported;
2898 BandInfoT bandInfo[NAM_BANDS_SUPPORTED];
2899} PswGetCpBcToCdmaBcRspMsgT;
2900
2901/* Set Lost Scan Ping Frequency message */
2902typedef struct
2903{
2904 kal_uint8 Geo_Scan_Ping_Frequency;
2905 kal_uint8 Non_Geo_Scan_Ping_Frequency;
2906} PswSetLostScanPingFrequencyMsgT;
2907
2908
2909typedef enum
2910{
2911 PSW_SET_MDN_SUCCESS,
2912 PSW_SET_MDN_FAIL_INVALID_CHARS,
2913 PSW_SET_MDN_FAIL_INVALID_NUM_DIGITS,
2914 PSW_SET_MDN_END_RESULT
2915}PswSetMdnResponse;
2916
2917typedef enum
2918{
2919 PSW_SET_IMSI_SUCCESS,
2920 PSW_SET_IMSI_FAIL_INVALID_CHARS = 7,
2921 PSW_SET_IMSI_FAIL_INVALID_NUM_DIGITS = 13,
2922 PSW_SET_IMSI_FAIL_INVALID_MCC_CHARS = 14,
2923 PSW_SET_IMSI_FAIL_INVALID_IMSI_11_12_CHARS = 15,
2924 PSW_SET_IMSI_END_RESULT
2925}PswWriteRawImsiResponse;
2926
2927typedef struct
2928{
2929 ExeRspMsgT RspInfo;
2930 char Mdn_Digits[NAM_MAX_MDN_DIGITS]; /* A NULL Terminated String */
2931} PswWriteRawMDNMsg;
2932
2933typedef struct
2934{
2935 PswSetMdnResponse result;
2936} PswSetRawMDNRspMsg;
2937
2938typedef struct
2939{
2940 kal_bool Mode;
2941} PswUiccFactoryModeMsgT;
2942
2943typedef enum
2944{
2945 PSW_PARM_SET_ESN_MEID, /* 0 */
2946 PSW_PARM_GET_ESN_MEID, /* 1 */
2947 PSW_PARM_SET_SPC, /* 2 */
2948 PSW_PARM_GET_SPC, /* 3 */
2949 PSW_PARM_SET_AKEY, /* 4 */
2950 PSW_PARM_GET_AKEY, /* 5 */
2951 PSW_PARM_SET_MSID, /* 6 */
2952 PSW_PARM_GET_MSID, /* 7 */
2953 PSW_PARM_SET_PREV, /* 8 */
2954 PSW_PARM_GET_PREV, /* 9 */
2955 PSW_PARM_SET_POSITIVE_SID_NID_LIST, /* 10 */
2956 PSW_PARM_GET_POSITIVE_SID_NID_LIST, /* 11 */
2957 PSW_PARM_SET_NEGATIVE_SID_NID_LIST, /* 12 */
2958 PSW_PARM_GET_NEGATIVE_SID_NID_LIST, /* 13 */
2959 PSW_PARM_SET_PRI_SEC_CH, /* 14 */
2960 PSW_PARM_GET_PRI_SEC_CH, /* 15 */
2961 PSW_PARM_SET_SYSTEM_SELECT, /* 16 */
2962 PSW_PARM_GET_SYSTEM_SELECT, /* 17 */
2963 PSW_PARM_SET_SLOT_CYCLE_INDEX, /* 18 */
2964 PSW_PARM_GET_SLOT_CYCLE_INDEX, /* 19 */
2965 PSW_PARM_SET_MDN, /* 20 */
2966 PSW_PARM_GET_MDN, /* 21 */
2967 PSW_PARM_SET_PRL_ENABLE, /* 22 */
2968 PSW_PARM_GET_PRL_ENABLE, /* 23 */
2969 PSW_PARM_SET_HOME_SYS_REGISTRATION, /* 24 */
2970 PSW_PARM_GET_HOME_SYS_REGISTRATION, /* 25 */
2971 PSW_PARM_SET_FOREIGN_SID_REGISTRATION, /* 26 */
2972 PSW_PARM_GET_FOREIGN_SID_REGISTRATION, /* 27 */
2973 PSW_PARM_SET_FOREIGN_NID_REGISTRATION, /* 28 */
2974 PSW_PARM_GET_FOREIGN_NID_REGISTRATION, /* 29 */
2975 PSW_PARM_SET_ACCESS_OVERLOAD_CLASS, /* 30 */
2976 PSW_PARM_GET_ACCESS_OVERLOAD_CLASS, /* 31 */
2977 PSW_PARM_SET_CDMA_PREF_BAND, /* 32 */
2978 PSW_PARM_GET_CDMA_PREF_BAND, /* 33 */
2979 PSW_PARM_SET_CDMA_PREF_AorB, /* 34 */
2980 PSW_PARM_GET_CDMA_PREF_AorB, /* 35 */
2981 PSW_PARM_SET_SCM, /* 36 */
2982 PSW_PARM_GET_SCM, /* 37 */
2983 PSW_PARM_SET_PRL_INFO, /* 38 */
2984 PSW_PARM_GET_PRL_INFO, /* 39 */
2985 PSW_PARM_SET_OTAPA_ENABLE, /* 40 */
2986 PSW_PARM_GET_OTAPA_ENABLE, /* 41 */
2987 PSW_PARM_SET_OTA_POWERUP_MODE, /* 42 */
2988 PSW_PARM_GET_OTA_POWERUP_MODE, /* 43 */
2989 PSW_PARM_SET_IMSI_S1, /* 44 */
2990 PSW_PARM_GET_IMSI_S1, /* 45 */
2991 PSW_PARM_SET_IMSI_S2, /* 46 */
2992 PSW_PARM_GET_IMSI_S2, /* 47 */
2993 PSW_PARM_SET_SPC_CHANGE_ENABLE, /* 48 */
2994 PSW_PARM_GET_SPC_CHANGE_ENABLE, /* 49 */
2995 PSW_PARM_SET_SPASM_ENABLE, /* 50 */
2996 PSW_PARM_GET_SPASM_ENABLE, /* 51 */
2997 PSW_PARM_SET_SID_NID_LIST_SP, /* 52 */
2998 PSW_PARM_GET_SID_NID_LIST_SP, /* 53 */
2999 PSW_PARM_SET_DISTANCE_BASED_PARMS, /* 54 */
3000 PSW_PARM_GET_DISTANCE_BASED_PARMS, /* 55 */
3001 PSW_PARM_SET_ENCODED_MSID, /* 56 */
3002 PSW_PARM_GET_ENCODED_MSID, /* 57 */
3003 PSW_PARM_SET_ENABLE_OTA, /* 58 */
3004 PSW_PARM_GET_ENABLE_OTA, /* 59 */
3005 PSW_PARM_SET_PREF_HOME_MO_SO, /* 60 */
3006 PSW_PARM_GET_PREF_HOME_MO_SO, /* 61 */
3007 PSW_PARM_SET_PREF_ROAM_MO_SO, /* 62 */
3008 PSW_PARM_GET_PREF_ROAM_MO_SO, /* 63 */
3009 PSW_PARM_SET_PREF_HOME_MT_SO, /* 64 */
3010 PSW_PARM_GET_PREF_HOME_MT_SO, /* 65 */
3011 PSW_PARM_SET_UNUSED_1, /* 66 AVAILABLE for use */
3012 PSW_PARM_GET_UNUSED_1, /* 67 AVAILABLE for use */
3013 PSW_PARM_SET_A21_MS_SUBSCRIPTION_INFO, /* 68 */
3014 PSW_PARM_GET_A21_MS_SUBSCRIPTION_INFO, /* 69 */
3015 PSW_PARM_GET_SLOTTED_MODE_ALLOWED_OBSOLETE, /* 70 */
3016 PSW_PARM_SET_VOICE_SERVICE_ALLOWED, /* 71 */
3017 PSW_PARM_GET_VOICE_SERVICE_ALLOWED, /* 72 */
3018 PSW_PARM_SET_ROAM_SETTING_DOMESTIC_VOICE, /* 73 */
3019 PSW_PARM_GET_ROAM_SETTING_DOMESTIC_VOICE, /* 74 */
3020 PSW_PARM_SET_ROAM_SETTING_DOMESTIC_DATA, /* 75 */
3021 PSW_PARM_GET_ROAM_SETTING_DOMESTIC_DATA, /* 76 */
3022 PSW_PARM_SET_ROAM_SETTING_INTERNATIONAL_VOICE, /* 77 */
3023 PSW_PARM_GET_ROAM_SETTING_INTERNATIONAL_VOICE, /* 78 */
3024 PSW_PARM_SET_ROAM_SETTING_INTERNATIONAL_DATA, /* 79 */
3025 PSW_PARM_GET_ROAM_SETTING_INTERNATIONAL_DATA, /* 80 */
3026 PSW_PARM_SET_DDTM_MODE_ENABLED, /* 81 */
3027 PSW_PARM_GET_DDTM_MODE_ENABLED, /* 82 */
3028 PSW_PARM_SET_SO_SUPPORT, /* 83 */
3029 PSW_PARM_GET_SO_SUPPORT, /* 84 */
3030 PSW_PARM_SET_SLOTTED_MODE_ALLOWED = 85, /* for ETS compatibility with platform not having 71 to 84 in ETS definitions */
3031 PSW_PARM_GET_SLOTTED_MODE_ALLOWED,
3032 PSW_PARM_SET_SIM_QPCH_ENABLED,
3033 PSW_PARM_GET_SIM_QPCH_ENABLED,
3034 PSW_PARM_SET_DIV_SUPPORT,
3035 PSW_PARM_GET_DIV_SUPPORT,
3036 PSW_PARM_SET_QPCH_ENABLE_DYNAMIC_CTRL,
3037 PSW_PARM_GET_QPCH_ENABLE_DYNAMIC_CTRL,
3038 PSW_PARM_SET_QPCH_CCI_ENABLED,
3039 PSW_PARM_GET_QPCH_CCI_ENABLED,
3040 PSW_PARM_SET_1XADV_ENABLED,
3041 PSW_PARM_GET_1XADV_ENABLED,
3042 PSW_PARM_SET_SO73_CONTROL,
3043 PSW_PARM_GET_SO73_CONTROL,
3044 PSW_PARM_SET_DFS_ECIO_THRESH,
3045 PSW_PARM_GET_DFS_ECIO_THRESH,
3046 PSW_PARM_SET_IC_MODE,
3047 PSW_PARM_GET_IC_MODE,
3048 PSW_PARM_VALAT_SET_PRL_ENABLE,
3049 PSW_PARM_VALAT_GET_PRL_ENABLE,
3050#ifdef MTK_CBP
3051 PSW_PARM_SET_ROAM_SETTING_BITMAP, /* bitmap of all roaming setting */
3052 PSW_PARM_GET_ROAM_SETTING_BITMAP, /* bitmap of all roaming setting */
3053#endif
3054
3055/* IMPORTANT:
3056 when adding new parameters to the list, add BOTH SET and GET,
3057 even if one of them is not used/implemented */
3058 PSW_PARM_OPERATION_ID_END_LIST
3059} PswParmOperationId;
3060
3061typedef enum
3062{
3063 PSW_PARM_OPERATION_SUCCESS,
3064 PSW_PARM_OPERATION_FAIL_READ_NOT_ALLOWED,
3065 PSW_PARM_OPERATION_FAIL_WRITE_NOT_ALLOWED,
3066 PSW_PARM_OPERATION_NOT_ALLOWED_IN_PS_STATE,
3067 PSW_PARM_OPERATION_FAIL_INVALID_PTR,
3068 PSW_PARM_OPERATION_FAIL_INVALID_LENGTH,
3069 PSW_PARM_OPERATION_FAIL_INVALID_AKEY_CHECKSUM,
3070 PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_CHARS,
3071 PSW_PARM_OPERATION_FAIL_INVALID_CHANNEL,
3072 PSW_PARM_OPERATION_GENERAL_FAILURE,
3073 PSW_PARM_OPERATION_FAIL_SET_MDN_INVALID_CHARS,
3074 PSW_PARM_OPERATION_FAIL_SET_MDN_INVALID_NUM_DIGITS,
3075 PSW_PARM_OPERATION_NO_CHANGE_IN_VALUE,
3076 PSW_PARM_OPERATION_FAIL_VALUE_OUT_OF_RANGE,
3077 PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_NUM_DIGITS,
3078 PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_MCC_CHARS,
3079 PSW_PARM_OPERATION_FAIL_SET_MSID_INVALID_IMSI_11_12_CHARS,
3080 PSW_PARM_OPERATION_FAIL_PRL_INVALID,
3081 PSW_PARM_OPERATION_FAIL_IMSI_DIGITS_OUT_OF_RANGE,
3082 PSW_PARM_OPERATION_FAIL_OP_TYPE_NOT_SUPPORTED,
3083 PSW_PARM_OPERATION_FAIL_DEFAULT_NOT_DEFINED,
3084 PSW_PARM_OPERATION_FAIL_DEFAULT_NOT_SUPPORTED_FOR_PARM,
3085 PSW_PARM_OPERATION_FAIL_SERVICE_OPTION_NOT_SUPPORTED,
3086 PSW_PARM_OPERATION_FAIL_UICC_WRITE_ERROR,
3087 PSW_PARM_OPERATION_FAIL_UICC_PARM_NOT_UPDATEABLE,
3088 PSW_PARM_OPERATION_RESULT_END_LIST
3089}PswParmAccessResultCode;
3090
3091typedef enum
3092{
3093 UPDATE_MSID_IMSI_M,
3094 UPDATE_MSID_IMSI_T,
3095 UPDATE_MSID_LIST_END
3096} PswMsidFieldToUpdate;
3097
3098typedef enum
3099{
3100 PSW_PARM_ESN,
3101 PSW_PARM_MEID,
3102 PSW_PARM_SPC,
3103 PSW_PARM_POS_SID_NID_LIST,
3104 PSW_PARM_NEG_SID_NID_LIST,
3105 PSW_PARM_SYSTEM_SELECT,
3106 PSW_PARM_PRI_SEC_CH,
3107 PSW_PARM_AKEY,
3108 PSW_PARM_MSID,
3109 PSW_PARM_ID_END
3110} PswParmID;
3111
3112typedef enum
3113{
3114 PSW_PARM_MIN_VALUE,
3115 PSW_PARM_MAX_VALUE,
3116 PSW_PARM_DEFAULT_VALUE,
3117 PSW_PARM_CUSTOM_VALUE,
3118 PSW_PARM_OP_TYPE_LIST_END
3119} PswParmOperationType;
3120
3121typedef struct
3122{
3123 kal_uint64 meid;
3124 kal_uint32 esn;
3125 kal_uint64 akey;
3126 MobileIDType type;
3127} PswEsnMeid_APIStruct;
3128
3129typedef struct
3130{
3131 kal_uint64 Akey;
3132 kal_uint32 checkSum;
3133} PswAkey_APIStruct;
3134
3135typedef struct
3136{
3137 kal_uint8 PRev;
3138} PswPRev_APIStruct;
3139
3140typedef struct
3141{
3142 kal_uint8 SCM[NAM_BANDS_SUPPORTED];
3143} PswSCM_APIStruct;
3144
3145typedef struct
3146{
3147 kal_uint16 SID[MAX_POSITIVE_SIDS];
3148 kal_uint16 NID[MAX_POSITIVE_SIDS];
3149 kal_uint32 max_count_in_List;
3150} PswSIDNIDList_APIStruct;
3151
3152typedef struct
3153{
3154 kal_uint32 SPC;
3155} PswSPC_APIStruct;
3156
3157typedef struct
3158{
3159 SystemSelectType systemSelect;
3160} PswSysSelect_APIStruct;
3161
3162typedef struct
3163{
3164 kal_bool setA;
3165 kal_uint16 CPC_A;
3166 kal_uint16 CSC_A;
3167 kal_bool setB;
3168 kal_uint16 CPC_B;
3169 kal_uint16 CSC_B;
3170} PswPriSecCh_APIStruct;
3171
3172typedef struct
3173{
3174 PswMsidFieldToUpdate UpdateField;
3175 char Imsi_Digits[MAX_IMSI_S_DIGITS]; /* A NULL Terminated String */
3176 kal_uint8 UpdateIMSI_11_12;
3177 char IMSI_11_12[MAX_MNC_DIGITS]; /* A NULL Terminated String */
3178 kal_uint8 UpdateMCC;
3179 char MCC[MAX_MCC_DIGITS]; /* A NULL Terminated String */
3180 kal_uint8 overwrite_mdn_with_imsi_s;
3181} PswSetRawMSID_APIStruct;
3182
3183typedef struct
3184{
3185 PswMsidFieldToUpdate UpdateField;
3186 char Imsi_Digits[MAX_IMSI_S1_DIGITS]; /* A NULL Terminated String */
3187} PswSetIMSIS1_APIStruct;
3188
3189typedef struct
3190{
3191 PswMsidFieldToUpdate UpdateField;
3192 char Imsi_Digits[MAX_IMSI_S2_DIGITS]; /* A NULL Terminated String */
3193} PswSetIMSIS2_APIStruct;
3194
3195typedef struct
3196{
3197 PswMsidFieldToUpdate Field;
3198} PswGetIMSIS12_APIStruct;
3199
3200typedef struct
3201{
3202 PswMsidFieldToUpdate Field;
3203 kal_uint8 Imsi_Digits[MAX_IMSI_S1_DIGITS]; /* A NULL Terminated String */
3204} PswGetIMSIS1Rsp_APIStruct;
3205
3206typedef struct
3207{
3208 PswMsidFieldToUpdate Field;
3209 kal_uint8 Imsi_Digits[MAX_IMSI_S2_DIGITS]; /* A NULL Terminated String */
3210} PswGetIMSIS2Rsp_APIStruct;
3211
3212typedef struct
3213{
3214 kal_uint8 PrefMode;
3215} PswPrefMode_APIStruct;
3216
3217typedef struct
3218{
3219 ExeRspMsgT RspInfo;
3220 PswSetRawMSID_APIStruct RawImsi;
3221} PswWriteRawIMSIMsgT;
3222
3223typedef struct
3224{
3225 PswWriteRawImsiResponse result;
3226} PswSetRawIMSIRspMsg;
3227
3228typedef struct
3229{
3230 kal_uint8 ValidIMSImap; /* bit0: IMSI_M, bit1:IMSI_T */
3231 kal_uint8 M_MCC[3]; /* MCC raw digits */
3232 kal_uint8 M_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
3233 kal_uint8 M_IMSI_S[10]; /* M_IMSI_S raw digits */
3234 kal_uint8 M_IMSI_Class;
3235 kal_uint8 M_AddrNum;
3236 kal_uint8 T_MCC[3]; /* MCC raw digits */
3237 kal_uint8 T_IMSI_11_12[2]; /* M_IMSI_11_12 raw digits */
3238 kal_uint8 T_IMSI_S[10]; /* M_IMSI_S raw digits */
3239 kal_uint8 T_IMSI_Class;
3240 kal_uint8 T_AddrNum;
3241 kal_uint8 Mdn[NAM_MAX_MDN_DIGITS]; /* MDN max 16 digits */
3242 kal_uint8 MDN_NUM_DIGITS; /* MDN number digits */
3243 kal_uint8 ACCOLCp; /* access overload class */
3244} PswGetRawMSID_APIStruct;
3245
3246typedef struct
3247{
3248 PswMsidFieldToUpdate Field;
3249} PswGetEncodedMSIDMsg_APIStruct;
3250
3251typedef struct
3252{
3253 PswMsidFieldToUpdate Field; /*IMSI_M or IMSI_T*/
3254 kal_uint16 mcc; /* Mobile Country Code */
3255 kal_uint8 imsi_11_12; /* 7 bit IMSI_11_12 */
3256 kal_uint16 imsi_s2; /* 10 bit IMSI_S2 value */
3257 kal_uint32 imsi_s1; /* 24 bit IMSI_S1 value */
3258 kal_uint8 imsiClass; /* CP_IMSI_CLASS_0/1 indication */
3259 kal_uint8 addrNum; /* number of digits in NMSI - 4 */
3260} PswGetEncodedMSIDRsp_APIStruct;
3261
3262typedef struct
3263{
3264 PswMsidFieldToUpdate Field; /*IMSI_M or IMSI_T*/
3265 kal_bool updateMcc;
3266 kal_uint16 mcc; /* Mobile Country Code */
3267 kal_bool updateImsi_11_12;
3268 kal_uint8 imsi_11_12; /* 7 bit IMSI_11_12 */
3269 kal_bool updateImsi_s2;
3270 kal_uint16 imsi_s2; /* 10 bit IMSI_S2 value */
3271 kal_bool updateImsi_s1;
3272 kal_uint32 imsi_s1; /* 24 bit IMSI_S1 value */
3273 kal_bool updateImsiClass;
3274 kal_uint8 imsiClass; /* CP_IMSI_CLASS_0/1 indication */
3275 kal_bool updateAddrNum;
3276 kal_uint8 addrNum; /* number of digits in NMSI - 4 */
3277} PswSetEncodedMSID_APIStruct;
3278
3279
3280typedef struct
3281{
3282 kal_uint8 Slot_Cycle_Index;
3283} PswSlotCycleIndex_APIStruct;
3284
3285typedef struct
3286{
3287 char Mdn_Digits[NAM_MAX_MDN_DIGITS]; /* A NULL Terminated String - Max length
3288 of 16 */
3289} PswRawMdn_APIStruct;
3290
3291typedef struct
3292{
3293 kal_bool Prl_Enable;
3294} PswPrlEnable_APIStruct;
3295
3296typedef struct
3297{
3298 kal_bool Home_System_Registration;
3299} PswHomeSysReg_APIStruct;
3300
3301typedef struct
3302{
3303 kal_bool Foreign_Sid_Registration;
3304} PswForeignSidReg_APIStruct;
3305
3306typedef struct
3307{
3308 kal_bool Foreign_Nid_Registration;
3309} PswForeignNidReg_APIStruct;
3310
3311typedef struct
3312{
3313 kal_uint8 Accolc;
3314} PswAccolc_APIStruct;
3315
3316typedef enum
3317{
3318 ENG_PREF_SYS_A,
3319 ENG_PREF_SYS_B,
3320 ENG_PREF_SYS_A_ONLY,
3321 ENG_PREF_SYS_B_ONLY,
3322 CDMA_PREF_AorB_END
3323} PswCdmaPrefAorB;
3324
3325typedef struct
3326{
3327 PswCdmaPrefAorB CDMAAorB;
3328} PswPrefCDMA_AorB_APIStruct;
3329
3330typedef enum
3331{
3332 ENG_PREF_BAND_0,
3333 ENG_PREF_BAND_1,
3334 ENG_PREF_BAND_0_ONLY,
3335 ENG_PREF_BAND_1_ONLY,
3336 ENG_PREF_BAND_2_ONLY,
3337 ENG_PREF_BAND_3_ONLY,
3338 ENG_PREF_BAND_4_ONLY,
3339 ENG_PREF_BAND_5_ONLY,
3340 ENG_PREF_BAND_6_ONLY,
3341 ENG_PREF_BAND_7_ONLY,
3342 ENG_PREF_BAND_8_ONLY,
3343 ENG_PREF_BAND_9_ONLY,
3344 ENG_PREF_BAND_10_ONLY,
3345 ENG_PREF_BAND_11_ONLY,
3346 ENG_PREF_BAND_12_ONLY,
3347 ENG_PREF_BAND_13_ONLY,
3348 ENG_PREF_BAND_14_ONLY,
3349 ENG_PREF_BAND_15_ONLY,
3350 ENG_PREF_BAND_16_ONLY,
3351 ENG_NO_PREF_BAND=255,
3352 CDMA_PREF_BAND_END
3353} PswCdmaPrefBand;
3354
3355typedef struct
3356{
3357 PswCdmaPrefBand prefBand;
3358} PswPrefCDMA_Band_APIStruct;
3359
3360typedef struct
3361{
3362 kal_bool pref_only;
3363 kal_uint16 prlId;
3364 kal_uint8 prl_prev;
3365 kal_uint8 defaultRoamInd;
3366} PswPrlInfo_APIStruct;
3367
3368typedef struct
3369{
3370 kal_bool OTAPAEnable;
3371} PswOTAPAEnable_APIStruct;
3372
3373typedef struct
3374{
3375 kal_bool SPCChangeEnable;
3376} PswSPCChangeEnable_APIStruct;
3377
3378typedef struct
3379{
3380 kal_bool SPASMEnable;
3381} PswSPASMEnable_APIStruct;
3382
3383typedef struct
3384{
3385 kal_bool EnableOTA;
3386}PswEnableOTA_APIStruct;
3387
3388typedef struct
3389{
3390 kal_uint8 Mode; /* See enum OtaCompletePowerupModeType */
3391} PswOTAPowerupMode_APIStruct;
3392
3393typedef struct
3394{
3395 kal_int32 BASE_LAT_REGsp;
3396 kal_int32 BASE_LONG_REGsp;
3397 kal_uint16 REG_DIST_REGsp;
3398} PswDistanceBasedParms_APIStruct;
3399
3400typedef struct
3401{
3402 kal_bool ValidSidNidEntry;
3403 kal_uint16 sid; /* system id */
3404 kal_uint16 nid; /* network id */
3405 kal_uint16 ageTimer; /* age limit in seconds */
3406 kal_bool timerEnabled;
3407 kal_uint8 block; /* PCS block or serving system */
3408 SysCdmaBandT bandClass;
3409} PswSidNidListsp_APIStruct;
3410
3411
3412typedef struct
3413{
3414 kal_uint8 Len;
3415 kal_uint8 A21MsSubscriptionInfo[PSW_MAX_A21_MS_SUBS_INFO_LEN];
3416} PswA21MsSubscriptionInfo_APIStruct;
3417
3418typedef struct
3419{
3420 kal_bool RoamingSetting;
3421} PswRoamingSetting_APIStruct;
3422
3423typedef struct
3424{
3425 /*
3426 * ROAM_SETTING_DOMESTIC_VOICE 0x01 Sprint Allow voice roaming on domestic system
3427 * ROAM_SETTING_DOMESTIC_DATA 0x02 Sprint Allow data roaming on domestic system
3428 * ROAM_SETTING_INT_VOICE 0x04 Sprint Allow voice romaing on international system
3429 * ROAM_SETTING_INT_DATA 0x08 Sprint Allow data roaming on international system
3430 * ROAM_SETTING_LTE_DATA 0x10 Sprint Allow LTE data roaming, not used in C2K saved only for AP get */
3431 kal_uint8 RoamingSettingBitMap;
3432} PswRoamingSettingBitMap_APIStruct;
3433
3434typedef struct
3435{
3436 kal_uint16 ServiceOption;
3437 kal_bool Supported;
3438} PswSOSupport_APIStruct;
3439
3440typedef struct
3441{
3442 kal_uint16 ServiceOption;
3443} PswGetSOSupport_APIStruct;
3444
3445typedef enum
3446{
3447 DIV_OFF,
3448 DIV_ON_DYNAMIC,
3449 DIV_UNDEFINED,
3450 DIV_ON_STATIC
3451}PswPhyDiversityModeT; /* must map into DSPM API IC Mode */
3452
3453typedef struct
3454{
3455 PswPhyDiversityModeT EnabledDiv;
3456} PswDivSupport_APIStruct;
3457
3458typedef struct
3459{
3460 kal_bool SO73Enabled;
3461 kal_bool SO73WBEnabled;
3462} PswSO73Control_APIStruct;
3463
3464typedef struct
3465{
3466 kal_bool Cdma1xAdvEnabled;
3467} Psw1xAdvEnabled_APIStruct;
3468
3469typedef struct
3470{
3471 kal_uint8 Strength;
3472} PswDfsEcIoThresh_APIStruct;
3473
3474typedef enum
3475{
3476 IC_NORMAL,
3477 IC_DBG_SRCH_DLY,
3478 IC_DBG_IC_DLY,
3479 IC_DBG_BYPASS,
3480 IC_OFF = 0xF
3481}PswPhyICModeT; /* must map into DSPM API IC Mode */
3482
3483typedef struct
3484{
3485 PswPhyICModeT ICMode;
3486} PswPhyICMode_APIStruct;
3487typedef enum
3488{
3489 MS_MODE_UNKNOWN,
3490 MSA,
3491 MSB,
3492 MSS,
3493 /*ControlPlane=4 is changed to ControlPlne=8, for klocwork warning,corresponding to ValGpsFixModeT*/
3494 ControlPlane=8,
3495 SUPL_MSA,
3496 SUPL_MSB,
3497}GPS_FIX_MODE;
3498
3499typedef struct
3500{
3501 kal_uint32 InstanceID;
3502 GPS_FIX_MODE FixMode;
3503 kal_uint32 NumFixes;
3504 kal_uint32 TimeBFixes;
3505 kal_uint32 HorizontalAccuracy;
3506 kal_uint32 VerticalAccuracy;
3507 kal_uint32 PseudorangeAccuracy;
3508 kal_bool OnCTNtwk;
3509#ifdef MTK_DEV_GPSONE_ON_LTE
3510 kal_int32 RatMode;
3511#endif
3512 kal_uint32 Performance;
3513 kal_uint8 GpsMode;
3514 kal_uint8 flag_gps; //0--AP, 1--3rd, 2--others
3515} PswIs801SessionStartMsgT;
3516
3517typedef struct
3518{
3519 kal_uint32 InstanceID;
3520 kal_uint8 flag_gps; //0--AP, 1--3rd, 2--others
3521}PswIs801SessCancelReqMsgT;
3522
3523typedef struct
3524{
3525 kal_uint32 Index;
3526}PswIs801TimerExpMsgT;
3527
3528typedef struct
3529{
3530 kal_bool Success;
3531}PswIs801TcpConnStatusMsgT;
3532
3533typedef struct
3534{
3535 kal_uint32 EphSysTime;
3536 kal_uint32 AlmSysTime;
3537 kal_uint32 EphTimeInterval;
3538 kal_uint32 AlmTimeInterval;
3539}PswIs801EphAlmSystimeMsgT;
3540
3541typedef struct
3542{
3543 kal_uint32 InstanceID;
3544}PswIs801MssDoneMsgT;
3545
3546typedef struct
3547{
3548 kal_uint8 enable;
3549}PswIs801NmeaOutputSettingMsgT;
3550
3551typedef struct
3552{
3553 kal_uint8 Conn;
3554 kal_uint32 InstID;
3555}PswIs801MpcConnStatusMsgT;
3556
3557typedef struct
3558{
3559 kal_uint8 CustomerId;
3560}PswIs801CustomerSettingMsgT;
3561
3562typedef struct
3563{
3564 kal_uint16 refPn;
3565 kal_uint32 refTime;
3566 kal_uint16 timeOffset;
3567}PswLecSessionEndRspMsgT;
3568
3569typedef struct
3570{
3571 kal_uint16 PrefHomeMOServiceOption;
3572}PswPrefHomeMOSO_APIStruct;
3573
3574typedef struct
3575{
3576 kal_uint16 PrefRoamMOServiceOption;
3577}PswPrefRoamMOSO_APIStruct;
3578
3579typedef struct
3580{
3581 kal_uint16 PrefHomeMTServiceOption;
3582}PswPrefHomeMTSO_APIStruct;
3583
3584
3585typedef struct
3586{
3587 kal_bool isVoiceServiceAllowed;
3588} PswVoiceMode_APIStruct;
3589
3590typedef struct
3591{
3592 kal_bool isDdtmEnabled;
3593} PswDdtmEnable_APIStruct;
3594
3595typedef struct
3596{
3597 kal_bool Enabled;
3598} PswFeatureEnabled_APIStruct;
3599
3600typedef struct
3601{
3602 kal_bool Enabled;
3603 kal_uint16 ThreshLow;
3604 kal_uint16 ThreshHigh;
3605} PswQpchEnableDynamicCtrl_APIStruct;
3606
3607#ifdef FIELD_TEST_DATA
3608
3609typedef struct
3610{
3611 kal_uint16 SchMux;
3612 kal_uint8 SchRc;
3613 kal_uint8 SchStatus;
3614 kal_uint16 SchDuration;
3615 kal_uint8 SchRate;
3616} PswSchCcT;
3617
3618typedef struct
3619{
3620 kal_uint8 cpState; /*CP state*/
3621 kal_uint16 channel; /* Current channel number */
3622 kal_uint16 bandClass; /* Current band class */
3623 kal_uint16 pilotPNOffset; /* Pilot PN offset */
3624 kal_uint8 pageChannel; /* Current page channel Walsh code*/
3625 kal_uint8 pageChanRate; /*page channel rate, 0 is full rate(9600), 1 is half rate(4800)*/
3626 kal_uint8 block; /* Current CDMA block */
3627 kal_uint16 sid; /* System ID */
3628 kal_uint16 nid; /* Network ID */
3629 kal_uint8 SysDetIndication; /* Reason for entering System Determination */
3630 kal_uint8 roam; /* Roam status */
3631 kal_uint16 baseId; /* Base station ID */
3632 kal_uint16 regZone; /* registration zone */
3633 kal_uint32 baseLat; /* latitude from base last registered on */
3634 kal_uint32 baseLong; /* longitude from base last registered on */
3635 kal_uint8 P_REV; /* Protocol Revision Level (from Sync Channel Message)*/
3636 kal_uint8 MIN_P_REV; /* Minimum protocol revision required by MS (from Sync Channel Message)*/
3637 kal_uint8 networkPrefSCI; /* max slot cycle index value */
3638 kal_bool slotMode; /* slotted Mode (Enabled Or Disable) */
3639 kal_bool qpchMode; /* qpch Mode (Enabled Or Disable) */
3640 kal_uint16 mcc; /* Mobile Country Code (from extended system parameter message)*/
3641 kal_uint8 imsi_11_12; /* Mobile Network Code (from extended system parameter message)*/
3642 kal_uint8 SSPR_P_REV_INUSE; /* Current PRL Protocol Revision */
3643
3644 kal_uint8 currentPacketZoneID; /* Current packet zone ID */
3645 kal_uint16 serviceOption; /* Current Service Option */
3646 PswSchCcT forSch0Cc; /* Channel configuration of forward supplement channel */
3647 PswSchCcT revSch0Cc; /* channel configuration of reverse supplement channel */
3648
3649 kal_int16 rxPower; /* Rx power */
3650 kal_int16 txPower; /* Tx power */
3651 kal_uint16 pilotPN[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot PN of the list in active set */
3652 kal_uint16 pilotEcIo[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot Ec/Io of the list in active set */
3653 kal_uint16 pilotPhase[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* Pilot phase of the list in active set*/
3654 kal_uint8 numInActiveSet; /* Number of records in active set */
3655 kal_uint16 candPilotPN[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot PN of the list in candidate set */
3656 kal_uint16 candPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot Ec/Io of the list in candidate set */
3657 kal_uint16 candPilotPhase[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* Pilot phase of the list in candidate set*/
3658 kal_uint8 numInCandSet; /* Number of records in candidate set */
3659 kal_uint16 nghbrPilotPN[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot PN of the list in neighbor set */
3660 kal_uint16 nghbrPilotEcIo[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot Ec/Io of the list in neighbor set */
3661 kal_uint16 nghbrPilotPhase[SYS_CP_MAX_NEIGHBOR_LIST_PILOTS]; /* Pilot phase of the list in neighbor set*/
3662 kal_uint8 numInNghbrSet; /* Number of records in neighbor set */
3663 kal_uint16 FER; /* Frame Error Rate per thousand */
3664 kal_uint16 TxAdj; /* Adjust gain of the Tx power */
3665
3666 kal_uint32 total_msg; /* Number of paging ch messages received */
3667 kal_uint32 error_msg; /* Number of paging ch messages with bad crc */
3668 kal_uint16 acc_1; /* number of layer 3 requests messages generated */
3669 kal_uint16 acc_2; /* number of layer 3 response messages generated */
3670 kal_uint16 acc_8; /* number of unsuccessful access attempts */
3671
3672 kal_uint16 dpchLoss_count; /* Count of paging ch declared */
3673 kal_uint16 dtchLoss_count; /* Count of dedicated traffic CH Loss*/
3674 kal_uint32 idleHO_count; /* Count of idle handoff*/
3675 kal_uint16 hardHO_count; /* Count of hard handoff*/
3676 kal_uint16 interFreqIdleHO_count; /* Count of inter_Freq idle handoff*/
3677 kal_uint16 MO_count; /* Count of successful MS ORIGINATED */
3678 kal_uint16 MT_count; /* Count of successful MS TERMINATED */
3679 kal_uint16 powerDownReg_count; /* Count of power down registration */
3680 kal_uint16 timeBasedReg_count; /* Count of time based registration */
3681 kal_uint16 parameterReg_count; /* Count of parameter change registration */
3682 kal_uint16 powerUpReg_count; /* Count of power up registration */
3683 kal_uint16 orderedReg_count; /* Count of ordered registration */
3684 kal_uint16 zoneBasedReg_count; /* Count of zone based registration */
3685 kal_uint16 distanceBasedReg_count; /* Count of distance based registration */
3686 kal_uint16 silentryRetryTimeout_count; /* Count of silentry retry timeout */
3687 kal_uint16 T40_count; /* Count of T40m timeout */
3688 kal_uint16 T41_count; /* Count of T41m timeout */
3689 kal_uint16 T50_count; /* Count of T50m timeout */
3690 kal_uint16 T51_count; /* Count of T51m timeout */
3691 kal_uint16 T52_count; /* Count of T52m timeout */
3692 kal_uint16 T55_count; /* Count of T55m timeout */
3693
3694 kal_uint16 T_ADD;
3695 kal_uint16 T_DROP;
3696 kal_uint16 T_COMP;
3697 kal_uint16 T_tDROP;
3698 }PswFTDParaT;
3699#endif
3700
3701#ifdef MTK_DEV_ENGINEER_MODE
3702/* This structure is defined for Engineer mode developement, all items in it is 1xEV-DO related and needs to be reported to AP.*/
3703typedef struct
3704{
3705 kal_uint8 bandClass; /* 1xEV-DO current band class. */
3706 kal_uint16 channel; /* 1xEV-DO current channel number. */
3707 kal_uint16 pilotPN; /* 1xEV-DO pilot PN. */
3708 kal_uint8 phySubtype; /* 1xEV-DO phy subtype. */
3709 double rssi_dbm; /* 1xEV-DO RSSI_dbm. */
3710 kal_uint8 sectorID[16]; /* 1xEV-DO Sector ID. */
3711 kal_uint8 subnetMask; /* 1xEV-DO subnetmask. */
3712 kal_uint8 colorCode; /* 1xEV-DO color Code. */
3713 kal_uint8 uati[16]; /* 1xEV-DO UATI 024. */
3714 kal_uint8 pilotInc; /* 1xEV-DO pilotInc. */
3715 kal_uint8 activeSetSchWin; /* 1xEV-DO activeSet Search Window. */
3716 kal_uint8 neighborSetSchWin; /* 1xEV-DO neighborSet Search Window. */
3717 kal_uint8 remainSetSchWin; /* 1xEV-DO remainSet Search Window. */
3718 kal_uint8 sameFreq_T_ADD; /* 1xEV-DO T_ADD with same channel. */
3719 kal_uint8 sameFreq_T_DROP; /* 1xEV-DO T_DROP with same channel. */
3720 kal_uint8 sameFreq_T_tDROP; /* 1xEV-DO T_tDROP with same channel. */
3721 kal_uint8 diffFreq_T_ADD; /* 1xEV-DO T_ADD with different channel. */
3722 kal_uint8 diffFreq_T_DROP; /* 1xEV-DO T_DROP with different channel. */
3723 kal_uint8 diffFreq_T_tDROP; /* 1xEV-DO T_tDROP with different channel. */
3724
3725 kal_uint8 numInActiveSet; /* 1xEV-DO active set number. */
3726 kal_uint16 activePilotPN[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activePilotPN. */
3727 kal_int16 activePilotEcIo[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activePilotEcIo. */
3728 kal_uint8 activeDrcCover[SYS_CP_MAX_ACTIVE_LIST_PILOTS]; /* 1xEV-DO activeDrcCover. */
3729
3730 kal_uint8 numInCandSet; /* 1xEV-DO candidate set number. */
3731 kal_uint8 candBand[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO band of candidate set. */
3732 kal_uint16 candChannel[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO channel of candidate set. */
3733 kal_uint16 candPilotPN[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO pilotPN of candidate set. */
3734 kal_int16 candPilotEcIo[SYS_CP_MAX_CANDIDATE_LIST_PILOTS]; /* 1xEV-DO pilotEcIo of candidate set. */
3735
3736 kal_uint8 numInNghbrSet; /* 1xEV-DO neighbor set numer. */
3737 kal_uint8 nghbrBand[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO band of neighbor set. */
3738 kal_uint16 nghbrChannel[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO channel of neighbor set. */
3739 kal_uint16 nghbrPilotPN[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO pilotPN of neighbor set. */
3740 kal_int16 nghbrPilotEcIo[SYS_MAX_NEIGHBOR_LIST_PILOTS]; /* 1xEV-DO pilotEcIo of neighbor set. */
3741
3742 kal_int32 c_i; /* 1xEV-DO C/I. */
3743 kal_uint8 drcAverageValue; /* 1xEV-DO drcAverageValue. */
3744 kal_uint32 ftcCrcErrorCount; /* 1xEV-DO ftcCrcErrorCount. */
3745 kal_uint32 ftcTotalCount; /* 1xEV-DO ftcTotalCount. */
3746 kal_uint8 syncCrcErrorRatio; /* 1xEV-DO syncCrcErrorRatio. */
3747
3748 kal_uint16 averageTbsize; /* 1xEV-DO averageTbsize. */
3749 kal_uint32 rtcRetransmitCount; /* 1xEV-DO rtcRetransmitCount. */
3750 kal_uint32 rtcTransmitTotalCount; /* 1xEV-DO rtcTransmitTotalCount. */
3751 kal_int16 txPower; /* 1xEV-DO txPower.*/
3752 kal_int16 pilotPower; /* 1xEV-DO pilotPower. */
3753 kal_uint8 rab_1_ratio; /* 1xEV-DO rab_1_ratio. */
3754
3755 kal_uint8 sessionState; /* 1xEV-DO Session state. */
3756 kal_uint8 atState; /* 1xEV-DO AT state. */
3757 kal_uint8 almpState; /* 1xEV-DO ALMP state. */
3758 kal_uint8 inspState; /* 1xEV-DO INSP state. */
3759 kal_uint8 idpState; /* 1xEV-DO IDP state. */
3760 kal_uint8 ompState; /* 1xEV-DO OMP state. */
3761 kal_uint8 cspState; /* 1xEV-DO CSP state. */
3762 kal_uint8 rupState; /* 1xEV-DO RUP state. */
3763}PswFTDDoParaT;
3764#endif
3765
3766MobileIDType ValGetMobileIdType(void);
3767/**********MS-Based*********************/
3768typedef struct _GPS_POSITION_ERROR {
3769kal_uint32 dwHorizontalErrorAlong;
3770kal_uint32 dwHorizontalErrorAngle;
3771kal_uint32 dwHorizontalErrorPerp;
3772kal_uint32 dwVerticalError;
3773kal_uint32 dwHorizontalConfidence;
3774} GPS_POSITION_ERROR,*PGPS_POSITION_ERROR;
3775
3776typedef enum
3777{
3778 GPS_FIX_INVALID,
3779 GPS_FIX_NORMAL,
3780GPS_FIX_DIEF
3781} GPS_FIX_QUALITY;
3782
3783
3784
3785typedef enum
3786{
3787 GPS_FIX_NONE,
3788 GPS_FIX_ESTIMATED,
3789 GPS_FIX_2D,
3790 GPS_FIX_DIFF_2D,
3791 GPS_FIX_3D,
3792 GPS_FIX_DIFF_3D
3793
3794} GPS_FIX_TYPE;
3795
3796
3797typedef enum
3798{
3799 GPS_FIX_3D_AUTO,
3800 GPS_FIX_2D_MANU
3801}GPS_FIX_SELECTION;
3802
3803
3804typedef struct GPS_Nav_Data_Struct /*GN GPS Navigation solution data*/
3805{
3806 kal_uint32 Local_TTag; /* Local receiver time-tag since start-up [msec]*/
3807 kal_uint32 OS_Time_ms; /* Local Operating System Time [msec]*/
3808 kal_uint16 Year; /* UTC Year A.D. [eg 2006]*/
3809 kal_uint16 Month; /* UTC Month into the year [range 1..12]*/
3810 kal_uint16 Day; /* UTC Days into the month [range 1..31]*/
3811 kal_uint16 Hours; /* UTC Hours into the day [range 0..23]*/
3812 kal_uint16 Minutes; /* UTC Minutes into the hour [range 0..59]*/
3813 kal_uint16 Seconds; /* UTC Seconds into the hour [range 0..59]*/
3814 kal_uint16 Milliseconds; /* UTC Milliseconds into the second [range 0..999]*/
3815 signed short Gps_WeekNo; /* GPS Week Number*/
3816#if !(defined(MTK_PLT_ON_PC) && defined(MTK_PLT_ON_PC_UT))
3817 double Gps_TOW; /* Corrected GPS Time of Week [seconds]*/
3818 double UTC_Correction; /* Current (GPS-UTC) time difference [seconds]*/
3819 double X; /* WGS84 ECEF X Cartesian coordinate [m]*/
3820 double Y; /* WGS84 ECEF Y Cartesian coordinate [m]*/
3821 double Z; /* WGS84 ECEF Z Cartesian coordinate [m]*/
3822 double Latitude; /* WGS84 Latitude [degrees, positive North]*/
3823 double Longitude; /* WGS84 Longitude [degrees, positive East]*/
3824#else
3825 float Gps_TOW; /* Corrected GPS Time of Week [seconds]*/
3826 float UTC_Correction; /* Current (GPS-UTC) time difference [seconds]*/
3827 float X; /* WGS84 ECEF X Cartesian coordinate [m]*/
3828 float Y; /* WGS84 ECEF Y Cartesian coordinate [m]*/
3829 float Z; /* WGS84 ECEF Z Cartesian coordinate [m]*/
3830 float Latitude; /* WGS84 Latitude [degrees, positive North]*/
3831 float Longitude; /* WGS84 Longitude [degrees, positive East]*/
3832#endif
3833 float Altitude_Ell; /* Altitude above WGS84 Ellipsoid [m]*/
3834 float Altitude_MSL; /* Altitude above Mean Sea Level [m]*/
3835 float SpeedOverGround; /* 2-dimensional Speed Over Ground [m/s]*/
3836 float CourseOverGround; /* 2-dimensional Course Over Ground [degrees]*/
3837 float VerticalVelocity; /* Vertical velocity [m/s]*/
3838 float N_AccEst; /* Northing 1-sigma (67%) Accuracy estimate [m]*/
3839 float E_AccEst; /* Easting 1-sigma (67%) Accuracy estimate [m]*/
3840 float V_AccEst; /* Vertical 1-sigma (67%) Accuracy estimate [m]*/
3841 float H_AccMaj; /* Horizontal error ellipse semi-major axis [m]*/
3842 float H_AccMin; /* Horizontal error ellipse semi-minor axis [m]*/
3843 float H_AccMajBrg; /* Bearing of the semi-major axis [degrees]*/
3844 float HVel_AccEst; /* Horizontal Velocity 1-sigma (67%) Accuracy estimate [m/s]*/
3845 float VVel_AccEst; /* Vertical Velocity 1-sigma (67%) Accuracy estimate [m/s]*/
3846 float PR_ResRMS; /* Standard dev of the PR a posteriori residuals [m]*/
3847 float H_DOP; /* Horizontal Dilution of Precision*/
3848 float V_DOP; /* Vertical Dilution of Precision*/
3849 float P_DOP; /* 3-D Position Dilution of Precision*/
3850
3851 GPS_FIX_TYPE FixType; /* Position fix type*/
3852 kal_bool Valid_2D_Fix; /* Is the published 2D position fix "valid"*/
3853 /* relative to the required Horizontal*/
3854 /* accuracy masks ?*/
3855 kal_bool Valid_3D_Fix; /* Is the published 3D position fix "valid"*/
3856 /* relative to both the required Horizontal*/
3857 /* and Vertical accuracy masks ?*/
3858 unsigned char FixMode; /* Solution Fixing Mode*/
3859 /* 1 = Forced 2-D at MSL,*/
3860 /* 2 = 3-D, with automatic fall back to 2-D*/
3861
3862 unsigned char SatsInView; /* Satellites in View count*/
3863 unsigned char SatsUsed; /* Satellites in Used for Navigation count*/
3864
3865 unsigned char SatsInViewSVid[NMEA_SV];/* Satellites in View SV id number [PRN]*/
3866 unsigned char SatsInViewSNR[NMEA_SV]; /* Satellites in Signal To Noise Ratio [dBHz]*/
3867 unsigned char SatsInViewJNR[NMEA_SV]; // Satellites in View Jammer to Noise Ratio [dBHz]
3868 kal_uint16 SatsInViewAzim[NMEA_SV];/* Satellites in View Azimuth [degrees]*/
3869 signed char SatsInViewElev[NMEA_SV];/* Satellites in View Elevation [degrees]*/
3870 /* if = -99 then Azimuth & Elevation angles*/
3871 /* are currently unknown*/
3872 kal_bool SatsInViewUsed[NMEA_SV];/* Satellites in View Used for Navigation ?*/
3873
3874} s_GPS_Nav_Data; /* GN GPS Navigation solution data*/
3875
3876
3877
3878typedef struct
3879{
3880 kal_bool MSBFix;
3881 s_GPS_Nav_Data GPS_NAV_Data;
3882}PswLocRspDataT;
3883
3884
3885
3886
3887typedef enum
3888{
3889GPSENG_FIX_NOT_VALID,
3890GPSENG_FIX_ESTIMATED,
3891GPSENG_FIX_2D,
3892GPSENG_FIX_3D,
3893GPSENG_FIX_DGPS_2D,
3894GPSENG_FIX_DGPS_3D
3895} PswGpsEngFixTypeT;
3896
3897typedef struct
3898{
3899kal_bool Used;
3900kal_uint8 Id;
3901kal_uint8 Cn0;
3902kal_int8 Elev;
3903kal_uint16 Azimuth;
3904} PswGpsEngSvInViewT;
3905
3906typedef struct {
3907PswGpsEngFixTypeT FixType;
3908kal_uint32 OsTime;
3909kal_uint32 LocalTimeTag;
3910kal_uint16 UtcYear;
3911 kal_uint16 UtcMonth;
3912kal_uint16 UtcDay;
3913kal_uint16 UtcHour;
3914 kal_uint16 UtcMin;
3915kal_uint16 UtcSec;
3916kal_uint16 UtcMilliSec; /* UTC Millisec into Sec */
3917kal_uint16 WeekNo;
3918kal_uint32 Tow; /* milliseconds */
3919 kal_uint8 UtcDifference; /* (GPS-UTC) seconds */
3920 double Lat;
3921 double Long;
3922 double AltitudeMSL; /* Mean Sea level */
3923 double AltitudeElli; /* ? */
3924 double X;
3925 double Y;
3926double Z;
3927 float SpeedGround;
3928 float CourseGround;
3929 float VerticalVelocity; /* Vertical velocity */
3930float LocUncAng; /* Location uncertainty angle */
3931 float LocUncA; /* ? */
3932float LocUncP;
3933float LocUncV;
3934float VelHUnc; /* Horizontal Velocity RMS 1-sigma (67%) Accuracy estimate */
3935float VelVUnc; /* Vertical Velocity RMS 1-sigma (67%) Accuracy estimate */
3936float Pdop;
3937float Hdop;
3938float Vdop;
3939kal_uint8 SvInViewNum;
3940kal_uint8 SvUsed;
3941PswGpsEngSvInViewT SvInView[MAX_SVINVIEW];
3942} PswGpsEngWholeNavDataMsgT;
3943
3944
3945
3946
3947
3948/*MS-Based*/
3949
3950typedef struct
3951{
3952kal_bool GpsSysReady;
3953
3954}LecGpsSysReadyT;
3955
3956typedef struct
3957{
3958 kal_bool Ref_Time_Req;
3959 kal_bool Ref_Pos_Req;
3960 kal_bool Ion_Req;
3961 kal_bool UTC_Req;
3962 kal_bool SV_Health_Req;
3963 kal_bool Bad_SV_List_Req;
3964 kal_bool Alm_Req;
3965 kal_bool Eph_Req;
3966
3967}PswAssistReqT;
3968
3969typedef struct
3970{
3971 ExeRspMsgT rspInfo;
3972 kal_uint32 InstanceID;
3973 kal_uint8 mode;
3974}PswValRestartMsgT;
3975
3976typedef enum
3977{
3978 PSW_LOC_HOT_START = 1,
3979 PSW_LOC_WARM_START,
3980 PSW_LOC_COLD_START
3981}PswLocStartMode;
3982
3983typedef struct
3984{
3985 PswLocStartMode startMode;
3986}PswLocStartModeSetMsgT;
3987
3988typedef struct
3989{
3990 ExeRspMsgT oldRspInfo;
3991}PswValLocFixModeGetMsgT;
3992
3993typedef struct
3994{
3995 GPS_FIX_MODE FixMode;
3996 ExeRspMsgT oldRspInfo;
3997}PswValLocFixModeGetRspMsgT;
3998
3999typedef struct
4000{
4001 kal_uint16 PrefHomeMOServiceOption;
4002 kal_uint16 PrefHomeMTServiceOption;
4003 kal_uint16 PrefRoamMOServiceOption;
4004} PswValPrefVoiceServiceOptionMsgT;
4005
4006typedef struct
4007{
4008 kal_bool SlottedModeAllowed;
4009} PswSlottedModeAllowed_APIStruct;
4010
4011typedef struct
4012{
4013 kal_uint8 Mode; /* 0=Stop/Disable, 0xFF=report on thresholds/state transition only */
4014 /* other values = frequency of reporting when below low thresh in */
4015 /* units of about 200 ms (i.e set to 5 for 1 sec reporting) */
4016} PswSetTransmitInfoMsgT;
4017
4018typedef enum
4019{
4020 TRANS_INFO_IDLE, /* Stopped transmitting */
4021 TRANS_INFO_ACCESS, /* Transmitting on access channel */
4022 TRANS_INFO_TRAFFIC /* Transmitting on traffic channel */
4023} TransInfoState;
4024
4025typedef struct
4026{
4027 TransInfoState State; /* Fer is not valid in TRANS_INFO_ACCESS state */
4028 SysCdmaBandT Band; /* Current CDMA band class */
4029 kal_uint16 Channel; /* Current CDMA channel number */
4030 kal_int16 Rssi; /* Receive signal level dBm */
4031 kal_uint8 PilotEcIo; /* Pilot energy to total receive power 1/8 unit dB */
4032 kal_int16 TxPwr; /* Transmit Power dBm */
4033 kal_uint16 TotalFrames;
4034 kal_uint16 BadFrames;
4035} PswGetTransmitInfoRspMsgT;
4036
4037typedef struct
4038{
4039 ExeRspMsgT RspInfo;
4040 SysCdmaBandT band;
4041 kal_uint16 channel;
4042 kal_uint8 codeChan;
4043 /* CDMA Radio configuration,1 is RC1, 2 is RC2 Etc*/
4044 kal_uint8 radioConfig;
4045 kal_uint16 numFrames;
4046 kal_bool enableAFC;
4047} PswNstPowerupMsgT;
4048
4049typedef struct
4050{
4051 SysCdmaBandT band;
4052 kal_uint16 channel;
4053 kal_uint16 numFrames;
4054 kal_bool enableAFC;
4055} PswNstTchFerCfgMsgT;
4056
4057
4058#define MAX_NST_ACK_CHAR 3
4059typedef struct
4060{
4061 char ackResponse[MAX_NST_ACK_CHAR];
4062} PswNstPowerupAckRspMsgT;
4063
4064typedef struct
4065{
4066 kal_uint16 badFrames;
4067 kal_uint16 totalFrames;
4068} PswNstPowerupRspMsgT;
4069
4070typedef struct
4071{
4072 kal_uint16 badFrames;
4073 kal_uint16 totalFrames;
4074} PswNstTchFerCfgCnfMsgT;
4075
4076
4077typedef struct
4078{
4079 SysCdmaBandT band;
4080 kal_uint16 channel;
4081 kal_uint8 fwdRc;
4082 kal_int16 txPwr; /**Unit is Q6*/
4083} PswNstTransmitTchMsgT;
4084
4085
4086typedef struct
4087{
4088 SysCdmaBandT band;
4089 kal_uint16 channel;
4090 kal_bool txPwrQ6;
4091} PswNstTxPwrMeasCfgMsgT;
4092
4093
4094typedef struct
4095{
4096 char ackResponse[MAX_NST_ACK_CHAR];
4097} PswNstTransmitTchAckMsgT;
4098
4099typedef struct
4100{
4101 ExeRspMsgT RspInfo;
4102} PswNstExitMsgT;
4103
4104#define MAX_NUM_LISTS 50
4105#define MAX_NUM_RSSI_LEVEL 20
4106#define MAX_NUM_TX_PWR_LEVEL 20
4107
4108typedef struct
4109{
4110 kal_uint8 count; /* Total of list */
4111 kal_uint8 offset[MAX_NUM_LISTS]; /* Num of frame offset */
4112 kal_uint16 band[MAX_NUM_LISTS];
4113 kal_uint16 channel[MAX_NUM_LISTS];
4114 kal_uint8 codeChan[MAX_NUM_LISTS];
4115 /* CDMA Radio configuration,1 is RC1, 2 is RC2 Etc*/
4116 kal_uint8 radioConfig[MAX_NUM_LISTS];
4117 kal_uint16 numFrames[MAX_NUM_LISTS];
4118 kal_uint8 txPwrCount[MAX_NUM_LISTS];
4119 kal_int16 txPwr[MAX_NUM_LISTS][MAX_NUM_TX_PWR_LEVEL];
4120 kal_uint8 rxPwrCount[MAX_NUM_LISTS];
4121} PswNstListSetMsgT;
4122
4123
4124typedef struct
4125{
4126 kal_uint8 count; /* Total of list */
4127 kal_uint8 index[MAX_NUM_LISTS];
4128 kal_uint16 band[MAX_NUM_LISTS];
4129 kal_uint16 channel[MAX_NUM_LISTS];
4130 kal_uint8 badFrames[MAX_NUM_LISTS];
4131 kal_uint8 totalFrames[MAX_NUM_LISTS];
4132 kal_int16 mainRxPwrQ5[MAX_NUM_LISTS][MAX_NUM_RSSI_LEVEL];
4133 kal_int16 divRxPwrQ5[MAX_NUM_LISTS][MAX_NUM_RSSI_LEVEL];
4134} PswNstListSetRespMsgT;
4135
4136
4137typedef struct
4138{
4139 ExeRspMsgT RspInfo;
4140 SysCdmaBandT band;
4141 kal_uint16 channel;
4142} PswNstRxPwrReqMsgT;
4143
4144
4145typedef struct
4146{
4147 kal_bool isSuccess;
4148 kal_uint16 PnOffset;
4149 kal_int16 Strength;
4150 kal_int16 MainRxPwrQ5;
4151 kal_int16 DivRxPwrQ5;
4152} PswNstRxPwrRespMsgT;
4153
4154
4155typedef struct
4156{
4157 kal_uint8 Count;
4158 kal_uint8 Index;
4159 kal_uint8 TotalLevel;
4160 kal_int16 MainRxPwrQ5[MAX_NUM_LISTS];
4161 kal_int16 DivRxPwrQ5[MAX_NUM_LISTS];
4162} PswNstListRxpwrRptMsgT;
4163
4164typedef struct
4165{
4166 ExeRspMsgT RspInfo;
4167 kal_uint8 txPwrCount; /**txPwrCount should less than MAX_NUM_TX_PWR_LEVEL*/
4168 kal_int16 txPwrLevel[MAX_NUM_TX_PWR_LEVEL]; /**unit of txPwrLevel is Q6 dBm*/
4169} PswNstTxPwrLevelSetMsgT;
4170
4171typedef struct
4172{
4173 kal_bool isSuccess;
4174} PswNstTxPwrLevelSetRespMsgT;
4175
4176
4177/* 1XCSFB, 3GPP2 C.S0097, Section 3 */
4178typedef struct
4179{
4180 kal_bool SIDIncluded;
4181 kal_uint16 SID;
4182 kal_bool NIDIncluded;
4183 kal_uint16 NID;
4184 kal_bool MULT_SIDSIncluded;
4185 kal_bool MULT_SIDS;
4186 kal_bool MULT_NIDSIncluded;
4187 kal_bool MULT_NIDS;
4188 kal_bool REG_ZONEIncluded;
4189 kal_uint16 REG_ZONE;
4190 kal_bool TOTAL_ZONESIncluded;
4191 kal_uint8 TOTAL_ZONES;
4192 kal_bool ZONE_TIMERIncluded;
4193 kal_uint8 ZONE_TIMER;
4194 kal_bool PACKET_ZONE_IDIncluded;
4195 kal_uint8 PACKET_ZONE_ID;
4196 kal_bool PZIDHystParametersIncluded;
4197 kal_bool PZ_HYST_ENABLED;
4198 kal_bool PZ_HYST_INFO_INCL;
4199 kal_bool PZ_HYST_LIST_LEN;
4200 kal_uint8 PZ_HYST_ACT_TIMER;
4201 kal_uint8 PZ_HYST_TIMER_MUL;
4202 kal_uint8 PZ_HYST_TIMER_EXP;
4203 kal_bool P_REVIncluded;
4204 kal_uint8 P_REV;
4205 kal_bool MIN_P_REVIncluded;
4206 kal_uint8 MIN_P_REV;
4207 kal_bool NEG_SLOT_CYCLE_INDEX_SUPIncluded;
4208 kal_bool NEG_SLOT_CYCLE_INDEX_SUP;
4209 kal_bool ENCRYPT_MODEIncluded;
4210 kal_uint8 ENCRYPT_MODE;
4211 kal_bool ENC_SUPPORTEDIncluded;
4212 kal_bool ENC_SUPPORTED;
4213 kal_bool SIG_ENCRYPT_SUPIncluded;
4214 kal_uint8 SIG_ENCRYPT_SUP;
4215 kal_bool MSG_INTEGRITY_SUPIncluded;
4216 kal_bool MSG_INTEGRITY_SUP;
4217 kal_bool SIG_INTEGRITY_SUP_INCLIncluded;
4218 kal_bool SIG_INTEGRITY_SUP_INCL;
4219 kal_bool SIG_INTEGRITY_SUPIncluded;
4220 kal_uint8 SIG_INTEGRITY_SUP;
4221 kal_bool AUTHIncluded;
4222 kal_uint8 AUTH;
4223 kal_bool MAX_NUM_ALT_SOIncluded;
4224 kal_uint8 MAX_NUM_ALT_SO;
4225 kal_bool USE_SYNC_IDIncluded;
4226 kal_bool USE_SYNC_ID;
4227 kal_bool MS_INIT_POS_LOC_SUP_INDIncluded;
4228 kal_bool MS_INIT_POS_LOC_SUP_IND;
4229 kal_bool MOB_QOSIncluded;
4230 kal_bool MOB_QOS;
4231 kal_bool BAND_CLASS_INFO_REQIncluded;
4232 kal_bool BAND_CLASS_INFO_REQ;
4233 kal_bool BAND_CLASSIncluded;
4234 kal_uint8 BAND_CLASS;
4235 kal_bool BYPASS_REG_INDIncluded;
4236 kal_uint8 BYPASS_REG_IND;
4237 kal_bool ALT_BAND_CLASSIncluded;
4238 kal_uint8 ALT_BAND_CLASS;
4239 kal_bool MAX_ADD_SERV_INSTANCEIncluded;
4240 kal_uint8 MAX_ADD_SERV_INSTANCE;
4241 kal_bool HOME_REGIncluded;
4242 kal_bool HOME_REG;
4243 kal_bool FOR_SID_REGIncluded;
4244 kal_bool FOR_SID_REG;
4245 kal_bool FOR_NID_REGIncluded;
4246 kal_bool FOR_NID_REG;
4247 kal_bool POWER_UP_REGIncluded;
4248 kal_bool POWER_UP_REG;
4249 kal_bool POWER_DOWN_REGIncluded;
4250 kal_bool POWER_DOWN_REG;
4251 kal_bool PARAMETER_REGIncluded;
4252 kal_bool PARAMETER_REG;
4253 kal_bool REG_PRDIncluded;
4254 kal_uint8 REG_PRD;
4255 kal_bool REG_DISTIncluded;
4256 kal_uint16 REG_DIST;
4257 kal_bool PREF_MSID_TYPEIncluded;
4258 kal_uint8 PREF_MSID_TYPE;
4259 kal_bool EXT_PREF_MSID_TYPEIncluded;
4260 kal_uint8 EXT_PREF_MSID_TYPE;
4261 kal_bool MEID_REQDIncluded;
4262 kal_bool MEID_REQD;
4263 kal_bool MCCIncluded;
4264 kal_uint16 MCC;
4265 kal_bool IMSI_11_12Included;
4266 kal_uint8 IMSI_11_12;
4267 kal_bool IMSI_T_SUPPORTEDIncluded;
4268 kal_bool IMSI_T_SUPPORTED;
4269 kal_bool RECONNECT_MSG_INDIncluded;
4270 kal_bool RECONNECT_MSG_IND;
4271 kal_bool RER_MODE_SUPPORTEDIncluded;
4272 kal_bool RER_MODE_SUPPORTED;
4273 kal_bool TKZ_MODE_SUPPORTEDIncluded;
4274 kal_bool TKZ_MODE_SUPPORTED;
4275 kal_bool TKZ_IDIncluded;
4276 kal_bool TKZ_ID;
4277 kal_bool PILOT_REPORTIncluded;
4278 kal_bool PILOT_REPORT;
4279 kal_bool SDB_SUPPORTEDIncluded;
4280 kal_bool SDB_SUPPORTED;
4281 kal_bool AUTO_FCSO_ALLOWEDIncluded;
4282 kal_bool AUTO_FCSO_ALLOWED;
4283 kal_bool SDB_IN_RCNM_INDIncluded;
4284 kal_bool SDB_IN_RCNM_IND;
4285 kal_bool FPC_FCH_Included;
4286 kal_uint8 FPC_FCH_INIT_SETPT_RC3;
4287 kal_uint8 FPC_FCH_INIT_SETPT_RC4;
4288 kal_uint8 FPC_FCH_INIT_SETPT_RC5;
4289 kal_uint8 FPC_FCH_INIT_SETPT_RC11;
4290 kal_uint8 FPC_FCH_INIT_SETPT_RC12;
4291 kal_bool T_ADD_Included;
4292 kal_uint8 T_ADD;
4293 kal_bool PILOT_INC_Included;
4294 kal_uint8 PILOT_INC;
4295 kal_bool RAND_Included;
4296 kal_uint32 RAND;
4297 kal_bool LP_SEC_Included;
4298 kal_uint8 LP_SEC;
4299 kal_bool LTM_OFF_Included;
4300 kal_uint8 LTM_OFF;
4301 kal_bool DAYLT_Included;
4302 kal_bool DAYLT;
4303 kal_bool GCSNAL2AckTimer_Included;
4304 kal_uint8 GCSNAL2AckTimer;
4305 kal_bool GCSNASequenceContextTimer_Included;
4306 kal_uint8 GCSNASequenceContextTimer;
4307} PswCDMA2000Parm;
4308
4309typedef struct
4310{
4311 kal_uint16 sid;
4312 kal_uint16 nid;
4313 kal_bool multipleSID;
4314 kal_bool multipleNID;
4315 kal_bool homeReg;
4316 kal_bool foreignSIDReg;
4317 kal_bool foreignNIDReg;
4318 kal_bool parameterReg;
4319 kal_bool powerUpReg;
4320 kal_uint8 registrationPeriod;
4321 kal_uint16 registrationZone;
4322 kal_uint8 totalZone;
4323 kal_uint8 zoneTimer;
4324 kal_bool powerDownReg;
4325} PswIratCSFBRegParm1xRTT;
4326
4327typedef struct
4328{
4329 kal_uint8 ac_Barring0to9;
4330 kal_uint8 ac_Barring10;
4331 kal_uint8 ac_Barring11;
4332 kal_uint8 ac_Barring12;
4333 kal_uint8 ac_Barring13;
4334 kal_uint8 ac_Barring14;
4335 kal_uint8 ac_Barring15;
4336 kal_uint8 ac_BarringMsg;
4337 kal_uint8 ac_BarringReg;
4338 kal_uint8 ac_BarringEmg;
4339} PswAC_BarringConfig1xRTT;
4340
4341typedef struct
4342{
4343 kal_bool sysTimeInfoIncl;
4344 kal_uint8 systemTimeInfo[SYS_SYSTIME_SIZE];
4345 kal_bool srchWinSizeIncl;
4346 kal_uint16 searchWindowSize;
4347 kal_bool csfb_RegParam1XRTTIncl;
4348 PswIratCSFBRegParm1xRTT csfb_RegParm1XRTT;
4349 kal_bool longCodeStateIncl;
4350 kal_uint8 longCodeState1XRTT[6];
4351 kal_bool cellReselParm1XRTTIncl;
4352 kal_bool csfb_SupportForDualRxUEIncl;
4353 kal_bool csfb_SupportForDualRxUE;
4354 kal_bool ac_BarringConfig1XRTTIncl;
4355 PswAC_BarringConfig1xRTT ac_BarringConfig1XRTT;
4356 kal_uint8 ListSize;
4357#ifdef MTK_DEV_C2K_IRAT
4358 IratSIB8MeasCellListT cellReselParm1XRTT[1];
4359#endif /* MTK_DEV_C2K_IRAT */
4360} PswSIB8Parm1xRTT;
4361
4362typedef struct
4363{
4364 kal_bool inclRand;
4365 kal_uint32 rand;
4366 kal_bool inclMobParms;
4367 PswCDMA2000Parm *mobP;
4368} PswCsfbCDMA2000ParmMsgT;
4369
4370typedef struct
4371{
4372 PswSIB8Parm1xRTT *sib8P;
4373} PswCsfbSib8ParmMsgT;
4374
4375typedef struct
4376{
4377 kal_uint16 len;
4378 kal_uint8 *data;
4379} PswCsfbGcsnaDLMsgT;
4380
4381typedef struct
4382{
4383 PswSIB8Parm1xRTT *sib8P;
4384} PswCsfbMeasReqMsgT;
4385
4386typedef struct
4387{
4388 kal_bool redir;
4389#ifdef MTK_DEV_C2K_IRAT
4390 IratReSelectionCellListT *redirL;
4391#endif /* MTK_DEV_C2K_IRAT */
4392} PswCsfbRedirectMsgT;
4393
4394typedef struct
4395{
4396 kal_bool inclRand;
4397 kal_uint32 rand;
4398 kal_bool inclMobParms;
4399 PswCDMA2000Parm *mobP;
4400} PswCsfbHoEutraPrepMsgT;
4401
4402typedef struct
4403{
4404 kal_bool inclTime;
4405 kal_uint8 systemTimeInfo[SYS_SYSTIME_SIZE];
4406 kal_uint16 len;
4407 kal_uint8 *data;
4408} PswCsfbMobFromEutraMsgT;
4409
4410typedef enum
4411{
4412 RF_UNDEFINED,
4413 ONE_RX_ONE_TX,
4414 TWO_RX_ONE_TX,
4415 TWO_RX_TWO_TX
4416} UEAntennaCfgType;
4417
4418typedef struct
4419{
4420 UEAntennaCfgType UEAntCfg;
4421} PswAntennaCfgMsgT;
4422
4423typedef struct
4424{
4425 ExeRspMsgT RspInfo;
4426} PswCsfbGetStatusMsgT;
4427
4428typedef struct
4429{
4430 kal_uint8 csfbState;
4431 kal_uint8 antenna;
4432} PswCsfbGetStatusRspMsgT;
4433
4434#ifdef __TC10_IPC_CDMA_SUPPORT__
4435/*SMS auto reg info*/
4436typedef struct
4437{
4438 MobileIDType Id;
4439 kal_uint64 value;
4440 IMSIType Imsi;
4441 kal_uint8 GsmImsi[9]; /* from sim_status_ind */
4442 kal_bool IsGsmImsiValid; /* from sim_status_ind */
4443} PswSetAutoRegInfoMsgT;
4444#endif
4445
4446#ifdef MTK_DEV_C2K_IRAT
4447typedef struct
4448{
4449 kal_uint8 Action; /* 0-stop; 1-start; 2-update threshold only */
4450 kal_int8 Threshold; /* -2x10xlogPS, PS is the pilot strength */
4451} PswIratRATSigMonReqT;
4452#endif
4453/* MTK_DEV_C2K_IRAT */
4454
4455#ifdef MTK_DEV_C2K_IRAT
4456
4457typedef enum
4458{
4459 RSVAS_SERVICE_TYPE_NONE = 0x0000FFFF
4460 ,RSVAS_SERVICE_TYPE_UNSPECIFIED = 0x0001FFFF
4461#if defined(__GEMINI__)
4462 ,RSVAS_SERVICE_TYPE_KEEP = 0x0002FFFF
4463#endif
4464
4465 ,RSVAS_SERVICE_TYPE_CS = 0x00000101
4466 ,RSVAS_SERVICE_TYPE_PS = 0x00000202
4467 ,RSVAS_SERVICE_TYPE_AS = 0x00000404
4468 ,RSVAS_SERVICE_TYPE_HPS = 0x00000808
4469 ,RSVAS_SERVICE_TYPE_MEDPS = 0x00001010
4470
4471 //For MO/MT, EMM notify EAS to do CSFB, CS+PS service may be occupied at the same time
4472 ,RSVAS_SERVICE_TYPE_CS_PS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS)
4473 ,RSVAS_SERVICE_TYPE_CS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_HPS)
4474 ,RSVAS_SERVICE_TYPE_PS_HPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_HPS)
4475 ,RSVAS_SERVICE_TYPE_CS_PS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_HPS)
4476
4477 ,RSVAS_SERVICE_TYPE_CS_MEDPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_MEDPS)
4478 ,RSVAS_SERVICE_TYPE_PS_MEDPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS)
4479 ,RSVAS_SERVICE_TYPE_MEDPS_HPS = (RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
4480 ,RSVAS_SERVICE_TYPE_CS_PS_MEDPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS)
4481 ,RSVAS_SERVICE_TYPE_CS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
4482 ,RSVAS_SERVICE_TYPE_PS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
4483 ,RSVAS_SERVICE_TYPE_CS_PS_MEDPS_HPS = (RSVAS_SERVICE_TYPE_CS|RSVAS_SERVICE_TYPE_PS|RSVAS_SERVICE_TYPE_MEDPS|RSVAS_SERVICE_TYPE_HPS)
4484
4485} rsvas_service_type_enum;
4486
4487typedef enum {
4488 RSVAS_ID_INVALID, /* Invalid C2K RSVAS Id */
4489 RSVAS_ID_1XRTT, /* C2K RSVAS Id is 1xRTT */
4490 RSVAS_ID_EVDO, /* C2K RSVAS Id is EVDO */
4491} C2kRsvasIdT;
4492
4493/* RSVAS State Machine States */
4494typedef enum
4495{
4496 RSVAS_NORMAL_STATE, /* RSVAS normal mode */
4497 RSVAS_CONNECT_STATE, /* RSVAS connect mode */
4498 RSVAS_VIRTUAL_STATE, /* RSVAS virtual suspend mode */
4499 RSVAS_SUSPEND_STATE, /* RSVAS suspend mode */
4500
4501 RSVAS_NUM_STATES
4502} RsvasStateT;
4503
4504typedef struct
4505{
4506 kal_bool rsvasServiceOccupyResult;
4507} PswRsvasServiceOccupyResultT;
4508
4509typedef struct
4510{
4511 C2kRsvasIdT id;
4512 rsvas_service_type_enum servType;
4513} PswRsvasServiceOccupyRequestT;
4514
4515typedef struct
4516{
4517 C2kRsvasIdT id;
4518 rsvas_service_type_enum servType;
4519} PswRsvasServiceReleaseT;
4520
4521
4522typedef struct
4523{
4524 cs_reg_cause_enum cause;
4525 kal_bool is_for_silent_redial;
4526} PswIrat1xRegReqMsgT;
4527
4528typedef struct
4529{
4530 kal_bool Valid;
4531 kal_int16 RxPower;
4532 kal_int16 TxPower;
4533 kal_int16 PRxPhr;
4534} AntIdxT;
4535
4536typedef PACKED_PREFIX struct
4537{
4538 kal_int16 TasState;
4539 kal_int16 TasVer;
4540 kal_bool TasEnable;
4541 kal_bool UTasEnable;
4542 kal_bool EnableForceTas;
4543 kal_int16 RxPowerDbmL;
4544 kal_int16 RxPowerDbmU;
4545 kal_int16 RxPowerDbmLp;
4546 AntIdxT AntIdx[20];
4547} PACKED_POSTFIX PswFTDTASParaT;
4548
4549#endif
4550
4551/******************PswCustomLockDefination***************************************/
4552
4553#define PSW_FEATURE_TATA 0x80000000
4554#define PSW_FEATURE_RELIANCE 0x40000000
4555#define PSW_FEATURE_UNICOM 0x20000000
4556#define PSW_FEATURE_UIMSUPPORT 0x00000001
4557#define PSW_FEATURE_CUSTOM_PRILOCK 0x00000002
4558
4559
4560 typedef enum {
4561 PSW_CUSTOM_LOCK_FEATURE_OFF =0,
4562 PSW_CUSTOM_LOCK_FEATURE_IMSI =0x01,
4563 PSW_CUSTOM_LOCK_FEATURE_SIDNID =0x02,
4564 PSW_CUSTOM_LOCK_FEATURE_SYSTEM_VALIDATE = 0x04,
4565 PSW_CUSTOM_LOCK_FEATURE_SUBNET =0x08,
4566 PSW_CUSTOM_LOCK_FEATURE_EVDO_SYSTEM_VALIDATE = 0x10
4567 }PSW_CUSTOM_LOCK_FEATURE;
4568
4569
4570 typedef struct
4571{
4572 kal_uint16 min_highest3;
4573 kal_uint16 min_middle3;
4574 kal_uint8 min_middle1;
4575 kal_uint16 min_lowest3;
4576 /*each bit is defined for every cumtomfeafure */
4577} PswMinDigitalValue;
4578
4579 typedef struct
4580 {
4581 kal_uint32 PswCustomLockSet;
4582
4583 kal_bool (*PswCustomImsiLock)(kal_uint16 PhoneMcc,kal_uint8 PhoneMnc,PswMinDigitalValue PhoneMin);
4584 kal_bool (*PswCustomSidNidLock)(kal_uint16 PhoneSid,kal_uint16 PhoneNid,kal_bool PrlPrefonly);
4585 kal_bool (*PswCustomSubnetLock)(kal_uint8 *Subnet,kal_uint8 mask);
4586 kal_bool (*PswCustomSysValidate)(kal_uint16 SysSid,kal_uint16 SysNid) ;
4587 kal_bool (*PswCustomDOSysValidate)(kal_uint8 *Subnet, kal_uint8 mask) ;
4588
4589 }PswCustomLockCallBackT;
4590
4591 typedef enum
4592 {
4593 VAL_PSW_CKECK_Custom_Locking_Feature_OK = 0x00,
4594 VAL_PSW_CKECK_Custom_IMSI_ERROR,
4595 VAL_PSW_CKECK_Custom_DefaultMIN_OK,
4596 VAL_PSW_CKECK_Custom_SIDNID_ERROR,
4597 VAL_PSW_CKECK_Custom_Locking_Feature_NUM
4598 }PswCheckForCustomLockStateT;
4599
4600
4601typedef struct
4602{
4603 kal_uint8 nCheckRst;
4604}PswCheckLockingFeatureRptT;
4605
4606typedef struct
4607{
4608 kal_bool valid;
4609}PswSetImsiMValidT;
4610
4611typedef enum
4612{
4613 QPCH_RATE_4800BPS = 0,
4614 /*AKK 09-11-01 Slotted Mode: Corrected 9600PBS to 9600BPS*/
4615 QPCH_RATE_9600BPS = 1
4616
4617} QpchRate;
4618
4619typedef struct
4620{
4621 kal_int16 RSSI;
4622 kal_int16 PchEbNt;
4623 kal_int16 SyncEbNt;
4624 kal_int16 EcIo;
4625 kal_int32 total_foe;
4626}L1dmeasvalue;
4627
4628typedef PACKED_PREFIX struct
4629{
4630 QpchRate QpchRate;
4631 kal_uint16 QpchPilotPn;
4632 kal_int16 QpchPilotPwr;
4633 kal_int16 QpchPi1;
4634 kal_int16 QpchPi1Status;
4635 kal_uint16 QpchPi1Pos;
4636 kal_int16 QpchPi1BitIEnergy;
4637 kal_int16 QpchPi1BitQEnergy;
4638 kal_int16 QpchPi1PilotIEnergy;
4639 kal_int16 QpchPi1PilotQEnergy;
4640 kal_int16 QpchPi2;
4641 kal_int16 QpchPi2Status;
4642 kal_uint16 QpchPi2Pos;
4643 kal_int16 QpchPi2BitIEnergy;
4644 kal_int16 QpchPi2BitQEnergy;
4645 kal_int16 QpchPi2PilotIEnergy;
4646 kal_int16 QpchPi2PilotQEnergy;
4647 kal_int16 QpchSysQpchThi;
4648 kal_int16 QpchSysQpchThb;
4649} PACKED_POSTFIX QpchSpyData;
4650
4651typedef enum
4652{
4653 OUT_STAND_REQ_RCVD,
4654 BS_CAPABILITIES,
4655 BS_REJECT_RECEIVED,
4656 BS_RESPONSE_NOT_SUPPORTED,
4657 INVALID_PPM_SESSION_ID,
4658 INVALID_LOCSERV_SESSION_ID,
4659 OUTGOING_MSG_BUFFER_GET_FAIL,
4660 SESS_TAG_MISMATCH,
4661 BS_LOCATION_RSP_RCVD,
4662 BS_RESPONSE_ELEMENT_RCVD,
4663 BS_REQUEST_ELEMENT_RCVD,
4664 MS_LOCATION_ORIG_START,
4665 LOCSERV_SESS_HEADER_DUMP,
4666 LOCSERV_SESS_REQ_DUMP,
4667 LOCSERV_SESS_RSP_DUMP,
4668 LOCSERV_SESS_AFLT_DUMP,
4669 LOCSERV_SESS_AGPS_DUMP,
4670 INVALID_AFLT_STATE,
4671 INVALID_AGPS_STATE,
4672 UNEXPECTED_AFLT_EVENT,
4673 UNEXPECTED_AGPS_EVENT,
4674 MS_REQUEST_TO_BS,
4675 MS_RESPONSE_TO_BS,
4676 COLLISION,
4677 PDDM_RECEIVED,
4678 PDDM_SENT,
4679 RMS_PHASE_ERROR_DUMP
4680} LocSrvTraceIds;
4681
4682typedef enum
4683{
4684 BS_REJECT = 0,
4685 PROV_LOC_RSP,
4686 PROV_BS_CAP,
4687 PROV_BS_ALMANAC,
4688 PROV_GPS_ACQ_ASSIST,
4689 PROV_GPS_SENSITIV_ASSIST,
4690 PROV_GPS_LOC_ASSIST_S_COORD,
4691 PROV_GPS_LOC_ASSIST_C_COORD,
4692 PROV_GPS_ALMANAC,
4693 PROV_GPS_EPHEMERIS,
4694 PROV_GPS_NAV_MSG_BITS,
4695 PROV_GPS_ALMANAC_CORR,
4696 PROV_GPS_SAT_HEALTH_INFO,
4697 MAX_PROV_GPS_INFO
4698} BS_RspTypes;
4699
4700typedef enum
4701{
4702 REQ_RESERVED = 0,
4703 REQ_MS_LOC_RSP,
4704 REQ_MS_INFO,
4705 REQ_AUTO_MEAS_WEIGHT_FAC,
4706 REQ_PSEUDO_MEAS,
4707 REQ_PILOT_PHASE_MEAS,
4708 REQ_TIME_OFFSET_MEAS,
4709 REQ_CANCELLATION
4710} BS_ReqTypes;
4711
4712typedef enum
4713{
4714 RESERVED0 = 0,
4715 REQ_LOC_RSP,
4716 REQ_BS_CAP,
4717 REQ_BS_ALMANAC,
4718 REQ_GPS_ACQ_ASSIST,
4719 REQ_GPS_SENSITIV_ASSIST,
4720 REQ_GPS_LOC_ASSIST,
4721 RESERVED1,
4722 REQ_GPS_ALMANAC,
4723 REQ_GPS_EPHEMERIS,
4724 REQ_GPS_NAV_MSG_BITS,
4725 REQ_GPS_ALMANAC_CORR,
4726 REQ_GPS_SAT_HEALTH_INFO
4727} MS_ReqTypes;
4728
4729typedef enum
4730{
4731 REJECT = 0,
4732 PROV_MS_LOC_RSP,
4733 PROV_MS_INFO,
4734#ifdef MTK_CBP
4735 PROV_SYS_INFO = PROV_MS_INFO,
4736#endif
4737 PROV_AUTO_MEAS_WEIGHT_FACTOR,
4738 PROV_PSEUDO_MEAS,
4739 PROV_PILOT_PHASE_MEAS,
4740 PROV_TIME_OFFSET_MEAS,
4741 PROV_CANCELLATION_ACK
4742} MS_RspTypes;
4743
4744
4745typedef struct
4746{
4747 LocSrvTraceIds traceId;
4748 MS_RspTypes rspType;
4749}PswIs801FlowMsRspMsg;
4750
4751typedef struct
4752{
4753 LocSrvTraceIds traceId;
4754 MS_ReqTypes reqType;
4755}PswIs801FlowMsReqMsg;
4756
4757typedef struct
4758{
4759 LocSrvTraceIds traceId;
4760 BS_ReqTypes reqType;
4761}PswIs801FlowBsReqMsg;
4762
4763typedef struct
4764{
4765 LocSrvTraceIds traceId;
4766 BS_RspTypes rspType;
4767}PswIs801FlowBsRspMsg;
4768
4769typedef enum
4770{
4771 CP_NP_UNKNOWN,
4772 CP_NP_ISDN_TELEPHONY,
4773 CP_NP_DATA = 3,
4774 CP_NP_TELEX,
4775 CP_NP_PRIVATE = 9
4776} NumberPlan;
4777
4778
4779typedef enum
4780{
4781 CP_NT_UNKNOWN,
4782 CP_NT_INTERNATIONAL,
4783 CP_NT_NATIONAL,
4784 CP_NT_NETWORK_SPECIFIC,
4785 CP_NT_SUBSCRIBER,
4786 CP_NT_RSVD,
4787 CP_NT_ABBREVIATED
4788} NumberType;
4789
4790
4791typedef enum
4792{
4793 CP_PI_ALLOWED,
4794 CP_PI_RESTRICTED,
4795 CP_PI_NUMBER_NA,
4796 CP_PI_RSVD
4797} PresentationIndicator;
4798
4799typedef enum
4800{
4801 CP_SI_USER_PROVIDED_NOT_SCREENED,
4802 CP_SI_USER_PROVIDED_VERIFIED_PASSED,
4803 CP_SI_USER_PROVIDED_VERIFIED_FAILED,
4804 CP_SI_NETWORK_PROVIDED
4805} ScreeningIndicator;
4806
4807typedef struct
4808{
4809 NumberType type;
4810 NumberPlan plan;
4811 kal_int8 number[CP_MAX_CALLED_PARTY_NUMBER_SIZE + 1];/*Inc NULL terminator*/
4812} CalledPartyNumber;
4813
4814typedef struct
4815{
4816 NumberType type;
4817 NumberPlan plan;
4818 PresentationIndicator pi;
4819 ScreeningIndicator si;
4820 kal_int8 number[CP_MAX_CALLING_PARTY_NUMBER_SIZE + 1]; /* Inc NULL terminator */
4821} CallingPartyNumber;
4822
4823typedef enum
4824{
4825 CP_SUBADDRESS_TYPE_NSAP,
4826 CP_SUBADDRESS_TYPE_USER_SPECIFIED = 2
4827} SubaddressType;
4828
4829typedef enum
4830{
4831 CP_ODDEVEN_INDICATOR_EVEN,
4832 CP_ODDEVEN_INDICATOR_ODD
4833} OddEvenIndicator;
4834
4835typedef struct
4836{
4837 kal_bool extension;
4838 SubaddressType type;
4839 OddEvenIndicator indicator;
4840 kal_uint8 address[CP_MAX_SUBADDRESS_SIZE + 1];/*Inc NULL terminator*/
4841} Subaddress;
4842
4843typedef enum
4844{
4845 NO_TRAFFIC,
4846 PRIMARY_TRAFFIC,
4847 SECONDARY_TRAFFIC
4848} TrafficType;
4849
4850/* IS-707-A-2.10 RLP BLOB for HSPD */
4851typedef struct
4852{
4853 kal_uint8 rlpBlobType;
4854 kal_uint8 rlpVersion;
4855 kal_uint8 rtt;
4856 kal_bool initVar;
4857 kal_uint32 bsExtSeqM;
4858 kal_uint32 msExtSeqM;
4859 kal_uint8 maxMsNakRoundsFwd;
4860 kal_uint8 maxMsNakRoundsRev;
4861 kal_uint8 nakRoundsFwd;
4862 kal_uint8 nakRoundsRev;
4863 kal_uint8 nakPerRoundFwd[ CP_MAX_ROUNDS_FWD ];
4864 kal_uint8 nakPerRoundRev[ CP_MAX_ROUNDS_REV ];
4865 kal_uint8 ddw;
4866 kal_uint8 rexmit_timer;
4867} RlpBlobPsw;
4868
4869/* define set of SCH coding options */
4870typedef enum
4871{
4872 SCH_CONV_CODING = 0,
4873 SCH_TURBO_CODING = 1
4874
4875} SchCodingTypes;
4876
4877/* define set of RC settings */
4878typedef enum
4879{
4880 RC_INVALID = 0,
4881 RC_1 = 1,
4882 RC_2 = 2,
4883 RC_3 = 3,
4884 RC_4 = 4,
4885 RC_5 = 5,
4886 RC_6 = 6,
4887 RC_7 = 7,
4888 RC_8 = 8,
4889 RC_9 = 9,
4890 RC_10 = 10, /* PDCH RC */
4891 RC_11 = 11,
4892 RC_12 = 12,
4893 RC_MAX
4894} RcTypes;
4895
4896/* Service configuration structures */
4897typedef struct
4898{
4899 kal_uint8 schRecLen;
4900 RcTypes schRc;
4901 SchCodingTypes coding;
4902 kal_bool frame40Used;
4903 kal_bool frame80Used;
4904 kal_uint8 maxRate;
4905} ChConfigSch;
4906
4907/* Service option connection record structure */
4908typedef struct
4909{
4910 kal_uint8 conRef; /* service option connection reference */
4911 SysServiceOptionT serviceOption;
4912 TrafficType forTraffic; /* forward traffic type */
4913 TrafficType revTraffic; /* reverse traffic type */
4914#ifdef IS2000_REV_0
4915 kal_uint8 uiEncryptMode;
4916 kal_uint8 srId; /* Set of number of bits per frame of the RFCh*/
4917 kal_bool rlpInfoIncl;
4918 kal_uint8 rlpBlobLen; /* Set of number of bits per frame of the RFCh*/
4919 RlpBlobPsw rlpBlob;
4920 kal_bool qosParmsIncl;
4921#endif
4922} ConnectionRecord;
4923
4924typedef struct
4925{
4926 kal_uint8 forSchId;
4927 MultiplexOption forSchMux;
4928 ChConfigSch forSchChConf;
4929} ForSchCc;
4930
4931typedef struct
4932{
4933 kal_uint8 revSchId;
4934 MultiplexOption revSchMux;
4935 ChConfigSch revSchChConf;
4936} RevSchCc;
4937
4938typedef struct
4939{
4940 MultiplexOption forMuxOption; /* forward multiplex option */
4941 MultiplexOption revMuxOption; /* reverse multiplex option */
4942 /*AKK 11-16-00 Added per LMD_SERVICE_CONFIGURATION_MSG */
4943 kal_uint8 forNumBits; /* Set of number of bits per frame of the FFCh*/
4944 kal_uint8 revNumBits; /* Set of number of bits per frame of the RFCh*/
4945 kal_uint8 numConRec; /* # of serv opt connection rec */
4946 ConnectionRecord conRec[CP_MAX_SERV_OPT_CONN_REC]; /* serv opt conn recs */
4947 /* AKK 08-15-00 IS2000A, Added new service configuration fields*/
4948 /*AKK 12-30-02 per CR#570 Replaced IS2000A with IS2000_REV_0*/
4949#ifdef IS2000_REV_0
4950 /*AKK 11-17-00 Per L1D_SERVICE_CONFIGURATION_MSG */
4951 kal_bool fchCcIncl;
4952 kal_uint8 fchFrameSize;
4953 kal_uint8 forFchRc;
4954 kal_uint8 revFchRc;
4955 kal_bool dcchCcIncl;
4956 kal_uint8 dcchFrameSize;
4957 kal_uint8 forDcchRc;
4958 kal_uint8 revDcchRc;
4959 /*AKK 04-07-01 Per IS2K Rev0 fix*/
4960
4961 kal_bool forSchCcIncl;
4962 kal_uint8 numForSch;
4963 ForSchCc forSchCc[ CP_MAX_NUM_FOR_SCH ];
4964
4965 kal_bool revSchCcIncl;
4966 kal_uint8 numRevSch;
4967 RevSchCc revSchCc[ CP_MAX_NUM_REV_SCH ];
4968 kal_uint8 fchDcchMuxOptionInd;
4969 kal_uint16 forDcchMuxOption;
4970 kal_uint16 revDcchMuxOption;
4971 kal_bool forPdchCcIncl;
4972 kal_uint16 forPdchMuxOption;
4973 kal_uint8 forPdchRc;
4974#endif
4975 /*END--AKK 11-17-00 Per L1D_SERVICE_CONFIGURATION_MSG */
4976 /*END--AKK 08-15-00 IS2000A, Added new service configuration fields*/
4977
4978 kal_bool nnScrIncl;
4979} ServiceConfiguration;
4980typedef enum
4981{
4982 CP_PITCH_MEDIUM,
4983 CP_PITCH_HIGH,
4984 CP_PITCH_LOW,
4985 CP_PITCH_RSVD
4986} AlertPitch;
4987
4988typedef enum
4989{
4990 CP_ST_TONE_SIGNAL,
4991 CP_ST_ISDN_ALERTING,
4992 CP_ST_IS54B_ALERTING,
4993 CP_ST_RSVD
4994} SignalType;
4995
4996typedef struct
4997{
4998 SignalType type;
4999 AlertPitch pitch;
5000 kal_uint8 signal;
5001} Signal;
5002
5003
5004typedef struct
5005{
5006 kal_uint16 pulse_frequency;
5007 kal_uint8 pulse_on_time;
5008 kal_uint8 pulse_off_time;
5009 kal_uint8 pulse_count;
5010} MeterPulses;
5011
5012typedef struct
5013{
5014 kal_uint8 amplitude;
5015 kal_uint16 freq_1;
5016 kal_uint16 freq_2;
5017 kal_uint8 on_time;
5018 kal_uint8 off_time;
5019 kal_uint8 repeat;
5020 kal_uint8 delay;
5021} CadenceGroup;
5022
5023typedef struct
5024{
5025 kal_uint8 cadence_count;
5026 kal_uint8 num_groups; /* 4 bits in length */
5027 CadenceGroup cGroup[CP_MAX_CADENCE_GROUPS_REC];
5028} ParametricAlerting;
5029
5030typedef enum
5031{
5032 CP_DISPLAY_TAG_BLANK = 0x80,
5033 CP_DISPLAY_TAG_SKIP,
5034 CP_DISPLAY_TAG_CONTINUATION,
5035 CP_DISPLAY_TAG_CALLED_ADDRESS,
5036 CP_DISPLAY_TAG_CAUSE,
5037 CP_DISPLAY_TAG_PROGRESS_INDICATOR,
5038 CP_DISPLAY_TAG_NOTIFICATION_INDICATOR,
5039 CP_DISPLAY_TAG_PROMPT,
5040 CP_DISPLAY_TAG_ACCUMULATED_DIGITS,
5041 CP_DISPLAY_TAG_STATUS,
5042 CP_DISPLAY_TAG_INBAND,
5043 CP_DISPLAY_TAG_CALLING_ADDRESS,
5044 CP_DISPLAY_TAG_REASON,
5045 CP_DISPLAY_TAG_CALLING_PARTY_NAME,
5046 CP_DISPLAY_TAG_CALLED_PARTY_NAME,
5047 CP_DISPLAY_TAG_ORIGINAL_CALLED_NAME,
5048 CP_DISPLAY_TAG_REDIRECTING_NAME,
5049 CP_DISPLAY_TAG_CONNECTED_NAME,
5050 CP_DISPLAY_TAG_ORIGINATING_RESTRICTIONS,
5051 CP_DISPLAY_TAG_DATE_TIME_OF_DAY,
5052 CP_DISPLAY_TAG_CALL_APPEARANCE_ID,
5053 CP_DISPLAY_TAG_FEATURE_ADDRESS,
5054 CP_DISPLAY_TAG_REDIRECTION_NAME,
5055 CP_DISPLAY_TAG_REDIRECTION_NUMBER,
5056 CP_DISPLAY_TAG_REDIRECTING_NUMBER,
5057 CP_DISPLAY_TAG_ORIGINAL_CALLED_NUMBER,
5058 CP_DISPLAY_TAG_CONNECTED_NUMBER,
5059 CP_DISPLAY_TAG_TEXT = 0x9E
5060} DisplayTag;
5061
5062typedef struct
5063{
5064 DisplayTag display_tag;
5065 kal_uint8 display_len;
5066 /* include NULL terminator */
5067 kal_uint8 chari[CP_MAX_EXTENDED_DISPLAY_SIZE + 1];
5068} ExtendedDisplayRec;
5069
5070typedef struct
5071{
5072 kal_uint8 ext_display_ind;
5073 kal_uint8 display_type;
5074 kal_uint8 num_disp_rec;
5075 ExtendedDisplayRec extDisp[CP_MAX_EXTENDED_DISPLAY_REC];
5076} ExtendedDisplay;
5077
5078typedef struct
5079{
5080 kal_uint8 polarity_included;
5081 kal_uint8 toggle_mode;
5082 kal_uint8 reverse_polarity;
5083 kal_uint8 power_denial_time;
5084} LineControl;
5085
5086
5087typedef struct
5088{
5089 kal_uint8 extension_bit_1;
5090 NumberType type;
5091 NumberPlan plan;
5092 kal_uint8 extension_bit_2;
5093 PresentationIndicator pi;
5094 ScreeningIndicator si;
5095 kal_uint8 extension_bit_3;
5096 kal_uint8 redirection_reason;
5097 kal_uint8 number[CP_MAX_REDIRECTING_NUMBER_SIZE + 1];
5098 /* including NULL terminator */
5099} RedirectingNumber;
5100
5101typedef struct
5102{
5103 kal_uint8 upLink;
5104 kal_uint8 downLink;
5105} AudioControl;
5106
5107typedef struct
5108{
5109 kal_bool rcvdDisplay;
5110 kal_int8 display[CP_MAX_DISPLAY_SIZE + 1]; /* Incl NULL terminator */
5111 kal_bool rcvdCalledPartyNumber;
5112 CalledPartyNumber calledPartyNumber;
5113 kal_bool rcvdCallingPartyNumber;
5114 CallingPartyNumber callingPartyNumber;
5115 kal_bool rcvdConnectedNumber;
5116 CallingPartyNumber connectedNumber; /* Same format as CallingPartyNumber */
5117 kal_bool rcvdSignal;
5118 Signal signal;
5119 kal_bool rcvdMessageWaiting;
5120 kal_uint8 msgCount;
5121 kal_bool rcvdCLIRCause;
5122 kal_uint8 clirCause;
5123 kal_bool rcvdRelease;
5124 kal_bool rcvdAudioControl;
5125 AudioControl audioControl;
5126 kal_bool rcvdMeterPulse;
5127 MeterPulses meterPulse;
5128 kal_bool rcvdParametricAlerting;
5129 ParametricAlerting parametricAlert;
5130 kal_bool rcvdLineControl;
5131 LineControl lineControl;
5132 kal_bool rcvdExtendedDisplay;
5133 ExtendedDisplay extendedDisplay;
5134 kal_bool rcvdCalledPartySubaddress;
5135 Subaddress calledPartySubaddress;
5136 kal_bool rcvdCallingPartySubaddress;
5137 Subaddress callingPartySubaddress;
5138 kal_bool rcvdConnectedSubaddress;
5139 Subaddress connectedSubaddress;
5140 kal_bool rcvdRedirectingNumber;
5141 RedirectingNumber redirectingNumber;
5142 kal_bool rcvdRedirectingSubaddress;
5143 Subaddress redirectingSubaddress;
5144 kal_bool rcvdCallWaitingIndicator;
5145 kal_uint8 callWaitingIndicator;
5146} FORInfoData;
5147typedef enum
5148{
5149 SC_REJECT = 0,
5150 SC_ACCEPT,
5151 SC_ALTERNATIVE,
5152 SC_UNKNOWN
5153} SCResponse;
5154
5155typedef enum
5156{
5157 SCC_DATA_BURST_IND,
5158 SCC_CONN_IND,
5159 SCC_NEG_CONN_IND,
5160 SCC_DISCONN_IND,
5161 SCC_RELEASE_IND,
5162 SCC_SERV_CONF_VALIDATE,
5163 SCC_PAGE_IND,
5164 SCC_SERV_OPTIION_VALIDATE,
5165 SCC_ALERT_IND,
5166 SCC_SOCM_IND,
5167 SCC_SOCO_IND,
5168 SCC_SERV_CONF_INIT,
5169 SCC_PZ_ZONE_IND,
5170 SCC_IDLE_IND,
5171 SCC_SID_NID_IND,
5172 SCC_HAND_OFF_IND,
5173 SCC_NW_P_REV_IND,
5174 SCC_ZONE_IND,
5175 SCC_TC_ASSIGN_IND,
5176 SCC_SET_SSDB_IND,
5177 /* add code here */
5178}Scc_IndMsgType;
5179
5180typedef enum
5181{
5182 SCC_VS_ORIG_REQ,
5183 SCC_PS_ORIG_REQ,
5184 SCC_LS_ORIG_REQ,
5185 SCC_SMS_ORIG_REQ,
5186 SCC_SMS_REL_REQ,
5187 SCC_VS_ANSWER_REQ,
5188 SCC_VS_RELESE_REQ,
5189 SCC_LS_RELESE_REQ,
5190 SCC_VS_SWITCH_REQ,
5191 SCC_TIMER_EXPIRY,
5192 SCC_PZ_HYSTER_ACT_SET,
5193 /* add code here */
5194}Scc_ReqMsgType;
5195
5196typedef struct
5197{
5198 kal_uint8 msgNumber;
5199 kal_uint8 burstType;
5200 kal_uint8 numMsgs;
5201 kal_uint8 numFields;
5202 kal_uint8 data[255];
5203}SccDataBurstIndMsg;
5204
5205typedef struct
5206{
5207 kal_bool encoded; /* digits encoded indication */
5208 kal_bool digitMode; /* digit encoding indicator */
5209 kal_uint8 numberType; /* type of number */
5210 kal_uint8 numberPlan; /* numbering plan */
5211 kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
5212 kal_uint8 numDigits; /* number of digits to be dialled */
5213 PswCallingPartyNumberT CPNInfo; /* Calling Party Number Info */
5214 PswCallModeT callMode; /* voice call mode indicator */
5215 kal_bool multCPN; /* whether MS has >1 calling party num values */
5216 kal_bool inclCallingSub; /* whether calling party subaddr info included */
5217 Subaddress callingSub;
5218 kal_bool inclCalledSub; /* whether called party subaddr info included */
5219 Subaddress calledSub;
5220}SccVsOrigReqMsg;
5221
5222typedef struct
5223{
5224 SysPacketDataSvcTypeT type;
5225 kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
5226}SccPsOrigReqMsg;
5227
5228typedef struct
5229{
5230 SysLoopbackSvcTypeT prefType;
5231 kal_uint8 digits[CP_MAX_CALLING_PARTY_NUMBER_SIZE +1]; /* ascii digits, null terminated string */
5232}SccLsOrigReqMsg;
5233
5234typedef struct
5235{
5236 kal_uint16 SO;
5237}SCCSwitchReqMsg;
5238
5239
5240typedef struct
5241{
5242 kal_uint16 timerID;
5243}SCCTimerExpiry;
5244
5245typedef struct
5246{
5247 kal_bool bActivated;
5248}PZHysterActIndSet;
5249
5250typedef struct
5251{
5252 kal_uint8 response;
5253 kal_uint8 reason;
5254}SccServiceConfigRsp;
5255
5256typedef struct
5257{
5258 kal_uint8 reason;
5259}SccDisconnectInd;
5260
5261typedef struct
5262{
5263 kal_uint8 reason;
5264}SccReleaseInd;
5265
5266typedef struct
5267{
5268 kal_bool valOnly;
5269 ServiceConfiguration sc;
5270}SccServiceConfigValidate;
5271
5272typedef struct
5273{
5274 SysServiceOptionT so;
5275}SccServiceOptiValidate;
5276
5277typedef struct
5278{
5279 FORInfoData alertDate;
5280}SccAlertInd;
5281
5282typedef struct
5283{
5284 kal_uint8 conRef;
5285 kal_uint16 serviceOption;
5286 kal_uint8 length;
5287 kal_uint8 ctlRec[MAX_SERV_OPT_CNTL_RECORD_LEN];
5288 kal_uint32 actionTime;
5289}SccSocmInd;
5290
5291typedef struct
5292{
5293 kal_uint8 ordq;
5294 kal_uint32 actionTime;
5295}SccSocoInd;
5296
5297typedef struct
5298{
5299 kal_uint8 zone;
5300}PacketZoneInd;
5301
5302typedef struct
5303{
5304 kal_uint16 sid;
5305 kal_uint16 nid;
5306}SidNidInd;
5307
5308typedef struct
5309{
5310 kal_uint8 type;
5311 kal_bool cfgChanged;
5312 kal_bool setChanged;
5313 kal_bool freqChanged;
5314}HandOffInd;
5315
5316typedef struct
5317{
5318 kal_uint8 ssdB[8];
5319}SsdbInd;
5320
5321typedef struct
5322{
5323 Scc_IndMsgType type;
5324 union
5325 {
5326 SccDataBurstIndMsg DbIndMsg;
5327 SccServiceConfigRsp ServeConfRsp;
5328 SccDisconnectInd DisconnctInd;
5329 SccReleaseInd ReleaseInd;
5330 SccServiceConfigValidate ServConfValidate;
5331 SccServiceOptiValidate ServOptiValidate;
5332 SccAlertInd AlertInd;
5333 SccSocmInd SocmInd;
5334 SccSocoInd SocoInd;
5335 PacketZoneInd PZondInd;
5336 SidNidInd SidNidInd;
5337 HandOffInd HandoffInd;
5338 SsdbInd SetSsdbInd;
5339 /* add code here */
5340 } indMsg;
5341}PswSccIndMsg;
5342
5343typedef struct
5344{
5345 Scc_ReqMsgType type;
5346 union
5347 {
5348 SccVsOrigReqMsg VsOrigMsg;
5349 SccPsOrigReqMsg PsOrigMsg;
5350 SccLsOrigReqMsg LsOrigMsg;
5351 SCCSwitchReqMsg SwitchMsg;
5352 SCCTimerExpiry TimerExpMsg;
5353 PZHysterActIndSet HysterActSetMsg;
5354 /* add code here */
5355 } reqMsg;
5356}PswSccReqMsg;
5357
5358typedef enum
5359{
5360 LOCK_ORDER,
5361 UNLOCK_ORDER,
5362 MAX_NUM
5363} PswTstInjectEnum;
5364
5365
5366void PswCustomLockProcedure(void);
5367kal_bool cssCheckSidNidLock(void);
5368void PswCustomFeatureMsg(kal_uint32 * MsgP);
5369kal_bool PswIsCustomFeatureSet(kal_uint32 CustomFeatureMacro);
5370void PswTransformPswMiscDataType(kal_uint8* srcData ,kal_uint8* desData);
5371void PswTransformNamDataType(kal_uint8* srcData ,kal_uint8* desData);
5372kal_uint16 PswTransformPswMiscDataPackedType(kal_uint8* srcData ,kal_uint8* desData);
5373kal_uint16 PswTransformNamDataPackedType(kal_uint8* srcData ,kal_uint8* desData);
5374kal_uint16 PswGetNamNumBytes();
5375kal_uint16 PswGetPswMiscBytes();
5376void PswCustomFeatureReg(PswCustomLockCallBackT* CustomReg);
5377kal_uint8 PswGetDefaultRoamSetting();
5378PswParmAccessResultCode PswRoamSettingBitMapHandler(kal_uint8 RoamSettingBitMap);
5379kal_bool PswCustomFeatureCheck(kal_uint32 FeatureItem);
5380void PswSetImsimValidStatusMsg( PswSetImsiMValidT* MsgP );
5381CPState getCPState(void);
5382kal_bool cpGetE911mode(void);
5383kal_bool cpOtaspModeToBandChannel(kal_uint8 code, SysBandChannelT *bandCh, kal_uint8 *block);
5384
5385#ifdef MTK_DEV_C2K_IRAT
5386kal_uint32 PswIratMd1MsgHandler(kal_uint32 MsgId, void* MsgBufferP, kal_uint32 MsgSize);
5387rsvas_sim_enum rsvasGetCurrentSimId(void);
5388#endif
5389
5390/*********************PswCustomLockDefination************************************/
5391
5392/*****************************************************************************
5393 * removed!
5394 * removed!
5395 * removed!
5396 * removed!
5397 * removed!
5398 * removed!
5399 * removed!
5400 * removed!
5401 * removed!
5402 * removed!
5403 * removed!
5404 * removed!
5405 * removed!
5406 * removed!
5407 * removed!
5408 * removed!
5409 * removed!
5410 * removed!
5411 * removed!
5412 * removed!
5413 * removed!
5414 * removed!
5415 * removed!
5416 * removed!
5417 * removed!
5418 * removed!
5419 * removed!
5420 * removed!
5421 * removed!
5422 * removed!
5423 * removed!
5424 * removed!
5425 * removed!
5426 * removed!
5427 * removed!
5428 * removed!
5429 * removed!
5430 * removed!
5431 * removed!
5432 * removed!
5433 * removed!
5434 * removed!
5435 * removed!
5436 * removed!
5437 * removed!
5438 * removed!
5439 * removed!
5440 * removed!
5441 * removed!
5442 * removed!
5443 * removed!
5444 * removed!
5445 * removed!
5446 * removed!
5447 * removed!
5448 * removed!
5449 * removed!
5450 * removed!
5451 * removed!
5452 * removed!
5453 * removed!
5454 * removed!
5455 * removed!
5456 * removed!
5457 * removed!
5458 * removed!
5459 * removed!
5460 * removed!
5461 * removed!
5462 * removed!
5463 * removed!
5464 * removed!
5465 * removed!
5466 * removed!
5467 * removed!
5468 * removed!
5469 * removed!
5470 * removed!
5471 * removed!
5472 * removed!
5473 * removed!
5474 * removed!
5475 * removed!
5476 * removed!
5477 * removed!
5478 * removed!
5479 * removed!
5480 * removed!
5481 * removed!
5482 * removed!
5483 * removed!
5484 * removed!
5485 * removed!
5486 * removed!
5487 * removed!
5488 * removed!
5489 * removed!
5490 * removed!
5491 * removed!
5492 * removed!
5493 * removed!
5494 * removed!
5495 * removed!
5496 * removed!
5497 * removed!
5498 * removed!
5499 * removed!
5500 * removed!
5501 * removed!
5502 * removed!
5503 * removed!
5504 * removed!
5505 * removed!
5506 * removed!
5507 * removed!
5508 * removed!
5509 * removed!
5510 * removed!
5511 * removed!
5512 * removed!
5513 * removed!
5514 * removed!
5515 * removed!
5516 * removed!
5517 * removed!
5518 * removed!
5519 * removed!
5520 * removed!
5521 * removed!
5522 * removed!
5523 * removed!
5524 * removed!
5525 * removed!
5526 * removed!
5527 * removed!
5528 * removed!
5529 * removed!
5530 * removed!
5531 * removed!
5532 * removed!
5533 * removed!
5534 * removed!
5535 * removed!
5536 * removed!
5537 * removed!
5538 * removed!
5539 * removed!
5540 * removed!
5541 * removed!
5542 * removed!
5543 * removed!
5544 * removed!
5545 * removed!
5546 * removed!
5547 * removed!
5548 * removed!
5549 * removed!
5550 * removed!
5551 * removed!
5552 * removed!
5553 * removed!
5554 * removed!
5555 * removed!
5556 * removed!
5557 * removed!
5558 * removed!
5559 * removed!
5560 * removed!
5561 * removed!
5562 * removed!
5563 * removed!
5564 * removed!
5565 * removed!
5566 * removed!
5567 * removed!
5568 * removed!
5569 * removed!
5570 * removed!
5571 * removed!
5572 * removed!
5573 * removed!
5574 * removed!
5575 * removed!
5576 * removed!
5577 * removed!
5578 * removed!
5579*
5580*
5581 * removed!
5582 * removed!
5583 * removed!
5584 * removed!
5585 * removed!
5586 * removed!
5587 * removed!
5588 * removed!
5589 * removed!
5590 * removed!
5591 * removed!
5592 * removed!
5593 * removed!
5594 * removed!
5595 * removed!
5596 * removed!
5597 * removed!
5598 * removed!
5599 * removed!
5600 * removed!
5601 * removed!
5602 * removed!
5603 * removed!
5604 * removed!
5605 * removed!
5606 * removed!
5607 * removed!
5608 * removed!
5609 * removed!
5610 * removed!
5611 * removed!
5612 * removed!
5613 * removed!
5614 * removed!
5615 * removed!
5616 * removed!
5617 * removed!
5618 * removed!
5619 * removed!
5620 * removed!
5621 * removed!
5622 * removed!
5623 * removed!
5624 * removed!
5625 * removed!
5626 * removed!
5627 * removed!
5628 * removed!
5629 * removed!
5630 * removed!
5631 * removed!
5632 * removed!
5633 * removed!
5634 * removed!
5635 * removed!
5636 * removed!
5637 * removed!
5638 * removed!
5639 * removed!
5640 * removed!
5641 * removed!
5642 * removed!
5643 * removed!
5644 * removed!
5645 * removed!
5646 * removed!
5647 * removed!
5648 * removed!
5649 * removed!
5650 * removed!
5651 * removed!
5652 * removed!
5653 * removed!
5654 * removed!
5655 * removed!
5656 * removed!
5657 * removed!
5658 * removed!
5659 * removed!
5660 * removed!
5661 * removed!
5662 * removed!
5663 * removed!
5664 * removed!
5665 * removed!
5666 * removed!
5667 * removed!
5668 * removed!
5669 * removed!
5670 * removed!
5671 * removed!
5672 * removed!
5673 * removed!
5674 * removed!
5675 * removed!
5676 * removed!
5677 * removed!
5678 * removed!
5679 * removed!
5680 * removed!
5681 * removed!
5682 * removed!
5683 * removed!
5684 * removed!
5685 * removed!
5686 * removed!
5687 * removed!
5688 * removed!
5689 * removed!
5690 * removed!
5691 * removed!
5692 * removed!
5693 * removed!
5694 * removed!
5695*****************************************************************************/
5696
5697/*****************************************************************************
5698* End of File
5699*****************************************************************************/
5700#endif /* #ifndef _PSWAPI_H_ */
5701/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\1 2012-07-27 08:59:51 GMT gdeng
5702** SCBP#10099 **/
5703/**Log information: \main\CBP80\cbp80_gdeng_scbp10099\2 2012-07-30 08:20:37 GMT gdeng
5704** SCBP#10099**/
5705/**Log information: \main\CBP80\cbp80_gdeng_scbp10325\1 2012-09-20 06:13:14 GMT gdeng
5706** SCBP#10325**/
5707/**Log information: \main\CBP80\cbp80_gdeng_scbp10325\2 2012-09-20 06:23:16 GMT gdeng
5708** SCBP#10325**/
5709/**Log information: \main\SMART\1 2013-04-25 09:46:39 GMT yxma
5710** HREF#22182, add custom lock feature to smartfren
5711|**/
5712/**Log information: \main\Trophy\Trophy_zjiang_href22256\1 2013-08-21 07:39:32 GMT zjiang
5713** HREF#22256.1.crts21316:Ä£¿é¶ÌÐÅ×Ô×¢²á±àÒë°æ±¾Àï´æÔÚµÄ×Ô×¢²á¶ÌÐŶàÓàÉϱ¨ÐÞ¸Ä;2.+CPINÃüÁîÓÅ»¯.**/
5714/**Log information: \main\Trophy\2 2013-08-21 07:42:24 GMT cshen
5715** href#22256**/
5716/**Log information: \main\Trophy\Trophy_xding_href22331\1 2013-12-10 07:18:03 GMT xding
5717** HREF#22331, ºÏ²¢MMCÏà¹Ø¹¦Äܵ½Trophy baselineÉÏ**/
5718/**Log information: \main\Trophy\3 2013-12-10 08:33:39 GMT jzwang
5719** href#22331:Merge MMC latest implementation from Qilian branch.**/
5720