blob: 9b9466477da06190abef3e500738372b6f1a1559 [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) 2005
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 * rac_gmss_struct.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * This file is intends for struct definition between NWSEL and MMI/L4.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *==============================================================================
54 *******************************************************************************/
55
56/********************************************************************************
57* Copyright Statement:
58* --------------------
59*
60* This product has been developed using a protocol stack
61* developed by Sasken Communication Technologies Limited.
62*
63********************************************************************************/
64#ifndef _RAC_GMSS_STRUCT_H
65#define _RAC_GMSS_STRUCT_H
66
67#include "kal_general_types.h"
68#include "l3_inc_enums_public.h"
69#include "l3_inc_enums.h"
70#include "mcd_l3_inc_struct.h"
71#include "ps_public_enum.h"
72#include "l3_inc_local.h"
73#include "mm_mmi_enums.h"
74#include "gmss_public.h"
75#include "l4c_common_enum.h"
76
77#ifdef __LTE_RAT__
78#include "nvram_data_items.h"
79#endif
80
81#include "nvram_editor_data_item.h"
82#include "nas_nvram_editor.h"
83#include "erac_nvram_editor.h"
84#include "c2k_irat_msg_struct.h"
85#include "nwsel_eval_struct.h"
86#include "sim_public_enum.h"
87#ifdef __IMS_SUPPORT__
88#include "ims_common_def.h"
89#include "ims_interface_md.h"
90#endif
91#include "vgnas_nvram_def.h"
92#ifdef __MBIM_MS_NETWORK_BLACKLIST__
93#include "l5_l4c_enums.h"
94#endif
95
96/* RAC -> GMSS */
97typedef struct {
98 LOCAL_PARA_HDR
99 plmn_selection_mode_enum plmn_sel_mode;
100 rat_enum rplmn_rat;
101 kal_uint8 num_of_eq_plmn;
102 plmn_id_struct eq_plmn[MAX_NUM_EQ_PLMN];
103 kal_uint8 nvram_locigprs[14];
104 rat_enum prefered_rat;
105#ifdef __TC02_SECURITY_REQUIREMENT__
106 kal_uint8 nvram_imsi_loci_gloci[MAX_LEN_OF_IMSI_LOCI_GLOCI]; //mtk02475: for man-in-middle-attack prevention
107#endif
108 kal_bool is_supporting_roaming;
109
110#ifdef __LTE_RAT__
111 kal_uint8 nvram_epsloci[NVRAM_EPSLOCI_SIZE];
112#endif
113 plmn_id_rat_struct csg_previous_rplmn;
114 kal_uint32 csg_id;
115 kal_bool disable_international_roaming_support;
116 kal_bool disable_national_roaming_support;
117 kal_bool disable_hhplmn_search_support;
118 kal_bool enable_roaming_broker_support;
119#ifdef __LTE_ROAMING_SUPPORT__
120 kal_bool disable_lte_data_roaming;
121#endif
122 kal_uint32 recovery_timer[MAX_RECOVERY_TIMER_NUM ];
123 kal_bool sms_only;
124 voice_domain_preference_enum eutran_voice_domain_preference;
125 voice_domain_preference_enum utran_voice_domain_preference;
126 ue_mode_enum ue_mode;
127 kal_uint64 last_t3245_end_time;
128
129//__APPLMN_LIST__
130 kal_uint16 no_static_applmn_data;
131 kal_uint8 *static_applmn_data;
132 kal_uint16 no_dynamic_applmn_data;
133 kal_uint8 *dynamic_applmn_data;
134
135//__AUX_PLMN__
136 plmn_id_struct aux_plmn_id;
137 rat_enum aux_plmn_rat;
138
139#ifdef __MBIM_MS_NETWORK_BLACKLIST__
140 /*__BlackList_PLMN__*/
141 kal_uint16 no_blacklist_plmn_data;
142 kal_uint8 *blacklist_plmn_data;
143#endif
144
145 nvram_ef_failure_list_struct failure_list;
146 nvram_histoy_table_struct history_table;
147 nvram_nwsel_data_struct nwsel_data;
148 nvram_gmss_data_struct gmss_data;
149 init_cause_enum init_cause;
150 kal_uint8 vzw_lte_scan_idle_interval;
151 kal_uint8 vzw_lte_scan_idle_max;
152 plmn_id_struct stored_rplmn;
153 kal_bool is_init;
154 plmn_id_struct manual_selected_plmn;
155 //Add for aral 2.0
156 aral_update_req_struct aral_update_req[NWSEL_ALAL_NUM];
157 kal_uint8 nvram_ef_5gs3gpploci[LEN_OF_5GS3GPPLOCI];
158 nvram_last_campui_reg_state_struct last_campui_reg_state[NVRAM_MAX_SUPPORTED_RAT];
159 kal_uint32 prefer_rat_num;
160 rat_enum prefer_rat_list[NVRAM_MAX_SUPPORTED_RAT];
161#ifdef __FIVEG_NAS__
162 nvram_ef_vgnas_5gmm_failure_list_struct vgnas_5gmm_failure_list;
163#endif
rjw8e44aab2022-11-30 16:42:16 +0800164 nvram_nwsel_enable_s1_n1_action_enum nwsel_action_enable_s1_n1[NVRAM_NWSEL_PROC_MAX];
rjw6c1fd8f2022-11-30 14:33:01 +0800165 nvram_allowed_mcc_struct allowed_mcc_data;
166} rac_gmss_init_req_struct;
167
168typedef struct {
169 LOCAL_PARA_HDR
170 plmn_selection_mode_enum plmn_sel_mode;
171} rac_gmss_sel_mode_req_struct;
172
173typedef struct {
174 LOCAL_PARA_HDR
175 domain_id_enum attach_type; /* CS-only, PS-only or both CS/PS*/
176 kal_uint8 att_id; /* Johnny: 3G RAC, for attach_req and detach_req using */
177 mm_user_search_type_enum search_type; //mm_user_search_type_enum
178} rac_gmss_attach_req_struct;
179
180typedef struct {
181 LOCAL_PARA_HDR
182 domain_id_enum detach_type; /* CS-only, PS-only or both CS/PS */
183 kal_bool power_off; /* mobile shut down or not */
184 kal_uint8 att_id; /* Johnny: 3G RAC, for attach_req and detach_req using */
185 l4c_rac_detach_cause_enum detach_cause;
186} rac_gmss_detach_req_struct;
187
188typedef struct {
189 LOCAL_PARA_HDR
190 rfoff_cause_enum rfoff_cause;
191} rac_gmss_rfoff_req_struct;
192
193typedef struct {
194 LOCAL_PARA_HDR
195 plmn_reselection_enum plmn_search_mode; /* plmn_reselection_enum */
196 plmn_id_rat_struct selected_plmn; /* Selected PLMN */
197 kal_bool is_manual_csg_sel;
198 kal_uint32 csg_id;
199 rat_enum prefer_rat; // 0:default , 1:GSM , 2:UMTS
200 kal_bool from_l4c;
201 kal_uint32 factory_mode_arfcn; //0xFFFF means invalid arfcn, /* 20081110 mtk00714, for fast camp on test machine */
202 endc_search_enum endc_search; /* Search ENDC cell or not for LTE cell. */
203} rac_gmss_plmn_search_req_struct;
204
205
206typedef struct {
207 LOCAL_PARA_HDR
208 plmn_id_rat_struct plmn_id_rat;
209} rac_gmss_csg_list_req_struct;
210
211typedef struct
212{
213 LOCAL_PARA_HDR
214 user_list_type_enum user_list_type;
215 rat_enum list_rat; /* For informing frequency of which RATs are valid*/
216 kal_bool list_endc_info; /* LIST ENDC info or not for LTE cell. ERRC will collect SIB2 for PLMN_LIST. */
217 kal_uint8 given_number_of_plmn; // used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER. When xAS found the given number of plmn, xAS return plmn list cnf (with signal power value). If the number is 255, means feature OFF.
218 network_scan_input_struct network_scan_input; //IPC_NET_NETWORK_SCAN
219} rac_gmss_plmn_list_req_struct;
220
221typedef struct
222{
223 LOCAL_PARA_HDR
224 kal_bool is_user_plmn_list_ongoing;
225} rac_gmss_plmn_list_status_update_req_struct;
226
227typedef struct {
228 LOCAL_PARA_HDR
229 rat_enum rat_mode; /* RATCM_RAT_ENUM*/
230 rat_enum reported_rat;
231 irat_system_type_enum c2k_mode;
232 kal_bool is_rf_on;
233} rac_gmss_set_rat_mode_req_struct;
234
235typedef struct {
236 LOCAL_PARA_HDR
237 kal_bool is_supporting_roaming;
238 kal_bool disable_international_roaming_support;
239 kal_bool disable_national_roaming_support;
240 kal_bool disable_hhplmn_search_support;
241} rac_gmss_set_roaming_mode_req_struct;
242
243typedef struct {
244 LOCAL_PARA_HDR
245 prefer_rat_type_enum type;
246 rat_enum prefer_rat;
247 kal_uint32 rat_num;
248 rat_enum rat_order[MAX_SUPPORTED_RAT];
249}rac_gmss_set_prefer_rat_req_struct;
250
251typedef struct {
252 LOCAL_PARA_HDR
253 prefer_rat_type_enum type;
254}rac_gmss_get_prefer_rat_req_struct;
255
256typedef struct {
257 LOCAL_PARA_HDR
258 prefer_rat_type_enum type;
259 kal_uint32 rat_num;
260 rat_enum rat_order[MAX_SUPPORTED_RAT];
261}rac_gmss_get_prefer_rat_cnf_struct;
262
263
264typedef struct {
265 LOCAL_PARA_HDR
266 plmn_id_struct plmn;
267 rat_enum rat;
268 kal_uint8 ara_start[2];
269 kal_uint8 ara_end[2];
270}rac_gmss_aral_update_req_struct;
271
272typedef struct {
273 LOCAL_PARA_HDR
274 kal_bool is_eutran_vdp_or_ue_usage_changed;
275 voice_domain_preference_enum eutran_voice_domain_preference;
276 kal_bool is_evdp_changed_by_ims_on_off;
277 ue_usage_setting_enum ue_usage_setting;
278 ue_mode_enum ue_mode;
279 ue_mode_enum ue_mode_exclude_18;
280 ims_reg_status_enum ims_reg_status;
281 kal_bool sms_only;
282 kal_bool is_ims_support;
283 kal_bool is_ims_ecc_support;
284#ifdef __IMS_SUPPORT__
285 ims_dereg_cause_enum ims_dereg_cause;
286 ims_cap_rat_enum ims_rat_cap;
287#endif /* __IMS_SUPPORT__ */
288 kal_bool is_ims_retry;
289
290 /* EMC specific config*/
291 kal_bool is_emc_param_valid;
292 voice_domain_preference_enum emc_voice_domain_preference;
293 ue_usage_setting_enum emc_ue_usage_setting;
294 kal_bool emc_fallback;
295} rac_gmss_uemode_param_update_req_struct;
296
297/* MSG_ID_RAC_GMSS_LOCATION_INFO_REQ */
298typedef struct {
299 LOCAL_PARA_HDR
300 kal_uint8 mm_status;
301 kal_uint8 location_info[SAT_MAX_LOC_INFO_LEN];
302 kal_uint8 rat;
303
304 sat_loc_send_type_enum send_type; // whether notify the sat the location info when updated
305
306} rac_gmss_location_info_req_struct;
307
308typedef struct
309{
310 LOCAL_PARA_HDR
311 rat_enum rat;
312 plmn_id_struct plmn_id;
313 kal_uint16 arfcn;
314 kal_uint8 requested_band;
315} rac_gmss_set_mru_req_struct;
316
317typedef struct
318{
319 LOCAL_PARA_HDR
320 rat_enum rat;
321 plmn_id_struct plmn_id;
322} rac_gmss_set_aux_plmn_req_struct;
323
324typedef struct
325{
326 LOCAL_PARA_HDR
327 kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
328} rac_gmss_data_allow_req_struct;
329
330typedef struct {
331 LOCAL_PARA_HDR
332 kal_bool is_rude_wakeup;
333}rac_gmss_screen_on_req_struct;
334
335typedef struct {
336 LOCAL_PARA_HDR
337 kal_bool normal_oos_recovery_round_present;
338 kal_uint8 normal_oos_recovery_round; /* default value =5, range [2,10] */
339 kal_bool inactive_fullband_period_present;
340 kal_uint16 inactive_fullband_period; /* default value =200s, range [90,360] */
341 kal_bool inactive_sniffer_period_present;
342 kal_uint8 inactive_sniffer_period; /* default value =30s, range [10,60] */
343 kal_bool is_inactive_mode_present;
344 kal_bool is_inactive_mode; /* TRUE: Enter inactive mode, FALSE: Leave inactive mode*/
345 kal_bool inactive_scan_time_present;
346 kal_uint32 inactive_scan_time;
347 kal_bool inactive_sleep_time_present;
348 kal_uint32 inactive_sleep_time;
349} rac_gmss_inactive_mode_configuration_req_struct;
350
351/* NWSEL -> RAC*/
352
353typedef nwsel_eval_c2k_csfb_start_ind_struct rac_gmss_c2k_csfb_start_ind_struct;
354
355typedef struct {
356 LOCAL_PARA_HDR
357 proc_status_enum status; /* proc_status_enum */
358 mm_cause_enum cause; /* mm_cause_enum */
359 kal_bool is_on_hplmn;
360 cell_info_and_rat_struct cell_info;
361} rac_gmss_plmn_search_cnf_struct;
362
363typedef struct {
364 LOCAL_PARA_HDR
365 proc_status_enum status; /* proc_status_enum */
366 mm_cause_enum cause; /* mm_cause_enum */
367 kal_uint8 num_of_hplmn;
368 rac_plmn_list_struct plmn_list;
369 list_ind_source_enum source;
370} rac_gmss_plmn_list_cnf_struct;
371
372typedef rac_gmss_plmn_list_cnf_struct rac_gmss_plmn_list_ind_struct;
373
374typedef struct {
375 LOCAL_PARA_HDR
376 kal_uint8 susp_id;
377 susp_resu_source_enum target;
378} rac_gmss_suspend_status_ind_struct;
379
380typedef struct {
381 LOCAL_PARA_HDR
382 proc_status_enum status;
383 mm_cause_enum cause;
384 rac_csg_list_struct csg_list;
385} rac_gmss_csg_list_cnf_struct;
386
387typedef struct {
388 LOCAL_PARA_HDR
389 proc_status_enum status; /* proc_status_enum */
390 mm_cause_enum cause; /* mm_cause_enum */
391} rac_gmss_set_rat_mode_cnf_struct;
392
393typedef struct {
394 LOCAL_PARA_HDR
395 //kal_uint8 att_id; /* for detach_req mapping */
396 gmss_rat_enum detached_ps_rat; /* indicate the detached RAT */
397} rac_gmss_c2k_detach_ind_struct;
398
399typedef struct
400{
401 LOCAL_PARA_HDR
402 kal_bool is_1x_service_available; /** indicate if service_domain is available */
403} rac_gmss_c2k_service_ind_struct;
404
405typedef struct {
406 LOCAL_PARA_HDR
407 kal_bool is_cs_conn_start; /* indicate if C2K cs connection start */
408} rac_gmss_1x_conn_status_ind_struct;
409
410typedef struct
411{
412 LOCAL_PARA_HDR
413 kal_uint8 src_id; /* source channel from AP or middleman, L4 utilize this field to respond to the correct channel */
414 hvolte_mode_enum mode; /** indicate LTE-Only or SRLTE */ // enum defined in ims_common_def.h
415 kal_bool is_for_silent_redial; /** indicate the mode change due to VoLTE call fail then silent redial 1xRTT */
416 set_hvolte_mode_cause_enum cause;
417} rac_gmss_set_hvolte_mode_req_struct;
418
419typedef struct
420{
421 LOCAL_PARA_HDR
422 kal_uint8 src_id; /* the value shall be the same as src_id in rac_gmss_set_hvolte_mode_req_struct */
423}rac_gmss_set_hvolte_mode_cnf_struct;
424
425typedef struct {
426 LOCAL_PARA_HDR
427 kal_bool is_not_suspend; /* indicate if is_searching = TRUE is due to Gemini suspend */
428 kal_bool is_update_is_searching; /* if TRUE, RAC can check is_searching flag */
429 kal_bool is_searching;
430 kal_bool is_camp_on_cell; /* if is_searching = FALSE && is_camp_on_cell = FALSE, then RAC update to L4C;
431 else, ignore the is_searching flag. */
432 kal_bool is_on_hplmn;
433 kal_bool is_update_active_rat;
434 rat_enum active_rat;
435 plmn_id_struct rplmn; /* Get RPLMN */
436} rac_gmss_plmn_status_ind_struct;
437
438typedef struct {
439 LOCAL_PARA_HDR
440 nwsel_ims_service_enum service_type;
441 kal_bool is_t311_expire; /* RRC connection release due to RRC T311 timer expire */
442} rac_gmss_ims_service_ind_struct;
443
444typedef struct {
445 LOCAL_PARA_HDR
446 irat_type_enum irat_type;
447 rat_type_enum source_rat;
448 rat_type_enum target_rat;
449 ho_from_lte_type_enum ir_ho_type;
450} rac_gmss_rat_change_start_req_struct;
451
452typedef struct {
453 LOCAL_PARA_HDR
454 irat_type_enum irat_type;
455 irat_result_enum irat_result;
456 rat_type_enum source_rat;
457 rat_type_enum target_rat;
458 c2k_irat_result_enum err_code;
459} rac_gmss_rat_change_finish_req_struct;
460
461typedef struct {
462 LOCAL_PARA_HDR
463 kal_bool enter_cause18_plmn;
464} rac_gmss_cs_domain_availability_ind_struct;
465
466typedef struct {
467 LOCAL_PARA_HDR
468 susp_resu_result_enum result;
469 susp_resu_source_enum target;
470} rac_gmss_susp_resu_update_cnf_struct;
471
472typedef struct {
473 LOCAL_PARA_HDR
474 susp_resu_mode_enum mode;
475 susp_resu_action_enum action;
476 kal_uint8 susp_id;
477 susp_resu_source_enum source;
478} rac_gmss_susp_resu_update_req_struct;
479
480typedef struct {
481 LOCAL_PARA_HDR
482 kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
483} rac_gmss_set_recovery_search_timer_req_struct;
484
485typedef struct {
486 LOCAL_PARA_HDR
487 kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
488} rac_gmss_get_recovery_search_timer_cnf_struct;
489
490typedef struct {
491 LOCAL_PARA_HDR
492 kal_bool result;
493} rac_gmss_set_recovery_search_timer_cnf_struct;
494
495typedef struct {
496 LOCAL_PARA_HDR
497 kal_uint8 src_id;
498 custom_plmn_type_enum type;
499 kal_bool is_update_needed;
500 kal_uint8 plmn_ver[2];
501 kal_uint16 no_plmn_entry;
502 kal_uint8 *plmn_data;
503} rac_gmss_custom_plmn_list_update_req_struct;
504
505typedef struct
506{
507 LOCAL_PARA_HDR
508 kal_bool voice_over_ims_ongoing;
509} rac_gmss_ims_call_info_req_struct;
510
511typedef struct {
512 LOCAL_PARA_HDR
513 voice_domain_preference_enum utran_voice_domain_preference;
514} rac_gmss_set_utran_voice_domain_preference_req_struct;
515
516typedef struct {
517 LOCAL_PARA_HDR
518 kal_bool is_data_service_present;
519 kal_bool is_data_service_on;
520 kal_bool is_data_roaming_service_present;
521 kal_bool is_data_roaming_service_on;
522} rac_gmss_data_service_status_update_req_struct;
523
524typedef struct {
525 LOCAL_PARA_HDR
526 rat_enum new_reported_rat;
527 kal_bool is_home;
528 rat_mode_change_cause_enum cause;
529} rac_gmss_reported_rat_change_ind_struct;
530
531typedef struct {
532 LOCAL_PARA_HDR
533 emdstatus_md_config_enum md_config;
534 emdstatus_sim_config_enum sim_config;
535} rac_gmss_md_sim_config_req_struct;
536
537typedef struct {
538 LOCAL_PARA_HDR
539 elevator_mode_enum elevator_mode;
540} rac_gmss_elevator_mode_config_req_struct;
541
542typedef struct {
543 LOCAL_PARA_HDR
544 gmss_rat_enum gmss_rat;
545 plmn_id_struct loc; /* Only MCC is valid */
546 gmss_selected_rat_status_enum status;
547 kal_bool is_ehrpd; /* Indicate if PS type is EHRPD if current RAT is HRPD */
548 rat_enum curr_reported_rat; /* current reported rat */
549 kal_bool is_home_country; /* is_home_country */
550 kal_bool is_srlte; /* SRLTE or not. AP use it with RAT to decide phone type (CDMALTE or CSFB) */
551 irat_handoff_cause_enum irat_type;
552} rac_gmss_rat_select_ind_struct;
553
554typedef struct {
555 LOCAL_PARA_HDR
556 act_sim_enum active_sim;
557} rac_gmss_active_sim_info_req_struct;
558
559typedef struct {
560 LOCAL_PARA_HDR
561 kal_bool is_attach_needed;
562} rac_gmss_rat_change_success_notify_req_struct;
563
564typedef struct {
565 LOCAL_PARA_HDR
566 umts_duplex_mode_type umts_duplex_mode;
567 lte_duplex_mode_type lte_duplex_mode;
568 mode_switch_cause_enum cause;
569} rac_gmss_duplex_mode_change_req_struct, rac_gmss_duplex_mode_change_ind_struct;
570
571//todo
572typedef struct {
573 LOCAL_PARA_HDR
574 ct_mode_enum ct_mode;
575} rac_gmss_set_ct_mode_req_struct;
576
577
578typedef struct {
579 LOCAL_PARA_HDR
580 plmn_id_struct plmn_id;
581} rac_gmss_disable_eutran_req_struct;
582
583typedef struct {
584 LOCAL_PARA_HDR
585 kal_bool data_enabled_setting;
586 kal_bool data_roaming_setting;
587} rac_gmss_roaming_data_config_req_struct;
588
589typedef struct
590{
591 LOCAL_PARA_HDR
592 set_mru_result_enum result;
593} rac_gmss_set_mru_cnf_struct;
594
595typedef struct
596{
597 LOCAL_PARA_HDR
598 set_aux_plmn_result_enum result;
599} rac_gmss_set_aux_plmn_cnf_struct;
600
601typedef struct {
602 LOCAL_PARA_HDR
603 wm_policy_enum wm_policy;
604} rac_gmss_set_wm_policy_req_struct;
605
606typedef struct
607{
608 LOCAL_PARA_HDR
609 rat_enum avaliable_rat;
610 kal_uint8 cause;
611 kal_uint8 trans_id;
612} rac_gmss_emc_service_ind_struct;
613
614typedef struct {
615 LOCAL_PARA_HDR
616 kal_bool is_mode_changed;
617 kal_bool utran_fdd;
618 kal_bool utran_tdd_lcr;
619 kal_bool eutran_fdd;
620 kal_bool eutran_tdd;
621 mode_switch_cause_enum cause;
622} rac_gmss_duplex_mode_required_cnf_struct;
623
624typedef struct {
625 LOCAL_PARA_HDR
626 call_status_enum call_status;
627 call_type_indication_enum call_type;
628 kal_bool is_flight_mode_on_ecc;
629 rat_enum call_current_rat; // the call start/stop current rat
630} rac_gmss_call_status_req_struct;
631
632typedef struct {
633 LOCAL_PARA_HDR
634 rat_enum rat;
635} rac_gmss_set_first_camp_on_prefer_rat_req_struct;
636
637#define VZWMRU_UPDATE_RESULT_NUM_MAX 10
638
639typedef struct
640{
641 LOCAL_PARA_HDR
642 irat_ps_type_enum access_type;
643 kal_uint16 sid;
644 kal_uint16 nid;
645 kal_uint8 pzid;
646 kal_uint16 base_id;
647 kal_uint32 sector_id[4];
648 kal_uint8 subnet_length;
649 kal_uint8 carrier_id[6];
650} rac_gmss_c2k_cell_info_ind_struct;
651
652typedef struct
653{
654 LOCAL_PARA_HDR
655 rat_enum rat;
656 kal_uint8 event_type; // 0: successful completion of RAU procedure
657 // 1: successful completion of TAU procedure
658}rac_gmss_reg_status_ind_struct;
659
660#define VZWMRU_UPDATE_RESULT_NUM_MAX 10
661
662typedef struct
663{
664 LOCAL_PARA_HDR
665 mru_cmd_type_enum cmd;
666 mmss_list_type_enum list_type; // RAL or MRU
667 vzwmru_entry_struct entry; // used only cmd=EDIT
668} rac_gmss_vzwmru_update_req_struct;
669
670typedef struct
671{
672 LOCAL_PARA_HDR
673 mru_cmd_type_enum cmd;
674 kal_bool result; //TRUE=>pass, FALSE=>error
675 mmss_list_type_enum list_type; // RAL or MRU
676 kal_uint32 entry_num; //used only when cmd=QUERY
677 vzwmru_entry_struct entries[VZWMRU_UPDATE_RESULT_NUM_MAX]; //used only when cmd=QUERY
678} rac_gmss_vzwmru_update_cnf_struct;
679
680
681typedef struct {
682 LOCAL_PARA_HDR
683 kal_uint8 src_id;
684 omadm_cmd_type_enum cmd;
685 omadm_node_type_enum node_type;
686 kal_uint32 node_value;
687} rac_gmss_omadm_update_req_struct;
688
689
690typedef struct {
691 LOCAL_PARA_HDR
692 kal_uint8 src_id;
693 omadm_cmd_type_enum cmd;
694 kal_bool result; // TRUE=>pass, FALSE=>error
695 omadm_node_type_enum node_type; // OMADM node
696 kal_uint32 node_value;
697} rac_gmss_omadm_update_cnf_struct;
698
699typedef struct {
700 LOCAL_PARA_HDR
701 kal_uint8 src_id;
702 custom_plmn_type_enum type;
703} rac_gmss_get_custom_plmn_list_req_struct;
704
705typedef struct {
706 LOCAL_PARA_HDR
707 kal_uint8 src_id;
708 custom_plmn_type_enum type;
709 kal_uint16 no_plmn_entry;
710 kal_uint8 *plmn_data;
711} rac_gmss_get_custom_plmn_list_cnf_struct;
712
713typedef struct {
714 LOCAL_PARA_HDR
715 kal_bool is_apn_enable;
716} rac_gmss_vzw_admin_apn_change_req_struct;
717
718typedef struct {
719 LOCAL_PARA_HDR
720 kal_uint8 src_id;
721 // TRUE: Request for LTE available 1xRTT cell lists
722 // FALSE: Request for LTE unavailable 1xRTT cell lists
723 kal_bool is_for_LTE_available_list;
724} rac_gmss_1xrtt_cell_list_req_struct;
725
726typedef struct {
727 LOCAL_PARA_HDR
728 kal_uint8 src_id;
729 kal_uint8 num; // maximum = GMSS_LTE_UNAVAIL_DB_SIZE (128)
730 // (sid[0],nid[0],bsid[0]) for first cell, (sid[1],nid[1],bsid[1]) for second cell...
731 kal_uint16 sid[GMSS_LTE_UNAVAIL_DB_SIZE];
732 kal_uint16 nid[GMSS_LTE_UNAVAIL_DB_SIZE];
733 kal_uint16 bsid[GMSS_LTE_UNAVAIL_DB_SIZE];
734} rac_gmss_1xrtt_cell_list_cnf_struct;
735
736typedef struct {
737 LOCAL_PARA_HDR
738 kal_uint8 src_id;
739 vzw_barring_timer_type_enum timer_type;
740 kal_uint32 timer_interval; /* in second */
741} rac_gmss_set_plmn_barring_timer_req_struct;
742
743typedef struct {
744 LOCAL_PARA_HDR
745 kal_uint8 src_id;
746 kal_bool result;
747} rac_gmss_set_plmn_barring_timer_cnf_struct;
748
749typedef struct {
750 LOCAL_PARA_HDR
751 kal_uint8 src_id;
752 vzw_barring_timer_type_enum timer_type;
753} rac_gmss_get_plmn_barring_timer_req_struct;
754
755typedef struct {
756 LOCAL_PARA_HDR
757 kal_uint8 src_id;
758 kal_uint32 timer_interval; /* in second */
759} rac_gmss_get_plmn_barring_timer_cnf_struct;
760
761typedef struct
762{
763 LOCAL_PARA_HDR
764 ims_timer_type_enum timer_type;
765 ims_timer_status_enum timer_status;
766 kal_uint16 timer_length; /* in second */
767} rac_gmss_ims_timer_status_update_req_struct;
768
769typedef struct {
770 LOCAL_PARA_HDR
771 rat_enum active_rat;
772} rac_gmss_active_rat_ind_struct;
773
774
775typedef struct {
776 LOCAL_PARA_HDR
777 kal_bool is_suspend;
778} rac_gmss_suspend_egreg_update_ind_struct,
779 rac_gmss_suspend_egreg_update_cnf_struct;
780
781
782typedef struct{
783 LOCAL_PARA_HDR
784 plmn_id_struct rplmn; /* Get RPLMN */
785} rac_gmss_rplmn_ind_struct;
786
787typedef struct
788{
789 LOCAL_PARA_HDR
790 gmss_tw_mode_enum tw_mode;
791 kal_uint8 setting;
792} rac_gmss_set_tw_mode_req_struct;
793
794typedef struct {
795 LOCAL_PARA_HDR
796 recover_cause_enum cause;
797} rac_gmss_invalid_sim_recover_ind_struct;
798
799typedef struct {
800 LOCAL_PARA_HDR
801 kal_bool result;
802} rac_gmss_invalid_sim_recover_rsp_struct;
803
804typedef struct {
805 LOCAL_PARA_HDR
806 kal_bool high_prio_timer_config;
807} rac_gmss_high_prio_search_timer_config_req_struct;
808
809typedef struct
810{
811 LOCAL_PARA_HDR
812 kal_bool is_ct_volte_supported;
813} rac_gmss_volte_status_update_req_struct;
814
815typedef struct
816{
817 LOCAL_PARA_HDR
818 kal_bool is_ims_roaming_enable;
819} rac_gmss_set_ims_roaming_config_req_struct;
820
821typedef struct
822{
823 LOCAL_PARA_HDR
824 kal_bool is_valid_available_rat;
825 rat_enum available_rat;
826 kal_bool is_valid_prefer_rat;
827 rat_enum prefer_rat;
828 kal_bool is_new_call;
829 kal_uint8 trans_id;
830} rac_gmss_emc_service_scan_req_struct;
831
832typedef struct
833{
834 LOCAL_PARA_HDR
835 hvolte_mode_change_cause_enum cause;
836} rac_gmss_hvolte_mode_change_ind_struct;
837
838typedef struct
839{
840 LOCAL_PARA_HDR
841 kal_uint8 src_id;
842} rac_gmss_get_last_rat_select_ind_req_struct;
843
844typedef struct
845{
846 LOCAL_PARA_HDR
847 kal_uint8 src_id;
848 rac_gmss_rat_select_ind_struct last_rat_select_ind;
849} rac_gmss_get_last_rat_select_ind_cnf_struct;
850
851typedef struct
852{
853 LOCAL_PARA_HDR
854 ims_special_event_enum ims_event;
855 kal_uint16 sip_cause;
856} rac_gmss_ims_reg_status_update_req_struct;
857
858typedef struct
859{
860 LOCAL_PARA_HDR
861 enwsel_search_abort_cause_enum cause;
862} rac_gmss_abort_enwsel_search_req_struct;
863
864typedef struct
865{
866 LOCAL_PARA_HDR
867 kal_bool is_search_triggered;
868} rac_gmss_ims_call_end_status_ind_struct;
869
870/* mtk13782: Regarding to TMO diable 2G */
871typedef struct
872{
873 LOCAL_PARA_HDR
874 rat_enum disable_rat;
875}rac_gmss_rat_disable_config_req_struct;
876
877typedef struct
878{
879 LOCAL_PARA_HDR
880 kal_bool is_invalid;
881 rat_enum rat;
882 plmn_id_struct plmn_id;
883 kal_uint8 carrier_id[6];
884}rac_gmss_illegal_me_ind_struct;
885
886typedef struct {
887 LOCAL_PARA_HDR
888 try_switch_rat_result_enum result;
889} rac_gmss_try_switch_rat_result_ind_struct;
890
891typedef struct {
892 LOCAL_PARA_HDR
893 kal_bool reg_state;
894 rat_enum rat;
895 cell_info_union cell_info;
896 plmn_id_struct plmn_id;
897 restrict_dcnr_enum dcnr_restricted;
898} rac_gmss_camp_ui_ind_struct;
899
900typedef struct
901{
902 LOCAL_PARA_HDR
903 rat_enum rat;
904 network_scan_rat_union_type nw_scan_rat_output;
905 nwsel_plmn_list_status_enum status;
906}rac_gmss_plmn_scan_ind_struct;
907
908#ifdef __MBIM_MS_NETWORK_BLACKLIST__
909typedef struct {
910 LOCAL_PARA_HDR
911 nw_black_list_operator_result_enum result;
912} rac_gmss_fplmn_action_cnf_struct;
913
914typedef struct {
915 LOCAL_PARA_HDR
916 kal_bool black_list_lock_state;
917 kal_bool is_init;
918 kal_uint16 no_plmn_entry;
919 kal_uint8 *plmn_data;
920} rac_gmss_nw_black_list_state_ind_struct;
921#endif
922
923typedef struct
924{
925 LOCAL_PARA_HDR
926 allowed_mcc_list_action_enum action;
927 kal_uint8 allowed_mcc_number;
928 kal_uint16 allowed_mcc_list[MAX_ALLOWED_MCC_LIST_NUMBER];
929} rac_gmss_set_allowed_mcc_list_req_struct;
930
931typedef struct
932{
933 LOCAL_PARA_HDR
934 kal_bool result;
935} rac_gmss_set_allowed_mcc_list_cnf_struct;
936
937#endif