[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/rac2l4c_struct.h b/mcu/protocol/interface/l4/rac2l4c_struct.h
new file mode 100644
index 0000000..91846be
--- /dev/null
+++ b/mcu/protocol/interface/l4/rac2l4c_struct.h
@@ -0,0 +1,896 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *	rac2l4c_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 : rac2l4c_struct.h
+ *  SYNOPSIS : Functions for encoding/decoding.
+ *
+ *                      R E V I S I O N    H I S T O R Y
+ *
+ */
+#ifndef _RAC2L4C_STRUCT_H
+#define _RAC2L4C_STRUCT_H
+
+//#include "kal_non_specific_general_types.h"
+#include "kal_public_defs.h"
+#include "ps_public_enum.h"
+#include "mcd_l3_inc_struct.h"
+#include "l3_inc_local.h"
+#include "kal_general_types.h"
+#include "l4c_common_enum.h"
+#include "l4crac_enums.h"
+#include "l3_inc_enums.h"
+#include "ps_public_struct.h"
+#include "gmss_public.h"
+#include "rac_gmss_struct.h"
+#include "l4c2rac_struct.h"
+#include "c2k_irat_msg_struct.h"
+#include "rac_nas_sv_struct.h"
+#include "rac_vgmm_struct.h"
+#include "global_type.h"
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+#include "l5_l4c_enums.h"
+#endif
+
+typedef struct {
+    plmn_id_struct plmn_id;
+    kal_uint8 status;
+} plmn_info_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_response_enum response; /* OK*/
+} l4crac_act_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    plmn_selection_mode_enum plmn_sel_mode; /* AUTO/MANUAL*/
+    l4c_rac_response_enum gsm_status; /* OK/No Cell/Limited service*/
+    l4c_rac_gprs_status_enum gprs_status; /* l4c_rac_gprs_status_enum */
+//    kal_uint8 acq_service; /* acquired service: CS/PS/CS_PS*/
+    cell_info_and_rat_struct cell_info;
+    /* MAUI_01650679, __NW_REGISTRATION_CAUSE__ */
+    mm_cause_enum cause; /* registration result */
+} l4crac_reg_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_gprs_status_enum gprs_status; /* l4c_rac_gprs_status_enum */
+    data_speed_support_enum cell_data_speed_support;
+} l4crac_ps_reg_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    //kal_uint8 service; /* CS/PS/CS_PS*/
+    //kal_uint8 status; /* l4c_rac_dereg_cnf_status_enum */
+    data_speed_support_enum cell_data_speed_support;
+} l4crac_dereg_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_response_enum response; /* OK or ERROR */
+    mm_cause_enum cause;
+    kal_uint8 num_of_hplmn;
+    rac_plmn_list_struct plmn_list;
+    data_speed_support_enum cell_data_speed_support;
+    user_list_type_enum user_list_type;
+} l4crac_plmn_list_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    rac_plmn_list_struct plmn_list;
+    list_ind_source_enum source;
+} l4crac_plmn_list_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    reg_state_ind_struct reg_state_ind;
+} l4crac_reg_state_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    domain_id_enum domain; /* domain_id_enum */
+    mm_cause_enum cause; /* mm_cause_enum */
+} l4crac_reg_cause_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 scell_number_ul;
+    kal_uint8 scell_number_dl;
+    data_speed_support_enum cell_data_speed_support;
+} l4crac_ps_bearer_info_ind_struct;
+
+#if 0 //rx_level, mtk02285, remove old interface
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif /* 0 */
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool full_nw_nameP;
+    kal_uint8 full_nw_name_len;
+    kal_uint8 full_nw_name[MAX_NW_NAME_LENGTH];
+    kal_bool short_nw_nameP;
+    kal_uint8 short_nw_name_len;
+    kal_uint8 short_nw_name[MAX_NW_NAME_LENGTH];
+    kal_bool nw_time_zoneP;
+    kal_uint8 nw_time_zone;
+    kal_bool nw_time_zone_timeP;
+    nw_time_zone_time_struct nw_time_zone_time;
+    kal_bool lsa_idP;
+    kal_uint8 lsa_id_len;
+    kal_uint8 lsa_id[3];
+    kal_bool nw_day_light_saving_timeP;
+    kal_uint8 nw_day_light_saving_time;
+    /* MAUI_01664028, mtk02118: added for MMI to exactly know which PLMN the NITZ comes from */
+    plmn_id_struct plmn_id;
+    kal_uint8 domain;  /* 0: CS domain, 1: PS domain */
+} l4crac_nw_info_ind_struct;   /* Struct shall be the same as gmmreg_nw_info_ind_struct. */
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_response_enum gsm_status; /* OK/No Cell/Limited service*/
+    l4c_rac_gprs_status_enum gprs_status; /* l4c_rac_gprs_status_enum */
+} l4crac_class_change_cnf_struct;
+
+#if 0 // MOLY00083802 remove band related codes in RAC
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool is_gsm_conn_exist;
+    gmmreg_cipher_ind_enum gsm_cipher_cond;
+    gmmreg_cipher_ind_enum gprs_cipher_cond;
+} l4crac_cipher_ind_struct; /* Must same as gmmreg_cipher_ind_struct */
+
+typedef struct {
+    LOCAL_PARA_HDR
+    cell_info_and_rat_struct cell_info;
+    l4c_rac_response_enum gsm_status; /* l4c_rac_response_enum */
+} l4crac_hz_cell_info_update_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool is_dedicated_mode;
+} l4crac_hz_dedicated_mode_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool is_pkt_transfer_mode;
+} l4crac_hz_pkt_transfer_mode_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    mmi_event_enum event_id;  //mmi_event_enum
+} l4crac_ps_event_report_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    kal_bool result;
+} l4crac_set_roaming_mode_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_response_enum gsm_status; /* l4c_rac_response_enum */
+    l4c_rac_gprs_status_enum gprs_status; /* l4c_rac_gprs_status_enum */
+    mm_cause_enum cause;
+    cell_info_and_rat_struct cell_info;
+    data_speed_support_enum cell_data_speed_support;
+} l4crac_plmn_search_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    kal_bool result;
+    mm_cause_enum cause;
+} l4crac_set_rat_mode_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+} l4crac_plmn_list_stop_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    kal_bool result;
+} l4crac_set_prefer_rat_cnf_struct;
+
+
+//#ifdef __GEMINI__
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_rac_mmrr_service_status_enum service_status;
+} l4crac_mmrr_service_status_ind_struct; //GEMINI, 20080217
+//#endif
+
+//#ifdef __REL5__
+typedef struct {
+	kal_uint8          category;
+	l4_addr_bcd_struct	tel_number;
+} rac_ecc_number_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 no_ecc; //number of ECC list
+    rac_ecc_number_struct ecc_list[MAX_NW_ECC_NUM]; //ECC list
+} l4crac_nw_ecc_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool  is_ecc_changed;
+    kal_uint8 no_ecc; //number of ECC list
+    rac_ecc_number_struct ecc_list[MAX_NW_ECC_NUM]; //ECC list
+    kal_bool            is_eenl_changed;          // tell L4 if eenl changed
+    plmn_id_struct      eenl_plmn;
+} l4crac_nw_ecc_eenl_ind_struct;
+
+
+//#endif
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 susp_id;
+    susp_resu_source_enum target;
+} l4crac_suspend_status_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    end_session_result_enum result;
+} l4crac_end_ps_data_session_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    susp_resu_result_enum result;
+    susp_resu_source_enum target;
+} l4crac_susp_resu_update_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id; /* source id*/
+    l4c_rac_response_enum response; /* OK or ERROR */
+    mm_cause_enum cause;
+    rac_csg_list_struct csg_list;
+} l4crac_csg_list_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+} l4crac_csg_list_stop_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    rat_enum                        active_rat;
+} l4crac_active_rat_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_set_sms_preference_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_rac_sms_preference_enum     sms_preference;
+} l4crac_update_sms_preference_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_set_voice_domain_preference_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_ims_reg_status_update_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_set_ue_usage_setting_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_set_ue_mode_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+} l4crac_set_ims_voice_availability_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+} l4crac_set_ims_sms_availability_cnf_struct;
+
+#ifdef __VOLTE_SUPPORT__
+typedef struct
+{
+    LOCAL_PARA_HDR
+    voice_domain_preference_enum    eutran_voice_domain_preference;
+    ue_usage_setting_enum           ue_usage_setting;
+    ue_mode_enum                    ue_mode;
+} l4crac_uemode_param_update_ind_struct;
+#endif /* __VOLTE_SUPPORT__ */
+
+typedef struct l4crac_nw_feature_ind_struct
+{
+    LOCAL_PARA_HDR
+    rat_enum		                    active_rat;
+    union
+    {
+        vgmm_nw_feature_support_struct   nr;
+        emm_nw_feature_support_struct   eps;
+        gmm_nw_feature_support_struct   ug;
+    } nw_feature;
+} l4crac_nw_feature_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool is_update_is_searching;
+    kal_bool is_searching;
+
+} l4crac_plmn_status_ind_struct;
+
+typedef struct{
+    LOCAL_PARA_HDR
+    irat_result_enum   result;
+    emm_cause_enum emm_cause;
+    esm_cause_enum esm_cause;
+    kal_bool is_attach_needed;
+}l4crac_attach_result_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    nwsel_ims_service_enum          service_type;
+    kal_bool                        is_t311_expire;  /* RRC connection release due to RRC T311 timer expire */
+} l4crac_ims_service_ind_struct;
+
+#ifdef __VOLTE_SUPPORT__
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_set_mm_ims_voice_termination_cnf_struct;
+#endif /* __VOLTE_SUPPORT__ */
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_disable_eutran_cnf_struct;
+
+typedef rac_gmss_rat_select_ind_struct l4crac_rat_select_ind_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+typedef rac_gmss_duplex_mode_change_ind_struct l4crac_duplex_mode_change_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum  src_id;
+    kal_bool            result;
+} l4crac_duplex_mode_change_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool is_mode_changed;
+    kal_bool utran_fdd;
+    kal_bool utran_tdd_lcr;
+    kal_bool eutran_fdd;
+    kal_bool eutran_tdd;
+    mode_switch_cause_enum  cause;
+}l4crac_duplex_mode_required_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+ } l4crac_clear_mru_cnf_struct;
+
+typedef struct
+{
+     LOCAL_PARA_HDR
+     l4c_source_id_enum src_id;
+     set_mru_result_enum result;
+} l4crac_set_mru_cnf_struct;
+
+typedef struct
+{
+     LOCAL_PARA_HDR
+     l4c_source_id_enum src_id;
+     set_aux_plmn_result_enum  result;
+} l4crac_set_aux_plmn_cnf_struct;
+
+typedef struct
+{
+	 LOCAL_PARA_HDR
+	 esm_cause_enum esm_cause;
+	 emm_cause_enum emm_cause;
+     mm_cause_enum  mm_cause;
+     emm_cause_source_enum emm_cause_source;
+	 reg_state_enum gsm_state; /* reg_state_enum */
+     reg_state_enum gprs_state; /* reg_state_enum */
+	 domain_id_enum domain;
+     rat_enum       rat;
+     kal_bool       is_auth_reject_during_attach;
+     integ_protect_status_enum       is_integ_protected;
+     mm_cause_enum abnormal_lu_cause;
+}l4crac_reg_combined_cause_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool enable;
+} l4crac_update_sms_over_sgs_cfg_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    kal_bool result;
+} l4crac_set_sms_over_sgs_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    rat_enum  rat;
+    kal_uint8  event_type;      // 0: successful completion of RAU procedure
+                                // 1: successful completion of TAU procedure
+}l4crac_nw_reg_status_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    rat_enum rat_mode; //User's setting, could be RAT_GSM or RAT_UMTS or RAT_LTE or RAT_GSM_UMTS_LTE
+    kal_bool is_pgcheck_on;
+}l4crac_set_pgcheck_req_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    rat_enum rat_mode; //User's setting, could be RAT_GSM or RAT_UMTS or RAT_LTE or RAT_GSM_UMTS_LTE
+    kal_bool is_pgcheck_on;
+    kal_uint8 causes;  // causes to be ignored.
+} l4crac_set_pgcheckext_req_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    omadm_cmd_type_enum cmd;
+    kal_bool result;                    // TRUE=>pass, FALSE=>error
+    omadm_node_type_enum node_type;     // OMADM node
+    kal_uint32 node_value;
+} l4crac_omadm_update_cnf_struct;
+
+#define VZWMRU_UPDATE_RESULT_NUM_MAX 10
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    mru_cmd_type_enum cmd;
+    kal_bool result;                                                //TRUE=>pass, FALSE=>error
+    mmss_list_type_enum list_type;                                  // RAL or MRU
+    kal_uint32 entry_num;                                           //used only when cmd=QUERY
+    vzwmru_entry_struct entries[SYS_MAX_MMSS_REC_NUM];       //used only when cmd=QUERY
+} l4crac_vzwmru_update_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+} l4crac_set_hvolte_mode_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool   is_1x_service_available;
+} l4crac_c2k_service_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    irat_ps_type_enum   access_type;
+    kal_uint16          sid;
+    kal_uint16          nid;
+    kal_uint8           pzid;
+    kal_uint16          base_id;
+    kal_uint32          sector_id[4];
+    kal_uint8           subnet_length;
+    kal_uint8           carrier_id[7];
+} l4crac_c2k_cell_info_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool   is_cs_conn_start;
+} l4crac_1x_conn_status_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    rat_enum availabel_rat;
+    kal_uint8 cause;
+    kal_uint8        trans_id;
+} l4crac_emc_service_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    rat_enum new_reported_rat;
+    kal_bool is_home;
+} l4crac_reported_rat_change_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 src_id;
+    custom_plmn_type_enum type;
+    kal_uint16 no_plmn_entry;
+    kal_uint8 *plmn_data;
+}l4crac_get_custom_plmn_list_cnf_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_get_prefer_rat_cnf_struct;
+
+
+typedef struct {
+    LOCAL_PARA_HDR
+    rat_enum rat;
+    rat_duplex_type_enum duplex_type;
+    plmn_id_struct plmn_id;
+    kal_uint8 la_code[2];
+    kal_uint8 ta_code[3];
+    kal_uint64 cell_id; /* CELL ID*/
+} l4crac_camped_cell_info_ind_struct;
+//Korea - KT UI display (Add Cell bandwidth of LTE cell)
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint16 bandwidth;
+}l4crac_lte_bandwidth_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    plmn_id_struct plmn_id;
+}l4crac_plmn_found_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    RATCM_RRC_ReleaseCause rrc_rel_cause;
+}l4crac_rrc_conn_rel_ind_struct;
+
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+} l4crac_ims_scm_cnf_struct;
+
+#ifdef __GEMINI__ //__REMOTE_SIM__
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+}l4crac_rsim_auth_abort_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool is_virtual_connected;
+}l4crac_virtual_mode_ind_struct;
+
+typedef struct {
+	LOCAL_PARA_HDR
+    rsim_auth_finish_result_enum result;
+}l4crac_auth_finish_ind_struct;
+
+#endif
+
+typedef rac_gmss_ims_call_end_status_ind_struct l4crac_ims_call_end_status_ind_struct;
+typedef rac_gmss_c2k_csfb_start_ind_struct l4crac_c2k_csfb_start_ind_struct;
+typedef rac_gmss_hvolte_mode_change_ind_struct l4crac_hvolte_mode_change_ind_struct;
+typedef rac_gmss_suspend_egreg_update_ind_struct l4crac_suspend_egreg_update_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    ca_info_enum ca_info;
+    kal_uint8 scell_bmp_dl;
+    kal_uint8 scell_bmp_ul;
+	kal_uint8 pcell_bw;
+	kal_uint8 scell_bw[4];
+    kal_uint16  pcell_band;
+    kal_uint16  scell_band[4];
+    EARFCN  pcell_earfcn;
+    kal_uint16  scell_dl_band[4];
+    EARFCN  scell_dl_earfcn[4];
+} l4crac_ca_info_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum              src_id;
+    kal_bool                        result;
+} l4crac_reset_ota_ctxt_cnf_struct;
+typedef struct
+{
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    l4crac_rat_select_ind_struct last_rat_select_ind;
+} l4crac_get_last_rat_select_ind_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    nas_proc_enum nas_proc;
+    mm_cause_enum nas_rej_cause;
+    kal_uint8 attempt_counter;
+    rat_enum rat;
+    esm_cause_enum esm_cause;
+    lr_result_enum lr_result;
+}l4crac_nw_reg_rej_ind_struct; //MOLY00293006
+
+typedef l4crac_plmn_found_ind_struct l4c_peer_plmn_found_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_uint8 n3en_indicator;   /* Non-3GPP NW emergency number indicator */
+} l4crac_non_3gpp_nw_policies_ind_struct;    /* Non-3GPP NW provided policies IE */
+
+typedef struct {
+    LOCAL_PARA_HDR
+	plmn_id_struct current_plmn_id;
+} l4crac_eps_attach_needed_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool is_invalid;
+    rat_enum  rat;
+    plmn_id_struct plmn_id;
+	kal_uint8     carrier_id[6];
+}l4crac_illegal_me_ind_struct;
+
+typedef rac_nas_sv_rat_change_start_ind_struct l4crac_rat_change_start_ind_struct;
+typedef rac_nas_sv_rat_change_finish_ind_struct l4crac_rat_change_finish_ind_struct;
+
+//should be the same as mm_emm_csfb_page_ind_struct
+typedef struct {
+    LOCAL_PARA_HDR
+    mm_emm_csfb_paging_id_enum  csfb_paging_id;         //Paging identity used in CS SERVICE NOTIFICATION
+    kal_bool                    is_cli_present;         //Whether CLI (Calling Line Identification) IE exists or not
+    kal_uint8                   cli_len;                //Length of CLI
+    kal_uint8                   cli[12];                //CLI value Refer to TS 24.008 subclause 10.5.4.9  Calling party BCD number for decoding.
+    kal_bool                    is_ss_code_present;     //Whether SS code IE exists or not
+    kal_uint8                   ss_code;                //SS code value Refer to TS 29.002 subclause 17.7.5 for decoding.
+    kal_bool                    is_lcs_ind_present;     //Whether LCS indicator IE exists or not
+    kal_uint8                   lcs_indicatior;         //LCS indicator value; 0x01: MT-LR, Other values: Normal, unspecified in this version of the protocol
+    kal_bool                    is_lcs_client_id_present;   //Whether LCS client identity IE exists or not
+    kal_uint8                   lcs_client_id_len;      //Length of LCS client identity
+    kal_uint8                   lcs_client_id[255];     //LCS client identity value, Refer to TS 29.002 subclause 17.7.13 for decoding.
+}l4crac_csfb_page_ind_struct;
+
+//should be the same as mm_emm_csfb_result_ind_struct
+typedef struct {
+    LOCAL_PARA_HDR
+    mm_emm_csfb_result_enum mt_ccsfb_status;
+}l4crac_csfb_result_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool reg_state;
+    rat_enum rat;
+    cell_info_union cell_info;
+    plmn_id_struct plmn_id;
+    restrict_dcnr_enum dcnr_restricted;
+}l4crac_camp_ui_ind_struct;
+
+typedef rac_nas_sv_nrrc_state_ind_struct l4crac_nrrc_state_ind_struct;
+typedef rac_vgmm_ims_uac_cnf_struct l4crac_uac_param_check_cnf_struct;
+typedef rac_vgmm_ims_uac_alleviation_ind_struct l4crac_uac_alleviation_ind_struct;
+
+typedef rac_gmss_try_switch_rat_result_ind_struct l4crac_try_switch_rat_result_ind_struct;
+
+typedef rac_vgmm_emergency_service_ind_struct l4crac_emergency_service_ind_struct;
+typedef rac_vgmm_emergency_service_cnf_struct l4crac_emergency_service_cnf_struct;
+typedef rac_vgmm_emergency_service_fallback_cnf_struct l4crac_emergency_service_fallback_cnf_struct;
+
+typedef rac_vgmm_set_nssai_req_struct      l4crac_set_nssai_req_struct;
+typedef rac_vgmm_set_nssai_cnf_struct      l4crac_set_nssai_cnf_struct;
+typedef rac_vgmm_get_nssai_req_struct      l4crac_get_nssai_req_struct;
+typedef rac_vgmm_get_nssai_cnf_struct      l4crac_get_nssai_cnf_struct;
+typedef rac_vgmm_set_pref_nssai_req_struct l4crac_set_pref_nssai_req_struct;
+typedef rac_vgmm_set_pref_nssai_cnf_struct l4crac_set_pref_nssai_cnf_struct;
+typedef rac_vgmm_nw_params_ind_struct      l4crac_vgmm_nw_params_ind_struct;
+
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    rat_enum    active_rat;
+    kal_bool                 is_ps_sim_valid;
+    kal_bool                 is_cs_sim_valid;
+//for MM
+    kal_uint16     event;
+    kal_uint16     original_cause;
+    kal_uint16     converted_cause;
+
+} l4crac_cause_info_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    rat_enum rat;  /*to indicate which RAT's indication*/
+
+    network_scan_rat_union_type  nw_scan_rat_output;
+    nwsel_plmn_list_status_enum status;
+} l4crac_plmn_scan_ind_struct;
+
+typedef rac_nas_sv_cap_update_ind_struct l4crac_cap_update_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    gprs_traffic_channel_status_enum traffic_channel_status;
+} l4crac_gprs_traffic_channel_status_ind_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    l4c_source_id_enum src_id;
+    kal_uint8 result;
+ } l4crac_set_save_rac_preference_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool is_searching;
+} l4crac_as_plmn_search_report_ind_struct;
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+typedef struct {
+    LOCAL_PARA_HDR
+    nw_black_list_operator_result_enum result;
+} l4crac_fplmn_action_cnf_struct;
+
+typedef struct {
+    LOCAL_PARA_HDR
+    kal_bool black_list_lock_state;
+    kal_bool is_init;
+    kal_uint16 no_plmn_entry;
+    kal_uint8 *plmn_data;
+} l4crac_nw_black_list_state_ind_struct;
+#endif
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_bool result;  	/* 1 : success, 0: failure */
+} l4crac_set_ecall_registration_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    ecall_registration_state_enum  ecall_reg_state;
+} l4crac_set_ecall_registration_state_ind_struct;
+#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
+
+#endif /* _RAC2L4C_STRUCT_H */
+