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