[Feature][Modem]Update MTK MODEM V1.6 baseline version: MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6
MTK modem version: MT2735_IVT_MOLY.NR15.R3.MD700.IVT.MP1MR3.MP.V1.6.tar.gz
RF modem version: NA
Change-Id: I45a4c2752fa9d1a618beacd5d40737fb39ab64fb
diff --git a/mcu/protocol/interface/l4/l4c2rac_struct.h b/mcu/protocol/interface/l4/l4c2rac_struct.h
new file mode 100644
index 0000000..327cfca
--- /dev/null
+++ b/mcu/protocol/interface/l4/l4c2rac_struct.h
@@ -0,0 +1,885 @@
+/*****************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2005
+*
+* BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+* THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+* RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+* AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+* NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+* SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+* SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+* THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+* NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+* SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+* BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+* LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+* AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+* OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+* MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+* THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+* WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+* LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+* RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+* THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ * l4crac_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for structure definition between RAC and L4C.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+/*******************************************************************************
+* Copyright Statement:
+* --------------------
+* This software is protected by Copyright and the information contained
+* herein is confidential. The software may not be copied and the information
+* contained herein may not be used or disclosed except with the written
+* permission of MediaTek Inc. (C) 2002
+*
+*******************************************************************************
+ * FILENAME : l4c2rac_struct.h
+ * SYNOPSIS : Functions for encoding/decoding.
+ *
+ * R E V I S I O N H I S T O R Y
+ *
+ */
+#ifndef _L4C2RAC_STRUCT_H
+#define _L4C2RAC_STRUCT_H
+
+#include "ps_public_enum.h"
+#include "kal_public_defs.h"
+#include "mcd_l3_inc_struct.h"
+#include "kal_general_types.h"
+#include "l3_inc_enums.h"
+#include "l3_inc_local.h"
+#include "l4c_common_enum.h"
+#include "l4crac_enums.h"
+#include "sim_public_enum.h"
+#include "ims_common_def.h"
+#include "irat_common_enums.h"
+#include "gmss_public.h"
+#include "rac_gmss_struct.h"
+
+#include "c2k_irat_msg_struct.h"
+#include "l4c_eval_struct.h"
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+} l4crac_act_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
+ mm_user_search_cause_enum search_cause; //used for GSMA SIM block feature
+} l4crac_reg_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ mm_user_search_type_enum search_type; //mm_user_search_type_enum, erica 20070424, MAUI_00232280
+} l4crac_ps_reg_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ domain_id_enum service; /* CS/PS/CS_PS*/
+ kal_bool is_poweroff; /* TRUE/FALSE*/
+ l4c_rac_detach_cause_enum detach_cause; /*DETACH_CAUSE_NONE/DETACH_CAUSE_DUPLEX_MODE_CHANGE*/
+ kal_uint8 sim_index; /*which sim is invalid*/
+ rat_enum reject_rat; /*which rat reject the sim*/
+} l4crac_dereg_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rfoff_cause_enum rfoff_cause;
+} l4crac_rfoff_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ user_list_type_enum user_list_type;
+ rat_enum list_rat;
+ 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.
+ kal_uint32 given_timer_period; //used for the USER_LIST_TYPE_GIVEN_TIMER_NUMBER to guard the plmn list procedure, if the timer timeout, RAC will notify lower layer to update what they found
+ network_scan_input_struct network_scan_input;
+} l4crac_plmn_list_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ ms_mobile_class_enum ms_class; /* CC/CG/B*/
+} l4crac_class_change_req_struct;
+
+#if 0 // MOLY00083802 remove band related codes in RAC
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#ifdef __LTE_RAT__
+/* under construction !*/
+/* under construction !*/
+#endif /* __LTE_RAT__ */
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#if defined(__GEMINI__)
+typedef struct {
+ LOCAL_PARA_HDR
+ sim_config_status_enum sim_config_status; // refer to sim_config_status_enum
+ sim_insert_status_enum sim_insert_status; // refer to sim_insert_status_enum
+}l4crac_sim_status_update_req_struct;
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; /* source id*/
+ plmn_id_rat_struct plmn_id;
+ //kal_uint8 plmn_sel_mode;
+
+ /* Johnny:
+ AUTO_RESELECTION/MANUAL_RESELECTION, there is no __MANUAL_MODE_NW_SEL__ compile option
+ */
+ plmn_reselection_enum plmn_reselection_mode;
+ rat_enum preference; // 0:default , 1:GSM , 2:UMTS
+ endc_search_enum endc_search_mode;
+ kal_uint32 factory_mode_arfcn; //FastCampOn 20081104
+#ifdef __CSG_SUPPORT__
+//mtk02475: for Rel8 CSG feature, user can specify CSG id for manual CSG selection
+ kal_bool is_manual_csg_sel;
+ kal_uint32 csg_id;
+#endif
+} l4crac_plmn_search_req_struct;
+
+typedef rac_gmss_abort_enwsel_search_req_struct l4crac_abort_enwsel_search_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ rat_enum rat_mode;
+ kal_bool save_to_nvram; //MAUI_02554068
+}l4crac_set_rat_mode_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+}l4crac_plmn_list_stop_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ prefer_rat_type_enum type;
+ rat_enum prefer_rat;
+ kal_uint32 rat_num;
+ rat_enum rat_order[MAX_SUPPORTED_RAT];
+}l4crac_set_prefer_rat_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ prefer_rat_type_enum type;
+}l4crac_get_prefer_rat_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ susp_resu_mode_enum mode;
+ susp_resu_action_enum action;
+ kal_uint8 susp_id;
+ susp_resu_source_enum source;
+}l4crac_susp_resu_update_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_supporting_roaming;
+ kal_bool disable_international_roaming_support;
+ kal_bool disable_national_roaming_support;
+ kal_bool disable_hhplmn_search_support;
+}l4crac_set_roaming_mode_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool force_send_SCRI;
+ end_session_cause_enum cause;
+}l4crac_end_ps_data_session_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ end_session_cause_enum cause;
+}l4crac_end_ps_data_session_ind_struct;
+
+#ifdef __CSG_SUPPORT__
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ plmn_id_rat_struct plmn_id_rat; //mtk02475: user can specified the CSG list scope
+} l4crac_csg_list_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+}l4crac_csg_list_stop_req_struct;
+#endif /* __CSG_SUPPORT__ */
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ l4c_rac_sms_preference_enum sms_preference;
+ kal_bool is_from_provision;
+} l4crac_set_sms_preference_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool enable;
+} l4crac_set_sms_over_sgs_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_utran_vdp_valid;
+ kal_bool is_eutran_vdp_valid;
+ l4_voice_domain_preference_enum utran_voice_domain_preference;
+ l4_voice_domain_preference_enum eutran_voice_domain_preference;
+ kal_bool is_from_provision;
+} l4crac_set_voice_domain_preference_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ ue_usage_setting_enum ue_usage_setting;
+} l4crac_set_ue_usage_setting_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ ue_mode_enum ue_mode;
+} l4crac_set_ue_mode_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_ims_voice_available;
+} l4crac_set_ims_voice_availability_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_ims_sms_available;
+} l4crac_set_ims_sms_availability_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+} l4crac_sim_ready_ind_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ sim_error_cause_enum cause;
+} l4crac_sim_error_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
+} l4crac_set_recovery_search_timer_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool result;
+} l4crac_set_recovery_search_timer_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; // need to piggyback to L4C
+} l4crac_get_recovery_search_timer_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id; // piggyback to L4C from REQ
+ kal_uint32 timer_interval[MAX_RECOVERY_TIMER_NUM];
+} l4crac_get_recovery_search_timer_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ ps_cause_enum cause;
+} l4crac_eps_attach_needed_rej_rsp_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ ct_mode_enum mode;
+} l4crac_set_ct_mode_req_struct;
+
+
+#if defined(__CDMA2000_RAT__)
+typedef struct
+{
+ LOCAL_PARA_HDR
+ mmdc_recovery_search_enum trigger_type;
+} l4crac_mmdc_recovery_search_req_struct;
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ act_sim_enum active_sim;
+}l4crac_active_sim_ind_struct, l4crac_active_sim_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ plmn_id_struct plmn;
+ rat_enum rat;
+ kal_uint8 ara_start[2];
+ kal_uint8 ara_end[2];
+}l4crac_aral_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ ims_reg_state_enum reg_state;
+ ims_reg_type_enum reg_type;
+ ims_dereg_cause_enum dereg_cause;
+ ims_access_rat_enum rat;
+ kal_bool is_retry;
+ kal_uint32 ext_info;
+} l4crac_ims_reg_status_update_req_struct;
+
+#ifdef __IMS_SUPPORT__
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_ims_voice_support;
+ kal_bool is_ims_sms_support;
+ ims_cap_rat_enum ims_rat_cap;
+} l4crac_ims_config_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ims_reg_type_enum reg_type;
+} l4crac_ims_reg_start_req_struct, l4crac_ims_dereg_start_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ims_timer_type_enum timer_type;
+ ims_timer_status_enum timer_status;
+ kal_uint16 timer_length;
+} l4crac_ims_timer_status_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ims_special_event_enum ims_event;
+ imcb_imc_sip_cause_enum sip_cause;
+} l4crac_ims_event_update_req_struct;
+
+#endif /* __IMS_SUPPORT__*/
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_ims_roaming_enable;
+} l4crac_set_ims_roaming_config_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ custom_plmn_type_enum type;
+} l4crac_get_custom_plmn_list_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ custom_plmn_type_enum type;
+ kal_uint8 plmn_ver[2];
+ kal_uint16 no_plmn_entry;
+ kal_uint8 *plmn_data;
+} l4crac_custom_plmn_list_update_req_struct;
+
+#ifdef __VOLTE_SUPPORT__
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ mm_ims_voice_termination mm_ivt;
+} l4crac_set_mm_ims_voice_termination_req_struct;
+#endif /* __VOLTE_SUPPORT__ */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ call_status_enum call_status;
+ call_type_indication_enum call_type;
+ kal_bool is_flight_mode_on_ecc; // GMSS need this flag to determine System/PLMN selection logic during filght mode ECC
+ rat_enum call_current_rat; // the call start/stop current rat
+} l4crac_call_status_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rat_enum rat;
+} l4crac_set_first_camp_on_prefer_rat_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ emdstatus_md_config_enum md_config;
+ emdstatus_sim_config_enum sim_config;
+} l4crac_md_sim_config_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ plmn_id_struct plmn_id;
+} l4crac_disable_eutran_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool geran_tdma;
+ kal_bool utran_fdd;
+ kal_bool utran_tdd_lcr;
+ kal_bool eutran_fdd;
+ kal_bool eutran_tdd;
+ kal_bool nr_fdd;
+ kal_bool nr_tdd;
+ mode_switch_cause_enum cause;
+} l4crac_duplex_mode_change_req_struct;
+
+ typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ } l4crac_clear_mru_req_struct;
+
+ typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ rat_enum rat;
+ plmn_id_struct plmn_id;
+ kal_uint16 arfcn;
+ kal_uint8 requested_band;
+} l4crac_set_mru_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ rat_enum rat;
+ plmn_id_struct plmn_id;
+} l4crac_set_aux_plmn_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool voice_over_ims_ongoing;
+} l4crac_ims_call_info_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ ims_scm_info_type_enum application;
+ ims_scm_info_action_enum indication;
+} l4crac_ims_scm_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ wm_policy_enum wm_policy;
+} l4crac_set_wm_policy_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool data_enabled_setting;
+ kal_bool data_roaming_setting;
+} l4crac_set_roaming_data_config_req_struct;
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ module_type dst_id; // destination module ID
+ omadm_cmd_type_enum cmd;
+ omadm_node_type_enum node_type; // OMADM node
+ kal_uint32 node_value; // used only cmd=SET
+} l4crac_omadm_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ mru_cmd_type_enum cmd;
+ mmss_list_type_enum list_type; // RAL or MRU
+ vzwmru_entry_struct entry; // used only cmd=EDIT
+} l4crac_vzwmru_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ hvolte_mode_enum mode;
+ kal_bool is_for_silent_redial;
+ set_hvolte_mode_cause_enum cause;
+} l4crac_set_hvolte_mode_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool mode; //to indicate the mode=0/1 to RAC
+} l4crac_cs_voice_call_protection_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
+} l4crac_data_allow_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_main_ps; /* GEMINI : data preferred SIM e.g. internet data*/
+} l4cvdm_data_allow_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_bool is_user_selected_main_ps; /* GEMINI : user selected data preferred stack e.g. internet data*/
+} l4crac_user_selected_main_ps_req_struct;
+
+typedef struct{
+ LOCAL_PARA_HDR
+ kal_uint8 tw_mode;
+ kal_uint8 setting;
+} l4crac_gmss_set_tw_mode_req_struct;
+
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_apn_enable;
+} l4crac_vzw_admin_apn_setting_notify_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_data_service_present;
+ kal_bool is_data_service_on;
+ kal_bool is_data_roaming_service_present;
+ kal_bool is_data_roaming_service_on;
+} l4crac_data_service_status_update_req_struct;
+
+#ifdef __GEMINI__
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+}l4crac_rsim_auth_abort_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_rsim_enable;
+}l4crac_rsim_set_ps_only_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_rsim_enabled; /* TRUE when RSIM is enabled, (i.e when AT+ERSIM = 1 is received), FALSE when RSIM is disabled, (i.e when AT+ERSIM = 0 is received)*/
+ kal_bool is_aka_sim_enabled; /* TRUE when AKA SIM is enabled (I.E when AT+ERSIMAKA=1 is received), FALSE when AKA SIM is enabled, (i.e when AT+ERSIMAKA = 0 is received) */
+}l4crac_rsim_aka_status_req_struct;
+
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_ct_volte_support;
+} l4crac_volte_status_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+} l4crac_reset_ota_ctxt_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+} l4crac_get_last_rat_select_ind_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ vzw_barring_timer_type_enum timer_type;
+ kal_uint32 timer_interval; /* in second */
+} l4crac_gmss_set_plmn_barring_timer_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_bool result;
+} l4crac_gmss_set_plmn_barring_timer_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ vzw_barring_timer_type_enum timer_type;
+} l4crac_gmss_get_plmn_barring_timer_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint32 timer_interval;
+} l4crac_gmss_get_plmn_barring_timer_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ rat_enum disable_rat;
+}l4crac_rat_disable_config_req_struct; /*TMO diable 2G*/
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ kal_uint8 svn; // BCD type, non reverse
+} l4crac_set_ms_sv_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ fplmn_action_enum action;
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+ kal_bool card_lock;
+#endif
+ kal_uint8 fplmn_count;
+ plmn_id_struct fplmn_id[MAX_NUM_FPLMNS];
+} l4crac_fplmn_action_req_struct;
+
+typedef struct {
+ kal_bool is_mobile_data_enable_present;
+ kal_bool is_mobile_data_enable;
+ kal_bool is_mobile_data_roaming_enable_present;
+ kal_bool is_mobile_data_roaming_enable;
+ kal_bool is_volte_enable_present;
+ kal_bool is_volte_enable;
+ kal_bool is_vzw_ims_test_mode_enable_present;
+ kal_bool is_vzw_ims_test_mode_enable;
+} l4crac_cellular_network_config;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4crac_cellular_network_config config;
+}l4crac_cellular_network_config_req_struct;
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 purpose;
+ kal_uint8 mode;
+ kal_uint32 timer1;
+ kal_bool is_timer1_valid;
+ kal_uint32 timer2;
+ kal_bool is_timer2_valid;
+}l4crac_set_timer_req_struct;
+#endif
+
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ module_type user;
+ kal_uint8 src_id;
+ vg_option_enum vg_option_bitmap;
+ kal_uint8 act_operation; // 0 (default value): no operation, 1: need local release, 2: need local release + trigger NR search
+} l4crac_vg_option_update_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ module_type user; // Piggy back
+ kal_uint8 src_id;
+ kal_bool result;
+} l4crac_vg_option_update_cnf_struct;
+
+//should be the same as mm_emm_csfb_page_rsp_struct
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_accept_paging; //Whether upper layer decides to answer the mobile terminating CS service
+} l4crac_csfb_page_rsp_struct;
+
+//should be the same as mm_emm_csfb_page_config_req_struct
+typedef struct {
+ LOCAL_PARA_HDR
+ csfb_page_config_enum csfb_page_config;
+ kal_uint8 add_info; // if csfb_page_config is 3 or 4, add_info will be the new timer value
+} l4crac_csfb_page_config_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool is_rude_wakeup;
+}l4crac_screen_on_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool normal_oos_recovery_round_present;
+ kal_uint8 normal_oos_recovery_round; /* default value =5, range [2,10] */
+ kal_bool inactive_fullband_period_present;
+ kal_uint16 inactive_fullband_period; /* default value =200s, range [90,360] */
+ kal_bool inactive_sniffer_period_present;
+ kal_uint8 inactive_sniffer_period; /* default value =30s, range [10,60] */
+ kal_bool is_inactive_mode_present;
+ kal_bool is_inactive_mode; /* TRUE: Enter inactive mode, FALSE: Leave inactive mode*/
+ kal_bool inactive_scan_time_present;
+ kal_uint32 inactive_scan_time;
+ kal_bool inactive_sleep_time_present;
+ kal_uint32 inactive_sleep_time;
+} l4crac_inactive_mode_configuration_req_struct;
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 trans_id;
+ ims_service_type_enum type;
+ ims_service_status_enum status;
+ kal_uint8 src_id; //source id of this message (IMS or VDM)
+} l4crac_uac_param_check_req_struct; // rac_vgmm_ims_uac_req_struct
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ kal_uint8 trans_id;
+ kal_uint8 src_id; //source id of this message (IMS or VDM)
+} l4crac_uac_abort_req_struct; // rac_vgmm_ims_uac_abort_req_struct
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ims_service_type_enum type;
+ ims_service_status_enum status;
+} l4crac_nr_ims_service_status_req_struct; // rac_vgmm_ims_service_status_req_struct
+
+
+// TODO: Define below struct
+/* Below enums are defined in rac_vgmm_struct.h.
+ rac_vgmm_struct.h includes this header, so this header cannot include it again.
+ Do not use kal_uint8/kal_uint32. The sizes of enums are unpredictable!
+*/
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct
+{
+ LOCAL_PARA_HDR
+} l4crac_emergency_service_fallback_req_struct; // rac_vgmm_emergency_service_fallback_req_struct
+
+typedef l4c_eval_sr_failure_ind_struct l4crac_vgmm_proc_failure_ind_struct;
+
+#if defined(__TC01__) // at%ltecall
+typedef struct{
+ #if defined(__GSM_RAT__)
+ kal_uint8 requested_gsm_band;
+ #endif /* __GSM_RAT__ */
+ #if defined(__UMTS_RAT__)
+ kal_uint8 requested_umts_fdd_band[SIZE_OF_UMTS_BAND];
+ #endif /* __UMTS_RAT__ */
+}custom_factory_ugrac_context_struct;
+
+#ifdef __LTE_RAT__
+typedef struct{
+ kal_uint8 requested_lte_band[SIZE_LTE_BAND];
+}custom_factory_rac_erac_context_struct;
+#endif
+
+typedef struct {
+ kal_uint8 factory_dynamic_band;
+ rat_enum factory_change_rat;
+ #if defined(__GSM_RAT__) || defined(__UMTS_RAT__)
+ custom_factory_ugrac_context_struct ugrac;
+ #endif
+ #if defined(__LTE_RAT__)
+ custom_factory_rac_erac_context_struct erac;
+ #endif /* __LTE_RAT__ */
+ kal_uint8 initial_lte_call;
+}custom_factory_band_context_struct;
+#endif /* __TC01__ */
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool high_prio_timer_config;
+} l4crac_high_prio_search_timer_config_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ l4c_source_id_enum src_id;
+ kal_bool is_disable_integrity_check; //KAL_TRUE to disable integirty check
+ } l4crac_set_save_rac_preference_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_bool ims_pdn_activation_ongoing;
+ } l4crac_ims_pdn_activation_req_struct;
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+typedef struct
+{
+ LOCAL_PARA_HDR
+ ecall_registration_state_enum ecall_reg_state;
+} l4crac_set_ecall_registration_req_struct;
+#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
+typedef rac_gmss_set_allowed_mcc_list_req_struct l4crac_set_allowed_mcc_list_req_struct;
+
+typedef rac_gmss_set_allowed_mcc_list_cnf_struct l4crac_set_allowed_mcc_list_cnf_struct;
+#endif /* _L4C2RAC_STRUCT_H */
+