[Feature]Upload Modem source code
Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/layer4/l4/include/atci_trc.h b/mcu/protocol/layer4/l4/include/atci_trc.h
new file mode 100644
index 0000000..5e2c699
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/atci_trc.h
@@ -0,0 +1,84 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * ATCI_TRC.H
+ *
+ * Project:
+ * --------
+ * MT6208
+ *
+ * Description:
+ * ------------
+ * This file is intends for �K.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ ****************************************************************************/
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+#ifndef _ATCI_TRC_H
+#define _ATCI_TRC_H
+//__GATI_ENABLE__
+#ifndef GEN_FOR_PC
+ #ifndef _STACK_CONFIG_H
+ #error "stack_config.h should be included before tst_config.h"
+ #endif
+#else
+ #include "kal_trace.h"
+#endif /* GEN_FOR_PC */
+#ifndef _KAL_TRACE_H
+ #error "kal_trace.h should be included before tst_trace.h"
+#endif
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "kal_trace.h"
+#if !defined(GEN_FOR_PC)
+#if defined(__TST_MODULE__) || defined(__CUSTOM_RELEASE__)
+#endif /* TST Trace Defintion */
+#endif
+#if !defined(GEN_FOR_PC)
+#include"atci_trc_mod_atci_utmd.h"
+#endif
+#endif
diff --git a/mcu/protocol/layer4/l4/include/atci_trc_mod_atci_utmd.json b/mcu/protocol/layer4/l4/include/atci_trc_mod_atci_utmd.json
new file mode 100644
index 0000000..04f8982
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/atci_trc_mod_atci_utmd.json
@@ -0,0 +1,4977 @@
+{
+ "endGen": "-",
+ "legacyParameters": {},
+ "module": "MOD_ATCI",
+ "startGen": "Legacy",
+ "traceClassDefs": [
+ {
+ "TRACE_INFO": {
+ "debugLevel": "Ultra-High",
+ "tag": [
+ "Baseline",
+ "TRACE_INFO"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_WARNING": {
+ "debugLevel": "Ultra-High",
+ "tag": [
+ "Baseline",
+ "TRACE_WARNING"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_ERROR": {
+ "debugLevel": "Ultra-High",
+ "tag": [
+ "Baseline",
+ "TRACE_ERROR"
+ ],
+ "traceType": "Public"
+ }
+ },
+ {
+ "TRACE_FUNC": {
+ "debugLevel": "Low",
+ "tag": [
+ "Baseline",
+ "TRACE_FUNC"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_STATE": {
+ "debugLevel": "Medium",
+ "tag": [
+ "Baseline",
+ "TRACE_STATE"
+ ],
+ "traceType": "DesignInfo"
+ }
+ },
+ {
+ "TRACE_GROUP_1": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_2": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_3": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_4": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_5": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_6": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_7": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_8": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_9": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_GROUP_10": {
+ "debugLevel": "Ultra-Low",
+ "tag": [
+ "Baseline"
+ ],
+ "traceType": "InternalDesign"
+ }
+ },
+ {
+ "TRACE_SENSITIVE_USIR": {
+ "debugLevel": "High",
+ "tag": [
+ "Baseline","USIR"
+ ],
+ "traceType": "Public"
+ }
+ }
+ ],
+ "traceDefs": [
+ {
+ "FUNC_GATI_DATA_REQ_HDLR": {
+ "apiType": "index",
+ "format": "gati_data_req_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_DATA_RSP_HDLR": {
+ "apiType": "index",
+ "format": "gati_data_rsp_hdlr",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_CTRL_REQ_HDLR": {
+ "apiType": "index",
+ "format": "gati_ctrl_req_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SWITCH_MODE_REQ_HDLR": {
+ "apiType": "index",
+ "format": "gati_switch_mode_req_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SUSPEND_READ_FROM_UART": {
+ "apiType": "index",
+ "format": "gati_suspend_read_from_uart()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_DATA_CNF": {
+ "apiType": "index",
+ "format": "gati_send_data_cnf()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_REGISTER_MODULE": {
+ "apiType": "index",
+ "format": "gati_register_module()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_DATA_IND": {
+ "apiType": "index",
+ "format": "gati_send_data_ind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_RTW_IND": {
+ "apiType": "index",
+ "format": "gati_send_rtw_ind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_ILM": {
+ "apiType": "index",
+ "format": "gati_send_ilm()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_FLUSH_BUFFER": {
+ "apiType": "index",
+ "format": "gati_flush_buffer()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_INSERT_DATA_TO_BUFFER": {
+ "apiType": "index",
+ "format": "gati_insert_data_to_buffer()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEARCH_MOD_INDEX": {
+ "apiType": "index",
+ "format": "gati_search_mod_index()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEARCH_COMMAND": {
+ "apiType": "index",
+ "format": "gati_search_command()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_COMMAND_HDLR": {
+ "apiType": "index",
+ "format": "gati_command_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_CTRL_CNF": {
+ "apiType": "index",
+ "format": "gati_send_ctrl_cnf()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GATI_SEND_SWITCH_MODE_CNF": {
+ "apiType": "index",
+ "format": "gati_send_switch_mode_cnf()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_NVRAM_READ_CNF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_nvram_read_cnf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_REGISTER_MODULE": {
+ "apiType": "index",
+ "format": "gas_register_module()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_SEND_DATA_IND": {
+ "apiType": "index",
+ "format": "gas_send_data_ind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_SEND_ILM": {
+ "apiType": "index",
+ "format": "gas_send_ilm()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_SEARCH_MOD_INDEX": {
+ "apiType": "index",
+ "format": "gas_search_mod_index()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_SEARCH_COMMAND": {
+ "apiType": "index",
+ "format": "gas_search_command()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_COMMAND_HDLR": {
+ "apiType": "index",
+ "format": "gas_command_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_DATA_REQ_HDLR": {
+ "apiType": "index",
+ "format": "gas_data_req_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_GAS_DATA_RSP_HDLR": {
+ "apiType": "index",
+ "format": "gas_data_rsp_hdlr",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMD_PROCESSOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmd_processor()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PROCESS_MULTI_CMD_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_process_multi_cmd()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIND_CMD_CLASS_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_find_cmd_class()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_BASIC_CMD_PROCESSOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_basic_cmd_processor()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EXTENDED_CMD_PROCESSOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_extended_cmd_processor()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EXTENDED_COMMAND_ANALYZER_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_extended_command_analyzer()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_BASIC_COMMAND_ANALYZER_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_basic_command_analyzer()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PROCESS_ONE_CMD_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_process_one_cmd()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_AGPS_COMMAND_ANALYZER_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_agps_command_analyzer()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_METER_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_meter_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_WAIT_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_wait_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_RING_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_ring_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_RELEASE_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_release_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_MODIFY_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_modify_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_CALL_CONNECT_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_call_connect_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_USSR_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_ussr_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_USSN_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_ussn_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_PS_CONNECT_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ps_connect_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_PS_ACTIVATE_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ps_activate_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_NW_REG_STATE_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_nw_reg_state_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_NW_TIME_ZONE_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_nw_time_zone_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_NEW_MSG_INDEX_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_new_msg_index_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_NEW_MSG_TEXT_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_new_msg_text_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_NEW_MSG_PDU_RIND_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_new_msg_pdu_rind()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_GENERAL_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_general_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_EXE_HANGUP_ACTIVE_CALL_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_exe_hangup_active_call_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_GET_CALL_LIST_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_get_call_list_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_EXE_CALL_ACCEPT_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_exe_call_accept_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_EXE_CALL_SETUP_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_exe_call_setup_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_CC_EXE_CALL_MODIFY_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_cc_exe_call_modify_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_DF_EXE_BACK_DATA_STATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_df_exe_back_data_state_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_EMLPP_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_emlpp_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CALL_FORWARD_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_call_forward_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CALL_WAIT_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_call_wait_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CDIP_INTERROGATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_cdip_interrogate_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CLIP_INTERROGATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_clip_interrogate_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CLIR_INTERROGATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_clir_interrogate_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CNAP_INTERROGATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_cnap_interrogate_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_COLP_INTERROGATE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_colp_interrogate_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SS_EXE_CALL_BARRING_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_ss_exe_call_barring_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_NW_GET_PLMN_LIST_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_nw_get_plmn_list_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_PHB_GET_ENTRY_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_phb_get_entry_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_EXE_RESTRICTED_ACCESS_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_exe_restricted_access_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_WRITE_SIM_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_write_sim_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_EXE_DIAL_MODE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_exe_dial_mode_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_GET_SHARED_KEY_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_get_shared_key_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_GET_SLB_VERSION_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_get_slb_version_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_GET_SIM_LOCK_STATUS_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_get_sim_lock_status_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMU_SML_STATUS_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_smu_sml_status_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_SEND_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_send_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_READ_MSG_LIST_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_read_msg_list_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_READ_MSG_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_read_msg_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_READ_MSG_LIST_PDU_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_read_msg_list_pdu_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_EMGL_LIST_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_emgl_list_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_READ_MSG_PDU_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_read_msg_pdu_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_WRITE_MSG_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_write_msg_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_SET_PREFERRED_MEM_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_set_preferred_mem_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_EQ_WRITE_NVRAM_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_eq_write_nvram_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_EQ_READ_NVRM_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_eq_read_nvram_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_IMS_SEND_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_ims_send_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SMS_EXE_IMS_SEND_FROM_STORAGE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sms_exe_ims_send_from_storage_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SCP_CELLINFO_SEND_REQ_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_scp_cellinfo_send_req()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_NW_BAND_INFO_RIND": {
+ "apiType": "index",
+ "format": "l4c_nw_band_info_rind",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_EVAL_LTE_TM9_READ_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_eval_lte_tm9_read_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSIM_ERROR_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csim_error_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNVRM_ERROR_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnvrm_error_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_RESULT_CODE_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_result_code_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLCC_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clcc_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CAEMLPP_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_caemlpp_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCFC_INTERROGATE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccfc_interrogate_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCWA_INTERROGATE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccwa_interrogate_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CDIP_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cdip_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLIP_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clip_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLIR_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clir_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNAP_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnap_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_COLP_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_colp_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLCK_INTERROGATE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clck_interrogate_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRSM_EXE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_crsm_exe_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_COPS_TEST_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cops_test_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PHB_ENTRY_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_phb_entry_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PHB_MSISDN_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_phb_msisdn_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_SEND_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_send_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_LIST_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_list_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_READ_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_read_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_WRITE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_write_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_STORAGE_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_storage_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FAST_STRING_PRINT_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fast_string_print()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_IMS_SEND_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_ims_send_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_IMS_RECV_IND_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_ims_recv_ind_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_IMS_SMMA_RSP_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_ims_smma_rsp_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_IMS_SMMA_IND_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_ims_smma_ind_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_INT_TO_ASCII_CONVERTER_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_int_to_ascii_converter()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_INT_VALIDATOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_int_validator()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_CHLD_OPCODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_chld_opcode()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PHB_STORAGE_NAME_ENTRY": {
+ "apiType": "index",
+ "format": "check_phb_storage_name()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PHB_STORAGE_CODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_phb_storage_code()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DCS_TOGSM7BIT_ENTRY": {
+ "apiType": "index",
+ "format": "check_dcs_toGsm7bit()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DCS_TOCSCS_ENTRY": {
+ "apiType": "index",
+ "format": "check_dcs_toCscs()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_SMS_STORAGE_NAME_ENTRY": {
+ "apiType": "index",
+ "format": "check_sms_storage_name()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_SMS_STORAGE_CODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_sms_storage_code()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_SMS_SCTS_ENTRY": {
+ "apiType": "index",
+ "format": "check_sms_scts()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_FACILITY_TYPE_ENTRY": {
+ "apiType": "index",
+ "format": "check_facility_type()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PIN_NAME_ENTRY": {
+ "apiType": "index",
+ "format": "check_pin_name()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PPU_VALUE_ENTRY": {
+ "apiType": "index",
+ "format": "check_ppu_value()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PPU_STRING_ENTRY": {
+ "apiType": "index",
+ "format": "check_ppu_string()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_PARSE_INT_LIST_ENTRY": {
+ "apiType": "index",
+ "format": "parse_int_list()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_CHAR_SET_NAME_ENTRY": {
+ "apiType": "index",
+ "format": "check_char_set_name()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_CHAR_SET_CODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_char_set_code()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_KEYPAD_CODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_keypad_code()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PDP_TYPE_NAME_ENTRY": {
+ "apiType": "index",
+ "format": "check_pdp_type_name()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_PDP_TYPE_CODE_ENTRY": {
+ "apiType": "index",
+ "format": "check_pdp_type_code()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DOTTED_VALUE8_ENTRY": {
+ "apiType": "index",
+ "format": "check_dotted_value8()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DOTTED_VALUE16_ENTRY": {
+ "apiType": "index",
+ "format": "check_dotted_value16()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_IPV6_ADDR_VALUE16_ENTRY": {
+ "apiType": "index",
+ "format": "check_ipv6_addr_value16()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DOTTED_STRING8_ENTRY": {
+ "apiType": "index",
+ "format": "check_dotted_string8()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_DOTTED_STRING16_ENTRY": {
+ "apiType": "index",
+ "format": "check_dotted_string16()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_HEX_VALUE_ENTRY": {
+ "apiType": "index",
+ "format": "check_hex_value()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_REMOVE_MF_FROM_PATHID_ENTRY": {
+ "apiType": "index",
+ "format": "remove_mf_from_pathid()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_CHECK_SMS_PDU_STRING_ENTRY": {
+ "apiType": "index",
+ "format": "check_sms_pdu_string()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIND_CMD_MODE_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_find_cmd_mode()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_STRING_VALIDATOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_string_validator()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SMS_TEXT_VALIDATOR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_sms_text_validator()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_EXTRACT_NUMBER_ENTRY": {
+ "apiType": "index",
+ "format": "extract_number()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_EXTRACT_HEX_NUMBER_ENTRY": {
+ "apiType": "index",
+ "format": "extract_hex_number()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SKIP_LEADING_CHARS_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_skip_leading_chars()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_EXTRACT_NUMBER_STRING_ENTRY": {
+ "apiType": "index",
+ "format": "extract_number_string()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_IS_SMS_MSG_CMD_ENTRY": {
+ "apiType": "index",
+ "format": "is_sms_msg_cmd()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_IS_SMS_STD_CMD_ENTRY": {
+ "apiType": "index",
+ "format": "is_sms_standard_command()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_IS_SMS_MODE_CORRECT_ENTRY": {
+ "apiType": "index",
+ "format": "is_sms_mode_correct()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RTC_TO_STRING_FORMAT_ENTRY": {
+ "apiType": "index",
+ "format": "rtc_to_string_format()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_STRING_TO_RTC_FORMAT_ENTRY": {
+ "apiType": "index",
+ "format": "string_to_rtc_format()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_TOUPPER_ENTRY": {
+ "apiType": "index",
+ "format": "toUpper()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_PRINT_HEX_VALUE_ENTRY": {
+ "apiType": "index",
+ "format": "print_hex_value()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SAT_PROFILE_WRITE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sat_profile_write_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_UART_RTW_IND_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_uart_rtw_ind_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_UART_RTR_IND_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_uart_rtr_ind_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_UART_SEND_DATA_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_uart_send_data()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_UART_READ_DATA_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_uart_read_data()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_READ_FROM_UART_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_read_from_uart()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_WRITE_TO_UART_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_write_to_uart()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_READ_FROM_TTY_PORT": {
+ "apiType": "index",
+ "format": "rmmi_read_data_from_tty_port()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_TTY_PORT_HDLR": {
+ "apiType": "index",
+ "format": "rmmi_tty_port_input_handler()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_SEND_TO_SAT_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_rsp_to_SAT()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SAT_ENVELOPE_RRSP_ENTRY": {
+ "apiType": "index",
+ "format": "l4c_sat_envelope_rrsp()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_L4C_SAT_ECUSATS_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecusats_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_START_ATH_FOR_DIALUP_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_start_ath_for_dialup_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLEAR_ATH_FOR_DIALUP_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clear_ath_for_dialup_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_IRCOMM_CONNECT_IND_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "ircomm_connect_ind_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_IRCOMM_DISCONNECT_IND_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "ircomm_disconnect_ind_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ata_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_atd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ate_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ath_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ats_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATV_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_atv_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_atq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ati_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_atl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ato_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ATAMP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_atamp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CACM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cacm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CAMM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_camm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CAOC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_caoc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCWE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccwe_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CBST_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cbst_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCUG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccug_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CHUP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_chup_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CHLD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_chld_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLCC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clcc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMOD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmod_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSNS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csns_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTFR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctfr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VTS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vts_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPAS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpas_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CAEMLPP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_caemlpp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccfc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCWA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccwa_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CDIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cdip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLCK_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clck_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLIR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clir_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_COLP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_colp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNAP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnap_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPWD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpwd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSSN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cssn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CUSD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cusd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCBS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccbs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGATT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgatt_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_COPS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cops_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECELLMEAS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecellmeas_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGCLASS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgclass_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgreg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPBSE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epbse_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CEMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cems_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CFPS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnmp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CAPL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_capl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMPI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmpi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSMA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csma_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSMN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csmn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_creg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CIMI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cimi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPIN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpin_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPUC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpuc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPOL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpol_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPOL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epol_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRSM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_crsm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSIM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csim_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGLA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgla_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EXCGLA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_excgla_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRLA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_crla_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCHO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccho_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCHC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cchc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CUAD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cuad_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCSP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ccsp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSIMD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csimd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSRM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csrm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CALA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cala_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CALD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cald_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CCLK_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cclk_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSDF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csdf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSTF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cstf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CBC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cbc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CIND_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cind_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CKPD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ckpd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLAC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clac_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMEC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmec_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLAN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clan_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLAE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clae_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CLVL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_clvl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VGR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vgr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VGT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vgt_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRSL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_crsl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMUT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmut_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSIL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csil_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTZR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctzr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTSA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctsa_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cso_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_css_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECSCN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecscn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CVIB_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cvib_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CBKLT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cbklt_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSGT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csgt_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGMI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgmi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGMM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgmm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGMR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgmr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGSN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgsn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECAL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecal_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CASP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_casp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_DIAG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_diag_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNUM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnum_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPBUM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epbum_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPBF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpbf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPBR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpbr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPBS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpbs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPBW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpbw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EAPPROVE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eapprove_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPBI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpbi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGSMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgsms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMGW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmgw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMGC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emgc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ENMA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_enma_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMGS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emgs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMGW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emgw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMGL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emgl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CMSS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cmss_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CPMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSCA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csca_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSCB_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cscb_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECBMR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecbmr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECSCBSW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecscbsw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECSCBCFG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecscbcfg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSMP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csmp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNMI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnmi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CNMA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cnma_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSDH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csdh_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESMSMAIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esmsmaip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESMSMOIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esmsmoip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESMSMTIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esmsmtip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_STKSMSOIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_stksmsoip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECMSS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecmss_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECMSSU_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecmssu_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESMMA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esmma_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSCS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cscs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CFUN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cfun_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGACT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgact_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EGACT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_egact_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMMCHLCK_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emmchlck_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECGREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecgreg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECEREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecereg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ETWMODE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_etwmode_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESIMAPP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esimapp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESCG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_escg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECAINFO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecainfo_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGCONTRDP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgcontrdp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGSCONTRDP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgscontrdp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGEQOS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgeqos_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGEQOSRDP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgeqosrdp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGTFTRDP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgtftrdp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CEMODE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cemode_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CEREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cereg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_C5GREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_c5greg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGDEL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgdel_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGANS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgans_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGAUTO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgauto_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGCMOD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgcmod_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGDATA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgdata_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EGLD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_egld_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGPADDR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgpaddr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGDCONT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgdcont_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EGDCONT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_egdcont_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EAPNSYNC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eapnsync_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECNCFG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecncfg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGDSCONT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgdscont_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGQMIN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgqmin_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGQREQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgqreq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGEQMIN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgeqmin_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGEQREQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgeqreq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGEQ_COMMON_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgeq_hdlr(), qos_type=%Matci_qos_enum",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGTFT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgtft_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EGDELPF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_egdelpf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EGLNKPF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eglnkpf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGSDATA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgsdata_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGPRCO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgprco_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CGAUTH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cgauth_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PSBEARER_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_psbearer_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ELATTPDNCC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_elattpdncc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPDNCTRANS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epdnctrans_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRLP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_crlp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCLASS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fclass_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ICF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_icf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_DS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ds_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CR_RESULT_CODE_FMTTR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cr_result_code_fmttr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CEER_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ceer_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPIN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epin_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPIN1_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epin1_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPIN2_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epin2_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPINC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cpinc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CSAS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_csas_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CRES_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_cres_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSF_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsf_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EFSD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_efsd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EQUERY_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_equery_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_BLDN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_bldn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EREG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ereg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPMIC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epmic_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EBTLB_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ebtlb_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_BVRA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_bvra_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EVCARD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_evcard_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMMISTR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emmistr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_WS46_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ws46_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ECPU_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ecpu_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ERAM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eram_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ELAUNCH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_elaunch_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ELOG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_elog_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESUO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esuo_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_TRACE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_trace_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESWM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eswm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSDMOD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsdmod_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSDTNUM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsdtnum_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSDRNUM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsdrnum_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSDSET_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsdset_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSD_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsd_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMSDPUSH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emsdpush_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESPEECH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_espeech_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESSTV_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esstv_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EDTP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_edtp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EDTS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_edts_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EDSETDEV_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esetdev_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESOV_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esov_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESMV_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esmv_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ESSMA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_essma_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_L1AUD_SPC_CALLBACK": {
+ "apiType": "index",
+ "format": "rmmi_l1aud_spc_callback()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPSAP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epsap_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EPSAPPULL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_epsappull_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FMI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fmi_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FMM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fmm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FMR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fmr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fpr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flo_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdt_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fip_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FKS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fks_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FK_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fk_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FET_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fet_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FTM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ftm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FRM_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_frm_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FTH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fth_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FRH_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_frh_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FTS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fts_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FRS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_frs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fcc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDCC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdcc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fis_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDIS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdis_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fcs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDCS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdcs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fli_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLID_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flid_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPI_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fli_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCIG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flid_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLPL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flpl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FSP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fsp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FSPL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fspl_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FNR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fnr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fie_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fps_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPTS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fpts_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FRQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_frq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBADLIN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbadlin_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBADMUL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbadmul_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fcq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FIT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fit_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fpp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbo_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBOR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbor_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FEA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fea_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FREL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_frel_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FNS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fns_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fcr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBU_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbu_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBUG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbug_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FAP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fap_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FSA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fsa_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPA_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fpa_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fpw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FCT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fct_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FPHCTO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fphcto_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FHS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fhs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FMINSP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fminsp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FRY_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fry_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FBS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fbs_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ffc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FVRFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fvrfc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FDFFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fdffc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FLNFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_flnfc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_FWDFC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_fwdfc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMSET_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmset_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMOPEN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmopen_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMCLOSE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmclose_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMCONN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmconn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctms_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMCFG_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmcfg_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_CTMCALL_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ctmcall_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EMEMS_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_emems_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EEMODE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eemode_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EDE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_ede_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VZWRSRP_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vzwrsrp_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VZWRSRQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vzwrsrq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VZWMRUC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vzwmruc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_VZWMRUE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_vzwmrue_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_MRUCLEAR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_mruclear_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_MRU_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_mru_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_AUXPLMN_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_auxplmn_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_PSMODE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_psmode_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_RSRP_RSRQ_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_rsrp_rsrq_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_RSCP_ECNO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_rscp_ecno_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EAPC_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eapc_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ENWBDINFO_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_enwbdinfo_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EITMR_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eitmr_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_EIMSEVENT_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_eimsevent_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_ETM9_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_etm9_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "INFO_EXTCOMMAND_HASH_VALUE": {
+ "apiType": "index",
+ "format": "rmmi_extended_cmd_processor(), hash_value1= %u, hash_value2= %u. cmd_index: %u/%u",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_MULTI_CMD_RECEIVED": {
+ "apiType": "index",
+ "format": "multi cmd received",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "BASIC_COMMAND_HASH_VALUE": {
+ "apiType": "index",
+ "format": "rmmi_basic_cmd_processor(), hash_value = %u",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "AT_CMD_STRING": {
+ "apiType": "index",
+ "format": "command: %c%c%c%c%c%c%c%c%c%c%c%c",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "CUSTOM_CMD_HDLR": {
+ "apiType": "index",
+ "format": "CUSTOMER AT Cmd",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_MULTI_CMD_NOT_FINISHED": {
+ "apiType": "index",
+ "format": "multi cmd NOT finished",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PROCESS_MULTI_CMD_ACTION_EXIST": {
+ "apiType": "index",
+ "format": "rmmi_process_multi_cmd: is_ucm_action = %d,route_through_mmi=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "UCM_ACTION": {
+ "apiType": "index",
+ "format": "It's a ucm action, OK will return by UCM",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ROUTE_THRU_LMMI_FOR_BASIC_CMD": {
+ "apiType": "index",
+ "format": "route through mmi in basic_cmd_hdlr ,OK will return later",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PROCESS_MULTI_CMD": {
+ "apiType": "index",
+ "format": "process_multi_cmd",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_MULTI_CMD_STRING_EXIST": {
+ "apiType": "index",
+ "format": "multi cmd string exist",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_MULTI_CMD_STRING_NOT_EXIST": {
+ "apiType": "index",
+ "format": "multi cmd string NOT exist",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_SRC_ID_AND_CID": {
+ "apiType": "index",
+ "format": "current_src_id = %d, cid = %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "RMMI_RECEIVE_DATA_DURING_ATD": {
+ "apiType": "index",
+ "format": "receiving data during ATD",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_ABORT_ATD_OPERATION": {
+ "apiType": "index",
+ "format": "abort ATD !!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_INPUT": {
+ "apiType": "index",
+ "format": "read uart, que.len=%d, space=%d, read=%d, uart_empty=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_CMD_FROM_SAT": {
+ "apiType": "index",
+ "format": "cmd from sat",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_CLEAR_OUTPUT_QUEUE": {
+ "apiType": "index",
+ "format": "clear output queue!!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_RSP_ERROR_CAUSE": {
+ "apiType": "index",
+ "format": "rmmi_rsp , rmmi_cause = %u",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_RESULT_CODE_FMTTR": {
+ "apiType": "index",
+ "format": "result code: %Mrmmi_rsp_type_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_RESULT_CODE_ERROR": {
+ "apiType": "index",
+ "format": "result code: %Mrmmi_rsp_type_enum, cause: %Mps_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_MULTI_CMD_ERROR": {
+ "apiType": "index",
+ "format": "multi cmd error",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_OBTAIN_UART_CONTROL": {
+ "apiType": "index",
+ "format": "rmmi_obtain_uart_control() ,port=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CHECK_CMD_ALLOW_RETURN_FALSE": {
+ "apiType": "index",
+ "format": "check_cmd_allow() return false",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_MSG_BASED_REGISTER": {
+ "apiType": "index",
+ "format": "register msessage based channel: ch_num:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_MSG_BASED_EXECUTION": {
+ "apiType": "index",
+ "format": "execution message based AT: port:%d, src:%d, length:%d, pdu_length: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_MSG_BASED_RESPONSE": {
+ "apiType": "index",
+ "format": "send response message: len: %d, src: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_MSG_BASED_URC": {
+ "apiType": "index",
+ "format": "send urc message: len: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_SELECT_CONTEXT": {
+ "apiType": "index",
+ "format": "[RMMI_ROOT] select context: cid:%d, %Msim_interface_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_INVALID_PORT": {
+ "apiType": "index",
+ "format": "[RMMI_ROOT] INVALID: port:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_UART_PLUGIN": {
+ "apiType": "index",
+ "format": "[RMMI_ROOT] UART plugin, src:%d, cid:%d, port:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_UART_PLUGOUT": {
+ "apiType": "index",
+ "format": "[RMMI_ROOT] UART plugout, src:%d, cid:%d, port:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_AT_ETSTLP": {
+ "apiType": "index",
+ "format": "+ETSTLP: tst_port_ps: %hd, tst_port_l1: %hd",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_USB_ACTIVE": {
+ "apiType": "index",
+ "format": "Is UART active, port:%d, active: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_DUMP_AGPS_MD_HEADER": {
+ "apiType": "index",
+ "format": "agps md header : version = %d , type = %Magps_md_type , length = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_WRITE_TO_AGPSD": {
+ "apiType": "index",
+ "format": "write data to AGPSD via uart_port_gps_ccci, size : %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_URC2_OUTPUT_QUEUE": {
+ "apiType": "index",
+ "format": "[RMMI_OUT] (head + len)> QUEUE_LENGTH. src_id:%d, RMMI_UNSOLICITED_2: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "SAR_SENSOR_DATA": {
+ "apiType": "index",
+ "format": "[SAR] sensor_data =%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_EXPLICT_SEND_CIEV": {
+ "apiType": "index",
+ "format": "Explictly to send CIEV: %d, %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HF_IS_NOT_READY_TO_RECIEVE_URC_REPORT": {
+ "apiType": "index",
+ "format": "HF is not ready to receive URC report",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CLEAR_HF_URC_REPORT_FLAG": {
+ "apiType": "index",
+ "format": "Clear hf_urc_report_flag: cid =%d,src_id=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_CANCEL_EVENT": {
+ "apiType": "index",
+ "format": "rmmi: cancel retry timer!, event_id=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_ATH_NO_CALL_HANGUP": {
+ "apiType": "index",
+ "format": "ath: no call to hangup",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATH_REL_ACTIVE_AND_ACCEPT": {
+ "apiType": "index",
+ "format": "ATH: REL_ACTIVE_AND_ACCEPT",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATH_REL_ACTIVE": {
+ "apiType": "index",
+ "format": "ATH: REL_ACTIVE , active_call_id=%hd",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATH_REL_HELD": {
+ "apiType": "index",
+ "format": "ATH: REL_HELD , hold_call_id =%hd",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATH_FOR_GPRS_DIALUP_FAILURE": {
+ "apiType": "index",
+ "format": "ATH is for GPRS dialup failure,do nothing and return OK",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "FOR_BT_HFP_CHLD_EQUAL_1X": {
+ "apiType": "index",
+ "format": "For BT HFP : chld=1x , shall also retrieve held call",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATDL_NO_LAST_NUMBER_DIALED": {
+ "apiType": "index",
+ "format": "ATDL: No last number dialed",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATA_FOR_DATA_CALL": {
+ "apiType": "index",
+ "format": "ATA for data call ",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATD_HDLR_CALL_MODIFY_REQUEST": {
+ "apiType": "index",
+ "format": "atd_hdlr: call modify request return %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATD_HDLR_PROCESSING_ATD_GPRS_DIALUP_OR_DATA_CALL": {
+ "apiType": "index",
+ "format": "atd_hdlr: Processing ATD GPRS dial-up or data call",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATD_HDLR_ATD_DIAL_VT_CALL": {
+ "apiType": "index",
+ "format": "atd_hdlr: atd to dial VT call",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "ATD_HDLR_IMS_NOT_SUPPORT_DATA_CALL": {
+ "apiType": "index",
+ "format": "atd_hdlr: IMS not support data call",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_NOT_DISPLAY_MT_CALL_NOT_APPROVED": {
+ "apiType": "index",
+ "format": "Not display MT call when incoming call is not approved!!!",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CLCCS_INFO": {
+ "apiType": "index",
+ "format": "call id:%d, dir:%Mclcc_dir_enum, cs mode:%Mclcc_mode_enum, ccstatus:%Mclccs_ccstatus_enum, mpty:%Mclcc_mpty_enum, number type:%Mclccs_number_type_enum, ton:%d, cli present:%d, cli validity:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CLCC_INFO": {
+ "apiType": "index",
+ "format": "call id:%d, dir:%Mclcc_dir_enum, state:%Mclcc_state_enum, mode:%Mclcc_mode_enum, mpty:%Mclcc_mpty_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_AUTH_FAIL": {
+ "apiType": "index",
+ "format": "HFP connecting",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_CONNECTED": {
+ "apiType": "index",
+ "format": "HFP connected,port= %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_RAND_NUM": {
+ "apiType": "index",
+ "format": "rand number, rand=0x%08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_SEQ1": {
+ "apiType": "index",
+ "format": "Seq1 =0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_SEQ2": {
+ "apiType": "index",
+ "format": "Seq2 =0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_VERNO": {
+ "apiType": "index",
+ "format": "verno, verno=%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c%c",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_HFP_OUTPUT": {
+ "apiType": "index",
+ "format": "Output =0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x, 0x%02x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_ATH_FOR_DIALUP": {
+ "apiType": "index",
+ "format": "Set ath_for_dialup=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_ATCI_ROOT_SWITCH_FOR_HF": {
+ "apiType": "index",
+ "format": "ATCI Root switches to new_sim_id=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_REQUEST_TYPE": {
+ "apiType": "index",
+ "format": "request_type = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_ALPH_ID_PRESENT_NO_TEL_NUMBER": {
+ "apiType": "index",
+ "format": "Only alph_id is present, no tel number",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "WARNING_RMMI_INVALID_INTERMEDIATE_RSP_LENGTH": {
+ "apiType": "index",
+ "format": "[RMMI] invalid string length of intermediate rsp = %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "RMMI_CURRENT_ACCESS_TECHNOLOGY": {
+ "apiType": "index",
+ "format": "AcT:%hd <= Rat:%Mrat_enum, cell_data_speed:%Ml4c_data_speed_support_enum, max_data_bearer_capa:%Ml4c_data_bearer_capablility_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_UART_QUEUE": {
+ "apiType": "index",
+ "format": "uart_output_queue cid = %d, head = %d, length = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_AGPS_DEBUGGING": {
+ "apiType": "index",
+ "format": "LBS output len = %d, temp = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_L4C_SIM_USIM_LOGIC_CH_OK": {
+ "apiType": "index",
+ "format": "[L4C_SIM]CHANNEL OK",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PARAM_D": {
+ "apiType": "index",
+ "format": "param = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PARAM_DD": {
+ "apiType": "index",
+ "format": "param1 = %d , param2 = %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PARAM_U": {
+ "apiType": "index",
+ "format": "param = %u",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PARAM_UU": {
+ "apiType": "index",
+ "format": "param1 = %u , param2 = %u",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_RESPONSE_SUPPRESS_ON": {
+ "apiType": "index",
+ "format": "response suppress on",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_STRING_IS_PURE_ASCII_STRING_IS_NOT_STRATING_WITH_0X00": {
+ "apiType": "index",
+ "format": "string_is_pure_ascii() : string is not strating with 0x00",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_STRING_IS_PURE_ASCII_RETURN_FALSE_DUE_TO_STR_2": {
+ "apiType": "index",
+ "format": "string_is_pure_ascii() return false due to str[%d+2]=%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_STRING_IS_PURE_ASCII_RETURN_FALSE_DUE_TO_STR_3": {
+ "apiType": "index",
+ "format": "string_is_pure_ascii() return false due to str[%d+3]=%x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_PURE_ASCII": {
+ "apiType": "index",
+ "format": "pure_ascii=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_ATO_HDLR": {
+ "apiType": "index",
+ "format": "RMMI ATO, state = %Ml4c_state_enum",
+ "traceClass": "TRACE_GROUP_3"
+ }
+ },
+ {
+ "RMMI_SCP_COMMAND_ENUM": {
+ "apiType": "index",
+ "format": "[SCP]Receive CMD = %Mrmmi_scp_cmd_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_SCP_CELLID_AND_RSSI": {
+ "apiType": "index",
+ "format": "[SCP]Cellid=%d, RSSI=%d, is_cell_changed=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_SCP_DATA_SEND": {
+ "apiType": "index",
+ "format": "[SCP_DATA]%02X %02X %02X %02X %02X %02X %02X %02X, %02X %02X %02X %02X %02X %02X %02X %02X",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_EIMSPS_RAT_TYPE": {
+ "apiType": "index",
+ "format": "eimsps_rat=%Mrat_enum, eimsps_type=%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "RMMI_PLMN_INFO_FOR_TVOLTEHYS": {
+ "apiType": "index",
+ "format": "saved_plmn_for_volte_hys.rat=%Mrat_enum, plmn_id=%d%d%d%d%d%d; cur_plmn.rat=%Mrat_enum, plmn_id=%d%d%d%d%d%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_AUTO_RESELECTION": {
+ "apiType": "index",
+ "format": "%Mplmn_selection_mode_enum to %Mplmn_selection_mode_enum, do not send AUTO_RESELECTION",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_NSSAI_LENGTH": {
+ "apiType": "index",
+ "format": "[NSSAI] default_configured_nssai_length of commnad +C5GNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_NSSAI_LIST": {
+ "apiType": "index",
+ "format": "[NSSAI] default_configured_nssai of commnad +C5GNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_PREF_3GPP_NSSAI_LENGTH": {
+ "apiType": "index",
+ "format": "[NSSAI] preferred_nssai_3gpp_length of commnad +C5GPNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_PREF_3GPP_NSSAI_LIST": {
+ "apiType": "index",
+ "format": "[NSSAI] preferred_nssai_3gpp of commnad +C5GPNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_PREF_NON3GPP_NSSAI_LENGTH": {
+ "apiType": "index",
+ "format": "[NSSAI] preferred_nssai_non3gpp_length of commnad +C5GPNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SET_INVALID_PREF_NON3GPP_NSSAI_LIST": {
+ "apiType": "index",
+ "format": "[NSSAI] preferred_nssai_non3gpp of commnad +C5GPNSSAI is invalid: %Mrmmi_validator_cause_enum",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_NSSAI_TEST_MODE_DEBUG": {
+ "apiType": "index",
+ "format": "[NSSAI] test mode len: %d and string: %s",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "WARNING_CANNOT_PROCESS_MULTI_CMD": {
+ "apiType": "index",
+ "format": "Warning: cid == 0xff! cannot process multi cmd",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_CMD_NOT_ALLOWED": {
+ "apiType": "index",
+ "format": "cmd NOT allowed, cause = %u",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_CMD_ALLOWED": {
+ "apiType": "index",
+ "format": "cmd allowed",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_PORT_OWNER_ERROR": {
+ "apiType": "index",
+ "format": "Warning: port=%d,owner=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_ERROR": {
+ "apiType": "index",
+ "format": "Warning: error",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_SRC_CID_MAP_ERROR": {
+ "apiType": "index",
+ "format": "Warning: src:%hd & cid:%hd map error",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_SET_UART_STOP_TO_SEND_FLAG": {
+ "apiType": "index",
+ "format": "set stop_to_send_flag,cid=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_UART_STOP_TO_SEND": {
+ "apiType": "index",
+ "format": "Warning: rmmi_uart_write_data stop to send,cid=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_ORI_MODULE_ID_WRONG": {
+ "apiType": "index",
+ "format": "Warning: ori_module_id wrong, ori_module_id=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_ORI_MODULE_ID_EQUAL_MODULE_ID": {
+ "apiType": "index",
+ "format": "Warning: ori_module_id equal module_id, ori_module_id=%d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_CMUX_PORT_ERROR": {
+ "apiType": "index",
+ "format": "AT+CMUX isn't allowed on USB2",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_ATH_DISCONNECT_AT_INITIAL_CALL": {
+ "apiType": "index",
+ "format": "ATH: can only disconnect AT-initial call",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_CHUP_NO_CALL_TO_HANGUP": {
+ "apiType": "index",
+ "format": "AT+CHUP: no call to hangup",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_CHUP_DISCONNECT_AT_INITIAL_CALL": {
+ "apiType": "index",
+ "format": "AT+CHUP: can only disconnect AT-initial call",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "CHLD_EQUAL_1X": {
+ "apiType": "index",
+ "format": "chld = 1x , x is not a active call ,call_state = %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "BLDN_NO_LAST_NUMBER_DIALED_EXIST": {
+ "apiType": "index",
+ "format": "BLDN: No last number dialed exist",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "BLDN_NO_SIM_INSERTED": {
+ "apiType": "index",
+ "format": "BLDN: no SIM inserted",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "ATD_MEMORY_DIAL_INVALID_MEMORY_LOCATION": {
+ "apiType": "index",
+ "format": "ATD memory dial , invalid memory location ",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "ATD_HDLR_DIAL_NUMBER_LENGTH_ILLEGAL": {
+ "apiType": "index",
+ "format": "atd_hdlr : atd dial number length is illegal",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_DIALUP_NOT_ALLOWED_ON_1T1R": {
+ "apiType": "index",
+ "format": "Warning: Dialup is not allowed on 1T1R port %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "FUNC_RMMI_NEED_SET_TEST_NUM": {
+ "apiType": "index",
+ "format": "Need to set Ecall test num",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_RMMI_NEED_SET_RECONFIGURATION_NUM": {
+ "apiType": "index",
+ "format": "Need to set Ecall reconfiguration num",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "WARNING_DISALLOW_GPRS_DIALUP_WHEN_MS_BUSY": {
+ "apiType": "index",
+ "format": "Warning: disallow gprs dialup when MS is busy",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_RMMI_GPRS_STRING_VALID_CMD_NOT_ALLOWED": {
+ "apiType": "index",
+ "format": "Warning: gprs string valid ,but cmd not allowed",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_EQ_FS_RETURN_ERROR": {
+ "apiType": "index",
+ "format": "Warning: EQ fs action: %d return: %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_THERMAL_PROT_RETURN_ERROR": {
+ "apiType": "index",
+ "format": "Warning: thermal_prot_set_threshold return error",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_INVALID_MEAS_RESULT_INDEX": {
+ "apiType": "index",
+ "format": "Warning: meas_result_index invalid",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_INVALID_CRSM_RSP_LEN": {
+ "apiType": "index",
+ "format": "Warning: Invalid crsm response length %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_SAT_COMMAND_WRONG_HANDLER": {
+ "apiType": "index",
+ "format": "Warning: Wrong handler for this SAT command",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "READ_FROM_UART_INCORRECT_OWNER": {
+ "apiType": "index",
+ "format": "read_from_uart .current owner=%d",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "READ_FROM_UART_INVALID_CHANNEL": {
+ "apiType": "index",
+ "format": "read_from_uart invalid channel",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_INVALID_PORT": {
+ "apiType": "index",
+ "format": "Invalid port !",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_CHECK_KEY_PAD": {
+ "apiType": "index",
+ "format": "Error: The output from custom_check_keypad_code() is invalid",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_EXTRACT_NUMBER_FUNCTION_ILLEGAL_CHARACTER_ERROR": {
+ "apiType": "index",
+ "format": "Error: extract number function: illegal character ERROR",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_RMMI_INVALID_NUMBER": {
+ "apiType": "index",
+ "format": "number containing invalid char %c",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_RMMI_ROOT_FIND_SRC_PORT_MAPPING": {
+ "apiType": "index",
+ "format": "[RMMI_ROOT] Could not find empty source/port mapping",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_L4C_SIM_STATUS_ERROR": {
+ "apiType": "index",
+ "format": "[L4C_SIM]SIM status error",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "ERROR_L4C_SIM_USIM_LOGIC_CH_INVALID": {
+ "apiType": "index",
+ "format": "[L4C_SIM]CHANNEL = 0xFF",
+ "traceClass": "TRACE_ERROR"
+ }
+ },
+ {
+ "RMMI_CIEV": {
+ "apiType": "index",
+ "format": "CIEV: %d, %d",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "CTMI": {
+ "apiType": "index",
+ "format": "+CTMI",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "TIYI": {
+ "apiType": "index",
+ "format": "+TTYI: %d",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "CTMS": {
+ "apiType": "index",
+ "format": "+CTMS: %d, %d",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "CTMSET": {
+ "apiType": "index",
+ "format": "+CTMSET: %d, %d",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "CTMCFG": {
+ "apiType": "index",
+ "format": "+CTMCFG: %u, %u, %u, %u, %u",
+ "traceClass": "TRACE_GROUP_1"
+ }
+ },
+ {
+ "WARNING_UNEXPECTED_RAT": {
+ "apiType": "index",
+ "format": "Warning: unexpected RAT: %d",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_INVALID_HEX_STRING": {
+ "apiType": "index",
+ "format": "Warning: invalid hex string",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "RMMI_CID_SRC_INFO": {
+ "apiType": "index",
+ "format": "CID: %hd,source= %Ml4c_source_id_enum",
+ "traceClass": "TRACE_GROUP_6"
+ }
+ },
+ {
+ "GATI_RECEIVE_RTR_FROM_UART": {
+ "apiType": "index",
+ "format": "GATI waits for the reply from the APP",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_NOT_WRITE_ALLOW": {
+ "apiType": "index",
+ "format": "GATI NOT WRITE ALLOW current_src_id=%d",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_WRITE_RMMI_ALL_FAIL": {
+ "apiType": "index",
+ "format": "GATI write RMMI_ALL fail, remain_size: %d, data size: %d, cid: %d",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_WRITE_INTEGRITY_FAIL": {
+ "apiType": "index",
+ "format": "GATI write integrity(URC) data fail, remain_size: %d, data size: %d, cid: %d",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_INPUT_DATA_IN_BINARY_MODE": {
+ "apiType": "index",
+ "format": "GATI input data in binary mode",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_OUTPUT_NON_GATI_DATA": {
+ "apiType": "index",
+ "format": "GATI output non-GATI data",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_NEED_SEND_RTW_IND": {
+ "apiType": "index",
+ "format": "GATI need to send RTW indication to the APP",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_BUFFER_FULL": {
+ "apiType": "index",
+ "format": "GATI linked-list buffer is full",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "GATI_REGISTER_FAIL": {
+ "apiType": "index",
+ "format": "GATI Can't not find an empty entry. Please increase GATI_MAX_MODULE_COUNT",
+ "traceClass": "TRACE_GROUP_7"
+ }
+ },
+ {
+ "WARNING_INVALID_CHANNEL_ID_FOR_BIT_OPERATION": {
+ "apiType": "index",
+ "format": "Warning: invalid cid: %d exceed the max channel number",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "WARNING_INVALID_ARRAY_SIZE_FOR_BIT_MASK_EMPTY_CHECKING": {
+ "apiType": "index",
+ "format": "Warning: invalid size: %d exceed the max bitmask array size",
+ "traceClass": "TRACE_WARNING"
+ }
+ },
+ {
+ "FUNC_RMMI_ESIMULATE_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "rmmi_esimulate_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "FUNC_NW_IMS_PREF_STATUS_RETURN": {
+ "apiType": "index",
+ "format": "l4c_nw_ims_pref_status_rind(), do not report +EIMSPS, check point:%d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_NW_IMS_PREF_STATUS_RETURN_NR": {
+ "apiType": "index",
+ "format": "l4c_nw_ims_pref_status_rind(), Act = NR. do not report +eimsps",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CHANNEL_LOCK_COMMON": {
+ "apiType": "index",
+ "format": "channel lock: mode = %d, act = %d, channel_num = %d, cell_id = %d, lock_mode= %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_CHANNEL_LOCK_BAND": {
+ "apiType": "index",
+ "format": "channel lock: band_indicator[%d] = %d, arfcn[%d]= %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_SML_COMMAND_PARSE_ERROR": {
+ "apiType": "index",
+ "format": "[SML] AT command parsing error at line[%d]",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "FUNC_RMMI_E5GUW_HDLR_ENTRY": {
+ "apiType": "index",
+ "format": "[5GUW] rmmi_e5guw_hdlr()",
+ "traceClass": "TRACE_FUNC"
+ }
+ },
+ {
+ "INFO_RMMI_E5GUW_TUW_LENGTH_OOR": {
+ "apiType": "index",
+ "format": "[5GUW] set TUW_%d length %d out of range",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_GSM_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] GSM Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_GSM_ERROR2": {
+ "apiType": "index",
+ "format": "[EPBSEH] GSM Error2",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_GSM_ERROR3": {
+ "apiType": "index",
+ "format": "[EPBSEH] GSM Error3 req_band: %08x support: %08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_GSM_ERROR4": {
+ "apiType": "index",
+ "format": "[EPBSEH] GSM Error4",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_UMTS_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] UMTS Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_UMTS_ERROR2": {
+ "apiType": "index",
+ "format": "[EPBSEH] UMTS Error2",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_UMTS_ERROR3": {
+ "apiType": "index",
+ "format": "[EPBSEH] UMTS Error3 req_band: %08x support: %08x",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_UMTS_ERROR4": {
+ "apiType": "index",
+ "format": "[EPBSEH] UMTS Error4",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_LTE_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] LTE Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_LTE_ERROR2": {
+ "apiType": "index",
+ "format": "[EPBSEH] LTE Error2",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_LTE_ERROR3": {
+ "apiType": "index",
+ "format": "[EPBSEH] LTE Error3",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NR_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] NR Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NR_ERROR2": {
+ "apiType": "index",
+ "format": "[EPBSEH] NR Error2",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NR_ERROR3": {
+ "apiType": "index",
+ "format": "[EPBSEH] NR Error3",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NVRAM_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] NVRAM Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NSA_ERROR1": {
+ "apiType": "index",
+ "format": "[EPBSEH] NSA Error1",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NSA_ERROR2": {
+ "apiType": "index",
+ "format": "[EPBSEH] NSA Error2",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NSA_ERROR3": {
+ "apiType": "index",
+ "format": "[EPBSEH] NSA Error3",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NSA_ERROR4": {
+ "apiType": "index",
+ "format": "[EPBSEH] NSA Error4",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_SUPP_CHECK_FUNC": {
+ "apiType": "index",
+ "format": "[EPBSEH] is_requested_band_supported() func Entry",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_ENTRY_SUPP_BAND": {
+ "apiType": "index",
+ "format": "[EPBSEH] Entry: %08x Support: %08x Position: %d",
+ "traceClass": "TRACE_INFO"
+ }
+ },
+ {
+ "INFO_RMMI_EPBSEH_NSA_BAND_RETAIN": {
+ "apiType": "index",
+ "format": "[EPBSEH] NSA BAND RETAINED",
+ "traceClass": "TRACE_INFO"
+ }
+ }
+ ],
+ "traceFamily": "PS",
+ "userModule": ""
+}
diff --git a/mcu/protocol/layer4/l4/include/csmcc_bc_types.h b/mcu/protocol/layer4/l4/include/csmcc_bc_types.h
new file mode 100644
index 0000000..867186a
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/csmcc_bc_types.h
@@ -0,0 +1,341 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * csmcc_bc_types.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for type definition of bearer capability, low level
+ * compatability, and high level compatibility.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _CSMCC_BC_TYPES_H
+#define _CSMCC_BC_TYPES_H
+
+//#include "kal_non_specific_general_types.h"
+#include "kal_general_types.h"
+
+typedef struct {
+ kal_uint8 speech_version_ind;
+ kal_uint8 CTM;
+} csmcc_bc_octet3a_struct;
+
+typedef struct {
+ kal_uint8 compress;
+ kal_uint8 structure;
+ kal_uint8 duplex_mode;
+ kal_uint8 configuration;
+ kal_uint8 NIRR;
+ kal_uint8 establishment;
+} csmcc_bc_octet4_struct;
+
+typedef struct {
+ kal_uint8 rate_adaption;
+ kal_uint8 siganaling_access_protocol;
+} csmcc_bc_octet5_struct;
+
+typedef struct {
+ kal_uint8 other_ITC;
+ kal_uint8 other_rate_adaption;
+} csmcc_bc_octet5a_struct;
+
+typedef struct {
+ kal_uint8 hdr_or_no_hdr;
+ kal_uint8 multi_frame;
+ kal_uint8 mode;
+ kal_uint8 LLI;
+ kal_uint8 assignor;
+ kal_uint8 inband_negotiation;
+} csmcc_bc_octet5b_struct;
+
+typedef struct {
+ kal_uint8 user_info_layer1_protocol;
+ kal_uint8 sync_or_async;
+} csmcc_bc_octet6_struct;
+
+typedef struct {
+ kal_uint8 number_stop_bits;
+ kal_uint8 negotiation;
+ kal_uint8 number_data_bits;
+ kal_uint8 user_rate;
+} csmcc_bc_octet6a_struct;
+
+typedef struct {
+ kal_uint8 intermediate_rate;
+ kal_uint8 NIC_on_TX;
+ kal_uint8 NIC_on_RX;
+ kal_uint8 parity;
+} csmcc_bc_octet6b_struct;
+
+typedef struct {
+ kal_uint8 connection_element;
+ kal_uint8 modem_type;
+} csmcc_bc_octet6c_struct;
+
+typedef struct {
+ kal_uint8 other_modem_type;
+ kal_uint8 fixed_network_user_rate;
+} csmcc_bc_octet6d_struct;
+
+typedef struct {
+ kal_uint8 accptable_channel_coding;
+ kal_uint8 max_num_traffic_channels;
+} csmcc_bc_octet6e_struct;
+
+typedef struct {
+ kal_uint8 UIMI;
+ kal_uint8 wanted_air_interface_user_rate;
+} csmcc_bc_octet6f_struct;
+
+typedef struct {
+ kal_uint8 accptable_channel_coding_ext;
+ kal_uint8 asymmetry_ind;
+} csmcc_bc_octet6g_struct;
+
+typedef struct {
+ kal_uint8 user_info_layer2_protocol;
+} csmcc_bc_octet7_struct;
+
+typedef struct {
+ kal_uint8 radio_chanl_req;
+ kal_uint8 transfer_mode;
+ kal_uint8 itc;
+ kal_uint8 num_octet3a;
+ csmcc_bc_octet3a_struct octet3a[6];/*MAUI_02599640, Add one element for AMR-WB*/
+ kal_uint8 octet4_present;
+ csmcc_bc_octet4_struct octet4;
+ kal_uint8 octet5_present;
+ csmcc_bc_octet5_struct octet5;
+ kal_uint8 octet5a_present;
+ csmcc_bc_octet5a_struct octet5a;
+ kal_uint8 octet5b_present;
+ csmcc_bc_octet5b_struct octet5b;
+ kal_uint8 octet6_present;
+ csmcc_bc_octet6_struct octet6;
+ kal_uint8 octet6a_present;
+ csmcc_bc_octet6a_struct octet6a;
+ kal_uint8 octet6b_present;
+ csmcc_bc_octet6b_struct octet6b;
+ kal_uint8 octet6c_present;
+ csmcc_bc_octet6c_struct octet6c;
+ kal_uint8 octet6d_present;
+ csmcc_bc_octet6d_struct octet6d;
+ kal_uint8 octet6e_present;
+ csmcc_bc_octet6e_struct octet6e;
+ kal_uint8 octet6f_present;
+ csmcc_bc_octet6f_struct octet6f;
+ kal_uint8 octet6g_present;
+ csmcc_bc_octet6g_struct octet6g;
+ kal_uint8 octet7_present;
+ csmcc_bc_octet7_struct octet7;
+} csmcc_bc_struct;
+
+
+typedef struct {
+ kal_uint8 negotiation_indicator;
+} csmcc_llc_octet3a_struct;
+
+typedef struct {
+ kal_uint8 rate_multiplier;
+} csmcc_llc_octet4a_struct;
+
+typedef struct {
+ kal_uint8 user_info_layer1_protocol;
+} csmcc_llc_octet5_struct;
+
+typedef struct {
+ kal_uint8 synchronous_flag;
+ kal_uint8 negotiation;
+ kal_uint8 user_rate;
+} csmcc_llc_octet5a_struct;
+
+typedef struct {
+ kal_uint8 intermediate_rate;
+ kal_uint8 NIC_on_Tx;
+ kal_uint8 NIC_on_Rx;
+ kal_uint8 flow_control_on_Tx;
+ kal_uint8 flow_control_on_Rx;
+} csmcc_llc_octet5b1_struct;
+
+typedef struct {
+ kal_uint8 header_flag;
+ kal_uint8 multi_frame;
+ kal_uint8 mode_of_layer1;
+ kal_uint8 LLI_negotiation;
+ kal_uint8 assignor;
+ kal_uint8 inband_negotiation;
+} csmcc_llc_octet5b2_struct;
+
+typedef struct {
+ kal_uint8 number_of_stop_bits;
+ kal_uint8 number_of_data_bits;
+ kal_uint8 parity;
+} csmcc_llc_octet5c_struct;
+
+typedef struct {
+ kal_uint8 duplex_mode;
+ kal_uint8 modem_type;
+} csmcc_llc_octet5d_struct;
+
+typedef struct {
+ kal_uint8 user_info_layer2_protocol;
+} csmcc_llc_octet6_struct;
+
+typedef struct {
+ kal_uint8 mode_of_layer2;
+ kal_uint8 Q933_use;
+} csmcc_llc_octet6a1_struct;
+
+typedef struct {
+ kal_uint8 user_specified_layer2_protocol_info;
+} csmcc_llc_octet6a2_struct;
+
+typedef struct {
+ kal_uint8 window_size;
+} csmcc_llc_octet6b_struct;
+
+typedef struct {
+ kal_uint8 optional_layer3_protocol_info;
+} csmcc_llc_octet7a1_struct;
+
+typedef struct {
+ kal_uint8 mode_of_layer3;
+} csmcc_llc_octet7a2_struct;
+
+typedef struct {
+ kal_uint8 default_packet_size;
+} csmcc_llc_octet7b1_struct;
+
+typedef struct {
+ kal_uint8 packet_window_size;
+} csmcc_llc_octet7c_struct;
+
+typedef struct {
+ kal_uint32 additional_layer3_protocol_info_MSB:1;
+} csmcc_llc_octet7a3_struct;
+
+typedef struct {
+ kal_uint8 additional_layer3_protocol_info_LSB;
+} csmcc_llc_octet7b2_struct;
+
+typedef struct {
+ kal_uint8 information_transfer_capability;
+ kal_uint8 octet3a_present;
+ csmcc_llc_octet3a_struct octet3a;
+ kal_uint8 transfer_mode;
+ kal_uint8 information_transfer_rate;
+ csmcc_llc_octet4a_struct octet4a;
+ kal_uint8 octet5_present;
+ csmcc_llc_octet5_struct octet5;
+ kal_uint8 octet5a_present;
+ csmcc_llc_octet5a_struct octet5a;
+ kal_uint8 octet5b1_present;
+ csmcc_llc_octet5b1_struct octet5b1;
+ kal_uint8 octet5b2_present;
+ csmcc_llc_octet5b2_struct octet5b2;
+ kal_uint8 octet5c_present;
+ csmcc_llc_octet5c_struct octet5c;
+ kal_uint8 octet5d_present;
+ csmcc_llc_octet5d_struct octet5d;
+ kal_uint8 octet6_present;
+ csmcc_llc_octet6_struct octet6;
+ kal_uint8 octet6a1_present;
+ csmcc_llc_octet6a1_struct octet6a1;
+ kal_uint8 octet6a2_present;
+ csmcc_llc_octet6a2_struct octet6a2;
+ kal_uint8 octet6b_present;
+ csmcc_llc_octet6b_struct octet6b;
+ kal_uint8 octet7_present;
+ kal_uint8 userInfoLayer3Protocol;
+ kal_uint8 octet7a1_present;
+ csmcc_llc_octet7a1_struct octet7a1;
+ kal_uint8 octet7a2_present;
+ csmcc_llc_octet7a2_struct octet7a2;
+ kal_uint8 octet7b1_present;
+ csmcc_llc_octet7b1_struct octet7b1;
+ kal_uint8 octet7c_present;
+ csmcc_llc_octet7c_struct octet7c;
+ kal_uint8 octet7a3_present;
+ csmcc_llc_octet7a3_struct octet7a3;
+ kal_uint8 octet7b2_present;
+ csmcc_llc_octet7b2_struct octet7b2;
+} csmcc_llc_struct;
+
+typedef struct {
+ kal_uint8 interpretation;
+ kal_uint8 protocol_profile;
+} csmcc_hlc_octet3_struct;
+
+typedef struct {
+ kal_uint8 high_layer_characteristics_iden;
+} csmcc_hlc_octet4_struct;
+
+typedef struct {
+ kal_uint8 extended_high_layer_characteristics_Iden;
+} csmcc_hlc_octet4a_struct;
+
+typedef struct {
+ kal_uint8 octet3_present;
+ csmcc_hlc_octet3_struct octet3;
+ kal_uint8 octet4_present;
+ csmcc_hlc_octet4_struct octet4;
+ kal_uint8 octet4a_present;
+ csmcc_hlc_octet4a_struct octet4a;
+} csmcc_hlc_struct;
+
+#endif /* _CSMCC_BC_TYPES_H */
+
diff --git a/mcu/protocol/layer4/l4/include/csmcc_defs.h b/mcu/protocol/layer4/l4/include/csmcc_defs.h
new file mode 100644
index 0000000..11ac029
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/csmcc_defs.h
@@ -0,0 +1,289 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * csmcc_defs.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * this file contains the constant and macro definition used in CSM(CC) module.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _CSMCC_DEFS_H
+#define _CSMCC_DEFS_H
+
+//#include "app_ltlcom.h"
+#include "kal_public_api.h"
+#include "global_def.h"
+//#include "csmcc_types.h"
+#include "csm_trc.h"
+
+extern kal_uint8 csmcc_ut_sim_service_table_query(kal_uint32 service);
+extern kal_uint8 csm_ut_check_sim_status(void);
+
+#define CSMCC_SUCCESS (0)
+#define CSMCC_FAILURE (1)
+
+#define CSMCC_KAL_U_ONE (kal_uint8)1
+#define CSMCC_KAL_U_ZERO (kal_uint8)0
+
+#define CSMCC_INVALID_CALL_ID (kal_uint8)255
+#define CSMCC_INVALID_SRC_ID (kal_uint8)255
+#define CSMCC_NO_CAUSE (kal_uint8)0
+#define CSMCC_INVALID_TI (kal_uint8)7
+#define CSMCC_SRVCC_INVALID_TI (kal_uint8)255
+
+
+#define CSMCC_MAX_CALL_NUM (7)
+#define MAX_MPTY_MEMBER_NUM (5)
+#define MAX_SS_BCD_NUM_LEN (20)
+#define MAX_SS_SUB_ADDR_LEN (21)
+#define L4_MAX_SUB_ADDR (21)
+#define MAX_CD_ARG_LEN (47)
+#define MAX_CUG_ARG_LEN (10)
+#define L4_MAX_BCD_NUM_LEN (41) /*mtk01602, 070710:define MAX BCD length for CSD address*/
+#define CSMCC_GTIMER_NUM (3) /*mtk01602: 3 global timers; dtmf and aoc,CALL_CONFIRM*/
+#define CSMCC_CALL_CONFIRM_TIME (KAL_TICKS_30_SEC)
+
+
+#define ACM_LEN (3)
+#define ACMMAX_LEN (3)
+#define EMLPP_LEN (2)
+#define AAEM_LEN (1)
+
+/* ss status oct[0], XXXXQPRA,only PRA=111, then Active.17.7.4 of 29.002 (QPRS). 23.011 */
+#define SS_ACT_MASK 0x07
+/* ss notification oct[0], only the last 3 bits used, 24.080. */
+#define SS_CF_MASK 0x07
+
+#define CSMCC_FILE_ACM_MASK 0x01
+#define CSMCC_FILE_ACMMAX_MASK 0x02
+#define CSMCC_FILE_EMLPP_MASK 0x04
+#define CSMCC_FILE_AAEM_MASK 0x08
+#define CSMCC_ALL_FILE_MASK (CSMCC_FILE_ACM_MASK| \
+ CSMCC_FILE_ACMMAX_MASK| \
+ CSMCC_FILE_EMLPP_MASK| \
+ CSMCC_FILE_AAEM_MASK) \
+
+#define CSMCC_STARTUP_SIM_FAIL_MASK 0x40
+#define CSMCC_STARTUP_NVRAM_FAIL_MASK 0x80
+#define CSMCC_SIM_FILE_CHANGE_FAIL_MASK 0x40
+#define CSMCC_TI_FLAG_OFFSET (kal_uint8)3
+#define CSMCC_TI_FLAG_MASK 0x08
+#define CSMCC_TI_MASK 0x07
+#define CSMCC_VT_CAP_MASK 0x01
+
+
+
+
+#if defined(__GEMINI__)
+#define CSMCC_PTR_G_TO_L csmcc_context_struct *csmcc_ptr_l=csmcc_ptr_g;
+#else
+#define CSMCC_PTR_G_TO_L
+#endif
+
+#define CSMCC_GET_CCM_INCR_FLAG( call_id ) \
+ (((csmcc_ctab_g.call_tab[call_id-1].ccm_per_call) & 0x80000000) > 0)
+
+#define CSMCC_SET_CCM_INCR_FLAG( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1].ccm_per_call |= 0x80000000;
+
+#define CSMCC_RESET_CCM_INCR_FLAG( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1].ccm_per_call &= 0x7fffffff;
+
+#define CSMCC_RESET_SIM_READ_FLAG \
+ CSMCC_PTR->startup_req = 0;
+
+#define CSMCC_UNSET_SIM_READ_FLAG( mask ) \
+ CSMCC_PTR->startup_req &= ~mask;
+
+#define CSMCC_SET_SIM_READ_FLAG( mask ) \
+ CSMCC_PTR->startup_req |= mask;
+
+#define CSMCC_GET_SIM_READ_FLAG( mask ) \
+ (((CSMCC_PTR->startup_req) & mask ) > 0)
+
+#define CSMCC_SET_STARTUP_SIM_FAIL_FLAG \
+ CSMCC_PTR->startup_req |= CSMCC_STARTUP_SIM_FAIL_MASK;
+
+#define CSMCC_GET_STARTUP_SIM_FAIL_FLAG \
+ (((CSMCC_PTR->startup_req) & CSMCC_STARTUP_SIM_FAIL_MASK) >0)
+
+#define CSMCC_SET_STARTUP_NVRAM_FAIL_FLAG \
+ CSMCC_PTR->startup_req |= CSMCC_STARTUP_NVRAM_FAIL_MASK;
+
+#define CSMCC_GET_STARTUP_NVRAM_FAIL_FLAG \
+ (((CSMCC_PTR->startup_req) & CSMCC_STARTUP_NVRAM_FAIL_MASK) > 0)
+
+#define CSMCC_SET_SIM_FILE_CHANGE_FAIL_FLAG \
+ CSMCC_PTR->startup_req |= CSMCC_SIM_FILE_CHANGE_FAIL_MASK;
+
+#define CSMCC_GET_SIM_FILE_CHANGE_FAIL_FLAG \
+ (((CSMCC_PTR->startup_req) & CSMCC_SIM_FILE_CHANGE_FAIL_MASK) >0)
+
+#define CSMCC_CONSTRUCT_LOCAL_PARA(local_para_ptr, local_para_struct) \
+ local_para_ptr = (local_para_struct *) \
+ construct_local_para((kal_uint16)sizeof(local_para_struct), \
+ TD_RESET);
+
+#define GET_CALL_STATUS( call_id ) \
+ csmcc_ctab_g.call_pool[call_id]
+
+#define SET_CALL_STATUS( call_id, status ) \
+ csmcc_ctab_g.call_pool[call_id] = status;
+
+#define CALL_ENTRY( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1]
+
+#define CALL_DATA( call_id, var ) \
+ csmcc_ctab_g.call_tab[call_id-1].var
+
+#define GET_CALL_STATE( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1].call_state
+
+
+/* MAUI_01315252, update call state */
+#define SET_CALL_STATE( call_id, state) csmcc_set_call_state(call_id, state);
+
+#define GET_MPTY_STATE( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1].mpty_state
+
+#define SET_MPTY_STATE( call_id, state) \
+ csmcc_ctab_g.call_tab[call_id-1].mpty_state = state; \
+ MD_TRC_CSMCC_TRACE_MPTY_STATE_CHANGE(\
+ call_id, \
+ csmcc_ctab_g.call_tab[call_id-1].call_state, \
+ state, \
+ csmcc_ctab_g.call_tab[call_id-1].src_id);
+
+#define GET_CALL_TYPE( call_id ) \
+ csmcc_ctab_g.call_tab[call_id-1].\
+ bc[csmcc_ctab_g.call_tab[call_id-1].cur_call_type]
+
+#define SET_CALL_TYPE( call_id, call_type) \
+ csmcc_ctab_g.call_tab[call_id-1].\
+ bc[csmcc_ctab_g.call_tab[call_id-1].cur_call_type] = call_type;
+
+#define FILL_ACM_VAL( data, value ) \
+ data[2] = (kal_uint8)(value & 0x000000ff); \
+ data[1] = (kal_uint8)((value & 0x0000ff00)>>8); \
+ data[0] = (kal_uint8)((value & 0x00ff0000)>>16);
+
+#define SET_ACM_VAL( data ) \
+ CSMCC_PTR->acm = data[2]+(data[1]<<8)+(data[0]<<16);\
+ CSMCC_PTR->pre_acm = data[2]+(data[1]<<8)+(data[0]<<16);
+
+#define SET_ACMMAX_VAL( data ) \
+ CSMCC_PTR->acmmax = data[2]+(data[1]<<8)+(data[0]<<16);
+
+#define SET_EMLPP_VAL( data ) \
+ CSMCC_PTR->default_call_priority = data[0];
+
+#define SET_AAEM_VAL( data ) \
+ CSMCC_PTR->auto_answer_priority_level = data[0];
+
+#define AUTO_ANSWER( call_id ) \
+ (((1 << (7 - csmcc_ctab_g.call_tab[call_id-1].call_priority)) & CSMCC_PTR->auto_answer_priority_level) > 0)
+
+#define CSD_USER_ID_LEN 32
+#define CSD_USER_PWD_LEN 32
+
+
+#if defined(__GEMINI__)
+/*Get current sim card by module id*/
+#define CSMCC_SIM_INTERFACE (CSMCC_PTR->csmcc_sim_interface)
+#define CSMCC_MOD_ID (CSMCC_PTR->csmcc_sim_interface + MOD_CSM)
+#else
+#define CSMCC_SIM_INTERFACE
+#define CSMCC_MOD_ID MOD_CSM
+#endif
+
+#define CSMCC_MOD_SIM_INDEX (CSMCC_MOD_ID - MOD_CSM)
+
+#if (defined(__CSMCC_UT__) && defined(__MTK_INTERNAL__))
+#define CSMCC_SIM_SERVICE_TABLE_QUERY(x) (csmcc_ut_sim_service_table_query(x))
+#define CSMCC_CHECK_SIM_STATUS (csm_ut_check_sim_status())
+#define CSMSS_SIM_SERVICE_TABLE_QUERY(x) (csmcc_ut_sim_service_table_query(x))
+#define CSMSS_CHECK_SIM_STATUS (csm_ut_check_sim_status())
+#else
+#if defined(__GEMINI__)
+/*Get current sim card by module id*/
+/*If defined GEMINI, add another parameter in sim service table query API*/
+#define CSMCC_SIM_SERVICE_TABLE_QUERY(x) (sim_service_table_query(x, CSMCC_PTR->csmcc_sim_interface))
+#define CSMCC_CHECK_SIM_STATUS (check_sim_status(CSMCC_PTR->csmcc_sim_interface))
+#define CSMSS_SIM_SERVICE_TABLE_QUERY(x) (sim_service_table_query(x, (kal_uint8)(csmss_cur_mod-MOD_CSM)))
+#define CSMSS_CHECK_SIM_STATUS (check_sim_status((kal_uint8)(csmss_cur_mod-MOD_CSM)))
+#else
+#define CSMCC_SIM_SERVICE_TABLE_QUERY(x) (sim_service_table_query(x))
+#define CSMCC_CHECK_SIM_STATUS (check_sim_status())
+#define CSMSS_SIM_SERVICE_TABLE_QUERY(x) (sim_service_table_query(x))
+#define CSMSS_CHECK_SIM_STATUS (check_sim_status())
+#endif
+#endif
+
+#if !defined(__MTK_TARGET__) && !defined(__UE_SIMULATOR__) // UT
+#define CSMCC_ALLOC_CALL_ID_FROM_VDM(x)
+#define CSMCC_DEALLOC_CALL_ID_FROM_VDM(x)
+#else
+#define CSMCC_ALLOC_CALL_ID_FROM_VDM(x) (vdm_external_alloc_call_context(KAL_FALSE, &x, CSMCC_PTR->csmcc_sim_interface))
+#define CSMCC_DEALLOC_CALL_ID_FROM_VDM(x) (vdm_external_dealloc_call_context(x, CSMCC_PTR->csmcc_sim_interface))
+#endif
+
+#define CSMCC_SIM_TOTAL (MAX_SIM_NUM)
+#define CSMCC_DEFAULT_INTERFACE (15)
+
+#endif /* _CSMCC_DEFS_H */
+
diff --git a/mcu/protocol/layer4/l4/include/csmcc_types.h b/mcu/protocol/layer4/l4/include/csmcc_types.h
new file mode 100644
index 0000000..61e8305
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/csmcc_types.h
@@ -0,0 +1,548 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * csmcc_types.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for type definition used in CSM(CC) module.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _CSMCC_TYPES_H
+#define _CSMCC_TYPES_H
+
+//#include "event_shed.h"
+//#include "stack_timer.h"
+//#include "kal_non_specific_general_types.h"
+#include "kal_general_types.h"
+#include "kal_public_api.h"
+//#include "event_shed.h"
+//#include "stack_timer.h"
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "csmcc_defs.h"
+#include "csmcc_common_enums.h"
+#include "csmcc_enums.h"
+#include "csmcc_bc_types.h"
+#include "mncc_struct.h"
+//#include "ps2sat_struct.h"
+#include "l4c2csm_cc_struct.h"
+#include "ps_public_struct.h"
+#include "ps_public_enum.h"
+#include "l4_nvram_def.h"
+#include "l4_nvram_editor.h"
+
+typedef kal_uint16 csmcc_ret_t;
+
+typedef enum
+{
+ CSMCC_CALL_FREE,
+ CSMCC_CALL_BLK,
+ CSMCC_CALL_UNUSED
+} csmcc_call_alloc_enum;
+
+typedef enum
+{
+ CSMCC_AUTO_DTMF,
+ CSMCC_MANUAL_DTMF,
+ CSMCC_VTS_DTMF,
+ CSMCC_INVALID_DTMF_MODE = 255
+} csmcc_dtmf_mode_enum;
+
+typedef enum
+{
+ CSMCC_CALL_IDLE = 0x0000, /*0*/
+ CSMCC_CALL_INIT = 0x0001, /*1*/
+ CSMCC_CALL_ALERT = 0x0002, /*2*/
+ CSMCC_CALL_ACCEPT = 0x0004, /*4*/
+ CSMCC_CALL_ACTIVE = 0x0008, /*8*/
+ CSMCC_MS_CALL_DISC = 0x0010, /*16*/
+ CSMCC_NW_CALL_DISC = 0x0020, /*32*/
+ CSMCC_NW_CALL_DISC_ON_HOLD = 0x0040, /*64*/
+ CSMCC_CALL_MODIFY = 0x0080, /*128*/
+ CSMCC_CALL_HOLD_REQ = 0x0100, /*256*/
+ CSMCC_CALL_HOLD = 0x0200, /*512*/
+ CSMCC_CALL_RETRIEVE_REQ = 0x0400, /*1024*/
+ CSMCC_CALL_PRESENT_IND = 0x0800 /*2048*/
+} csmcc_call_state_enum;
+
+typedef enum
+{
+ CSMCC_CALL_NUM_TYPE_NO_VALID,
+ CSMCC_CALL_NUM_TYPE_URI,
+ CSMCC_CALL_NUM_TYPE_BCD
+
+} csmcc_call_number_type_enum;
+
+
+#define CSMCC_ALL_DISC_STATES (CSMCC_MS_CALL_DISC| \
+ CSMCC_NW_CALL_DISC| \
+ CSMCC_NW_CALL_DISC_ON_HOLD) \
+
+#ifdef __CCBS_SUPPORT__
+typedef enum
+{
+ CSMCC_CCBS_NONE,
+ CSMCC_CCBS_POSSIBLE,
+ CSMCC_CCBS_ACTIVATED,
+ CSMCC_CCBS_INVOKED
+} csmcc_ccbs_status_enum;
+#endif /*__CCBS_SUPPORT__*/
+
+typedef enum
+{
+ CSMCC_MPTY_IDLE,
+ CSMCC_MPTY_REQ,
+ CSMCC_MPTY_ACTIVE,
+ CSMCC_SPLIT_REQ
+} csmcc_mpty_state_enum;
+
+typedef struct csmcc_dtmf_struct
+{
+ kal_uint8 *digit;
+ kal_uint8 cur_digit_index;
+ kal_uint8 count;
+} csmcc_dtmf_struct;
+
+typedef struct csmcc_inv_info_struct
+{
+ kal_uint32 inv_id;
+ kal_uint8 opcode;
+ kal_bool used;
+} csmcc_inv_info_struct;
+
+typedef struct csmcc_cug_info_struct
+{
+ kal_uint16 cug_index;
+ kal_uint8 cug_suppress;
+} csmcc_cug_info_struct;
+
+/*mtk01602: Replace 3 stack timer(DTMF, AoC, RLC) by event scheduler*/
+typedef struct csmcc_timer_struct
+{
+ kal_uint8 call_id;
+ eventid event_id;
+ kal_uint32 timer_duration;
+} csmcc_timer_struct;
+
+typedef struct csmcc_call_context_struct
+{
+ kal_uint8 call_id;
+ kal_uint8 src_id;
+ kal_uint8 ti;
+ csmcc_call_state_enum call_state;
+ csmcc_call_mode_enum call_mode;
+ kal_uint8 cur_call_type;
+ csmcc_call_orig_enum call_orig;
+ csmcc_call_type_enum bc[2];
+ csmcc_dtmf_mode_enum dtmf_mode;
+ kal_bool wait_stop_dtmf;
+ csmcc_dtmf_struct dtmf;
+ kal_bool cw_flag;
+ kal_bool cug_info;
+ kal_uint8 clir_info;
+ csmcc_inv_info_struct inv_info;
+ csmcc_mpty_state_enum mpty_state;
+ /* store previous state, when send or receive DISC */
+ csmcc_call_state_enum pre_call_state;
+#ifdef __AOC_SUPPORT__
+ kal_uint32 ccm_per_call;
+ kal_uint32 aoc_cdur;
+#endif
+ /* save rlc_timer_status, this timer is started for REL_COMP_REQ will not immediately sent until timer expired. */
+ csmcc_timer_struct rlc_timer;
+ kal_uint8 csmcc_rlc_status;
+ /* the following variable is for:
+ 1. sending connect indication after data activation in case of MO data or fax call
+ 2. sending incoming call indication after sending alerting request in case of
+ early assignment */
+ local_para_struct *local_para_ptr;
+#ifdef __EMLPP_SUPPORT__
+ csmcc_call_priority_enum call_priority;
+#endif
+#ifdef __CCBS_SUPPORT__
+ csmcc_ccbs_status_enum ccbs_status;
+ kal_uint8 ccbs_index;
+#endif /*__CCBS_SUPPORT__*/
+#ifdef __SAT__
+ kal_uint8 sat_call_type;
+ kal_uint8 type_of_modification; //mtk01602: Store tom for SAT modified call to avoid L4C retry but send call ctrl again
+#endif
+
+ /*mtk01602: R4 new feature, Emergency Call Category*/
+#ifdef __REL4__
+ kal_uint8 service_category;
+#endif
+ kal_bool number_present;
+ l4_addr_bcd_struct number;
+ kal_bool connected_number_present;
+ l4_addr_bcd_struct connected_number;
+#ifdef __SUBADDR_SUPPORT__
+ kal_bool sub_addr_present;
+ l4ccsm_cc_sub_addr_struct sub_addr;
+#endif
+
+ kal_bool ctrl_by_sim_with_mod; /* call control by SIM with modified number */
+ l4_addr_bcd_struct ctrl_by_sim_tmp_number;
+
+ kal_bool cli_present;
+ kal_uint8 cli;
+ kal_bool alpha_present;
+ kal_char alpha[MAX_PS_NAME_SIZE + 1];
+ kal_uint8 number_type;
+ kal_bool uri_present;
+ kal_char uri[MAX_SIP_URI_LEN];
+
+#if defined(__IMS_SUPPORT__)
+ kal_uint8 srvcc_call;
+#endif
+ kal_uint8 cli_validity;
+ kal_bool is_facility_ind_pending;
+ mncc_facility_struct facility_ind;
+} csmcc_call_context_struct;
+
+typedef struct csmcc_v120_param_struct
+{
+ csmcc_v120_rah_enum v120_rah;
+ csmcc_v120_mfm_enum v120_mfm;
+ csmcc_v120_mode_enum v120_mode;
+ csmcc_v120_llineg_enum v120_llineg;
+ csmcc_v120_assign_enum v120_assign;
+ csmcc_v120_negtype_enum v120_negtype;
+} csmcc_v120_param_struct;
+
+typedef struct csmcc_rlp_param_struct
+{
+ kal_uint8 rlp_iws;
+ kal_uint8 rlp_mws;
+ kal_uint8 rlp_T1;
+ kal_uint8 rlp_N2;
+ kal_uint8 rlp_ver;
+ kal_uint8 rlp_T4;
+} csmcc_rlp_param_struct;
+
+typedef struct csmcc_data_compression_param_struct
+{
+ csmcc_data_compression_dir_enum dir;
+ csmcc_data_compression_nego_enum negotiation;
+ kal_uint16 max_dict;
+ kal_uint8 max_string;
+} csmcc_data_compression_param_struct;
+
+typedef struct csmcc_data_bc_param_struct
+{
+ csmcc_sync_enum sync;
+ csmcc_bearer_ce_enum ce;
+ csmcc_itc_enum itc;
+ csmcc_other_itc_enum other_itc;
+ csmcc_user_rate_enum ur;
+ csmcc_fnur_enum fnur;
+ csmcc_rate_adaptation_enum ra;
+ csmcc_other_rate_adaptation_enum other_ra;
+ csmcc_modem_type_enum mt;
+ csmcc_other_modem_type_enum other_mt;
+ csmcc_v120_param_struct v120_param;
+ csmcc_rlp_param_struct rlp_param;
+ csmcc_data_compression_param_struct data_compression_param;
+ csmcc_nsb_enum nsb;
+ csmcc_ndb_enum ndb;
+ csmcc_parity_enum parity;
+
+} csmcc_data_bc_param_struct;
+
+typedef struct csmcc_bearer_service_type_struct
+{
+ csmcc_bearer_speed_enum bearer_speed;
+ csmcc_bearer_name_enum bearer_name;
+ csmcc_bearer_ce_enum bearer_ce;
+} csmcc_bearer_service_type_struct;
+
+
+typedef struct csmcc_cf_param_struct
+{
+ csmcc_cf_format_enum cf_format;
+ csmcc_cf_parity_enum cf_parity;
+} csmcc_cf_param_struct;
+
+
+typedef struct csmcc_cug_param_struct
+{
+ csmcc_cug_temporary_mode_enum cug_temporary_mode;
+ kal_uint8 cug_index;
+ csmcc_cug_suppress_enum cug_suppress;
+} csmcc_cug_param_struct;
+
+typedef struct csmcc_at_param_struct
+{
+ csmcc_addr_type_enum addr_type;
+ csmcc_call_mode_enum call_mode;
+ csmcc_bearer_service_type_struct bearer_service_type;
+ csmcc_sns_mode_enum sns_mode;
+ csmcc_data_compression_param_struct data_compression_param;
+ csmcc_cf_param_struct cf_param;
+ csmcc_v120_param_struct v120_param;
+ csmcc_rlp_param_struct rlp_param;
+ csmcc_aoc_mode_enum aoc_mode;
+ csmcc_cug_param_struct cug_param;
+ csmcc_fclass_mode_enum fclass_mode;
+} csmcc_at_param_struct;
+
+typedef struct csmcc_nego_bc_struct
+{
+ kal_bool bc1_present;
+ csmcc_bc_struct bc1;
+ kal_bool bc2_present;
+ csmcc_bc_struct bc2;
+ kal_bool repeat_present;
+ mncc_repeat_ind_struct bc_repeat_ind;
+} csmcc_nego_bc_struct;
+
+/*[MAUI_00740014] Supported Codec List
+ Supported UMTS codec should also be considered after Rel 4 onward. */
+
+/*MAUI_02601973 remove rel 4 compile option */
+typedef struct csmcc_mscap_struct
+{
+ kal_uint8 speech_version;
+ kal_uint8 acc;
+ kal_uint16 data_cap;
+ kal_uint8 speech_version_byte2; /*second byte for GSM supported speech codec*/
+ kal_uint8 umts_supported_speech; /*first byte for UMTS supported speech codec*/
+ kal_uint8 umts_supported_speech_byte2; /*second byte for UMTS supported speech codec*/
+ kal_uint8 disable_call; /*MAUI_02907137 block CS call for DATA CARD*/
+ kal_uint8 tdd_supported_speech;
+ kal_uint8 tdd_supported_speech_byte2;
+} csmcc_mscap_struct;
+
+
+typedef struct csmcc_evshed_struct
+{
+ event_scheduler *evshed_ptr;
+
+} csmcc_evshed_struct;
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+ /*cosine: 20080512, [SMS BOOTSTRAP]*/
+typedef struct
+{
+ kal_uint16 rec_num; /* total record numbers */
+ kal_uint16 rec_size; /* one record size */
+ kal_uint16 batch_num; /* batch record numbers */
+ kal_uint16 current_rec; /* current record number */
+} csmcc_nvram_struct;
+
+#ifdef __CPHS__
+typedef struct csmcc_als_struct
+{
+ kal_uint8 line_id;
+} csmcc_als_struct;
+#endif
+
+
+typedef struct csmcc_context_struct
+{
+ csmcc_req_enum cur_req;
+ kal_uint8 req_call_id;
+ csmcc_crss_req_enum crss_req;
+ kal_bool sat_file_change_req; /* ALPS00439699 */
+ kal_bool starup_sim_read_req;
+ kal_bool is_tch; /*mtk00924 add 041210 for ECPI*/
+ kal_bool is_ibt; /*mtk00924 add 041210 for ECPI*/
+ kal_uint8 rat;
+ kal_uint8 rat_mode; /* MAUI_00740014 : add for rel4 new IE, SCL*/
+#ifdef __REL6__
+ /*[MAUI_01712442]CC R6 change request*/
+ kal_bool umts_only_service;
+#endif
+ kal_uint8 csmcc_sim_interface;
+ csmcc_mscap_struct mscap;
+ csmcc_evshed_struct csmcc_timer;
+ csmcc_timer_struct csmcc_timer_pool[CSMCC_GTIMER_NUM];
+ csmcc_data_bc_param_struct data_bc_param;
+ csmcc_at_param_struct at_param;
+ csmcc_nego_bc_struct nego_bc;
+ kal_uint8 default_call_priority;
+ kal_uint8 auto_answer_priority_level;
+ //csmcc_timer_struct csmcc_timer; /* used by auto dtmf pause */
+ //csmcc_timer_struct csmcc_timer_2; /* used by AoC update SIM ACM */
+ kal_uint32 rlc_duration;
+ kal_bool call_reest;
+ csmcc_attach_status_enum attach_status;
+ csmcc_channel_info_enum channel_info;
+ kal_uint8 channel_mode;
+ kal_uint8 channel_type;
+ kal_uint8 req_src_id;
+ /*Cosine: 20080503*/
+ csmcc_req_enum prev_req;
+ kal_uint8 prev_req_src_id;
+ kal_uint8 prev_req_call_id;
+ /*csmcc_req_enum*/kal_uint8 aux_req;
+ kal_uint8 startup_req;/*only used in startup sim phase*/
+ kal_uint8 aux_req_call_id;
+ kal_bool is_aux_req_processed;
+ csmcc_req_enum cur_non_l4c_req;
+ kal_uint8 cur_non_l4c_req_call_id;
+ /*mtk01602, 070718: MMI needs opcode in CHLD_RSP, otherwise when there's multiple CHLD_REQ,
+ MMI may confused with CHLD_RSP.*/
+ kal_uint32 pause_duration;
+ kal_uint32 inv_id_count;
+ kal_uint32 inv_id_received;
+ kal_bool is_sat_dtmf;
+ kal_uint8 dtmf_src_id;
+ /*Michael: add for SAT retry, to store ccp from L4C or SIM until send SAT_CALL_SETUP_CNF*/
+ kal_uint8 ccp_temp[MAX_SAT_SIZE_OF_CCP];
+ kal_uint8 size_of_ccp_temp;
+ kal_uint8 ctm_status;
+ kal_uint8 activate_data_call_id;
+ kal_uint8 iwf;
+ csmcc_bearer_ce_enum activate_data_call_ce; /* MAUI_01789039 */
+ kal_uint8 csmcc_emergency_call_id;
+#ifdef __AOC_SUPPORT__
+ kal_uint32 acm;
+ kal_uint32 pre_acm;
+ kal_uint32 acmmax;
+ kal_uint32 acmmax_update_temp;
+ kal_uint32 last_ccm;
+ kal_bool acm_valid;
+ kal_bool update_acm_flag;
+ kal_uint32 acm_before_write_sim;//MAUI_02866587 , because ACM might be increased during increasing SIM(before CNF), therefore.save before increase SIM
+#endif
+/* __CNAP_SUPPORT__*/
+ /* [Cosine 070327] CNAP */
+ l4ccsm_cc_name_ind_struct cnap_info;
+#ifdef __CPHS__
+ kal_uint8 temp_als_id;
+ csmcc_als_struct als;
+#endif
+
+ kal_bool rscd_P;
+ csmcc_csd_prof_rate_enum prof_type; //add profile type for CSD prof, SAT prof, and SIM provisioing prof.
+ kal_uint8 seq_num; //MAUI_01964704
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+ kal_uint8 csmcc_ecall_id;
+ ecall_type_enum ecall_type;
+#endif
+ kal_bool dup_sim_file_change_req;//ALPS00437346, true when there is unfinished sim file change
+//ALPS00596537, store the newest call id for build MPTY call.
+ kal_uint8 csmcc_last_call_id;
+ kal_uint16 connected_call_count; /*only active call can be counted in*/
+ kal_bool call_id_assign_not_send; /* ALPS01888671 */
+#ifdef __TC7__CS__SUPPORT__
+ kal_bool call_exist_status_to_rrce;
+ kal_bool is_mt_call_type_notified_to_rrce;
+#endif
+#if defined(__MODEM_EM_MODE__)
+ kal_bool em_event_report;
+#endif /*__MODEM_EM_MODE__*/
+ kal_uint8 srvcc_smallest_ti;
+ kal_uint8 sim_slot_id;
+ nvram_ef_plmn_for_esvc_struct plmn_for_esvc;
+ kal_uint32 plmn_info;
+} csmcc_context_struct;
+
+typedef struct
+{
+ event_scheduler *event_scheduler_ptr; // to save original protocol event scheduler ptr
+} csmcc_ps_context_struct;
+
+typedef struct csmcc_ctab_struct
+{
+ csmcc_call_alloc_enum call_pool[CSMCC_MAX_CALL_NUM+1];
+ csmcc_call_context_struct call_tab[CSMCC_MAX_CALL_NUM];
+} csmcc_ctab_struct;
+
+extern csmcc_ctab_struct csmcc_ctab_g;
+extern csmcc_ctab_struct *csmcc_ctab_ptr_g;
+
+#if defined(__GEMINI__)
+extern module_type csmcc_ctab_mod_id;
+#endif /*__GEMINI__*/
+
+extern csmcc_context_struct *csmcc_ptr_g;
+extern csmcc_context_struct csmcc_context_g[CSMCC_SIM_TOTAL];
+extern csmcc_ps_context_struct csmcc_ps_context_g[CSMCC_SIM_TOTAL];
+extern kal_uint32 csmcc_call_capability;
+
+#if defined(__GEMINI__)
+#define CSMCC_PTR (csmcc_ptr_l)
+#else
+#define CSMCC_PTR (csmcc_context_g)
+#endif
+
+/*every ILM from L4C, which relates one call
+ shall be having the following header */
+
+typedef struct l4ccsm_cc_local_para_hdr_struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 call_id;
+} l4ccsm_cc_local_para_hdr_struct;
+
+typedef l4_addr_bcd_struct mncc_called_num_struct;
+typedef l4ccsm_cc_peer_addr_struct mncc_calling_num_struct;
+typedef l4ccsm_cc_sub_addr_struct mncc_sub_addr_struct;
+typedef void (*csmcc_timer_hdlr_t)(kal_uint32 data);
+
+#endif /* _CSMCC_TYPES_H */
+
+
diff --git a/mcu/protocol/layer4/l4/include/csmss_atfunc.h b/mcu/protocol/layer4/l4/include/csmss_atfunc.h
new file mode 100644
index 0000000..e9f783f
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/csmss_atfunc.h
@@ -0,0 +1,89 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * csmss_atfunc.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for aux. handler of messages from L4C and SS.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _CSMSS_ATFUNC_H
+#define _CSMSS_ATFUNC_H
+
+#if 0
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif //__CSMSS_UT__
+
+extern kal_bool l4ccsm_ss_set_essp_mode(kal_uint32 mode);
+extern kal_uint32 l4ccsm_ss_get_essp_mode(void);
+extern kal_bool l4ccsm_ss_check_if_operation_for_all_bs_code(void);
+extern void l4ccsm_ss_reset_ss_request_for_all_bs_code(void);
+
+#endif /* End of file csmss_atfunc.h */
+
+
diff --git a/mcu/protocol/layer4/l4/include/l4c2csm_ss_lcs_struct.h b/mcu/protocol/layer4/l4/include/l4c2csm_ss_lcs_struct.h
new file mode 100644
index 0000000..ffe0c65
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4c2csm_ss_lcs_struct.h
@@ -0,0 +1,191 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * l4c2csm_ss_lcs_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ ****************************************************************************/
+
+/*******************************************************************************
+* 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 : l4c2csm_ss_lcs_struct.h
+ * SYNOPSIS : Functions for encoding/decoding.
+ *
+ * R E V I S I O N H I S T O R Y
+ *
+ */
+#ifndef _L4C2CSM_SS_LCS_STRUCT_H
+#define _L4C2CSM_SS_LCS_STRUCT_H
+
+#include "kal_public_defs.h"
+#include "kal_general_types.h"
+#include "ss_asn.h"
+
+//SSAGPS
+//to L4C
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LocationNotificationArg ssLocationNotificationArg;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_mtlr_begin_ind_struct;
+//MSG_ID_L4CCSM_CISS_MTLR_BEGIN_IND,
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LCS_AreaEventRequestArg ssLCSAreaEventRequestArg;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_aerq_begin_ind_struct;
+//MSG_ID_L4CCSM_CISS_AERQ_BEGIN_IND,
+
+//null
+//MSG_ID_L4CCSM_CISS_AERP_FAC_IND,
+// for parallel SS
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_aerp_fac_ind_struct;
+//MSG_ID_L4CCSM_CISS_AERP_FAC_IND,
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 cause_present;
+ kal_uint16 cause;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_aerp_end_cnf_struct;
+//MSG_ID_L4CCSM_CISS_AERP_END_CNF,
+
+typedef l4ccsm_ciss_aerp_end_cnf_struct l4ccsm_ciss_molr_end_cnf_struct;
+//MSG_ID_L4CCSM_CISS_MOLR_END_CNF,
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LCS_AreaEventCancellationArg ssLCSAreaEventCancellationArg;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_aecl_begin_ind_struct;
+//MSG_ID_L4CCSM_CISS_AECL_BEGIN_IND,
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LCS_MOLRRes ssLCSMOLRRes;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_molr_fac_ind_struct;
+//MSG_ID_L4CCSM_CISS_MOLR_FAC_IND,
+
+
+
+//to CISS
+
+//MT response
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LocationNotificationRes ssLocationNotificationRes;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_mtlr_end_rsp_struct;
+//MSG_ID_L4CCSM_CISS_MTLR_END_RSP,
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 cause_value;
+ kal_uint8 ss_id; // for parallel SS
+} l4ccsm_ciss_aerq_end_rsp_struct;
+//or null?
+//MSG_ID_L4CCSM_CISS_AERQ_END_RSP,
+
+//MO request
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LCS_AreaEventReportArg ssLCSAreaEventReportArg;
+ kal_uint8 ss_id; // for parallel SS
+ kal_uint8 rat_info; //for CISS to recognize the operating rat: 0:2/3G, 1:4G
+} l4ccsm_ciss_aerp_req_struct;
+//MSG_ID_L4CCSM_CISS_AERP_REQ,
+
+typedef l4ccsm_ciss_aerp_req_struct l4ccsm_ciss_aerp_fac_res_struct;
+//MSG_ID_L4CCSM_CISS_AERP_FAC_RES
+
+typedef l4ccsm_ciss_aerq_end_rsp_struct l4ccsm_ciss_aerp_end_req_struct;
+typedef l4ccsm_ciss_aerq_end_rsp_struct l4ccsm_ciss_aecl_end_rsp_struct;
+typedef l4ccsm_ciss_aerq_end_rsp_struct l4ccsm_ciss_molr_end_req_struct;
+//MSG_ID_L4CCSM_CISS_AERP_END_REQ,
+//MSG_ID_L4CCSM_CISS_AECL_END_RSP,
+//MSG_ID_L4CCSM_CISS_MOLR_END_REQ
+typedef l4ccsm_ciss_aerq_end_rsp_struct l4ccsm_ciss_lcs_end_req_struct; // for general used
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ SS2_LCS_MOLRArg ssLCSMOLRArg;
+ kal_uint8 ss_id; // for parallel SS
+ kal_uint8 rat_info; //for CISS to recognize the operating rat: 0:2/3G, 1:4G
+} l4ccsm_ciss_molr_req_struct;
+//MSG_ID_L4CCSM_CISS_MOLR_REQ
+
+typedef l4ccsm_ciss_molr_req_struct l4ccsm_ciss_molr_fac_res_struct;
+//MSG_ID_L4CCSM_CISS_MOLR_FAC_RES
+
+#endif
+
+
diff --git a/mcu/protocol/layer4/l4/include/l4c2csm_ss_struct.h b/mcu/protocol/layer4/l4/include/l4c2csm_ss_struct.h
new file mode 100644
index 0000000..8b99339
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4c2csm_ss_struct.h
@@ -0,0 +1,333 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * l4c2csm_ss_struct.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ * 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 : l4c2csm_ss_struct.h
+ * SYNOPSIS : Functions for encoding/decoding.
+ *
+ * R E V I S I O N H I S T O R Y
+ *
+ */
+#ifndef _L4C2CSM_SS_STRUCT_H
+#define _L4C2CSM_SS_STRUCT_H
+
+#include "ps_public_enum.h"
+#include "ps_public_struct.h"
+//#include "kal_non_specific_general_types.h"
+//#include "l4c_common_enum.h"
+#include "kal_general_types.h"
+#include "kal_public_defs.h"
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 result;
+} l4ccsm_ciss_startup_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 op_code;
+ kal_uint8 ss_code;
+ kal_uint8 bs_code;
+ kal_uint8 no_reply_timer;
+ kal_uint8 subaddress_flag;
+ l4_addr_bcd_struct address;
+ l4_addr_bcd_struct subaddress;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cf_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 op_code;
+ kal_uint8 bs_code;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cw_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 op_code;
+ kal_uint8 ss_code;
+ kal_uint8 bs_code;
+ kal_uint8 old_pw[4];
+ kal_uint8 new_pw1[4];
+ kal_uint8 new_pw2[4];
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cb_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 op_code;
+ kal_uint8 ss_code;
+ kal_uint8 default_priority_level;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_emlpp_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 ss_code;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cli_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 op_code;
+ kal_uint8 ccbs_index;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_ccbs_begin_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 ussd_dcs;
+ kal_uint8 ussd_string[MAX_DIGITS_USSD];
+ kal_uint8 ussd_string_length;
+ kal_bool change_phase_req;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_pussr_begin_req_struct;
+
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussr_begin_ind_struct;
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussn_begin_ind_struct;
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussr_fac_res_struct;
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussn_fac_res_struct;
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussr_fac_ind_struct;
+typedef l4ccsm_ciss_pussr_begin_req_struct l4ccsm_ciss_ussn_fac_ind_struct;
+
+typedef struct {
+ kal_uint8 cause_present;
+ kal_uint16 cause_value;
+ kal_uint8 para_present;
+#ifdef __SAT__
+ kal_uint8 res;
+ kal_uint8 size_of_additional_info;
+ kal_uint8 additional_info[255];
+#endif
+} ss_return_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 ss_code;
+ kal_uint8 bs_count;
+ forwarding_list_struct forwarding_list[13];
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cf_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 bs_count;
+ kal_uint8 bs_code[13];
+ kal_uint8 ss_status;
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cw_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 ss_code;
+ kal_uint8 bs_count;
+ barring_list_struct barring_list[13];
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cb_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 ss_status;
+ kal_uint8 default_priority_level;
+ kal_uint8 maximum_priority_level;
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_emlpp_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 ss_code;
+ kal_uint8 ss_status;
+ kal_uint8 clir_option;
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_cli_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 ccbs_count;
+ ccbs_list_struct ccbs_list[5];
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_ccbs_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ kal_uint8 op_code;
+ kal_uint8 ussd_dcs;
+ kal_uint8 ussd_string[MAX_DIGITS_USSD];
+ kal_uint8 ussd_string_length;
+ ss_return_struct ss_return;
+#ifdef WISDOM_MMI
+// MAUI_01652364
+ kal_uint8 ussd_return_type; //l4c_ussd_return_type_enum
+#endif
+ kal_bool change_phase_ind;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_pussr_end_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 return_code;
+ ss_return_struct ss_return;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_ussd_end_cnf_struct;
+
+typedef l4ccsm_ciss_ussd_end_cnf_struct l4ccsm_ciss_ussr_end_cnf_struct;
+typedef l4ccsm_ciss_ussd_end_cnf_struct l4ccsm_ciss_ussn_end_cnf_struct;
+#ifdef __SAT__
+typedef l4ccsm_ciss_ussd_end_cnf_struct l4ccsm_ciss_sim_end_cnf_struct;
+#endif
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 guidance_info;
+} l4ccsm_ciss_cb_fac_ind_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 password[4];
+} l4ccsm_ciss_cb_fac_res_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 cause_value;
+ kal_uint8 ss_id; //MAUI_02857408, [AGPS][UP CP conflict] Support Parallel SS
+} l4ccsm_ciss_end_res_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 ton_npi;
+ kal_uint8 length;
+ kal_uint8 ss_dcs;
+ kal_uint8 ss_string[MAX_DIGITS_USSD];
+ kal_bool change_phase_req;
+ kal_uint8 type_of_modification;
+ kal_uint8 cf_number_length; /* [MAUI_01722785] add cf number interface */
+ kal_uint8 explicit_ss_op; //MAUI_02553565 explicit SS operation
+} l4ccsm_ciss_ss_parse_req_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 opcode;
+ kal_uint8 ss_dcs;
+ kal_uint8 ss_string[MAX_DIGITS_USSD];
+ kal_uint8 type_of_modification;
+ kal_uint8 cf_number_length; //MAUI_02547720
+ kal_uint8 explicit_ss_op; //MAUI_02553565
+} l4ccsm_ciss_ss_parse_cnf_struct;
+
+typedef struct {
+ LOCAL_PARA_HDR
+ kal_uint8 src_id;
+ kal_uint8 action;
+ kal_uint8 line_num;
+} l4ccsm_cphs_display_cfu_ind_struct;
+
+#endif
+
+
diff --git a/mcu/protocol/layer4/l4/include/l4c2tcm_func.h b/mcu/protocol/layer4/l4/include/l4c2tcm_func.h
new file mode 100644
index 0000000..14dda7b
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4c2tcm_func.h
@@ -0,0 +1,837 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * L4C2TCM_FUNC.H
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file handles AT get and query command.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _L4C2TCM_FUNC_H
+#define _L4C2TCM_FUNC_H
+
+//#include "ps_public_struct.h"
+//#include "tcm_common.h"
+//#include "kal_non_specific_general_types.h"
+//#include "mmi_l3_enums.h"
+//#include "l4c_common_enum.h"
+//#include "tcm_common_enums.h"
+//#include "l3_inc_enums.h"
+//#include "l4c2tcm_struct.h"
+
+#include "mmi_sm_enums.h"
+//#include "custom_mmi_default_value.h"
+
+#include "kal_general_types.h"
+#include "ps_public_enum.h"
+#include "ps_public_enum_public.h"
+#include "tcm_context_enum.h"
+
+#include "tcm_api.h"
+
+#include "tcm_context.h"
+#include "l4c_utility.h"
+
+#include "ps_public_struct.h"
+
+#include "nvram_editor_data_item.h" /* __MEDIATEK_SMART_QOS__ */
+
+// mtk04002_20120518: should NOT include tftlib_api.h here (will cause codegen error) => modify to include tftlib_common_struct.h
+#include "tftlib_common_struct.h"
+
+#include "c2k_irat_msg_struct.h"
+#include "mcd_l3_inc_struct.h"
+
+extern const kal_uint8 rmmi_sdu_err_ratio_string_table[8][3];
+extern const kal_uint8 rmmi_residual_ber_string_table[10][3];
+
+#ifdef __TCPIP__ /* ABM */
+typedef struct
+{
+ kal_uint8 cid;
+ kal_uint32 ext_rx_data;
+ kal_uint32 ext_tx_data;
+} l4c_ext_gprs_statistics_info_struct;
+#endif
+
+#ifdef __TCM_EXT_CALL_HISTORY_SUPPORT__
+typedef struct
+{
+ kal_uint64 call_history_total_ext_tx_data;
+ kal_uint64 call_history_total_ext_rx_data;
+ kal_uint64 call_history_last_ext_tx_data;
+ kal_uint64 call_history_last_ext_rx_data;
+ kal_uint64 call_history_total_ext_conn_duration_in_secs;
+ kal_uint32 call_history_last_ext_conn_duration_in_secs;
+ kal_uint8 which_cid_is_last_cid;
+}l4c_ext_gprs_call_history_info_struct;
+#endif // ~ __TCM_EXT_CALL_HISTORY_SUPPORT__
+
+//mtk04121
+typedef struct
+{
+ kal_uint8 context_id;
+ kal_uint8 bearer_id;
+ kal_uint8 apn_length;
+ kal_uint8 apn[MAX_APN_LEN];
+ kal_bool src_addr_sb_net_mask_present;
+ kal_uint8 src_addr_sb_net_mask[IPV4_ADDR_LEN * 2];
+ kal_bool ipv6_src_addr_sb_net_mask_present;
+ kal_uint8 ipv6_src_addr_sb_net_mask[IPV6_ADDR_LEN * 2];
+ kal_bool gw_addr_present;
+ kal_uint8 gw_addr[IPV4_ADDR_LEN];
+ kal_bool ipv6_gw_addr_present;
+ kal_uint8 ipv6_gw_addr[IPV6_ADDR_LEN];
+ kal_bool dns_present;
+ kal_uint8 dns[IPV4_ADDR_LEN];
+ kal_bool dns2_present;
+ kal_uint8 dns2[IPV4_ADDR_LEN];
+ kal_bool dns3_present;
+ kal_uint8 dns3[IPV4_ADDR_LEN];
+ kal_bool ipv6_dns_present;
+ kal_uint8 ipv6_dns[IPV6_ADDR_LEN];
+ kal_bool ipv6_dns2_present;
+ kal_uint8 ipv6_dns2[IPV6_ADDR_LEN];
+ kal_bool ipv6_dns3_present;
+ kal_uint8 ipv6_dns3[IPV6_ADDR_LEN];
+ kal_bool p_cscf_prim_addr_present;
+ kal_uint8 p_cscf_prim_addr[IPV4_ADDR_LEN];
+ kal_bool p_cscf_sec_addr_present;
+ kal_uint8 p_cscf_sec_addr[IPV4_ADDR_LEN];
+ kal_bool p_cscf_third_addr_present;
+ kal_uint8 p_cscf_third_addr[IPV4_ADDR_LEN];
+ kal_bool ipv6_p_cscf_prim_addr_present;
+ kal_uint8 ipv6_p_cscf_prim_addr[IPV6_ADDR_LEN];
+ kal_bool ipv6_p_cscf_sec_addr_present;
+ kal_uint8 ipv6_p_cscf_sec_addr[IPV6_ADDR_LEN];
+ kal_bool ipv6_p_cscf_third_addr_present;
+ kal_uint8 ipv6_p_cscf_third_addr[IPV6_ADDR_LEN];
+ kal_bool im_cn_signalling_flag_present;
+ kal_uint8 im_cn_signalling_flag;
+} l4c_prim_pdp_rdp_info_struct;
+
+//mtk04121
+typedef struct
+{
+ kal_uint8 context_id;
+ kal_uint8 primary_context_id;
+ kal_bool bearer_id_present;
+ kal_uint8 bearer_id;
+ kal_bool im_cn_signalling_flag_present;
+ kal_uint8 im_cn_signalling_flag;
+ kal_bool wlan_offlad_present;
+ kal_uint8 wlan_offlad;
+ kal_bool pdu_session_id_present;
+ kal_uint8 pdu_session_id;
+} l4c_sec_pdp_rdp_info_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_prim_pdp_info_struct prim_pdp_info[MAX_L4_PS_PDN_NUM];
+} l4c_prim_pdp_info_list_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_sec_pdp_info_struct sec_pdp_info[MAX_L4_PS_CID_NUM];
+} l4c_sec_pdp_info_list_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_qos_struct qos_info[MAX_L4_PS_CID_NUM];
+} l4c_qos_list_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_eqos_struct qos_info[MAX_L4_PS_CID_NUM];
+} l4c_eqos_list_struct;
+
+typedef struct
+{
+ kal_uint8 num_of_inactivity_timer;
+ l4c_apn_info_struct timer_info[TCM_APN_TABLE_SIZE];
+} l4ctcm_query_eapnsync_struct;
+
+//mtk04121
+typedef struct
+{
+ kal_uint8 context_id;
+ kal_uint8 qci;
+ kal_bool max_bitrate_present;
+ kal_uint8 max_bitrate_up_lnk;
+ kal_uint8 max_bitrate_down_lnk;
+ kal_uint8 ext_max_bitrate_up_lnk;
+ kal_uint8 ext_max_bitrate_down_lnk;
+ kal_uint8 ext2_max_bitrate_up_lnk;
+ kal_uint8 ext2_max_bitrate_down_lnk;
+ kal_bool guarntd_bit_rate_present;
+ kal_uint8 guarntd_bit_rate_up_lnk;
+ kal_uint8 guarntd_bit_rate_down_lnk;
+ kal_uint8 ext_guarntd_bit_rate_up_lnk;
+ kal_uint8 ext_guarntd_bit_rate_down_lnk;
+ kal_uint8 ext2_guarntd_bit_rate_up_lnk;
+ kal_uint8 ext2_guarntd_bit_rate_down_lnk;
+ kal_uint8 apn_ambr_present;
+ kal_uint8 apn_ambr_up_lnk;
+ kal_uint8 apn_ambr_down_lnk;
+ kal_uint8 ext_apn_ambr_up_lnk;
+ kal_uint8 ext_apn_ambr_down_lnk;
+ kal_uint8 ext2_apn_ambr_up_lnk;
+ kal_uint8 ext2_apn_ambr_down_lnk;
+
+ kal_bool is_use_ext_qos_for_dl_gbr;
+ kal_bool is_use_ext_qos_for_ul_gbr;
+ kal_bool is_use_ext_qos_for_dl_mbr;
+ kal_bool is_use_ext_qos_for_ul_mbr;
+ kal_uint64 ext_eps_qos_dl_gbr;
+ kal_uint64 ext_eps_qos_ul_gbr;
+ kal_uint64 ext_eps_qos_dl_mbr;
+ kal_uint64 ext_eps_qos_ul_mbr;
+
+ kal_bool is_use_ext_apn_ambr_for_dl;
+ kal_bool is_use_ext_apn_ambr_for_ul;
+ kal_uint64 ext_apn_ambr_for_dl;
+ kal_uint64 ext_apn_ambr_for_ul;
+} l4c_eps_qos_rdp_struct;
+
+
+typedef struct
+{
+ kal_uint8 context_id;
+ kal_uint8 num_of_vgqos;
+ tcm_vgqos_struct vgqos[VGSM_MAX_QFI_NUM];
+} l4c_vgqos_rdp_struct;
+
+//mtk04121
+typedef struct
+{
+ kal_uint8 length;
+ l4c_eps_qos_struct qos_info[MAX_L4_PS_CID_NUM];
+} l4c_eps_qos_list_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_vgqos_struct qos_info[MAX_L4_PS_CID_NUM];
+} l4c_vgqos_list_struct;
+
+typedef struct
+{
+ kal_uint8 context_id;
+
+ kal_uint8 pri_dns[IPV4_ADDR_LEN];
+ kal_uint8 sec_dns[IPV4_ADDR_LEN];
+
+ l4c_tcm_activate_pdp_request_ipv4_dns_enum act_pdp_with_pco_req_v4_dns ;
+ l4c_tcm_activate_pdp_request_ipv6_dns_enum act_pdp_with_pco_req_v6_dns; // only valid for IPv6 and IPv4v6, possible value:
+ // TCM_ACTIVATE_PDP_NEED_REQUEST_IPV6_DNS &
+ // TCM_ACTIVATE_PDP_NOT_REQUEST_IPV6_DNS
+ kal_bool ipv6_dns1_present;
+ kal_uint8 ipv6_dns1[IPV6_ADDR_LEN];
+ kal_bool ipv6_dns2_present;
+ kal_uint8 ipv6_dns2[IPV6_ADDR_LEN];
+ l4c_tcm_activate_pdp_request_ipv4_mtu_enum act_pdp_with_pco_req_v4_mtu;
+ kal_uint16 ipv4_mtu_size;
+ kal_uint8 initial_attach;
+ kal_uint32 op_pco_id;
+ plmn_id_rat_struct op_pco_plmn_id;
+ kal_uint8 op_pco_action;
+ kal_bool req_msisdn;
+ kal_bool pcscf_reselection_support;
+ kal_bool ps_data_off_support_present;
+ kal_uint8 ps_data_off_support_value;
+
+ kal_uint32 user_defined_op_pco_id;
+ plmn_id_rat_struct user_defined_op_pco_plmn_id;
+
+ kal_bool epdg_v6_addr_req;
+ plmn_id_rat_struct epdg_v6_addr_req_cointainer;
+
+ kal_bool epdg_v4_addr_req;
+ plmn_id_rat_struct epdg_v4_addr_req_cointainer;
+
+ kal_bool vzw_5guw_req;
+ plmn_id_rat_struct vzw_5guw_req_cointainer;
+} l4c_config_option_struct;
+
+typedef struct
+{
+ kal_uint8 context_id;
+ kal_uint8 user_name[MAX_GPRS_USER_NAME_LEN];
+ kal_uint8 password[MAX_GPRS_PASSWORD_LEN];
+ kal_uint8 auth_type;
+} l4c_cgauth_info_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_config_option_struct config_option_info[MAX_L4_PS_PDN_NUM];
+} l4c_config_option_list_struct;
+
+typedef struct
+{
+ kal_uint8 length;
+ l4c_cgauth_info_struct cgauth_info[MAX_L4_PS_PDN_NUM];
+} l4c_cgauth_info_list_struct;
+
+
+kal_bool l4ctcm_is_emergency_pdn_by_context_id(kal_uint8 context_id);
+
+/* +CGDCONT */
+#ifdef __TC10__
+kal_bool l4ctcm_is_cid_activated(kal_uint8 cid);
+#endif /*__TC10__*/
+
+kal_bool l4ctcm_get_pri_pdp_info(l4c_prim_pdp_info_list_struct *p_info);
+void l4ctcm_get_pri_pdp_info_by_context_id(kal_uint8 context_id, l4c_prim_pdp_info_struct *p_info);
+void l4ctcm_get_old_psi_present_by_context_id(kal_uint8 context_id, kal_bool *p_val);
+
+/* +CGDSCONT */
+kal_bool l4ctcm_get_sec_pdp_info(l4c_sec_pdp_info_list_struct *p_info);
+
+/* +CGSCONTRDP */
+kal_bool l4ctcm_get_sec_pdp_rdp_info(kal_uint8 cid, l4c_sec_pdp_rdp_info_struct *p_info);
+
+//mtk04121
+/* +CGTFT */
+kal_bool l4ctcm_set_tft_info(tft_info_struct *p_info);
+kal_bool l4ctcm_get_tft_info(tft_info_list_struct *p_info);
+kal_bool l4ctcm_undef_cgtft(kal_uint8 cid) ;
+
+/* +EGDELPF */
+kal_bool l4ctcm_set_egdelpf(kal_uint8 cid, kal_uint8 pf_id) ;
+kal_bool l4ctcm_get_egdelpf(kal_uint8 cid, kal_uint8 *p_pf_total_num, kal_uint8 *p_pf_list);
+kal_bool l4ctcm_undef_egdelpf(kal_uint8 cid) ;
+
+/* +EGLNKPF */
+kal_bool l4ctcm_set_eglnkpf(kal_uint8 cid, kal_uint8 lnkpf_id) ;
+kal_bool l4ctcm_get_eglnkpf(kal_uint8 cid, kal_uint8 *p_pf_total_num, kal_uint8 *p_pf_list);
+kal_bool l4ctcm_undef_eglnkpf(kal_uint8 cid) ;
+
+//mtk04121
+/* +CGTFTRDP */
+kal_bool l4ctcm_get_tft_rdp_info(tft_info_list_struct *p_info);
+
+/* +CGQREQ / +CGQMIN */
+kal_bool l4ctcm_get_qos_info(atci_qos_enum type, l4c_qos_list_struct *p_info);
+
+/* +CGQREQ / +CGQMIN */
+kal_bool l4ctcm_get_eqos_info(atci_qos_enum type, l4c_eqos_list_struct *p_info);
+
+kal_bool l4ctcm_encode_sdu_size(kal_uint16 size, kal_uint16 *p_val);
+
+kal_bool l4ctcm_encode_transfer_delay(kal_uint16 delay, kal_uint16 *p_val);
+
+//mtk04121
+/* +CGEQOS */
+kal_bool l4ctcm_get_eps_qos_info(l4c_eps_qos_list_struct *p_info);
+kal_bool l4ctcm_get_vgqos_info(l4c_vgqos_list_struct *p_info);
+
+//mtk04121
+/* +CGEQOSRDP */
+kal_bool l4ctcm_get_eps_qos_rdp_info(kal_uint8 cid, l4c_eps_qos_rdp_struct *p_info);
+kal_bool l4ctcm_get_vgqos_rdp_info(kal_uint8 cid, l4c_vgqos_rdp_struct *p_info);
+kal_bool l4ctcm_get_session_ambr(kal_uint8 cid, pdus_session_ambr_struct *p_session_ambr);
+
+kal_uint8 l4ctcm_get_pdp_type(kal_uint8 context_id);
+kal_bool l4ctcm_get_bearer_id_by_cid(kal_uint8 context_id, tcm_fic_type_enum fic_type, kal_uint8 *bearer_id);
+
+/* +EGPPPAUTH */
+kal_bool l4ctcm_get_config_option_info(l4c_config_option_list_struct *p_info);
+kal_bool l4ctcm_get_cgauth_info(l4c_cgauth_info_list_struct *p_info);
+
+/* EAPNSYNC */
+void l4ctcm_get_eapnsync_info(l4ctcm_query_eapnsync_struct *p_eapn_info);
+
+kal_bool l4ctcm_get_context_state(kal_uint8 *p_total_context, kal_uint8 *p_state_list);
+kal_bool l4ctcm_get_context_state_of_ap_view(kal_uint8 *p_total_context, kal_uint8 *p_state_list);
+
+#ifdef __HSDPA_SUPPORT__
+void l4ctcm_get_bearer_capability(kal_uint8 *p_valid_contexts, kal_uint8 *p_context_id, data_speed_activate_enum *p_bearer_capability); //hspa_mmi_h2
+#endif //__HSDPA_SUPPORT__
+
+// kal_bool l4ctcm_pdp_capability(kal_uint8 **rsp_str);
+
+#ifdef __TCPIP__ /* ABM */
+kal_bool l4ctcm_get_ext_gprs_statistics_info(kal_uint8 cid, l4c_ext_gprs_statistics_info_struct *p_info);
+#endif
+
+#ifdef __TCM_EXT_CALL_HISTORY_SUPPORT__
+kal_bool l4ctcm_query_ext_gprs_history(kal_uint8 last_cid, l4c_ext_gprs_call_history_info_struct * p_info);
+kal_bool l4ctcm_reset_ext_gprs_history(kal_bool reset_all, kal_bool reset_certain_cid_last_history, kal_uint8 context_id, kal_bool reset_total_history);
+kal_bool l4ctcm_reset_ext_gprs_history_command(kal_uint32 reset_command);
+#endif // MAUI_01643919, mtk02285, 20090316
+
+kal_bool l4ctcm_set_sib_pdp_addr_type(kal_uint8 pdp_addr_type, kal_uint8 cid);
+kal_uint8 l4ctcm_get_nw_applied_pdp_addr_type(kal_uint8 cid);
+kal_bool l4ctcm_get_nw_applied_apn(kal_uint8 cid, apn_struct *apn);
+
+void l4ctcm_set_voice_centric(kal_bool is_voice_centric);
+
+kal_bool check_pdp_context_exist_func(void);
+
+kal_bool check_remote_pdp_context_exist_func(void);
+
+kal_bool l4ctcm_pid_to_cid(kal_uint8 profile_id, kal_uint8 *context_id);
+
+kal_bool l4ctcm_cmux_port_to_cid (kal_uint8 profile_id, kal_uint8 *context_id);
+
+extern kal_bool tcml4c_is_pseudo_imsi(void);
+
+/* +EGGRNTRSPT */
+extern kal_bool l4ctcm_set_sib_processing_time_limit_in_secs(kal_uint8 cid, kal_uint32 processing_time_limit_in_secs);
+extern kal_bool l4ctcm_set_sib_req_processing_info_unlimited(kal_uint8 cid);
+extern kal_bool l4ctcm_set_sib_req_processing_info_default(kal_uint8 cid);
+extern kal_uint32 l4ctcm_get_sib_processing_time_limit_in_secs(kal_uint8 cid);
+extern tcm_im_cn_signalling_enum l4ctcm_get_user_defined_im_cn_signalling_flag(kal_uint8 context_id);
+
+extern kal_bool l4ctcm_get_nw_applied_ladn_info(l4ctcm_ladn_info_list_struct *ladn_info_list);
+
+kal_bool l4aps_tcm_get_5g_qos_flow_action_table(kal_uint8 cid, qos_flow_action_table_struct *qf_action_table_result, kal_uint8 *qfi_with_default_rule);
+kal_bool l4ctcm_get_vzw_5GUW_Allowed(kal_uint8 *vzw_5GUW_Allowed);
+#ifdef __TCM_UT__
+void l4ctcm_get_eps_qos_info_tester(kal_char *p_case_num);
+void l4ctcm_get_eps_qos_rdp_info_tester(kal_char *p_case_num);
+
+void l4ctcm_get_vgqos_info_tester(kal_char *p_case_num);
+void l4ctcm_get_vgqos_rdp_info_tester(kal_char *p_case_num);
+void l4ctcm_get_session_ambr_tester(kal_char *p_case_num);
+#endif // __TCM_UT__
+
+#if (defined(__FAST_DORMANCY__) || defined(__NO_PSDATA_SEND_SCRI__))
+kal_bool check_if_has_activation_pending_pdp(void);
+kal_bool check_if_has_deactivation_pending_pdp(void);
+kal_bool check_if_has_modification_pending_pdp(void);
+kal_bool check_if_has_mt_activation_pending_pdp(void);
+#endif /* (defined(__FAST_DORMANCY__) || defined(__NO_PSDATA_SEND_SCRI__)) */
+
+#ifdef __ACL_SUPPORT__
+kal_uint8 l4ctcm_get_acl_type(void);
+#endif
+
+#endif /* ~_L4C2TCM_FUNC_H */
diff --git a/mcu/protocol/layer4/l4/include/l4c_context.h b/mcu/protocol/layer4/l4/include/l4c_context.h
new file mode 100644
index 0000000..71e96de
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4c_context.h
@@ -0,0 +1,1809 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * l4c_context.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for ...
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _L4C_CONTEXT_H
+#define _L4C_CONTEXT_H
+
+#include "l4c_common_enum.h"
+#include "kal_public_defs.h"
+#include "kal_general_types.h"
+#include "lcd_lqueue.h"
+
+#include "ps_public_enum.h"
+#include "em_l4_public_struct.h"
+#include "kal_public_api.h"
+#include "rmmi_common_enum.h"
+#include "l3_inc_enums.h"
+#include "rmmi_context.h"
+#include "c2k_irat_msg_struct.h"
+#include "ps_public_struct.h"
+#include "tcm_context_enum.h"
+#include "ims_common_def.h"
+#include "l4_nvram_def.h"
+
+#include "ps_public_enum_public.h"
+
+#if !defined(__MTK_TARGET__) && defined(__RMMI_UT__)
+#include "lcd_lqueue.h"
+#endif
+
+#if defined(__SIM_ME_LOCK__)
+#include "smu_common_enums.h"
+#endif
+
+#include "upcm.h"
+#include "iwlan_l4c_struct.h"
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+#include "l5_l4c_struct.h"
+#endif
+
+#ifdef __TC10__
+#define __PHB_SORT_ENABLE__ 0
+#else
+#define __PHB_SORT_ENABLE__
+#endif
+
+#ifdef DATA_DOWNLOAD
+//#include "fat_fs.h"
+#define L4C_ENCODE_BYTE 2
+#define L4C_MAX_DATA_DL_NAME_EXTENSION_WIDTH (5*L4C_ENCODE_BYTE) //NULL ermiante
+#define L4C_MAX_DATA_DL_NAME_WIDTH ((13*L4C_ENCODE_BYTE) + L4C_MAX_DATA_DL_NAME_EXTENSION_WIDTH + L4C_ENCODE_BYTE)
+
+typedef struct
+{
+ kal_uint8 filename[L4C_MAX_DATA_DL_NAME_WIDTH];
+ kal_uint16 file_id;
+}l4c_download_file_info;
+
+#endif/* DATA_DOWNLOAD */
+
+//#include "mcd_l3_inc_struct.h"
+//#include "l4c_hz_context.h"
+
+//#include "med_struct.h"
+
+/* For GPRS_FLC_UT mtk02508 */
+#if !defined(__MTK_TARGET__) && defined(__RMMI_UT__) && defined(__MOD_TCM__)
+#include "lcd_lqueue.h"
+#endif
+
+#if defined(__NO_PSDATA_SEND_SCRI__) || defined(__FAST_DORMANCY__)
+#include "l4c_ratdm_struct.h"
+#include "mmi_l3_enums.h"
+#endif
+
+#include "l3_inc_enums.h" //for rrc_state
+
+#define MAX_CONCAT_SMS_NUM 4
+
+//#define MAX_CEER_REPORT_LEN 80
+
+#define L4C_STATES 3
+
+//#define L4C_PTR LAYER4_PTR(l4c_ptr)
+#define L4C_PTR l4c_ptr_g
+
+//mtk01616_100419: to share SIM1/SIM2 L4C context in Gemini
+#define L4C_COMM_PTR l4c_comm_ptr_g
+
+#define L4C_ROOT_PTR l4c_root_ptr_g
+
+#define L4C_MIN_CONTEXT_ID L4_PS_MIN_CID //TCM_MIN_CONTEXT_ID
+#define L4C_MAX_CONTEXT_ID L4_PS_MAX_CID //TCM_MAX_CONTEXT_ID
+#define L4C_TOT_CONTEXT MAX_L4_PS_CID_NUM //TCM_TOT_CONTEXT
+#define L4C_INVALID_CONTEXT_ID L4_PS_NULL_CID //0xEE //238
+#define L4C_DONT_CARE_CID (L4_PS_MAX_CID + 1) //MAX_L4_PS_CID_NUM //TCM_TOT_CONTEXT
+#define L4C_SRC_CID_TABLE_MAX_CID_SIZE (MAX_L4_PS_CID_NUM + 1) //(TCM_TOT_CONTEXT+1) // NORMAL CID + Dont care CID in table need to check
+#define L4C_DONT_CARE 0xFF // cause?
+#define L4C_PS_MAX_BLOCK_APN 16
+
+#define L4C_CONTEXT_ID_IS_INVALID(cid) (! L4_PS_IS_VALID_CID(cid)) //(cid < L4C_MIN_CONTEXT_ID || cid > L4C_MAX_CONTEXT_ID)
+#define L4C_CGACT_CONVERT_ACTION(opcode) ((opcode == TCM_PDP_ACTIVATE) ? CGACT_ACT_EXE : CGACT_DEACT_EXE);
+#define L4C_PRCOCESSING_TIME_LIMIT_IS_VALID(processing_time_limit_in_secs) ((processing_time_limit_in_secs >= TCM_MIN_PROCESSING_TIME_LIMIT) && (processing_time_limit_in_secs <= TCM_MAX_PROCESSING_TIME_LIMIT))
+
+#define L4C_ERFIDX_NUM_OF_FEATURE 4
+#define L4C_XL1_LCM_HOPPING_NUM_OF_RAT 6
+
+#define L4C_SINGLE_PS_DEST_MOD 0x01
+#define L4C_MULTI_PS_DEST_MOD 0x02
+
+#ifdef __L4C_GPRS_UT__
+#define L4C_PS_CALL_EXTERNAL_API(FUNC) FUNC##_ut
+#else
+#define L4C_PS_CALL_EXTERNAL_API(FUNC) FUNC
+#endif
+
+#ifdef __L4C_GPRS_UT__
+#define L4C_PS_ASSERT(e) ((e)?(void)0:l4c_ps_assert())
+#else
+#define L4C_PS_ASSERT(e) DEBUG_ASSERT(e)
+#endif
+
+
+/*#ifdef __HOMEZONE_SUPPORT__
+#define HZ_PTR l4c_ptr_g->hz_ptr
+#endif*/
+
+#define L4C_PACK_ALLOC(ALLOC_FUNC, STRUCTID, STRUCT, MSG_PTR) \
+ mcd_pseudo_alloc(STRUCTID, l4_pun_src_buff ,sizeof(l4_pun_src_buff)); \
+ MSG_PTR = (STRUCT*)l4_pun_src_buff
+
+#define L4C_UNPACK_ALLOC(ALLOC_FUNC, STRUCTID, STRUCT, MSG_PTR)
+
+#define L4C_PACK_DEALLOC(DEALLOC_FUNC, MSG_PTR)
+
+#define L4C_UNPACK_DEALLOC(DEALLOC_FUNC, MSG_PTR)
+
+#define REMAP_UNPACK_DATA(MSG_LEN, MSG_PTR) \
+ kal_mem_cpy (l4_pun_dest_buff, MSG_PTR, MSG_LEN)
+
+#define COPY_UNPACK_DATA(MSG_LEN, MSG_PTR) \
+ ASSERT(MSG_LEN <2048); \
+ MSG_PTR = get_ctrl_buffer(MSG_LEN); \
+ kal_mem_cpy (MSG_PTR, l4_pun_dest_buff, MSG_LEN)
+
+#define FREE_COPY_UNPACK_DATA(MSG_PTR) \
+ free_ctrl_buffer (MSG_PTR)
+
+#define REMAP_PACK_DATA(MSG_LEN, MSG_PTR) \
+ kal_mem_cpy (l4_pun_src_buff, MSG_PTR, MSG_LEN)
+
+#define COPY_PACK_DATA(MSG_LEN, MSG_PTR) \
+ MSG_PTR = get_ctrl_buffer(MSG_LEN); \
+ ASSERT(MSG_LEN <2048); \
+ kal_mem_cpy (MSG_PTR, l4_pun_src_buff, MSG_LEN)
+
+#define FREE_COPY_PACK_DATA(MSG_PTR) \
+ free_ctrl_buffer (MSG_PTR)
+
+#define SUBFIELD(PARENT, CHILD) PARENT->CHILD
+
+#if 0 // L4C context reorg
+/* under construction !*/
+/* under construction !*/
+#endif
+
+#define L4C_GET_IPV4V6_INIT_CID(cid) L4C_PTR->v4v6_act_ptr_init_cid[cid]
+#define L4C_MAX_NR_SRV_BAND 2 // same as RAC_NAS_SV_NR_SERV_CELL_NUM in rac_nas_sv_struct.h
+
+typedef void (*L4C_MSG_FUNCTION) ( local_para_struct *,
+ peer_buff_struct * );
+
+typedef void (*L4C_CMD_FUNCTION) ();
+
+typedef kal_bool (*l4c_nw_register_nitz_cb) (l4c_nw_time_zone_time_struct *nitz_ptr);
+
+typedef struct l4c_minilog_struct
+{
+ kal_bool mmrr_ready_flag;
+ kal_bool auto_attach;
+ kal_bool sub_modules_ready;
+ kal_uint8 uart_port_value;
+ kal_uint8 csm_state;
+ kal_uint8 cfun_state;
+ kal_uint8 ps_conf_test_mode;
+ smu_sim_status_enum sim_status;
+#if defined(__GEMINI__)
+ kal_uint8 dual_sim_mode_setting;
+#endif
+ kal_uint8 enhanced_ecc_id;
+#ifdef __GEMINI__
+ kal_uint8 cur_3g_capability;
+#endif
+
+#ifdef __MOD_TCM__
+#if defined(__PS_DIALUP__)
+ kal_uint16 ps_dialup_port[L4C_TOT_CONTEXT];
+#endif
+#endif /* __MOD_TCM__ */
+
+ //csmcc_mscap_struct mscap;
+ UART_PORT ps_uart_port;
+ kal_uint16 sim_error_cause;
+ kal_uint32 ps_conf_test_profile;
+ kal_uint32 flags;
+}l4c_minilog_struct;
+
+
+typedef struct
+{
+ kal_uint16 length;
+ void *data;
+} l4c_parameter_struct;
+
+typedef struct
+{
+ kal_bool is_valid;
+ kal_bool need_retry;
+ kal_uint16 length;
+ void *local_para;
+ void *peer_buff;
+} l4c_concat_sms_buff_struct;
+
+typedef struct
+{
+ kal_uint8 type;
+ kal_uint8 length;
+ kal_uint8 number[MAX_CC_ADDR_LEN];
+} l4_number_struct;
+
+#if 0 //__CTM_SUPPORT__
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef struct
+{
+ kal_uint8 is_gsm_conn_exist;
+ kal_uint8 gsm_cipher_cond;
+ kal_uint8 gprs_cipher_cond;
+} cipher_ind_msg_struct;
+
+ #ifdef __NBR_CELL_INFO__
+ typedef struct
+ {
+ kal_uint32 src_id;
+ kal_bool already_cnf;
+ }cell_info_reg_table_struct; /* Lexel: for Cell info */
+ #endif
+
+typedef struct l4c_nw_sysconfig_struct
+{
+ kal_uint8 rat_mode;
+ kal_uint8 prefer_rat;
+ kal_bool support_roaming;
+ kal_uint8 mobile_class;
+} l4c_nw_sysconfig_struct;
+
+typedef struct l4c_nw_syssel_struct
+{
+ kal_uint8 rat_mode;
+ kal_uint8 prefer_rat;
+ kal_uint8 mobile_class;
+} l4c_nw_syssel_struct;
+
+typedef enum
+{
+ L4C_IPV4V6_STATE_NONE = 0,
+ L4C_IPV4V6_STATE_ACCEPT,
+ L4C_IPV4V6_STATE_REJECT
+} l4c_ipv4v6_state_enum;
+
+typedef enum
+{
+ L4C_IPV4V6_PDP_ACTIVATOR_IS_L4C,
+ L4C_IPV4V6_PDP_ACTIVATOR_IS_PPP
+} l4c_ipv4v6_activator_enum;
+
+#define L4C_IPV4V6_ACT_TABLE_SIZE (3) //V4V6, V4, V6
+
+typedef struct
+{
+ kal_uint8 cid;
+ kal_uint8 pdp_type;
+ kal_uint8 state;
+ kal_uint8 __aligned;
+} l4c_gprs_ipv4v6_act_table_entry;
+
+typedef struct
+{
+ kal_uint8 src_id;
+ kal_uint8 init_cid;
+ kal_uint16 cause;
+ l4c_gprs_ipv4v6_act_table_entry table[L4C_IPV4V6_ACT_TABLE_SIZE];
+ kal_uint32 max_activation_count;
+} l4c_gprs_ipv4v6_act_struct;
+
+typedef struct {
+ 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;
+ mode_switch_cause_enum request_cause; //for rac command conflict checking
+} l4c_radio_access_setting_struct;
+
+typedef struct{
+ /* This struct is used to queue informations
+ * 1. in LTE to C2K inter-RAT stage 1, record info to used after receiving ei3gppirat=1
+ * 2. in C2K to LTE stage 1, record info to used after attach_result_ind
+ */
+
+ /* used in L2C stage 1 */
+ irat_type_enum irat_type;
+
+ /* used in L2C/C2L stage 1 */
+ void *as_info_ptr;
+
+}l4c_c2k_irat_temp_info_struct;
+
+typedef struct{
+ gmss_rat_enum now_searching_rat;
+
+ irat_ps_type_enum attached_rat;
+
+ l4c_c2k_lwcg_pdn_context_transfer_state_enum pdn_transfer_state;
+
+ kal_bool enable_pdn_context_transfer_in_lwcg;
+
+ kal_bool already_fetch_ia; /* EHPRD to LTE inter-RAT used to check already fetch IA or not */
+
+ kal_bool already_transfer_pdn_to_c2k; /* LTE to EHPRD inter-RAT used to check already transfer PDN or not */
+
+
+}l4c_c2k_lwcg_irat_context_struct;
+
+typedef struct {
+ kal_uint8 mode;
+ kal_int32 upper_threshold;
+ kal_int32 lower_threshold;
+ kal_uint8 tup;
+ kal_uint8 tlo;
+ kal_bool tup_timer_running;
+ kal_bool tlo_timer_running;
+} l4c_power_level_threshold_struct;
+
+typedef struct{
+ /* Used in C2K -> LTE and LTE -> C2K inter-RAT, to indicate transection ID */
+ kal_uint8 c2k_tid;
+
+ /* Used to record C2K to LTE pdn establishing status(bitmap) */
+ kal_uint16 c2k_irat_pdn_establishing_status;
+
+ /* Used to record inter-RAT state */
+ l4c_c2k_irat_state_enum c2k_irat_state;
+
+ /* Used to we are waiting for AT+EI3GPPIRAT form AP or not */
+ kal_bool waiting_ei3gppirat;
+
+ /* Used to record the source rat in C2K to LTE inter-RAT */
+ irat_ps_type_enum c2k_to_lte_src_rat;
+
+ /* Used to record some temp info,
+ * 1. in LTE to C2K inter-RAT stage 1, record info to used after receiving ei3gppirat=1
+ * 2. in C2K to LTE stage 1, record info to used after attach_result_ind
+ */
+ l4c_c2k_irat_temp_info_struct irat_temp_info;
+
+ /* Used to record the deact fail PDN, used to indicate C2K_MD or AP this PDN need to DEACT again after I-RAT*/
+ kal_bool deact_retry[L4C_TOT_CONTEXT];
+
+}l4c_c2k_irat_context_struct;
+
+typedef struct {
+ kal_uint8 erfidx_srcid;
+ kal_bool is_rfidx_success;
+ kal_uint8 no_rfidx_response_needed;
+ kal_uint16 rfidx_feature;
+ kal_uint16 rfidx_scenario;
+} l4c_erfidx_context_struct;
+
+typedef struct {
+ lcm_hopping_priority_enum hopping_priority;
+ kal_uint32 mipiBitmap;
+} l4c_lcm_hopping_context_struct;
+
+typedef struct {
+ kal_uint8 mode;
+ kal_uint8 num_of_threshold;
+ kal_int32 threshold[IWLAN_L4C_MAX_THRES];
+ kal_int32 upper_threshold;
+ kal_int32 lower_threshold;
+ kal_uint16 timer;
+ l4c_power_level_threshold_range_enum threshold_timer_range;
+} l4c_pwl_thrhd_struct;
+
+typedef enum
+{
+ SIM_CARD_IN_ARREARS = 1,
+ SIM_CARD_KEEP_TO_OBSERVE,
+ SIM_CARD_NOT_IN_ARREARS,
+ SIM_CARD_STATUS_NONE
+} l4c_sim_card_arrears_enum;
+
+typedef enum
+{
+ SIM_ARREARS_PID_LAU_REJ = 0,
+ SIM_ARREARS_PID_23G_ATTACH_REJ,
+ SIM_ARREARS_PID_4G_ATTACH_REJ,
+ SIM_ARREARS_PID_ATTACH_BOSS_APN,
+ SIM_ARREARS_PID_MAX,
+}l4c_sim_arrears_pid_enum;
+
+/* [IMPORTANT] DO INITIALIZE data field or set it to NULL once you allocate the pending action item
+ data would be freed after the action could be successfully executed in dequeue utility
+*/
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ module_type current_mod;
+ kal_bool phb_ready_flag;
+ kal_bool is_fdn_change;
+
+ /* init by l4cphb_start_cnf_hdlr */
+ kal_uint8 sim_phb_len; //max length of name in SIM EFadn
+ kal_uint8 sim_fdn_len; //max length of name in EFfdn
+ kal_uint8 msisdn_alpha_length; //max length of EFmsisdn
+ kal_uint8 sim_email_len; // max length of email in EF_EMAIL
+ kal_uint8 sdn_alpha_length; // max length of email in EF_SDN
+
+ rmmi_phb_type_enum phb_storage_type;
+
+ kal_uint8 phb_anr_occurrence;
+ kal_uint8 phb_email_occurrence;
+ kal_uint8 phb_sne_occurrence;
+ kal_uint8 phb_anr_length;
+ kal_uint8 phb_email_length;
+ kal_uint8 phb_sne_length;
+ kal_uint8 phb_grp_length;
+
+ kal_uint8 approve_src_id_mapping[L4C_PHB_APPROVE_SRC_TOTAL];
+} l4c_phb_context_struct;
+
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ l4c_phb_context_struct *this_sim;
+} l4c_phb_ps_context_struct;
+
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ module_type current_mod;
+ kal_bool sms_ready_flag;
+
+} l4c_sms_context_struct;
+
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ l4c_sms_context_struct *this_sim;
+} l4c_sms_ps_context_struct;
+
+
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ module_type current_mod;
+} l4c_csmcc_context_struct;
+
+
+typedef struct
+{
+ kal_uint8 sim_slot_id;
+ l4c_csmcc_context_struct *this_sim;
+} l4c_csmcc_ps_context_struct;
+
+
+typedef struct
+{
+ l4c_pending_action_enum pending_action;
+ void *data; // Pending action item that would be used by the specified action, if not used, please set it to NULL
+} l4c_queue_pending_action_item_struct;
+
+typedef struct
+{
+ kal_bool follow_on_request;
+} l4c_queue_ps_attach_item_struct;
+
+typedef struct
+{
+ l4c_source_id_enum src_id;
+ mm_user_search_cause_enum search_cause;
+} l4c_queue_attach_item_struct;
+
+typedef struct
+{
+ l4c_source_id_enum src_id;
+ domain_id_enum service;
+ l4c_rac_detach_cause_enum detach_cause;
+ kal_bool is_poweroff;
+} l4c_queue_detach_item_struct;
+
+
+/* Used by L4C Pending Queue, to define its enqueue and dequeue handler */
+typedef kal_bool (*L4C_ENQUEUE_HDLR_FUNC)(l4c_queue_pending_action_item_struct *pending_action_item);
+typedef kal_bool (*L4C_DEQUEUE_HDLR_FUNC)(void *data);
+
+typedef struct {
+ l4c_pending_action_enum pending_action;
+ L4C_ENQUEUE_HDLR_FUNC enqeue_func_ptr;
+ L4C_DEQUEUE_HDLR_FUNC deqeue_func_ptr;
+} l4c_queue_pending_action_hdlr_item_struct;
+
+typedef struct {
+ kal_uint8 n3en_indicator; /* Non-3GPP NW emergency number indicator */
+} l4c_non_3gpp_nw_policies_struct; /* Non-3GPP NW provided policies IE */
+
+typedef struct {
+ kal_uint8 gsm_antenna_state;
+ kal_uint8 umts_antenna_state;
+ kal_uint8 lte_antenna_state1;
+ kal_uint8 lte_antenna_state2;
+ kal_uint8 lte_antenna_state3;
+ kal_uint8 c2k_1x_antenna_state;
+ kal_uint8 c2k_evdo_antenna_state;
+} l4c_antenna_state_struct;
+
+typedef struct
+{
+ kal_bool in_use;
+ kal_uint8 ref_num;
+ msg_type rsp_msg_id;
+} uac_transaction_struct;
+
+typedef struct
+{
+ /* fined flag check for each sub-module state in bitmap, update after INIT CNF with success,
+ ex: init flow fail due to dynamic SIM switch (the flag also need to be switched because the context of sub-module switch),
+ check each moudle state to re-init */
+ l4c_sub_module_enum is_init_sub_mods_done;
+ kal_bool init_sub_mods; // coarse flag check for all sub-moudles state, update immediately and do not consider init fail
+} l4c_context_with_sim_slot_struct;
+
+typedef struct{
+ /* This struct is used to store QCI information during PDP activation and modification.
+ So that these values can be taken when Deactivate_cnf is received.
+ */
+ kal_uint8 qci;
+
+} l4c_qci_info_struct;
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+typedef struct{
+ kal_bool sim_black_list_lock_state;
+ kal_bool nw_black_list_lock_state;
+ nw_black_list_state_enum previous_state;
+ kal_uint8 cur_transaction_id;
+ kal_uint8 num_of_black_list;
+ kal_bool is_nw_black_list_setting;
+ nw_black_list_provider_struct black_list[MAX_NW_BLACK_LIST];
+ nw_black_list_init_state_enum black_list_init_state;
+ kal_uint8 setting_num_of_black_list;
+ nw_black_list_provider_struct *setting_black_list;
+}l4c_nw_black_list_info_struct;
+#endif
+
+typedef enum
+{
+ NO_TUW_RUNNING = 0,
+ TUW1_RUNNING_CONN_1,
+ TUW1_RUNNING_IDLE,
+ TUW1_RUNNING_CONN_2,
+ TUW2_RUNNING,
+ TUW3_RUNNING,
+}tuw_state_enum;
+
+typedef struct
+{
+ kal_bool is_dspl_5guw;
+ kal_bool pco_5guw_allowed;
+ kal_bool is_n77_configured;
+ kal_bool is_fr2_configured;
+ tuw_state_enum tuw_state;
+} l4c_nw_5guw_context_struct;
+
+typedef struct
+{
+/*************************************************************************/
+/* Below context are placed in the front of L4C context */
+/* to increase immediate offset access , to reduce ROM size */
+/* Please KEEP the position for the following frequent used variables */
+/*************************************************************************/
+ kal_bool route_thru_lmmi;
+ kal_uint8 route_thru_lmmi_user;
+ kal_bool retry_cc;
+ kal_bool retry_ss;
+ kal_uint8 retry_count;
+ kal_uint8 retry_src_id; //src_id that you want to retry
+ kal_uint8 cfun_state;
+ kal_uint8 c2k_cfun_state;
+
+ kal_bool ecc_mt_collision;
+
+ l4c_source_id_enum smu_user;
+ l4c_source_id_enum ss_user;
+ l4c_source_id_enum eq_user;
+ l4c_source_id_enum rac_user;
+ l4c_source_id_enum eval_user;
+ l4c_source_id_enum eval_essac_user;
+ l4c_source_id_enum sat_user;
+#ifdef __MOD_TCM__
+ l4c_source_id_enum tcm_user;
+#endif
+
+ kal_uint16 smu_current_action; /*l4c_action_enum*/
+ kal_uint16 ss_current_action;
+ kal_uint16 eq_current_action;
+ kal_uint16 rac_current_action;
+
+ kal_uint16 sat_current_action;
+#ifdef __MOD_TCM__
+
+ // L4C cid src_id mapping table
+ // ------------------------------------
+ // | cid\srcid | 0 | 1 | 2 | 3 | ..
+ // ------------------------------------
+ // | 0 | | | | ACT | ..
+ // ------------------------------------
+ // | 1 | | | ACT | | ..
+ // ------------------------------------
+
+ l4c_action_enum l4c_cid_srcid_action_table[L4C_SRC_CID_TABLE_MAX_CID_SIZE][MAX_SOURCE_NUM];
+ l4c_action_enum l4c_pdp_state[L4C_TOT_CONTEXT];
+ kal_uint32 l4c_pdp_apn_type[L4C_TOT_CONTEXT]; // ddm_apn_type_enum
+ kal_uint8 ongoing_ims_pdn_activation_num;
+#endif
+
+ event_scheduler *event_scheduler_ptr;
+
+ /* ============================== action ============================== */
+ kal_uint16 cc_current_action[MAX_SOURCE_NUM]; /*l4c_action_enum*/
+ l4c_state_enum cc_state[MAX_SOURCE_NUM]; /* l4c_state_enum */
+ //l4c_sub_state_enum cc_sub_state[MAX_SOURCE_NUM]; /* l4c_sub_state_enum */
+ /* ============================== ~action ============================== */
+
+ /* ============================== timer ============================== */
+ eventid event_id[L4C_TIMER_ID_MAX];
+ /* ============================== ~timer ============================== */
+
+
+ /* ss_parameter is using to save local parameter for ss retry using*/
+ l4c_parameter_struct ss_parameter; //MAUI_02354954 SS doesn't support concurrent multi-chnnel request
+ /* cc_parameter is using to save local parameter for cc retry using*/
+ l4c_parameter_struct cc_parameter[MAX_SOURCE_NUM];
+
+ /* we using this local context to save local parameter if we have to send one message,
+ but we have to do another thing before it, we have to save in this parameter*/
+ l4c_parameter_struct parameter[MAX_SOURCE_NUM];
+
+/***********************************************************************/
+/* Above context are placed in the front of L4C context */
+/* to increase immediate offset access , to reduce ROM size */
+/* Please try to KEEP the position for these frequent used variables */
+/***********************************************************************/
+
+#ifdef __SAT__ //MAUI_02354954
+ /* cc_peer_buf is using to save peer buffer for retry using*/
+ l4c_parameter_struct cc_peer_buf; //for cc now, it is used by SAT call only
+#endif
+
+
+ l4c_parameter_struct parameter_sim;
+
+ /* parameter_sat is using to save SAT cc/ss/ussd/sms/dtmf local parameter using*/
+ l4c_parameter_struct parameter_sat;
+ sat_procomm_struct parameter_satmenu;
+#ifdef __TC10__
+ kal_bool sat_need_check_fdn;
+ sat_call_ctrl_type_noti_enum sat_callctrl_type;
+ sat_call_ctrl_type_noti_enum cur_stk_cmd;
+#endif
+
+ /* this flag using to chek the retry mechineism working or not. so that we can ignore some message or clear*/
+ /* the queued message for retry */
+
+ /*retry timer timeout, sending queued message, rety_ongoing_flag will set as TRUE until receiving cnf*/
+ kal_bool cc_retry_ongoing_flag;
+ /* keep the retry count value */
+ kal_uint8 mo_call_id;
+
+//#if !defined(__PHB_APPROVE_BY_MMI__)
+ kal_uint8 mo_call_ecc_info;
+//#endif
+
+ l4c_ussd_version_enum ussd_version; //MO USSD change phase retry
+
+ kal_uint8 enhanced_ecc_id; //MAUI_02554068
+
+ l4c_csmcc_ps_context_struct l4c_csmcc_ps_context;
+
+ /* ============================== ~queue/retry ============================== */
+
+ /* ============================== other context ============================== */
+// rmmi_context_struct *rmmi_ptr;
+
+/*#ifdef __HOMEZONE_SUPPORT__
+ l4c_hz_context_struct *hz_ptr;
+#endif*/
+ /* ============================== ~other context ============================== */
+
+ /* ============================== flag ============================== */
+ /* this flag chek if rac is actived tru or fale , we can initila submodule, and can dial ECC call*/
+#ifdef __MOD_TCM__
+ /* keep the value of GPRS PDP active form NW with auto answser mode */
+ kal_bool tcm_auto_answer;
+ kal_uint8 tcm_activate_ind_context_id;
+#endif //mtk02285, 201003, 6251_ram
+ /* this flag using to identify the power on procedure with finish indcation, we can use it to chek */
+ /* if uper layer like to write sim as power on not finish, in reg_ind if power on not finish we need*/
+ /* inform MMI with attach_ind. however, if power on finish, we any reg_ind we will using reg_ind to*/
+ /* inform MMI with the registed stste changed. */
+ kal_bool power_on_not_finish;
+ /* this flag is using for RMMI setting some equiement value but route to LMMI , it means we LMMI tigger*/
+ /* the set request , but we have to inform RMMI and afer confirm we should clear L4C state to default.*/
+
+ /* this flag using for detect the plmn sel cnf and reg_ind message and cehck if it is first camp on this PLMN*/
+ /* if true, CFU for CPHS to and SMS memory available message may be send out to NW */
+ kal_bool first_camp_on;
+ /* this flag is using for SIM restart and wthin SIM_ERROR_IND with cause , we got to keep this value and when*/
+ /* security cnf will perform another proceure*/
+ kal_bool sim_refresh;
+ /* this flag using to make sure SIM has receive detach form NW when SIM refesh procedure is running*/
+ //kal_bool sim_reg_state_received;
+ /* This flag using to make sure SIM has read all reg required data and can be trigger RAC to reg*/
+ //kal_bool sim_security_received;
+ /**/
+ //kal_bool ph_reset;
+
+ kal_bool mt_call_incoming; //mtk00468 add for remember one mt call coming , any action should be response as command conflict
+ kal_bool adc_flag; /* using for active or deavtice EM ADC indication*/
+
+ /* sim_detected: sim inserted information after SMU start cnf
+ KAL_TRUE : SIM is inserted and SMU has loaded security information and SML
+ KAL_FALSE: otherwise
+ */
+ kal_bool sim_detected;
+ kal_uint16 sim_error_cause;
+
+ /* sim_status_bitmask: a bit mask for different SIM detected status
+ the bitmask is defined as l4c_sim_flag_enum
+ */
+ // TODO: use this bitmask to replace sim_detected, single_sim_inserted_status, single_sim_exist_status
+ kal_uint8 sim_status_bitmask;
+
+
+ kal_uint8 csm_state; //l4c_csm_state_enum
+#ifdef __MOD_TCM__
+ kal_bool tcm_ready_flag;
+#endif //mtk02285, 201003, 6251_ram
+
+
+ kal_bool call_exist; /*copy from L4CCSM_CC_CALL_INFO_IND -> call_exist*/
+ // kal_bool ps_abm_act; /*ABM_ACT by PS: TRUE or FALSE*/
+ kal_bool csd_end_connect_race_flag; //this flag is using to avoid when we ever send connect indicatino to MMI
+#ifdef __UCM_SUPPORT__
+ kal_uint8 data_call_end_race_flag; //mtk01616_090408:this flag is used to handle ath_req to end data call after call_setup_cnf
+ kal_bool csd_call_end; //MAUI_01801045 L4C local disconnects CSD call
+#endif
+ // but before we send it to MMI , END key press. MMI will send ATH to end call
+
+ kal_bool call_alert; /*True: play alert tone, stop it when call connect or call release*/
+ //kal_bool cipher_ind; //from l4csmu_mmrr_ready_ind, true: enable , false: disable
+ l4c_sim_state_enum sim_power_state;
+ kal_bool sms_init_sent; //true: MSG_ID_L4CSMSAL_INIT_REQ is sent
+
+ //ALPS00029231 l4c_sat_ussr_enum represents the different SAT USSR scenarios
+ l4c_sat_ussr_enum sat_ussr_flag; //mtk01616 070325 :for SAT_USSD ,get ussr fac
+ kal_bool mmrr_ready_flag;//mtk01616 070426:mmrr_ready_flag is used only in rac_act_cnf_hdlr to check whether mmrr_ready_ind is already received
+ #ifdef __TCPIP__ /* ABM */
+ kal_uint8 disc_dialup_req;
+ #endif
+
+ /* ============================== ~flag ============================== */
+
+ /* ============================== value ============================== */
+ /* save line number here so that l4c can prepare setup call type to CC according to this value*/
+ /* this value is set as default line 1 , but will be change when change line form MMI and keep */
+ /* right here.*/
+ kal_uint8 line_num; /*Line_1 Line_2*/
+
+ /* because we will active rac and smu at the same time, therefore, we have to keep*/
+ /* if smu being active so that we can perform normal plmn selection. */
+ kal_uint8 smu_activated;/* L4C_SMU_INACTIVE, L4C_SMU_ACTIVE,L4C_SMU_ACTIVATE_FAIL*/
+
+ kal_uint8 present_call_id;
+ kal_uint8 mt_call_id; //keep the imcoimg call ID, this is make sure when release by NW we can clear the mt_call_imcoming flag correct
+ kal_uint8 crss_opcode;//MMI may using chld to accept one mt call , we need to keep it so that in crss cnf we can clear the above flag
+
+ kal_uint8 dtmf_call_id;
+
+ /* keep the CLI vlaue here so that we can fill in setup message using this variable CLIR_INVOKE,
+ CLIR_SUPPRESS, CLIR_AUTO*/
+ kal_uint8 clir_flag;
+#ifdef __MOD_TCM__
+ kal_uint32 gprs_em_send_data_size[3]; /* EM mode, GPRS send data left size */ //mtk02285, 20110506 //mtk00714 w0634
+ l4c_source_id_enum gprs_em_send_data_srcid[3]; /* EM mode, GPRS send data src id */ //mtk02285, 20110506
+#endif //mtk02285, 201003, 6251_ram
+
+// kal_uint8 ceer_report[MAX_CEER_REPORT_LEN];//this array save the last unsuccessful call
+ kal_uint16 ceer_report;
+ //setup or in call modification , the last call release.
+
+
+
+ kal_uint8 waiting_call_id; /*waiting call id for open/close waiting tone without MMI*/
+
+ cipher_ind_msg_struct cipher_ind_msg; /* Johnny: L4C will save cipher_ind_msg additionally and send it to MMI after CALL_RING_IND */
+
+#ifdef __MOD_TCM__
+
+ kal_uint8 disc_ppp_src_id;
+#ifdef __PS_DIALUP__
+ kal_uint16 ps_dialup_port[L4C_TOT_CONTEXT]; //L4CPPP_FB_2
+#endif
+
+ l4c_gprs_status_enum l4a_ps_gprs_last_status;
+ kal_uint8 l4a_ps_gprs_last_cell_support_egprs;
+ kal_uint8 l4a_ps_gprs_last_data_speed_support;
+ kal_uint8 l4a_ps_gprs_last_data_bearer_capability;
+
+#if defined(__TC10__)
+ l4c_qci_info_struct qci_tab[TCM_TOT_CONTEXT];
+#if defined(__L4C_GPRS_UT__)
+ kal_char ut_sim_plmn[7];
+#endif /* defined(__L4C_GPRS_UT__) */
+#endif /* defined(__TC10__) */
+
+ //kal_uint8 src_id_table[ACTION_MAX][L4C_TOT_CONTEXT]; // Jeffery
+#endif //mtk02285, 201003, 6251_ram
+
+ l4c_c2k_irat_context_struct c2k_irat_context;
+
+ l4c_c2k_lwcg_irat_context_struct c2k_lwcg_irat_context;
+
+ kal_uint32 vzw_apn_enable_bitmap;
+
+#if 0
+#if defined(__DEACT_ABORT_CGACT__) && defined(__MOD_TCM__) //mtk02285, 201003, 6251_ram
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif //mtk02285, DUMA00206863, abort_cgact_activation
+#endif
+ /*mtk80396, Add for EM PS conformance test Menu, read from NVRAM when power on*/
+
+ /* ============================== ~value ============================== */
+
+ /* ============================== other ============================== */
+
+#ifdef __IRDA_SUPPORT__
+ l4c_data_mode_enum uart_data_mode;
+#endif
+
+ #if defined(__FWP_NC_LAI_INFO__)
+ kal_uint8 is_cell_lock_call;
+#endif
+
+ kal_bool power_on_pin_check;
+ kal_bool data_signal_activate; /*indicate the CS signal path is setup or not for a data call*/
+ kal_uint8 max_retry_count;
+
+#if 0 //__CTM_SUPPORT__
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+// kal_uint8 rat_mode;
+// l4c_prefer_rat_enum prefer_rat;
+
+kal_uint8 single_sim_inserted_status; //first updated by reset sim result
+kal_uint8 single_sim_exist_status;
+
+#if defined(__GEMINI__)
+rmmi_edsim_set_mode_state_enum dual_sim_mode_setting_command;
+#endif /* __GEMINI__*/
+
+kal_uint8 mt_call_approval;
+
+ kal_bool ongoing_csd_dialup; // MAUI_02284187, mtk02285
+ kal_bool disallow_gprs_and_csd; // karen
+
+#ifdef __NBR_CELL_INFO__
+cell_info_reg_table_struct cell_info_reg_table[10];
+kal_uint8 cell_info_reg_index;
+#endif
+
+ kal_bool sub_modules_ready;
+
+
+ /* [DUMA00005999], mtk02480
+ * has_deregistered is set to KAL_TRUE while we have dereg network or attach limited service only
+ * if has_deregistered=TRUE, we have to do reg_req before send PLMN_SEARCH_REQ
+ */
+ kal_bool has_deregistered;
+
+ kal_uint8 sig1;
+ kal_uint8 sig2;
+ kal_uint8 csq_level;
+ kal_uint8 ber;
+ kal_int32 rssi_in_qdbm;
+ kal_int32 RSCP_in_qdbm;
+ kal_int32 EcN0_in_qdbm;
+ kal_int32 RSRQ_in_qdbm; // <LTE>: RSRQ
+ kal_int32 RSRP_in_qdbm; // <LTE>: RSRP
+ kal_int32 RS_SNR_in_qdb; // <LTE>: SINR
+ kal_int16 srxlev_in_qdb; // <LTE>: Srxlev
+ kal_int16 squal_in_qdb; // <LTE>: Squal
+
+ kal_int32 ss_RSRQ_in_qdb; // <NR>: SS-RSRQ
+ kal_int32 ss_RSRP_in_qdbm; // <NR>: SS-RSRP
+ kal_int32 ss_SINR_in_qdb; // <NR>: SS-SINR
+ kal_int16 ss_srxlev_in_qdb; // <NR>: SS-Srxlev
+ kal_int16 ss_squal_in_qdb; // <NR>: SS-Squal
+ kal_int32 csi_RSRQ_in_qdb; // <NR>: CSI-RSRQ
+ kal_int32 csi_RSRP_in_qdbm; // <NR>: CSI-RSRP
+ kal_int32 csi_SINR_in_qdb; // <NR>: CSI-SINR
+
+ kal_int16 serv_band;
+ kal_int16 ecband; // AT+ECBDINFO
+ rat_enum serv_cell_rat;
+
+l4c_data_bearer_capablility_enum max_data_bearer_capa;//hspa_mmi_h2
+
+ /* ============================== ~other ============================== */
+/* For GPRS_FLC_UT MAUI_02419672 mtk02126 */
+#if !defined(__MTK_TARGET__) && defined(__RMMI_UT__) && defined(__MOD_TCM__)
+ lcd_lqueue *gprs_flc_queue;
+#endif
+
+//evshed_create, mtk02285, 20110328: remove base timer
+
+ l4c_nw_sysconfig_struct *nw_sysconfig;
+
+#if defined(__SYSSEL_SUPPORT__)
+ l4c_nw_syssel_struct *nw_syssel;
+#endif
+
+ /* the TON of MO call number in SETUP request to CSM. between 128~255
+ Refers to TS 24.008 10.5.4.7 the octet 3 of Called party BCD number IE */
+ kal_uint8 cc_ton;
+
+ sim_interface_enum cur_sim_slot_id; /* store the choosed physical SIMs */
+
+ kal_uint8 is_valid_ef_rat_mode;
+ kal_uint8 ef_rat_mode;
+
+ kal_uint8 file_changed_map;
+
+ kal_uint32 em_cell_lock_mode; /* Context for L4C EM cell lock feature, refer to em_cell_lock_mode_enum */
+
+#if defined(__DUAL_TALK_MODEM_SUPPORT__)
+ l4c_source_id_enum l1aud_spc_src_id;
+#endif
+
+#if defined(__NO_PSDATA_SEND_SCRI__) || defined(__FAST_DORMANCY__)
+ kal_uint8 fast_dormancy_mode; //0: disable, 1: enable
+ eventid fd_event;
+ kal_bool is_screen_on; //0: off, 1: on
+ kal_uint8 fd_timer_counter;
+ upcm_query_epsb_statistics_struct fd_pdp_table;
+ kal_bool scri_has_sent;
+ kal_uint8 fd_monitor_tick;
+ kal_uint8 fd_retry_count;
+ kal_bool fd_fop_received;
+ kal_bool need_resend;
+#endif /* defined(__NO_PSDATA_SEND_SCRI__) || defined(__FAST_DORMANCY__) */
+
+ rat_enum active_rat;
+ rat_enum active_3gpp_rat;
+
+ kal_bool mmi_info_received; //recipt flag of MSG_ID_L4CSMU_MMI_INFO_IND
+ kal_uint8 ecc_category; //used for the next ATDE command
+ kal_uint8 ecc_call_id; //used for telling MOD_LBS the roughly timing of ecc call
+
+ kal_bool ecc_full_control; // TRUE: control by AP
+
+ umts_rrc_state_enum rrc_state;
+ em_errc_state_enum errc_state;
+ kal_bool dl64qam;
+
+ cusats_uicc_state_enum uicc_state;
+ /* 0 Bit corresponds to Source ELT, 1 Bit corresponds to RMMI */
+ kal_uint8 em_info_state_tbl[NUM_OF_EM_INFO];
+
+ /* below informat are for thermal usage */
+ l4c_source_id_enum ethermal_src;
+ kal_int8 rf_tx_power; //tx power: -50 ~ 24, -127: invalid
+#ifdef __TX_PWR_EXTENSION__
+ l4c_tx_pwr_info_per_antenna rf_tx_power_ant[2];//per antenna
+ kal_int8 numRequest;
+#endif
+ kal_int16 rf_temperature;
+ kal_int16 rf_temperature_lte;
+ kal_int16 rf_temperature_nr;
+#if defined(__GEMINI__)
+#ifdef __LTE_RAT__
+ kal_bool disallow_irat;
+#endif
+#endif
+ l4c_source_id_enum txant_src;
+ l4c_source_id_enum txrx_time_src;
+
+#if defined(__L4C_GPRS_UT__)
+ kal_bool tst_inject_is_sglte_mode;
+ kal_bool tst_inject_is_ps_switch_ongoing;
+ kal_bool tst_inject_is_notify_cgact_fail;
+ l4c_gprs_cmd_conflict_cause_enum tst_inject_is_command_conflict;
+ kal_bool is_ipv4v6_table_free[L4C_TOT_CONTEXT];
+ rat_enum tst_inject_rat_mode;
+ kal_bool tst_inject_no_need_to_wait_ei3gppirat;
+ kal_bool tst_inject_ut_case;
+#endif
+
+ /* No PDP activated: L4C_PDP_DEACTIVED
+ There is one or more PDP activated: L4C_PDP_ACTIVED */
+ l4c_gprs_status_enum l4c_last_pdp_overall_status;
+
+ kal_uint8 v4v6_act_ptr_init_cid[L4C_TOT_CONTEXT]; /* duplicate from v4v6_act_ptr, because need to be used after free table */
+ l4c_gprs_ipv4v6_act_struct* v4v6_act_ptr[L4C_TOT_CONTEXT];
+ kal_bool ipv4v6_fallback_enable;
+ kal_bool ipv4v6_fallback_v4_first;
+
+ kal_bool retry_afr;
+
+ kal_bool eapprove_flag; /* EAPPROVE cmd is used or not */
+
+#ifdef __MODEM_EM_MODE__
+ kal_bool is_em_from_loggingTool;
+ l4c_em_event_enum l4c_em_event_bit_mask;
+#endif
+
+ kal_uint8 wfc_profile;
+ kal_uint8 drb_state;
+ kal_uint8 drb_state_nr;
+ l4c_radio_access_setting_struct csra_setting;
+ kal_uint8 cfun_before_csra;
+
+ /* +CGPIAF config */
+ kal_bool ipv6_address_format;
+ kal_bool ipv6_subnet_notation;
+ kal_bool ipv6_leading_zeros;
+ kal_bool ipv6_compress_zeros;
+
+ kal_bool is_ims_call_exist; // from EIMSCI
+
+ /* CALL_TYPE_INDICATION_NULL : means not in any call session
+ * CALL_TYPE_INDICATION_XXX : means UE is in XXX call session
+ * this value should be updated only in l4c_send_rac_call_status_req()
+ */
+ call_type_indication_enum in_call_session_type;
+
+ kal_bool is_cdma2000_supported;
+
+ /* refer to TS 31.111 Subclause 6.4.12 SEND USSD
+ * if alpha_id is present and not NULL object, we should inform user about this SAT USSD*/
+ kal_bool sat_ussd_need_inform_user;
+ kal_bool sat_report_cs_ussd_end;
+ kal_bool sat_report_cs_ss_end;
+
+ kal_uint32 sbp_id; //it is used for dynamic SBP when SIM switch happens. Convert SIM MCC/MNC to SBP ID when L4CSMU_MMI_INFO_IND is received.
+
+ kal_uint8 disabled_rat; // Bitmap: b4|b3|b2|b1 = x|4G|3G|2G. 1: Rat is disabled, 0: RAT is not disabled.
+
+ kal_bool is_emergency_session;
+ kal_uint8 ims_reg_state;
+ kal_bool is_flight_mode_on_ecc;
+ kal_bool is_ecc_connected;
+ kal_bool is_ecc_cancelled;
+ kal_bool is_1x_service_available;
+ hvolte_enable_status_enum hvolte_enable;
+ hvolte_enable_status_enum hvolte_enable_for_roaming;
+ kal_bool delay_switch_to_SRLTE_mode;//only used for TC01
+ kal_bool delay_switch_to_VOPS_mode;
+ l4c_dial_c2k_state_enum l4c_dial_c2k_state;//for hvolte, not set to SRLTE mode until received c2k_csfb_start_ind
+ kal_uint8 rach_fail_t300_counter;
+ hvolte_mode_enum hvolte_mode;
+ kal_uint32 t_wwan_911;
+ kal_uint32 t_volte_hys;
+ kal_bool is_eimsps_need_to_wait_attach;
+
+ kal_bool is_on_hplmn; // HPLMN is based on SIM card
+ kal_bool is_home_country; // UE is in a domestic or foreign country, based on the location. The value is determined by NWSEL
+ kal_uint8 plmn_id[MAX_PLMN_LEN+1];
+ kal_uint8 last_camped_plmn_id[MAX_PLMN_LEN+1]; // This is used to record the last valid PLMN used by UE. Usage example: UE's last location
+
+ /* TxRx active time */
+ kal_uint32 tx_mode_time[NUM_TX_POWER_LEVELS]; // LWCTG
+ kal_uint32 rx_mode_time; // LWCTG
+ kal_uint32 txrx_union_time;
+ kal_uint32 txrx_start_time;
+ rat_enum txrx_need_report_rat;
+
+ /* L1 LCM hopping */
+ l4c_lcm_hopping_context_struct lcm_hopping_info[L4C_XL1_LCM_HOPPING_NUM_OF_RAT];
+ kal_uint8 reported_lcm_hopping_rat_index;
+ kal_uint32 reported_lcm_mipiBitmap;
+ kal_bool has_pending_reported_lcm_hopping;
+ ostd_ap_core_status_enum ap_core_status;
+ /* AT%SIMIMSI */
+ #if defined(__TC01__)
+ kal_bool is_imsi_valid;
+ kal_uint8 imsi_content[17];
+ kal_bool pin_lock_check;
+ #endif
+
+
+ kal_bool is_ims_turned_on;
+ ims_cap_rat_enum ims_voice_rat;//is_ims_volte_turned_on;
+ kal_uint8 mo_call_mode;
+ kal_uint16 lce_cap_trc; // Record the LCE config process on different RAT
+ kal_bool is_voice_over_ims_ongoing;
+ ims_access_rat_enum ims_access_rat;
+ kal_bool is_c2k_cs_call_ongoing;
+ rac_em_mdmi_rat_info_enum previous_mdmi_rat_info;
+
+ kal_uint8 attach_pdn_choose_which_cid_profile;
+ kal_uint8 at_cmd_define_attach_pdn_establish_on_which_cid;
+ kal_bool op20_ap_simlock;
+
+ /* context used for +EAPC */
+ kal_uint8 eapc_exe_wait_num;
+
+ kal_uint32 sim_sbp_id_to_set;
+ kal_uint32 sbp_reconfigure_type; //l4c_me_reconfig_enum
+ l4c_source_id_enum sbp_user;
+ kal_uint8 current_trans_id; // trans_id from SIM READY IND, 1 ~ 255, value 0 reserved for user dsbp (AT command)
+
+ /* for power level with threshold implimentation*/
+ l4c_power_level_threshold_struct pl_threshold;
+
+ /* for CT3G card ps attach flow */
+ kal_bool is_ct3g_card_inserted;
+
+ /* For AT+ERFIDX command*/
+ l4c_erfidx_context_struct erfidx_info[L4C_ERFIDX_NUM_OF_FEATURE];
+
+ rat_enum global_rat_mode;
+
+ kal_bool is_op12_reg_lock;
+
+ /* save setting from MSG_ID_L4C_REGIONAL_PHONE_MODE_REQ */
+ kal_uint8 nv_regional_phone_mode;
+ kal_uint8 regional_phone_mode;
+
+ kal_bool is_data_allowed;
+ /*SET RAT MODE to 4G only if specific sim card*/
+ kal_uint8 mcc_in_plmn_found[3];
+ kal_bool is_4g_only_set;
+ kal_bool is_op01_sim_lock;
+
+#ifdef __DISABLE_SIM_RESET_DURING_DUPLEX_MODE_CHANGE__
+ l4c_sim_duplex_mode_reset_state_enum duplex_mode_sim_reset_state;
+#endif
+
+ /* For IWLAN Single monitoring*/
+ event_scheduler *max_delay_event_scheduler_ptr;
+ eventid max_delay_event_id[L4C_PWL_THRHD_TIMER_ID_MAX+1];
+
+ l4c_pwl_thrhd_struct pwl_thrhd[L4C_MAX_SIG];
+ l4c_power_level_threshold_range_enum pwl_thrhd_reported_range[L4C_MAX_SIG];
+
+#ifdef __GEMINI__
+ kal_uint8 wait_auth_abort_src_id;
+ kal_uint8 wait_auth_abort_cfun_state;
+ l4c_rsim_pending_action_enum rsim_pending_action;
+#endif
+ /* If current action encountered cmd conflict situation, L4C could make use of this queue to suspend the action.
+ The item structure is l4c_queue_pending_action_item_struct */
+ lcd_lqueue pending_action_queue;
+ lcd_lqueue *pending_action_queue_ptr;
+
+ kal_bool is_sim_refresh_with_pseudo_imsi;
+ kal_bool band_setting_nosave;
+ rat_enum rat_mode_nosave;
+
+#ifdef __CHR_AB_INFO__
+ kal_bool epsnlte_next_iter_timer;
+#endif
+
+ kal_uint8 cops_src_id;
+ kal_bool reinit_sub;
+
+ kal_bool emm_cmcc_attach_arrearage;
+ kal_uint8 emm_consecutive_attach_reject_with_integrity_protection;
+ l4c_sim_card_arrears_enum sim_arrearage_reported;
+ l4c_sim_arrears_pid_enum sim_arrearage_pid;
+ kal_uint8 sim_arrearage_cause;
+
+ /****************************/
+ /* L4C PHB variable section */
+ /****************************/
+ l4c_source_id_enum phb_user;
+ kal_uint16 phb_current_action;
+ //kal_bool phb_ready_flag;
+ l4_number_struct l4cphb_approve_req_string;
+ kal_bool phb_update_from_crsm; // update PHB record if CRSM is used
+ //kal_bool is_fdn_change;
+ kal_bool phb_approve_ussd;
+
+
+
+ l4c_phb_ps_context_struct l4c_phb_ps_context;
+
+ /***********************************/
+ /* L4C SMS variable section */
+ /***********************************/
+ kal_uint16 sms_current_action[MAX_SOURCE_NUM]; /*l4c_action_enum*/
+ kal_uint8 sms_num[MAX_SOURCE_NUM];
+ kal_uint8 sms_abort_ongoing;
+ kal_bool sms_da_fdn_check; //using to check if da is approve now
+ void *sms_da_number;
+ kal_uint8 pws_config;
+
+ l4c_sms_ps_context_struct l4c_sms_ps_context;
+ /***********************************/
+ /* end of L4C SMS variable section */
+ /***********************************/
+
+
+
+ kal_bool is_rsvas_occupy_sent;
+ kal_uint16 nw_mcc;
+
+ l4c_non_3gpp_nw_policies_struct non_3gpp_nw_policies; /* Non-3GPP NW provided policies IE */
+ kal_bool is_imei_meid_blocked;
+ rat_enum rat_imei_meid_blocked;
+
+ kal_bool is_detach_reattach;
+
+ kal_uint32 extn_lce_ul_threshold;
+ kal_uint32 extn_lce_dl_threshold;
+
+ kal_bool is_unblock_op;
+
+ /* store for NSA lCE */
+ kal_uint8 is_ul_valid;
+ kal_uint8 is_dl_valid;
+ kal_uint32 ul_kbps;
+ kal_uint32 dl_kbps;
+
+
+ rat_enum atnusd_need_report_rat;
+ l4c_antenna_state_struct antenna_state;
+ l4c_antenna_state_struct old_antenna_state;
+ kal_bool is_antenna_timer_running;
+
+ uac_transaction_struct uac_transaction[l4C_MAX_TRANS_NUM];
+
+ msg_type esrv_req_msg_id; // To distinguish the source of EMERGENCY_SERVICE_REQ
+ msg_type esrv_fb_req_msg_id; // To distinguish the source of EMERGENCY_SERVICE_FALLBACK_REQ
+
+ /* for security API */
+ kal_bool l4c_is_nitz_valid;
+ l4c_nw_time_zone_time_struct l4c_nitz_info;
+
+#ifdef __ARFCN_TO_CAMERA_SUPPORT__
+ /* For ARFCN reporting to camera APP*/
+ kal_bool is_call_present;
+ kal_bool is_arfcn_valid;
+ kal_uint8 num_of_arfcn;
+ kal_uint32 arfcn[L4C_MAX_ARFCN_SUPPORTED];
+ kal_uint16 band[L4C_MAX_ARFCN_SUPPORTED];
+ rmmi_cscon_mode_enum is_connected;
+#endif
+ indicated_nrrc_state_enum indicated_nrrc_state;
+ kal_uint8 camera_hopping_endc_arfcn_cache;
+
+ kal_uint8 eops_plmn_id[MAX_PLMN_LEN+1];
+ kal_bool is_egreg_suspend;
+
+ rat_enum ecc_rat_save;
+ kal_bool integrity_status;
+ kal_bool ciphering_status;
+ kal_bool fake_security_status;
+
+ kal_bool ue_capability_action;
+
+ /* For VzW SRLTE switch*/
+ kal_uint8 ims_pdn_result;
+ kal_uint8 inet_pdn_result;
+ kal_uint32 ims_pdn_reject_cause;
+ kal_uint32 throttling_timer_timestamp;
+ kal_bool is_uicc_activated;
+ sim_additional_error_cause_enum additional_error_cause;
+
+ kal_bool is_mrs_band_setting_nvram_save_needed;
+ kal_bool is_kor_lguplus_envelope_for_refresh;
+
+ /* For AT&T <CDR-WIFI-1510>*/
+ kal_uint8 num_rsrp_threshold;
+ kal_uint8 num_rs_snr_threshold;
+ kal_uint8 num_rsrq_threshold;
+ kal_uint8 num_nr_ss_rsrp_threshold;
+ kal_uint8 num_nr_ss_rsrq_threshold;
+ kal_uint8 num_nr_ss_sinr_threshold;
+
+ kal_int16 rsrp_threshold[16];
+ kal_int16 rs_snr_threshold[16];
+ kal_int16 rsrq_threshold[16];
+ kal_int16 nr_ss_rsrp_threshold[16];
+ kal_int16 nr_ss_rsrq_threshold[16];
+ kal_int16 nr_ss_sinr_threshold[16];
+
+ l4c_nw_register_nitz_cb nitz_cb;
+
+#ifdef __FEATURE_SAMSUNG_RF_SAR_EUR_CHK__
+ kal_uint8 is_eu_us_mcc;
+#endif
+
+ kal_uint8 plmn_list_num_src_id;
+ sim_error_cause_enum last_sim_error_ind;
+
+ /* pointer to access the l4c context which bind with sim_slot and need to switch by SIM switch */
+ l4c_context_with_sim_slot_struct *this_sim_context;
+
+ kal_uint8 plmn_list_block_apn_num;
+ kal_char* plmn_list_block_apn[L4C_PS_MAX_BLOCK_APN];
+
+#ifdef __IPC_NETWORK_SCAN__
+ kal_uint8 net_scan_src_id;
+#endif
+
+#ifdef __WHITE_CELL_LOCK__
+ kal_uint8 cell_meas_scan_src_id;
+#endif /*__WHITE_CELL_LOCK__*/
+
+ kal_uint8 exe_scan_src_id;
+
+ kal_bool rat_change_to_lte;
+ kal_bool is_rat_change_started;
+ kal_bool is_suspend;
+ kal_uint8 susp_id;
+ kal_bool is_2g_disable;
+ l4c_rat_mode_custom_type_enum rat_mode_setting;
+ kal_uint16 mo_disc_cause;
+
+ kal_uint8 pref_nw_type;
+
+ /* l4_pref_lid_write_bitmap is the bit map which stores the byte which is getting modified in NVRAM_EF_L4_PREFERENCE_LID.
+ This is set before the write req is sent ot NVRAM and reset when the write confirmation is received */
+ kal_uint8 l4_pref_lid_write_bitmap;
+
+#if defined(__TC01__)
+ kal_uint8 ims_pdn_reject_count;
+ kal_bool is_port_unlock_ongoing;
+ kal_uint8 *portunlockstr;
+#endif
+
+ sbp_reconfig_custom_param_struct sbp_parameters;
+
+#ifdef __TC01__
+ l4c_ecc_connected_status_enum ecc_call_connected_status;
+#endif /* __TC01__ */
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+ l4c_nw_black_list_info_struct ms_nw_black_list_info;
+#endif
+
+ kal_int8 time_zone_cclk;
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+ l4c_number_struct ecallquery_number;
+ kal_uint8 ecall_reg_src_id;
+#endif /* (__ECALL_SUPPORT__) || (__NG_ECALL_SUPPORT__) */
+ /* For signal criteria set feature */
+ kal_bool is_gsm_criteria_set;
+ kal_bool is_umts_criteria_set;
+ kal_uint8 is_lte_criteria_set;
+ kal_uint8 is_nr_criteria_set;
+ kal_uint8 vgopt_act_operation;
+ kal_bool wait_for_lte_paging;
+ l4c_nw_5guw_context_struct l4c_5gnw_context;
+ endc_sib_status_enum endc_sib_status;
+#ifdef __CHANNEL_LOCK__
+ kal_bool read_ch_lock_mode_from_nv;
+#endif
+ kal_uint8 sa_nr_srv_bands_num;
+ kal_uint16 sa_nr_srv_bands[L4C_MAX_NR_SRV_BAND];
+ kal_uint8 endc_nr_srv_bands_num;
+ kal_uint16 endc_nr_srv_bands[L4C_MAX_NR_SRV_BAND];
+ kal_uint8 internet_cid;
+} l4c_context_struct;
+
+
+/* mtk01616_100419: L4C common context is created for RAM size optimization in Gemini platform
+ In Gemini, there will be two L4C context. However, some context can be shared in SIM1/SIM2.
+ Now we create L4C common context,there will be only one common context in Gemini
+ For context can be shared between SIM1/SIM2, please try to move to L4C common context. */
+typedef struct
+{
+ kal_uint32 cpi_mode;
+ kal_uint32 ps_conf_test_profile;
+ kal_uint8 ps_conf_test_mode;
+ kal_bool wap_init_flag;
+ kal_uint8 flightmode_state; //l4cmmi_flightmode_enum
+
+ /* 030618 mtk00468 add handle the power on mode in different mode , we have to keep this value.*/
+ /* when mode is not normal power , after uem_startup_cnf we dont need to initial other module*/
+ kal_uint8 poweron_mode; /* POWER_ON_KEYPAD 0 POWER_ON_ALARM 1 POWER_ON_CHARGER_IN 2 */
+ kal_uint8 poweroff_retry; // power off timer retry count
+ kal_uint8 usb_app; //remember usb app is USB_SWITCH_PORT_APP_DATA or USB_SWITCH_PORT_APP_DEBUG
+#ifdef __IP_NUMBER__
+ kal_uint8 ip_string[21];
+#endif
+#if defined(__GEMINI__)
+ kal_uint8 dual_sim_mode_setting;
+ kal_uint8 dual_sim_inserted_status;
+ kal_bool during_sim_mode_switch;
+ kal_bool is_dual_sim_ind_sent;
+#endif
+#ifdef __AGPS_CONTROL_PLANE__
+ module_type agps_cp_active_module;
+#endif
+#ifdef __GEMINI__
+ kal_uint8 tmp_ps_sim_map[NVRAM_EF_PS_SIM_MAP_SIZE]; /* store the temp PS-SIM slot mapping */
+#endif
+ kal_uint8 drc_type; /* For dynamic re-configure type */
+
+ /*
+ During SIM switch, drc_type is reset after receiving all L4C_ME_RECONFIG_CNF from PS1 because Duplex Mode Change will start.
+ Need another flag for ongoing dynamic re-configure type, which has longer life cycle than drc_type.
+ Set before sending L4C_ME_RECONFIG_REQ to all protocols.
+ Reset after receiving L4C_ME_RECONFIG_CNF from all protocols.
+ */
+ kal_uint8 drc_type_ongoing;
+
+#ifdef __ETWS_SUPPORT__
+ kal_uint8 etws_setting;
+#endif
+ kal_bool is_wea_geofencing_enabled;
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+ kal_bool l4c_use_tnum;
+ kal_bool l4c_use_rnum;
+ l4_addr_bcd_struct l4c_tnum;
+ l4_addr_bcd_struct l4c_rnum;
+ l4_phb_uri_struct l4c_tnum_uri;
+ l4_phb_uri_struct l4c_rnum_uri;
+ kal_bool l4c_use_tnum_uri;
+ kal_bool l4c_use_rnum_uri;
+ ecall_format_enum format;
+ kal_uint8 msd_data_length;
+ kal_uint8 msd_data[MSD_MAX_LENGTH];
+#endif /*defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)*/
+
+ kal_uint8 rac_activated; //bit-map for GEMINI
+ kal_uint8 tcm_activated;
+ kal_bool uem_activated;
+
+ kal_bool is_wait_for_audio_off;
+ kal_uint8 iratmode;
+
+ l4c_c2k_power_off_state_enum c2k_md_pwroff_state;//for MD1/MD3 pwroff handshake
+
+ l4c_dss_ongoing_state_enum dss_ongoing_state;
+
+ kal_uint8 notify_module_num;
+
+#ifdef __GEMINI__
+ kal_bool is_rsim_enable;
+ kal_bool is_aka_enable;
+ kal_bool is_aka_ready;
+
+ kal_uint8 aka_sim;
+ kal_bool aka_mode;
+ kal_uint8 rsim_auth_timeout;
+ l4c_rsva_aka_resource_occupy_enum rsva_aka_resource_occupy_state;
+ kal_uint8 aka_rsim_abort_src_id;
+ kal_bool is_rsim_virtual_connected;
+ kal_bool is_rsim_auth_resp_to_be_sent;
+ /* This variable is to track the rrc connection release on RSIM stack*/
+ kal_uint8 rsim_connection_release_counter;
+#endif
+
+#ifdef __DISABLE_SIM_RESET_DURING_DUPLEX_MODE_CHANGE__
+ kal_bool world_mode_without_sim_reset_completed;
+#endif
+
+ l4c_ct_volte_support_enum ct_volte_support;
+
+#if defined(__TC01__) && defined(__RMMI_EXTEND_CUSTOM_CMD__)
+ /* MUSE - ALPS01198329 */
+ /* The device will make SIM2 flight mode in the MUSE factory test state. */
+ kal_bool cust_flight_mode;
+#endif
+
+
+ /*
+ Workaround: AT+ESIMMAP responds ERROR if any one of PHB has not started up yet during power on.
+ Bitmap representing whether PHB has started up
+ 0x01: PHB_1 protocol has started up
+ 0x02: PHB_2 protocol has started up
+ 0x04: PHB_3 protocol has started up
+ 0x08: PHB_4 protocol has started up
+ */
+ kal_uint8 l4c_phb_startup_begin_flag;
+
+
+
+ kal_bool g_sar_update_needed;
+ kal_bool g_sar_txant_update_needed;
+ kal_uint8 g_sar_sensor_state;
+ kal_uint16 g_scenario_index;
+ kal_uint8 g_sar_tx_ant_cnf_pending;
+ kal_int8 g_customer_sar_setting;
+
+#ifdef __ARFCN_TO_CAMERA_SUPPORT__
+ kal_bool is_camera_reporting_enabled;
+ kal_uint8 ap_test_mode;
+#endif
+
+ /* ALPS04275687: This variable is to check if startup IMEI verification is passed */
+ kal_bool power_on_imei_verify;
+ kal_uint8 scp_monitor;
+
+
+ kal_bool is_custom_fd_setting;
+ kal_bool is_custom_full_fd_setting;
+
+#if defined(__TC01__) /* at%ltecall */
+ l4c_cust_rft_mode_enum cust_rft_mode;
+ kal_uint32 init_campreq_mode;
+ kal_uint8 is_port_locked;
+#endif
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+ /* For ECALL priority*/
+ kal_uint8 l4c_ecall_prio[L4C_ECALL_USIM_NUM];
+#endif /* __ECALL_SUPPORT__ || __NG_ECALL_SUPPORT__ */
+
+}l4c_common_context_struct;
+
+/* -------------------------------------------------------
+ * L4C Root is the GEMINI controller in Dual SIM project.
+ * Control the power on/power off/SIM mode switching procedures.
+ * -------------------------------------------------------*/
+typedef struct
+{
+ kal_bool has_update_sim_statust;
+ kal_uint8 root_src_id;
+ kal_uint8 efun_state;
+ rfoff_cause_enum efun_cause;
+#if defined(__L4C_GEMINI_BT_HF__)
+ kal_uint8 last_dialed_sim;
+#endif
+#if defined(__SINGLE_AP_DUAL_MODEM__)
+ /* bitmap representing the power-on mode for each sim
+ 0x01: SIM1 protocol is powered-on
+ 0x02: SIM2 protocol is powered-on
+ 0x04: SIM3 protocol is powered-on
+ 0x08: SIM4 protocol is powered-on
+ */
+ kal_uint8 sim_support_mode;
+#endif
+#if defined(__SIM_ME_LOCK__)
+ /* below context is for link_SML */
+ smu_pending_password_id_enum root_pending_password[MAX_SIM_NUM];
+ link_sml_valid_sim_enum root_real_sim_verify_state[MAX_SIM_NUM];
+ link_sml_srv_state_enum root_sml_srv_state[MAX_SIM_NUM];
+#endif
+ kal_uint16 root_action;
+
+ /* below context is used for +CSRA */
+ l4c_radio_access_setting_struct root_csra_setting;
+ kal_uint32 duplex_mode_change_done;
+}l4c_root_context_struct;
+
+
+extern l4c_context_struct *l4c_ptr_g;
+extern l4c_common_context_struct *l4c_comm_ptr_g;
+extern module_type l4c_current_mod_id;
+extern l4c_context_struct l4c_cntxt_g[L4_MAX_SIM_NUM];
+extern l4c_context_with_sim_slot_struct l4c_cntxt_with_sim_slot_g[L4_MAX_SIM_NUM];
+/*#ifdef __HOMEZONE_SUPPORT__
+extern l4c_hz_context_struct l4c_hz_cntxt_g[L4_MAX_SIM_NUM];
+#endif*/
+
+extern l4c_root_context_struct l4c_root_cntxt_g;
+extern l4c_root_context_struct *l4c_root_ptr_g;
+
+
+extern kal_uint8 PS_SIM_MAP[];
+
+
+extern l4c_phb_context_struct l4c_phb_context_g[L4_MAX_SIM_NUM];
+extern l4c_sms_context_struct l4c_sms_context_g[L4_MAX_SIM_NUM];
+extern l4c_csmcc_context_struct l4c_csmcc_context_g[L4_MAX_SIM_NUM];
+
+
+/*** If you wanna add new filed in the dump, please comply with the alphabet order ***/
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ rat_enum active_rat;
+ kal_bool auto_attach;
+ kal_uint8 cfun_state;
+ kal_uint8 c2k_cfun_state;
+ kal_uint8 efun_state;
+ kal_bool mmrr_ready_flag;
+
+ rat_enum global_rat_mode;
+ rat_enum rat_mode;
+ rat_enum prefer_rat;
+
+ ps_conf_test_mode_enum ps_conf_test_mode;
+ kal_uint32 ps_conf_test_profile;
+
+ kal_bool rat_change_to_lte;
+ kal_bool is_2g_disable;
+} l4c_nw_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ kal_bool call_exist;
+ kal_bool is_flight_mode_on_ecc;
+ kal_bool is_emergency_session;
+
+ kal_bool retry_cc;
+ kal_uint8 retry_count;
+ kal_uint8 retry_src_id;
+ kal_bool retry_ss;
+
+} l4c_cc_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ kal_uint8 dummy;
+} l4c_sms_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ sim_interface_enum cur_sim_map;
+ sim_interface_enum cur_sim_slot_id;
+
+ l4c_dss_ongoing_state_enum dss_ongoing_state;
+
+ kal_bool sim_detected;
+ kal_uint16 sim_error_cause;
+ kal_bool sim_refresh;
+ kal_bool mmrr_ready_flag;
+ kal_bool is_test_sim;
+ kal_bool is_c2k_app_exist;
+} l4c_sim_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ smu_pending_password_id_enum root_pending_password[MAX_SIM_NUM];
+ link_sml_valid_sim_enum root_real_sim_verify_state[MAX_SIM_NUM];
+} l4c_smu_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ kal_bool is_ims_call_exist;
+ kal_bool is_ims_turned_on;
+ ims_cap_rat_enum ims_voice_rat;//is_ims_volte_turned_on;
+
+ hvolte_enable_status_enum hvolte_enable;
+ hvolte_enable_status_enum hvolte_enable_for_roaming;
+ hvolte_mode_enum hvolte_mode;
+} l4c_ims_dump_context;
+
+typedef struct {
+ /* Please add the new field in increasing alphabet order */
+ kal_uint8 l4c_phb_startup_begin_flag;
+} l4c_phb_dump_context;
+
+typedef struct {
+ LOCAL_PARA_HDR
+
+ l4c_nw_dump_context l4c_nw_dump;
+ l4c_cc_dump_context l4c_cc_dump;
+ l4c_sms_dump_context l4c_sms_dump;
+ l4c_sim_dump_context l4c_sim_dump;
+ l4c_smu_dump_context l4c_smu_dump;
+ l4c_ims_dump_context l4c_ims_dump;
+ l4c_phb_dump_context l4c_phb_dump;
+
+ l4c_action_enum rac_current_action;
+ l4c_action_enum smu_current_action;
+ l4c_action_enum phb_current_action;
+ l4c_action_enum sat_current_action;
+ l4c_root_action_enum l4c_root_action;
+} l4c_dump_context_ind_struct;
+
+typedef void (*L4C_PHB_APPROVE_CNF_CALLBACK)(local_para_struct *local_para_ptr, peer_buff_struct *peer_buff_ptr);
+typedef struct
+{
+ l4c_phb_approve_src_enum approve_src;
+ L4C_PHB_APPROVE_CNF_CALLBACK cnf_callback_ptr;
+} l4c_phb_approve_cnf_callback_struct;
+extern const l4c_phb_approve_cnf_callback_struct l4c_phb_approve_cnf_callback_table[];
+
+/*
+** Structure used by L4C_PS to send
+** Initial attach PDN connectioninformation to L4C_NW.
+*/
+typedef struct{
+ kal_bool is_success;
+ ps_cause_enum cause;
+ kal_bool is_ims_pdn;
+} l4c_ia_pdn_info_struct;
+
+#ifdef __L5_SUPPORT__
+typedef struct {
+ /* forward msg info */
+ msg_type rcv_msg_id;
+ msg_type fwr_msg_id;
+ module_type dest_mod_id;
+ sap_type sap_id;
+ kal_uint8 specific_handle;
+} l4c_forward_struct;
+#endif
+
+#endif /* l4c_context.h */
+
+
diff --git a/mcu/protocol/layer4/l4/include/l4c_init.h b/mcu/protocol/layer4/l4/include/l4c_init.h
new file mode 100644
index 0000000..f3f1495
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4c_init.h
@@ -0,0 +1,87 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * l4c_init.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for �K.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _L4C_INIT_H
+#define _L4C_INIT_H
+
+#include "kal_general_types.h"
+
+extern kal_bool l4c_init(void);
+
+extern kal_bool l4c_init_context (void);
+
+extern kal_bool l4c_init_common_context(void);
+
+extern kal_bool l4c_init_root_context(void);
+
+extern void l4c_start_base_timer(void *base_timer_ptr,
+ unsigned int time_out);
+
+extern void l4c_stop_base_timer(void *base_timer_ptr);
+
+
+
+#endif /* l4c_init.h */
+
+
diff --git a/mcu/protocol/layer4/l4/include/l4crac_func.h b/mcu/protocol/layer4/l4/include/l4crac_func.h
new file mode 100644
index 0000000..dd836a6
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/l4crac_func.h
@@ -0,0 +1,705 @@
+/*****************************************************************************
+* 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_func.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for functional interface between L4C and RAC.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _L4CRAC_FUNC_H
+#define _L4CRAC_FUNC_H
+
+#include "kal_general_types.h"
+#include "mcd_l3_inc_struct.h"
+#include "l3_inc_enums.h"
+#ifdef __GEMINI__ //__GEMINI_3G_SWITCH__
+#include "ps_public_enum.h"
+#include "sim_public_enum.h"
+#endif
+#include "l4crac_enums.h"
+#ifdef __VOLTE_SUPPORT__
+#include "ims_common_def.h"
+#endif /* __VOLTE_SUPPORT__ */
+#include "nas_as_inter_core_enum.h"
+#include "ps_public_struct.h"
+#include "rac_nas_sv_struct.h"
+
+/* 4.1 */
+extern void l4crac_get_attach_status (kal_uint8 * cs_status,kal_uint8 * ps_status,kal_uint8 *service);
+extern l4c_rac_gprs_status_enum l4crac_get_gprs_status(void); // MAUI_02316028, support L4C to get gprs status when RAB changed
+
+/* 4.2 */
+extern kal_uint8 l4crac_get_egprs_status (void); /* Erica 20070319: for edge status */
+extern data_speed_support_enum l4crac_get_cell_data_speed_support (void); /* mtk02475: for edge & hspa status */
+extern ms_mobile_class_enum l4crac_get_mobile_class (void);
+
+/* 4.3 */
+extern void l4crac_get_current_plmn(plmn_id_rat_struct *current_plmn);
+extern void l4crac_get_current_plmn_before_reg(plmn_id_rat_struct *current_plmn);
+/* 4.5 */
+
+extern plmn_selection_mode_enum l4crac_get_sel_mode(void);
+
+extern void l4crac_set_sel_mode(plmn_selection_mode_enum mode);
+
+extern kal_bool l4crac_get_imei(kal_uint8 *imei_bcd, kal_uint8 *imei_svn_bcd);
+
+extern kal_bool l4crac_test_mobile_class (kal_uint8 const ** buffer);
+
+extern kal_bool l4crac_set_gprs_follow_on_request (kal_bool is_turn_on);
+
+extern rat_enum l4crac_get_rat_mode(void);
+
+extern kal_bool l4crac_set_rat_mode(rat_enum rat_mode);
+
+extern rat_enum l4crac_get_prefer_rat(void);
+
+extern rat_enum l4crac_get_request_rat_mode(void);
+
+extern kal_bool l4crac_update_auto_attach(kal_bool auto_attach);
+
+extern kal_bool l4crac_get_auto_attach(void);
+
+extern kal_bool l4crac_set_auto_attach_setting(kal_bool auto_attach);
+
+extern kal_bool l4crac_save_auto_attach_context(kal_bool auto_attach);
+
+extern kal_bool l4crac_set_irat_preference(rat_enum preferred_rat);
+
+extern kal_bool l4crac_cancel_retry_action(void);
+
+extern kal_bool l4crac_is_deregistered(void);
+
+extern rat_enum l4crac_get_irat_preference(void);
+
+extern kal_bool l4crac_is_reported_rat_change_finished();
+
+extern rat_enum l4crac_get_egmc_disable_rat_mode(void);
+
+//#ifdef __KOR_CUSTOMIZATION__
+extern plmn_id_struct l4crac_get_rplmn(void); /* Get RPLMN */
+
+#ifdef __MONITOR_PAGE_DURING_TRANSFER__
+#if defined(__GSM_RAT__) || defined(__UMTS_RAT__)
+extern gprs_transfer_preference_enum l4crac_get_gprs_transfer_preference(void);
+extern void l4crac_set_gprs_transfer_preference(gprs_transfer_preference_enum transfer_perference);
+#endif /* defined(__GSM_RAT__) || defined(__UMTS_RAT__) */
+#endif
+
+//#ifdef __PLMN_LIST_PREF_SUPPORT__
+extern plmn_list_preference_enum l4crac_get_plmn_list_preference(void);
+extern void l4crac_set_plmn_list_preference(plmn_list_preference_enum preference);
+//#endif /* __PLMN_LIST_PREF_SUPPORT__ */
+
+//#ifdef __HSPA_PREFERENCE_SETTING__
+void l4crac_set_hspa_preference(hspa_preference_enum hspa_preference);
+hspa_preference_enum l4crac_get_hspa_preference(void);
+//#endif /* __HSPA_PREFERENCE_SETTING__ */
+
+extern rat_enum l4crac_get_current_rat(void); //mtk02475: for ECC retry other RAT feature
+extern rat_enum l4crac_get_current_camped_rat(void);
+extern rat_enum l4crac_get_nvram_rat_mode(void); //mtk02475: for ECC retry other RAT feature
+// #ifdef __GEMINI__ //__GEMINI_3G_SWITCH__
+extern void l4crac_update_nvram_rat_mode(rat_enum nvram_rat_mode, sim_interface_enum sim_id); //mtk02475: for 3G switchable feature
+// #endif
+//mtk02475: for AT%CAMP, L4C need to query current CS domain service status
+extern l4c_rac_response_enum l4crac_get_gsm_status(void); //rx_level need
+
+extern kal_bool l4crac_is_on_hplmn(void); //mtk02475: for EHPLMN, modem will provide the information of roaming
+
+#ifdef __GEMINI__ //__GEMINI_MONITOR_PAGE_DURING_TRANSFER__
+extern kal_bool l4crac_get_peer_gprs_transfer_preference(void);
+extern void l4crac_set_peer_gprs_transfer_preference(kal_bool peer_transfer_perference);
+#endif
+
+extern kal_uint16 l4crac_get_rnc_id(void);
+
+#ifdef __CSG_SUPPORT__
+//mtk02475: for Rel8 CSG autonomous search
+extern kal_bool l4crac_get_csg_auto_search_preference(void);
+extern void l4crac_set_csg_auto_search_preference(kal_bool preference);
+extern kal_bool l4crac_get_csg_info(csg_info_struct *csg_info);
+#endif /* __CSG_SUPPORT__ */
+
+extern kal_bool l4crac_get_roaming_mode(void);
+extern rat_enum l4crac_get_reported_rat(void);
+
+extern kal_bool l4crac_get_roaming_setting(roaming_setting_enum setting);
+extern void l4crac_set_roaming_setting(roaming_setting_enum setting, kal_bool is_turn_on);
+
+#ifdef __LTE_RAT__
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_ue_mode
+ *
+ * DESCRIPTION
+ * get the current UE mode of operation
+ *
+ * PARAMETERS
+ * runtime_ue_mode_ptr [OUT] runtime ue mode
+ * nvram_ue_mode_ptr [OUT] nvram ue mode
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_ue_mode(ue_mode_enum *runtime_ue_mode_ptr, ue_mode_enum *nvram_ue_mode_ptr);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_ue_mode
+ *
+ * DESCRIPTION
+ * get the supported UE mode of operation
+ *
+ * PARAMETERS
+ * is_basic [IN] if AT CMD is basic or not
+ * basic - AT+CEMODE
+ * exteneded - AT+EEMODE
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_ue_mode(kal_bool is_basic, const kal_uint8 **buffer);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_sms_preference
+ *
+ * DESCRIPTION
+ * get the current SMS preference
+ *
+ * PARAMETERS
+ * sms_preference_ptr [OUT] SMS preference
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_sms_preference(l4c_rac_sms_preference_enum *sms_preference_ptr);
+
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_sms_over_sgs_config
+ *
+ * DESCRIPTION
+ * get the enable/disable configuration of SMS over SGs
+ *
+ * PARAMETERS
+ * none
+ *
+ * RETURNS
+ * KAL_TRUE - enable
+ * KAL_FALSE - disable
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_sms_over_sgs_config(void);
+
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_sms_preference
+ *
+ * DESCRIPTION
+ * get the supported SMS preference
+ *
+ * PARAMETERS
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_sms_preference(const kal_uint8 **buffer);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_ue_usage_setting
+ *
+ * DESCRIPTION
+ * get the current UE's usage setting
+ *
+ * PARAMETERS
+ * ue_usage_setting_ptr [OUT] UE's usage setting
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_ue_usage_setting(ue_usage_setting_enum *ue_usage_setting_ptr);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_ue_usage_setting
+ *
+ * DESCRIPTION
+ * get the supported UE's usage setting
+ *
+ * PARAMETERS
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_ue_usage_setting(const kal_uint8 **buffer);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_ims_voice_availability
+ *
+ * DESCRIPTION
+ * get the current availability of IMS voice
+ *
+ * PARAMETERS
+ * ims_voice_availability_ptr [OUT] availability of IMS voice
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_ims_voice_availability(kal_bool *ims_voice_availability_ptr);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_ims_voice_availability
+ *
+ * DESCRIPTION
+ * get the supported availability of IMS voice
+ *
+ * PARAMETERS
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_ims_voice_availability(const kal_uint8 **buffer);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_ims_sms_availability
+ *
+ * DESCRIPTION
+ * get the current availability of IMS SMS
+ *
+ * PARAMETERS
+ * ims_voice_availability_ptr [OUT] availability of IMS SMS
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_ims_sms_availability(kal_bool *ims_sms_availability_ptr);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_ims_sms_availability
+ *
+ * DESCRIPTION
+ * get the supported availability of IMS SMS
+ *
+ * PARAMETERS
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_ims_sms_availability(const kal_uint8 **buffer);
+
+#ifdef __VOLTE_SUPPORT__
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_mm_ims_voice_termination
+ *
+ * DESCRIPTION
+ * get the support of mobile management for IMS voice termination
+ *
+ * PARAMETERS
+ * mm_ivt_ptr [OUT] MM IMS voice termination
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_mm_ims_voice_termination(mm_ims_voice_termination *mm_ivt_ptr);
+#endif /* __VOLTE_SUPPORT__ */
+
+#endif /* __LTE_RAT__ */
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_get_voice_domain_preference
+ *
+ * DESCRIPTION
+ * get the current voice domain preference
+ *
+ * PARAMETERS
+ * rat [IN] indicate voice domain preference of UTRAN or E-UTRAN
+ * voice_domain_preference_ptr [OUT] voice domain preference
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_get_voice_domain_preference(rat_enum rat, l4_voice_domain_preference_enum *voice_domain_preference_ptr);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_test_voice_domain_preference
+ *
+ * DESCRIPTION
+ * get the supported voice domain preference
+ *
+ * PARAMETERS
+ * rat [IN] indicate voice domain preference of UTRAN or E-UTRAN
+ * buffer [OUT] buffer pointer to pointer
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_test_voice_domain_preference(rat_enum rat, const kal_uint8 **buffer);
+
+/*****************************************************************************
+ * FUNCTION
+ * l4crac_send_attach_req
+ *
+ * DESCRIPTION
+ * force to send attach req to mm/emm
+ *
+ * PARAMETERS
+ * service [IN] domain_id_enum to indicate domain_type
+ *
+ * RETURNS
+ * KAL_TRUE - success
+ * KAL_FALSE - failure
+ *
+ * GLOBALS AFFECTED
+ * none
+ *
+ *****************************************************************************/
+kal_bool l4crac_send_attach_req(domain_id_enum service);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_set_ue_reattach_setting
+* DESCRIPTION
+* Decide UE to stay EUTRAN or not when EUTRAN is disable
+*
+* PARAMETERS
+* is_user_ps_reattach: TRUE/FALSE
+*
+* RETURNS
+* none
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_set_ue_reattach_setting (kal_bool is_user_ps_reattach);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_ue_reattach_setting
+* DESCRIPTION
+* Get the configure for UE stay EUTRAN or not when EUTRAN is disable
+*
+* PARAMETERS
+* none
+*
+* RETURNS
+* TRUE/FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_get_ue_reattach_setting (void);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_set_data_service_status
+* DESCRIPTION
+* relay the user data connection setting to NWSEL
+*
+* PARAMETERS
+* status: on/off
+*
+* RETURNS
+* none
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_set_data_service_status(kal_bool status);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_is_ps_attach_always
+* DESCRIPTION
+* reply auto_attach configure to L4
+*
+* PARAMETERS
+* none
+*
+* RETURNS
+* TRUE/FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_is_peer_ps_attach_always(kal_uint8 sim_interface);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_duplex_mode_setting
+* DESCRIPTION
+* Get the configure for FDD/TDD setting
+*
+* PARAMETERS
+* geran_tdma [OUT]
+* utran_fdd [OUT]
+* utran_tdd_lcr [OUT]
+* eutran_fdd [OUT]
+* eutran_tdd [OUT]
+*
+* RETURNS
+* TRUE/FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_get_duplex_mode_setting(kal_bool *geran_tdma,
+ kal_bool *utran_fdd,
+ kal_bool *utran_tdd_lcr,
+ kal_bool *eutran_fdd,
+ kal_bool *eutran_tdd);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_plmn_for_attach
+* DESCRIPTION
+* Get the plmn_id received from EMMREG_EPS_ATTACH_NEEDED_IND
+*
+* PARAMETERS
+* plmn_id_for_attach [OUT] plmn_id from EMMREG_EPS_ATTACH_NEEDED_IND
+* simInterface [IN] Which SIM to be used
+*
+* RETURNS
+* none
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+void l4crac_get_plmn_for_attach(plmn_id_struct *plmn_id_for_attach, sim_interface_enum simInterface);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_current_duplex_mode
+* DESCRIPTION
+* Get the current Duple mode
+*
+* PARAMETERS
+*
+* RETURNS
+* rat_duplex_type_enum
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+extern rat_duplex_type_enum l4crac_get_current_duplex_mode(void);
+/*****************************************************************************
+* FUNCTION
+* l4crac_check_no_or_limited_service
+* DESCRIPTION
+* Checks if the UE is in Limited or in No service
+*
+* PARAMETERS
+* none
+* RETURNS
+* TRUE/FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+extern kal_bool l4crac_check_no_or_limited_service(void);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_ims_support
+* DESCRIPTION
+* This function retruns current ims_support or not
+*
+* PARAMETERS
+*
+* RETURNS
+* TRUE or FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_get_ims_support(void);
+
+
+extern kal_bool l4crac_is_sim_invalid(void);
+extern void l4crac_set_is_sim_invalid(kal_bool setting);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_ims_support_by_ps_id
+* l4crac_get_rat_mode_by_ps_id
+* DESCRIPTION
+* This function retruns current ims_support or not/rat_mode by ps id
+* ALPS03528285/MOLY00285562
+*
+* PARAMETERS
+*
+* RETURNS
+* TRUE or FALSE
+* GLOBALS AFFECTED
+* none
+*****************************************************************************/
+kal_bool l4crac_get_ims_support_by_ps_id (protocol_id_enum ps_id);
+
+rat_enum l4crac_get_rat_mode_by_ps_id (protocol_id_enum ps_id);
+
+/*****************************************************************************
+* FUNCTION
+* l4crac_get_fplmns
+* DESCRIPTION
+* Get list of FPLMNs and response to AT command AT+EFPLMN? request
+* MOLY00293006
+*
+* PARAMETERS
+* num_of_fplmn - to get number of FPLMNs
+* read_fplmn_ptr - to get FPLMNs in plmn_id_struct
+*
+* RETURNS
+* void
+*****************************************************************************/
+extern void l4crac_get_fplmns(kal_uint8 *num_of_fplmn, plmn_id_struct *read_fplmn_ptr);
+
+void l4crac_send_search_ind(nwsel_status_enum nwsel_status);
+
+#ifndef __MTK_TARGET__
+extern void l4crac_ut_set_rat_mode(rat_enum rat_mode);
+#endif /* __MTK_TARGET__ */
+
+kal_bool rac_ug_check_is_abnormal_lu(mm_cause_enum cause);
+
+
+rat_enum l4crac_get_prefer_rat_by_ps_id (protocol_id_enum ps_id);
+
+extern void l4crac_reset_is_set_rat_triggered_by_ps_id(protocol_id_enum ps_id);
+extern void l4crac_set_deep_sleep_mode(protocol_id_enum ps_id, kal_bool is_deep_sleep_mode);
+
+
+extern kal_bool rac_is_vg_option_setting_valid(vg_option_enum target_vg_option_bitmap);
+
+extern kal_bool l4crac_save_vg_option(vg_option_enum vg_option_bitmap);
+
+#endif /* _L4CRAC_FUNC_H */
+
diff --git a/mcu/protocol/layer4/l4/include/layer4_init.h b/mcu/protocol/layer4/l4/include/layer4_init.h
new file mode 100644
index 0000000..71e2d89
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/layer4_init.h
@@ -0,0 +1,75 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * layer4_init.h
+ *
+ * Project:
+ * --------
+ * MT6208
+ *
+ * Description:
+ * ------------
+ * This file is intends for ¡K.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _LAYER4_INIT_H
+#define _LAYER4_INIT_H
+
+
+extern kal_bool layer4_init (void);
+
+extern kal_bool layer4_init_context (void);
+
+#endif /* layer4_init.h */
+
diff --git a/mcu/protocol/layer4/l4/include/mbmsal_defs.h b/mcu/protocol/layer4/l4/include/mbmsal_defs.h
new file mode 100644
index 0000000..68eca4f
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/mbmsal_defs.h
@@ -0,0 +1,459 @@
+/*****************************************************************************
+* 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) 2014
+*
+* 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:
+ * ---------
+ * mbmsal_defs.h
+ *
+ * Project:
+ * --------
+ * UMOLY
+ *
+ * Description:
+ * ------------
+ * The common header files in MBMSAL sub-module.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ ****************************************************************************/
+
+/****************************************************************************/
+/*! @file mbmsal_defs.h
+ @author Stan Chen
+ @date 11 JUL 2014
+
+ @brief The common header file in MBMSAL sub-module.
+
+ The header file is used by all components in MBMSAL, even in l4c_mbms and
+ rmmi_mbms. Common macros, constant definitions and structure prototypes
+ are placed here.
+*/
+/****************************************************************************/
+
+#ifndef _MBMSAL_DEFS_H
+#define _MBMSAL_DEFS_H
+/****************************************************************************/
+
+#include "kal_public_api.h"
+
+#include "mcd_l3_inc_struct.h"
+#include "mbmsal_errc_struct.h"
+#include "l4c_common_enum.h"
+#include "ps_public_utility.h"
+#include "l3_inc_enums.h"
+
+/****************************************************************************
+ * Definitions
+ ****************************************************************************/
+
+#define MBMSAL_ASSERT ASSERT
+#define MBMSAL_DBG_ASSERT DEBUG_ASSERT
+
+#define MBMSAL_FORCE_OUTPUT KAL_TRUE
+
+#define MBMSAL_ERRC_NOCHANGE 0xFF
+
+#define MBMSAL_ERRC_INVALID8 0xFF
+#define MBMSAL_ERRC_INVALID16 0xFFFF
+
+#define MBMSAL_RMMI_MAX_UART_LEN (1024)
+
+#define MBMSAL_DEACT_CAUSE_NORMAL (0)
+#define MBMSAL_DEACT_CAUSE_ACTFAIL (1)
+#define MBMSAL_DEACT_CAUSE_SESSIONLOST (2)
+#define MBMSAL_DEACT_CAUSE_NONMBMSAREA (3)
+#define MBMSAL_DEACT_CAUSE_LEAVELTE (4)
+
+/* Subcause for activation failed */
+#define MBMSAL_ACT_FAIL_CAUSE_RESERVED (0)
+#define MBMSAL_ACT_FAIL_CAUSE_UNKNOWN (1)
+#define MBMSAL_ACT_FAIL_CAUSE_ALREADY_DONE (2)
+#define MBMSAL_ACT_FAIL_CAUSE_SERVICE_DISABLED (3)
+#define MBMSAL_ACT_FAIL_CAUSE_MISSING_CONTROL_INFO (4)
+#define MBMSAL_ACT_FAIL_CAUSE_MISSING_TMGI (5)
+#define MBMSAL_ACT_FAIL_CAUSE_MISSING_OOC (6)
+#define MBMSAL_ACT_FAIL_CAUSE_MISSING_OOS (7)
+#define MBMSAL_ACT_FAIL_CAUSE_FREQUENCY_CONFLICT (8)
+#define MBMSAL_ACT_FAIL_CAUSE_MAXIMUM_SESSIONS (9)
+
+#ifdef MBMS_CONFIG_INFO_SERVICE_NUM
+#if MBMS_CONFIG_INFO_SERVICE_NUM > 32
+#error MBMSAL cannot handle MBMS_CONFIG_INFO_SERVICE_NUM larger than 32.
+#endif
+#endif
+
+#define MBMSAL_MAX_LTEBAND (64)
+
+#define MBMSAL_TST_AUTO_RESUME_MAX_SESSION (16)
+
+#define MBMSAL_EMSLU_MAX_SESSION_NUM (MBMS_CONFIG_INFO_SERVICE_NUM * 3)
+
+#define MBMSAL_SIM_DEFAULT (0xFF)
+
+#ifdef __GEMINI_LTE__
+#define MBMSAL_MAX_SIM_NUM (2)
+#else
+#define MBMSAL_MAX_SIM_NUM (1)
+#endif
+
+#define MBMSAL_PS_DEFAULT (0xFF)
+
+/****************************************************************************
+ * Macro
+ ****************************************************************************/
+
+#define MBMSAL_BCD_DECODE(_n) (((_n) & 0x0F) * 10 + ((_n) >> 4))
+
+/****************************************************************************
+ * Type definitions
+ ****************************************************************************/
+
+typedef enum
+{
+ MBMSAL_PCELL,
+ MBMSAL_SCELL,
+} mbmsal_cell_type;
+
+typedef enum
+{
+ MBMSAL_ACTION_SEND_EMSAIL_URC,
+ MBMSAL_ACTION_SEND_EMFRQ_URC,
+ MBMSAL_ACTION_SEND_EMSRV_URC,
+ MBMSAL_ACTION_SEND_EMSLU_URC,
+ MBMSAL_ACTION_SEND_EMSESS_URC,
+} mbmsal_action_type;
+
+typedef enum
+{
+ MBMSAL_COVERAGE_NO_SERVICE,
+ MBMSAL_COVERAGE_IN_LTE,
+ MBMSAL_COVERAGE_IN_MBMS,
+ MBMSAL_COVERAGE_IN_E911,
+ MBMSAL_COVERAGE_IN_SRLTE,
+ MBMSAL_COVERAGE_IN_FLIGHT_MODE,
+ MBMSAL_COVERAGE_IN_GEMINI_SUSPEND,
+ MBMSAL_COVERAGE_IN_GEMINI_VIRTUAL_SUSPEND
+} mbmsal_coverage_enum;
+
+typedef enum
+{
+ MBMSAL_EVENT_SCENARIO_NONE,
+ MBMSAL_EVENT_SCENARIO_E911,
+ MBMSAL_EVENT_SCENARIO_SRLTE,
+} mbmsal_event_scenario_enum;
+
+typedef enum
+{
+ MBMSAL_EVENT_STATUS_END,
+ MBMSAL_EVENT_STATUS_BEGIN,
+} mbmsal_event_status_enum;
+
+typedef enum
+{
+ MBMSAL_EMTSI_TYPE_NONE,
+ MBMSAL_EMTSI_TYPE_SIB16,
+ MBMSAL_EMTSI_TYPE_NITZ,
+} mbmsal_emtsi_type_enum;
+
+typedef enum
+{
+ MBMSAL_EMSESSCFG_INDEX_NONE = 0,
+ MBMSAL_EMSESSCFG_INDEX_TMGI_SEARCH_TIME = 1,
+ MBMSAL_EMSESSCFG_INDEX_INVALID,
+} mbmsal_emsesscfg_index_enum;
+
+typedef struct _mbmsal_tst_info
+{
+ struct {
+ kal_bool isEnabled;
+ kal_uint8 last_index;
+ kal_uint8 num;
+ struct mbmsal_tst_resume_servsess_info {
+ tmgi_struct tmgi;
+ kal_uint16 sess_id; /* 0xffff = invalid */
+ kal_bool additional_info_valid;
+ struct {
+ kal_uint8 num_of_earfcn;
+ kal_uint32 earfcn[MBMS_SERVSESS_INFO_EARFCN_NUM];
+ kal_uint8 num_of_sai;
+ kal_uint16 sai[MBMS_SERVSESS_INFO_SAI_NUM];
+ } additional_info;
+ } servsess_info[MBMSAL_TST_AUTO_RESUME_MAX_SESSION];
+ } auto_resume;
+} mbmsal_tst_info;
+
+typedef struct _mbmsal_gtest_fp
+{
+ kal_bool (*msg_send5)(module_type _src_mod_id, module_type _dest_mod_id,
+ sap_type _sap_id, msg_type _msg_id,
+ local_para_struct *_local_para_ptr);
+
+ void (*rmmi_write_to_uart)(kal_uint8 *buffer, kal_uint16 length,
+ kal_bool stuff);
+ void (*rmmi_final_rsp_generator)(kal_bool ret_val, kal_uint8 *buffer,
+ kal_uint16 string_length);
+
+ kal_bool (*sbp_query_md_feature)(sbp_md_feature_enum feature);
+ kal_uint32 (*kal_get_systicks)(void);
+ rat_enum (*get_rat_mode)(void);
+ rat_enum (*get_request_rat_mode)(void);
+
+ void (*query_LteBand)(kal_uint32 lte_band[]);
+
+} mbmsal_gtest_fp;
+
+/****************************************************************************/
+
+typedef struct _mbms_config_req_info
+{
+ kal_bool isValid;
+ mbmsal_errc_mbms_config_req_struct info;
+} mbms_config_req_info;
+
+typedef struct _mbms_sib13_servsess_info
+{
+ tmgi_struct tmgi;
+ kal_uint16 sess_id; /* 0xffff = invalid */
+ kal_bool status;
+} mbms_sib13_servsess_info;
+
+typedef struct _mbms_sib13_mbsfn_mch_info {
+ kal_bool isValid;
+ kal_uint8 mbsfn_area_id;
+ kal_uint16 servsess_count;
+ mbms_sib13_servsess_info servsess_info[MBMS_CONFIG_INFO_MCH_NUM * MBMS_CONFIG_INFO_SERVICE_NUM];
+} mbms_sib13_mbsfn_mch_info;
+
+typedef struct _mbms_service_info
+{
+ kal_uint8 validity;
+
+ kal_bool isEmsrvOn;
+ kal_bool isEmfrqOn;
+ kal_bool isEmsluOn;
+
+ mbmsal_errc_mbms_status_enum coverage_status;
+ kal_bool serving_earfcn_valid[ERRC_MBMS_MAX_CELL_NUM];
+ kal_uint32 serving_earfcn[ERRC_MBMS_MAX_CELL_NUM];
+
+ kal_uint8 num_of_mbsfn_area_id[ERRC_MBMS_MAX_CELL_NUM];
+ kal_uint8 mbsfn_area_id[ERRC_MBMS_MAX_CELL_NUM][MBMS_SERVICE_STATUS_MBSFN_AREA_NUM];
+
+ mbms_sib13_mbsfn_mch_info mbsfn_mch_info[ERRC_MBMS_MAX_CELL_NUM][MBMS_SERVICE_STATUS_MBSFN_AREA_NUM];
+} mbms_sib13_info;
+
+typedef struct _mbms_sib15_info
+{
+ kal_bool isValid;
+ kal_bool isEmsailOn;
+ mbmsal_errc_mbms_sib15_ind_struct info;
+
+ /* Support to Band 256 */
+ kal_uint32 lte_band[8];
+} mbms_sib15_info;
+
+typedef struct _mbms_sib16_info
+{
+ kal_bool isValid;
+ mbmsal_errc_mbms_sib16_ind_struct info;
+} mbms_sib16_info;
+
+typedef struct _mbms_nw_time_info
+{
+ kal_bool time_zone_valid;
+ nw_time_zone_time_struct time_zone;
+
+ kal_bool daylight_saving_time_valid;
+ kal_uint8 daylight_saving_time;
+} mbms_nw_time_info;
+
+typedef struct _mbms_servsess_info
+{
+ kal_bool isValid;
+
+ kal_bool act_servsess_valid;
+ struct {
+ kal_bool valid;
+ tmgi_struct tmgi;
+ kal_uint16 sess_id; /* 0xffff = invalid */
+ } act_servsess[MBMS_SERVSESS_STATUS_SERVICE_NUM];
+
+ kal_uint8 report_servsess_total;
+ kal_uint8 report_servsess_index;
+
+ kal_bool report_servsess_activated;
+ kal_uint8 report_servsess_cause;
+ kal_uint8 report_servsess_subcause;
+ struct {
+ tmgi_struct tmgi;
+ kal_uint16 sess_id; /* 0xffff = invalid */
+ } report_servsess;
+
+} mbms_servsess_info;
+
+typedef struct _mbms_signal_info
+{
+ kal_bool isValid;
+ mbmsal_errc_mbms_info_ind_struct info;
+} mbms_signal_info;
+
+typedef struct _mbms_binding_info
+{
+ kal_uint8 embind_src_id; /*!< store l4c src id under embind
+ procedure */
+ kal_bool isEnabled;
+ l4c_tcm_l2p_enum l2p_type;
+ kal_uint32 channel_id;
+ kal_uint32 netif_id;
+ kal_uint8 bind_ps;
+} mbms_binding_info;
+
+typedef struct _mbmsal_config_para
+{
+ kal_uint32 out_mbms_hysteresis_period;
+ kal_uint32 out_sess_hysteresis_period;
+ kal_uint32 in_mbms_hysteresis_period;
+
+} mbmsal_config_para;
+
+typedef struct _mbmsal_event_para
+{
+ mbmsal_event_scenario_enum scenario;
+ mbmsal_event_status_enum status;
+} mbmsal_event_para;
+
+typedef struct _mbmsal_emslu_data
+{
+ kal_uint32 total_servsess;
+ kal_uint8 *p_data;
+} mbmsal_emslu_data;
+
+typedef struct _mbmsal_emsesscfg_para
+{
+ kal_uint32 index;
+ kal_uint32 para_1;
+} mbmsal_emsesscfg_para;
+
+typedef struct _mbmsal_context
+{
+ kal_uint8 sim_current;
+ kal_uint8 sim_ongoing;
+
+ // MBMSAL configurations
+ kal_uint16 id; /*!< context ID */
+
+ kal_bool gtest_isOn; /*!< gtest flag */
+ mbmsal_gtest_fp *gtest_fp; /*!< gtest function pointers */
+
+ // MBMSAL instances
+ mbms_binding_info info_binding; /*!< cache hif binding info from
+ TE */
+
+ mbms_config_req_info info_config_req;/*!< cache config request from
+ TE */
+ mbms_servsess_info info_servsess; /*!< cache session status from
+ eRRC */
+ mbms_sib13_info info_sib13; /*!< cache sib13 info from eRRC */
+ mbms_sib15_info info_sib15; /*!< cache sib15 info from eRRC */
+ mbms_sib16_info info_sib16; /*!< cache sib16 info from eRRC */
+ mbms_nw_time_info info_nw_time; /*!< cache NW time info from L4C */
+
+ // VZW: Configuration Parameters
+ mbmsal_config_para para_config;
+
+ // AT+EMEVT related
+ mbmsal_event_para para_event;
+
+ // MBMSAL tst related
+ mbmsal_tst_info info_tst;
+
+ mbmsal_coverage_enum last_mbms_status;
+ kal_uint32 last_frq[ERRC_MBMS_MAX_CELL_NUM + 1];
+ mbmsal_emslu_data last_emslu_data;
+
+ // SIM cfun states updated by L4
+ kal_uint8 mbmsal_cfun_state[MBMSAL_MAX_SIM_NUM];
+
+ // For NITZ elapse time calculation
+ kal_uint32 mbmsal_systicks;
+
+ // For TC10 Signal strength report
+ mbms_signal_info info_signal;
+
+} mbmsal_context;
+
+typedef struct _mbmsal_internal_ind
+{
+ LOCAL_PARA_HDR
+
+ mbmsal_action_type action;
+ mbms_servsess_info info;
+ kal_bool force_report;
+} mbmsal_internal_ind_struct;
+
+/****************************************************************************
+ * Macros
+ ****************************************************************************/
+
+/*#define mbmsal_trace(...) kal_brief_trace(__VA_ARGS__)*/
+
+#ifndef __GTEST_ENABLE__
+#define mbmsal_mem_alloc(size) get_ctrl_buffer(size)
+#define mbmsal_mem_free(ptr) free_ctrl_buffer(ptr)
+#else
+#define mbmsal_mem_alloc(size) mbmsal_tst_mem_alloc(size)
+#define mbmsal_mem_free(ptr) mbmsal_tst_mem_free(ptr)
+
+extern void* mbmsal_tst_mem_alloc(kal_uint32 size);
+extern void mbmsal_tst_mem_free(void *buf);
+#endif
+
+/****************************************************************************
+ * Unit Test
+ ****************************************************************************/
+
+#ifdef __GTEST_ENABLE__
+#define STATIC
+#else
+#define STATIC static
+#endif
+
+/****************************************************************************/
+#endif /* _MBMSAL_DEFS_H */
+
diff --git a/mcu/protocol/layer4/l4/include/psdm2l4c_func.h b/mcu/protocol/layer4/l4/include/psdm2l4c_func.h
new file mode 100644
index 0000000..e324823
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/psdm2l4c_func.h
@@ -0,0 +1,107 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * PSDM2L4C_FUNC.H
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file provide utility functions of PSDM to L4C.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _PSDM2L4C_FUNC_H
+#define _PSDM2L4C_FUNC_H
+
+#include "kal_public_defs.h"
+#include "psdm2l4c_enum.h"
+#include "psdm2l4c_struct.h"
+
+extern void psdm_get_mmdc_config_param(
+ psdm_switch_pref_struct * switch_pref,
+ psdm_threshold_config_struct * threshd_conf,
+ psdm_timer_config_struct * timer_conf,
+ kal_bool * is_bgs_enable);
+
+
+#endif /* _PSDM2L4C_FUNC_H */
+
+
diff --git a/mcu/protocol/layer4/l4/include/rmmi_common_enum.h b/mcu/protocol/layer4/l4/include/rmmi_common_enum.h
new file mode 100644
index 0000000..b37c326
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/rmmi_common_enum.h
@@ -0,0 +1,1123 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * rmmi_common_enum.h
+ *
+ * Project:
+ * --------
+ * MT6208
+ *
+ * Description:
+ * ------------
+ * This file is intends for ...
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _RMMI_COMMON_ENUM_H
+#define _RMMI_COMMON_ENUM_H
+#ifdef __CMUX_SUPPORT__
+#include "cmux_vp_num.h"
+#endif
+
+#include "csmss_common_enums.h"
+#include "smu_common_enums.h"
+#include "ps_public_enum.h"
+#include "layer4_context.h"
+#include "atp_public_defs.h"
+#include "l4c_common_enum.h"
+#if defined(__SMART_PHONE_MODEM__) || defined(__AGPS_SUPPORT__)
+#include "agps_md_interface.h"
+#endif
+
+//For feature phone project which need long AT command support
+#if defined (__LONG_AT_CMD_SUPPORT__)||defined (__SMART_PHONE_MODEM__)//(__AGPS_SUPPORT__)
+#define MAX_DATA_QUEUE_LENGTH 2048
+#elif defined (__ULC_AT__)
+#define MAX_DATA_QUEUE_LENGTH 192
+#elif defined (__SLIM_AT__)
+#define MAX_DATA_QUEUE_LENGTH 350
+#elif defined (__GATI_ENABLE__)||defined (__GAS_SUPPORT__)
+#define MAX_DATA_QUEUE_LENGTH 1500
+#else
+#define MAX_DATA_QUEUE_LENGTH 2048
+#endif
+
+#if defined(__DISABLE_SIM2_AT_SUPPORT__)
+#define RMMI_MAX_SIM_NUM (1)
+#else
+#define RMMI_MAX_SIM_NUM (L4_MAX_SIM_NUM)
+#endif
+
+//mtk00924: output queue
+//#define MAX_DATA_OUTPUT_QUEUE_LENGTH 2048
+
+#define MAX_UART_LENGTH 128
+
+#ifdef __TC01__
+#define RMMI_MAX_EXT_CMD_NAME_LEN 12
+#else
+#define RMMI_MAX_EXT_CMD_NAME_LEN 10
+#endif
+
+#define RMMI_MAX_ERR_STR_LEN 80
+//#define RMMI_MAX_ERROR_NUM 256
+#define RMMI_MAX_ERROR_NUM 160
+
+#define RMMI_MAX_ARG_NUM 16
+
+#define RMMI_VALIDATOR_ERROR 255
+#define RMMI_DEF_VALUE 0
+
+#define RMMI_SHORT_RSP_LEN 80
+
+#define RMMI_MAX_MELODY_LEN 64
+
+#define RMMI_EXTEND_SYMBOL_HASH_BASE 79235168 // 38^5
+
+#define RMMI_MAX_MSG_BASED_AT_CHANNEL 20
+
+#define CMCC_AT_CMD_MAIN_VER 2
+#define CMCC_AT_CMD_MAJOR_VER 0
+#define CMCC_AT_CMD_MINOR_VER 0
+
+
+#ifdef __SMS_ADDR_INTERNATIONAL_FORMAT__
+#define SMS_ADDR_INTERNATIONAL_TYPE 0x91
+#endif
+
+#ifndef __MTK_TARGET__
+#define EXCGLA_APDU_SPLIT_MAX_LEN (200) /* bytes UT case*/
+#else
+#define EXCGLA_APDU_SPLIT_MAX_LEN (400) /* bytes */
+#endif
+
+#define RMMI_MAX_TIME_STR_LEN 25
+
+/*
+* this enum is used to caculate the value of RMMI_MAX_CHANNEL_NUMBER
+* Please don't remove any constant if you just think that it is not used in the code.
+*/
+enum
+{
+ RMMI_FIRST_CHANNEL,
+
+ RMMI_CMUX_CHANNELS_START = RMMI_FIRST_CHANNEL,
+ RMMI_CMUX_CHANNELS_END = RMMI_CMUX_CHANNELS_START + L4B_MAX_CHANNEL_NUMBER-1,
+
+ #if defined(__SMART_PHONE_MODEM__) && !defined(__LBS_LIO_SUPPORT__)//(__AGPS_SUPPORT__)
+ RMMI_GPS_CCCI_CHANNEL, //not exactly map to uart_port_gps_ccci, just make sure the amount of channel is sufficient
+ #endif
+
+ #ifdef __HIF_CCISM_SCP_SUPPORT__
+ RMMI_SCP_CCCI_CHANNEL,
+ #endif
+ RMMI_MAX_CHANNEL_NUMBER
+};
+
+
+
+enum
+{
+ RMMI_CHANNEL_ID_AGPS = 0,
+ RMMI_CHANNEL_ID_SCP,
+ RMMI_CHANNEL_ID_DUMP,
+ RMMI_CHANEEL_ID_MAX
+};
+
+//#if (RMMI_MAX_CHANNEL_NUMBER > 9) //from RMMI_SRC to RMMI_9 and exclude RMMI_SAT
+//#error rmmi source number is less than UART port number!!
+//#endif /* __USB_MULTIPLE_COMPORT_SUPPORT__, mtk02285_usb2 */
+
+enum
+{
+#if defined(__LONG_MULTIPLE_CMD_SUPPORT__)
+ MAX_MULTIPLE_CMD_INFO_LEN = 350,
+#elif defined(__SLIM_AT__)
+ /* mtk01616_100112: Only support multiple basic cmd(ex:ATL will use),no multiple extended cmd. 20 shall be enough */
+ MAX_MULTIPLE_CMD_INFO_LEN = 20,
+#else
+ MAX_MULTIPLE_CMD_INFO_LEN = 40,
+#endif
+ MAX_PRE_ALLOCATED_BASIC_CMD_STRUCT_NODES = 3
+};
+
+typedef enum
+{
+ RMMI_NONE_PRESENT = 0,
+ RMMI_EXTENDED_COMMAND_PRESENT,
+ RMMI_BASIC_COMMAND_PRESENT,
+ RMMI_WRONG_PREV_COMMAND,
+ RMMI_EXECUTION_COMMAND_PRESENT
+} rmmi_cmd_present_enum;
+
+typedef enum
+{
+ RMMI_ECHO_OFF,
+ RMMI_ECHO_ON
+} rmmi_cmd_echo_enum;
+
+typedef enum
+{
+ RMMI_INVALID_CMD_TYPE = 0,
+ RMMI_PREV_CMD,
+ RMMI_BASIC_CMD,
+ RMMI_EXTENDED_CMD,
+ RMMI_EXTENDED_CUSTOM_CMD, // __RMMI_EXTEND_CUSTOM_CMD__
+ RMMI_CUSTOMER_CMD
+} rmmi_cmd_type_enum;
+
+typedef enum
+{
+ RMMI_EXTEND_HASH_PLUS = RMMI_EXTEND_SYMBOL_HASH_BASE*0, // + : 0*38^5
+ RMMI_EXTEND_HASH_HAT = RMMI_EXTEND_SYMBOL_HASH_BASE*1, // ^ : 1*38^5
+ RMMI_EXTEND_HASH_PERCENT = RMMI_EXTEND_SYMBOL_HASH_BASE*2, // % : 2*38^5
+ RMMI_EXTEND_HASH_MONEY = RMMI_EXTEND_SYMBOL_HASH_BASE*3, // $ : 3*38^5
+ RMMI_EXTEND_HASH_STAR = RMMI_EXTEND_SYMBOL_HASH_BASE*4 // * : 4*38^5
+} rmmi_extend_symbol_hash_enum;
+
+typedef enum
+{
+ RMMI_WRONG_MODE,
+ RMMI_SET_OR_EXECUTE_MODE,
+ RMMI_READ_MODE,
+ RMMI_TEST_MODE,
+ RMMI_ACTIVE_MODE
+} rmmi_cmd_mode_enum;
+
+typedef enum
+{
+ /* --- standard result codes, defined in V.25 Table1 --- */
+ RMMI_RCODE_OK, //0
+ RMMI_RCODE_CONNECT, //1
+ RMMI_RCODE_RING, //2
+ RMMI_RCODE_NO_CARRIER, //3
+ RMMI_RCODE_ERROR, //4
+ //there is no 5 in V.25 spec.
+ //RMMI_RCODE_NO_DIALTONE = 6, //6
+ RMMI_RCODE_BUSY = 7, //7
+ //RMMI_RCODE_NO_ANSWER = 8, //8
+
+ /* --- MTK Proprietary result codes --- */
+ RMMI_RCODE_CONNECT_PS = 100, //MAUI_02956467, mtk02285, for PS call
+} rmmi_rsp_type_enum;
+
+typedef enum
+{
+ RMMI_SPACE = ' ',
+ RMMI_EQUAL = '=',
+ RMMI_COMMA = ',',
+ RMMI_SEMICOLON = ';',
+ RMMI_COLON = ':',
+ RMMI_AT = '@',
+ RMMI_HAT = '^',
+ RMMI_DOUBLE_QUOTE = '"',
+ RMMI_QUESTION_MARK = '?',
+ RMMI_EXCLAMATION_MARK = '!',
+ RMMI_FORWARD_SLASH = '/',
+ RMMI_L_ANGLE_BRACKET = '<',
+ RMMI_R_ANGLE_BRACKET = '>',
+ RMMI_L_SQ_BRACKET = '[',
+ RMMI_R_SQ_BRACKET = ']',
+ RMMI_L_CURLY_BRACKET = '{',
+ RMMI_R_CURLY_BRACKET = '}',
+ RMMI_CHAR_STAR = '*',
+ RMMI_CHAR_POUND = '#',
+ RMMI_CHAR_AMPSAND = '&',
+ RMMI_CHAR_PERCENT = '%',
+ RMMI_CHAR_PLUS = '+',
+ RMMI_CHAR_MINUS = '-',
+ RMMI_CHAR_DOT = '.',
+ RMMI_CHAR_ULINE = '_',
+ RMMI_CHAR_TILDE = '~',
+ RMMI_CHAR_REVERSE_SOLIDUS = '\\',
+ RMMI_CHAR_VERTICAL_LINE = '|',
+ RMMI_END_OF_STRING_CHAR = '\0',
+ RMMI_CHAR_0 = '0',
+ RMMI_CHAR_1 = '1',
+ RMMI_CHAR_2 = '2',
+ RMMI_CHAR_3 = '3',
+ RMMI_CHAR_4 = '4',
+ RMMI_CHAR_5 = '5',
+ RMMI_CHAR_6 = '6',
+ RMMI_CHAR_7 = '7',
+ RMMI_CHAR_8 = '8',
+ RMMI_CHAR_9 = '9',
+ RMMI_CHAR_A = 'A',
+ RMMI_CHAR_B = 'B',
+ RMMI_CHAR_C = 'C',
+ RMMI_CHAR_D = 'D',
+ RMMI_CHAR_E = 'E',
+ RMMI_CHAR_F = 'F',
+ RMMI_CHAR_G = 'G',
+ RMMI_CHAR_H = 'H',
+ RMMI_CHAR_I = 'I',
+ RMMI_CHAR_J = 'J',
+ RMMI_CHAR_K = 'K',
+ RMMI_CHAR_L = 'L',
+ RMMI_CHAR_M = 'M',
+ RMMI_CHAR_N = 'N',
+ RMMI_CHAR_O = 'O',
+ RMMI_CHAR_P = 'P',
+ RMMI_CHAR_Q = 'Q',
+ RMMI_CHAR_R = 'R',
+ RMMI_CHAR_S = 'S',
+ RMMI_CHAR_T = 'T',
+ RMMI_CHAR_U = 'U',
+ RMMI_CHAR_V = 'V',
+ RMMI_CHAR_W = 'W',
+ RMMI_CHAR_X = 'X',
+ RMMI_CHAR_Y = 'Y',
+ RMMI_CHAR_Z = 'Z',
+ rmmi_char_a = 'a',
+ rmmi_char_b = 'b',
+ rmmi_char_c = 'c',
+ rmmi_char_d = 'd',
+ rmmi_char_e = 'e',
+ rmmi_char_f = 'f',
+ rmmi_char_g = 'g',
+ rmmi_char_h = 'h',
+ rmmi_char_i = 'i',
+ rmmi_char_j = 'j',
+ rmmi_char_k = 'k',
+ rmmi_char_l = 'l',
+ rmmi_char_m = 'm',
+ rmmi_char_n = 'n',
+ rmmi_char_o = 'o',
+ rmmi_char_p = 'p',
+ rmmi_char_q = 'q',
+ rmmi_char_r = 'r',
+ rmmi_char_s = 's',
+ rmmi_char_t = 't',
+ rmmi_char_u = 'u',
+ rmmi_char_v = 'v',
+ rmmi_char_w = 'w',
+ rmmi_char_x = 'x',
+ rmmi_char_y = 'y',
+ rmmi_char_z = 'z',
+ RMMI_R_BRACKET = ')',
+ RMMI_L_BRACKET = '(',
+ RMMI_MONEY = '$',
+ RMMI_EURO = 0x80 /*to avoid build error due to wcxsubmit issue*/
+} rmmi_char_enum;
+
+typedef enum
+{
+ /* 07.07 Sec 9.2.1 */
+ RMMI_ERR_PHONE_FAILURE,
+ OPERATION_NOT_ALLOWED_ERR = 3,
+ RMMI_ERR_OPERATION_NOT_SUPPORTED = 4,
+ PH_SIM_PIN_REQUIRED = 5,
+ PH_FSIM_PIN_REQUIRED = 6, //Kinki: SIM-ME lock [MAUI_01264994]
+ PH_FSIM_PUK_REQUIRED = 7, //Kinki: SIM-ME lock [MAUI_01264994]
+ SIM_NOT_INSERTED = 10,
+ SIM_PIN_REQUIRED = 11,
+ SIM_PUK_REQUIRED = 12,
+ SIM_FAILURE = 13,
+ SIM_BUSY = 14,
+ SIM_WRONG = 15,
+ INCORRECT_PASSWD = 16,
+ SIM_PIN2_REQUIRED = 17,
+ SIM_PUK2_REQUIRED = 18,
+ RMMI_ERR_MEM_FULL = 20,
+ RMMI_ERR_INVALID_INDEX = 21,
+ RMMI_ERR_NO_FOUND = 22,
+ TEXT_ERRSTRING_TOO_LONG_ERR = 24,
+ INVALID_CHARACTERS_IN_TEXT_ERRSTRING_ERR = 25,
+ DIAL_ERRSTRING_TOO_LONG_ERR = 26,
+ INVALID_CHARACTERS_IN_DIAL_ERRSTRING_ERR = 27,
+ NO_NW_SERVICE = 30,
+ RMMI_ERR_NETWORK_TIMEOUT = 31,
+ RMMI_ERR_NETWORK_NOT_ALLOWED = 32,
+ RMMI_ERR_NW_PERSON_PIN_REQUIRED = 40,
+ RMMI_ERR_NW_PERSON_PUK_REQUIRED = 41,
+ RMMI_ERR_NW_SUB_PERSON_PIN_REQUIRED = 42,
+ RMMI_ERR_NW_SUB_PERSON_PUK_REQUIRED = 43,
+ RMMI_ERR_SP_PERSON_PIN_REQUIRED = 44,
+ RMMI_ERR_SP_PERSON_PUK_REQUIRED = 45,
+ RMMI_ERR_CORP_PERSON_PIN_REQUIRED = 46,
+ RMMI_ERR_CORP_PERSON_PUK_REQUIRED = 47,
+ RMMI_ERR_HIDDEN_KEY_REQUIRED = 48,
+ RMMI_ERR_EAP_NOT_SUPPORT = 49,
+ RMMI_ERR_INCORRECT_PARAM = 50,
+ RMMI_ERR_CMD_IMPLEMENT_BUT_CUR_DISABLED = 51,
+ RMMI_ERR_CMD_ABORT_BY_USER = 52,
+ RMMI_ERR_NOT_ATTACHED_TO_NETWORK = 53,
+ RMMI_ERR_MODEM_NOT_ALLOW = 54,
+ RMMI_ERR_OPERATION_NOT_ALLOW = 55,
+ RMMI_ERR_FIXED_DIAL_NUMBER_ONLY_ALLOW = 56,
+ RMMI_ERR_TEMP_OUT_OF_SERVICE = 57,
+ RMMI_ERR_LANG_NOT_SUPPORT = 58,
+ RMMI_ERR_UNEXPECTED_VALUE = 59,
+ RMMI_ERR_SYSTEM_FAILURE = 60,
+ RMMI_ERR_DATA_MISSING = 61,
+ RMMI_ERR_CALL_BARRED = 62,
+ RMMI_ERR_UNKNOWN = 100,
+
+
+ RMMI_ERR_ILLEGAL_MS = 103,
+ RMMI_ERR_ILLEGAL_ME = 106,
+ RMMI_ERR_GPRS_NOT_ALLOWED = 107,
+ RMMI_ERR_GPRS_NON_GPRS_NOT_ALLOWED = 108,
+ RMMI_ERR_PLMN_NOT_ALLOWED = 111,
+ RMMI_ERR_LA_NOT_ALLOWED = 112,
+ RMMI_ERR_ROAMING_AREA_NOT_ALLOWED = 113,
+ RMMI_ERR_GPRS_NOT_ALLOWED_IN_THIS_PLMN = 114,
+ RMMI_ERR_NO_SUITABLE_CELL = 115,
+ RMMI_ERR_CONGESTION = 122,
+ RMMI_ERR_NOT_AUTH_FOR_CSG = 125,
+
+ RMMI_ERR_INSUFF_RESOURCE = 126,
+ RMMI_ERR_MISSING_APN = 127,
+ RMMI_ERR_UNKNOWN_PDP_ADDR = 128,
+ RMMI_ERR_USER_AUTH_FAIL = 129,
+ RMMI_ERR_ACTIVATION_REJ_BY_GGSN = 130,
+ RMMI_ERR_ACTIVATION_REJ_UNSPECIFIED = 131,
+ RMMI_ERR_SERV_OPTION_NOT_SUPPORTED = 132,
+ RMMI_ERR_REQ_SERV_OPTION_NOT_SUBSCRIBED = 133,
+ RMMI_ERR_SERV_OPTION_TEMP_OUT_OF_ORDER = 134,
+ RMMI_ERR_PTI_ALREADY_IN_USE = 135,
+
+ RMMI_ERR_FEATURE_NOT_SUPPORTED = 140,
+ RMMI_ERR_SEMANTIC_ERR_IN_TFT = 141,
+ RMMI_ERR_SYNTACTICAL_ERR_IN_TFT = 142,
+ RMMI_ERR_UNKNOWN_PDP_CONTEXT = 143,
+ RMMI_ERR_SEMANTIC_ERR_IN_PF = 144,
+ RMMI_ERR_SYNTACTICAL_ERR_IN_PF = 145,
+ RMMI_ERR_PDP_CONTEXT_WO_TFT_ALREADY_ACTIVATED = 146,
+
+ RMMI_ERR_GPRS_UNSPECIFIED_ERROR = 148,
+ RMMI_ERR_PDP_AUTH_FAIL = 149,
+ RMMI_ERR_INVALID_MOBILE_CLASS = 150,
+ RMMI_ERR_LAST_PDN_DISC_NOT_ALLOWED = 171,
+
+ RMMI_ERR_SEMANTICALLY_INCORRECT_MSG = 172,
+ RMMI_ERR_MANDATORY_IE_ERR = 173,
+ RMMI_ERR_IE_NOT_EXIST = 174,
+ RMMI_ERR_COND_IR_ERR = 175,
+ RMMI_ERR_PROTOCOL_ERR_UNSPECIFIED = 176,
+
+ RMMI_ERR_OPERATOR_BARRING = 177,
+ RMMI_ERR_MAXIMUM_PDP_CONTEXT = 178,
+ RMMI_ERR_REQUESTED_APN_NOT_SUPPORTED = 179,
+ RMMI_ERR_REQUEST_REJ_BCM_MODE_VIOLATION = 180,
+ RMMI_ERR_REQUEST_REJ_UNSUPPORTED_QCI_VALUE = 181,
+
+ RMMI_ERROR_DIAL_MODIFIED_TO_DAIL = 246, /* This is specified for TC09 */
+
+ RMMI_ERR_LINK_NS_SP_PERSON_PIN_REQUIRED = 257, //Kinki: SIM-ME lock [MAUI_01264994]
+ RMMI_ERR_LINK_NS_SP_PERSON_PUK_REQUIRED = 258, //Kinki: SIM-ME lock [MAUI_01264994]
+ RMMI_ERR_LINK_SIM_C_PERSON_PIN_REQUIRED = 259, //Kinki: SIM-ME lock [MAUI_01264994]
+ RMMI_ERR_LINK_SIM_C_PERSON_PUK_REQUIRED = 260, //Kinki: SIM-ME lock [MAUI_01264994]
+
+ /* The following error causes should be added into rmmi_result_code_fmttr() to be displayed in +CME ERROR */
+ RMMI_ERR_VERIFICATION_FAILED = 270, /* for TMO */
+ RMMI_ERR_REBOOT_REQUIRED = 271, /* for TMO */
+ RMMI_ERR_SMLRSU_DATA_LENGTH_MISMATCH = 272,
+ RMMI_ERR_SMLRSU_DATA_INVALID = 273,
+
+ /* for Subsidy lock requirement */
+ RMMI_ERR_SL_REBOOT_REQUIRED = 280,
+ RMMI_ERR_SL_BLOB_VALIDATION_FAILED = 281,
+ RMMI_ERR_SL_BLOB_CONFIG_DATA_INVALID = 282,
+ RMMI_ERR_SL_BLOB_IMEI_MISMATCH = 283,
+ RMMI_ERR_SL_BLOB_LENGTH_MISMATCH = 284,
+ RMMI_ERR_SL_BLOB_UNKNOWN_ERROR = 285,
+
+ /* following are proprietary error cause : the cause below WON'T be showed as +CME ERROR. */
+ RMMI_ERR_COMMAND_CONFLICT = 302, //same as operation not allowed in 07.05 Sec 3.2.5
+ // will be convert to +CME ERROR: 3 or +CMS ERROR: 302
+//#ifdef __TC10__
+ RMMI_ERR_CM_FACILITY_REJECT = 401,
+ RMMI_ERR_SIM_NO_RESPONSE = 402,
+//#endif
+ RMMI_NO_ERR = 600,
+
+ /* following: error is related to syntax, invalid parameters.. */
+ /* according to spec 07.07 Sec 9.1, only "ERROR" will be returned to TE side */
+ RMMI_ERR_UNRECOGNIZED_CMD = 601,
+ RMMI_ERR_RETURN_ERROR = 602,
+ RMMI_ERR_SYNTEX_ERROR = 603,
+ RMMI_ERR_UNSPECIFIED = 604, //unspecified parsing error
+ RMMI_ERR_DATA_TRANSFER_ALREADY = 605,
+ RMMI_ERR_ACTION_ALREADY = 606,
+ RMMI_ERR_NOT_AT_CMD = 607,
+ RMMI_ERR_MULTI_CMD_TOO_LONG = 608,
+ RMMI_ERR_ABORT_COPS = 609,
+ RMMI_ERR_NO_CALL_DISC = 610,
+ RMMI_ERR_BT_SAP_UNDEFINED = 611,
+ RMMI_ERR_BT_SAP_NOT_ACCESSIBLE = 612,
+ RMMI_ERR_BT_SAP_CARD_REMOVED = 613,
+ RMMI_ERR_AT_NOT_ALLOWED_BY_CUSTOMER = 614,
+ RMMI_ERR_MM_LU_REJ_17_IN_MANUAL_MODE = 615,
+ RMMI_ERR_CARD_TECHNICAL_PROBLEM = 616,
+ RMMI_ERR_BT_SAP_CARD_ALREADY_POWERED_OFF = 617,
+ RMMI_ERR_BT_SAP_CARD_ALREADY_POWERED_ON = 618,
+ RMMI_ERR_RMS_RFON_NOT_ALLOWED = 619,
+ RMMI_ERR_RMS_SIMON_NOT_ALLOWED = 620,
+#ifdef __GEMINI__
+ RMMI_ERR_RSIM_AUTH_PROC_ONGOING = 621
+#endif
+} rmmi_err_id_enum;
+
+typedef enum
+{
+ FAC_NOT_SUPPORTED,
+ SS_FAC_BEGIN = L4_BAOC,
+ SS_FAC_END = L4_BIC,
+#ifdef __MOD_SMU__
+ SIM_FAC_BEGIN = TYPE_CHV1, /* need to add sim sec type */
+ SIM_FAC_END = TYPE_IMSI_LOCK
+#endif /* __MOD_SMU__ */
+} rmmi_clck_fac_enum;
+
+typedef enum
+{
+ RMMI_PLAY = 1,
+ RMMI_STOP,
+ RMMI_PAUSE,
+ RMMI_RESUME
+} rmmi_audio_mode_enum;
+
+typedef enum
+{
+ CCBS_Interrotage = 14,
+ CCBS_EarseCCEntry = 77
+} rmmi_ccbs_opcode_enum;
+
+typedef enum
+{
+ RMMI_FS_OPEN,
+ RMMI_FS_CLOSE,
+ RMMI_FS_READ,
+ RMMI_FS_WRITE,
+ RMMI_FS_DELETE,
+ RMMI_FS_DIR,
+ RMMI_FS_CREATEDIR,
+ RMMI_FS_DELETEDIR,
+ RMMI_FS_RENAME
+} rmmi_fs_opcode_enum;
+
+typedef enum
+{
+ CSSI_CFU_ACTIVE,
+ CSSI_CFC_ACTIVE,
+ CSSI_CALL_FORWARDED,
+ CSSI_CALL_WAITING,
+ CSSI_CUG_CALL,
+ CSSI_OUTGOING_BARRED,
+ CSSI_INCOMING_BARRED,
+ CSSI_CLIR_REJECTED,
+ CSSI_CALL_DEFLECTED
+} rmmi_cssi_enum; //refer to 07.07 +CSSN
+
+typedef enum
+{
+ CSSU_FORWARDED_CALL,
+ CSSU_CUG_CALL,
+ CSSU_CALL_HOLD,
+ CSSU_CALL_RETRIEVED,
+ CSSU_MPTY_CALL,
+ CSSU_HOLDCALL_RELEASED,
+ CSSU_FORWARD_CHECK_SS,
+ CSSU_ECT_ALERTING,
+ CSSU_ECT_ACTIVE,
+ CSSU_DEFLECTED_CALL,
+ CSSU_INCOMING_FORWARDED
+} rmmi_cssu_enum; //refer to 07.07 +CSSN
+
+/* mtk00714 add on 2004/03/02 */
+/* first 10 items (except GPRS_REQ)
+ should be consistant with "l4ccsm_cc_call_mode_enum" */
+typedef enum
+{
+ RMMI_CRING_VOICE,
+ RMMI_CRING_DATA,
+ RMMI_CRING_FAX,
+ RMMI_CRING_VOICE_DATA,
+ RMMI_CRING_ALT_VOICE_DATA,
+ RMMI_CRING_ALT_VOICE_FAX,
+ RMMI_CRING_DATA_VOICE,
+ RMMI_CRING_ALT_DATA_VOICE,
+ RMMI_CRING_ALT_FAX_VOICE,
+ RMMI_CRING_UNKNOWN_TYPE,
+ RMMI_CRING_GPRS,
+ RMMI_CRING_VOICE_AUX,
+ RMMI_CRING_VIDEO
+} rmmi_cring_type_enum;
+
+typedef enum
+{
+ RMMI_DCS_DEFAULT = 0x00, /* GSM 7-bit */
+ RMMI_DCS_8BIT = 0x04, /* 8-bit */
+ RMMI_DCS_UCS2 = 0x08 /* UCS2 */
+}
+rmmi_dcs_enum;
+
+typedef enum
+{
+ RMMI_PARSE_OK,
+ RMMI_PARSE_ERROR, //out of range
+ RMMI_PARSE_NOT_FOUND,
+ RMMI_PARSE_TEXT_TOO_LONG
+} rmmi_validator_cause_enum;
+
+typedef enum
+{
+ RMMI_PHB_NONE,
+ RMMI_PHB_SM,
+ RMMI_PHB_ME,
+ RMMI_PHB_FD,
+ RMMI_PHB_LD,
+ RMMI_PHB_MC,
+ RMMI_PHB_RC,
+ RMMI_PHB_MT,
+ RMMI_PHB_EN,
+ RMMI_PHB_ON,
+ RMMI_PHB_DC,
+ /* mtk02514 ** MAUI_01321633 ** 2009/02/16 **********
+ * for the storage containing LD(DC), MC, RC //mtk02514_la
+ * We only support AT+CPBS, AT+CPBR for the RMMI_PHB_LA
+ ************************************************/
+ RMMI_PHB_LA,
+ RMMI_PHB_SDN, // MTK proprietory storage type
+} rmmi_phb_type_enum;
+
+typedef enum
+{
+ RMMI_EIND_SMS_READY_BIT,
+ RMMI_EIND_PHB_READY_BIT = 1,
+ RMMI_EIND_PLMN_CHANGED_BIT = 2,
+ RMMI_EIND_EONS_CHANGED_BIT = 3,
+ RMMI_EIND_INVALID_SIM_BIT = 4,
+ RMMI_EIND_PHB_NOT_READY_BIT = 5,
+ RMMI_EIND_TCM_READY_BIT = 6,
+ RMMI_EIND_AT_READY_BIT = 7
+} rmmi_eind_bit_enum;
+
+typedef enum
+{
+ RMMI_ESMLA_BIT, /* bit 1 is for +ESMLA */
+ RMMI_ECFU_BIT, /* bit 2 is for +ECFU */
+ RMMI_ECELLINFO_BIT, /* bit 3 is for +ECELLINFO */
+ RMMI_ENWINFO_BIT, /* bit 4 is for +ENWINFO */
+ RMMI_ESPEECH_BIT, /* bit 5 is for +ESPEECH */
+ RMMI_STKPCI_BIT, /* bit 6 is for +STKPCI */
+ RMMI_ECIPH_BIT, /* bit 7 is for +ECIPH */
+ RMMI_EMMRRS_BIT, /* bit 8 is for +EMMRRS, for GEMINI project, report MMRR service status */
+ RMMI_EPKTFI_BIT, /* bit 9 is for +EPKTFI, this is for RATDM to notify AP there is packet flush due to RB release, AP will do retransmission */
+ RMMI_EWARNING_BIT, /* bit 10 is for +EWARNIN */
+ RMMI_STKCTRL_BIT /* bit 11 is for +STKCTRL */
+
+} rmmi_einfo_bit_enum;
+
+typedef enum
+{
+ RMMI_IMEI_NO_ACTION = 0,
+ RMMI_IMEI_READ,
+ RMMI_IMEI_WRITE,
+ RMMI_IMEI_2_WRITE,
+ RMMI_IMEI_3_WRITE,
+ RMMI_IMEI_4_WRITE
+} rmmi_imei_action_enum;
+
+/* battchg 1 */
+/* signal 2 */
+/* service 3 */
+/* message 4 */
+/* call 5 */
+/* roam 6 */
+/* smsfull 7 */
+/* call_setup 8 */
+
+/*
+ * typedef enum
+ * {
+ * RMMI_CCSR_IDLE,
+ * RMMI_CCSR_CALLING,
+ * RMMI_CCSR_CONNECTING,
+ * RMMI_CCSR_ACTIVE,
+ * RMMI_CCSR_HOLD,
+ * RMMI_CCSR_WAITING,
+ * RMMI_CCSR_ALERTING,
+ * RMMI_CCSR_BUSY
+ *
+ * } rmmi_ccsr_rsp_code_enum;
+ *
+ */
+
+typedef enum
+{
+ RMMI_EADP_NO_ACTION = 0,
+ RMMI_EADP_GET,
+ RMMI_EADP_SET
+} rmmi_eadp_action_enum;
+
+typedef enum
+{
+ RMMI_EAPS_NO_ACION = 0,
+ RMMI_EAPS_GET,
+ RMMI_EAPS_SET,
+ RMMI_EAPS_WB_INPUT_FIR_GET,
+ RMMI_EAPS_WB_INPUT_FIR_SET,
+ RMMI_EAPS_WB_OUTPUT_FIR_GET,
+ RMMI_EAPS_WB_OUTPUT_FIR_SET,
+ RMMI_EAPS_WB_MODE_PARAM_GET,
+ RMMI_EAPS_WB_MODE_PARAM_SET
+} rmmi_eaps_action_enum;
+
+/* For VoIP, call management is controlled by MMI */
+typedef enum
+{
+ RMMI_CM_ATD = 0,
+ RMMI_CM_ATH,
+ RMMI_CM_ATA,
+ RMMI_CM_CHLD,
+ RMMI_CM_BLDN
+} rmmi_cm_action_enum;
+
+/* for +EMMISTR proprietary command */
+typedef enum
+{
+ RMMI_EMMISTR_DISABLE = 0,
+ RMMI_EMMISTR_ENABLE,
+ RMMI_EMMISTR_DATA_FROM_MMI
+} rmmi_emmistr_action_enum;
+
+#if defined(__GEMINI__)
+typedef enum
+{
+ RMMI_EDSIM_READ_FOR_WRITING_0 = 0, // corresponds to +edsim=0
+ RMMI_EDSIM_READ_FOR_WRITING_1, // corresponds to +edsim=1
+ RMMI_EDSIM_READ_FOR_WRITING_2, // corresponds to +edsim=2
+ RMMI_EDSIM_READ_FOR_WRITING_3, // corresponds to +edsim=3
+ RMMI_EDSIM_NORMAL=0xAA,
+ RMMI_EDSIM_WRITING=0xEE,
+ RMMI_EDSIM_READING=0xFF
+} rmmi_edsim_set_mode_state_enum;
+#endif /* defined(__GEMINI__)*/
+
+typedef enum
+{
+ RMMI_SML_BLOB_OP_SL_UPDATE_BLOB = 1,
+ RMMI_SML_BLOB_OP_SL_GET_STATUS = 2,
+ RMMI_SML_BLOB_OP_UPDATE_DEV_LOCK_STATE = 3,
+ RMMI_SML_BLOB_OP_UPDATE_GBLOB = 4,
+ RMMI_SML_BLOB_OP_QUERY_DEV_LOCK = 5,
+
+ RMMI_SML_BLOB_OP_MAX
+} rmmi_sml_blob_op_enum;
+
+typedef enum
+{
+ RMMI_SML_BLOBF_OP_UPDATE_RULE = 1,
+ RMMI_SML_BLOBF_OP_UPDATE_DEV_LOCK_KEY = 2,
+ RMMI_SML_BLOBF_OP_TEST_DEV_LOCK_KEY = 3,
+ RMMI_SML_BLOBF_OP_UPDATE_GBLOB = 4,
+ RMMI_SML_BLOBF_OP_UPDATE_IMEI = 5,
+#ifdef __CUST_SML_RULE__
+ RMMI_SML_BLOBF_OP_UPDATE_CUST_RULE = 6,
+#endif
+
+ RMMI_SML_BLOBF_OP_MAX
+} rmmi_sml_blobf_op_enum;
+
+typedef enum
+{
+ RMMI_SML_NP_CATEGORY,
+ RMMI_SML_NSP_CATEGORY,
+ RMMI_SML_SP_CATEGORY,
+ RMMI_SML_CP_CATEGORY,
+ RMMI_SML_SIM_CATEGORY,
+ RMMI_SML_NS_SP_CATEGORY,
+ RMMI_SML_SIM_CP_CATEGORY,
+
+ RMMI_SML_CATEGORY_SIZE
+} rmmi_sml_catagory_enum;
+
+#ifdef __CARRIER_RESTRICTION__
+typedef enum
+{
+ RMMI_CRRST_N_CATEGORY,
+ RMMI_CRRST_SPN_CATEGORY,
+ RMMI_CRRST_IMSI_PREFIX_CATEGORY,
+ RMMI_CRRST_GID1_CATEGORY,
+ RMMI_CRRST_GID2_CATEGORY
+} rmmi_crrst_catagory_enum;
+#endif
+
+/* mtk01616_090116: for atd> memory dial to distinguish call_type */
+typedef enum
+{
+ RMMI_MEM_DIAL_NONE = 0,
+ RMMI_MEM_DIAL_VOICE = 1,
+ RMMI_MEM_DIAL_DATA = 2
+} rmmi_mem_dial_enum;
+
+//mtk01616_091024: ATCI internal used enum,intended for rmmi_fax_support_check()
+typedef enum
+{
+ RMMI_SERV_CLASS_0 = 0x01,
+ RMMI_SERV_CLASS_1 = 0x02,
+ RMMI_SERV_CLASS_1_0 = 0x04,
+ RMMI_SERV_CLASS_2 = 0x08,
+ RMMI_SERV_CLASS_2_0 = 0x10
+} rmmi_fax_check_type_enum;
+
+typedef enum
+{
+ RMMI_USM_ATCMD_CGSMS,
+ RMMI_USM_ATCMD_CSCA,
+ RMMI_USM_ATCMD_CSMP,
+ RMMI_USM_ATCMD_CSCB,
+ RMMI_USM_ATCMD_CMGL,
+ RMMI_USM_ATCMD_CMGR,
+ RMMI_USM_ATCMD_CMSS,
+ RMMI_USM_ATCMD_CMGW,
+ RMMI_USM_ATCMD_CMGD,
+ RMMI_USM_ATCMD_CNMI,
+ RMMI_USM_ATCMD_NULL
+} rmmi_usm_atcmd_enum;
+typedef enum
+{
+ RMMI_USM_DOMAIN_PS_ONLY,
+ RMMI_USM_DOMAIN_CS_ONLY,
+ RMMI_USM_DOMAIN_PS_PREFERRED,
+ RMMI_USM_DOMAIN_CS_PREFERRED,
+ RMMI_USM_DOMAIN_NULL
+} rmmi_usm_domain_enum;
+typedef enum
+{
+ RMMI_USM_SM = 0,
+ RMMI_USM_ME = 1,
+ RMMI_USM_SR = 2,
+ RMMI_USM_BM =3,
+ RMMI_USM_TA = 4,
+ RMMI_USM_SM_PREFER = 5,
+ RMMI_USM_ME_PREFER = 6,
+ RMMI_USM_MT = 7,
+ RMMI_USMSTORAGE_UNSPECIFIED = 7
+} rmmi_usm_memory_enum;
+typedef enum
+{
+ RMMI_USM_REC_UNREAD = 0,
+ RMMI_USM_REC_READ,
+ RMMI_USM_STO_UNSENT,
+ RMMI_USM_STO_SENT,
+ RMMI_USM_ALL,
+ RMMI_USM_STAT_NULL
+}rmmi_usm_message_stat_enum;
+typedef enum
+{
+ RMMI_FKPD_PRESS = 0,
+ RMMI_FKPD_RELEASE,
+ RMMI_FKPD_NULL
+}rmmi_fkpd_stat_enum;
+
+typedef enum
+{
+ RMMI_DIAG_FOR_TST = 0,
+ RMMI_DIAG_FOR_AT,
+ RMMI_DIAG_FOR_UNKNOWN = 0xff
+} rmmi_diag_func_enum; /* __USB_MULTIPLE_COMPORT_SUPPORT__, mtk02285_usb2 */
+
+
+typedef enum
+{
+ RMMI_FM_TURN_OFF,
+ RMMI_FM_SET,
+ RMMI_FM_SEARCH_UP,
+ RMMI_FM_SEARCH_DOWN
+}rmmi_fm_opcode_enum;
+
+typedef enum
+{
+ RMMI_CPBW_ENCODE_IRA,
+ RMMI_CPBW_ENCODE_UCS2,
+ RMMI_CPBW_ENCODE_UCS2_81,
+ RMMI_CPBW_ENCODE_UCS2_82,
+ RMMI_CPBW_ENCODE_UCS2_to_GSM,
+ RMMI_CPBW_ENCODE_KSC5601,
+ RMMI_CPBW_ENCODE_MAX
+}rmmi_cpbw_encode_enum;
+
+typedef enum
+{
+ RMMI_EPBUM_EF_ANR,
+ RMMI_EPBUM_EF_EMAIL,
+ RMMI_EPBUM_EF_SNE,
+ RMMI_EPBUM_EF_AAS,
+ RMMI_EPBUM_EF_GAS,
+ RMMI_EPBUM_EF_GRP,
+ RMMI_EPBUM_EF_MAX
+}rmmi_epbum_ef_type_enum;
+
+typedef enum
+{
+ RMMI_EPBUM_OP_QUERY,
+ RMMI_EPBUM_OP_READ,
+ RMMI_EPBUM_OP_WRITE,
+ RMMI_EPBUM_OP_DELETE,
+ RMMI_EPBUM_OP_MAX
+}rmmi_epbum_op_enum;
+
+/* for +CREG, +CGREG */
+typedef enum
+{
+ RMMI_REG_STATE_NOT_REGISTERED=0,
+ RMMI_REG_STATE_REGISTERED,
+ RMMI_REG_STATE_SEARCHING,
+ RMMI_REG_STATE_REG_DENIED,
+ RMMI_REG_STATE_UNKNOWN,
+ RMMI_REG_STATE_ROAMING,
+ RMMI_REG_STATE_SMS_ONLY_HOME,
+ RMMI_REG_STATE_SMS_ONLY_ROAMING,
+ RMMI_REG_STATE_EMERGENCY_ONLY,
+ RMMI_REG_STATE_CSFB_NOT_PREFERRED_HOME,
+ RMMI_REG_STATE_CSFB_NOT_PREFERRED_ROAMING
+} rmmi_reg_state_enum;
+
+typedef enum //for ^ORIG, ^CONF, ^CONN, ^CEND
+{
+ RMMI_MO_STATE_NONE,
+ RMMI_MO_STATE_ORIG,
+ RMMI_MO_STATE_CONF,
+ RMMI_MO_STATE_CONN,
+ RMMI_MO_STATE_CEND
+} rmmi_mo_state_enum;
+
+typedef enum
+{
+ RMMI_MO_CALL_TYPE_VOICE = 0,
+ RMMI_MO_CALL_TYPE_CS_DATA = 1,
+ RMMI_MO_CALL_TYPE_PS_DATA = 2,
+ RMMI_MO_CALL_TYPE_EMERGENCY = 9,
+ RMMI_MO_CALL_TYPE_UNKNOWN
+} rmmi_mo_call_type_enum;
+
+typedef enum
+{
+ CM_CALL_END_OFFLINE = 0, //respond NO CARRIER, no ^CEND
+ CM_CALL_END_NO_SRV = 27, //respond NO CARRIER, no ^CEND
+ CM_CALL_END_CLIENT_END = 29,
+ CM_CALL_END_CONF_FAILED = 101,
+ CM_CALL_END_NETWORK_END = 104
+} rmmi_cm_call_end_status_enum;
+
+typedef enum //refer to clcc_state_enum
+{
+ RMMI_DSCI_STATE_ACTIVE = 0,
+ RMMI_DSCI_STATE_HELD,
+ RMMI_DSCI_STATE_MO_DIALING,
+ RMMI_DSCI_STATE_MO_ALERT,
+ RMMI_DSCI_STATE_MT_INCOMING,
+ RMMI_DSCI_STATE_MT_WAITING,
+ RMMI_DSCI_STATE_CALL_END,
+ RMMI_DSCI_STATE_NONE
+} rmmi_dsci_call_state_enum;
+
+typedef enum
+{
+ RMMI_DSCI_TYPE_VOICE = 0,
+ RMMI_DSCI_TYPE_DATA
+} rmmi_dsci_call_type_enum;
+
+typedef enum
+{
+ RMMI_DSCI_ASYNC = 0,
+ RMMI_DSCI_SYNC,
+ RMMI_DSCI_REL_ASYNC,
+ RMMI_DSCI_REL_SYNC,
+ RMMI_DSCI_UNKNOWN_DATA_TYPE
+} rmmi_dsci_data_type_enum;
+
+typedef enum
+{
+ RMMI_ETWS_IS_NEEDED = 0x01,
+ RMMI_ETWS_IS_SECURITY_NEEDED = 0x02,
+ RMMI_ETWS_IS_TESTING_ON = 0x04,
+ RMMI_ETWS_SETTING_MAX = 0x07 /*Please update this value if adding setting flag*/
+}rmmi_etws_setting_enum;
+
+#if 0 //move to ATP
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+
+typedef enum
+{
+/* refer to DCL_UART_DEV defined in dcl_uart.h */
+ ETSTLP_UART_PORT1,
+ ETSTLP_UART_PORT2,
+ ETSTLP_USB1,
+ ETSTLP_USB2,
+ ETSTLP_DT_PORT
+} rmmi_etstlp_port_enum;
+
+typedef enum
+{
+ RMMI_IPV6_PARSE_TOKEN_OK,
+ RMMI_IPV6_PARSE_SUBNET_OK,
+ RMMI_IPV6_PARSE_ERROR,
+ RMMI_IPV6_PARSE_NOT_FOUND,
+ RMMI_IPV6_PARSE_NOT_FOUND_SUBNET_OK,
+ RMMI_IPV6_PARSE_END
+} rmmi_ipv6_addr_validator_cause_enum;
+
+/* refer to TS 27.007 10.1.30 +CSCON */
+typedef enum
+{
+ RMMI_CSCON_MODE_IDLE = 0,
+ RMMI_CSCON_MODE_CONNECTED,
+
+ RMMI_CSCON_MODE_UNKNOWN = 0xff
+} rmmi_cscon_mode_enum;
+
+typedef enum
+{
+ RMMI_CSCON_STATE_UTRAN_URA_PCH = 0,
+ RMMI_CSCON_STATE_UTRAN_CELL_PCH,
+ RMMI_CSCON_STATE_UTRAN_CELL_FACH,
+ RMMI_CSCON_STATE_UTRAN_CELL_DCH,
+ RMMI_CSCON_STATE_GERAN_CS_CONNECTED,
+ RMMI_CSCON_STATE_GERAN_PS_CONNECTED,
+ RMMI_CSCON_STATE_GERAN_CS_PS_CONNECTED,
+ RMMI_CSCON_STATE_EUTRAN_CONNECTED,
+ RMMI_CSCON_STATE_NR_RAN_CONNECTED,
+ RMMI_CSCON_STATE_NR_RAN_INACTIVE,
+
+ RMMI_CSCON_STATE_UNKNOWN = 0xff
+} rmmi_cscon_state_enum;
+
+typedef enum
+{
+ RMMI_CSCON_ACCESS_GERAN = 0,
+ RMMI_CSCON_ACCESS_UTRAN_TDD,
+ RMMI_CSCON_ACCESS_UTRAN_FDD,
+ RMMI_CSCON_ACCESS_EUTRAN_TDD,
+ RMMI_CSCON_ACCESS_EUTRAN_FDD,
+ RMMI_CSCON_ACCESS_NR,
+
+ RMMI_CSCON_ACCESS_UNKNOWN = 0xff
+} rmmi_cscon_access_enum;
+
+typedef enum
+{
+ RMMI_CSCON_CORE_NETWORK_EPC = 0,
+ RMMI_CSCON_CORE_NETWORK_5GCN,
+
+ RMMI_CSCON_CORE_NETWORK_UNKNOWN = 0xff
+} rmmi_cscon_core_network_enum;
+
+
+typedef enum
+{
+ RMMI_NW_ERR_TYPE_MM = 0x01,
+ RMMI_NW_ERR_TYPE_CM = 0x02,
+ RMMI_NW_ERR_TYPE_GMM_PS = 0x03,
+ RMMI_NW_ERR_TYPE_SM = 0x04,
+ RMMI_NW_ERR_TYPE_GMM_CS = 0x05,
+ RMMI_NW_ERR_TYPE_GMM_CS_PS = 0x06,
+ RMMI_NW_ERR_TYPE_EMM_PS = 0x07,
+ RMMI_NW_ERR_TYPE_EMM_CS = 0x08,
+ RMMI_NW_ERR_TYPE_EMM_CS_PS = 0x09,
+ RMMI_NW_ERR_TYPE_ESM = 0x0A,
+} rmmi_nw_error_type_enum;
+
+
+typedef enum
+{
+ RMMI_RMS_NONE = 0,
+ RMMI_RMS_ONLY_ALLOW_RFOFF,
+ RMMI_RMS_ONLY_ALLOW_SIMOFF,
+ RMMI_RMS_ENUM_MAX
+}rmmi_rms_enum;
+
+typedef enum
+{
+ RMMI_LCE_REPORT_STOP = 0,
+ RMMI_LCE_REPORT_PUSH,
+ RMMI_LCE_REPORT_PULL,
+}rmmi_lce_report_type_enum;
+
+typedef enum
+{
+ RMMI_ETWMODE_READ,
+ RMMI_ETWMODE_WRITE
+} rmmi_etwmode_op_enum;
+
+typedef enum
+{
+ RMMI_ETWMODE_LG_WG
+} rmmi_etwmode_mode_enum;
+
+typedef enum
+{
+ RMMI_NOT_USED,
+ RMMI_ACCEPT,
+ RMMI_REJECT,
+ RMMI_ACCEPT_FOR_PS_ONLY
+} rmmi_proc_result_type_enum;
+
+#if defined(__TC01__) && defined ( __AS_SPECIFIC_CHANNEL_SRCH__) //AT_CAMPREQ
+/* MUSE - ALPS01198329 */
+/* The device will make SIM2 flight mode in the MUSE factory test state. */
+typedef enum
+{
+ CUST_RFT_MODE_OFF,
+ CUST_RFT_MODE_ENTERING,
+ CUST_RFT_MODE_ON
+}l4c_cust_rft_mode_enum;
+#endif /*defined(__TC01__) && defined ( __AS_SPECIFIC_CHANNEL_SRCH__)*/
+
+#endif /* _RMMI_COMMON_ENUM_H */
diff --git a/mcu/protocol/layer4/l4/include/smsal_l4c_defs.h b/mcu/protocol/layer4/l4/include/smsal_l4c_defs.h
new file mode 100644
index 0000000..5ba58cc
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/smsal_l4c_defs.h
@@ -0,0 +1,72 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * smsal_l4c_defs.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file contains the defined constants which related to
+ * interface of SMSAL and L4C.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _SMSAL_L4C_DEFS_H
+#define _SMSAL_L4C_DEFS_H
+
+#include "ps_public_enum.h" //mtk02589 MPM
+
+#endif /* _SMSAL_L4C_DEFS_H */
+
+
diff --git a/mcu/protocol/layer4/l4/include/smsal_l4c_funcs.h b/mcu/protocol/layer4/l4/include/smsal_l4c_funcs.h
new file mode 100644
index 0000000..204b99b
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/smsal_l4c_funcs.h
@@ -0,0 +1,255 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * smsal_l4c_funcs.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is the header file of smsal_l4c_funcs.c
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef _SMSAL_L4C_FUNCS_H
+#define _SMSAL_L4C_FUNCS_H
+
+#include "l4c2smsal_struct.h"
+#include "kal_general_types.h"
+#include "kal_public_api.h"
+#include "ps_public_struct.h"
+#include "ps_public_utility.h"
+
+extern void smsal_get_common_para(kal_uint8 *fo,
+ kal_uint8 *bearer,
+ kal_uint8 *reply_path,
+ kal_uint8 *status_report);
+
+extern void smsal_get_mailbox_addr(kal_uint8 *mailbox_num,
+ kal_uint8 *alpha_length,
+ kal_uint8 *max_num_length,
+ smsal_mailbox_addr_struct *mailbox_addr);
+
+
+extern void smsal_get_mbi(kal_uint8 *mbi_rec_num,
+ smsal_mbi_struct *mbi);
+
+extern void smsal_get_selected_msp(kal_uint8 *selected_msp);
+extern kal_uint16 smsal_set_selected_msp(kal_uint8 selected_msp);
+
+
+extern void smsal_normal_service_ind(void);
+
+extern smsal_inbox_list_struct *smsal_get_inbox_list(kal_uint16 start_msg,
+ kal_uint8 num_msg);
+
+extern smsal_outbox_list_struct *smsal_get_outbox_list(kal_uint16 start_msg,
+ kal_uint8 num_msg);
+
+extern
+kal_bool smsal_get_msgbox_num(kal_bool *is_sms_ready,
+ kal_bool *is_sim_card_change,
+ kal_uint16 *inbox_sim_num,
+ kal_uint16 *inbox_me_num,
+ kal_uint16 *outbox_sim_num,
+ kal_uint16 *outbox_me_num,
+ kal_uint16 *unread_msg_num,
+ kal_uint16 *total_sim_num,
+ kal_uint16 *total_me_num);
+
+extern void smsal_get_profile_info(kal_uint8 *profile_num,
+ kal_uint8 *profile_name_len);
+
+extern kal_bool smsal_get_profile_name(kal_uint8 profile_no,
+ l4_name_struct *profile_name);
+
+/*
+extern kal_uint16 smsal_set_bearer_service(
+ kal_uint8 bearer);
+extern void smsal_get_bearer_service(kal_uint8 *bearer);
+*/
+
+/*****************************************************************************
+ *
+ * Following functions are for fulfilling AT-Commands
+ *
+ * smsal_xxxx_set : set parameters for command xxxx
+ * smsal_xxxx_query : get current parameters of command xxxx
+ * smsal_xxxx_test : TEST for command xxxx, return string of supporting
+ * values of servies/parameter
+ * smsal_xxxx_exe : EXECUTE for command xxxx
+ *
+ ****************************************************************************/
+
+extern void smsal_cgsms_query(kal_uint8 *service);
+
+extern void smsal_cgsms_test(kal_uint8 const **test_str);
+
+extern kal_uint16 smsal_cnma_exe(kal_uint8 id,
+ kal_uint8 mode,
+ peer_buff_struct *peer_buff_ptr);
+
+extern kal_uint16 smsal_csms_set(
+ kal_uint8 service);
+
+extern void smsal_csms_query(kal_uint8 *service,
+ smsal_service_mode_struct *service_info);
+
+extern void smsal_csms_test(kal_uint8 const **test_str);
+
+/*
+extern kal_uint16 smsal_cpms_set( kal_uint8 mem1,
+ kal_uint8 mem2,
+ kal_uint8 mem3
+ );
+*/
+extern void smsal_cpms_query(smsal_prefer_storage_struct *mem_info);
+extern void smsal_cpms_test(kal_uint8 const **test_str);
+
+
+extern kal_uint16 smsal_cmgf_set(kal_uint8 msg_format);
+
+extern void smsal_cmgf_query(kal_uint8 *msg_format);
+
+extern void smsal_cmgf_test(kal_uint8 const **test_str);
+
+extern kal_uint16 smsal_csca_set(l4_addr_bcd_struct sca);
+extern kal_bool smsal_is_csca_set(void);
+
+
+extern void smsal_csca_query(l4_addr_bcd_struct *sca,
+ kal_uint8 profile_no);
+
+extern kal_uint16 smsal_csmp_set(kal_uint8 profile_no,
+ kal_uint8 para_ind,
+ kal_uint8 fo,
+ kal_uint8 vp,
+ kal_uint8 pid,
+ kal_uint8 dcs
+ );
+
+extern void smsal_csmp_query(kal_uint8 profile_no,
+ kal_uint8 *fo,
+ kal_uint8 *vp,
+ kal_uint8 *pid,
+ kal_uint8 *dcs
+ );
+
+extern kal_uint16 smsal_csdh_set(kal_uint8 show);
+
+extern void smsal_csdh_query(kal_uint8 *show);
+
+extern void smsal_csdh_test(kal_uint8 const **test_str);
+
+extern kal_uint16 smsal_cres_set(kal_uint8 profile_id);
+extern void smsal_cres_test(kal_uint8 const **test_str);
+
+extern void smsal_csas_test(kal_uint8 const **test_str);
+
+extern kal_uint16 smsal_esmss_set(kal_uint8 esmss_val);
+extern void smsal_esmss_test(kal_uint8 const **test_str);
+extern void smsal_esmss_query(kal_uint8 *esmss_val);
+
+extern kal_bool smsal_eqsi_query(kal_uint8 mem,
+ kal_uint16 *beg_index,
+ kal_uint16 *end_index,
+ kal_uint16 *used);
+
+extern void smsal_emems_query(kal_uint8 storage_type, kal_uint8 *is_full);
+extern void smsal_emems_set(kal_uint8 storage_type, kal_uint8 is_full);
+#if defined(__IMS_SUPPORT__) || defined(__SMS_IMS_SUPPORT__)
+extern void smsal_esmma_set(kal_uint8 smma);
+#endif
+
+extern kal_uint16 smsal_cnmi_set(
+ smsal_mt_msg_route_struct mt_route);
+
+extern void smsal_cnmi_query(smsal_mt_msg_route_struct *mt_route);
+
+extern void smsal_cnmi_test(kal_uint8 const **test_str);
+
+extern void smsal_eqsi_test(kal_uint8 const **test_str);
+
+extern void smsal_cmgl_test(kal_uint8 const **test_str);
+extern void smsal_cmgd_test(kal_uint8 const **test_str);
+extern kal_uint16 smsal_cmms_set(kal_uint8 mms);
+
+extern void smsal_cmms_query(kal_uint8 *mms);
+
+extern void smsal_cmms_test(kal_uint8 const **test_str);
+extern void smsal_cnma_test(kal_uint8 const **test_str);
+#if 0
+/* under construction !*/
+#endif
+
+#ifdef __CB__
+extern
+void smsal_cb_get_status(kal_uint8 *on_off,
+ kal_uint8 *mi_num,
+ kal_uint8 *mir_num,
+ kal_uint8 *dcs_num,
+ l4c_cb_info_struct *cb_info);
+
+extern kal_uint16 smsal_cb_conver_ISO639_to_CBDCS(kal_uint16 ISO639);
+
+#endif/*__CB__*/
+
+extern kal_bool smsal_reg_port_num(kal_uint8 enable, kal_uint16 *cause,
+ kal_uint32 port_num, kal_uint16 mod_id ) ;
+
+extern smsal_dest_no_enum smsal_get_current_profile_id(void);
+
+
+#endif /* _SMSAL_L4C_FUNCS_H */
+
+
diff --git a/mcu/protocol/layer4/l4/include/smu_deinit.h b/mcu/protocol/layer4/l4/include/smu_deinit.h
new file mode 100644
index 0000000..174523b
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/smu_deinit.h
@@ -0,0 +1,74 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * smu_deinit.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ *
+ *
+ * Author:
+ * -------
+ *
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+
+#ifndef _SMU_DEINIT_H_
+#define _SMU_DEINIT_H_
+
+extern kal_bool smu_deinit( void );
+
+#endif /* End of file uem_deinit.h */
+
+
diff --git a/mcu/protocol/layer4/l4/include/smu_init.h b/mcu/protocol/layer4/l4/include/smu_init.h
new file mode 100644
index 0000000..ada493a
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/smu_init.h
@@ -0,0 +1,76 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * smu_init.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for ¡K.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _SMU_INIT_H
+#define _SMU_INIT_H
+
+extern kal_bool smu_init
+(
+ void
+);
+
+#endif /* uem_init.h */
+
+
diff --git a/mcu/protocol/layer4/l4/include/smu_reset.h b/mcu/protocol/layer4/l4/include/smu_reset.h
new file mode 100644
index 0000000..f37d904
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/smu_reset.h
@@ -0,0 +1,68 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * smu_reset.h
+ *
+ * Project:
+ * --------
+ * MT6208
+ *
+ * Description:
+ * ------------
+ * This file defines the data structure, enum and constant for SMU.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+#ifndef SMU_RESET_H
+#define SMU_RESET_H
+extern kal_bool smu_reset(void);
+#endif
+
diff --git a/mcu/protocol/layer4/l4/include/tcm2app_func.h b/mcu/protocol/layer4/l4/include/tcm2app_func.h
new file mode 100644
index 0000000..e525477
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/tcm2app_func.h
@@ -0,0 +1,105 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * TCM2APP_FUNC.H
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file provides function to application
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *============================================================================
+ ****************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+#ifndef _TCM2APP_FUNC_H
+#define _TCM2APP_FUNC_H
+
+#ifndef _MMI_SM_ENUMS_H
+ #error include mmi_sm_enums.h before tcm2app_func.h
+#endif
+
+#ifndef _L4C2ABM_STRUCT_H
+ #error include l4c2abm_struct.h before tcm2app_func.h
+#endif
+
+#if 0
+#ifdef __APP_SECONDARY_PDP_SUPPORT__ //mtk00714 streaming
+/* under construction !*/
+#endif
+#endif // ~ #if 0
+
+#endif /* ~_TCM2APP_FUNC_H */
+
diff --git a/mcu/protocol/layer4/l4/include/tcm_context_enum.h b/mcu/protocol/layer4/l4/include/tcm_context_enum.h
new file mode 100644
index 0000000..957e20e
--- /dev/null
+++ b/mcu/protocol/layer4/l4/include/tcm_context_enum.h
@@ -0,0 +1,141 @@
+/*****************************************************************************
+* 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:
+ * ---------
+ * tcm_context_enum.h
+ *
+ * Project:
+ * --------
+ * MAUI
+ *
+ * Description:
+ * ------------
+ * This file is intends for ...
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *==============================================================================
+ * HISTORY
+ * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *------------------------------------------------------------------------------
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ * removed!
+ * removed!
+ * removed!
+ *
+ *------------------------------------------------------------------------------
+ * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
+ *==============================================================================
+ *******************************************************************************/
+
+/********************************************************************************
+* Copyright Statement:
+* --------------------
+*
+* This product has been developed using a protocol stack
+* developed by Sasken Communication Technologies Limited.
+*
+********************************************************************************/
+
+
+
+#ifndef _TCM_CONTEXT_ENUM_H
+#define _TCM_CONTEXT_ENUM_H
+
+#define TCM_TOT_CONTEXT 15 // -> TCM_MAX_PIC_NUM
+
+#define __TCM_CID_0_SUPPORT__
+
+#ifdef __TCM_CID_0_SUPPORT__
+#define TCM_MIN_CONTEXT_ID 0 // -> TCM_MIN_PIC_INDEX
+#else /* __TCM_CID_0_SUPPORT__ */
+#define TCM_MIN_CONTEXT_ID 1
+#endif /* __TCM_CID_0_SUPPORT__ */
+
+#define TCM_MAX_CONTEXT_ID (TCM_MIN_CONTEXT_ID+TCM_TOT_CONTEXT-1) // 14 -> TCM_MAX_PIC_INDEX
+
+#define TCM_APN_TABLE_SIZE 20
+
+#define TCM_MIN_PROCESSING_TIME_LIMIT 5 /* Minimum processing time limit for PDP/PDN command is 5 secs */
+#define TCM_MAX_PROCESSING_TIME_LIMIT 0xffffffff /* Maximum processing time limit for PDP/PDN command is 0xffffffff secs */
+#define TCM_PROCESSING_TIME_LIMIT_SOFT_DEADLINE 720 /* Soft deadline of processing time limit for PDP/PDN command is 12 mins */
+#define TCM_MAX_TIMESTAMP 0xffffffff /* Maximum timestamp is 0xffffffff */
+
+typedef enum {
+ TCM_BEARER_RAT_23G,
+ TCM_BEARER_RAT_4G,
+ TCM_BEARER_RAT_5G,
+ TCM_BEARER_RAT_MAX_NUM,
+} tcm_bearer_rat_enum;
+
+#endif /* tcm_context_enum.h */