[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 */
+