blob: c20c7717617457c44186ece9320d3edc65fea3b4 [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) 2012
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 * Filename:
38 * ---------
39 * nwsel_eval_struct.h
40 *
41 * Project:
42 * --------
43 * MOLY
44 *
45 * Description:
46 * ------------
47 * message and common structure definition between NWSEL and EVAL module
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ==========================================================================
54 * $Log$
55 *
56 * 02 08 2022 ot_suresha.m
57 * [MOLY00761475] [Tonga] Patch Request - MOLY00680766
58 *
59 * .
60 *
61 * 12 16 2021 rahamtulla.mulla
62 * [MOLY00774161] [mt2735][CS eCall][NG eCall][patch back] ecall patch back from NR15.R3.MD700.MP.ECAll.DEV.
63 *
64 * 12 04 2020 wen.zhuang
65 * [MOLY00591485] [MT6853][Mouton][VzW][Pre-LRA][MP7 must][HQ][RnS][LTE][DR][2.4]Fail at step 18 - UE does not send RACH attempt within WaitTime
66 *
67 * .
68 *
69 * 11 26 2020 ken.lu
70 * [MOLY00591485] [MT6853][Mouton][VzW][Pre-LRA][MP7 must][HQ][RnS][LTE][DR][2.4]Fail at step 18 - UE does not send RACH attempt within WaitTime
71 *
72 * .
73 *
74 * 07 30 2020 chengyu.chen
75 * [MOLY00545502] [MT6853][Mouton][MP6][R3][Q0][SQC][China][Shanghai][CU FT][NSA][MDST][SWIFT]mtkrild:AT command pending too long. assert!!! AT cmd: EPSCONFIG
76 * Don't know why there's always a file being modified after I submitted it to P4....
77 *
78 * 05 25 2020 lucien.li
79 * [MOLY00526454] [Gen97][UNITE][5G][SA][HEAT][EMER][R15_SA_IRAT_ECC_ESFB_3]EMM_CALL for TAU ¡§active¡¨ flag not set problem.
80 * [L4C] add call_current_rat in CALL_STATUS_IND
81 *
82 * 05 19 2020 chengyu.chen
83 * [MOLY00524216] [Gen97][VZW][E2E] Code sync request from Gen93 to Gen97
84 * [MPD][R3.MP][Out of Vlist] ECBM re-arch on Gen97
85 *
86 * 05 07 2020 harry.chang
87 * [MOLY00511199] (VMOLY)[A21 NA][MTK] Please implement the feature for IPC_NET_NETWORK_SCAN
88 * [NWSEL] IPC_NET_NETWORK_SCAN
89 *
90 * 01 17 2020 harry.chang
91 * MOLY00470870
92 *
93 * 01 13 2020 harry.chang
94 * [MOLY00470870] [Gen97][VMOLY] Huawei's Gen93 CR patch-back activity
95 * NWSEL reply is_ims_support to EMM
96 *
97 * 12 06 2019 harry.chang
98 * [MOLY00464108] [IMS] T311 timeout local release call patch back
99 * T311 feature patch back
100 *
101 * 12 02 2019 prime.xiao
102 * [MOLY00381008] [Gen97][GMSS] 5G related feature
103 *
104 * .MOLY00366859
105 * MOLY00438399
106 * MOLY00442288
107 * MOLY00442633
108 * MOLY00442781
109 * MOLY00443807
110 *
111 * 07 25 2019 andy.huang
112 * [MOLY00423200] [VMOLY][D2/L4/NAS] Gen93/Gen95 CR sync to Gen97
113 * ia apn change.
114 *
115 * 07 24 2019 norman.chang
116 * [MOLY00424396] [CODE SYNC] ?ªA?¤U¥\¯Óɬ¤Æ¤§·jÊIµ¦²¤
117 * .
118 *
119 * 06 17 2019 shih-che.chou
120 * [MOLY00413860] [NAS_SV/ xMM/ xAS] S1/ N1 mode update
121 * [Interface] cap.update and local release
122 *
123 * 04 13 2019 jerry-yh.chang
124 * [MOLY00399102] [MT6297][Apollo][DCT][SQC][5G][TC_Apollo_DCT_Register_Network_005][EVB] Not show 5G
125 * relay endc_sib_status/endc_available
126 *
127 * 10 24 2018 chinte.chen
128 * [MOLY00360557] [VMOLY][CODE_SYNC] UMOLY code sync to VMOLY
129 * .
130 *
131 * 10 04 2018 james-chi-ju.chang
132 * [MOLY00306148] [NAS] pangu giant CR
133 * .
134 *
135 * 09 26 2018 shih-che.chou
136 * [MOLY00355476] [Gen97][NWSIM][4G][TC_6_3_1][TC_6_3_6][TC_6_4_1] CSG related cases failed
137 * .
138 *
139 * 09 13 2018 jerry-yh.chang
140 * [MOLY00306148] [NAS] pangu giant CR
141 * [EMM][OA Domain] PLMN_SEARCH_STATUS_UPDATE_REQ struct re-arch
142 *
143 * 08 17 2018 yenchih.yang
144 * [MOLY00346658] [VMOLY] Gen97 ERRC-CEL modifications
145 *
146 * 1) ERRC-CEL ENDC support.
147 * 2) MRS ERRC Up to Down Search Information.
148 *
149 * 08 17 2018 james-chi-ju.chang
150 * [MOLY00306148] [NAS] pangu giant CR
151 * interface
152 *
153 * 08 01 2018 chien-li.chou
154 * [MOLY00343510] [Gen95][LR13.R0] R14 Enhanced EUTRAN Sharing
155 *
156 * R14 sys info ind multi TAC and cell id
157 *
158 * 06 26 2018 chien-li.chou
159 * [MOLY00334837] [Gen95] Replace MAX_NUM_HPLMN by MD1_MAX_NUM_HPLMN and fix MAX_NUM_SEARCH_PLMN
160 *
161 * remove MAX_NUM_HPLMN (NWSEL part)
162 *
163 * 04 23 2018 andy.huang
164 * [MOLY00307255] [MT6771][BSP+][O1]Cannot show ECC button when put the device out to shielding room
165 * ECC Icon
166 * .
167 *
168 * 04 18 2018 chien-li.chou
169 * [MOLY00320601] [A70AXL TMO][simulator][US][Protocol][42271]Recover Interrupted File - Sender Interrupted due to network conditions ¡V Sender Resumes fail
170 *
171 * ALPS03864120 do not send IMS_SERVICE_IND when connected OOS end and no reestablishment
172 *
173 * 03 20 2018 sh.yeh
174 * [MOLY00314920] [GEN95][NWSEL]#15 fake cell enhancement
175 * .
176 *
177 * 03 09 2018 chien-li.chou
178 * [MOLY00307748] Sprint RMS ALFMS01265379
179 *
180 * Sprint requirement - add is higher plmn search in PLMN list
181 *
182 * 03 02 2018 puneet.t
183 * [MOLY00310959] [CODE SYNC] [Gen93] TELCEL CC33 (MM NWSEL interface change part)
184 * TELCEL patch back to UMOLYE
185 *
186 * 11 29 2017 harry.chang
187 * [MOLY00292927] [MT6755][TMO-US][N0+MP5][2017Q3][Simulation][Anritsu][IMS][L_IMS_VoLTE_43003_3]Fail at step2.
188 * .
189 *
190 * 11 28 2017 chien-li.chou
191 * [MOLY00292082] [Gen93][TMO] 2G disable with ecc enable
192 * Dummy check-in for auto-sync
193 *
194 * 11 28 2017 chien-li.chou
195 * [MOLY00292082] [Gen93][TMO] 2G disable with ecc enable
196 * 2G disable (NWSEL interface and SBP part)
197 *
198 * 11 02 2017 harry.chang
199 * [MOLY00286282] [Gen93][Network Search+CDMA-less+plmn-loss Optimization] Code merge from LR12 to LR12A.R3
200 * .
201 *
202 * 08 31 2017 harry.chang
203 * [MOLY00274693] [Gen93][Network Search Optimization] Code Merge from LR11 to UMOLYA TRUNK
204 *
205 * NWSEL part
206 *
207 * 08 30 2017 chien-li.chou
208 * [MOLY00274799] [MT6763][C2K][OM6M][Regression][Titan case] too long time and hang up automatically when dialing 110 (UMOLYA)
209 * Send regn_status_update_req to EMM when emc_session_ongoing
210 *
211 * 08 29 2017 harry.chang
212 * [MOLY00274167] [Copy MOLY00262171][CDMA-less][LR12] main CR
213 * NWSEL part
214 *
215 * 08 24 2017 kelly.lo
216 * [MOLY00273395] [Bianco][N1][MTK FT][SRLTE][CT 6M C][SH][Random]APN protocol changing issue(TRUNK & R2)
217 *
218 * ia_apn_change (interface) (OA)
219 *
220 * 08 17 2017 harry.chang
221 * [MOLY00271671] [Copy MOLY00259858][Rose][Vinson][N1]The ECC call will can't be dial out success.(5/5)
222 * .
223 *
224 * 04 05 2017 mw.hsu
225 * [MOLY00223961] [93] Remove EMM's C2K context maintenance for GMSS LWCG search flow
226 * Patch NWSEL M3 related features: remove LC mode and remove EMM LC context.
227 *
228 * 02 09 2017 mw.hsu
229 * [MOLY00228375] [copy MOLY00220113][6292][Gemini][LG+WG] SBP_CSFB_DUPLEX_CHG_FOR_LG_MODE / SBP_DUPLEX_MODE_CHG_AFTER_CSFB / AT+ETWMODE
230 * .
231 *
232 * 01 17 2017 mw.hsu
233 * [MOLY00224986] [MT6293][R13 DoS] rename MARCO and ENUM
234 * .
235 *
236 * 12 21 2016 mw.hsu
237 * [MOLY00220167] [NWSEL] check in B66 related modification
238 * .
239 *
240 * 11 08 2016 mw.hsu
241 * [MOLY00211920] [6293] MOLY00190308 merge to UMOLYA
242 * .
243 *
244 * 09 26 2016 mw.hsu
245 * [MOLY00205124] [NWSEL] sync R12/R13 feature to UMOLYA
246 * .
247 *
248 * 09 26 2016 sh.yeh
249 * [MOLY00205082] EMM_REG merge from UMOLYA-PS-DEV to UMOLYA
250 * sync MOLY187316 CL2614331, MOLY00141896 CL2648845.
251 *
252 * 06 24 2016 mw.hsu
253 * [MOLY00186459] [MT6293] [NWSEL] UMOLY merge to UMOLYA.
254 *
255 * 05 27 2016 james-chi-ju.chang
256 * [MOLY00175925] sync LR11 to UMOLY
257 * SP01 sync to UMOLY (missing part)
258 *
259 * 05 23 2016 james-chi-ju.chang
260 * [MOLY00179411] [Denali1+][CT 6M C][IR][Macau][Free Test]If UE uses China Telecom 4G SIM card, can not roam to Macao 4G network
261 * .
262 *
263 * 05 17 2016 mark.ng
264 * [MOLY00179023] Allowable Registration Area List Feature V2 Check In
265 * ARAL 2.0 interface
266 *
267 * 04 26 2016 sherry.kuo
268 * [MOLY00175925] sync LR11 to UMOLY
269 * .
270 *
271 * 04 26 2016 tim.huang
272 * [MOLY00172111] [PH1_VZW][joint-camp][Protocol] [E911] TC 2.8. failure. No ESR
273 * .
274 *
275 * 04 26 2016 tim.huang
276 * [MOLY00167450] [PH1_VZW][joint-camp][Radio][hVoLTE][Blocking] TC 2.1.10.2 - At step5, in the TAU Request message, there is not "UE radio capability information update needed" field
277 * .
278 *
279 * 10 28 2015 tim.huang
280 * [MOLY00147169] [Rose]The CT card camp on 2G all time after switch data to CT card.
281 * .
282 *
283 * 10 19 2015 james-chi-ju.chang
284 * [MOLY00145708] [Jade-L][SRLTE][CT OM 6M][LTE IOT][FT][SH][ALU][Random]?ºÝ¦b3G¤U¡A¥X?¤£¯à?¦æPS©MCS??
285 * .
286 *
287 * 10 07 2015 yc.chen
288 * [MOLY00141417] [Jade-L][SRLTE][LTE IOT][FT][SH][ZTE][random]±µ¦¬±m«H¦Z?«Ì EE,0,0,99,/data/core/,1,modem,md1
289 * .
290 *
291 * 10 05 2015 panu.peisa
292 * [MOLY00142657] [VzW][VZ_REQ_e911_30203] RAL and MRU cell band info update implementation to 6291
293 * Integrated CLs 1690397 and 1690428 from LR11_VzW.
294 *
295 *
296 * 09 30 2015 marko.akselin
297 * [MOLY00142657][VzW] VZ_REQ_e911_30203 - Add band information into NWSEL - EVAL interface.
298 * .
299 *
300 * 07 27 2015 kun-lin.wu
301 * [MOLY00107136] [Denali-1] force success flag in C2L_TRANSFER_REQ
302 *
303 * 07 03 2015 tim.huang
304 * [MOLY00125845] [JADE] SRLTE related design
305 * .
306 *
307 * 06 18 2015 james-chi-ju.chang
308 * [MOLY00122048] [6795] Request new feature to improve registration time of roaming case
309 * .
310 *
311 * 05 29 2015 ye.yuan
312 * [MOLY00116932] [UMOLY] [NAS]compile option modify
313 * .
314 *
315 * 05 29 2015 kun-lin.wu
316 * [MOLY00117190] PLMN List in CONNECTED Mode
317 *
318 * 04 23 2015 mark.chung
319 * [MOLY00095378] Amazon Requirement
320 * .
321 *
322 * 04 16 2015 james-chi-ju.chang
323 * [MOLY00078264] [UMOLY][R10][R11] NAS check-in from CBr to 6291_DEV
324 * .
325 *
326 * 04 16 2015 carlson.lin
327 * [MOLY00091967] Merge C2K IRAT code
328 * C2K merge (OA, NWSEL EVAL interface)
329 *
330 * 02 23 2015 bob.chiang
331 * [MOLY00096607] Sync C2K CR
332 * .
333 *
334 * 01 09 2015 kun-lin.wu
335 * [MOLY00088493] CMCC���w�V���ѫO�@�u�Ƥ�ï½
336 * 01 06 2015 james-chi-ju.chang
337 * [MOLY00078264] [UMOLY][R10][R11] NAS check-in from CBr to 6291_DEV
338 * .
339 *
340 * 12 17 2014 james-chi-ju.chang
341 * [MOLY00078264] [UMOLY][R10][R11] NAS check-in from CBr to 6291_DEV
342 * .
343 *
344 * 11 10 2014 robert.wu
345 * [MOLY00083874] [UMOLY][R10][R11] EMM MTC sync code from 6291_DEV to UMOLY trunk
346 *
347 * 11 04 2014 james-chi-ju.chang
348 * [MOLY00078264] [UMOLY][R10][R11] NAS check-in from CBr to 6291_DEV
349 * .
350 *
351 * 10 07 2014 james-chi-ju.chang
352 * [MOLY00077752] 4G3G2Gauto�Ҧ��U����\�Ӥj
353 * .
354 *
355 * 09 19 2014 sherry.kuo
356 * [MOLY00077433] [SoMC][K2][LTE] Clear Code #29/#33 feature check in
357 * interface rename to is_esm_attempt_max_times.
358 *
359 * 08 28 2014 sherry.kuo
360 * [MOLY00077433] [SoMC][K2][LTE] Clear Code #29/#33 feature check in
361 * Clear Code 33
362 *
363 * 08 14 2014 jinghan.wang
364 * [MOLY00075318] [4G Gemini][FT][CMCC Case][TDL FT][BJ][5.4.6][CMCC+CMCC] [K2 Alpha][Regression 1]ping���q��ping�q43.61s,��ɬ�_?����Ficon��ping�q27.92s�A��??���� [FOCUS ISSUE]
365 * Change full_band_search to full_band_searched_3g_status & full_band_searched_4g
366 *
367 * 07 07 2014 benjamin.kuo
368 * [MOLY00071459] Add Mobility Management for IMS Voice Termination
369 * MMIVT2MOLY
370 *
371 * 07 02 2014 shaowu.huang
372 * [MOLY00070824] [4G Gemini][FT][BJ][CSFB test][case5.1.1][SIM1 CMCC+SIM2 CMCC][4G,3G,2Gע��ʱ�Ӿ�ϳ�]
373 * .
374 *
375 * 06 19 2014 roy.lin
376 * [MOLY00069512] �iCMCC Official �Ĥ@?�J? �j�iZTE Q507T�j�i���n�j�i?1-Critical�j�i�D�Ψҡj??��L-�D�Ψ�-��?��?"APN"?�A�I?�ݱ`
377 * Update interface for PS detach without disable EUTRAN.
378 *
379 * 06 09 2014 tuan-che.chen
380 * [MOLY00068767] [MT6290] Recovery to other RAT after 4G OOS speed up
381 * add full_band_search
382 *
383 * 01 21 2014 wcpuser_integrator
384 * [MOLY00054475] SGLTE option rename
385 * .
386 *
387 * 01 14 2014 sherry.kuo
388 * [MOLY00052313] [Customer requested feature] 4G factory mode arfcn
389 * Merging from //MOLY_CBr/maruco.tu/MOLY_CBr.factory/mcu/modem/...
390 *
391 * 01 13 2014 james-chi-ju.chang
392 * [MOLY00037567] [VOLTE] IMS NWSEL IT
393 * Merging
394 *
395 * //MOLY_CBr/ben.chiu/MOLY_VOLTE.PHASE2.DEV/mcu/...
396 *
397 * to //MOLY/TRUNK/MOLY/mcu/...
398 *
399 * 08 19 2013 sherry.kuo
400 * [MOLY00009250] [LTE Multimode] NWSEL check in
401 * MT last PDN deactivation.
402 *
403 * 07 24 2013 benjamin.kuo
404 * [MOLY00031020] [MMDS_DC] Merge MMDC interface to MOLY
405 * .
406 *
407 * 07 24 2013 benjamin.kuo
408 * [MOLY00031020] [MMDS_DC] Merge MMDC interface to MOLY
409 * .
410 *
411 * 07 10 2013 shaowu.huang
412 * NAS REJECT CAUSE interface, MM<->EMM,MM<->NWSEL,MM<->MM
413 * 07 15 2013 sherry.kuo
414 * [MOLY00029775] [MT6290E1][NAS RTD][MM][FDD] EMM_PLMNSEL_doesn't_report_sys_info
415 * add search_type to search_status_update_req_struct
416 *
417 * 03 27 2013 benjamin.kuo
418 * [MOLY00011934] LTE MM IT CBr merge to MOLY
419 * .
420 *
421 * 03 14 2013 tuan-che.chen
422 * [MOLY00009163] LTE Multimode merge back to MOLY
423 * merge back to MOLY.
424 *
425 * 02 04 2013 sherry.kuo
426 * [MOLY00009250] [LTE Multimode] NWSEL check in
427 * td-fdd lte separate nwsel interface.
428 *
429 * 01 22 2013 benjamin.kuo
430 * [MOLY00009163] LTE Multimode merge back to MOLY
431 *
432 * 01 22 2013 benjamin.kuo
433 * [MOLY00009163] LTE Multimode merge back to MOLY
434 *
435 * 01 22 2013 benjamin.kuo
436 * [MOLY00009163] LTE Multimode merge back to MOLY
437 * MOLY_CBr to MOLY.
438 ****************************************************************************/
439
440
441#ifndef _NWSEL_EVAL_STRUCT_INC
442#define _NWSEL_EVAL_STRUCT_INC
443
444
445#include "nwsel_eval_enums.h"
446#include "l3_inc_local.h"
447#include "ps_public_enum.h"
448#include "l3_inc_enums.h"
449#include "irat_common_enums.h"
450#include "ims_common_def.h"
451#include "c2k_irat_msg_struct.h"
452#include "nas_sv_struct.h"
453#include "ps_public_struct.h"
454
455
456/***** common structure definition *****/
457typedef struct
458{
459 nas_proc_enum emm_proc;
460 lr_result_enum lr_result;
461 mm_cause_enum lr_cause;
462 esm_cause_enum esm_cause;
463 kal_uint8 attempt_counter;
464 kal_bool is_esm_attempt_max_times;
465 additional_update_result_enum additional_update_result;
466 eps_attach_update_result_enum eps_attach_update_result;
467 kal_bool is_ims_vops_support;
468 lte_duplex_type_enum lte_type;
469//CR1917: REL12 feature, use REL11 temporarily
470 /* is_eutran_not_allowed should be checked only when Reject#15. Disable E-UTRAN if #15 and this field is True. */
471 kal_bool is_eutran_not_allowed;
472 kal_bool is_ps_reattach;
473 kal_bool is_service_request_max_times;
474 kal_bool is_t3402_valid;
475 kal_uint16 t3402;
476 kal_bool is_rach_fail_max_times;
477 integ_protect_status_enum is_integ_protected;
478 kal_uint8 invalid_cs_sim_counter;
479 kal_uint8 invalid_ps_sim_counter;
480 /* use to identify the TA is change or not when TAU/Combined TAU */
481 kal_bool is_mobility_tau;
482//#ifdef __REL10__ // persistent EPSB
483 kal_bool is_persistent_EPS_bearer_exist;
484//#endif
485 kal_bool is_emc_bs_support;
486} proc_result_only_struct;
487
488/***** message structure definition *****/
489typedef struct
490{
491 LOCAL_PARA_HDR
492 kal_uint8 trx_id;
493 plmn_search_type_enum plmn_search_type;
494 lte_duplex_type_enum lte_type;
495 kal_uint8 plmn_id_count;
496 plmn_id_struct plmn_id[MAX_NUM_SEARCH_PLMN];
497 kal_bool is_manual_sel; // if search is manual selection
498 kal_bool force_to_release;
499 kal_bool is_manual_csg_sel; // identify if the csg_id below is valid
500 kal_uint32 csg_id;
501 kal_bool trigger_by_signal_appear;
502 kal_bool is_higher_plmn_search;
503 kal_uint32 factory_mode_arfcn; //0xFFFFFFFF means invalid arfcn - do normal search. For fast camp on test machine
504 kal_bool is_power_on; //for CMCC case 5.1.1: is first search after power on
505 kal_bool is_mpsr_trigger; //for VzW MPSR expired based improvement
506 scan_type_enum scan_type;
507 search_period_enum search_period; // only a suggestion value for RAT switch.
508 /**< Number of valid items in the KAL/MRU list. */
509 kal_uint8 num_items;
510 /**< RAL/MRU list */
511 cell_band_info_struct ral_mru_list_info [SYS_MAX_MRU_LIST_NUM];
512 kal_bool is_resel_shared_nw; // R13 feature, TS24.301 CR2100
513 kal_bool is_quick_search;
514 kal_bool is_all_stored;
515 found_mcc_info_struct found_mcc_info;
516 // NWSEL search ANY and this flag set to True, ERRC will only find LTE with IMS support.Otherwise, ERRC report Not_Found
517 kal_bool force_ims_ecc_cell;
518} nwsel_eval_plmn_search_req_struct;
519
520typedef struct
521{
522 LOCAL_PARA_HDR
523 kal_uint8 trx_id;
524 plmn_search_result_enum result;
525 kal_bool full_band_searched_4g; // for NWSEL to decide if 2nd round PLMN search is necessary when PLMN is not found
526 kal_bool is_eas_plmn_list_present;
527 as_plmn_list_struct eas_plmn_list;
528 kal_uint8 multi_plmn_count;
529 plmn_id_struct multi_selected_plmn[MAX_NUM_MULTI_PLMN];
530 as_cell_type_enum multi_selected_cell_type[MAX_NUM_MULTI_PLMN];
531 scan_type_enum scan_type;
532 kal_bool is_stored_list_exist; // only for stored search not for fullband + fullband and stored
533 fullband_result_enum is_fullband_finished;
534 kal_bool is_quick_search;
535} nwsel_eval_plmn_search_cnf_struct;
536
537typedef struct
538{
539 LOCAL_PARA_HDR
540 kal_uint8 multi_plmn_count;
541 plmn_id_struct multi_plmn_id[MAX_NUM_MULTI_PLMN];
542 as_cell_type_enum multi_cell_type[MAX_NUM_MULTI_PLMN];
543 /// source from cell reselection or search
544 found_ind_source_enum source;
545} nwsel_eval_plmn_found_ind_struct;
546
547typedef nwsel_nas_sv_search_status_update_req_struct nwsel_eval_search_status_update_req_struct;
548
549typedef struct
550{
551 LOCAL_PARA_HDR
552 kal_bool is_user_plmn_list_ongoing;
553} nwsel_eval_plmn_list_status_update_req_struct;
554
555//#ifdef __VOLTE_SUPPORT__
556typedef struct
557{
558 LOCAL_PARA_HDR
559 kal_bool prefer_ims_emergency;
560} nwsel_eval_search_preference_update_req_struct;
561//#endif
562
563typedef struct
564{
565 LOCAL_PARA_HDR
566 kal_uint16 gibi_tag;
567 plmn_id_struct plmn_id;
568 kal_uint8 ta_code[2];
569 kal_uint32 cell_id; // NWSEL chooses the cell_id and sends back to EMM. Requested by EMM
570 as_cell_type_enum cell_type;
571 hplmn_status_enum hplmn_status;
572 fplmn_status_enum fplmn_status;
573 kal_bool is_in_eq_plmn_list;
574 csg_access_mode_enum csg_access_mode;
575 csg_info_struct csg_info;
576//#if defined( __VOLTE_SUPPORT__) || defined (UNIT_TEST)
577 kal_bool ims_emergency_support;
578//#endif
579 kal_uint16 band; /* MOLY00142657 VZ_REQ_e911_30203, band for VzW RAL and MRU */
580 kal_bool match_op_cfg;
581 endc_sib_status_enum endc_sib_status; /* "endc_sib_status" will be set to "ENDC_SIB_STATUS_SUPPORT" if the corresponding
582 * bit of selected PLMN in PLMN-InfoList-r15 from SIB2 is TRUE.
583 */
yu.donge372c322023-08-30 20:25:04 -0700584 kal_bool endc_available; /* "endc_available" wil be set to TRUE if any bit in PLMN-InfoList-r15 from SIB2 is TRUE */
585 kal_bool endc_band_ue_supported; /* TRUE: UE support at least 1 ENDC combo with attached LTE cell band */
rjw6c1fd8f2022-11-30 14:33:01 +0800586#ifdef __NG_ECALL_SUPPORT__
587 kal_bool ecall_over_ims_support;
588#endif
589} nwsel_eval_sys_info_update_req_struct;
590
591
592typedef struct
593{
594 LOCAL_PARA_HDR
595 event_type_enum event_type_bitmask;
596 update_eplmn_struct eplmn_info;
597 proc_result_only_struct proc_result_only;
598 update_param_struct update_param;
599
600} nwsel_eval_regn_result_ind_struct;
601
602
603typedef struct
604{
605 LOCAL_PARA_HDR
606 regn_proc_status_enum mm_proc_status; // indicate if MS is in limited or no service
607 plmn_search_status_enum plmn_search_status;
608 plmn_search_type_enum plmn_search_type;
609 // sniff RPLMN
610 // only valid when the conditions hold
611 // plmn_search_status == PLMN_SEARCH_UNRELATED
612 // mm_proc_status == (MS_IN_NO_SERVICE || MS_IN_LIMITED_SERVICE)
613 kal_uint8 plmn_id_count;
614 plmn_id_struct plmn_id[MAX_NUM_SEARCH_PLMN];
615 kal_bool is_send_to_as;
616 kal_bool other_rat_found_notify_4G;
617} nwsel_eval_regn_status_update_req_struct;
618
619typedef struct
620{
621 LOCAL_PARA_HDR
622 network_scan_4g_output_struct nw_scan_4g_output;
623} nwsel_eval_plmn_scan_ind_struct;
624
625typedef struct
626{
627 LOCAL_PARA_HDR
628 kal_bool is_manual_list;
629 lte_duplex_type_enum lte_type;
630 kal_uint8 plmn_id_count;
631 plmn_id_struct plmn_id[MAX_NUM_SEARCH_PLMN];
632 scan_type_enum scan_type;
633 kal_bool is_mpsr_trigger; //for VzW MPSR expired based improvement
634 kal_bool is_higher_plmn_search;
635 found_mcc_info_struct found_mcc_info;
636 kal_bool list_endc_info; /* LIST ENDC info or not for LTE cell. ERRC will collect SIB2 for PLMN_LIST. */
637} nwsel_eval_plmn_list_req_struct;
638
639
640typedef struct
641{
642 LOCAL_PARA_HDR
643 as_plmn_list_struct eas_plmn_list;
644 kal_bool full_band_searched_4g;
645 scan_type_enum scan_type;
646 plmn_list_result_enum cause;
647} nwsel_eval_plmn_list_cnf_struct;
648
649
650typedef struct
651{
652 LOCAL_PARA_HDR
653 lte_duplex_type_enum lte_type;
654 kal_uint8 plmn_count;
655 plmn_id_struct plmn_id[MAX_NUM_SEARCH_PLMN]; // include RPLMN
656
657} nwsel_eval_csg_list_req_struct;
658
659
660typedef struct
661{
662 LOCAL_PARA_HDR
663 as_csg_list_struct eas_csg_list;
664
665} nwsel_eval_csg_list_cnf_struct;
666
667
668typedef struct
669{
670 LOCAL_PARA_HDR
671 domain_id_enum conn_domain;
672 kal_bool is_waiting_cell; //RRC connection release, no cell case, need to wiat ERRC to report a new cell
673 kal_bool is_t311_expire; /* RRC connection release due to RRC T311 timer expire */
674} nwsel_eval_out_of_service_ind_struct;
675
676
677typedef struct
678{
679 LOCAL_PARA_HDR
680 as_plmn_list_struct eas_plmn_list;
681 full_band_searched_enum full_band_searched_3g_status;
682 kal_bool full_band_searched_4g;
683 plmn_loss_reason_enum plmn_loss_reason;
684} nwsel_eval_plmn_loss_ind_struct;
685
686//#if defined( __VOLTE_SUPPORT__) || defined (UNIT_TEST)
687typedef struct
688{
689 LOCAL_PARA_HDR
690 kal_uint8 emc_fplmn_count;
691 plmn_id_struct emc_fplmn_list[MAX_NUM_EMC_FPLMN];
692 // band 0 => all band disabled, bar this PLMN
693 kal_uint16 emc_fplmn_band[MAX_NUM_EMC_FPLMN];
694} nwsel_eval_emc_fplmn_list_update_req_struct;
695//#endif
696
697typedef struct
698{
699 LOCAL_PARA_HDR
700 kal_uint8 eq_plmn_count;
701 plmn_id_struct eq_plmn_id[MAX_NUM_EQ_PLMN];
702
703} nwsel_eval_eq_plmn_list_update_req_struct;
704
705
706typedef struct
707{
708 LOCAL_PARA_HDR
709 kal_uint8 plmn_id_count;
710 plmn_id_struct plmn_id[MD1_MAX_NUM_HPLMN];
711 kal_uint8 home_country_mcc[3];
712} nwsel_eval_hplmn_info_update_req_struct;
713
714
715typedef struct
716{
717 LOCAL_PARA_HDR
718 voice_domain_preference_enum eutran_voice_domain_preference;
719 kal_bool is_evdp_changed_by_ims_on_off;
720 ue_mode_enum ue_mode;
721 kal_bool sms_only;
722 voice_domain_preference_enum utran_voice_domain_preference;
723 kal_bool ims_support;
724 /* EMC specific config*/
725 kal_bool is_emc_param_valid;
726 voice_domain_preference_enum emc_voice_domain_preference;
727 ue_usage_setting_enum emc_ue_usage_setting;
728} nwsel_eval_uemode_param_update_req_struct;
729
730typedef struct
731{
732 LOCAL_PARA_HDR
733 kal_uint16 t3402_value; // t3402 value in seconds
734 kal_bool is_reset_t3402_after_5_attempt_to_attach_fail;
735} nwsel_eval_t3402_change_ind_struct; // __REL10__: t3402
736
737//#if defined( __VOLTE_SUPPORT__) || defined (UNIT_TEST)
738typedef struct
739{
740 LOCAL_PARA_HDR
741 kal_bool prefer_ims_emergency;
742} nwsel_eval_plmn_search_preference_update_req_struct;
743
744typedef struct
745{
746 LOCAL_PARA_HDR
747 emc_status_enum emc_status;
748 emc_pdn_status_enum emc_pdn_status;
749} nwsel_eval_emergency_status_update_ind_struct;
750
751
752//#endif // __VOLTE_SUPPORT__
753#if defined(__LTE_RAT__) && (defined(__GSM_RAT__) || defined(__UMTS_RAT__))
754
755typedef errc_sim_protect_req_struct nwsel_eval_power_on_protection_req_struct;
756
757#endif
758
759typedef struct {
760 LOCAL_PARA_HDR
761 eutran_cap_enum eutran_cap; //only use "EUTRAN_DISABLED", for EMM to know if need to reset CService and CExtService
762} nwsel_eval_eutran_cap_update_req_struct;
763
764typedef struct {
765 LOCAL_PARA_HDR
766 plmn_based_timer_enum timer_type;
767 timer_status_enum timer_status;
768 plmn_id_struct target_plmn;
769 plmn_restrict_additional_information_enum event;
770} nwsel_eval_plmn_restriction_change_ind_struct;
771
772typedef struct
773{
774 LOCAL_PARA_HDR
775 //kal_uint8 req_id; //MD3 can only allow one 1XCSFB session
776 c2k_lte_csfb_req_type_enum csfb_req_type;
777} nwsel_eval_c2k_csfb_start_ind_struct;
778
779typedef struct
780{
781 LOCAL_PARA_HDR
782 //kal_uint8 req_id; //MD3 can only allow one 1XCSFB session
783 c2k_lte_csfb_result_enum result;
784} nwsel_eval_c2k_csfb_est_ind_struct;
785
786typedef struct
787{
788 LOCAL_PARA_HDR
789 c2k_lte_csfb_stop_req_type_enum cause;
790} nwsel_eval_c2k_csfb_stop_ind_struct;
791
792
793typedef struct
794{
795 LOCAL_PARA_HDR
796 irat_type_enum irat_type; // new added, for AS triggered iRAT, need to forward IRAT_COMPLETE_REQ to EMM, for GMSS triggered iRAT, no need to forward.
797 c2k_irat_attach_result_enum result;
798} nwsel_eval_c2k_irat_complete_req_struct;
799
800typedef struct
801{
802 LOCAL_PARA_HDR
803 kal_uint8 plmn_id_count;
804 plmn_id_struct plmn_id[MAX_NUM_SEARCH_PLMN];
805 gmss_rat_enum c2k_ps_rat; /* C2K or HRPD */
806} nwsel_eval_c2k_normal_service_req_struct;
807
808typedef struct
809{
810 LOCAL_PARA_HDR
811 kal_bool is_attach_needed;
812} nwsel_eval_irat_c2l_success_notify_ind_struct;
813
814// should be consistent to nwsel_mm_need_duplex_mode_chg_update_req_struct
815typedef struct
816{
817 LOCAL_PARA_HDR
818 rat_type_enum target_rat;
819 kal_uint8 freq_num;
820 kal_uint32 redirect_freq[MAX_REDIRECT_FREQ_NUM];
821 mt_csfb_type_enum mt_csfb_type;
822} nwsel_eval_need_duplex_mode_chg_ind_struct;
823
824typedef struct {
825 LOCAL_PARA_HDR
826 mode_switch_cause_enum cause;
827} nwsel_eval_global_mode_change_start_req_struct;
828
829typedef struct {
830 LOCAL_PARA_HDR
831 rat_enum rat;
832 plmn_id_struct plmn_id;
833 kal_uint16 arfcn;
834 kal_uint16 requested_band;
835} nwsel_eval_set_mru_req_struct;
836
837typedef struct {
838 LOCAL_PARA_HDR
839 set_mru_result_enum result;
840} nwsel_eval_set_mru_cnf_struct;
841
842/* VzW requirement for MRU/RAL, only band/channel */
843typedef struct {
844 LOCAL_PARA_HDR
845 cell_band_info_type_enum type;
846 plmn_id_struct plmn_id;
847 kal_uint16 band;
848} nwsel_eval_cell_band_info_update_ind_struct;
849
850
851typedef struct {
852 LOCAL_PARA_HDR
853 emm_nwsel_event_enum event;
854} nwsel_eval_search_interrupt_event_ind_struct;
855
856typedef struct
857{
858 LOCAL_PARA_HDR
859 kal_bool bEvdoEnterConnection; /* TRUE, means EVDO has been in PS connection state; else, EVDO has been in idle state. */
860} nwsel_eval_evdo_ps_connection_status_ind_struct;
861
862typedef struct
863{
864 LOCAL_PARA_HDR
865 hvolte_mode_enum source_hvolte_mode; /** indicate original hvolte mode */ // enum defined in ims_common_def.h
866 hvolte_mode_enum target_hvolte_mode; /** indicate source hvolte mode */ // enum defined in ims_common_def.h
867 kal_bool is_silent_redial_and_call_ongoing;
868} nwsel_eval_hvolte_mode_change_req_struct;
869
870typedef struct
871{
872 LOCAL_PARA_HDR
873 kal_bool b1xRttEnterConnection; /* TRUE, means 1xRTT has been in PS connection state; else, 1xRTT has been in idle state. */
874} nwsel_eval_1xrtt_ps_connection_status_ind_struct;
875
876
877typedef struct {
878 LOCAL_PARA_HDR
879 aral_op_enum op_code;
880 plmn_id_struct plmn;
881 rat_enum rat;
882 kal_uint8 ara_start[2];
883 kal_uint8 ara_end[2];
884} nwsel_eval_aral_update_req_struct;
885
886typedef struct
887{
888 LOCAL_PARA_HDR
889 call_status_enum call_status;
890 call_type_indication_enum call_type;
891 kal_bool is_flight_mode_on_ecc; // align rac_gmss_call_status_req_struct
892 rat_enum call_current_rat; // the call start/stop current rat
893} nwsel_eval_call_status_ind_struct;
894
895
896typedef struct{
897 LOCAL_PARA_HDR
898 emc_pdn_status_enum emc_pdn_status;
899}nwsel_eval_update_emc_pdn_status_ind_struct;
900
901typedef struct {
902 LOCAL_PARA_HDR
903 rat_enum disable_rat;
904} nwsel_eval_rat_disable_config_req_struct;
905
906typedef ia_apn_change_req_struct nwsel_eval_ia_apn_change_ind_struct;
907
908typedef struct
909{
910 LOCAL_PARA_HDR
911 kal_bool normal_oos_recovery_round_present;
912 kal_uint8 normal_oos_recovery_round; // default value = 5
913 kal_bool inactive_fullband_period_present;
914 kal_uint16 inactive_fullband_period; // default = 200s
915 kal_bool inactive_sniffer_period_present;
916 kal_uint8 inactive_sniffer_period; // default = 30s
917 kal_bool is_inactive_mode_present;
918 kal_bool is_inactive_mode; // True: enter inactive mode, False: leave inactive mode
919} nwsel_eval_inactive_mode_configuration_req_struct;
920
921typedef struct
922{
923 LOCAL_PARA_HDR
924 kal_bool is_over_inactive_mode_threshold;
925} nwsel_eval_service_recovery_round_update_req_struct;
926
927typedef struct {
928 LOCAL_PARA_HDR
929 kal_bool is_dan_sms_start;
930} nwsel_eval_send_dan_sms_ind_struct;
931
932typedef struct {
933 LOCAL_PARA_HDR
934 kal_uint16 gibi_tag;
935}nwsel_eval_discard_sys_info_update_req_struct;
936#endif /* ----- #ifndef _NWSEL_EVAL_STRUCT_INC ----- */
937