rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame] | 1 | /***************************************************************************** |
| 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 | |