blob: db2e7bc37bcf8100d1ab1291ad4abde840173a93 [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_struct.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 *
59 * removed!
60 * removed!
61 *
62 * removed!
63 * removed!
64 *
65 * removed!
66 * removed!
67 *
68 * removed!
69 * removed!
rjw2b1408e2022-12-19 11:19:29 +080070 *
71 * removed!
72 * removed!
rjw6c1fd8f2022-11-30 14:33:01 +080073 * removed!
74 *
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 * removed!
88 * removed!
89 *
90 * removed!
91 * removed!
92 * removed!
93 *
94 * removed!
95 * removed!
96 * removed!
97 * removed!
98 *
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 * removed!
115 *
116 * removed!
117 * removed!
118 * removed!
119 *
120 * removed!
121 * removed!
122 * removed!
123 *
124 * removed!
125 * removed!
126 * removed!
127 *
128 * removed!
129 * removed!
130 * removed!
131 *
132 * removed!
133 * removed!
134 * removed!
135 *
136 * removed!
137 * removed!
138 * removed!
139 * removed!
140 *
141 * removed!
142 * removed!
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 * removed!
181 * removed!
182 * removed!
183 * removed!
184 * removed!
185 *
186 * removed!
187 * removed!
188 * removed!
189 *
190 * removed!
191 * removed!
192 * removed!
193 * removed!
194 * removed!
195 * removed!
196 * removed!
197 * removed!
198 *
199 * removed!
200 * removed!
201 *
202 * removed!
203 * removed!
204 * removed!
205 *
206 * removed!
207 * removed!
208 * removed!
209 *
210 * removed!
211 * removed!
212 * removed!
213 *
214 * removed!
215 * removed!
216 * removed!
217 *
218 * removed!
219 * removed!
220 * removed!
221 *
222 * removed!
223 * removed!
224 * removed!
225 * removed!
226 ******************************************************************************/
227#ifndef _MRS_AS_STRUCT_H
228#define _MRS_AS_STRUCT_H
229
230#include "mrs_as_enums.h"
231#include "mrs_as_inter_core_struct.h"
232#include "kal_public_defs.h"
233#include "global_type.h"
234#include "l3_inc_enums.h"
235#include "mcd_l3_inc_struct.h"
236#include "ps_public_enum.h"
237
238#define AFR_FREQ_MAX_NUM 8
239#define MAX_NUM_MULTI_MCC 6
240
241#ifdef __NR_RAT__
242#define EUTRA_MULTI_BANDS_MAX_NUM (8)
243#define EUTRA_NS_PMAX_LIST_MAX_NUM (8)
244#endif /* __NR_RAT__ */
245
246#define MRS_NRAS_EUTRAN_FEATURE_SETS_MAX_NUM (256) // 36.331 maxFeatureSets-r15
247#define MRS_MAX_AFR_FREQ_NUM 64
248#define MRS_AFR_TO_4G_TIMER 2000 //msec
249#define MRS_AFR_TO_5G_TIMER 2000 //msec
250
251#define AS_PINGPONG_THRESHOLD_MAX 8 /* if IRAT Change fount exceeds threshold, PINGPONG confirmed */
252
253#define MRS_MAX_CC_NUM 8
254#define MAX_NUM_VALID_MCC_REGIONS 22
255#define MAX_NUM_VALID_MCC_REGION_PLMNS 55
256#define NVRAM_EF_AS_GSM_BAND_SETTING_SIZE 1
257#define NVRAM_EF_AS_FDD_UMTS_BAND_SETTING_SIZE 4
258#define NVRAM_EF_AS_LTE_BAND_SETTING_SIZE 32
259
260#define MRS_COMPILE_TIME_ASSERT(e) ((void)sizeof(char[1-2*!(e)]))
261
262/* MRS uses this primitive to inform AS about white list change */
263typedef struct {
264 LOCAL_PARA_HDR
265 csg_white_list_update_cause update_cause;
266 kal_bool acsgl_changed;
267 kal_bool ocsgl_changed;
268} mrs_as_csg_white_list_update_ind_struct;
269
270/* MRS uses this primitive to synch LLA status with AS */
271typedef struct {
272 LOCAL_PARA_HDR
273 //lower_layer_availability_enum l1_availibility_status;
274} mrs_lower_layer_availability_update_ind_struct;
275
276/* GAS synch LLA status with MRS */
277typedef struct {
278 LOCAL_PARA_HDR
279 lower_layer_availability_enum l1_availibility_status;
280} mrs_gas_lower_layer_availability_update_req_struct;
281
282/* UAS synch LLA status with MRS */
283typedef struct {
284 LOCAL_PARA_HDR
285 lower_layer_availability_enum l1_availibility_status;
286} mrs_uas_lower_layer_availability_update_req_struct;
287
288/* EAS synch LLA status with MRS */
289typedef struct {
290 LOCAL_PARA_HDR
291 lower_layer_availability_enum l1_availibility_status;
292} mrs_eas_lower_layer_availability_update_req_struct;
293
294/* Inform GAS band setting is changed */
295typedef struct {
296 LOCAL_PARA_HDR
297} mrs_gas_band_setting_update_ind_struct;
298
299/* Inform UAS band setting is changed */
300typedef struct {
301 LOCAL_PARA_HDR
302} mrs_uas_band_setting_update_ind_struct;
303
304/* Inform EAS band setting is changed */
305typedef struct {
306 LOCAL_PARA_HDR
307} mrs_eas_band_setting_update_ind_struct;
308
309/* Inform EAS band contral */
310typedef struct {
311 LOCAL_PARA_HDR
312 kal_uint16 band;
313 eas_band_control_enum ctrl_info;
314} mrs_eas_band_ctrl_ind_struct;
315
316
317typedef struct mrs_plmn_id
318{
319 kal_uint8 mcc1;
320 kal_uint8 mcc2;
321 kal_uint8 mcc3;
322 kal_uint8 mnc1;
323 kal_uint8 mnc2;
324 kal_uint8 mnc3;
325} mrs_plmn_id;
326
327typedef struct
328{
329 kal_uint8 plmn_id_len;
330 mrs_plmn_id plmn_id[MAX_NUM_MULTI_PLMN];
331} mrs_plmn_id_list;
332
333/* Used to store EHPLMN ID List in SIM card */
334typedef struct
335{
336 kal_uint8 plmn_id_len;
337 mrs_plmn_id plmn_id[MD1_MAX_NUM_HPLMN];
338} mrs_ehplmn_id_list;
339
340/* MRS notifies UAS of the transmission of INTER RAT HANDOVER INFO in GSM */
341typedef struct {
342 LOCAL_PARA_HDR
343} mrs_uas_umts_ho_info_rsp_struct;
344
345typedef struct {
346 LOCAL_PARA_HDR
347} mrs_l4c_capability_update_ind_struct;
348
349//NR freq nfo for AFR
350typedef struct
351{
352 kal_uint8 periodicity;
353 kal_uint8 offset;
354}mrs_ssb_mtc_periodicity_and_offset_struct;
355
356typedef struct
357{
358 mrs_ssb_mtc_periodicity_and_offset_struct periodicity_and_offset;
359 kal_uint8 duration;
360}mrs_ssb_mtc_struct;
361
362typedef struct
363{
364 NRARFCN freq;
365 mrs_nr_scs_enum ssb_scs;
366 kal_bool is_ssb_mtc_valid;
367 mrs_ssb_mtc_struct ssb_mtc;
368} mrs_afr_nr_freq_info_struct;
369
370typedef struct
371{
372 kal_uint8 freq_num;
373 mrs_afr_nr_freq_info_struct freq_info[MRS_MAX_AFR_FREQ_NUM];
374} mrs_afr_nr_freq_list_struct;
375
376typedef struct
377{
378 kal_bool ongoing_status;
379 MRS_RAT_MODE_TYPE afr_target_rat;
380 mrs_afr_strict_constrain_state strict_constrain_state;
381} mrs_afr_service_struct;
382
383typedef struct
384{
385 kal_bool ever_trigger;
386 kal_bool pre_cond_reqd;
387 MRS_RAT_MODE_TYPE afr_src_rat;
388} mrs_afr_pre_cond_proc_struct;
389
390typedef struct
391{
392 /* [b1: not used] [b2: reduce lau, enable] [b3: defer si13, enable] [b4: 2g afr, enable] [b5: 3g afr, enable] */
393 /* [b6: CSFB_2G_FDD_eCSFB, disable] [b7: CSFB_3G_FDD_eCSFB, disable] [b8: CSFB_2G_TDD_eCSFB, enable] [b9: CSFB_3G_TDD_eCSFB, disable] */
394 /* [b10 ~ b16: reserved] */
395 kal_uint16 csfb_enhancement_item_status;
396 /* [b1: not used] [b2: reduce lau, disable] [b3: defer si13, enable] [b4: 2g afr, disable] [b5: 3g afr, disable] */
397 /* [b6: CSFB_2G_FDD_eCSFB, disable] [b7: CSFB_3G_FDD_eCSFB, disable] [b8: CSFB_2G_TDD_eCSFB, disable] [b9: CSFB_3G_TDD_eCSFB, disable] */
398 /* [b10 ~ b16: reserved] */
399 kal_uint16 csfb_enhancement_item_status_in_test_mode;
400 kal_bool is_csfb_ongoing;
401 kal_uint8 num;
402 EARFCN afr_list[AFR_FREQ_MAX_NUM];
403} mrs_afr_main_struct;
404
405typedef struct
406{
407 /* [b1: 2g4 afr, enable] [b2: 3g4 afr, enable, enable] [b3: 2g5 fdd afr, enable] [b4: 2g5 tdd afr, enable] [b5: 3g5 fdd afr, enable] */
408 /* [b6: 3g5 tdd afr, disable] [b7: 4g5 fdd afr, disable] */
409 /* [b8 ~ b16: reserved] */
410 kal_uint16 afr_enhancement_item_status;
411 /* [b1: 2g4 afr, enable] [b2: 3g4 afr, enable, enable] [b3: 2g5 fdd afr, enable] [b4: 2g5 tdd afr, enable] [b5: 3g5 fdd afr, enable] */
412 /* [b6: 3g5 tdd afr, disable] [b7: 4g5 fdd afr, disable] */
413 /* [b8 ~ b16: reserved] */
414 kal_uint16 afr_enhancement_item_status_in_test_mode;
415
416 mrs_afr_service_struct service_tbl[AFR_SRVC_MAX_NUM];
417 mrs_afr_pre_cond_proc_struct pre_cond_proc_tbl[AFR_PROC_MAX_NUM];
418
419#ifdef __NR_RAT__
420 mrs_afr_nr_freq_list_struct afr_nr_priority_freq_list;
421#endif /* __NR_RAT__ */
422 mrs_afr_nr_freq_list_struct afr_nr_freq_list;
423 mrs_afr_nr_freq_info_struct nr_serving_freq_info;
424 kal_uint32 afr_to_4g_timer; //msec
yu.donge7f08192024-06-18 00:54:40 -0700425 kal_uint32 afr_to_5g_timer; //msec
426 MRS_SKIP_4G5_AFR_CAUSE mrs_4g5_afr_skip_cause;
rjw6c1fd8f2022-11-30 14:33:01 +0800427} mrs_afr_nr_main_struct;
428
429typedef struct {
430 mrs_plmn_id plmn_id;
431 kal_uint8 la_code[2];
432} mrs_lai_struct;
433
434typedef struct
435{
436 kal_uint16 arfcn;
437 kal_uint8 bsic;
438}mrs_gas_cell_struct;
439
440typedef struct
441{
442 mrs_gas_cell_struct gas_cell;
443 mrs_lai_struct lai;
444 mrs_gas_ecsfb_call_status_enum ecsfb_call_status;
445}mrs_gas_cell_inf_struct;
446
447typedef struct
448{
449 kal_uint16 uarfcn;
450 kal_uint16 psc;
451}mrs_uas_cell_struct;
452
453typedef struct
454{
455 mrs_uas_cell_struct uas_cell;
456 mrs_lai_struct lai;
457}mrs_uas_cell_inf_struct;
458
459typedef struct
460{
461 EARFCN earfcn;
462 kal_uint16 pci;
463}mrs_eas_cell_struct;
464
465typedef struct {
466 kal_bool valid;
467 MRS_RAT_MODE_TYPE rat;
468 mrs_plmn_id plmn_id;
469 kal_uint16 lac_or_tac;
470 kal_uint32 cell_id;
471 kal_uint32 arfcn_or_uarfcn_or_earfcn;
472 kal_uint16 bsic_or_psc_or_pci;
473 kal_int16 report_offset_for_serv_in_black_list; /* serving is a black cell, unit:dbm */
474 kal_int16 report_offset_for_nc_in_black_list; /* neighbor is a black cell, unit:dbm */
475} mrs_as_black_cell_struct;
476
477/* inform xAS black cell list added/cleared. */
478typedef struct {
479 LOCAL_PARA_HDR
480} mrs_uas_add_black_cell_ind_struct;
481
482typedef struct {
483 LOCAL_PARA_HDR
484} mrs_gas_add_black_cell_ind_struct;
485
486typedef struct {
487 LOCAL_PARA_HDR
488} mrs_uas_clear_black_cell_ind_struct;
489
490typedef struct {
491 LOCAL_PARA_HDR
492} mrs_gas_clear_black_cell_ind_struct;
493
494typedef struct mrs_mcc_id
495{
496 kal_uint8 mcc1;
497 kal_uint8 mcc2;
498 kal_uint8 mcc3;
499} mrs_mcc_id;
500
501/* AS use this struct to get MCC from MRS */
502typedef struct mrs_as_mcc_struct
503{
504 kal_uint8 mrs_as_mcc_count;
505 mrs_mcc_id multi_mcc_id[MAX_NUM_MULTI_MCC];
506} mrs_as_mcc_struct;
507
508/* MRS use this struct to set and save MCC from NAS */
509typedef struct
510{
511 kal_uint8 multi_plmn_count;
512 mrs_plmn_id multi_plmn_id[MAX_NUM_MULTI_PLMN];
513} mrs_nas_mcc_struct;
514
515typedef struct
516{
517 /* Fast Mode Switch, record the latest serving cell's essential SI
518 for fast camp on for FDD/TDD mode switch. */
519 mrs_gas_fast_mode_switch_status_enum fast_mode_switch_status;
520 kal_uint8 bsic;
521 kal_uint16 arfcn;
522 plmn_id_struct plmn_id;
523 kal_uint8 si_raw_data_valid_bitmap;
524 kal_uint8 si1_raw_data[GAS_SI_RAW_DATA_LEN];
525 kal_uint8 si2_raw_data[GAS_SI_RAW_DATA_LEN];
526 kal_uint8 si2bis_raw_data[GAS_SI_RAW_DATA_LEN];
527 kal_uint8 si3_raw_data[GAS_SI_RAW_DATA_LEN];
528 kal_uint8 si4_raw_data[GAS_SI_RAW_DATA_LEN];
529#ifdef __PS_SERVICE__
530 kal_uint8 si13_raw_data[GAS_SI_RAW_DATA_LEN];
531#endif /* __PS_SERVICE__ */
532} mrs_gas_shared_info_struct;
533
534/* MRS use this struct to set and get PLMN status from NAS
535 * is_roaming: current PLMN is roaming or not
536 */
537typedef struct
538{
539 kal_bool is_roaming;
540} mrs_nas_plmn_info_struct;
541
542#ifdef __GAS_STORED_SI_FEAT__
543typedef struct
544{
545 kal_bool valid;
546 /* RRM_BA_ROW_DATA_SIZE */
547 kal_uint8 ba_raw_data[16];
548 kal_uint8 count;
549 kal_uint8 rest[RRM_MAX_SI2TER_INSTANCES][RRM_SI2TER_REST_LEN];
550}rrm_si2ter_struct;
551
552typedef struct
553{
554 kal_bool valid;
555 kal_uint8 count;
556 kal_uint8 rest[RRM_MAX_SI2QUARTER_INSTANCES][RRM_SI2QUARTER_REST_LEN];
557}rrm_si2quarter_struct;
558
559typedef struct
560{
561 kal_bool valid;
562 kal_bool essential_si_valid;
563 kal_uint32 system_tick;
564 kal_uint16 storedSI_arfcn;
565 kal_uint8 storedSI_bsic;
566 kal_uint8 si_raw_data_bitmap;
567 kal_uint8 si1_data[21];
568 kal_uint8 si2_data[21];
569 kal_uint8 si2bis_data[21];
570 kal_uint8 si3_data[21];
571 kal_uint8 si4_data[21];
572 kal_uint8 si13_data[21];
573 rrm_si2ter_struct si2ter;
574 rrm_si2quarter_struct si2quarter;
575} rrm_gsm_storedSI_struct;
576
577#endif
578
579#ifdef __NR_RAT__
580typedef struct
581{
582 kal_bool additional_pmax_valid;
583 kal_int8 additional_pmax;
584 kal_bool additional_spectrum_emission_valid;
585 kal_uint16 additional_spectrum_emission;
586} eutra_ns_pmax_value_struct;
587
588typedef struct
589{
590 kal_uint8 eutra_ns_pmax_list_len;
591 eutra_ns_pmax_value_struct eutra_ns_pmax_list[EUTRA_NS_PMAX_LIST_MAX_NUM];
592} eutra_ns_pmax_list_struct;
593
594typedef struct
595{
596 kal_uint16 freq_band_indicator_eutra;
597 eutra_ns_pmax_list_struct ns_pmax_list;
598} eutra_multibandinfo_struct;
599
600typedef struct
601{
602 kal_uint8 eutra_multibandinfo_list_len;
603 eutra_multibandinfo_struct eutra_multibandinfo_list[EUTRA_MULTI_BANDS_MAX_NUM];
604} eutra_multibandinfo_list_struct;
605#endif /* __NR_RAT__ */
606
607typedef struct {
608 kal_uint8 *oct;
609 kal_uint16 oct_len;
610} mrs_nras_octet_string_struct;
611
612/**
613 * Structure for EUTRAN feature set IDs. IDs are in the order they shall be
614 * reported to the network. ID values are IDs of feature sets read from L1.
615 * fs_dl_num Number of IDs in fs_dl_id list
616 * fs_dl_id List of EUTRAN DL feature set IDs
617 * fs_ul_num Number of IDs in fs_ul_id list
618 * fs_ul_id List of EUTRAN UL feature set IDs
619 */
620typedef struct
621{
622 kal_uint16 fs_dl_num;
623 kal_uint16 fs_dl_id[MRS_NRAS_EUTRAN_FEATURE_SETS_MAX_NUM];
624 kal_uint16 fs_ul_num;
625 kal_uint16 fs_ul_id[MRS_NRAS_EUTRAN_FEATURE_SETS_MAX_NUM];
626} mrs_nras_eutran_feature_set_ids_struct;
627
628/* record systime of RAT_CHANGE_CNF(succes),
629 During timewindow, if the rat change reaches specific times, PINGPONG confirmed.
630 the MAX record for RAT change is AS_PINGPONG_THRESHOLD_MAX, but user can customize their PINGPONG scenario with count less than AS_PINGPONG_THRESHOLD_MAX
631*/
632typedef struct
633{
634 kal_uint32 rat_change_time[AS_PINGPONG_THRESHOLD_MAX];
635} mrs_irat_change_info_struct;
636
637typedef struct
638{
639 rat_enum rat; // Current active rat
640 kal_uint8 cc_idx; // Idle mode: always 0. Connected mode: NW configured CC idx.
641 kal_uint32 freq_1khz; // Corresponding Pcell/Scell frequency in 1khz.
642 kal_uint32 bw_1khz; // Corresponding Pcell/Scell BW in 1khz
643 kal_uint16 band; // Universal band
644 kal_uint8 mimo_layer; // 0xFF if no valid info
645} mrs_common_cc_info_struct;
646
647typedef struct
648{
649 protocol_id_enum ps_id;
650 kal_uint8 dl_cc_num; // Idle mode: always 1. Connected mode: NW configured DL cc num.
651 mrs_common_cc_info_struct dl_cc_info[MRS_MAX_CC_NUM];
652 kal_uint8 ul_cc_num; // Idle mode: always 1 or 0 if UL info is not available. Connected mode: NW configured UL cc num.
653 mrs_common_cc_info_struct ul_cc_info[MRS_MAX_CC_NUM];
654} mrs_cell_cc_info_struct;
655
656typedef struct
657{
658 kal_uint8 gsm_band;
659 kal_uint8 fdd_umts_band[NVRAM_EF_AS_FDD_UMTS_BAND_SETTING_SIZE];
660 kal_uint8 lte_band[NVRAM_EF_AS_LTE_BAND_SETTING_SIZE];
661} mrs_mcc_band_setting_per_region_struct;
662
663typedef struct
664{
665 kal_uint8 mcc_region_number;
666 kal_uint8 no_of_plmns;
667 mrs_plmn_id mcc_region_plmns[MAX_NUM_VALID_MCC_REGION_PLMNS];
668 mrs_mcc_band_setting_per_region_struct band_setting;
669} mrs_mcc_plmn_list_within_region_record_struct;
670
671
672typedef struct
673{
674 kal_uint8 no_of_mcc_regions;
675 mrs_mcc_plmn_list_within_region_record_struct setting[MAX_NUM_VALID_MCC_REGIONS];
676} mrs_mcc_region_band_setting_record_struct;
677
rjw2b1408e2022-12-19 11:19:29 +0800678#ifdef __CHANNEL_LOCK__
679/* MSG_ID_MRS_ERRC_CH_LOCK_NTF */
680typedef struct {
681 LOCAL_PARA_HDR
682
683 MRS_CH_LOCK_STATE lock_state;
684 kal_uint8 lock_mode;
685} mrs_errc_ch_lock_ntf_struct;
686
687/* MSG_ID_MRS_NRRC_CH_LOCK_NTF */
688typedef struct {
689 LOCAL_PARA_HDR
690
691 MRS_CH_LOCK_STATE lock_state;
692 kal_uint8 lock_mode;
693} mrs_nrrc_ch_lock_ntf_struct;
694#endif /* __CHANNEL_LOCK__ */
695
696typedef struct mrs_csg_imsi_info
697{
698 kal_uint8 imsi_length;
699 kal_uint8 imsi[MRS_CSG_IMSI_MAX_LEN];
700} mrs_csg_imsi_info;
701
rjw6c1fd8f2022-11-30 14:33:01 +0800702#endif /* _MRS_AS_STRUCT_H */