blob: ae1a8c7698b730ed0ac9811a26292403328683c1 [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) 1999-2010 VIA Telecom, Inc. All rights reserved.
42*
43*************************************************************/
44/****************************************************************************
45 *
46 * Module: engine.h
47 *
48 * Purpose: Header file for the Protocol Engine.
49 *
50 ****************************************************************************
51 *
52 * PVCS Header Information
53 *
54 *
55 * $Log: engine.h $
56 *
57 * 04 01 2020 yanfeng.xu
58 * [MOLY00509275] [MT6875][Margaux][Q0][MP3][SQC][China][Shanghai][Suburb][5GMM][NSA][Internal][FT][MDST][CAT][CU+CT][ASSERT] file:mcu/l1/ll1/src/mll1_main.c line:20892
59 *
60 * 07 25 2019 tina.ma
61 * [MOLY00424781] [GSMA TS.37] block illegal UE for multiple SIM
62 *
63 * GSMA C2K L3 part
64 *
65 * 01 17 2019 tina.ma
66 * [MOLY00379869] [Gen97]merge code from UMOLYE TRUNK
67 *
68 * merge to VMOLY
69 * 1. ECAM
70 * 2. UT
71 * 3. local release
72 * 4. does not trigger registration in sleep mode
73 *
74 * 09 11 2018 tina.ma
75 * [MOLY00350570] [SE3][SIP][Cervino][Sanity]In SRLTE mode,During sim2 CU mo call,always on the dialing interface and no voice prompts
76 *
77 * .
78 *
79 * 09 10 2018 yanfeng.xu
80 * [MOLY00348715] [UMOLYE][EVDO]remove assert on 97
81 *
82 * 12 15 2017 tina.ma
83 * [MOLY00296406] [MT6763][Bianco][O1][MP2.0][MP2 Regression][Overnight][SZ][CU+CT][4GMM][ASSERT] file:mcu/pcore/modem/common/rsva/rsvas/src/rsvas_utils.c line:482
84 *
85 * .
86 *
87 * 11 08 2017 tina.ma
88 * [MOLY00288039] [MT6763][Bianco][N1][MP1.5][WW FT][China][Shenzhen][SIM1:CU][SIM2:CT][ASSERT] file:mcu/pcore/modem/lte_sec/errc/conn/src/errc_conn_main.c line:1146
89 *
90 * .
91 *
92 * 07 06 2017 sue.zhong
93 * [MOLY00259241] [6293][C2K]Replace with KAL data type
94 * Correct copyright file header
95 *
96 * 07 04 2017 sue.zhong
97 * [MOLY00259241] [6293][C2K]Replace with KAL data type
98 * ::KAL type - L3, folder ps
99 *
100 * 05 19 2017 peijun.zheng
101 * [MOLY00249027] [BIACNO][MT6763][New feature]C2K code release code modification
102 *
103 * Fix L3 DHL trace enum description
104 *
105 * 05 05 2017 tina.ma
106 * [MOLY00247117] [Rose][Bianco N1]The Externel (EE),0,0,99,/data/core/,1,modem,Trigger time:[2017-04-13 14:33:14.932569]md1:(MCU_core0.vpe1.tc1(VPE1)) [ASSERT](Once)
107 *
108 * L1d_init_cnf.
109 *
110 * 04 27 2017 gavin.zhang
111 * [MOLY00245533] [BIANCO][MT6763][RDIT][C2K][SRLTE][Try run][CMW500]Assert fail: xl1fhrtbaw.c 474 0x1104 0xc 0x0
112 *
113 * .
114 *
115 * 04 18 2017 jacky.wu
116 * [MOLY00243091] [BIANCO][MT6763][C2K][RDIT][Stress][KAL][UE][core0,vpe0,tc0(vpe0)] Assert fail: l1dspage.c 772 0x1002 0x6 0x0 - L1D_MDM
117 *
118 * .Sync clock calibration state between L1 & L3.
119 *
120 * 03 06 2017 golden.yang
121 * [MOLY00226193] [6293][C2K]Merge C2K Feature£¨NST, Tx Pwr Meter etc£© Code CL from T0 to Trunck
122 * Merge the Code of NST to TRUNCK Branch
123 *
124 * 02 21 2017 golden.yang
125 * [MOLY00230944] [6293][C2K][BringUp]NSFT Mode BringUp Update for 1XRTT in 93m
126 *
127 * nst relation for 93M
128 *
129 * 01 05 2017 sue.zhong
130 * [MOLY00218409] [6293][C2K]Sync C2K code to UMOLYA TRUNK from C2K CBr (W1701)
131 * merge c2k source
132 *
133 * 12 01 2016 sue.zhong
134 * [MOLY00213777] [6293][C2K]Sync C2K code to UMOLYA TRUNK(W1648)
135 * Update C2K source
136 *
137 * 11 09 2016 sue.zhong
138 * [MOLY00208435] [6293][C2K]Sync C2K code to UMOLYA TRUNK
139 * Update C2K PS code (1/2)
140 * Revision 1.14 2006/03/16 11:59:10 mclee
141 * - Update prototype engRelayOutOfServiceAreaParameters() to include scan time.
142 * Revision 1.13 2006/01/24 12:38:51 wavis
143 * Fix GetNam to always get active NAM.
144 * Revision 1.12 2006/01/12 16:21:35 vxnguyen
145 * Fixed compile errors when AMPS was not included.
146 * Revision 1.11 2006/01/11 15:13:13 blee
147 * Changing function parameters
148 * Revision 1.10 2005/12/21 11:32:12 hans
149 * Updated qpch algorithm and new L1 interface.
150 * Revision 1.9 2005/08/17 14:10:36 hans
151 * CR6900 - Enhanced qpch indicator detection algorithm [DSPM/L1D/PSW]. CR6902 - Immediate PSW-L1D wake message for PCH/FCCCH
152 * Revision 1.8 2005/05/09 17:46:32 wfu
153 * Fix CR 6202: Add struct SilentRetryInfo. Add parameters passed in engRelaySRSetSilentRetryMsg().
154 * Add prototype for engRelayGetSRInf(). Delete engRelaySRIsSilentRetryEnabled() prototype.
155 * Revision 1.7 2005/04/06 16:33:04 dstecker
156 * Release A mods
157 * Revision 1.6 2005/03/18 11:43:59 hans
158 * Merged code changes from CBP4.05 revision 2.02 to CBP4.05 revision 4.21.
159 * Revision 1.5 2004/09/28 16:34:48 hans
160 * Changes from CBP6.0 merged.
161 * Revision 1.4 2004/06/21 17:22:34 dstecker
162 * Idle Handoff for Rev C Changes
163 * Revision 1.3 2004/04/06 14:02:03 dstecker
164 * CBP6.1 release 1
165 * Revision 1.2 2004/03/25 12:09:29 fpeng
166 * Updated from 6.0 CP 2.5.0
167 * Revision 1.3 2004/02/10 12:50:45 bcolford
168 * Merged CBP4.0 Release 8.05.0 changes.
169 * Revision 1.43 2003/12/02 18:02:55 akayvan
170 * Added engine event ENG_NO_IDLE_HANDOFF.
171 * Revision 1.42 2003/11/06 11:42:44 ameya
172 * Added ENG_SYS_REDIRECTION_END_TIME, ENG_IND_FORCE_ANALOG_MODE and ENG_IND_MORE_PREF_SCAN_TIMEOUT. Also prototypes for engRelayForceAnalogMode() and engRelaySRGetSilentRetryStatusMsg().
173 * Revision 1.41 2003/06/26 13:52:07 byang
174 * CR#2394: Modified engRelaySetNewIHOparameters() prototype
175 * declaration to include MinNghbrThr.
176 * Revision 1.40 2003/04/30 09:34:01 mclee
177 * Added Engine request RQ_PAGE_RESPONSE
178 * Revision 1.39 2003/04/25 14:11:25 byang
179 * CR#2171: Add two events: ENG_IND_FSCH_STARTED and
180 * ENG_IND_FSCH_TERMINATED.
181 * Revision 1.38 2003/03/07 11:39:04 byang
182 * CR #1810: Add function prototype declaration for
183 * engRelaySetAccessHoParams().
184 * Revision 1.37 2002/11/26 19:38:25 hans
185 * Engine relay function for resource control declared
186 * Revision 1.36 2002/09/30 15:15:26 mshaver
187 * Changes to support the single NAM data structure type
188 * definition PswIs95NamT, of type packed.
189 * Revision 1.35 2002/09/17 18:20:04 akayvan
190 * cpSetWakeData() parameters were updated for Spirent's QPCH
191 * Spy.
192 * Revision 1.34 2002/08/23 10:10:33 akayvan
193 * Per system's request added ETS capabilty to modify all QPCH thresholds.
194 * Revision 1.33 2002/07/15 13:11:53 chinh
195 * Removed compile switch CBP3_MERGE (CR598).
196 * Revision 1.32 2002/07/11 18:30:09 byang
197 * CR #889: Removed unused field from Callback data type.
198 * Revision 1.31 2002/06/18 18:07:59 akayvan
199 * QPCH Phase2 mods. Added new declaration for
200 * engRelayTestMode(), and cpSetWakeData().
201 * Revision 1.30 2002/06/14 17:14:17 chinh
202 * Added function prototype engRelayL1dAccessComplete().
203 * Revision 1.29 2002/06/13 13:51:17 hans
204 * Not used statistics function engRelayGetAccStats(), engRelayGetPagStats(), engRelayGetMux1FORStats() and engRelayGetMux2FORStats() removed.
205 * Revision 1.28 2002/06/06 13:12:11 chinh
206 * Changed and Added Copyright
207 * Revision 1.27 2002/06/04 20:03:36 hans
208 * Layer2 statistics not used anymore disabled with ifdef's.
209 * Revision 1.26 2002/05/31 20:07:35 akayvan
210 * QPCH/PI mods.
211 * Revision 1.25 2002/05/29 15:23:19 ameya
212 * Added events ENG_IND_SYNC_CSS_FAIL and ENG_IND_SYNC_CSS_PASS to report to the engine whether the sync message passed or failed CSS. Added prototype for engRelaySyncCssDone().
213 * Revision 1.24 2002/05/08 16:47:08 byang
214 * Modified engRelayPMRMParams() input parameter for F-SCH.
215 * Add data structure CPPmrmParms to accommodate F-SCH.
216 * Revision 1.23 2002/03/28 18:22:32 hans
217 * is2000 rev 0 add 2, retrievable and settable parameters implemented.
218 * CR503: get retrievable parameter implemented.
219 * CR508: set retrievable parameter implemented
220 * Revision 1.22 2002/01/28 11:36:11 byang
221 * Add constant ENG_IND_RSCH_STARTED and function prototypes for:
222 * engRelayHspdActiveControlHold(), engRelayRschRelInd(), engRelayDataBufferStatus(), and engRelayRevSchRequest().
223 * Revision 1.21 2002/01/17 17:17:44 akayvan
224 * Implemented Slotted Mode mods.
225 * Revision 1.20 2002/01/10 17:12:17 AMALA
226 * Added emergency mode processing for new system selection.
227 * Revision 1.19 2002/01/08 19:06:40 byang
228 * Renamed engRelaySCServiceControl() to
229 * engRelayServOptionControlResp().
230 * Revision 1.18 2002/01/08 17:03:32 ameya
231 * CBP3.0 merge to 4.0 to support Silent Retry.
232 * Revision 1.17 2002/01/02 10:12:38 AMALA
233 * Added new system selection changes.
234 * Revision 1.16 2001/12/14 17:09:25 mclee
235 * prototype engRelayGetPSInfo()
236 * Revision 1.15 2001/12/07 14:44:43 bcolford
237 * Change RSSI to an unsigned 16 bit value.
238 * Revision 1.14 2001/11/20 12:30:47 mclee
239 * Add prototypes engRelayGetNam, engRelayWriteNam
240 * engRelayMmiChangedNam Add ENG_IND_FORCE_BAND_MODE to status indication for wbios reports.
241 * Revision 1.13 2001/11/08 12:41:56 AMALA
242 * Added PRL processing support for SSPR functionality.
243 * Revision 1.12 2001/10/29 09:35:27 mclee
244 * Changed voiceActivity defined in typeInfo from kal_uint8 to kal_bool
245 * Revision 1.11 2001/10/08 14:46:27 mclee
246 * prototype engRelayGetPrlInfo()
247 * Revision 1.10 2001/09/24 15:19:04 kmar
248 * Update SMS to latest in CBP3.
249 * Added #define RQ_AUTO_ANSWER.
250 * Revision 1.9 2001/09/07 17:59:00 akayvan
251 * Added declaration for engRelayOuterLoopReportReqParams() per
252 * FPC.
253 * Revision 1.8 2001/08/03 15:14:35 dstecker
254 * Modifications for IS2000 handoffs
255 * Revision 1.7 2001/07/18 15:09:05 chinh
256 * cbp3 porting for Idle and Access
257 * Revision 1.6 2001/07/02 14:09:32 kmar
258 * Update SCC and SMS to CBP3 v360.
259 * Added fields related to Information Record support in
260 * RDTCH Origination Continuation Message.
261 * Revision 1.5 2001/06/12 15:39:39 byang
262 * Added new fields to HOIdleParams structure.
263 * Revision 1.4 2001/04/27 16:35:31 byang
264 * Added functionality to set the MS capability database from ETS
265 * and to stored the database into DBM when the MS is powerd-
266 * down. On power-up, the MS Cap. Db. is read from DBM.
267 * Revision 1.3 2001/03/16 11:29:10 akayvan
268 * Traffic code phase1 added.
269 * Revision 1.2 2001/01/29 18:20:52 dstecker
270 * new access probe architecture
271 * Revision 1.1 2001/01/17 10:58:25 plabarbe
272 * Initial revision
273 * Revision 1.2 2000/11/13 14:25:46 byang
274 * IS-2000A Idle Mode and LAC intergration - Initial Release.
275 * Revision 1.1 2000/10/24 21:11:12Z fpeng
276 * Initial revision
277 * Revision 1.7 2000/09/08 23:58:27Z RSATTARI
278 * Added define for full system time (36bit) request type and added data filed for the
279 * CP request structure.
280 * Revision 1.6 2000/08/31 23:41:52Z bcolford
281 * Replaced AMPS_SUPPORTED with SYS_OPTION_AMPS.
282 * Revision 1.5 2000/08/23 22:06:26Z RSATTARI
283 * Isotel release 2.8 plus LSI applicable IS-95B changes.
284 * Revision 1.4 2000/07/11 20:57:00Z bsharma
285 * Added CDMA to AMPS Handoff Macro definitions.
286 * Revision 1.3 2000/03/15 20:34:53Z bcolford
287 * Add a new indicator macro to handle the AMPS initialization
288 * acknowledgement.
289 * Revision 1.2 2000/03/01 18:06:12Z rsattari
290 * Isotel release 2.3 updates.
291 * Revision 1.53 2000/04/05 19:50:26 gfrye
292 * Moved Request Mode defined values from acc_asmb.h.
293 *
294 * Revision 1.52 2000/03/09 00:19:06 scotvold
295 * Removed SYS_OPTION_AMPS compile guards for ENG_IND_TC_TO_AVC_HO_START.
296 *
297 * Revision 1.51 2000/03/06 21:25:45 gfrye
298 * Changed value of PCR_UPDATED so that it didn't conflict with the
299 * value STATUS_UPDATED used b OTASP.
300 *
301 * Revision 1.50 2000/03/02 01:57:16 scotvold
302 * Added engRelay calls to extract CPE statistics.
303 *
304 * Revision 1.49 2000/03/01 01:52:59 scotvold
305 * CDMA -> AMPS handoff changes.
306 *
307 * Revision 1.48 2000/02/25 23:24:30 gfrye
308 * Added PCR_UPDATED flag for engRelayNamChanged to indicate that
309 * a NAM parameter may have changed and a parameter change
310 * registration may be required.
311 *
312 * Revision 1.47 2000/02/22 20:42:56 gfrye
313 * Added "AMPS" to name of all Analog SMS API functions.
314 *
315 * Revision 1.46 2000/02/19 02:07:57 scotvold
316 * Put in SYS_OPTION_AMPS guards.
317 *
318 * Revision 1.45 2000/02/19 00:03:23 gfrye
319 * Added new engRelay access functions to the API so that SMS can report
320 * the status of recently received Alert With Info SMS and Extended
321 * Protocol Info Services messages.
322 * Added new callback message types and data fields for the new API functions.
323 *
324 * Revision 1.44 2000/01/21 22:06:27 gfrye
325 * Added new functions to facillitate A-Key update from OTASP.
326 *
327 * Revision 1.43 2000/01/17 22:27:19 scotvold
328 * TC Backward Compatibility changes.
329 *
330 * Revision 1.42 1999/12/09 23:22:04 gfrye
331 * Added new fields to OrigParms to support OTASP and E911 calls.
332 * Added new prototype for when OTASP changes the NAM or PRL.
333 * Added new prototype to record the pilot strength on the sync channel.
334 *
335 * Revision 1.41 1999/08/27 19:45:26 gfrye
336 * Added parameters to engRelayOutOfServiceAreaParameters to support the change
337 * from 3 OOSA phases to 4.
338 *
339 * Revision 1.40 1999/07/28 20:07:39 gfrye
340 * Added prototype for new API function to set parameters for new Idle Handoff
341 * algorithm. Also added kal_bool immediateHo to handoff event structure to indicate
342 * if requested handoff is an "immediate" handoff or a "delayed" handoff.
343 *
344 * Revision 1.39 1999/07/07 21:22:38 scotvold
345 * Separation of HT_MAX and T_MAX for idle handoff.
346 *
347 * Revision 1.38 1999/06/16 00:36:07 scotvold
348 * Added Unacknowledged Data Burst send confirmation.
349 *
350 * Revision 1.37 1999/04/16 00:29:03 scotvold
351 * Added support for already encoded digits.
352 *
353 * Revision 1.36 1999/04/15 01:37:10 mhayduk
354 * Added encoded indication to orig parms.
355 *
356 * Revision 1.35 1999/04/13 19:15:27 scotvold
357 * New Idle Handoff Algorithm.
358 *
359 * Revision 1.34 1999/03/18 19:57:54 mhayduk
360 * Added support for Searching Out of Service Area operation.
361 *
362 * Revision 1.33 1999/03/04 00:31:24 mhayduk
363 * Added test mode support for setting Idle HO parmeters.
364 *
365 * Revision 1.32 1999/02/25 16:41:28 dfischer
366 * Changed SYS_B to 0
367 *
368 * Revision 1.31 1999/02/05 02:24:05 scotvold
369 * Test Mode Statistic Reporting API changes.
370 *
371 * Revision 1.30 1999/01/26 18:49:45 scotvold
372 * R1.2 API changes.
373 *
374 * Revision 1.29 1999/01/20 00:24:33 mhayduk
375 * Added numDigits to origParms.
376 *
377 * Revision 1.28 1999/01/09 00:33:00 scotvold
378 * Added AckInd qualification structure.
379 *
380 * Revision 1.27 1999/01/05 00:28:54 mhayduk
381 * Updated for new API release.
382 *
383 * Revision 1.26 1998/12/02 16:25:27 mhayduk
384 * Updated to remove non-T53 structures and calls.
385 *
386 * Revision 1.25 1998/12/02 01:51:30 scotvold
387 * Added T53 guards for #include.
388 *
389 * Revision 1.24 1998/12/02 00:05:18 scotvold
390 * Added engRelayReverseMultiplexParameters().
391 *
392 * Revision 1.23 1998/11/27 20:38:12 mhayduk
393 * Made SYS_A and SYS_B generally accessible.
394 *
395 * Revision 1.22 1998/11/20 16:36:34 mhayduk
396 * Removed TC pilot set maintenance drop interface and added
397 * slotted mode test flag.
398 *
399 * Revision 1.21 1998/10/31 02:19:17 scotvold
400 * Pilot Set maintenance optimization test.
401 *
402 * Revision 1.20 1998/10/23 14:43:12 mhayduk
403 * Added typedefs for amps structs.
404 *
405 * Revision 1.19 1998/10/20 23:58:23 mhayduk
406 * Added T53 support.
407 *
408 * Revision 1.18 1998/10/07 23:04:08 mhayduk
409 * Added event so access state is notified of received pilot
410 * measurement report.
411 *
412 * Revision 1.17 1998/10/07 22:53:50 tdaly
413 * Added OP_MODE2 to ENG_OP_MODE see #if defined(SYS_OPTION_AMPS).
414 *
415 * Revision 1.16 1998/09/22 18:44:57 tdaly
416 * Added IS-95 analog mode support.
417 *
418 * Revision 1.15 1998/09/11 16:23:17 scotvold
419 * Added Handoff Complete Indication event.
420 *
421 * Revision 1.14 1998/09/11 02:32:08 scotvold
422 * Candidate Frequency API changes. Test Mode changes.
423 *
424 * Revision 1.13 1998/08/14 23:47:01 scotvold
425 * Added Data Burst support.
426 *
427 * Revision 1.12 1998/08/13 00:12:31 scotvold
428 * Added DTMF support.
429 *
430 * Revision 1.11 1998/07/29 04:21:11 mhayduk
431 * Added new indications for access handoff support.
432 *
433 * Revision 1.10 1998/07/27 17:26:30 scotvold
434 * Added TX Acknowledgement failure support.
435 *
436 * Revision 1.9 1998/07/14 17:30:23 scotvold
437 * Minor changes.
438 *
439 * Revision 1.8 1998/07/03 16:57:30 dfischer
440 * New load
441 *
442 * Revision 1.7 1998/06/12 14:50:38 scotvold
443 * Updated for Release 0.07.
444 *
445 * Revision 1.6 1998/06/08 21:48:25 scotvold
446 * Updated for Release 0.06
447 *
448 * Revision 1.5 1998/05/13 18:11:50 mhayduk
449 * Added new error codes for bad NAM parameters.
450 *
451 * Revision 1.4 1998/05/01 18:13:54 scotvold
452 * Update for release 0.04
453 *
454 * Revision 1.3 1998/03/30 23:26:03 mhayduk
455 * Release 0.03.
456 *
457 * Revision 1.1 1997/11/06 17:49:24 mhayduk
458 * Initial revision
459 *
460 *
461 ****************************************************************************
462 ****************************************************************************/
463
464
465#ifndef _ENGINE_H_
466
467 #define _ENGINE_H_ 1
468
469/*****************************************************************************
470 * Includes
471 ****************************************************************************/
472#include "pswapi.h"
473#include "Serv_cfg.h"
474#include "layer2.h"
475#include "pilots.h"
476#include "namdata.h"
477#include "sync_msg.h"
478#include "Msg_defn.h"
479#include "ho_tc.h"
480#include "stats.h"
481#include "Field.h"
482#include "cssapi.h"
483#include "Ms_Cap_Db.h"
484#include "Ds_Signaling.h"
485
486#include "ho_cf.h"
487#include "ho_ac.h"
488
489#include "resource_control.h"
490#include "loc_pars.h"
491#include "sbp_public_utility.h"
492#include "event_info_utility.h"
493
494#ifdef MTK_DEV_C2K_IRAT
495#include "c2k_rsvas.h"
496#include "valiratapi.h"
497#endif
498
499#include "md_sap.h"
500/*****************************************************************************
501 * Defines
502 ****************************************************************************/
503 /* Request Mode codes - Table 6.7.1.3.2.4-1 */
504 #define CP_REQUEST_MODE_CDMA_ONLY 1
505 #define CP_REQUEST_MODE_WIDE 2
506 #define CP_REQUEST_MODE_CDMA_WIDE 3
507 #define CP_REQUEST_MODE_NARROW_ONLY 4
508 #define CP_REQUEST_MODE_CDMA_NARROW_ONLY 5
509 #define CP_REQUEST_MODE_NARROW_WIDE 6
510 #define CP_REQUEST_MODE_NARROW_WIDE_CDMA 7
511
512 /* Engine system errors */
513 #define ENG_ERR_BAD_PREF_BAND 1 /* pref band mismatch with op_mode */
514 #define ENG_ERR_BAD_PREF_MODE 2 /* pref mode mismatch with op_mode */
515 #define ENG_ERR_BAD_CUSTOM_OPMODE 3 /* bad opmode setting in custom.h */
516 #define ENG_ERR_INCOMPATIBLE_BAND_MODE 4 /* incompatible band/mode combo */
517 #define ENG_ERR_TUNE_RADIO 5 /* Can't tune Radio */
518 #define ENG_ERR_POWER_AMP 6 /* Can't control Power Amplifier */
519 #define ENG_ERR_OOSA_BAD_VALUE 7 /* Bad param value for OOSA select */
520 #define ENG_ERR_IHO_BAD_VALUE 8 /* Bad parm for Idle HandOff */
521
522 /* Call Processing Request types */
523 #define RQ_ENABLE 10 /* (+ NAM Parameter Data) */
524 #define RQ_DISABLE 11 /* (no data) */
525 #define RQ_ORIGINATE 12 /* (+ digits + service option) */
526 #define RQ_ANSWER 13 /* (no data) */
527 #define RQ_FLASH 14 /* (+ digits) */
528 #define RQ_TERMINATE 15 /* (no data) */
529 #define RQ_POWERDOWN 16 /* (no data) */
530 #define RQ_BURST_DTMF 17 /* (+ digits) */
531 #define RQ_CONT_DTMF_ON 18 /* (+ digit) */
532 #define RQ_CONT_DTMF_OFF 19 /* (no data) */
533 #define RQ_VP_ON 20 /* (no data) */
534 #define RQ_VP_OFF 21 /* (no data) */
535 #define RQ_DATA_BURST 22 /* (+ data burst data) */
536 #define RQ_DATA_BURST_UNACK 23 /* (+ data burst data) */
537 #define RQ_DATA_BURST_REJ 24 /* (no data) */
538 #define RQ_WIDE_ANALOG 25 /* (no data) */
539
540 #define RQ_AUTO_ANSWER 27 /* (no data) */
541 #define RQ_PAGE_RESPONSE 28 /* (no data) */
542 #define RQ_TERM_SVC_INACT 29 /* (no data) */
543 #define RQ_AFLT_SEARCH 30 /* (+ aflt info) */
544 #define RQ_LBS_1X_ACQ 31
545 #define RQ_NST_POWERUP 32
546 #define RQ_NST_EXIT 33
547 #define RQ_FULL_SYSTIME_GET 34
548 #define RQ_NST_FER_CFG 35
549 #define RQ_NST_RX_MEAS_CFG 36
550 #define RQ_NST_TX_MEAS_CFG 37
551
552 /* Status indication for different WBIOS Reports */
553 #define ENG_IND_ANTENNA_REQ_GRANTED 57
554 #define ENG_IND_ANTENNA_REQ_DENIED 58
555 #define ENG_IND_ANTENNA_RELEASED 59
556 #define ENG_IND_PILOT_ACQUIRE 60
557 #define ENG_IND_NO_PILOT 61
558 #define ENG_IND_SYNC_ACQUIRE_FAIL 62
559 #define ENG_IND_SYNC_TO_SYS_TIME 63
560 #define ENG_IND_SYNC_TO_SYS_TIME_FAIL 64
561 #define ENG_IND_PAGE_MONITOR 65
562 #define ENG_IND_PAGE_MONITOR_FAIL 66
563 #define ENG_IND_SEND_ACCESS_MSG_FAIL 67
564 #define ENG_IND_SEND_TC_MSG 68
565 #define ENG_IND_SEND_TC_MSG_FAIL 69
566 #define ENG_IND_TC_CONFIG 70
567 #define ENG_IND_LONG_CODE_CHANGED 71
568 #define ENG_IND_RADIO_TUNED 72
569 #define ENG_IND_RADIO_NOT_TUNED 73
570 #define ENG_IND_PILOT_LOST 74
571 #define ENG_IND_PUF_PROBE_SENT 75
572 #define ENG_IND_PUF_PROBE_SENT_MAX_PWR 76
573 #define ENG_IND_PUF_PROBE_NOT_SENT 77
574 #define ENG_IND_WAKEUP 78
575 #define ENG_IND_PILOT_SET 79
576 #define ENG_IND_IHO_COMPLETE 80
577 #define ENG_IND_OOSA_WAKEUP 81
578 #define ENG_IND_TC_TO_AVC_HO_START 82
579 #define ENG_IND_BCCH_MONITOR 83
580 #define ENG_IND_BCCH_MONITOR_FAIL 84
581 #define ENG_IND_FCCCH_MONITOR 85
582 #define ENG_IND_FCCCH_MONITOR_FAIL 86
583 #define ENG_IND_HO_FAIL 87
584 #define ENG_IND_FORCE_BAND_MODE 88
585 #define ENG_SYS_RESCAN_TIME 89
586 #define ENG_IND_DISABLE_E911MODE 90
587 #define ENG_IND_RSCH_STARTED 91
588
589 #define ENG_IND_SYNC_CSS_FAIL 92
590 #define ENG_IND_SYNC_CSS_PASS 93
591 #define ENG_IND_FSCH_STARTED 94
592 #define ENG_IND_FSCH_TERMINATED 95
593 #define ENG_SYS_REDIRECTION_END_TIME 96
594 #define ENG_IND_FORCE_ANALOG_MODE 97
595 #define ENG_IND_IDLE_HANDOFF_ACQUIRE 99 /* and from CPB6.0 Hans Christiansen 080404 */
596
597/* Engine event notification request types for use in CALLBACK */
598 #define ENG_NULL_EVENT 100 /* event complete indicator */
599 #define ENG_IND_TIMEOUT 101 /* CP timer expiry indicator */
600 #define ENG_SYNC_MESSAGE 102 /* SYNC message received ind. */
601 #define ENG_PAGE_MESSAGE 103 /* PCH message received ind. */
602 #define ENG_FTC_MESSAGE 104 /* FTC message received ind. */
603 #define ENG_FCSCH_LOST 105 /* forword common control Ch lost ind. */
604 #define ENG_IDLE_HANDOFF 106 /* Idle handoff request ind. */
605 #define ENG_REGISTRATION_REQ 107 /* Registration access request */
606 #define ENG_ACCESS_FAIL 108 /* Access attempt failed */
607 #define ENG_FTC_N5M_FRAMES 109 /* Rcvd N5m consecutive good frames */
608 #define ENG_ACCESS_PSIST_FAIL 110 /* PSIST calculation = 0 */
609 #define ENG_FTC_LOST 111 /* FTC fade timer timed out */
610 #define ENG_IND_ACK_RECEIVED 112 /* Ack rcvd for a transmitted msg */
611 #define ENG_STRONGEST_PILOT_REPORT 113 /* Strongest pilot report */
612 #define ENG_ACCESS_HO_CANDIDATE 114 /* Access Entry HO candidate found */
613 #define ENG_ACCESS_HO_NO_CANDIDATE 115 /* no Access Entry HO candidate */
614 #define ENG_ACCESS_HO_LIST 116 /* access ho list pilot report */
615 #define ENG_ACCESS_PROBE_HO_FAIL 117 /* access probe ho fail ind. */
616 #define ENG_ACCESS_HO_DENIED 118 /* access ho attempt not allowed */
617 #define ENG_READ_ACCESS_OVERHEAD 119 /* selected overhead read after ho */
618 #define ENG_ACCESS_PROBE_FAIL 120 /* access probe too big */
619 #define ENG_IND_TC_ACK_FAILURE 121 /* TC transmission ACK failure */
620 #define ENG_IND_ACCESS_PILOT_MSMT 122 /* pilot msmt report in access */
621 #define ENG_START_SYS_RESELECT 123 /* Start Sys Reselect Procedures */
622
623 #define ENG_ACCESS_MODE_SEARCH_FAIL 125 /* access mode determination fail */
624 #define ENG_BCCH_MESSAGE 126 /* FCCCH message received ind. */
625 #define ENG_FCCCH_MESSAGE 127 /* BCCH message received ind. */
626 #define ENG_ACCESS_HANDOFF 128 /* Access handoff request ind. */
627
628 #define ENG_IND_QPCH_PI_STATUS 129 /* PI Status */
629 #define ENG_IND_SOFT_HO_COMPLETE 130
630 #define ENG_IND_HARD_HO_COMPLETE 131
631 #define ENG_IND_E911_ACCESS_FAIL 133 /* E911 Access Fail */
632 #define ENG_IND_AFLT_RESULT_RCVD 134 /* AFLT Srch Rslt Rcvd from L1d */
633 #define ENG_IND_OOSA_REQ 135
634 #define ENG_IND_MODEM_FAILURE 136
635 #define ENG_IND_MODEM_READY 137
636 #define ENG_IND_CLK_CAL_START 138
637 #define ENG_IND_CLK_CAL_DONE 139
638
639 #define ENG_IND_CSS_OTASP_ACQ_REQ 150
640 #define ENG_IND_CSS_SELECT_RSP 151
641 #define ENG_IND_CSS_VALIDATE_RSP 152
642 #define ENG_IND_CSS_SYS_ACQ_REQ 153
643
644 #define ENG_IND_FREEZE 154
645 #define ENG_IND_THAW 155
646 #define ENG_IND_RESYNC 156
647 #define ENG_IND_RESYNC_DENIED 157
648
649#ifdef MTK_DEV_C2K_IRAT
650 #define ENG_IND_RSVAS_VIRTUAL_SUSPEND 160 /* inform to stop inter-freq meas if any*/
651 #define ENG_IND_RSVAS_RESUME 161 /* inform to start inter-freq meas if any */
652 #define ENG_IND_RSVAS_OCCUPY_IND 162 /* inform to start access procedure */
653 #define ENG_IND_EXIT_PS_REQ 163 /* inform to exit 1x PS during C2L MPSR procedure */
654 #define ENG_IND_L1D_RAKE_DDL_CNF 164 /* inform thant L1D rake ddl has complete */
655 #define ENG_IND_CSS_FORCE_POWER_DOWN 165 /* inform to do power down flow */
656 #define ENG_IND_LOCAL_RELEASE 166 /* inform PE to do local release */
657#endif
658
659 #define ENG_IND_AMPS_VOICEACT 200
660 #define ENG_IND_AMPS_FSULOCK 202
661 #define ENG_IND_AMPS_RSSIVAL 203
662 #define ENG_IND_AMPS_FOCC 204
663 #define ENG_IND_AMPS_FVC 205
664 #define ENG_IND_AMPS_SCC 206
665 #define ENG_IND_AMPS_TXSTATUS 207
666 #define ENG_IND_AMPS_CARRIERSTATUS 208
667 #define ENG_IND_AMPS_CHANFORMAT 209
668 #define ENG_IND_AMPS_POWERLEVEL 210
669 #define ENG_IND_AMPS_WBIOS_INIT_COMPLETE 211 /* Wbios initialization completed */
670 #define ENG_IND_AMPS_HO_COMPLETE 212
671 #define ENG_IND_EPRL_ESPM_TIMEOUT 213
672 #define ENG_IND_MANUAL_AVOID_SYS 214
673 #define ENG_IND_L1D_DEACTIVE_CNF 215
674 #define ENG_IND_L1D_INIT_CNF 216
675 #define ENG_IND_L1D_OOSA_CNF 217
676 #define ENG_IND_LOCK_ORDER 218
677 #define ENG_IND_UNLOCK_ORDER 219
678 #define STARTUP_OOSA_TRAP_DURATION 1200 /* 120 seconds */
679
680 /* The following defines are used internally by the engine. */
681 /*==========================================================*/
682
683 /* Set Engine supported operating mode by OR'ing supported modes */
684
685 /* Support for PCS and Cellular CDMA */
686 #define ENG_OP_MODE ( OP_MODE0 + OP_MODE1 )
687
688 #define ENG_AMPS_START_SCAN 200 /* Start AMPS channel scanner */
689 #define ENG_AMPS_SCAN_COMPLETE 201 /* Channel scan complete */
690 #define ENG_AMPS_OMT 203 /* OMT received */
691 #define ENG_AMPS_FILLER 204 /* Control Filler received */
692 #define ENG_AMPS_MSCM 205 /* MSCM received */
693 #define ENG_AMPS_SMS_CNF 206 /* MSCM received */
694 #define ENG_AMPS_AWI_SMS_CNF 207 /* MSCM received */
695 #define ENG_NO_IDLE_HANDOFF 210 /* No Idle handoff request ind */
696 #define ENG_UIM_AUTHR 230 /*UIM AUTH Result*/
697 #define ENG_UIM_RANDBS 240
698 #define ENG_UIM_SSD_CONFIRM 241
699#ifdef MTK_CBP_SYNC_OPTIMIZE
700 #define ENG_IND_SIB8_TIMING_CNF 250
701 #define ENG_IND_NO_SIB8_TIMING 251
702#endif /* MTK_CBP_SYNC_OPTIMIZE */
703
704 /* Define protocol revisions */
705 #define CP_P_REV_IS95B 4 /* IS-95B revision level */
706
707/*
708 * Updated Data Mask Bits Defined
709 */
710
711#ifndef NAM_UPDATED
712#define NAM_UPDATED 0x01
713#define IMSI_UPDATED 0x02
714#define MDN_UPDATED 0x04
715#define AUTH_UPDATED 0x08
716#define SSPR_UPDATED 0x10
717#endif
718
719#define STATUS_UPDATED 0x20 /* used by OTASP */
720
721
722/*****************************************************************************
723 * Engine structure definition
724 ****************************************************************************/
725
726 /* Reconnect Message Service Configuration synchronization identifier */
727 #define CP_MAX_SYNC_ID 4
728
729 /* CDMA Structure Definitions */
730 /*==========================================================*/
731
732 /* structure to contain origination parameters */
733 typedef struct
734 {
735 PswCallModeT callMode; /* voice call type */
736 kal_uint8 requestMode; /* requested call type */
737 kal_bool specialService; /* special service option requested */
738 kal_uint16 serviceOption; /* requested service option */
739 kal_bool encoded; /* digits encoded indication */
740 kal_bool digitMode; /* digit encoding indicator */
741 kal_uint8 numberType; /* type of number */
742 kal_uint8 numberPlan; /* numbering plan */
743 char *digits; /* ascii digits, null terminated string */
744 kal_uint8 numDigits; /* number of digits to be dialled */
745
746 kal_bool sendCallingPartyNumber;
747 CallingPartyNumber callingPartyNumber;
748 kal_uint8 OtaspMode;
749
750 kal_bool MultipleCallingPartyNum;
751 kal_bool SendCallingPartySubaddr;
752 Subaddress CallingPartySubaddr;
753 kal_bool SendCalledPartySubaddr;
754 Subaddress CalledPartySubaddr;
755 } OrigParms;
756
757
758 /* Call Processing Request structure */
759 typedef struct
760 {
761 kal_uint8 type; /* Call Processing request type */
762 union
763 {
764 PswIs95NamT *nam; /* Enable Request: NAM Data */
765 OrigParms *origParms; /* Originate Parameters */
766 RTCContDTMFData *contDTMFParms; /* Continuous DTMF Parms */
767 RTCBurstDTMFData *burstDTMFParms; /* Burst DTMF Parameters */
768 RTCFlashData *flashParms; /* Flash Parameters */
769 DataBurstData *dataBurstParms; /* Data Burst Parameters */
770 /* R.Sattari, 9/7/00, added */
771 SessionType *afltParms; /* AFLT Request, LocSrv Data */
772 } requestInfo;
773 } CPRequest;
774
775 typedef CPRequest CP_REQUEST; /* for compatibility with IS-136 */
776
777 typedef struct
778 {
779 CHANNEL_DESC selectRspData;
780 PswCssValidationRsltT ValidateRspData;
781 }CssParameters;
782
783 /* structure to contain idle handoff parameters */
784 typedef struct
785 {
786 HOPilotInfo pilotInfo;
787 kal_uint8 nghbrConfigType; /* NLM, ENLM, GNLM, or UNLM */
788 kal_uint8 nghbrConfig; /* 000, 001, 010, or 011 */
789 kal_bool immediateHo;
790 kal_bool bcchSupported;
791 } IdleHOParms;
792
793 /* Message Transmitter notification structure */
794 typedef struct
795 {
796 RTCMessageType msgType;
797 ReverseOrderCode order;
798 } MTXNotify;
799 /* UIM Auth Result notification structure */
800 typedef struct
801 {
802 kal_uint16 Sw;
803 kal_uint32 result;
804 kal_uint16 caveMsgId;
805 } AuthResult;
806
807 /* Engine initialization data */
808 typedef struct
809 {
810 kal_bool rateSet1Supported; /* Indicates if rate set 1 is used */
811 kal_uint8 rateSet1ForRates; /* Rate set 1 supported forward rates */
812 kal_uint8 rateSet1RevRates; /* Rate set 1 supported reverse rates */
813 kal_bool rateSet2Supported; /* Indicates if rate set 2 is used */
814 kal_uint8 rateSet2ForRates; /* Rate set 2 supported forward rates */
815 kal_uint8 rateSet2RevRates; /* Rate set 2 supported reverse rates */
816 kal_uint8 *muxOptions; /* null term. list of supported options */
817 kal_uint16 *serviceOptions; /* null term. list of supported services */
818 } EngInit;
819
820 /* Engine Callback Notification Message structure. */
821 /* This structure is used internally by the engine. */
822 /*==========================================================*/
823 typedef struct
824 {
825 kal_uint8 type; /* Notification type */
826 union
827 {
828 kal_uint8 timer; /* Expired Timer Number */
829 PswIs95NamT *nam; /* Current NAM parameters */
830 void *messageP; /* pointer to any message type */
831 kal_uint8 regType; /* registration type */
832 OrigParms *origParms; /* Originate Parameters */
833 RTCFlashData *flashParms; /* Flash Parameters */
834 IdleHOParms *idleHOParms; /* pilot info for Idle HO */
835 RTCContDTMFData *contDTMFParms; /* Continuous DTMF Parms */
836 RTCBurstDTMFData *burstDTMFParms; /* Burst DTMF Parameters */
837 DataBurstData *dataBurstParms; /* Data Burst Parameters */
838 MTXNotify notify; /* MTX Notification */
839 AuthResult authr;
840 HOAccessHOList *accessHoList; /* access ho list msmt report */
841 CssParameters CssParms;
842 kal_bool piStatus; /* Status of Pi Signal */
843 SessionType *afltParms; /* AFLT Request, LocSrv Data */
844 } typeInfo;
845 } Callback;
846
847 typedef Callback CALLBACK; /* for compatibility with IS-136 */
848
849
850 typedef enum
851 {
852 TM_CAND_FREQ_SEARCH_REQUEST, /* Candidate Frequency Search Request */
853 TM_CAND_FREQ_SEARCH_CONTROL /* Candidate Frequency Search Control */
854 } TMInjectMsgType;
855
856
857 typedef struct
858 {
859 TMInjectMsgType msgType; /* Injected message type */
860 union
861 {
862 CFSRQMData* cfsrqmData;
863 CFSCNMData* cfscnmData;
864 } type;
865 } TMInjectMsg;
866
867
868 typedef struct
869 {
870 kal_uint8 schId;
871 kal_uint16 schBadFrames;
872 kal_uint16 schTotFrames;
873
874 } CPSchPmrmParms;
875
876 typedef struct
877 {
878 kal_bool fchMeasIncl;
879 kal_uint8 fchBadFrames;
880 kal_uint16 fchTotFrames;
881 kal_bool dcchMeasIncl;
882 kal_uint8 dcchBadFrames;
883 kal_uint16 dcchTotFrames;
884 kal_uint8 numForSch;
885 CPSchPmrmParms schPmrmParms[ CP_MAX_FOR_SCH ];
886 } CPPmrmParms;
887
888 /* Data structure for Silent Retry info */
889 typedef struct
890 {
891 kal_bool enabled;
892 kal_uint8 numAttempts;
893 kal_uint32 interval;
894 kal_uint32 timeToAbort;
895 } SilentRetryInfo;
896
897 typedef struct
898 {
899 kal_bool origInd;
900 kal_bool syncIdIncl;
901 kal_uint8 syncIdLen;
902 kal_uint8 syncId[ CP_MAX_SYNC_ID ];
903 kal_uint16 serviceOption;
904 kal_uint8 srId;
905 } ReconnectParms;
906
907#ifdef MTK_DEV_C2K_IRAT
908 typedef enum
909 {
910 CSFB_STATE_NULL, /* No CSFB action */
911 CSFB_STATE_MT_INIT, /* There is a pending CSFB request to send in MT */
912 CSFB_STATE_MO_INIT, /* There is a pending CSFB request to send in MO */
913 CSFB_STATE_WAIT, /* Wait CSFB confirm */
914 CSFB_STATE_IDLE, /* In the call procedure, need send CSFB stop when call finish */
915 } CsfbState;
916#endif
917#ifdef MTK_CBP_REL_OPTIMIZE
918 typedef struct
919 {
920 kal_bool isOrigPended;
921 OrigParms OriginalParms;
922 }PendingOrigParms;
923#endif
924/*****************************************************************************
925 * Engine Callback function prototypes
926 ****************************************************************************/
927
928
929 /* CDMA Callback function protypes */
930 /*==========================================================*/
931 void engInitialize(void);
932 void engRelayCPRequest(CPRequest *request);
933 void engRelaySCServiceConfigurationRequest (ServiceConfiguration* servCfg);
934 void engRelaySCServiceOptionRequest (kal_uint16 serviceOption);
935 void engRelayPageFrameIndication(PageFrame *frame);
936
937 void engRelayPilotMeasureReport (kal_int16 pilotSeq, kal_uint16 referencePN,
938 PilotReport *report);
939 void engRelayL1dAccessPreambleComplete(WbiosSystime sendtime);
940 void engRelayL1dAccessProbeComplete(WbiosSystime finishTime);
941
942 void engRelayReportStatus(kal_uint8 status);
943 void engRelaySyncFrameIndication(SyncFrame *frame);
944 void engRelayIdleHandoff(kal_uint16 pilotPN);
945 void engRelayTCFrameIndication (TCFrame *frame);
946 void engTimerExpired(kal_int16 timerId);
947
948 void engRelayMultiplexParameters (MuxParmsT* MuxParms);
949 void engRelayTestMode(TestModeMsgT mode, kal_uint16 qualifier, kal_uint16 value);
950 void engRelayTMInjectMsg (TMInjectMsg* tmInjectMsg);
951 /* Emergency Mode Processing */
952 void engRelayE911Mode(kal_bool E911Mode);
953 void engRelayMsCapDb( const MsCapDb* pMsCapDb );
954 void engRelayHspdActiveControlHold
955 (
956 const Ds_HspdActiveControlHoldType newHspdState
957 );
958
959 void engRelayRschRelInd( const kal_uint16 remainDuration );
960
961/* Hans-082802 verify who is using this ?
962 void engRelayDataBufferStatus
963 (
964 const kal_uint8 srId,
965 const kal_uint16 dataSize
966 );
967 */
968
969 void engRelayRevSchRequest
970 (
971 const kal_uint8 srId,
972 const SchRateIndex prefRate,
973 const kal_uint16 duration
974 );
975
976 void cpRunTheEngine(Callback *engRequest);
977 kal_bool cpEngIsOrigQueued(void);
978 void engRelayPMRMParams ( const CPPmrmParms* pPmrm );
979 void engRelayOuterLoopReportReqParams (OuterLoopRepData *outerLoopRepData);
980 void cpSetWakeData(PswCmdStatusMsgT *wakeStatusMsgPtr);
981 void engRelayCDMACandFreqSearchReport(CFSearchReport *srchReport);
982 void engRelayCDMACandFreqSearchTimes(CFSearchTimes *srchTimes);
983 void engRelayCandFreqStart (void);
984 void engRelayCandFreqStop (kal_uint8 numFrames);
985
986 void engRelayNghbrPilotAboveTAdd (HOTCPilot* pilot);
987 void engRelayRemainingPilotAboveTAdd (HOTCPilot* pilot);
988
989 void engRelaySetAccessHoParams(
990 const kal_uint8 noiseFloor,
991 const kal_uint8 thrMin,
992 const kal_uint8 minAct,
993 const kal_uint8 thrSlope );
994
995 void engRelaySetIdleHoParameters
996 (
997 const kal_uint8 ThrMinImmed,
998 const kal_uint8 MinActImmed,
999 const kal_uint8 ThrSlopeImmed,
1000 const kal_uint8 ThrMinDelayed,
1001 const kal_uint8 MinActDelayed,
1002 const kal_uint8 ThrSlopeDelayed,
1003 const kal_uint8 DelayCount,
1004 const kal_uint8 MinNghbrThr
1005 );
1006
1007 void engRelayServOptionControlResp ( kal_uint8 conRef, kal_uint16 serviceOption,
1008 kal_uint8 length, kal_uint8* ctlRec);
1009
1010 kal_uint32* engRelayGetL2RTCStats (void);
1011 void engRelayGetPrlInfo(NamNumber namNumber);
1012 void engRelayGetNam(void);
1013 void engRelayWriteNam(NamNumber namNumber);
1014 kal_bool tmContinuousBCCH(void);
1015
1016/*****************************************************************************
1017 * Misc. function prototypes
1018 ****************************************************************************/
1019 void setIMSI(PswIs95NamT* Nam);
1020
1021 /* AMPS Callback function protypes */
1022 /*==========================================================*/
1023
1024 void engRelaySetTempAkey(kal_uint8 *akey);
1025 void engRelayDiscardTempAkey(void);
1026 void engRelayCommitAkey(void);
1027 void engRelayNamChanged(kal_uint8 whatsChanged);
1028 void engRelaySyncCssDone(kal_bool indication);
1029 void engRelayGetRetrievableStatistics(GetRetrievableParameterMsgT *msgDataPtr);
1030 void engRelaySetRetrievableStatistics(SetRetrievableParameterMsgT *MsgDataPtr);
1031 void engRelayMmiChangedNam(kal_uint32 whatChangedInNam, NamNumber namNumber);
1032 void engRelayForceAnalogMode(void);
1033 void engRelayGetPSInfo(void);
1034
1035 void engRelaySRSetSilentRetryMsg(kal_bool enable, kal_uint8 num, kal_uint32 interval, kal_uint32 abort);
1036 SilentRetryInfo* engRelayGetSRInfo(void);
1037 void engRelaySRGetSilentRetryStatusMsg(PswGetSilentRetryStatusMsgT *MsgP);
1038 void engRelaySRSetAccessIsOrig(kal_bool orig);
1039 void engRelaySRIncSilentRetryAttempt(void);
1040
1041 void engRelayDataBufferStatus(RcDataBufferStatusMsgT *msgPtr);
1042 void engRelayDbTxInd(kal_uint8 retry);
1043
1044 void engRelayInitialAcqPwr(PswInitialAcqReportMsgT *MsgP);
1045
1046 void engRelayAlternatePilots(PswL1dAlternatePilotsMsgT* msgPtr);
1047 void engRelaySysSettingsChanged(void);
1048 void engRelaySysManualAvoid(void);
1049
1050 void engRelaySetLostScanPingFreq( kal_uint8 Geo_Scan_Ping_Frequency,
1051 kal_uint8 Non_Geo_Scan_Ping_Frequency );
1052 kal_bool PswIsVoiceServiceAllowed( void );
1053 void PswInitIsVoiceSupported( void );
1054 void engRelaySetSystemSelect( kal_bool val );
1055 kal_bool engRelayGetSystemSelect( void );
1056 void engRelaySysManualAvoid(void);
1057
1058#ifdef MTK_DEV_C2K_IRAT
1059 void cpSetCsfbState(CsfbState state);
1060 CsfbState cpGetCsfbState(void);
1061 kal_bool cpIsCSFBNeeded(void);
1062 void cpSetPsProtectReqFlag(kal_bool hasSent);
1063 kal_bool cpGetPsProtectReqFlag(void);
1064 void cpSetEsrProtectMsgFlag(kal_bool hasSent);
1065 kal_bool cpGetEsrProtectMsgFlag(void);
1066 void cpSetTxIsOngoing(kal_bool TxIsOngoing);
1067 kal_bool cpGetTxIsOngoing(void);
1068 void cpSetPsReleaseIsPended(kal_bool CssRsvasPsRelease);
1069 kal_bool cpGetPsReleaseIsPended(void);
1070#endif
1071#ifdef MTK_CBP_REL_OPTIMIZE
1072 void cpSetPendingOrigParms(kal_bool pending, OrigParms *originalParms);
1073 PendingOrigParms* cpGetPendingOrigParms(void);
1074#endif
1075
1076#endif /* _ENGINE_H_ */
1077
1078