blob: 7f2827071e3783c4973211d0a793d3e50f2537d0 [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) 2007
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 * mrs_as_enums.h
40 *
41 * Project:
42 * --------
43 * Multimode
44 *
45 * Description:
46 * ------------
47 *
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 * ----------------------------------------------------------------------------
54 * removed!
55 *
56 * removed!
57 * removed!
58 * removed!
59 * removed!
60 *
61 * removed!
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
70 *
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 *
77 * removed!
78 * removed!
79 *
80 * removed!
81 * removed!
82 * removed!
83 *
84 * removed!
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 *
92 * removed!
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 * removed!
101 *
102 * removed!
103 * removed!
104 * removed!
105 * removed!
106 *
107 * removed!
108 * removed!
109 * removed!
110 *
111 * removed!
112 * removed!
113 * removed!
114 *
115 * removed!
116 * removed!
117 * removed!
118 *
119 * removed!
120 * removed!
121 *
122 * removed!
123 * removed!
124 * removed!
125 * removed!
126 *
127 * removed!
128 * removed!
129 * removed!
130 *
131 * removed!
132 * removed!
133 * removed!
134 *
135 * removed!
136 * removed!
137 * removed!
138 *
139 * removed!
140 * removed!
141 * removed!
142 * removed!
143 *
144 * removed!
145 * removed!
146 *
147 * removed!
148 * removed!
149 * removed!
150 *
151 * removed!
152 * removed!
153 * removed!
154 * removed!
155 *
156 * removed!
157 * removed!
158 * removed!
159 *
160 * removed!
161 * removed!
162 * removed!
163 *
164 * removed!
165 * removed!
166 * removed!
167 *
168 * removed!
169 * removed!
170 * removed!
171 *
172 * removed!
173 * removed!
174 * removed!
175 *
176 * removed!
177 * removed!
178 * removed!
179 *
180 * removed!
181 * removed!
182 * removed!
183 *
184 * removed!
185 * removed!
186 * removed!
187 * removed!
188 * removed!
189 * removed!
190 * removed!
191 * removed!
192 *
193 * removed!
194 * removed!
195 * removed!
196 *
197 * removed!
198 * removed!
199 * removed!
200 *
201 * removed!
202 * removed!
203 * removed!
204 *
205 * removed!
206 * removed!
207 * removed!
208 * removed!
209 * removed!
210 * removed!
211 * removed!
212 *
213 * removed!
214 * removed!
215 * removed!
216 *
217 * removed!
218 * removed!
219 * removed!
220 *
221 * removed!
222 * removed!
223 * removed!
224 *
225 * removed!
226 * removed!
227 * removed!
228 *
229 * removed!
230 * removed!
231 * removed!
232 *
233 * removed!
234 * removed!
235 * removed!
236 *
237 * removed!
238 * removed!
239 * removed!
240 *
241 * removed!
242 * removed!
243 * removed!
244 * removed!
245 ******************************************************************************/
246#ifndef _MRS_AS_ENUMS_H
247#define _MRS_AS_ENUMS_H
248
249#include "global_def.h"
250#include "l3_inc_enums.h"
251#include "ps_public_enum.h"
252#include "mrs_as_inter_core_enum.h"
253#include "mrs_as_irat_enums.h"
254
255typedef enum
256{
257 INITIAL,
258 SHARED,
259 OCCUPIED
260}lower_layer_availability_enum;
261
262#if defined(__GEMINI__)
263#define MAX_GAS_CAPABILITY MAX_GSM_NUM
264#define MAX_UAS_CAPABILITY MAX_UMTS_NUM
265#define MAX_EAS_CAPABILITY MAX_LTE_NUM
266#define MAX_MM_CAPABILITY MAX_GSM_NUM /* assume GSM number > UMTS number */
267#define MAX_EMM_CAPABILITY MAX_LTE_NUM
268#ifdef __FIVEG_NAS__
269#define MAX_VGNAS_CAPABILITY MAX_SIM_NUM
270#endif /* __FIVEG_NAS__ */
271#define MAX_CAS_CAPABILITY 1
272#ifdef __NR_RAT__
273#define MAX_NRAS_CAPABILITY MAX_NR_NUM
274#endif /* __NR_RAT__ */
275#else
276#define MAX_GAS_CAPABILITY 1
277#define MAX_UAS_CAPABILITY 1
278#define MAX_EAS_CAPABILITY 1
279#define MAX_MM_CAPABILITY 1
280#define MAX_EMM_CAPABILITY 1
281#ifdef __FIVEG_NAS__
282#define MAX_VGNAS_CAPABILITY 1
283#endif /* __FIVEG_NAS__ */
284#define MAX_CAS_CAPABILITY 1
285#ifdef __NR_RAT__
286#define MAX_NRAS_CAPABILITY 1
287#endif /* __NR_RAT__ */
288#endif
289
290#define MAX_ASSOCIATION_LAI_CELL_INFO 12
291#define MAX_ASSOCIATION_SAME_LAI_CELL_INFO 24
292
293/* For fast resume and Search info. reuse for mode switch. */
294#define SI1_RAW_VALID 0x01 //00000001
295#define SI2_RAW_VALID 0x02 //00000010
296#define SI2BIS_RAW_VALID 0x04 //00000100
297#define SI3_RAW_VALID 0x08 //00001000
298#define SI4_RAW_VALID 0x10 //00010000
299#define SI13_RAW_VALID 0x20 //00100000
300#define SI1_EXIS 0x80 //10000000
301#define SI2SERIES_RAW_VALiD 0x06 //00000110 si2 & si2bis
302#define ALL_SI_RAW_VALID 0xbf //10111111
303#ifdef __PS_SERVICE__
304#define GAS_FAST_MODE_SWITCH_VALID_SI 0xbf //10111111
305#else
306#define GAS_FAST_MODE_SWITCH_VALID_SI 0x9f //10011111
307#endif
308#define GAS_SI_RAW_DATA_LEN 20
309
310
311#ifdef __GAS_STORED_SI_FEAT__
312#define RRM_MAX_SI2TER_INSTANCES 8
313#define RRM_SI2TER_REST_LEN 4
314#define RRM_MAX_SI2QUARTER_INSTANCES 16
315#define RRM_SI2QUARTER_REST_LEN 20
316#define RRM_MAX_SIZE_OF_GAS_STORED_SI_LIST 8
317#define GAS_CANDIDATE_TICK_INIT (0xFFFFFFFF)
318#endif
319
320#define AFR_MASK_2G4 0x0001
321#define AFR_MASK_3G4 0x0002
322#define AFR_MASK_2G5_FDD 0x0004
323#define AFR_MASK_2G5_TDD 0x0008
324#define AFR_MASK_3G5_FDD 0x0010
325#define AFR_MASK_3G5_TDD 0x0020
326#define AFR_MASK_4G5 0x0040
327
328/* Already in l3_inc_enums.h
329typedef enum
330{
331 DEL_CSG,
332 ADD_CSG
333}csg_update_type_enum;
334*/
335
336typedef enum
337{
338 NO_CHANGE,
339 ALLOWED_CSG_LIST_CHANGED,
340 OPERATOR_CSG_LIST_CHANGED,
341 BOTH_CSG_LIST_CHANGED
342}white_list_update_type;
343
344/* Already in ps_public_enum.h
345typedef enum
346{
347 NOT_IN_WHITE_LIST,
348 ALLOWED_CSG,
349 OPERATOR_CSG,
350 UNAUTH_OPERATOR_CSG
351}csg_type_enum;
352*/
353
354typedef enum
355{
356 ALLOWED_CSG_LIST,
357 OPERATOR_CSG_LIST
358}csg_list_type_enum;
359
360typedef enum
361{
362 SIM_NEW_INSERTED,
363 SIM_FILE_UPDATED,
364 AS_UPDATED
365}csg_white_list_update_cause;
366
367typedef enum
368{
369 CSFB_REDUCE_LAU = 1,
370 CSFB_DEFER_SI13,
371 CSFB_2G_AFR,
372 CSFB_3G_AFR,
373 CSFB_2G_FDD_eCSFB,
374 CSFB_3G_FDD_eCSFB,
375 CSFB_2G_TDD_eCSFB,
376 CSFB_3G_TDD_eCSFB,
377 CSFB_ENHANCEMENT_ITEM_END
378}csfb_enhancement_enum;
379
380typedef enum
381{
382 BAND_39_DISABLE,
383 BAND_39_ENABLE
384}band_39_control_enum;
385
386typedef enum
387{
388 BAND_DISABLE,
389 BAND_ENABLE
390}eas_band_control_enum;
391
392typedef enum
393{
394 BG_SEARCH_2G4_FDD,
395 BG_SEARCH_3G4_FDD,
396 BG_SEARCH_2G4_TDD,
397 BG_SEARCH_3G4_TDD,
398 BG_SEARCH_2G5_FDD,
399 BG_SEARCH_3G5_FDD,
400 BG_SEARCH_2G5_TDD,
401 BG_SEARCH_3G5_TDD,
402 BG_SEARCH_4G5
403}background_search_enum;
404
405typedef enum
406{
407 MRS_GAS_FAST_MODE_SWITCH_NOT_ALLOWED = 0x00, //Initial value
408 MRS_GAS_FAST_MODE_SWITCH_COLLECTING_ESSENTIAL_SI = 0x01 << 0, //RATCM_GAS_SYS_INFO not sent or still receiving essential SI
409 MRS_GAS_FAST_MODE_SWITCH_ESSENTIAL_SI_COLLECTED = 0x01 << 1, //RATCM_GAS_SYS_INFO sent
410 MRS_GAS_FAST_MODE_SWITCH_NOT_HAPPENED = 0x01 << 2, // DUPLEX mode change not happened
411 MRS_GAS_FAST_MODE_SWITCH_HAPPENED = 0x01 << 3, // DUPLEX mode change happened
412 MRS_GAS_FAST_MODE_SWITCH_NOT_HAPPENED_WO_SI = MRS_GAS_FAST_MODE_SWITCH_COLLECTING_ESSENTIAL_SI
413 + MRS_GAS_FAST_MODE_SWITCH_NOT_HAPPENED,
414 MRS_GAS_FAST_MODE_SWITCH_HAPPENED_BUT_WO_SI = MRS_GAS_FAST_MODE_SWITCH_COLLECTING_ESSENTIAL_SI
415 + MRS_GAS_FAST_MODE_SWITCH_HAPPENED,
416 MRS_GAS_FAST_MODE_SWITCH_NOT_HAPPENED_W_SI = MRS_GAS_FAST_MODE_SWITCH_ESSENTIAL_SI_COLLECTED
417 + MRS_GAS_FAST_MODE_SWITCH_NOT_HAPPENED,
418 MRS_GAS_FAST_MODE_SWITCH_ALLOWED = MRS_GAS_FAST_MODE_SWITCH_ESSENTIAL_SI_COLLECTED
419 + MRS_GAS_FAST_MODE_SWITCH_HAPPENED,
420} mrs_gas_fast_mode_switch_status_enum;
421
422typedef enum
423{
424 MODULE_NONE,
425 MODULE_ERRC_RCM,
426 MODULE_ERRC_CEL,
427 MODULE_ERRC_SPV,
428 MODULE_UAS_FDD,
429 MODULE_UAS_TDD,
430 MODULE_GAS_FDD,
431 MODULE_GAS_TDD,
432 MODULE_C2K
433#ifdef __NR_RAT__
434 ,
435 MODULE_NRRC_IDLE,
436 MODULE_NRRC_BACKGROUND,
437 MODULE_NRRC_NCONN,
438 MODULE_NRRC_MAIN
439#endif /* __NR_RAT__ */
440}function_caller_id_enum;
441
442typedef enum
443{
444 STATE_NONE=0,
445 CHINA_MCC
446}mrs_sim_band_cfg_state_enum;
447
448typedef enum
449{
450 DISABLE_BAND_STATE_NONE = 0,
451 DISABLE_BAND_7_38,
452 DISABLE_BAND_NULL_BAND
453}mrs_plmn_band_cfg_state_enum;
454
455typedef enum
456{
457 PARTIAL_BAND_SETTING_NONE = 0,
458 CHINA_PARTIAL_BAND_SETTING,
459 JAPAN_PARTIAL_BAND_SETTING
460}mrs_sim_partial_band_cfg_state_enum;
461
462typedef enum
463{
464 CUSTOM_DISABLE_BAND_BY_PLMN_NONE = 0,
465 CUSTOM_DISABLE_BAND_BY_PLMN,
466 CUSTOM_DISABLE_BAND_BY_PLMN_NULL_BAND
467}mrs_custom_disable_band_by_plmn_state_enum;
468
469typedef enum
470{
471 PLMN_REGION_BAND_SETTING_NONE=0,
472 PLMN_REGION_BAND_SETTING,
473 PLMN_REGION_BAND_SETTING_NULL_BAND
474}mrs_plmn_region_band_cfg_state_enum;
475
476typedef enum
477{
478 AS_RELEASE_INVALID=0,
479 AS_RELEASE_REL9,
480 AS_RELEASE_REL10,
481 AS_RELEASE_REL11,
482 AS_RELEASE_REL12,
483 AS_RELEASE_REL13,
484 AS_RELEASE_REL14,
485 AS_RELEASE_REL15
486}mrs_as_release_enum;
487
488typedef enum
489{
490 CSFB_CALL_STATUS_UNKNOWN=0,
491 CSFB_CALL_SUCCESS,
492 CSFB_CALL_FAILURE
493}mrs_gas_ecsfb_call_status_enum;
494
495typedef enum
496{
497 AFR_2G4,
498 AFR_3G4,
499 AFR_2G5_FDD,
500 AFR_2G5_TDD,
501 AFR_3G5_FDD,
502 AFR_3G5_TDD,
503 AFR_4G5,
504 AFR_ENHANCEMENT_ITEM_END
505}afr_enhancement_enum;
506
507typedef enum
508{
509 SRVC_VOICE_TRIGGER_AT_5G,
510 SRVC_VOICE_TRIGGER_AT_4G,
511 SRVC_SS_TRIGGER_AT_5G,
512 SRVC_SS_TRIGGER_AT_4G,
513 SRVC_CSFB_TRIGGER_AT_4G,
514 SRVC_EPSFB_TRIGGER_AT_5G,
515 SRVC_LPP,
516 SRVC_EMERGENCY,
517 SRVC_CELLULAR_CALL,
518 AFR_SRVC_MAX_NUM
519}afr_service_enum;
520
521typedef enum
522{
523 PROC_CSFB_FROM_4G,
524 PROC_SRVCC_FROM_4G,
525 PROC_EPSFB_FROM_5G,
526 PROC_SRVCC_FROM_5G,
527 AFR_PROC_MAX_NUM
528}afr_pre_cond_proc_enum;
529
530typedef enum
531{
532 IRAT_PINGPONG_4G3=0, /* When the RAT Change between 4G & 3G, inclding 4G3 and 3G4 */
533 IRAT_PINGPONG_4GC2K, /* When the RAT Change is 4G to C2K, but C2K to 4G is MPSR */
534 IRAT_PINGPONG_4G2, /* When the RAT Change between 4G & 2G, inclding 4G2 and 2G4 */
535// IRAT_PINGPONG_3G2, /* When the RAT Change between 3G & 2G, inclding 3G2 and 2G3 */
536 IRAT_PINGPONG_4G5, /* When the RAT Change between 4G & 5G, inclding 4G5 and 5G4 */
537 IRAT_PINGPONG_TYPE_NUM
538}mrs_irat_pingpong_type_enum;
539
540typedef enum
541{
542 MRS_GEMINI_DSDS_MODE,
543 MRS_GEMINI_DR_DSDS_MODE,
544 MRS_GEMINI_DSDA_MODE,
545}mrs_gemini_mode_enum;
546
547
548typedef enum
549{
550 /* MRS_FEAT_IGNORE_REDIRECT_TO_LTE:
551 * - Usage: Ignore the redirection to LTE if no suitable cell could be found.
552 * [EAS] ERRC would set this feature to TRUE if continous redirection failures are detected.
553 * [UAS] 3G TDD would query if needed to ignore the redirection. */
554 MRS_FEAT_IGNORE_REDIRECT_TO_LTE=0,
555 MRS_FEAT_NUM
556}mrs_feature_enum;
557
558typedef enum
559{
560 MRS_AFR_STRICT_CONSTRAIN_SEARCH_NOT_TRIGGERED,
561 MRS_AFR_STRICT_CONSTRAIN_SEARCH_TRIGGERED,
562 MRS_AFR_STRICT_CONSTRAIN_SEARCH_TRIGGERED_AND_FAILED
563}mrs_afr_strict_constrain_state;
564
565
566#define MRS_FEAT_BITMAP_SIZE ( (MRS_FEAT_NUM % 8 == 0)? (MRS_FEAT_NUM/8) : (MRS_FEAT_NUM/8 + 1) )
567
568#if (CUR_GEN >= MD_GEN97)
569typedef enum
570{
571 MRS_GEMINI_STATUS_FULL_CAP,
572 MRS_GEMINI_STATUS_DATA_SIM,
573 MRS_GEMINI_STATUS_NON_DATA_SIM,
574 MRS_GEMINI_STATUS_INVALID
575} mrs_gemini_status_enum;
576#endif /* (CUR_GEN >= MD_GEN97) */
577typedef enum
578{
579 MRS_AS_CAPA_NONE =0,
580 MRS_AS_CAPA_ERRC_NSA_MODE_ASN_DECODE_ERROR =1,
581 MRS_AS_CAPA_ERRC_NSA_MODE_IE_ERROR =2,
582 MRS_AS_CAPA_EMM_TAU_TAI_CHANGED =3,
583 MRS_AS_CAPA_EMM_DETACH_REQ = 4
584}mrs_as_capa_event_enum;
585
586typedef enum
587{
588 MRS_AS_CAPA_FEATURE_DISABLE_NSA = 0, /*bit 0 of mrs_capability_change_info.capability_change_feature_enable_state*/
589
590 MRS_AS_CAPA_FEATURE_INVALID
591}mrs_as_capa_change_feature_enum;
592
593#endif /* _MRS_AS_ENUMS_H */