[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/layer4/sim/include/auth/aes.h b/mcu/protocol/layer4/sim/include/auth/aes.h
new file mode 100644
index 0000000..e964771
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/auth/aes.h
@@ -0,0 +1,42 @@
+/*
+ * AES functions
+ * Copyright (c) 2003-2006, Jouni Malinen <j@w1.fi>
+ * Copyright (C) 2015 MediaTek Inc.
+ *
+ *
+ * This program is free software; this software is distributed under 
+ * the terms of 3-clause BSD license.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice, 
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation 
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of its 
+ * contributors may be used to endorse or promote products derived from 
+ * this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+#define AES_BLOCK_SIZE 16
+#define AES_PRIV_SIZE (4 * 44)
+
+void* aes_encrypt_init(const kal_uint8 *key, kal_int32 len);
+void  aes_encrypt(void *ctx, const kal_uint8 *plain, kal_uint8 *crypt);
+void  aes_encrypt_deinit(void *ctx);
+void* aes_decrypt_init(const kal_uint8 *key, kal_int32 len);
+void  aes_decrypt(void *ctx, const kal_uint8 *crypt, kal_uint8 *plain);
+void  aes_decrypt_deinit(void *ctx);
diff --git a/mcu/protocol/layer4/sim/include/auth/aes_wrap.h b/mcu/protocol/layer4/sim/include/auth/aes_wrap.h
new file mode 100644
index 0000000..009b0f3
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/auth/aes_wrap.h
@@ -0,0 +1,65 @@
+/*
+ * AES-based functions
+ *
+ * - AES Key Wrap Algorithm (128-bit KEK) (RFC3394)
+ * - One-Key CBC MAC (OMAC1) hash with AES-128
+ * - AES-128 CTR mode encryption
+ * - AES-128 EAX mode encryption/decryption
+ * - AES-128 CBC
+ *
+ * Copyright (c) 2003-2007, Jouni Malinen <j@w1.fi>
+ * Copyright (C) 2015 MediaTek Inc.
+ *
+ *
+ * This program is free software; this software is distributed under 
+ * the terms of 3-clause BSD license.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice, 
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation 
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of its 
+ * contributors may be used to endorse or promote products derived from 
+ * this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+
+
+kal_int32  aes_wrap(const kal_uint8 *kek, int n, const kal_uint8 *plain, kal_uint8 *cipher);
+kal_int32  aes_unwrap(const kal_uint8 *kek, int n, const kal_uint8 *cipher, kal_uint8 *plain);
+kal_int32  omac1_aes_128_vector(const kal_uint8 *key, size_t num_elem,
+				      const kal_uint8 *addr[], const size_t *len,
+				      kal_uint8 *mac);
+kal_int32  omac1_aes_128(const kal_uint8 *key, const kal_uint8 *data, size_t data_len,
+			       kal_uint8 *mac);
+kal_int32  aes_128_encrypt_block(const kal_uint8 *key, const kal_uint8 *in, kal_uint8 *out);
+kal_int32  aes_128_ctr_encrypt(const kal_uint8 *key, const kal_uint8 *nonce,
+				     kal_uint8 *data, size_t data_len);
+kal_int32  aes_128_eax_encrypt(const kal_uint8 *key,
+				     const kal_uint8 *nonce, size_t nonce_len,
+				     const kal_uint8 *hdr, size_t hdr_len,
+				     kal_uint8 *data, size_t data_len, kal_uint8 *tag);
+kal_int32  aes_128_eax_decrypt(const kal_uint8 *key,
+				     const kal_uint8 *nonce, size_t nonce_len,
+				     const kal_uint8 *hdr, size_t hdr_len,
+				     kal_uint8 *data, size_t data_len, const kal_uint8 *tag);
+kal_int32  aes_128_cbc_encrypt(const kal_uint8 *key, const kal_uint8 *iv, kal_uint8 *data,
+				     size_t data_len);
+kal_int32  aes_128_cbc_decrypt(const kal_uint8 *key, const kal_uint8 *iv, kal_uint8 *data,
+				     size_t data_len);
diff --git a/mcu/protocol/layer4/sim/include/auth/milenage.h b/mcu/protocol/layer4/sim/include/auth/milenage.h
new file mode 100644
index 0000000..028c632
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/auth/milenage.h
@@ -0,0 +1,47 @@
+/*
+ * UMTS AKA - Milenage algorithm (3GPP TS 35.205, .206, .207, .208)
+ * Copyright (c) 2006-2007 <j@w1.fi>
+ * Copyright (C) 2015 MediaTek Inc.
+ *
+ *
+ * This program is free software; this software is distributed under 
+ * the terms of 3-clause BSD license.
+ *
+ * Redistribution and use in source and binary forms, with or without 
+ * modification, are permitted provided that the following conditions are met:
+ * 1. Redistributions of source code must retain the above copyright notice, 
+ * this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright notice,
+ * this list of conditions and the following disclaimer in the documentation 
+ * and/or other materials provided with the distribution.
+ * 3. Neither the name of the copyright holder nor the names of its 
+ * contributors may be used to endorse or promote products derived from 
+ * this software without specific prior written permission.
+ * 
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE 
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR 
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
+ * POSSIBILITY OF SUCH DAMAGE.
+ *
+ */
+
+void milenage_generate(const kal_uint8 *opc, const kal_uint8 *amf, const kal_uint8 *k, const kal_uint8 *sqn, const kal_uint8 *_rand, kal_uint8 *autn, kal_uint8 *ik, kal_uint8 *ck, kal_uint8 *res, kal_uint32 *res_len);
+
+kal_int32 milenage_auts(const kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *_rand, const kal_uint8 *auts, kal_uint8 *sqn);
+
+kal_int32 gsm_milenage(const kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *_rand, kal_uint8 *sres, kal_uint8 *kc);
+
+kal_int32 milenage_check(const kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *sqn, const kal_uint8 *_rand, const kal_uint8 *autn, kal_uint8 *ik, kal_uint8 *ck, kal_uint8 *res, kal_uint32 *res_len, kal_uint8 *auts);
+
+kal_int32 milenage_f1(const kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *_rand, const kal_uint8 *sqn, const kal_uint8 *amf, kal_uint8 *mac_a, kal_uint8 *mac_s);
+
+kal_int32 milenage_f2345(const kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *_rand, kal_uint8 *res, kal_uint8 *ck, kal_uint8 *ik, kal_uint8 *ak, kal_uint8 *akstar);
+
+kal_int32 milenage_opc_gen(kal_uint8 *opc, const kal_uint8 *k, const kal_uint8 *op);
diff --git a/mcu/protocol/layer4/sim/include/sim_cache_files.h b/mcu/protocol/layer4/sim/include/sim_cache_files.h
new file mode 100644
index 0000000..7e81bc2
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_cache_files.h
@@ -0,0 +1,270 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_cache_files.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   SIM EF data ADM cache
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_CACHE_FILES_H
+#define SIM_CACHE_FILES_H
+#include "sim_private_enum.h"
+#include "sim_private_struct.h"
+#include "sim_public_enum.h"
+
+
+#define SIM_CACHE_ADM_OP_READ (KAL_TRUE)
+#define SIM_CACHE_ADM_OP_WRITE (KAL_FALSE)
+
+#define SIM_CACHE_ADM_EF_MAX_REC_NUM (15)
+
+
+/*
+ * EF_IMSI
+ */
+#define SIM_CACHE_ADM_EF_IMSI_SIZE (9)
+#define SIM_CACHE_ADM_EF_IMSI_REC_NUM (0)
+
+/*
+ * EF_DIR
+ */
+#define SIM_CACHE_ADM_EF_DIR_SIZE (54)
+#define SIM_CACHE_ADM_EF_DIR_REC_NUM (5)
+
+/*
+ * EF_AD
+ */
+#define SIM_CACHE_ADM_EF_AD_SIZE (4)
+#define SIM_CACHE_ADM_EF_AD_REC_NUM (0)
+
+/*
+ * EF_GID1
+ */
+#define SIM_CACHE_ADM_EF_GID1_SIZE (NUM_GID1)
+#define SIM_CACHE_ADM_EF_GID1_REC_NUM (0)
+
+/*
+ * EF_SPN
+ */
+#define SIM_CACHE_ADM_EF_SPN_SIZE (LEN_OF_SPN)
+#define SIM_CACHE_ADM_EF_SPN_REC_NUM (0)
+
+/*
+ * EF_ICCID
+ */
+#define SIM_CACHE_ADM_EF_ICCID_SIZE (10)
+#define SIM_CACHE_ADM_EF_ICCID_REC_NUM (0)
+
+/*
+ * EF_SST
+ */
+#define SIM_CACHE_ADM_EF_SST_SIZE (MAX_SST_LEN)
+#define SIM_CACHE_ADM_EF_SST_REC_NUM (0)
+
+/*
+ * EF_SMSP
+ */
+#define SIM_CACHE_ADM_EF_SMSP_SIZE (50)
+#define SIM_CACHE_ADM_EF_SMSP_REC_NUM (2)
+
+/*
+ * EF_MBI
+ */
+#define SIM_CACHE_ADM_EF_MBI_SIZE (26)
+#define SIM_CACHE_ADM_EF_MBI_REC_NUM (10)
+
+/*
+ * EF_GID2
+ */
+#define SIM_CACHE_ADM_EF_GID2_SIZE (NUM_GID2)
+#define SIM_CACHE_ADM_EF_GID2_REC_NUM (0)
+
+/*
+ * EF_LI
+ */
+#define SIM_CACHE_ADM_EF_LI_SIZE (30)
+#define SIM_CACHE_ADM_EF_LI_REC_NUM (0)
+
+/*
+ * EF_ELP
+ */
+#define SIM_CACHE_ADM_EF_ELP_SIZE (15)
+#define SIM_CACHE_ADM_EF_ELP_REC_NUM (0)
+
+/*
+ * EF_MSISDN
+ */
+#define SIM_CACHE_ADM_EF_MSISDN_SIZE (34)
+#define SIM_CACHE_ADM_EF_MSISDN_REC_NUM (2)
+
+/*
+ * EF_VM_WAIT
+ */
+#define SIM_CACHE_ADM_EF_VM_WAIT_SIZE (5)
+#define SIM_CACHE_ADM_EF_VM_WAIT_REC_NUM (0)
+
+/*
+ * EF_SPDI
+ */
+#define SIM_CACHE_ADM_EF_SPDI_SIZE (256)
+#define SIM_CACHE_ADM_EF_SPDI_REC_NUM (0)
+
+/*
+ * EF_CPHS_INFO
+ */
+#define SIM_CACHE_ADM_EF_CPHS_INFO_SIZE (3)
+#define SIM_CACHE_ADM_EF_CPHS_INFO_REC_NUM (0)
+
+/*
+ * EF_CSP
+ */
+#define SIM_CACHE_ADM_EF_CSP_SIZE (22)
+#define SIM_CACHE_ADM_EF_CSP_REC_NUM (0)
+
+/*
+ * EF_OP_STRING
+ */
+#define SIM_CACHE_ADM_EF_OP_STRING_SIZE (40)
+#define SIM_CACHE_ADM_EF_OP_STRING_REC_NUM (0)
+
+/*
+ * EF_OP_SHORTFORM
+ */
+#define SIM_CACHE_ADM_EF_OP_SHORTFORM_SIZE (10)
+#define SIM_CACHE_ADM_EF_OP_SHORTFORM_REC_NUM (0)
+
+/*
+ * EF_CFIS
+ */
+#define SIM_CACHE_ADM_EF_CFIS_SIZE (16)
+#define SIM_CACHE_ADM_EF_CFIS_REC_NUM (1)
+
+/*
+ * EF_PLMNWACT
+ */
+#define SIM_CACHE_ADM_EF_PLMNWACT_SIZE (2048)
+#define SIM_CACHE_ADM_EF_PLMNWACT_REC_NUM (0)
+
+/*
+ * EF_OPLMNWACT
+ */
+#define SIM_CACHE_ADM_EF_OPLMNWACT_SIZE (2048)
+#define SIM_CACHE_ADM_EF_OPLMNWACT_REC_NUM (0)
+
+/*
+ * EF_HPLMNWACT
+ */
+#define SIM_CACHE_ADM_EF_HPLMNWACT_SIZE (2048)
+#define SIM_CACHE_ADM_EF_HPLMNWACT_REC_NUM (0)
+
+/*
+ * EF_EHPLMN
+ */
+#define SIM_CACHE_ADM_EF_EHPLMN_SIZE (MAX_EHPLMN_EF_LEN)
+#define SIM_CACHE_ADM_EF_EHPLMN_REC_NUM (0)
+
+/*
+ * EF_FPLMN
+ */
+#define SIM_CACHE_ADM_EF_FPLMN_SIZE (800)
+#define SIM_CACHE_ADM_EF_FPLMN_REC_NUM (0)
+
+/*
+ * EF_PERSO
+ */
+#define SIM_CACHE_ADM_EF_PERSO_SIZE (1)
+#define SIM_CACHE_ADM_EF_PERSO_REC_NUM (0)
+
+/*
+ * EF_LOCI
+ */
+#define SIM_CACHE_ADM_EF_LOCI_SIZE (11)
+#define SIM_CACHE_ADM_EF_LOCI_REC_NUM (0)
+
+/*
+ * EF_LOCIGPRS
+ */
+#define SIM_CACHE_ADM_EF_LOCIGPRS_SIZE (14)
+#define SIM_CACHE_ADM_EF_LOCIGPRS_REC_NUM (0)
+
+/*
+ * EF_PSLOCI
+ */
+#define SIM_CACHE_ADM_EF_PSLOCI_SIZE (14)
+#define SIM_CACHE_ADM_EF_PSLOCI_REC_NUM (0)
+
+/*
+ * EF_EPSLOCI
+ */
+#define SIM_CACHE_ADM_EF_EPSLOCI_SIZE (18)
+#define SIM_CACHE_ADM_EF_EPSLOCI_REC_NUM (0)
+
+#if 0
+/* under construction !*/
+#endif
+extern void sim_cache_full_reset_cached(sim_context_struct *this_sim);
+extern kal_bool sim_cache_check_record_cached(kal_uint8 p1, kal_uint8 p2, kal_uint8 file_id, sim_context_struct *this_sim);
+extern void sim_cache_update_record_cached(kal_uint8 p1, kal_uint8 p2, kal_uint8 file_id, sim_context_struct *this_sim);
+extern void sim_cache_clean_record_cached(kal_uint8 p1, kal_uint8 p2, kal_uint8 file_id, sim_context_struct *this_sim);
+extern kal_bool sim_cache_adm_read(kal_uint8 p1, kal_uint8 p2, kal_uint8 p3, kal_uint8 *data, kal_uint32 data_size, kal_uint16 *status_word, sim_cache_file_idx_enum cache_file_idx, usim_logic_channel_enum channel, sim_context_struct *this_sim);
+extern kal_bool sim_cache_adm_write(kal_uint8 p1, kal_uint8 p2, kal_uint8 p3, kal_uint8 *data, kal_uint32 data_size, sim_cache_file_idx_enum cache_file_idx, usim_logic_channel_enum channel, sim_context_struct *this_sim);
+extern kal_bool sim_cache_adm_reset(sim_cache_file_idx_enum cache_file_idx, sim_context_struct *this_sim);
+
+extern kal_bool sim_get_cached_file_size(sim_file_index_enum file_idx, kal_uint8 *cached_rec_num, kal_uint16 *cached_rec_size, const sim_context_struct *this_sim);
+extern kal_uint16 sim_get_cached_file_data(sim_file_index_enum file_idx, kal_uint8 rec_id, kal_uint16 res_buffer_size, kal_uint8 *res_data, const sim_context_struct *this_sim);
+
+#endif /* SIM_CACHE_FILES_H */
diff --git a/mcu/protocol/layer4/sim/include/sim_driver_interfaces.h b/mcu/protocol/layer4/sim/include/sim_driver_interfaces.h
new file mode 100644
index 0000000..43cd6ae
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_driver_interfaces.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:
+ * ---------
+ *    sim_driver_interface.h
+ *
+ * Project:
+ * --------
+ *    MAUI
+ *
+ * Description:
+ * ------------
+ *    This file is used to extend the scope of functions in sim_driver_interfaces.c.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_DRIVER_INTERFACES_H
+#define SIM_DRIVER_INTERFACES_H
+
+#include "sim_def.h"
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+#include "dcl_sim.h"
+
+extern DCL_STATUS sim_driver_reset_api(DCL_SIM_POWER ExpectVolt, DCL_SIM_POWER *ResultVolt_ptr, kal_bool warm, DCL_SIM_STATUS *RstResult_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_cmd_api(kal_uint8 *txData_ptr, kal_uint32 *txSize_ptr, kal_uint8 *rxData_ptr, kal_uint32 *rxSize_ptr, kal_uint16 *statusWord_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_card_info_api(DCL_SIM_INFO *info_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_sim_tray_status_api(DCL_SIM_INFO *info_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_set_clk_stop_mode_api(DCL_SIM_CLK_STOP mode, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_poweroff_api(sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_speed_api(DCL_SIM_CARD_SPEED *speed_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_query_9000OnSelect_api(DCL_BOOL *got9000_ptr, sim_context_struct *this_sim);
+
+
+#ifdef IC_MODULE_TEST
+extern DCL_STATUS sim_driver_set_slt_rlt_api(DCL_BOOL rlt, sim_context_struct *this_sim);
+#endif
+
+#if (!defined(__MTK_TARGET__) && defined(__SIM_UNIT_TEST__))
+extern DCL_STATUS sim_driver_ut_reset_uicc_status_api(sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_ut_reset_pin_cnr_api(kal_bool pin1_enabled, kal_bool pin2_enabled, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_ut_reset_chv_cnr_api(kal_bool pin1_enabled, sim_context_struct *this_sim);
+#endif
+
+extern DCL_STATUS sim_driver_set_owner_task_api(sim_context_struct *this_sim);
+
+#endif /* SIM_DRIVER_INTERFACES_H */
diff --git a/mcu/protocol/layer4/sim/include/sim_dummy_driver.h b/mcu/protocol/layer4/sim/include/sim_dummy_driver.h
new file mode 100644
index 0000000..1cf4a66
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_dummy_driver.h
@@ -0,0 +1,447 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *    usim_dummy_driver.h
+ *
+ * Project:
+ * --------
+ *    MONZA
+ *
+ * Description:
+ * ------------
+ *    This file defines the data structure, enum and constant for dummy driver
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_DUMMY_DRIVER_H
+#define SIM_DUMMY_DRIVER_H
+
+#include "kal_public_defs.h"
+
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+
+#include "sim_private_struct.h"
+#include "usim_dummy_driver.h"
+
+ /* Please enter your SIM_CARD folder */
+#define SIM_ROOT_DIR   "E:\\home\\mtkxxxxx\\MoDIS\\"
+#ifdef __UCS2_SIM__
+#define SIM_CARD_DIR    L"SIM_CARD\\"
+#define MAX_FILEPATH_LEN (260 * 2)
+#else /* __UCS2_SIM__ */
+#define SIM_CARD_DIR    "SIM_CARD\\"
+#define MAX_FILEPATH_LEN 260
+#endif /* __UCS2_SIM__ */
+
+#ifdef __SIM_UNIT_TEST_V2__
+  #ifdef __UE_SIMULATOR__
+    #define SIM_CARD_CONFIG_FILE "v2_Config_usim_nw.bin"
+  #else
+    #define SIM_CARD_CONFIG_FILE "v2_Config.bin"
+  #endif
+#else
+  #ifdef __UE_SIMULATOR__
+    #define SIM_CARD_CONFIG_FILE "Config_usim_nw.bin"
+  #else
+    #define SIM_CARD_CONFIG_FILE "Config.bin"
+  #endif
+#endif
+
+#define SIM_CARD_2_CONFIG_FILE "Config_2.bin"
+#define SIM_CARD_3_CONFIG_FILE "Config_3.bin"
+#define SIM_CARD_4_CONFIG_FILE "Config_4.bin"
+#define USIM_AID_LEN    16
+#define MIN_AID_LEN     5
+
+/* Define the UICC file path from MF */
+#define SIM_DRV_PATH_MF_ID   {0x3F,0x00,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_GSM_ID   {0x7F,0x20,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_TELECOM_ID   {0x7F,0x10,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_IRIDIUM_ID   {0x7F,0x20,0x5F,0x30,0x00,0x00}
+#define SIM_DRV_PATH_GLOBST_ID   {0x7F,0x20,0x5F,0x31,0x00,0x00}
+#define SIM_DRV_PATH_ICO_ID   {0x7F,0x20,0x5F,0x32,0x00,0x00}
+#define SIM_DRV_PATH_ACES_ID   {0x7F,0x20,0x5F,0x33,0x00,0x00}
+#define SIM_DRV_PATH_EIA_ID   {0x7F,0x20,0x5F,0x40,0x00,0x00}
+#define SIM_DRV_PATH_CTS_ID   {0x7F,0x20,0x5F,0x60,0x00,0x00}
+#define SIM_DRV_PATH_SOLSA_ID   {0x7F,0x20,0x5F,0x70,0x00,0x00}
+#define SIM_DRV_PATH_MEXE_ID   {0x7F,0x20,0x5F,0x3C,0x00,0x00}
+#define SIM_DRV_PATH_GRAPHICS_ID   {0x7F,0x10,0x5F,0x50,0x00,0x00}
+#define SIM_DRV_PATH_ICCID_ID   {0x2F,0xE2,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_ELP_ID   {0x2F,0x05,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_SAI_ID   {0x7F,0x20,0x5F,0x70,0x4F,0x30}
+#define SIM_DRV_PATH_SLL_ID   {0x7F,0x20,0x5F,0x70,0x4F,0x31}
+#define SIM_DRV_PATH_MEXE_ST_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x40}
+#define SIM_DRV_PATH_ORPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x41}
+#define SIM_DRV_PATH_ARPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x42}
+#define SIM_DRV_PATH_TPRPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x43}
+#define SIM_DRV_PATH_IMG_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x20}
+#define SIM_DRV_PATH_LP_ID   {0x7F,0x20,0x6F,0x05,0x00,0x00}
+#define SIM_DRV_PATH_IMSI_ID   {0x7F,0x20,0x6F,0x07,0x00,0x00}
+#define SIM_DRV_PATH_KC_ID   {0x7F,0x20,0x6F,0x20,0x00,0x00}
+#define SIM_DRV_PATH_PLMNSEL_ID   {0x7F,0x20,0x6F,0x30,0x00,0x00}
+#define SIM_DRV_PATH_HPLMN_ID   {0x7F,0x20,0x6F,0x31,0x00,0x00}
+#define SIM_DRV_PATH_ACMAX_ID   {0x7F,0x20,0x6F,0x37,0x00,0x00}
+#define SIM_DRV_PATH_SST_ID   {0x7F,0x20,0x6F,0x38,0x00,0x00}
+#define SIM_DRV_PATH_ACM_ID   {0x7F,0x20,0x6F,0x39,0x00,0x00}
+#define SIM_DRV_PATH_GID1_ID   {0x7F,0x20,0x6F,0x3E,0x00,0x00}
+#define SIM_DRV_PATH_GID2_ID   {0x7F,0x20,0x6F,0x3F,0x00,0x00}
+#define SIM_DRV_PATH_SPN_ID   {0x7F,0x20,0x6F,0x46,0x00,0x00}
+#define SIM_DRV_PATH_PUCT_ID   {0x7F,0x20,0x6F,0x41,0x00,0x00}
+#define SIM_DRV_PATH_CBMI_ID   {0x7F,0x20,0x6F,0x45,0x00,0x00}
+#define SIM_DRV_PATH_BCCH_ID   {0x7F,0x20,0x6F,0x74,0x00,0x00}
+#define SIM_DRV_PATH_ACC_ID   {0x7F,0x20,0x6F,0x78,0x00,0x00}
+#define SIM_DRV_PATH_FPLMN_ID   {0x7F,0x20,0x6F,0x7B,0x00,0x00}
+#define SIM_DRV_PATH_LOCI_ID   {0x7F,0x20,0x6F,0x7E,0x00,0x00}
+#define SIM_DRV_PATH_AD_ID   {0x7F,0x20,0x6F,0xAD,0x00,0x00}
+#define SIM_DRV_PATH_PHASE_ID   {0x7F,0x20,0x6F,0xAE,0x00,0x00}
+#define SIM_DRV_PATH_VGCS_ID   {0x7F,0x20,0x6F,0xB1,0x00,0x00}
+#define SIM_DRV_PATH_VGCSS_ID   {0x7F,0x20,0x6F,0xB2,0x00,0x00}
+#define SIM_DRV_PATH_VBS_ID   {0x7F,0x20,0x6F,0xB3,0x00,0x00}
+#define SIM_DRV_PATH_VBSS_ID   {0x7F,0x20,0x6F,0xB4,0x00,0x00}
+#define SIM_DRV_PATH_EMLPP_ID   {0x7F,0x20,0x6F,0xB5,0x00,0x00}
+#define SIM_DRV_PATH_AAEM_ID   {0x7F,0x20,0x6F,0xB6,0x00,0x00}
+#define SIM_DRV_PATH_CBMID_ID   {0x7F,0x20,0x6F,0x48,0x00,0x00}
+#define SIM_DRV_PATH_ECC_ID   {0x7F,0x20,0x6F,0xB7,0x00,0x00}
+#define SIM_DRV_PATH_CBMIR_ID   {0x7F,0x20,0x6F,0x50,0x00,0x00}
+#define SIM_DRV_PATH_DCK_ID   {0x7F,0x20,0x6F,0x2C,0x00,0x00}
+#define SIM_DRV_PATH_CNL_ID   {0x7F,0x20,0x6F,0x32,0x00,0x00}
+#define SIM_DRV_PATH_NIA_ID   {0x7F,0x20,0x6F,0x51,0x00,0x00}
+#define SIM_DRV_PATH_KCGPRS_ID   {0x7F,0x20,0x6F,0x52,0x00,0x00}
+#define SIM_DRV_PATH_LOCIGPRS_ID   {0x7F,0x20,0x6F,0x53,0x00,0x00}
+#define SIM_DRV_PATH_SUME_ID   {0x7F,0x20,0x6F,0x54,0x00,0x00}
+#define SIM_DRV_PATH_PLMNWACT_ID   {0x7F,0x20,0x6F,0x60,0x00,0x00}
+#define SIM_DRV_PATH_OPLMNWACT_ID   {0x7F,0x20,0x6F,0x61,0x00,0x00}
+#define SIM_DRV_PATH_HPLMNACT_ID   {0x7F,0x20,0x6F,0x62,0x00,0x00}
+#define SIM_DRV_PATH_CPBCCH_ID   {0x7F,0x20,0x6F,0x63,0x00,0x00}
+#define SIM_DRV_PATH_INVSCAN_ID   {0x7F,0x20,0x6F,0x64,0x00,0x00}
+#define SIM_DRV_PATH_VM_WAIT_ID   {0x7F,0x20,0x6F,0x11,0x00,0x00}
+#define SIM_DRV_PATH_CPHS_SST_ID   {0x7F,0x20,0x6F,0x12,0x00,0x00}
+#define SIM_DRV_PATH_CF_FLAG_ID   {0x7F,0x20,0x6F,0x13,0x00,0x00}
+#define SIM_DRV_PATH_OP_STRING_ID   {0x7F,0x20,0x6F,0x14,0x00,0x00}
+#define SIM_DRV_PATH_CSP_ID   {0x7F,0x20,0x6F,0x15,0x00,0x00}
+#define SIM_DRV_PATH_CPHS_INFO_ID   {0x7F,0x20,0x6F,0x16,0x00,0x00}
+#define SIM_DRV_PATH_MAILBOX_NUM_ID   {0x7F,0x20,0x6F,0x17,0x00,0x00}
+#define SIM_DRV_PATH_OP_SHORTFORM_ID   {0x7F,0x20,0x6F,0x18,0x00,0x00}
+#define SIM_DRV_PATH_INFO_NUM_ID   {0x7F,0x20,0x6F,0x19,0x00,0x00}
+#define SIM_DRV_PATH_ADN_ID   {0x7F,0x10,0x6F,0x3A,0x00,0x00}
+#define SIM_DRV_PATH_FDN_ID   {0x7F,0x10,0x6F,0x3B,0x00,0x00}
+#define SIM_DRV_PATH_SMS_ID   {0x7F,0x10,0x6F,0x3C,0x00,0x00}
+#define SIM_DRV_PATH_CCP_ID   {0x7F,0x10,0x6F,0x3D,0x00,0x00}
+#define SIM_DRV_PATH_ECCP_ID   {0x7F,0x10,0x6F,0x4F,0x00,0x00}
+#define SIM_DRV_PATH_MSISDN_ID   {0x7F,0x10,0x6F,0x40,0x00,0x00}
+#define SIM_DRV_PATH_SMSP_ID   {0x7F,0x10,0x6F,0x42,0x00,0x00}
+#define SIM_DRV_PATH_SMSS_ID   {0x7F,0x10,0x6F,0x43,0x00,0x00}
+#define SIM_DRV_PATH_LND_ID   {0x7F,0x10,0x6F,0x44,0x00,0x00}
+#define SIM_DRV_PATH_SDN_ID   {0x7F,0x10,0x6F,0x49,0x00,0x00}
+#define SIM_DRV_PATH_EXT1_ID   {0x7F,0x10,0x6F,0x4A,0x00,0x00}
+#define SIM_DRV_PATH_EXT2_ID   {0x7F,0x10,0x6F,0x4B,0x00,0x00}
+#define SIM_DRV_PATH_EXT3_ID   {0x7F,0x10,0x6F,0x4C,0x00,0x00}
+#define SIM_DRV_PATH_BDN_ID   {0x7F,0x10,0x6F,0x4D,0x00,0x00}
+#define SIM_DRV_PATH_EXT4_ID   {0x7F,0x10,0x6F,0x4E,0x00,0x00}
+#define SIM_DRV_PATH_SMSR_ID   {0x7F,0x10,0x6F,0x47,0x00,0x00}
+#define SIM_DRV_PATH_CMI_ID   {0x7F,0x20,0x6F,0x58,0x00,0x00}
+#define SIM_DRV_PATH_IMG_1_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x01}
+#define SIM_DRV_PATH_IMG_2_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x02}
+#define SIM_DRV_PATH_IMG_3_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x03}
+#define SIM_DRV_PATH_IMG_4_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x04}
+#define SIM_DRV_PATH_IMG_5_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x05}
+#define SIM_DRV_PATH_IMG_6_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x06}
+#define SIM_DRV_PATH_IMG_7_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x07}
+#define SIM_DRV_PATH_IMG_8_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x08}
+#define SIM_DRV_PATH_IMG_9_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x09}
+#define SIM_DRV_PATH_IMG_A_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0A}
+#define SIM_DRV_PATH_IMG_B_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0B}
+#define SIM_DRV_PATH_IMG_C_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0C}
+#define SIM_DRV_PATH_IMG_D_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0D}
+#define SIM_DRV_PATH_IMG_E_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0E}
+#define SIM_DRV_PATH_IMG_F_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0F}
+#define SIM_DRV_PATH_VID_ID   {0x7F,0x43,0x00,0x00,0x00,0x00}
+/* HomeZone Support */
+#define SIM_DRV_PATH_HZ_ID   {0x7F,0x43,0x6F,0x60,0x00,0x00}
+#define SIM_DRV_PATH_HZ_CACHE1_ID   {0x7F,0x43,0x6F,0x61,0x00,0x00}
+#define SIM_DRV_PATH_HZ_CACHE2_ID   {0x7F,0x43,0x6F,0x62,0x00,0x00}
+#define SIM_DRV_PATH_HZ_CACHE3_ID   {0x7F,0x43,0x6F,0x63,0x00,0x00}
+#define SIM_DRV_PATH_HZ_CACHE4_ID   {0x7F,0x43,0x6F,0x64,0x00,0x00}
+/* ENS support mtk01488 */
+#define SIM_DRV_PATH_ENS_DF_7F66_ID {0x7F,0x66,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_ENS_DF_5F40_ID {0x7F,0x66,0x5F,0x30,0x00,0x00}
+#define SIM_DRV_PATH_ENS_ACTING_HPLMN {0x7F, 0x66, 0x5F, 0x30, 0x4F, 0x34}
+#define SIM_DRV_PATH_ENS_TERMINAL_SUPPORT_TABLE  {0x7F, 0x66, 0x6F, 0xD2, 0x00, 0x00}
+#define SIM_DRV_PATH_PNN_ID   {0x7F,0x20,0x6F,0xC5,0x00,0x00}
+#define SIM_DRV_PATH_OPL_ID   {0x7F,0x20,0x6F,0xC6,0x00,0x00}
+#define SIM_DRV_PATH_MBDN_ID   {0x7F,0x20,0x6F,0xC7,0x00,0x00}
+#define SIM_DRV_PATH_EXT6_ID   {0x7F,0x20,0x6F,0xC8,0x00,0x00}
+#define SIM_DRV_PATH_MBI_ID   {0x7F,0x20,0x6F,0xC9,0x00,0x00}
+#define SIM_DRV_PATH_MWIS_ID   {0x7F,0x20,0x6F,0xCA,0x00,0x00}
+#define SIM_DRV_PATH_CFIS_ID   {0x7F,0x20,0x6F,0xCB,0x00,0x00}
+#define SIM_DRV_PATH_EXT7_ID   {0x7F,0x20,0x6F,0xCC,0x00,0x00}
+#define SIM_DRV_PATH_SPDI_ID   {0x7F,0x20,0x6F,0xCD,0x00,0x00}
+#define SIM_DRV_PATH_MMSN_ID   {0x7F,0x20,0x6F,0xCE,0x00,0x00}
+#define SIM_DRV_PATH_EXT8_ID   {0x7F,0x20,0x6F,0xCF,0x00,0x00}
+#define SIM_DRV_PATH_MMSICP_ID   {0x7F,0x20,0x6F,0xD0,0x00,0x00}
+#define SIM_DRV_PATH_MMSUP_ID   {0x7F,0x20,0x6F,0xD1,0x00,0x00}
+#define SIM_DRV_PATH_MMSUCP_ID   {0x7F,0x20,0x6F,0xD2,0x00,0x00}
+#define SIM_DRV_PATH_DIR_ID   {0x2F,0x00,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_ARR_ID   {0x2F,0x06,0x00,0x00,0x00,0x00}
+#define SIM_DRV_PATH_NONE_ID {0x00,0x00,0x00,0x00,0x00,0x00}
+
+#define MODIS_SIM_HEAD_SPACE 25
+#define MODIS_SIM_CHV1_OFFSET (MODIS_SIM_HEAD_SPACE)
+#define MODIS_SIM_CHV2_OFFSET (MODIS_SIM_CHV1_OFFSET+16)
+#define MODIS_SIM_UBCHV1_OFFSET (MODIS_SIM_CHV2_OFFSET+16)
+#define MODIS_SIM_UBCHV2_OFFSET (MODIS_SIM_UBCHV1_OFFSET+16)
+
+#define SIM_FCI_SIZE_OFFSET       2
+#define SIM_FCI_FID_OFFSET        4
+#define SIM_FCI_TYPE_OFFSET       6
+
+//EF
+#define SIM_FCI_STATUS_OFFSET    11
+#define SIM_FCI_STRUCT_OFFSET    13
+#define SIM_FCI_REC_LEN_OFFSET   14
+
+//MF/DF
+#define SIM_FILE_CHAR_OFFSET     13
+#define SIM_CHV1_COUNT_OFFSET    18
+#define SIM_UBCHV1_COUNT_OFFSET  19
+#define SIM_CHV2_COUNT_OFFSET    20
+#define SIM_UBCHV2_COUNT_OFFSET  21
+
+
+typedef struct
+{
+    kal_uint8 path[6];
+} sim_card_path_info_struct;
+
+typedef struct
+{
+    /* The first 256 bytes */
+    kal_char file_name[16];
+    kal_uint8 path[6]; //mtk01616_110419 : TODO : to support read long path in Modis
+    kal_uint8 fcp_length;
+    kal_uint8 fcp_tmp[233];
+    /* ------256 bytes ------ */
+} uicc_file_meta_struct;
+
+typedef struct
+{
+    kal_uint8 data[256];
+} uicc_file_data_struct;
+
+#define MAX_DUMMY_SIM_CHANNEL   4
+
+#define DUMMY_APDU_CLA  0
+#define DUMMY_APDU_INS  1
+#define DUMMY_APDU_P1   2
+#define DUMMY_APDU_P2   3
+#define DUMMY_APDU_P3   4
+#define DUMMY_APDU_LC   DUMMY_APDU_P3
+#define DUMMY_APDU_DATA 5
+
+typedef struct
+{
+    kal_uint16 cmd_len;
+    kal_uint8 cmd_data[256];
+} sat_ut_procomm_struct;
+
+#if defined(__SIM_UNIT_TEST_V2__)
+typedef struct
+{
+    kal_uint8 ch_id;
+    kal_uint8 aid_len;
+    kal_uint8 aid[AID_BYTE_LEN];
+    kal_uint8 current_path[6];
+    kal_uint8 temp_path[6];
+    kal_char cPath[MAX_FILEPATH_LEN];
+    kal_char cFile[MAX_FILEPATH_LEN];
+    kal_uint8 buf[256];
+    void *cfPtr;
+    kal_uint8 previous_cmd;
+    uicc_file_meta_struct meta_data;
+    kal_uint8 simapp_status_len;
+    kal_uint8 simapp_status[255];
+} uicc_channel_context_struct;
+
+typedef struct
+{
+    kal_uint8 config_bin_name[30];
+    kal_bool is_uicc_inserted;
+    kal_uint8 atr_historical[42];  /* historical byte(1 byte) + atr_len(1 byte) + atr_data(40 byte) */
+    kal_uint32 cur_channel_usage;  /* bit mask which indicate 16 channel id is use or not */
+    uicc_channel_context_struct channel[4];
+    kal_uint8 sim_status[23];   /* Store SIM status of current DF */
+    kal_bool is_resource_assigned;
+    kal_bool is_cmd_blk;
+    DCL_SIM_CONFIG_AP_TYPE  driver_config;
+    kal_uint8 sim_test_num;// used in modis only
+    sat_ut_procomm_struct ut_procomm;
+} usim_test_context_struct;
+#else
+typedef struct
+{
+    kal_bool is_uicc_inserted;
+    kal_uint8 aid_len;
+    kal_uint8 aid[USIM_AID_LEN];
+    kal_uint8 current_path[6];
+    kal_uint8 temp_path[6];
+    kal_uint8 atr_historical[15];
+    kal_char cPath[MAX_FILEPATH_LEN];
+    kal_char cFile[MAX_FILEPATH_LEN];
+    kal_uint8 buf[256];
+    void *cfPtr;
+    uicc_file_meta_struct meta_data;
+    kal_uint8 previous_cmd;
+    kal_uint8 sim_status[23];   /* Store SIM status of current DF */
+    kal_uint8 usim_status_len;
+    kal_uint8 usim_status[255];
+    kal_bool is_resource_assigned;
+    kal_bool is_cmd_blk;
+    DCL_SIM_CONFIG_AP_TYPE  driver_config;
+    kal_uint8 sim_test_num;// used in modis only
+    sat_ut_procomm_struct ut_procomm;
+} usim_test_context_struct;
+#endif
+
+typedef struct {
+    LOCAL_PARA_HDR
+    usim_test_context_struct sim_ut_context;
+} sim_dump_ut_context_ind_struct;
+
+#ifdef __SIM_UNIT_TEST__
+typedef enum
+{
+    SIM_CTRL_UT_CMD_RST_UICC_STATUS,
+    SIM_CTRL_UT_CMD_RST_PIN_CNR,
+    SIM_CTRL_UT_CMD_RST_CHV_CNR,
+    SIM_CTRL_UT_CMD_BLK_CNR,
+    SIM_CTRL_UT_CMD_INJECT_SAT_CMD,
+    SIM_CTRL_UT_CMD_END
+} DCL_CTRL_UT_CMD;
+
+typedef struct
+{
+    kal_bool pin1_enabled;
+    kal_bool pin2_enabled;
+} SIM_CTRL_RST_PIN_CNR_struct;
+
+typedef struct
+{
+    kal_bool pin1_enabled;
+} SIM_CTRL_RST_CHV_CNR_struct;
+
+typedef struct
+{
+    kal_bool block_enabled;
+} SIM_CTRL_CMD_BLK_CNR_struct;
+
+typedef union
+{
+   SIM_CTRL_RST_PIN_CNR_struct  rSIMRstPINCnr;
+   SIM_CTRL_RST_CHV_CNR_struct  rSIMRstCHVCnr;
+   SIM_CTRL_CMD_BLK_CNR_struct  rSIMCmdBLKCnf;
+} DCL_CTRL_UT_DATA;
+
+#endif
+
+extern kal_uint16 L1sim_Cmd(kal_uint8 *, kal_uint16, kal_uint8 *, kal_uint16 *, kal_uint8 *);
+extern usim_test_context_struct *UsimCardPtr;
+#if defined(__SIM_UNIT_TEST_V2__)
+uicc_channel_context_struct *UsimCardCHPtr;
+#define SIM_UT_PTR UsimCardCHPtr
+#else
+#define SIM_UT_PTR UsimCardPtr
+#endif
+
+
+/*Utility*/
+extern void *sim_fopen(const char *filename, const char *type);
+extern kal_bool is_ef_selected(void);
+extern kal_char *UsimSetPath(const char *file_name);
+extern kal_bool UsimPath2Name(kal_char *name, kal_uint8 *path, kal_uint8 pathlen);
+extern kal_bool UsimLoadMeta(void);
+extern kal_bool UsimOpenFile(kal_uint8 *file_id, kal_uint8 len);
+extern void *UsimSysOpenFile(kal_uint8 *file_id, kal_uint8 len);
+extern void sim_ut_set_config_bin(kal_uint8* config_bin_name, kal_uint8 ps_id);
+
+/*DCL 1st level API*/
+extern DCL_STATUS DclSIM_Initialize(void);
+extern DCL_HANDLE DclSIM_Open(DCL_DEV dev, DCL_FLAGS flags);
+extern DCL_STATUS DclSIM_Close(DCL_HANDLE handle);
+extern DCL_STATUS DclSIM_Configure(DCL_HANDLE handle, DCL_CONFIGURE_T *configure);
+extern DCL_STATUS DclSIM_Control(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+#ifdef __SIM_UNIT_TEST__
+extern DCL_STATUS DclSIM_UT_Control(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, void *data);
+#endif
+
+/*DCL 2st level API*/
+extern DCL_STATUS DCL_SIM_CTRL_API_RST(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_SET_CLK_STOP_MODE(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_GET_CARD_SPEED(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_CMD(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_PWOFF(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_GET_CARD_INFO(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_API_QUERY_9000(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+extern DCL_STATUS DCL_SIM_CTRL_CMD_GET_CARD_ERROR_TYPES_INFO(DCL_HANDLE handle, DCL_CTRL_CMD cmd, DCL_CTRL_DATA_T *data);
+
+#ifdef __SIM_UNIT_TEST__
+extern DCL_STATUS DCL_SIM_CTRL_UT_API_RST_UICC_STATUS(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, DCL_CTRL_UT_DATA * data);
+extern DCL_STATUS DCL_SIM_CTRL_UT_API_RST_PIN_CNR(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, DCL_CTRL_UT_DATA * data);
+extern DCL_STATUS DCL_SIM_CTRL_UT_API_RST_CHV_CNR(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, DCL_CTRL_UT_DATA * data);
+extern DCL_STATUS DCL_SIM_CTRL_UT_API_CMD_BLK_CNR(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, DCL_CTRL_UT_DATA * data);
+extern DCL_STATUS DCL_SIM_CTRL_UT_API_INJECT_SAT_CMD(DCL_HANDLE handle, DCL_CTRL_UT_CMD cmd, sat_ut_procomm_struct *data);
+#endif
+
+/*DCL 3st level API*/
+extern DCL_SIM_STATUS L1sim_Reset(DCL_SIM_POWER ExpectVolt, DCL_SIM_POWER *resultVolt);
+extern void L1usim_Get_Card_Info(DCL_SIM_INFO *info);
+#ifdef __SIM_UNIT_TEST__
+extern void L1sim_reset_uicc_status(void);
+extern void L1sim_reset_chv_counter(kal_bool pin1_enabled);
+extern void L1sim_config_card(kal_bool is_inserted);
+extern void L1sim_cmd_blk_config(kal_bool);
+extern void L1sim_inject_sat_cmd(kal_uint8 *cmd_data, kal_uint16 cmd_len);
+#endif
+
+void sim_set_dummy_sim_test_case (kal_uint8 sim_slot_id, kal_uint8 test_num);
+
+#endif /* SIM_DUMMY_DRIVER_H */
+
diff --git a/mcu/protocol/layer4/sim/include/sim_private_api.h b/mcu/protocol/layer4/sim/include/sim_private_api.h
new file mode 100644
index 0000000..32bd02a
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_private_api.h
@@ -0,0 +1,1372 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_private_api.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   API provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_PRIVATE_API_H
+#define SIM_PRIVATE_API_H
+
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "kal_general_types.h"
+#include "kal_public_api.h"
+#include "event_info_utility.h"
+
+#include "sim_private_enum.h"
+#include "sim_private_struct.h"
+#include "sim_public_enum.h"
+#include "sim_private_utility.h"
+
+
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+
+/*EM related*/
+#include "em_sim_public_struct.h"
+
+
+#if !defined(__L1_STANDALONE__)
+#include "mrs_utility.h"
+#endif
+
+extern void sim_task_main(task_entry_struct *task_entry_ptr);
+extern kal_bool sim_init(kal_uint8 sim_indx);
+extern void sim_main(kal_uint8 ps_id, ilm_struct *ilm_ptr);
+extern void sat_prefetch_proactive_cmd(sim_context_struct *this_sim);
+extern kal_bool sat_is_msg_for_fetch(ilm_struct *ilm_ptr, sim_context_struct *this_sim);
+extern void sat_fetch_proactive_cmd(kal_uint16 proactive_cmd_len, sim_context_struct *this_sim);
+extern kal_bool sim_process_init(void);
+extern void sim_process_ilm(ilm_struct *current_ilm);
+
+extern kal_uint16 Sim_Cmd_All(
+            kal_uint8 *txData,
+            kal_uint32 *txSize,
+            kal_uint8 *rxData,
+            kal_uint32 *rxSize,
+            sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_al_reset(
+                            sim_al_reset_type_enum type,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_verify_chv(
+                            kal_uint8 which_chv,
+                            kal_uint8 *chv_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_unblock_chv(
+                            kal_uint8 which_chv,
+                            kal_uint8 *unblock_chv_ptr,
+                            kal_uint8 *new_chv_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_change_chv(
+                            kal_uint8 which_chv,
+                            kal_uint8 *old_chv_ptr,
+                            kal_uint8 *new_chv_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_al_switch_chv(
+                                              sim_instruction_code_enum	chv_op,
+                                              kal_uint8 which_pin,
+                                              kal_uint8 *chv_ptr,
+                                              kal_uint16 *status_word,
+                                              usim_logic_channel_enum channel,
+                                              sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_al_read_binary(
+                            kal_uint16 offset,
+                            kal_uint16 num_bytes,
+                            kal_uint8 *read_data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_update_binary(
+                            kal_uint16 offset,
+                            kal_uint8 num_bytes,
+                            kal_uint8 *data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_read_record(
+                            sim_record_access_mode_enum read_mode,
+                            kal_uint8 rec_num,
+                            kal_uint16 rec_size,
+                            kal_uint8 *read_data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_update_record(
+                            sim_record_access_mode_enum write_mode,
+                            kal_uint8 rec_num,
+                            kal_uint8 rec_size,
+                            kal_uint8 *data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_search_record(
+                        kal_uint8 rec_index,
+                        kal_uint8 pattern_len,
+                        kal_uint8 *pattern_data_ptr,
+                        kal_uint8 expected_result_data_size,
+                        kal_uint8 *search_result_data_size,
+                        kal_uint8 *search_result_data_ptr,
+                        kal_uint16 *status_word,
+                        usim_logic_channel_enum channel,
+                        sim_context_struct *this_sim);
+
+extern void sim_search_record_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_al_search_record_with_sfi(
+                        sim_file_index_enum file_idx,
+                        kal_uint8 *path,
+                        kal_uint8 sfi,
+                        kal_uint8 rec_index,
+                        kal_uint8 pattern_len,
+                        kal_uint8 *pattern_data_ptr,
+                        kal_uint8 expected_result_data_size,
+                        kal_uint8 *search_result_data_size,
+                        kal_uint8 *search_result_data_ptr,
+                        kal_uint16 *status_word,
+                        usim_logic_channel_enum channel,
+                        sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_al_run_gsm_algo(
+                            kal_uint8 *rand_num_ptr,
+                            kal_uint8 *kc,
+                            kal_uint8 *sres,
+                            kal_uint16 *status_word,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_status(
+                            usim_status_opt_enum type,
+                            usim_status_rsp_enum rsp_type,
+                            kal_uint8 *status_data_ptr,
+                            kal_uint16 *rsp_len,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_rehabilitate(sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_invalidate(sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_fetch(
+                            kal_uint8 *fetch_data_ptr,
+                            kal_uint16 length,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_terminal_response(
+                            kal_uint8 *app_cmd_rsp_ptr,
+                            kal_uint8 length,
+                            sim_context_struct *this_sim,
+                            kal_uint16 *status_word);
+extern sim_cmd_result_enum sim_al_terminal_profile(
+                            kal_uint8 *term_prfl_ptr,
+                            kal_uint8 term_prfl_len,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_envelope(
+                            kal_uint8 *data_ptr,
+                            kal_uint8 data_len,
+                            kal_uint8 *env_rsp_ptr,
+                            kal_uint16 *env_rsp_len_ptr,
+                            sim_context_struct *this_sim,
+                            kal_uint16 *status_word);
+extern sim_cmd_result_enum sim_al_increase(
+                            kal_uint8 *value_to_be_added_ptr,
+                            kal_uint8 value_len,
+                            kal_uint8 *value_of_record_ptr,
+                            kal_uint16 *length_of_data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_select_id(
+                            sim_file_index_enum file_idx,
+                            kal_uint8 *file_id,
+                            kal_uint8 *rx_data,
+                            kal_uint8 *rx_size_ptr,
+                            kal_uint16 *status_word,
+                            sim_context_struct *this_sim);
+extern void sim_al_poweroff(sim_context_struct *this_sim);
+extern void sim_init_card_dependent_context(sim_context_struct *this_sim);
+extern void sim_clear_recovery_ctx(sim_context_struct *this_sim);
+extern void sim_clear_channel_ctx(usim_logic_channel_enum channel, sim_context_struct *this_sim);
+
+extern kal_bool sim_is_long_path_file(sim_file_index_enum file_idx, sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_al_select(
+                            sim_file_index_enum,
+                            const kal_uint8 *,
+                            kal_uint8 *,
+                            kal_uint16 *,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+
+extern sim_cmd_result_enum usim_al_app_authenticate(uicc_auth_mode_enum mode,
+                                                    kal_uint8 *command_data,
+                                                    kal_uint8 command_len,
+                                                    kal_uint8 *rsp_data_ptr,
+                                                    kal_uint16 *rsp_len,
+                                                    kal_uint16 *status_word,
+                                                    usim_logic_channel_enum channel,
+                                                    sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_al_authenticate(
+                            kal_uint8 *,
+                            kal_uint8 *,
+                            kal_uint8 *,
+                            kal_uint16 *,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+/* [MAUI_02011291] mtk80420: Fix klocwork issue, separate usim_al_increase from sim_al_increase */
+extern sim_cmd_result_enum usim_al_increase(
+                            kal_uint8 * value_to_be_added_ptr,
+                            kal_uint8 value_len,
+                            kal_uint8 * value_of_record_ptr,
+                            kal_uint16 * length_of_data_ptr,
+                            kal_uint16 * status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct * this_sim);
+
+extern sim_cmd_result_enum usim_select(
+                            sim_file_index_enum,
+                            kal_uint8 *,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+extern sim_cmd_result_enum usim_get_pin_status(
+                            sim_chv_info_struct *,
+                            kal_uint16 *,
+                            uicc_app_type_enum,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+
+extern sim_cmd_result_enum usim_al_manage_channel(
+                           usim_logic_channel_enum ,
+                           usim_channel_op_enum ,
+                           kal_uint8 *,
+                           kal_uint16 *,
+                           sim_context_struct *);
+
+extern sim_cmd_result_enum usim_select_aid(
+                            kal_uint8 *,
+                            kal_uint8,
+                            usim_select_aid_ctrl_enum,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+extern sim_cmd_result_enum usim_al_read_binary_with_sfi(
+                            sim_file_index_enum file_idx,
+                            kal_uint8 *path,
+                            usim_sfi_enum sfi,
+                            kal_uint8 offset,
+                            kal_uint16 num_bytes,
+                            kal_uint8 * read_data_ptr,
+                            kal_uint16 * status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_al_update_record_with_sfi(
+                            sim_file_index_enum file_idx,
+                            kal_uint8 *path,
+                            kal_uint8 sfi,
+                            sim_record_access_mode_enum write_mode,
+                            kal_uint8 rec_num,
+                            kal_uint8 rec_size,
+                            kal_uint8 *data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_al_read_record_with_sfi(
+                            sim_file_index_enum file_idx,
+                            kal_uint8 *path,
+                            kal_uint8 sfi,
+                            sim_record_access_mode_enum read_mode,
+                            kal_uint8 rec_num,
+                            kal_uint16 rec_size,
+                            kal_uint8 *read_data_ptr,
+                            kal_uint16 *status_word,
+                            usim_logic_channel_enum channel,
+                            sim_context_struct *this_sim);
+
+extern void usim_terminal_capability(sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_al_terminal_capability(kal_uint8 *term_capability_ptr, kal_uint8 term_capavility_len, sim_context_struct *this_sim);
+
+#ifdef __SIM_DBG__ /* Add to avoid compile warning - Benson 022504 */
+extern void sim_dbg_print(module_type mod_id, kal_char *title, kal_uint8 *data, kal_uint16 len);
+#endif
+
+extern kal_bool usim_fcp_query_tag(kal_uint8 *, kal_int16, usim_fcp_tag_enum, void *);
+extern kal_uint8 fcp_tlv_search_tag(kal_uint8 *in_ptr, kal_int16 len, usim_fcp_tag_enum tag, kal_uint8 **out_ptr);
+
+#if defined(__TAS_OFF_WHEN_NO_SIM__)
+extern void sim_update_L1_SIM_type(sim_interface_enum which_sim, sim_type_query_enum sim_type);
+extern void sim_update_L1_VSIM(sim_interface_enum which_sim, kal_bool is_vsim_on);
+extern void sim_update_L1_SIM_insert_status(sim_interface_enum which_sim, kal_bool is_sim_insert);
+#endif
+
+extern void sim_set_testsim(kal_bool is_test_sim, sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_read_transparent_file(
+                        sim_file_index_enum file_idx,
+                        kal_uint8 **file_ptr,
+                        kal_uint16 *file_size,
+                        kal_uint16 *status_word,
+                        sim_context_struct *this_sim);
+
+extern void sim_app_error_handler(uicc_app_type_enum app_type, usim_logic_channel_enum channel, sim_error_cause_enum cause, sim_context_struct *this_sim);
+
+extern void sim_error_handler(sim_error_cause_enum cause, sim_context_struct *this_sim);
+
+extern kal_bool is_simplus_detect(sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_profile_download(sim_context_struct *this_sim);
+
+extern void sim_send_msg_to_myself(
+        msg_type msg_id,
+        void *local_para_ptr,
+        peer_buff_struct *peer_buff_ptr,
+        sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_recovery_as_sim(sim_context_struct *this_sim); /*mtk01612: [MAUI_02052346]*/
+
+#if defined(__APVSIM__)
+extern void sim_queue_initialization(sim_context_struct *this_sim, kal_uint8 int_qsize);
+extern kal_bool sim_msg_receive_sim_queue(sim_context_struct *this_sim, ilm_struct *ilm_ptr);
+#endif
+
+#if defined(__APVSIM__) || defined(__SIM_UNIT_TEST__)
+extern void sim_int_wait_ext_msg(sim_context_struct *this_sim, kal_uint32 *MsgIdList, kal_uint32 MsgIdNum, ilm_struct *ilm_ptr, kal_uint32 timeout);
+#endif
+
+extern void sim_start_timer(sim_context_struct *this_sim);
+extern kal_uint32 sim_stop_timer(sim_context_struct *this_sim);
+extern void sim_send_ilm(
+                module_type dest_id,
+                kal_uint16 msg_id,
+                void *local_param_ptr,
+                void *peer_buf_ptr,
+                sim_context_struct *this_sim);
+extern void sim_send_ilm_to_cdma(
+                module_type dest_id,
+                kal_uint16 msg_id,
+                void *local_param_ptr,
+                void *peer_buf_ptr,
+                sim_context_struct *this_sim);
+extern void sim_startup_read(
+                sim_cmd_result_enum ret_val,
+                kal_uint8 access_id,
+                kal_uint8 *pin1,
+                sim_context_struct *this_sim);
+
+
+extern sim_file_index_enum usim_file_mapping(sim_file_index_enum file_id);
+
+extern kal_bool sim_update_cache_file(sat_file_change_ind_struct *sat_file_change_ind_ptr, sim_context_struct *this_sim);
+
+extern void sim_initialization_cache_read(sim_context_struct *this_sim);
+
+extern void sim_initialization(sim_context_struct *this_sim);
+
+extern void sim_poll_timer_hdlr(sim_context_struct *this_sim);
+extern void sim_poll_timer_start(kal_bool suspend_timer, sim_context_struct *this_sim);
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER__
+extern void sim_start_hotswap_poll_timer(sim_context_struct *this_sim);
+extern void sim_stop_hotswap_poll_timer(sim_context_struct *this_sim);
+extern void sim_hotswap_poll_timer_hdlr(sim_context_struct *this_sim);
+extern void sim_hotswap_poll_timer_start(sim_context_struct *this_sim);
+extern void sim_hot_swap_poll_timer_rollback(kal_uint32 which_sim);
+extern void sim_hot_swap_poll_timer_set(kal_uint32 which_sim);
+extern void sim_hot_swap_poll_timer_rollback_ind_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+#endif
+
+extern void sim_application_ready_ind(kal_uint8 *imsi, sim_context_struct *this_sim);
+
+/* kal_bool sim_create_timer (void); */
+
+extern kal_bool sat_start_timer(kal_uint8 timer_id, kal_uint8 *data, sim_context_struct *this_sim);
+extern kal_uint32 sat_stop_timer(kal_uint8 timer_id, sim_context_struct *this_sim);
+extern void sat_pending_refresh_timer_expiration(sim_context_struct *this_sim);
+extern void sat_start_pending_refresh_timer(kal_uint32 time_out, sim_context_struct *this_sim);
+extern void sat_stop_pending_refresh_timer(sim_context_struct *this_sim);
+extern void sat_stop_timers_for_dss(sim_ps_context_struct *this_ps_context);
+
+extern void sat_evdl_location_status(sim_context_struct *this_sim, kal_uint8 mm_status, kal_uint8 *location_info);
+extern void sat_evdl_access_technology_change(sim_context_struct *this_sim, kal_uint8 rat_status);
+extern sim_cmd_result_enum sat_evdl_plmn_information(sim_context_struct *this_sim, kal_uint8 *plmn_id, kal_uint16 *status_word);
+extern void sat_evdl_nw_search_mode_change(sim_context_struct *this_sim);
+
+extern kal_bool sim_check_card_exist(sim_context_struct *this_sim);
+extern kal_bool sim_support_module(module_type src_mod_id, sim_context_struct *this_sim);
+
+/*[MAUI_02356453] 20110123 mtk01612: sim_smu_error_ind is removed due to no need after MAUI_01815935*/
+
+extern sim_cmd_result_enum usim_al_recovery(sim_context_struct *this_sim);
+extern sim_cmd_result_enum isim_al_recovery(usim_logic_channel_enum *channel, sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_recovery(sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_exception_handle(sim_context_struct *this_sim);
+extern sim_cmd_result_enum isim_exception_handle(usim_logic_channel_enum *channel, sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_exception_handle(sim_context_struct *this_sim);
+
+extern void usim_startup_read(kal_uint8 access_id, kal_uint8 *pin1, sim_context_struct *this_sim);
+extern kal_bool usim_update_cache_file(sat_file_change_ind_struct *sat_file_change_ind_ptr, sim_context_struct *this_sim);
+extern void usim_initialization_cache_read(sim_context_struct *this_sim);
+extern void usim_initialization(sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_check_dn_type(sim_dn_enum *dn_type, sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_read_iccid(kal_uint8 *iccid, kal_uint16 *status_word, sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_get_aid(kal_uint16 *status_word, uicc_app_type_enum app_type, usim_logic_channel_enum channel_id, sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_read_ad(kal_uint8 *ue_operation_mode, kal_uint16 *status_word, sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_read_ufc(kal_uint8 *ufc, kal_uint16 *ufc_len, kal_uint16 *status_word, sim_context_struct *this_sim);
+
+extern void isim_initialization(usim_logic_channel_enum channel, sim_context_struct *this_sim);
+extern void isim_startup_read(kal_uint8 access_id, kal_uint8 *pin1, usim_logic_channel_enum channel, sim_context_struct *this_sim);
+extern kal_bool isim_update_cache_file(sat_file_change_ind_struct *sat_file_change_ind_ptr, sim_context_struct *this_sim);
+extern void isim_initialization_cache_read(sim_context_struct *this_sim);
+
+extern void sim_get_dn_type(sim_dn_enum *type, sim_phase_enum phase, sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_select(
+                        sim_file_index_enum file_idx,
+                        kal_uint8 *path,
+                        kal_uint8 *select_rsp_ptr,
+                        kal_uint16 *status_word,
+                        sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum sim_read_service_table(sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_read_service_table(sim_context_struct *this_sim);
+
+extern void sat_evdl_location_status_retry(sim_context_struct *this_sim, kal_uint8 *envelope_data, kal_uint8 length);
+
+extern void sat_procomm_play_tone(
+                kal_uint8 *cmd_detail,
+                kal_uint8 *data,
+                kal_uint8 len,
+                sim_context_struct *this_sim);
+extern void sat_procomm_refresh(kal_uint8 *cmd_detail, kal_uint8 *data, kal_uint8 len, sim_context_struct *this_sim);
+extern void sat_procomm_poll_interval(
+                kal_uint8 *cmd_detail,
+                kal_uint8 *data,
+                kal_uint8 len,
+                sim_context_struct *this_sim);
+extern void sat_procomm_polling_off(
+                kal_uint8 *cmd_detail,
+                kal_uint8 *data,
+                kal_uint8 len,
+                sim_context_struct *this_sim);
+
+extern void sat_procomm_provide_local_info(
+                kal_uint8 *cmd_detail,
+                kal_uint8 *data,
+                kal_uint8 len,
+                sim_context_struct *this_sim);
+
+#ifdef __SAT__
+extern sim_cmd_result_enum sat_timer_expiration_retry(sim_context_struct *this_sim);
+extern sim_cmd_result_enum sat_envelope_retry(sim_context_struct *this_sim);
+extern void sat_procomm_setup_call(
+                kal_uint8 *cmd_detail,
+                kal_uint8 *data,
+                kal_uint8 len,
+                kal_uint8 is_type_changed,
+                sim_context_struct *this_sim);
+#endif
+
+/* extern void save_security_to_nvram(kal_uint8 src_id); */
+
+extern void sim_al_queryspeed(sim_context_struct *this_sim);
+
+/*[MAUI_00479434] mtk01612: csim feature*/
+extern sim_cmd_result_enum sim_check_status(kal_uint16 status_word, sim_context_struct *this_sim);
+
+#ifdef __APVSIM__
+extern void sim_set_apvsim_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_rsa_hot_plug_out_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_rsa_hot_plug_in_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_rsa_apdu_rsp_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_rsa_atr_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+/* MAUI_01949579 mtk02374 20090903 for CTA GEMINI new bootup*/
+extern void sim_reset_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim); //mtk02374 20090811 add for CTA new dual sim standard
+extern void sim_start_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_app_start_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_run_algo_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_read_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_write_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_increase_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_security_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_timer_expiry_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_write_to_cache(sim_file_index_enum file_idx,
+                               kal_uint8 *buff_data_ptr,
+                               kal_uint16 buff_len,
+                               kal_uint16 status_word,
+                               sim_context_struct *this_sim,
+                               kal_bool is_usim_init);
+extern void sim_initialize_cache(uicc_app_type_enum app_id, sim_context_struct *this_sim);
+extern void usim_cache_ready_ind(uicc_app_type_enum app_id, sim_context_struct *this_sim);
+
+extern void usim_update_netpar_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void usim_acl_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void usim_dial_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void usim_authenticate_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_file_info_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __SIM_DUMMY_CMD__
+extern void sim_seek_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern sim_cmd_result_enum sim_al_seek(
+                            sim_seek_type_mode_enum type_mode,
+                            kal_uint8 len,
+                            kal_uint8 *pattern,
+                            kal_uint8 *rec_num,
+                            sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_al_deactivate_file(
+                            sim_file_index_enum,
+                            kal_uint8 *,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+extern sim_cmd_result_enum usim_al_activate_file(
+                            sim_file_index_enum,
+                            kal_uint8 *,
+                            kal_uint16 *,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+extern sim_cmd_result_enum usim_al_get_challenge(
+                            kal_uint8 *,
+                            kal_uint16,
+                            usim_logic_channel_enum,
+                            sim_context_struct *);
+
+#endif
+
+extern void sim_dial_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_status_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_poweroff_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_switch_start_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_switch_reinit_stage_handler(sim_context_struct *this_sim);
+extern void sim_read_plmn_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_write_plmn_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_sat_ready_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __SIM_UNIT_TEST__
+extern void sim_tst_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+#ifdef __SIM_HOT_SWAP_SUPPORT__
+extern void sim_plug_out_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_plug_in_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+/*mtk01612: [MAUI_03020152] sync polling timer*/
+#if defined(__SIM_SYNC_POLL_TIMER__)
+extern void sim_sync_poll_timer_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+extern void sim_recovery_enhancement_switch_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_start_recovery_timer(sim_context_struct *this_sim);
+extern void sim_stop_recovery_timer(sim_context_struct *this_sim, kal_bool power_off_by_l4);
+#ifdef __SIM_EXTEND_RECOVERY_PATTERN__ // intended for special request
+kal_uint32 sim_extend_recovery_pattern_timer(sim_context_struct *this_sim);
+#endif
+
+#ifdef __SAT__
+extern void sat_card_release_clear_procomm_context(sat_clear_procomm_reason_enum reason, sim_context_struct *this_sim);
+extern void sat_clear_procomm_context(sat_clear_procomm_reason_enum reason, sim_context_struct *this_sim);
+extern void sat_proactive_cmd_handler(ilm_struct *ilm_ptr, sim_context_struct *this_sim);
+extern void sat_proactive_cmd_process(sim_context_struct *this_sim);
+extern void sat_file_change_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_more_time_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_send_sms_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_send_ss_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_send_ussd_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_setup_call_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_call_status_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_sms_dl_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_cb_dl_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_nas_sv_sor_secure_packet_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_vgmm_secure_packet_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_general_sms_pp_dl_ind_handler(kal_uint8 *in_pdu_ptr, kal_uint16 in_pdu_len, void *out_rsp_ptr, sim_context_struct *this_sim);
+extern void sat_call_ctrl_by_sim_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_send_sms_ctrl_by_sim_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_init_refresh_context(kal_uint8 refresh_type, kal_uint8 src_id, kal_uint8 cmd_num, sim_context_struct *this_sim);
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+extern void sat_refresh_voting_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_call_ctrl_result_noti_hdlr(kal_uint8 old_type, kal_uint8* envelope_data, kal_uint8 size_of_envelope_data, kal_uint8* rsp_data, kal_uint16 size_of_rsp_data, sim_context_struct *this_sim);
+extern void sat_save_event_in_terminal_profile(kal_uint8 *term_prfl, kal_uint8 term_prfl_len, sim_context_struct *this_sim);
+extern kal_bool sat_is_event_in_terminal_profile(sat_event_list_enum event_num, sim_context_struct *this_sim);
+extern void sat_add_support_event(sat_event_list_enum event_num, sim_context_struct *this_sim);
+#endif
+extern void sat_send_file_change_ind(sim_context_struct *this_sim);
+extern void sat_resend_file_change_ind(sim_context_struct *this_sim);
+extern void sat_file_change_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_provide_local_information_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_time_zone_info_ind_handler(ilm_struct * sim_ilm_ptr,sim_context_struct * this_sim);
+extern kal_uint8* sat_encode_date_time_zone(kal_uint8* buf_ptr, sim_context_struct *this_sim);
+extern void update_first_time_location_info_via_event_download(sim_context_struct *this_sim);
+extern kal_bool check_me_call_connect(sim_context_struct *this_sim);
+extern void sat_pdp_status_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_reissue_refresh_checker(sat_reissue_check_src_enum src, sim_context_struct *this_sim);
+extern void sat_reissue_refresh_handler(kal_uint8 *cmd_detail, kal_uint8 *data, kal_uint8 len, sim_context_struct *this_sim);
+extern void sat_mm_connection_info_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_emm_connnection_info_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_ecc_session_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_d2cm_event_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_dm_session_status_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_sms_permission_to_issue_refresh_cnf_handler(sim_context_struct *this_sim);
+
+extern void build_terminal_response(
+        kal_uint8 *cmd_detail,
+        sat_terminal_res_enum result,
+        kal_uint8 *additional_info,
+        kal_uint8 size_of_additional_info,
+        kal_uint8 *appended_data,
+        kal_uint8 size_of_appended_data,
+        sim_context_struct *this_sim);
+
+extern void sat_force_uicc_reset_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+/* Remote SAT */
+extern void rsat_envelope_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void rsat_terminal_rsp_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_rat_select_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#if 0 //andrew 20081205 RSAT don't do profile_download
+/* under construction !*/
+#endif
+/* End Remote SAT */
+
+#ifdef __SATCB__
+extern void sat_run_at_command_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+extern void sat_send_dtmf_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_language_notification_res_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_evdl_mt_call_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_evdl_call_connect_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_evdl_call_disconnect_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_evdl_user_activity_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __SATCA__
+extern void sat_evdl_card_reader_status_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+extern void sat_evdl_access_technology_change_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim); /* mtk01488 */
+extern void sat_evdl_data_connect_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_inject_proactive_cmd_ind_handler(ilm_struct *ilm_ptr, sim_context_struct *this_sim);
+#endif /* __SAT__ */
+
+#ifdef __SATCE__
+extern void sat_check_bip_error(sim_error_cause_enum cause, sim_context_struct *this_sim);
+#endif
+
+#ifdef __SATCL__
+extern void sat_activate_res_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+#endif
+
+extern void sat_evdl_hci_connectivity_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_evdl_network_reject_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_evdl_ims_registration_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+/* __SATCR__*/
+extern void sat_contactless_state_changed_res_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+
+extern void sat_plmn_info_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_config_cmd_rule_with_card(sim_context_struct *this_sim);
+extern void sat_set_rat_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_msisdn_info_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_msisdn_envelope_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_send_nwsel_susp_resu_update_req(susp_resu_action_enum action, sim_context_struct *this_sim);
+extern void sat_send_nwsel_susp_resu_update_cnf(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_recv_nwsel_suspend_status_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_dynamic_sim_switch_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __BT_SIM_PROFILE__
+extern void bt_sim_connect_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void bt_sim_reset_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void bt_sim_apdu_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void bt_sim_disconnect_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void bt_sim_power_off_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void bt_sim_power_on_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim); /*mtk01612: [MAUI_02356228]*/
+#endif
+
+extern void sim_cdma_error_handler(sim_error_cause_enum cause, sim_context_struct *this_sim);
+
+extern void sim_error_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __VSIM__
+extern void l4c_sim_set_vsim_mode_v1_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_set_vsim_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void vsim_error_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)
+extern void l4c_sim_vsim_update_param_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif/*#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)*/
+
+#endif /* __VSIM__ */
+
+#ifdef __MDVSIM__
+extern void l4c_sim_set_vsim_mode_v2_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_set_vsim_profile_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_set_vsim_ki_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_set_vsim_ki_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_set_vsim_file_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_get_vsim_rsa_pubkey_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void l4c_sim_keygen_key_ready_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void *sim_mem_move(void *dst_void, const void *src_void, int length);
+
+extern void sim_mdvsim_nvram_read_data_hexdump(nvram_lid_core_enum lid, kal_uint8 rec_idx, kal_uint8 *data_ptr, kal_uint16 file_size);
+
+extern void sim_read_nvram_vsim_profile(kal_uint8 profile_id, nvram_ef_vsim_profile_struct *vsim_prof_buf, sim_context_struct *this_sim);
+
+extern void sim_write_nvram_vsim_profile(kal_uint8 profile_id, nvram_ef_vsim_profile_struct *vsim_prof_buf, sim_context_struct *this_sim);
+
+extern void sim_read_nvram_vsim_ef(kal_uint8 profile_id, uicc_card_type_enum vsim_type, nvram_vsim_ef_file_struct *vsim_ef_buf, sim_context_struct *this_sim);
+
+extern void sim_write_nvram_vsim_ef(kal_uint8 profile_id, kal_uint16 file_id, uicc_card_type_enum vsim_type, nvram_vsim_ef_file_struct *vsim_ef_buf, sim_context_struct *this_sim);
+
+extern void sim_read_nvram_vsim_config(nvram_ef_vsim_config_struct *vsim_conf_buf, sim_context_struct *this_sim);
+
+extern void sim_write_nvram_vsim_config(nvram_ef_vsim_config_struct *vsim_conf_buf, sim_context_struct *this_sim);
+
+extern void sim_read_nvram_vsim_asym_key(kal_uint8 key_idx, nvram_ef_vsim_rsa_key_struct *vsim_key_buf, sim_context_struct *this_sim);
+#endif /* __MDVSIM__ */
+
+extern void sim_apdu_access_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_manage_channel_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#ifdef __SIM_UT__
+extern void sim_error_test_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+extern void sim_query_info_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_get_atr(kal_uint8 *length, kal_uint8 *atr, sim_context_struct *this_sim);
+kal_bool sim_euicc_checking_atr(sim_context_struct *this_sim);
+
+extern void sim_terminal_capability_setting_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_read_imsi_iccid_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_read_dir_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern kal_bool sim_send_status_ind(sim_context_struct *this_sim);
+extern kal_bool sim_send_status_ind_oneway(sim_context_struct *this_sim);
+extern void cdma_reset_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_get_identity_req_handler(const ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_cdma_clear_context(sim_context_struct *this_sim);
+extern kal_bool sim_reset_method(sim_context_struct *this_sim);
+
+extern kal_bool sim_is_uicc_card(usim_logic_channel_enum channel, kal_uint8 simInterface);
+
+extern DCL_STATUS sim_driver_reset_api(DCL_SIM_POWER ExpectVolt, DCL_SIM_POWER *ResultVolt_ptr, kal_bool warm, DCL_SIM_STATUS *RstResult_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_cmd_api(kal_uint8 *txData_ptr, kal_uint32 *txSize_ptr, kal_uint8 *rxData_ptr, kal_uint32 *rxSize_ptr, kal_uint16 *statusWord_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_card_info_api(DCL_SIM_INFO *info_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_sim_tray_status_api(DCL_SIM_INFO *info_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_set_clk_stop_mode_api(DCL_SIM_CLK_STOP mode, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_poweroff_api(sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_speed_api(DCL_SIM_CARD_SPEED *speed_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_query_9000OnSelect_api(DCL_BOOL *got9000_ptr, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_get_card_error_types_info_api(DCL_SIM_INFO *info_ptr, sim_context_struct *this_sim);
+
+extern DCL_STATUS sim_driver_long_case4_api(kal_uint8 *txData_ptr, kal_uint32 *txSize_ptr, kal_uint8 *rxData_ptr, kal_uint32 *rxSize_ptr, kal_uint16 *statusWord_ptr, sim_context_struct *this_sim);
+
+extern DCL_STATUS sim_driver_set_owner_task_api(sim_context_struct *this_sim);
+
+#ifdef IC_MODULE_TEST
+extern DCL_STATUS sim_driver_set_slt_rlt_api(DCL_BOOL rlt, sim_context_struct *this_sim);
+#endif
+
+#if (!defined(__MTK_TARGET__) && defined(__SIM_UNIT_TEST__))
+extern DCL_STATUS sim_driver_ut_reset_uicc_status_api(sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_ut_reset_pin_cnr_api(kal_bool pin1_enabled, kal_bool pin2_enabled, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_ut_reset_chv_cnr_api(kal_bool pin1_enabled, sim_context_struct *this_sim);
+extern DCL_STATUS sim_driver_ut_cmd_block_api(kal_bool block_enabled, sim_context_struct *this_sim);
+extern kal_bool is_sim_card_replaced(sim_context_struct *this_sim);
+
+extern DCL_STATUS sim_driver_ut_inject_sat_cmd_api(kal_uint8 *cmd_data, kal_uint16 cmd_len, sim_context_struct *this_sim);
+#endif
+
+#ifdef __SIM_HOT_SWAP_SUPPORT__
+extern void sim_process_plug_out(sim_context_struct *this_sim);
+extern void sim_plug_out_call_back(kal_uint32 which_sim);
+extern void sim_plug_in_call_back(kal_uint32 which_sim);
+extern void sim_phy_plug_out_event_handle(sim_context_struct *this_sim);
+extern void sim_phy_plug_in_event_handle(sim_context_struct *this_sim);
+#endif
+
+/*mtk01612: [MAUI_03020152] sync polling timer*/
+#if defined(__SIM_SYNC_POLL_TIMER__)
+extern void sim_sync_poll_timer_handle(sim_context_struct *this_sim);
+#endif
+
+extern sim_file_index_enum sim_get_grand_parent_file_idx(sim_file_index_enum file_index);
+
+extern void sat_profile_write_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sat_profile_activate_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern kal_bool sat_terminal_profile_conflict_check(sim_profile_storage_enum st,
+                                                    kal_bool reset,
+                                                    kal_uint8 *profile,
+                                                    kal_uint16 profile_len,
+                                                    sim_profile_storage_enum *conflict_st,
+                                                    sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_read_imsip_reg_mode(kal_uint8 *imsi_p, kal_uint16 *status_word, sim_context_struct *this_sim);
+
+extern void sim_set_registration_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern kal_bool sim_is_ct_card_detect(kal_uint8 ps_id);
+
+extern void extra_file_selection_after_sat_cmd(sim_context_struct *this_sim);
+
+#ifdef __MODEM_EM_MODE__
+extern void sim_update_em_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_card_clear_em_parameters(sim_context_struct *this_sim);
+extern void sim_em_send_monitor_event_info(sim_context_struct *this_sim, kal_uint32 count, sim_monitor_type monitor_event);
+extern void sim_generic_send_em_ind(em_info_enum em_info, void *data, sim_context_struct *this_sim);
+extern void sim_send_em_apdu_ind(kal_uint8 *txData,
+                       kal_uint32 txSize,
+                       kal_uint8 *rxData,
+                       kal_uint32 rxSize,
+                       kal_uint16 status_word,
+                       sim_context_struct *this_sim);
+extern void sim_em_stop_sim_error_timer(sim_context_struct *this_sim);
+extern void sim_em_start_sim_error_timer(sim_context_struct *this_sim);
+#endif
+
+extern void cdma_init_card_dependent_context(sim_context_struct *this_sim);
+
+extern kal_bool sim_set_test_sim_from_nvram(sim_context_struct *this_sim);
+
+extern kal_bool nvram_external_write_data(nvram_lid_enum LID, kal_uint16 rec_index, kal_uint8 *buffer, kal_uint32 buffer_size); // from nvram_interface.c
+
+extern kal_bool nvram_external_read_data(nvram_lid_enum LID, kal_uint16 rec_index, kal_uint8 *buffer, kal_uint32 buffer_size); // from nvram_interface.c
+
+extern kal_bool fcp_file_size_set(kal_uint8 *in_ptr, kal_int16 len, usim_file_size_struct *filled_struct_ptr);
+
+extern void sim_get_mcc_from_imsi(const kal_uint8 *imsi_p, kal_char *mcc_str_ptr);
+extern void sim_get_mnc_from_imsi(const kal_uint8 *imsi_p, kal_char *mnc_str_ptr, kal_uint8 mnc_length);
+
+extern void sim_update_error_file_list(sim_file_index_enum file_idx, sim_context_struct *this_sim, kal_bool error_resp, kal_bool is_read);
+extern kal_bool sim_check_file_allowed(sim_file_index_enum file_idx, sim_context_struct *this_sim);
+
+extern void sim_ap_simpower_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void usim_application_ready_ind(uicc_app_type_enum app_type,
+                                       peer_buff_struct *peer_buff,
+                                       kal_uint8 *imsi_ptr,
+                                       sim_context_struct *this_sim);
+extern void isim_open_channel_and_init(kal_uint8 *pin1, sim_context_struct *this_sim);
+extern void usim_send_start_confirm_hdlr(uicc_app_type_enum app_type, sim_start_cnf_struct *ptr, sim_context_struct *this_sim);
+
+#ifdef __CDMA2000_RAT__
+extern void sim_roaming_state_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_xtk_switch_handler(kal_bool switch_to_utk, sim_context_struct *this_sim);
+extern void uim_sim_send_ilm(kal_uint16 msg_id, void *local_param_ptr, void *peer_buf_ptr, sim_context_struct *this_sim);
+extern kal_bool uim_sat_proactive_command_ind_hdlr(kal_uint8 *sat_cmd_detail, sat_proactive_cmd_ind_struct *sat_proactive_cmd_ind_ptr, sim_context_struct *this_sim);
+extern void uim_sat_terminal_rsp_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void uim_sat_envelope_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern kal_bool uim_sat_send_proactive_command(kal_uint8 *cmd, kal_uint8 cmd_len, sim_context_struct *this_sim);
+extern void sat_utk_enabled_update_req(kal_bool utk_enabled, sim_context_struct *this_sim);
+extern void sat_ct_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sat_cdma_capability_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+extern kal_bool is_dual_mode_card(sim_context_struct *this_sim);
+extern void usim_uim_startup_read_finish_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void usim_uim_app_ready_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_startup_read_after_start_cnf(sim_cmd_result_enum ret_val, sim_context_struct *this_sim);
+extern void usim_startup_read_after_start_cnf(sim_context_struct *this_sim);
+extern kal_bool sat_cmd_tr_pairing_checking(kal_uint16 tr_cmd_id, kal_uint8 *tr_cmd_detail, sim_context_struct *this_sim);
+extern void sat_envelope_debug_trace(kal_uint8 *txData, kal_uint32 *txSize, sim_context_struct *this_sim);
+extern void sat_send_refresh_end_ind(sim_context_struct *this_sim);
+
+#ifdef __SAT_SIMULATOR__
+kal_uint16 sat_simulator_unknown_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+
+/* Envelope Tag */
+kal_uint16 sat_simulator_menu_selection_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_call_control_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_mo_sms_control_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_event_dl_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_timer_expire_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+
+/* Payload Tag */
+kal_uint16 sat_simulator_cmd_detail_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_device_id_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_result_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_alpha_id_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_address_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_item_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_item_id_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_location_information_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_event_list_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_location_status_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+kal_uint16 sat_simulator_access_tech_change_tag_hdlr(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+
+typedef kal_uint16 (*sat_simulator_envelope_tag)(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+
+typedef kal_uint16 (*sat_simulator_tag)(kal_uint8 *data, kal_uint16 len, sim_context_struct *this_sim);
+
+typedef kal_uint16 (*sat_simulator_get_input_callback)(kal_uint8 *data, sim_context_struct *this_sim);
+typedef kal_uint16 (*sat_simulator_display_text_callback)(sim_context_struct *this_sim);
+
+extern void sat_simulator_turn_on_status(sim_context_struct *this_sim);
+extern void sat_simulator_update_state(sat_simulator_state_enum new_state, sim_context_struct *this_sim);
+extern kal_bool sat_simulator_is_turn_on(sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_fetch(kal_uint8 *rxData, kal_uint32 *rxSize, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_init(sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_envelope(kal_uint8 *txData, kal_uint32 *txSize, kal_uint8 *rxData, kal_uint32 *rxSize, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_menu_select_hdlr(kal_uint8 selected_menu_item, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_terminal_response(kal_uint8 *txData, kal_uint32 *txSize, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_tr_checker_hdlr(kal_uint8 *raw_result, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_display_text_hdlr(sat_simulator_display_text_type_enum type, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_send_display_text(kal_char *str, sat_simulator_display_text_type_enum type, sim_context_struct *this_sim);
+extern void sat_simulator_get_item_list(sat_simulator_item_list_struct *item_list, sim_context_struct *this_sim);
+extern kal_uint16 sat_simulator_send_select_item(sat_simulator_item_list_struct *item_list, kal_uint8 start_idx, sim_context_struct *this_sim);
+
+#endif /* __SAT_SIMULATOR__ */
+
+extern void sat_send_location_status_and_access_technology_event(sim_context_struct *this_sim);
+
+extern void sim_msg_redirect_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void sim_l4c_general_modem_config_query_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_l4c_general_modem_config_set_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+
+#define SIM_EF_INFO(sim_file_index_enum, X) sim_ef_info[sim_file_index_enum].X
+
+#define SIM_QUERY_SST(n) (((this_sim->sim_sst[(kal_uint8)((n)-1)/4]&(0x03<<(((kal_uint8)((n)-1)%4)*2)))==(0x03<<(((kal_uint8)((n)-1)%4)*2)))\
+      ? KAL_TRUE:KAL_FALSE)
+
+#define SIM_TIMER_CONTEXT_FIELD(X) (this_sim->sim_timer_context.X)
+
+#define USIM_CH_PTR(channel)  (&(this_sim->uicc_ch_info[channel]))
+#define USIM_CURRENT_FILE_QUERY(channel)  (this_sim->uicc_ch_info[channel].sim_current_file_idx)
+#define USIM_CURRENT_DF_QUERY(channel)    (this_sim->uicc_ch_info[channel].sim_current_df_idx)
+#define USIM_CURRENT_DF_ID_QUERY(channel)    (this_sim->uicc_ch_info[channel].sim_current_df_file_id) // __CSIM__
+#define USIM_CURRENT_PATH_QUERY(channel) (this_sim->uicc_ch_info[channel].uicc_current_path)
+#define USIM_CURRENT_FILE_SIZE_QUERY(channel) (this_sim->uicc_ch_info[channel].file_size)
+#define USIM_CURRENT_FILE_TYPE_QUERY(channel) (this_sim->uicc_ch_info[channel].file_type)
+#define USIM_CURRENT_REC_SIZE_QUERY(channel)  (this_sim->uicc_ch_info[channel].rec_size)
+#define USIM_CURRENT_NUM_OF_REC_QUERY(channel) (this_sim->uicc_ch_info[channel].rec_num)
+
+/* Update File context by APDU */
+#define USIM_CURRENT_FILE_UPDATE(channel)  (this_sim->uicc_ch_info[channel].sim_current_file_idx)
+#define USIM_CURRENT_DF_UPDATE(channel)    (this_sim->uicc_ch_info[channel].sim_current_df_idx)
+#define USIM_CURRENT_DF_ID_UPDATE(channel)    (this_sim->uicc_ch_info[channel].sim_current_df_file_id) // __CSIM__
+#define USIM_CURRENT_PATH_UPDATE(channel) (this_sim->uicc_ch_info[channel].uicc_current_path)
+#define USIM_CURRENT_FILE_SIZE_UPDATE(channel) (this_sim->uicc_ch_info[channel].file_size)
+#define USIM_CURRENT_FILE_TYPE_UPDATE(channel) (this_sim->uicc_ch_info[channel].file_type)
+#define USIM_CURRENT_REC_SIZE_UPDATE(channel)  (this_sim->uicc_ch_info[channel].rec_size)
+#define USIM_CURRENT_NUM_OF_REC_UPDATE(channel) (this_sim->uicc_ch_info[channel].rec_num)
+#define USIM_RX_BUFF_PTR (&(this_sim->rx_tmp_buff))
+
+#define USIM_CURRENT_FD(channel) (this_sim->uicc_ch_info[channel].file_descriptor)
+
+/* Service Table Query Macro */
+#define USIM_UST_MASK(x) (0x01 << ((x-1)%8))
+
+#define USIM_QUERY_UST(n)  (((this_sim->usim.ust[((n-SERVICE_END)-1)/8] & USIM_UST_MASK(n-SERVICE_END)) == \
+                           USIM_UST_MASK(n-SERVICE_END)) ? KAL_TRUE:KAL_FALSE)
+
+#define USIM_QUERY_EST(n)  (((this_sim->usim.est[(n-1)/8] & USIM_UST_MASK(n)) == \
+                           USIM_UST_MASK(n)) ? KAL_TRUE:KAL_FALSE)
+
+#define ISIM_QUERY_IST(n)  (((this_sim->isim.ist[((n-SERVICE_U_END)-1)/8] & USIM_UST_MASK(n-SERVICE_U_END)) == \
+                           USIM_UST_MASK(n-SERVICE_U_END)) ? KAL_TRUE:KAL_FALSE)
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER__
+#define SIM_HOT_SWAP_POLL_CONTEXT(X) (this_sim->sim_hot_swap_poll_timer.type.hot_swap_poll.X)
+#endif
+
+/*terminal profile support query macro*/
+#define SIM_TERM_PROFILE_MASK(x) (0x01 << ((x-1)%8))
+
+#define SIM_QUERY_TERM_PROFILE(n)  (((this_sim->sat.current_sim_profile[(n-1)/8] & SIM_TERM_PROFILE_MASK(n)) == \
+                                   SIM_TERM_PROFILE_MASK(n)) ? KAL_TRUE:KAL_FALSE)
+
+/* USIM proprietary information */
+#define SET_PROP_UICC_CHAR_EXIST(X)        ((X) |= 0x01)
+#define SET_PROP_APP_PWR_EXIST(X)           ((X) |= 0x02)
+#define SET_PROP_MIN_APP_CLK_EXIST(X)    ((X) |= 0x04)
+#define SET_PROP_AVAIL_MEM_EXIST(X)       ((X) |= 0x08)
+#define SET_PROP_SUPPORTED_SYS_CMD_EXIST(X)       ((X) |= 0x10)
+
+#define IF_PROP_UICC_CHAR_EXIST(X)      ((X)&0x01)
+#define IF_PROP_APP_PWR_EXIST(X)         ((X)&0x02)
+#define IF_PROP_MIN_APP_CLK_EXIST(X)  ((X)&0x04)
+#define IF_PROP_AVAIL_MEM_EXIST(X)      ((X)&0x08)
+#define IF_SUPPORTED_SYS_CMD_EXIST(X)      ((X)&0x10)
+
+/* File descriptor byte */
+#define IS_SHAREABLE_FILE(X) (0x40 & (X))
+#define IS_DF_ADF(X)    (((0x39 & (X)) == 0x38) ? KAL_TRUE : KAL_FALSE)
+#define IS_TRANSPARENT_EF(X) (((0x07 & (X)) == 0x01) ? KAL_TRUE : KAL_FALSE)
+#define IS_LINEAR_FIXED_EF(X) (((0x07 & (X)) == 0x02) ? KAL_TRUE : KAL_FALSE)
+#define IS_CYCLIC_EF(X) (((0x07 & (X)) == 0x06) ? KAL_TRUE : KAL_FALSE)
+#define IS_BER_TLV_EF(X) (((0x3F & (X)) == 0x39) ? KAL_TRUE : KAL_FALSE)
+
+#define __SIM_TRACE_ON__
+
+#ifdef __SIM_TRACE_ON__
+/*#define SIM_FUNC_ENTRY(X)     kal_trace(TRACE_FUNC, X)*/
+/*#define SIM_STATE_ENTRY(X)    kal_brief_trace(TRACE_STATE, X)*/
+/*#define SIM_INFO_ENTRY(X,Y,Z) kal_brief_trace(TRACE_INFO, X, Y, Z)*/
+/*#define SIM_WARNING_ENTRY(X)  kal_brief_trace(TRACE_WARNING, X)*/
+/*#define SIM_ERROR_ENTRY(X)    kal_brief_trace(TRACE_ERROR, X)*/
+/*#define SIM_TIMING_ENTRY(X)   kal_trace(TRACE_GROUP_3, X)*/
+/*#define SIM_GROUP2_ENTRY(X)   kal_brief_trace(TRACE_GROUP_3, X)*/
+#else
+/*#define SIM_FUNC_ENTRY(X)*/
+/*#define SIM_STATE_ENTRY(X)*/
+/*#define SIM_INFO_ENTRY(X,Y,Z)*/
+/*#define SIM_WARNING_ENTRY(X)*/
+/*#define SIM_ERROR_ENTRY(X)*/
+/*#define SIM_TIMING_ENTRY(X)*/
+/*#define SIM_GROUP2_ENTRY(X)*/
+#endif
+
+#define VSIM_RAND(seed) (asym_key[0].m_E_key[20]*(seed+13) + asym_key[0].m_N_key[21]*(seed+17) + asym_key[0].m_D_key[22])  // magic number for rand()
+
+/* The following is macro definition about MCD */
+#define SIM_MCD_PACK(STRUCTID, PEER_MSG, PEER_BUFF, this_sim) \
+   sim_mcd_pack(STRUCTID,                                     \
+               (kal_uint8*)PEER_MSG,                          \
+               PEER_BUFF, this_sim);
+
+#ifdef __SATCE__
+#define SIM_MCD_UNPACK(UNPACK_FUNC, STRUCTID, STRUCT, MSG_PTR, PEER_BUFF, this_SIM) { \
+   MSG_PTR = (STRUCT*)this_sim->sat.sim_pun_buff;                                         \
+   sim_mcd_unpack(STRUCTID, PEER_BUFF, this_SIM); }
+#endif
+
+#if defined(__APVSIM__)
+#define sim_wait_ext_msg(this_sim, msg_id, ilm_ptr) \
+{ \
+    kal_uint32 MsgId; \
+    MsgId = msg_id; \
+    sim_int_wait_ext_msg(this_sim, &MsgId, 1, ilm_ptr, 0xFFFFFFFF); \
+}
+
+#define sim_wait_ext_msg_with_timeout(this_sim, msg_id, ilm_ptr, timeout) \
+{ \
+    kal_uint32 MsgId; \
+    MsgId = msg_id; \
+    sim_int_wait_ext_msg(this_sim, &MsgId, 1, ilm_ptr, timeout); \
+}
+
+#define sim_wait_multi_ext_msg_with_timeout(this_sim, msg_id_list, msg_id_num, ilm_ptr, timeout) \
+{ \
+    sim_int_wait_ext_msg(this_sim, msg_id_list, msg_id_num, ilm_ptr, timeout); \
+}
+#endif
+
+#if defined(__APVSIM__) || defined(__SIM_UNIT_TEST__)
+#define sim_wait_multi_ext_msg(this_sim, msg_id_list, msg_id_num, ilm_ptr) \
+{\
+    sim_int_wait_ext_msg(this_sim, msg_id_list, msg_id_num, ilm_ptr, 0xFFFFFFFF);\
+}
+#endif
+
+#define SIM_DSS_STATE_SET(_state_, _this_sim_)\
+{\
+    if (_state_ != (_this_sim_)->dss.switch_state) { (_this_sim_)->dss.switch_state = _state_;  MD_TRC_INFO_DSS_STATE((_state_)); }\
+}
+
+#define SIM_DSS_PLUG_EVENT_SET(_sim_slot_id_, _event_, _this_sim_)\
+{\
+    if (_event_ != (_this_sim_)->dss.event_queue.final_event) { \
+    (_this_sim_)->dss.event_queue.final_event = _event_;  \
+    MD_TRC_INFO_DSS_FINAL_PLUG_EVENT(_sim_slot_id_, _event_); \
+    }\
+}
+
+#define SIM_DUMP_CONTEXT_ASSERT(_expr_, _this_sim_) \
+{ \
+    if(!(_expr_)) { \
+        sim_dump_context_send_ind(_this_sim_); \
+        ASSERT(_expr_); \
+    } \
+}
+
+#define SIM_DUMP_CONTEXT_MD_WARNING(_expr_, _message_, _this_sim_) \
+{ \
+    if (!(_expr_)) { \
+        sim_dump_context_send_ind(_this_sim_); \
+        MODEM_WARNING_MESSAGE(_expr_, _message_); \
+    } \
+}
+
+#define SIM_DUPLEX_STATE_SET(_state_, _this_sim_)\
+{\
+    if (_state_ != (_this_sim_)->sim_duplex_state) { (_this_sim_)->sim_duplex_state = _state_;  MD_TRC_INFO_DUPLEX_STATE((_state_)); }\
+}
+
+extern void sim_dump_context_send_ind(sim_context_struct *this_sim);
+
+
+#define SIM_CHECK_INPUT_SIM_PS_ID_RANGE(_sim_ps_id_, _up_bound_, _low_bound_)                        \
+    {                                                                                                \
+        if (((_sim_ps_id_) >= (_up_bound_)) || ((_sim_ps_id_) < 0))                                  \
+        {                                                                                            \
+            MD_TRC_ERROR_SIM_INTERFACE_ERROR((_sim_ps_id_), __FUNCTION__);                           \
+            return;                                                                                  \
+        }                                                                                            \
+    }
+
+#define SIM_CHECK_INPUT_SIM_PS_ID_RANGE_R(_sim_ps_id_, _up_bound_, _low_bound_, _return_value_)      \
+    {                                                                                                \
+        if (((_sim_ps_id_) >= (_up_bound_)) || ((_sim_ps_id_) < 0))                                  \
+        {                                                                                            \
+            MD_TRC_ERROR_SIM_INTERFACE_ERROR((_sim_ps_id_), __FUNCTION__);                           \
+            return (_return_value_);                                                                 \
+        }                                                                                            \
+    }
+
+#ifdef __GEMINI__
+extern kal_bool is_sim_slot_valid(sim_context_struct *this_sim, sim_interface_enum actual_sim_id);
+extern void sim_auth_finish_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+#endif
+
+sim_cmd_result_enum usim_get_loci(kal_uint8 *ef_loci_p, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_get_psloci(kal_uint8 *ef_psloci_p, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_read_start_hfn(usim_urr_ready_ind_struct *usim_urr_ready_ind_ptr, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_read_threshold(usim_urr_ready_ind_struct *usim_urr_ready_ind_ptr, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_read_netpar(usim_urr_ready_ind_struct *usim_urr_ready_ind_ptr, sim_rr_ready_ind_struct *sim_rr_ready_ind_ptr, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_get_csg_list(
+        sim_file_index_enum file_index, kal_uint8 *csgl_rec_size, kal_uint8 **csgl_data, kal_uint8 *csgl_rec_num,
+        sim_context_struct *this_sim);
+kal_bool usim_ens_read_acting_hplmn(kal_uint8 *pActHplmn, sim_context_struct *this_sim);
+void sim_duplex_mode_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void usim_set_file_pointer(sim_file_index_enum file_idx, const kal_uint8 *path, usim_logic_channel_enum channel, sim_context_struct *this_sim);
+extern void sim_me_lock_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+void sim_set_op_mode(sim_context_struct *this_sim);
+
+/*********************************************************************************************************/
+/** Send +ESIMIND: <event>[, <arg1>[, <arg2>...]] to indicate arbitrary event optionally with arguments **/
+/*********************************************************************************************************/
+void sim_send_event_ind(sim_event_enum event, kal_uint8 argc, kal_uint8 *arg_list, sim_context_struct *this_sim);
+/* This function indicates AP's SIM switch module that SIM application initialization is done or no need. */
+void sim_application_init_ind(kal_uint8 arg1, kal_uint8 arg2, sim_context_struct *this_sim);
+extern void sim_reset_sim_driver_reset(DCL_SIM_STATUS *error_cause, sim_reset_struct *sim_reset_ptr, sim_context_struct *this_sim);
+kal_bool check_card_app_active(card_check_app_type check_app, const sim_context_struct *this_sim);
+extern sim_cmd_result_enum usim_read_dir(sim_context_struct *this_sim, kal_uint16 *status_word);
+extern sim_cmd_result_enum usim_check_aid_from_buffer(uicc_app_type_enum app_type, sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_select_MF(kal_uint16 *status_word, sim_context_struct *this_sim);
+extern kal_uint16 sim_get_nvram_record_id(sim_context_struct *this_sim);
+extern void sim_send_msg_to_nvm(msg_type msg_name, void *param_ptr, kal_uint8 *buffer_ptr, kal_uint16 length, sim_context_struct *this_sim);
+extern void sat_update_loci_on_refresh(sim_context_struct *this_sim);
+extern void usim_set_registration_mode_in_nvram(kal_bool reg_mode, sim_context_struct *this_sim);
+
+kal_bool usim_presence_detection(sim_context_struct *this_sim);
+kal_bool sim_presence_detection(sim_context_struct *this_sim);
+
+void sim_construct_data_icon_set(sim_file_index_enum file_idx,
+                                 kal_uint8 *file_data,
+                                 sim_data_icon_ready_set_struct *icon_data_set_ptr,
+                                 sim_context_struct *this_sim);
+
+
+void sim_data_icon_ready_ind(kal_uint8 app,
+                             const sim_data_icon_ready_set_struct *icon_data_set_ptr,
+                             sim_context_struct *this_sim);
+
+void sim_set_config_based_upon_imsi(sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_read_3gpppsdataoff(sim_context_struct *this_sim);
+
+extern sim_cmd_result_enum usim_get_suci(sim_supi_type_enum supi_type, kal_uint16 *res_len, kal_uint8 *suci_ptr, sim_context_struct *this_sim);
+
+sat_proactive_cmd_bit_enum sim_get_sat_env_bit_position(sat_tag_enum sat_env);
+
+#ifdef __FAKEID_SUPPORT__
+void sim_fake_id_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+void sim_replace_with_fake_imsi_if_test_sim(sim_mmi_security_ind_struct *sim_mmi_security_ind_ptr, sim_gmss_ready_ind_struct *sim_gmss_ready_ind_ptr, sim_context_struct *this_sim);
+void sim_clear_fake_imsi_in_nvram_and_context(sim_context_struct *this_sim);
+#endif
+
+extern sim_cmd_result_enum usim_al_get_identity(kal_uint8 parameter2,
+                                                kal_uint16 cmd_data_len,
+                                                kal_uint8 *cmd_data_ptr,
+                                                kal_uint16 *rsp_len,
+                                                kal_uint8 *rsp_data_ptr,
+                                                usim_logic_channel_enum channel,
+                                                sim_context_struct *this_sim);
+
+void sim_cdma_recovery_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+extern void usim_check_support_extended_length_fields(sim_context_struct *this_sim);
+extern usim_apdu_case_enum sim_get_apdu_case(kal_uint8 *apdu_req_data_ptr, kal_uint16 apdu_req_len);
+extern kal_bool sim_check_if_apdu_allowed(sim_apdu_req_type_enum apdu_type, kal_uint8 *apdu_req_data_ptr, kal_uint16 apdu_req_len,
+                                                kal_uint8 channel_id, sim_context_struct *this_sim);
+void usim_get_routing_indicator(kal_uint8 *routing_ind, sim_context_struct *this_sim);
+
+void sim_send_ddm_ready_ind(kal_uint8 app, const sim_data_icon_ready_set_struct *icon_data_set_ptr, sim_context_struct *this_sim);
+
+extern void sim_dsbp_reconfigure_ind_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+
+void sim_init_euicc_context(sim_context_struct *this_sim);
+
+sat_proactive_cmd_bit_enum sim_get_sat_cmd_bit_position(sat_proactive_cmd_enum sat_cmd);
+
+#ifdef __RILD_SIM_CACHE__
+kal_uint8 sim_get_ap_sim_cache_index_count(void);
+
+sim_file_index_enum sim_get_ap_sim_cache_file_index(kal_uint8 index);
+void usim_ap_cache_ready_ind(sim_context_struct *this_sim, uicc_app_type_enum app_type);
+void sim_initialize_cache_read(sim_file_index_enum file_idx, sim_context_struct *this_sim);
+
+kal_uint8 sim_get_pre_ap_sim_cache_2_index_count(void);
+sim_file_index_enum sim_get_pre_ap_sim_cache_2_file_index(kal_uint8 index);
+void csim_data_icon_ready_ind(sim_context_struct *this_sim);
+#endif
+#ifdef __TC10__
+extern kal_bool sim_check_test_iccid(sim_context_struct *this_sim); 
+sim_cmd_result_enum usim_read_vzpf(sim_context_struct *this_sim);
+#endif
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+void sim_replace_with_test_imsi_if_empty(sim_mmi_security_ind_struct *sim_mmi_security_ind_ptr, sim_context_struct *this_sim);
+#endif
+#ifdef __TC01__
+extern void sim_drv_debug_ind_callback(kal_uint32 which_sim, kal_uint8 *buffer, kal_uint8 buffer_len);
+#endif
+
+extern void sim_internal_critical_recovery_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+sim_cmd_result_enum usim_critical_recovery_as_usim(sim_context_struct *this_sim);
+extern void sim_pack_null_scheme_suci(sim_supi_type_enum supi_type,
+                                      const kal_uint8 *supi_ptr,
+                                      kal_uint16 supi_len,
+                                      kal_uint8 *suci_ptr,
+                                      kal_uint16 *suci_len_ptr,
+                                      sim_context_struct *this_sim);
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER_EXT__
+void sim_plug_out_detect_timer_expire_hdlr(sim_context_struct *this_sim);
+void sim_hot_swap_poll_start_hdlr(sim_context_struct *this_sim);
+void sim_stop_plug_out_detect_timer(sim_context_struct *this_sim);
+void sim_peer_plug_out_hdlr(sim_context_struct *this_sim);
+void sim_plug_out_callback_plug_out_detect(sim_context_struct *this_sim);
+#endif
+
+#ifdef __SIM_FLIGHT_MODE_POLLING_OFF__
+void sim_phone_state_finished_ind_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+#endif
+
+void sim_inactive_sim_detection_ind_handler(ilm_struct *ilm, sim_context_struct *this_sim);
+void sim_inactive_sim_detect(l4bsim_eslotsinfo_data_ind_struct *elotsinfo_data_ind, sim_context_struct *this_sim);
+#ifdef __SIM_PASS_THROUGH__
+extern void sim_pass_through_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern kal_bool sim_pass_through_mode_activate(sim_context_struct *this_sim);
+#endif
+kal_uint8 sim_get_usim_important_files_list_count(void);
+
+void sim_retrieve_data_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+void sim_set_data_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_al_get_response (kal_uint16 parameter,
+                                          kal_uint16 *rsp_len_ptr,
+                                          kal_uint8 *rsp_ptr,
+                                          kal_uint16 *status_word,
+                                          usim_logic_channel_enum channel,
+                                          sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_al_retrieve_data(kal_uint16 parameter,
+                                          kal_uint16 cmd_len,
+                                          const kal_uint8 *cmd_ptr,
+                                          kal_uint16 *rsp_len_ptr,
+                                          kal_uint8 *rsp_ptr,
+                                          kal_uint16 *status_word,
+                                          usim_logic_channel_enum channel,
+                                          sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_al_set_data(kal_uint16 parameter,
+                                     kal_uint16 cmd_len,
+                                     const kal_uint8 *cmd_ptr,
+                                     kal_uint16 *status_word,
+                                     usim_logic_channel_enum channel,
+                                     sim_context_struct *this_sim);
+#ifdef __L5_SUPPORT__
+extern kal_bool usim_read_msisdn(sim_addr_struct *addr, kal_uint8 *num, sim_context_struct *this_sim);
+#endif
+void sim_restrict_card_type_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+
+#endif
diff --git a/mcu/protocol/layer4/sim/include/sim_private_enum.h b/mcu/protocol/layer4/sim/include/sim_private_enum.h
new file mode 100644
index 0000000..b8528dd
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_private_enum.h
@@ -0,0 +1,1616 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_private_enum.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *  Enum and Constant  provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_PRIVATE_ENUM_H
+#define SIM_PRIVATE_ENUM_H
+
+
+typedef enum
+{
+    SIM_SEEK_TYPE1_FROM_BEG = 0x00,
+    SIM_SEEK_TYPE1_FROM_BACK = 0x01,
+    SIM_SEEK_TYPE1_FROM_NEXT = 0x02,
+    SIM_SEEK_TYPE1_FROM_PREV = 0x03,
+    SIM_SEEK_TYPE2_FROM_BEG = 0x10,
+    SIM_SEEK_TYPE2_FROM_BACK = 0x11,
+    SIM_SEEK_TYPE2_FROM_NEXT = 0x12,
+    SIM_SEEK_TYPE2_FROM_PREV = 0x13
+} sim_seek_type_mode_enum;
+
+typedef enum
+{
+    SFI_NONE = 0x00,
+    // USIM ADF
+    SFI_ECC,
+    SFI_LI,
+    SFI_AD,
+    SFI_UST,
+    SFI_EST,
+    SFI_ACC,
+    SFI_IMSI,
+    SFI_KEYS,
+    SFI_KEYSPS,
+    SFI_UPLMN,
+    SFI_LOCI,
+    SFI_PSLOCI,
+    SFI_FPLMN,
+    SFI_CBMID,
+    SFI_STARTHFN,
+    SFI_THRESHOLD,
+    SFI_OPLMN,
+    SFI_HPPLMN,
+    SFI_HPLMN,
+    SFI_ICI,
+    SFI_OCI,
+    SFI_CCP2,
+    SFI_ARR,
+    SFI_EPSNSC,
+    SFI_PNN,
+    SFI_ONL,
+    SFI_SPDI,
+    SFI_ACM,
+    SFI_EHPLMN,
+    SFI_EPSLOCI,
+    // DF GSM-ACCESS
+    SFI_GSM_KC = 0x01,
+    SFI_GSM_KCGPRS = 0x02,
+    // DF 5GS
+    SFI_5GS3GPPLOCI = 0x01,
+    SFI_5GSN3GPPLOCI,
+    SFI_5GS3GPPNSC,
+    SFI_5GSN3GPPNSC,
+    SFI_5GAUTHKEYS,
+    SFI_UAC_AIC,
+    SFI_SUCI_CALC_INFO,
+    SFI_OPL5G,
+    SFI_NSI,
+    SFI_ROUTING_INDICATOR,
+} usim_sfi_enum;
+
+typedef enum
+{
+    SAT_RAT_GSM = 0x00,
+    SAT_RAT_UTRAN = 0x03,
+    SAT_RAT_C2K_1X = 0x06,
+    SAT_RAT_C2K_HRPD = 0x07,
+    SAT_RAT_EUTRAN = 0x08,
+    SAT_RAT_NR = 0x0A,
+} sat_rat_status_enum; /* SAT - Access Technolog */
+
+typedef enum
+{
+    SAT_EVENT_MT_CALL = 0x00,
+    SAT_EVENT_CALL_CONNECTED = 0x01,
+    SAT_EVENT_CALL_DISCONNECTED = 0x02,
+    SAT_EVENT_LOCATION_STATUS = 0x03,
+    SAT_EVENT_USER_ACTIVITY = 0x04,
+    SAT_EVENT_IDLE_SCREEN_AVAILABLE = 0x05,
+    SAT_EVENT_CARD_READER_STATUS = 0x06,
+    SAT_EVENT_LANGUAGE_SELECTION = 0x07,
+    SAT_EVENT_BROWSER_TERMINATION = 0x08,
+    SAT_EVENT_DATA_AVAILABLE = 0x09,
+    SAT_EVENT_CHANNEL_STATUS = 0x0A,
+    SAT_EVENT_ACCESS_TECHNOLOGY_CHANGE_SINGLE = 0x0B,
+    SAT_EVENT_DISPLAY_PARA_CHANGED = 0x0C,
+    SAT_EVENT_LOCAL_CONNECTION = 0x0D,
+    SAT_EVENT_NETWORK_SEARCH_MODE_CHANGE = 0x0E,
+    
+    SAT_EVENT_BROWSING_STATUS = 0x0F,
+    SAT_EVENT_FRAME_INFORMATION_CHANGE = 0x10,
+    SAT_EVENT_IWLAN_ACCESS_STATUS = 0x11,
+    SAT_EVENT_NETWORK_REJECTION = 0x12,
+    SAT_EVENT_HCI_CONNECTIVITY = 0x13,
+    SAT_EVENT_ACCESS_TECHNOLOGY_CHANGE_MUTI = 0x14,
+    SAT_EVENT_CSG_CELL_SELECTION = 0x15,
+    SAT_EVENT_CONTRACTLESS_SATE_REQUEST = 0x16,
+    SAT_EVENT_IMS_REGISTRATION = 0x17,
+    SAT_EVENT_IMS_INCOMMING_DATA = 0x18,
+    SAT_EVENT_PROFILE_CONTAINER = 0x19,
+    SAT_EVENT_SECURE_PROFILE_CONTAINER = 0x1B,
+    SAT_EVENT_POLL_INTERNVAL_NEGOTIATION = 0x1C,
+    SAT_EVENT_DATA_CONNECTION_STATUS_CHANGE = 0x1D,
+} sat_event_list_enum; /* SAT - EVENT LIST */
+
+/******************************************************************************
+ *
+ * USIM Part
+ *
+ ******************************************************************************/
+
+typedef enum
+{
+    USIM_PIN1_APP1 = 0x01,
+    USIM_PIN1_APP2 = 0x02,
+    USIM_PIN1_APP3 = 0x03,
+    USIM_PIN1_APP4 = 0x04,
+    USIM_PIN1_APP5 = 0x05,
+    USIM_PIN1_APP6 = 0x06,
+    USIM_PIN1_APP7 = 0x07,
+    USIM_PIN1_APP8 = 0x08,
+    USIM_PIN_ADM1 = 0x0A,
+    USIM_PIN_ADM2 = 0x0B,
+    USIM_PIN_ADM3 = 0x0C,
+    USIM_PIN_ADM4 = 0x0D,
+    USIM_PIN_ADM5 = 0x0E,
+    USIM_PIN_UNIV = 0x11,
+    USIM_PIN2_APP1 = 0x81,
+    USIM_PIN2_APP2 = 0x82,
+    USIM_PIN2_APP3 = 0x83,
+    USIM_PIN2_APP4 = 0x84,
+    USIM_PIN2_APP5 = 0x85,
+    USIM_PIN2_APP6 = 0x86,
+    USIM_PIN2_APP7 = 0x87,
+    USIM_PIN2_APP8 = 0x88,
+    USIM_PIN_ADM6 = 0x8A,
+    USIM_PIN_ADM7 = 0x8B,
+    USIM_PIN_ADM8 = 0x8C,
+    USIM_PIN_ADM9 = 0x8D,
+    USIM_PIN_ADM10 = 0x8E
+} usim_pin_type_enum;
+
+typedef enum
+{
+    SFI_NOT_SUPPORT,
+    SFI_FILE_ID,
+    SFI_PROP_ID
+} sfi_usage_enum;
+
+typedef enum
+{
+    USIM_STATUS_NO_IND,
+    USIM_STATUS_APP_INIT,
+    USIM_STATUS_APP_TERMINAL
+} usim_status_opt_enum;
+
+typedef enum
+{
+    USIM_STATUS_FCP,
+    USIM_STATUS_DF_NAME,
+    USIM_STATUS_NO_RETURN = 0x0C
+} usim_status_rsp_enum;
+
+typedef enum
+{
+    NEXT_RECORD = 0x02,
+    PREVIOUS_RECORD = 0x03,
+    ABSOLUTE_RECORD = 0x04,
+    CURRENT_RECORD = 0x04
+} sim_record_access_mode_enum;
+
+typedef enum
+{
+    TEST_SIM_RELATION_OR,
+    TEST_SIM_RELATION_AND
+} test_sim_relation_enum;
+
+typedef enum
+{
+    SIM_AL_NORMAL_RESET,
+    SIM_AL_EXPLICT_SIM_RESET,   /* for usim_recovery_as_sim before start confirm */
+    SIM_AL_EXPLICT_USIM_RESET,  /* for usim_recovery_as_usim before start confirm */
+    SIM_AL_EXPLICT_LOCK_UIM,
+} sim_al_reset_type_enum;
+
+typedef enum
+{
+    SIM_GSM_INSTRUCTION_CLASS = 0xA0,
+    USIM_CLA_TYPE_0 = 0x00,
+    USIM_CLA_TYPE_1 = 0x80,
+    USIM_CLA_TYPE_2 = 0x40,
+    USIM_CLA_TYPE_3 = 0xC0
+} sim_instruction_class_enum;
+
+
+typedef enum
+{
+    SEL_APP_ACTIVATE = 0x00,
+    SEL_APP_TERMINATE = 0x40,
+    SEL_APP_ACTIVATE_MANAGE_CHANNEL = 0x8000,
+} usim_select_aid_ctrl_enum;
+
+/* MAUI_02953154 */
+typedef enum
+{
+    UICC_FORWARD_SEARCH = 0x04,  /* Start forward search from record indicated in P1 */
+    UICC_BACKWARD_SEARCH = 0x05, /* Start backward search from record indicated in P1 */
+    UICC_ENHANCED_SEARCH = 0x06,
+    UICC_PROPRIETARY_SEARCH = 0x07
+} uicc_search_record_mode_enum;
+
+typedef enum
+{
+    SIM_SELECT = 0xA4,
+    SIM_STATUS = 0xF2,
+    SIM_READ_BINARY = 0xB0,
+    SIM_UPDATE_BINARY = 0xD6,
+    SIM_READ_RECORD = 0xB2,
+    SIM_UPDATE_RECORD = 0xDC,
+    SIM_SEEK = 0xA2,
+    SIM_INCREASE = 0x32,
+    SIM_VERIFY_CHV = 0x20,
+    SIM_CHANGE_CHV = 0x24,
+    SIM_DISABLE_CHV = 0x26,
+    SIM_ENABLE_CHV = 0x28,
+    SIM_UNBLOCK_CHV = 0x2C,
+    SIM_INVALIDATE = 0x04,
+    SIM_REHABILITATE = 0x44,
+    SIM_RUN_GSM_ALGO = 0x88,
+    SIM_SLEEP = 0xFA,
+    SIM_GET_RESPONSE = 0xC0,
+    SIM_TERMINAL_PROFILE = 0x10,
+    SIM_ENVELOPE = 0xC2,
+    SIM_FETCH = 0x12,
+    SIM_TERMINAL_RESPONSE = 0x14,
+    USIM_SEARCH_RECORD = SIM_SEEK,
+    USIM_AUTHENTICATE = SIM_RUN_GSM_ALGO,
+    USIM_GET_CHALLENGE = 0x84,
+    USIM_MANAGE_CHANNEL = 0x70,
+    USIM_DEACTIVATE_FILE = SIM_INVALIDATE,
+    USIM_ACTIVATE_FILE = SIM_REHABILITATE,
+    USIM_MANAGE_SECURE_CHANNEL = 0x73, /* MAUI_03082391 */
+    USIM_TRANSACT_DATA = 0x75,
+    USIM_GET_IDENTITY = 0x78,
+    USIM_RETRIEVE_DATA = 0xCB,
+    USIM_SET_DATA = 0xDB,
+    USIM_TERMINAL_CAPABILITY = 0xAA,
+    GP_GET_DATA = 0xCA,
+    GP_STORE_DATA = 0xE2,
+} sim_instruction_code_enum;
+
+typedef enum
+{
+    UICC_INVALID_AID,
+    UICC_USIM_AID,
+    UICC_ISIM_AID,
+    UICC_CSIM_AID
+} uicc_aid_type_enum;
+
+/* USIM Key Reference */
+typedef enum
+{
+    PIN1 = 0x01,
+    PIN1_APP2 = 0x02,
+    PIN1_APP3 = 0x03,
+    PIN1_APP4 = 0x04,
+    PIN1_APP5 = 0x05,
+    PIN1_APP6 = 0x06,
+    PIN1_APP7 = 0x07,
+    PIN1_APP8 = 0x08,
+    ADM1 = 0x0A,
+    ADM2 = 0x0B,
+    ADM3 = 0x0C,
+    ADM4 = 0x0D,
+    ADM5 = 0x0E,
+    UNIV_PIN = 0x11,
+    PIN2 = 0x81,
+    PIN2_APP2 = 0x82,
+    PIN2_APP3 = 0x83,
+    PIN2_APP4 = 0x84,
+    PIN2_APP5 = 0x85,
+    PIN2_APP6 = 0x86,
+    PIN2_APP7 = 0x87,
+    PIN2_APP8 = 0x88,
+    ADM6 = 0x8A,
+    ADM7 = 0x8B,
+    ADM8 = 0x8C,
+    ADM9 = 0x8D,
+    ADM10 = 0x8E
+} usim_key_ref_enum;
+
+typedef enum
+{
+    PIN1_IDX,
+    PIN1_APP2_IDX,
+    PIN1_APP3_IDX,
+    PIN1_APP4_IDX,
+    PIN1_APP5_IDX,
+    PIN1_APP6_IDX,
+    PIN1_APP7_IDX,
+    PIN1_APP8_IDX,
+    ADM1_IDX,
+    ADM2_IDX,
+    ADM3_IDX,
+    ADM4_IDX,
+    ADM5_IDX,
+    UNIV_PIN_IDX,
+    PIN2_IDX,
+    PIN2_APP2_IDX,
+    PIN2_APP3_IDX,
+    PIN2_APP4_IDX,
+    PIN2_APP5_IDX,
+    PIN2_APP6_IDX,
+    PIN2_APP7_IDX,
+    PIN2_APP8_IDX,
+    ADM6_IDX,
+    ADM7_IDX,
+    ADM8_IDX,
+    ADM9_IDX,
+    ADM10_IDX,
+    USIM_NUM_OF_KEYS
+} usim_key_idx_enum;
+
+#if defined(__BT_SIM_PROFILE__)
+/*mtk01612: sim_feature_set: bt_sim_profile + G+C*/
+typedef enum
+{
+    SIM_BT_SIM_PROFILE,
+    SIM_GSM_CDMA
+} sim_connect_type_enum;
+#endif
+
+typedef enum
+{
+    SIM_APDU_BT_SIM_PROFILE,
+    SIM_APDU_ATCSIM,
+    SIM_APDU_ATXCGLA
+} sim_apdu_req_type_enum;
+
+/*mtk01612: [MAUI_03020152] sync polling timer*/
+#if defined(__SIM_SYNC_POLL_TIMER__)
+typedef enum
+{
+    SIM_TIMER_BUSY,
+    SIM_TIMER_IDLE,
+    SIM_TIMER_IDLE_SYNC
+} sim_sync_poll_timer_state_enum;
+#endif
+
+/* [MAUI_02620145] mtk01616_100910 : remove sim_timer_struct */
+
+#ifdef __SAT__
+
+typedef enum
+{
+    SAT_REFRESH_READY,
+    SAT_REFRESH_BUSY
+} sat_refresh_status_enum;
+
+typedef enum
+{
+    SAT_REFRESH_REJECT_ON_BUSY = 0x01,
+    SAT_REFRESH_REJECT_ON_CALL = 0x02,
+    SAT_REFRESH_REJECT_ON_DATA = 0x04,
+    SAT_REFRESH_REJECT_ON_SMS_ACK = 0x08,
+    SAT_REFRESH_REJECT_BY_AP = 0x10,     /* TC10 */
+    SAT_REFRESH_REJECT_ON_ECC = 0x20,
+} sat_refresh_reject_cause_enum;
+
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+typedef enum
+{
+    SAT_REFRESH_VOTING_IDLE,
+    SAT_REFRESH_VOTING_WAIT_FOR_REFRESH,
+    SAT_REFRESH_VOTING_WAIT_FOR_REISSUE,
+    SAT_REFRESH_VOTING_DONE,
+} sat_refresh_voting_state_enum;
+#endif
+
+typedef enum
+{
+    SAT_REISSUE_SRC_UNKNOWN,
+    SAT_REISSUE_SRC_CALL_STATUS,
+    SAT_REISSUE_SRC_MM_CONNECT,
+    SAT_REISSUE_SRC_EMM_CONNECT,
+    SAT_REISSUE_SRC_SMS_ACK,
+    SAT_REISSUE_SRC_ECC_SESSION,
+} sat_reissue_check_src_enum;
+
+typedef enum
+{
+    SAT_MODTBL_AS = 0x0001,
+    SAT_MODTBL_MM = 0x0002,
+    SAT_MODTBL_CSM = 0x0004,
+    SAT_MODTBL_SMSAL = 0x0008,
+    SAT_MODTBL_SMU = 0x0010,
+    SAT_MODTBL_PHB = 0x0020,
+    SAT_MODTBL_L4C = 0x0040,
+    SAT_MODTBL_MMI = 0x0080,
+    SAT_MODTBL_USIME = 0x0100,
+    SAT_MODTBL_EVAL = 0x0200,
+    SAT_MODTBL_NWSEL = 0x0400,
+    SAT_MODTBL_GMSS = 0x0800,
+    SAT_MODTBL_SIMMNGR = 0x1000,
+    SAT_MODTBL_VGMM = 0x2000,
+} sat_file_change_module_table_enum;
+
+typedef enum
+{
+    HANDLE_BY_UNKNOWN,
+    HANDLE_BY_SIM,
+    HANDLE_BY_UIM,
+    HANDLE_BY_SIM_AND_UIM
+} sat_procomm_handler_enum;
+
+typedef enum
+{
+    POLICY_NAV_MENU = 0x01,
+    POLICY_DATA_CALL = 0x02,
+    POLICY_VOICE_CALL = 0x04
+} sat_enforcement_policy_tag_enum;
+
+typedef enum
+{
+    SAT_OP20_SESSION_NONE = 0x00,
+    SAT_OP20_SESSION_OTA = 0x01,
+    SAT_OP20_SESSION_DM = 0x02,
+    SAT_OP20_SESSION_OTA_DM = SAT_OP20_SESSION_OTA | SAT_OP20_SESSION_DM
+} sat_op20_session_enum;
+
+typedef enum
+{
+    SAT_CLEAR_CMD_FOR_ERROR,
+    SAT_CLEAR_CMD_FOR_RESET,
+    SAT_CLEAR_CMD_FOR_PLUGOUT,
+	SAT_CLEAR_CMD_FOR_TR,
+    SAT_CLEAR_CMD_FOR_UICC_RESET
+} sat_clear_procomm_reason_enum;
+
+#ifdef __SAT_SIMULATOR__
+typedef enum
+{
+    SAT_SIMULATOR_OFF,
+    SAT_SIMULATOR_ON,
+    SAT_SIMULATOR_OFF_TO_ON,
+    SAT_SIMULATOR_ON_TO_OFF
+} sat_simulator_state_enum;
+
+typedef enum
+{
+    ROOT_MENU,
+    LEVEL_1_MENU,
+    LEVEL_2_MENU,
+    LEVEL_3_MENU,
+    INVALID_MENU
+} sat_simulator_menu_level_enum;
+
+typedef enum
+{
+    NORMAL_AUTO_CLEAR = 0x00,
+    HIGH_AUTO_CLEAR = 0x01,
+    NORMAL_USER_CLEAR = 0x80,
+    HIGH_USER_CLEAR = 0x81
+} sat_simulator_display_text_type_enum;
+
+typedef enum
+{
+    INVALID_AID,
+    USIM_AID,
+    ISIM_AID,
+    CSIM_AID
+} sat_simulator_aid_enum;
+
+typedef enum
+{
+    SSIMU_ALLOW_NO_MODIFICATION,
+    SSIMU_NOT_ALLOWED,
+    SSIMU_ALLOW_WITH_MODIFICATION,
+    SSIMU_ALLOW_WITH_MODIFICATION_TO_SS,
+    SSIMU_ALLOW_9000_ONLY,
+    SSIMU_SIM_BUSY_9300,
+} sat_simulator_call_ctrl_by_sim_mode_enum;
+
+typedef enum
+{
+    KEYPAD = 0x01,
+    DISPLAY = 0x02,
+    EARPIECE = 0x03,
+    CHANNEL_ID_1 = 0x21,
+    CHANNEL_ID_2 = 0x22,
+    CHANNEL_ID_3 = 0x23,
+    CHANNEL_ID_4 = 0x24,
+    CHANNEL_ID_5 = 0x25,
+    CHANNEL_ID_6 = 0x26,
+    CHANNEL_ID_7 = 0x27,
+    UICC = 0x81,
+    TERMINAL = 0x82,
+    NETWORK = 0x83
+} sat_simulator_device_id_enum;
+
+typedef enum
+{
+    SAT_USSD_7_BIT,
+    SAT_USSD_8_BIT,
+    SAT_USSD_UCS2
+} sat_simulator_ussd_coding_enum;
+
+typedef enum
+{
+    MODE_LAUNCH_BROWSER = 0,
+    /* 1: not use */
+    MODE_USE_EXISTING_BROWSER = 2,
+    MODE_CLOSE_AND_LAUNCH_NEW_BROWSER = 3,
+} sat_simulator_launch_browser_mode_enum;
+
+#endif /* __SAT_SIMULATOR__ */
+
+#endif /* __SAT__ */
+
+typedef enum
+{
+    USIM_OPEN_LOGICAL_CHANNEL = 0x00,
+    USIM_CLOSE_LOGICAL_CHANNEL = 0x80
+} usim_channel_op_enum;
+
+typedef enum
+{
+    EVDL_MT_CALL = 0x00,
+    EVDL_CALL_CONNECT = 0x01,
+    EVDL_CALL_DISCONNECT = 0x02,
+    EVDL_LOCATION_STATUS = 0x03,
+    EVDL_USER_ACTIVITY = 0x04,
+    EVDL_IDLE_SCREEN_AVAILABLE = 0x05,
+    EVDL_CARD_READER_STATUS = 0x06,
+    EVDL_LANGUAGE_SELECTION = 0x07,
+    EVDL_BROWSER_TERMINATION = 0x08,
+    EVDL_DATA_AVAILABLE = 0x09,
+    EVDL_CHANNEL_STATUS = 0x0A,
+    EVDL_ACCESS_TECHNOLOGY_CHANGE = 0x0B,
+    EVDL_DISPLAY_PARAMETER_CHANGE = 0x0C,
+    EVDL_LOCAL_CONNECTION = 0x0D,
+    EVDL_NW_SEARCH_MODE_CHANGE = 0x0E,
+    EVDL_BROWSING_STATUS = 0x0F,
+    EVDL_FRAME_INFO_CHANGE = 0x10,
+    EVDL_IWLAN_ACCESS_STATUS = 0x11,
+    EVDL_NW_REJECT = 0x12,
+    EVDL_HCI_CONNECTIVITY = 0x13,
+    EVDL_ACCESS_TECHNOLOGY_CHANGE_MULTI = 0x14,
+    EVDL_CSG_CELL_SELECTION = 0x15,
+    EVDL_CONTACTLESS_STATE_REQUEST = 0x16,
+    EVDL_IMS_REGISTRATION = 0x17,
+    EVDL_INCOMING_IMS_DATA = 0x18,
+    EVDL_PROFILE_CONTAINER = 0x19,
+    EVDL_SECURE_PROFILE_CONTAINER = 0x1B,
+    EVDL_POLL_INTERVAL_NEGOTIATION = 0x1C,
+    EVDL_DATA_CONNECTION_STATUS_CHANGE = 0x1D,
+
+    EVDL_UNKNOWN_EVENT = 0xFF
+} sat_event_download_enum;  /* SAT - EVENT LIST */
+
+typedef enum
+{
+    SAT_DEFAULT_DCS = 0x00,           /* GSM 7-bit */
+    SAT_UNPACKED_SMS_ALPHABET = 0x04, /* 8-bit */
+    SAT_UCS2_ALPHABET = 0x08          /* UCS2 */
+} sat_dcs_enum;
+
+typedef enum
+{
+    TIME_MIN,
+    TIME_SEC,
+    TIME_TENTHS_OF_SEC
+} sat_time_unit_enum;
+
+typedef enum
+{
+    PRI_NORMAL = 0,
+    PRI_HIGH = 1
+} sat_dspl_priority_enum;
+
+typedef enum
+{
+    CLEAR_AFTER_DELAY = 0,
+    CLEAR_BY_USR = 1
+} sat_clear_text_enum;
+
+typedef enum
+{
+    ICON_DSPL_BUT_REPLACE_TEXT = 0,
+    ICON_DSPL_WITH_TEXT = 1
+} sat_icon_qualifier_enum;
+
+typedef enum
+{
+    PRESENT_TYPE_NONE,
+    PRESENT_TYPE_DATA_VALUE,
+    PRESENT_TYPE_NAVI
+} sat_select_item_presentation_type_enum;
+
+typedef enum
+{
+    TYPE_LOCATION_INFO                      = 0x00,
+    TYPE_IMEI                               = 0x01,
+    TYPE_NET_MEASURE                        = 0x02,
+    TYPE_DATE_TIME_ZONE                     = 0x03,
+    TYPE_LANGUAGE_SET                       = 0x04,
+    TYPE_TIMING_ADVANCE                     = 0x05,
+    TYPE_ACCESS_TECHNOLOGY                  = 0x06,
+    TYPE_ESN                                = 0x07,
+    TYPE_IMEISV                             = 0x08,
+    TYPE_NW_SEARCH_MODE                     = 0x09,
+    TYPE_CHARGE_STATE_OF_BATTERY            = 0x0A,
+    TYPE_MEID                               = 0x0B,
+    TYPE_WSID                               = 0x0C,
+    TYPE_CURRENT_BROADCAST_NW_INFO          = 0x0D,
+    TYPE_MULTI_ACCESS_TECH                  = 0x0E,
+    TYPE_LOCATION_INFO_MULTI_ACCESS_TECH    = 0x0F,
+    TYPE_NMR_FOR_MULTI_ACCESS_TECH          = 0x10,
+    TYPE_CSG_ID_LIST                        = 0x11
+} sat_local_info_enum;
+
+typedef enum
+{
+    DEVICE_KEYPAD = 0x01,
+    DEVICE_DISPLAY = 0x02,
+    DEVICE_EARPIECE = 0x03,
+    DEVICE_ADDITIONAL_CARD_READER_0 = 0x10,
+    DEVICE_ADDITIONAL_CARD_READER_1 = 0x11,
+    DEVICE_ADDITIONAL_CARD_READER_2 = 0x12,
+    DEVICE_ADDITIONAL_CARD_READER_3 = 0x13,
+    DEVICE_ADDITIONAL_CARD_READER_4 = 0x14,
+    DEVICE_ADDITIONAL_CARD_READER_5 = 0x15,
+    DEVICE_ADDITIONAL_CARD_READER_6 = 0x16,
+    DEVICE_ADDITIONAL_CARD_READER_7 = 0x17,
+    DEVICE_CHAN_1 = 0x21,
+    DEVICE_CHAN_2 = 0x22,
+    DEVICE_CHAN_3 = 0x23,
+    DEVICE_CHAN_4 = 0x24,
+    DEVICE_CHAN_5 = 0x25,
+    DEVICE_CHAN_6 = 0x26,
+    DEVICE_CHAN_7 = 0x27,
+    DEVICE_SIM = 0x81,
+    DEVICE_ME = 0x82,
+    DEVICE_NET = 0x83
+} sat_device_id_enum;
+
+/* USIM AUTHENTICATE TAG */
+typedef enum
+{
+    AUTH_3G_SUCCESS_T = 0xDB,
+    AUTH_3G_SYNC_FAILURE_T = 0xDC
+} usim_auth_tag_enum;
+
+/* FCP template tag */
+typedef enum
+{
+    FCP_FILE_DES_T = 0x82,
+    FCP_FILE_ID_T = 0x83,
+    FCP_DF_NAME_T = 0x84,
+    FCP_PROPRIETARY_T = 0xA5,
+    FCP_LIFE_CYCLE_T = 0x8A,
+    /* FCP_SEC_ATTRIBUTE_QUERY is for query */
+    FCP_SEC_ATTRIBUTE_QUERY = 0xFF,
+    FCP_SEC_COMPACT_T = 0x8C,
+    FCP_SEC_EXPANDED_T = 0xAB,
+    FCP_SEC_REF_T = 0x8B,
+    /* end of security attribute query */
+    FCP_PIN_DO_T = 0xC6,
+    FCP_TOTAL_FILE_SIZE_T = 0x81,
+    FCP_FILE_SIZE_T = 0x80,
+    FCP_SFI_T = 0x88
+} usim_fcp_tag_enum;
+
+/* FCP proprietary information tag */
+typedef enum
+{
+    PROP_UICC_CHAR_T = 0x80,
+    PROP_APP_PWR_T = 0x81,
+    PROP_MIN_APP_CLK_T = 0x82,
+    PROP_AVAIL_MEM_T = 0x83,
+    PROP_FILE_DETAIL_T = 0x84,
+    PROP_RESERVED_FILE_SIZE_T = 0x85,
+    PROP_MAX_FILE_SIZE_T = 0x86,
+    PROP_SUPPORTED_SYS_CMD_T = 0x87,
+    PROP_UICC_ENV_COND_T = 0x88
+} usim_fcp_proprietary_info_tag_enum;
+
+/* FCP security attributes tag */
+typedef enum
+{
+    SECURITY_COMPACT_T = 0x8C,
+    SECURITY_EXPANDED_T = 0xAB,
+    SECURITY_REF_T = 0x8B
+} usim_fcp_security_attributes_tag_enum;
+
+/* FCP PIN status template DO tag */
+typedef enum
+{
+    PIN_PS_DO_T = 0x90,
+    PIN_USAGE_QUALIFIER_T = 0x95,
+    PIN_KEY_REF_T = 0x83
+} usim_fcp_pin_status_tag_enum;
+
+typedef enum
+{
+    C2K_MODE_SVLTE,
+    C2K_MODE_DATA_ONLY
+} sim_c2k_mode_enum;
+
+typedef enum
+{
+    SIM_HOMING,
+    SIM_ROAMING,
+    SIM_IR_STATE_INVALID
+} sim_roaming_state_enum;
+
+typedef enum
+{
+    SIM_FORCE_ORIGINAL,
+    SIM_FORCE_DUAL_MODE,
+    SIM_FORCE_UIM_ONLY,
+    SIM_FORCE_CDMA_ONLY
+} sim_force_card_type_enum;
+
+typedef enum
+{
+    SIM_EUICC_LUI_SUPPORTED = 0x01,
+    SIM_EUICC_LPD_SUPPORTED = 0x02,
+    SIM_EUICC_LDS_SUPPORTED = 0x04
+} sim_euicc_terminal_capabilities_enum;
+
+typedef enum
+{
+    SIM_RESET_CTRL_NORMAL,
+    SIM_RESET_CTRL_BREAK_WHILE_LOOP,
+    SIM_RESET_CTRL_CONTINUE_WHILE_LOOP
+} sim_reset_ctrl_enum;
+
+typedef enum
+{
+    APDU_OFS_CLA = 0x00,
+    APDU_OFS_INS = 0x01,
+    APDU_OFS_P1 = 0x02,
+    APDU_OFS_P2 = 0x03,
+    APDU_OFS_P3 = 0x04,
+    APDU_OFS_LC = APDU_OFS_P3,
+    APDU_OFS_DATA = 0x05
+} apdu_format_offset_enum;
+
+#define APDU_HEADER_SIZE 5
+
+typedef enum
+{
+    SIM_FCI_SIZE_OFS = 0x02,
+    SIM_FCI_FID_OFS = 0x04,
+    SIM_FCI_TYPE_OFS = 0x06,
+
+    /* EF */
+    SIM_FCI_STATUS_OFS = 0x0B,
+    SIM_FCI_STRUCT_OFS = 0x0D,
+    SIM_FCI_REC_LEN_OFS = 0x0E,
+
+    /* MF or DF */
+    SIM_FILE_CHAR_OFS = 0x0D,
+    SIM_CHV1_STATUS_OFS = 0x12,
+    SIM_UBCHV1_STATUS_OFS = 0x13,
+    SIM_CHV2_STATUS_OFS = 0x14,
+    SIM_UBCHV2_STATUS_OFS = 0x15
+} sim_fci_offset_enum;
+
+typedef enum
+{
+    SIM_FILE_TYPE_MF = 0x01,
+    SIM_FILE_TYPE_DF = 0x02,
+    SIM_FILE_TYPE_EF = 0x04
+} sim_fci_file_type_enum;
+
+typedef enum
+{
+    SIM_DUPLEX_STATE_NONE,
+    SIM_DUPLEX_STATE_RESET_PARA,
+    SIM_DUPLEX_STATE_SIM_INIT_PENDING
+} sim_duplex_state_enum;
+#ifdef __MODEM_EM_MODE__
+typedef enum
+{
+    SIM_EM_MONITOR_EVENT_INFO, /* EM_SIM_MONITOR_EVENT_INFO */
+    SIM_EM_ERROR_INFO,      /* EM_SIM_ERROR_INFO */
+    SIM_EM_APDU_EVENT_INFO, /* SIM_EM_APDU_EVENT_INFO */
+    SIM_EM_MAX_SIZE
+}sim_em_type_enum;
+#endif
+
+typedef enum
+{
+    USIM_APDU_CASE_UNKNOWN,
+    USIM_APDU_CASE_1,
+    USIM_APDU_CASE_2S,
+    USIM_APDU_CASE_3S,
+    USIM_APDU_CASE_4S,
+    USIM_APDU_CASE_2E,
+    USIM_APDU_CASE_3E,
+    USIM_APDU_CASE_4E    
+} usim_apdu_case_enum;
+
+/* OPNE SIM REFRESH BY MMI */
+
+/* MAUI_03041489 : for moveing sim_profile to custom folder */
+
+#define MAX_ECC_NUM 5
+#define MAX_EF_HEADER_LEN 15
+
+/* Define the Service table length of SIM and USIM */
+#define SIM_SUPPORT_SST_LEN 15
+
+#define MAX_R99_SST_LEN 13
+
+//mtk02374 SIM/USIM
+/* Define the UICC file path from MF */
+#define PATH_MF_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_GSM_ID   {0x7F,0x20,0x00,0x00,0x00,0x00}
+#define PATH_TELECOM_ID   {0x7F,0x10,0x00,0x00,0x00,0x00}
+#define PATH_IRIDIUM_ID   {0x7F,0x20,0x5F,0x30,0x00,0x00}
+#define PATH_GLOBST_ID   {0x7F,0x20,0x5F,0x31,0x00,0x00}
+#define PATH_ICO_ID   {0x7F,0x20,0x5F,0x32,0x00,0x00}
+#define PATH_ACES_ID   {0x7F,0x20,0x5F,0x33,0x00,0x00}
+#define PATH_EIA_ID   {0x7F,0x20,0x5F,0x40,0x00,0x00}
+#define PATH_CTS_ID   {0x7F,0x20,0x5F,0x60,0x00,0x00}
+#define PATH_SOLSA_ID   {0x7F,0x20,0x5F,0x70,0x00,0x00}
+#define PATH_MEXE_ID   {0x7F,0x20,0x5F,0x3C,0x00,0x00}
+#define PATH_GRAPHICS_ID   {0x7F,0x10,0x5F,0x50,0x00,0x00}
+#define PATH_ICCID_ID   {0x2F,0xE2,0x00,0x00,0x00,0x00}
+#define PATH_ELP_ID   {0x2F,0x05,0x00,0x00,0x00,0x00}
+#define PATH_SAI_ID   {0x7F,0x20,0x5F,0x70,0x4F,0x30}      /* Also under 7F20 */
+#define PATH_SLL_ID   {0x7F,0x20,0x5F,0x70,0x4F,0x31}      /* Also under 7F20 */
+#define PATH_MEXE_ST_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x40}  /* Also under 7F20 */
+#define PATH_ORPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x41}     /* Also under 7F20 */
+#define PATH_ARPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x42}     /* Also under 7F20 */
+#define PATH_TPRPK_ID   {0x7F,0x20,0x5F,0x3C,0x4F,0x43}    /* Also under 7F20 */
+#define PATH_IMG_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x20}
+#define PATH_LP_ID   {0x7F,0x20,0x6F,0x05,0x00,0x00}       /* Also under 7F20 in USIM called EF_LI */
+#define PATH_IMSI_ID   {0x7F,0x20,0x6F,0x07,0x00,0x00}     /* Also under 7F20 */
+#define PATH_KC_ID   {0x7F,0x20,0x6F,0x20,0x00,0x00}       /* Also 6F20 under 7F20 */
+#define PATH_PLMNSEL_ID   {0x7F,0x20,0x6F,0x30,0x00,0x00}  /* This file is only in SIM */
+#define PATH_HPLMN_ID   {0x7F,0x20,0x6F,0x31,0x00,0x00}    /* Also under 7F20 */
+#define PATH_ACMAX_ID   {0x7F,0x20,0x6F,0x37,0x00,0x00}    /* Also under 7F20 */
+#define PATH_SST_ID   {0x7F,0x20,0x6F,0x38,0x00,0x00}      /* Cannot be mapped to UST */
+#define PATH_ACM_ID   {0x7F,0x20,0x6F,0x39,0x00,0x00}      /* Also under 7F20 */
+#define PATH_GID1_ID   {0x7F,0x20,0x6F,0x3E,0x00,0x00}     /* Also under 7F20*/
+#define PATH_GID2_ID   {0x7F,0x20,0x6F,0x3F,0x00,0x00}     /* Also under 7F20*/
+#define PATH_SPN_ID   {0x7F,0x20,0x6F,0x46,0x00,0x00}      /* Also under 7F20*/
+#define PATH_PUCT_ID   {0x7F,0x20,0x6F,0x41,0x00,0x00}     /* Also under 7F20*/
+#define PATH_CBMI_ID   {0x7F,0x20,0x6F,0x45,0x00,0x00}     /* Also under 7F20*/
+#define PATH_BCCH_ID   {0x7F,0x20,0x6F,0x74,0x00,0x00}     /* This file is only in SIM*/
+#define PATH_ACC_ID   {0x7F,0x20,0x6F,0x78,0x00,0x00}      /* Also under 7F20*/
+#define PATH_FPLMN_ID   {0x7F,0x20,0x6F,0x7B,0x00,0x00}    /* Also under 7F20*/
+#define PATH_LOCI_ID   {0x7F,0x20,0x6F,0x7E,0x00,0x00}     /* Also under 7F20*/
+#define PATH_AD_ID   {0x7F,0x20,0x6F,0xAD,0x00,0x00}       /* Also under 7F20*/
+#define PATH_PHASE_ID   {0x7F,0x20,0x6F,0xAE,0x00,0x00}    /* This file is only in SIM */
+#define PATH_VGCS_ID   {0x7F,0x20,0x6F,0xB1,0x00,0x00}     /* Also under 7F20*/
+#define PATH_VGCSS_ID   {0x7F,0x20,0x6F,0xB2,0x00,0x00}    /* Also under 7F20*/
+#define PATH_VBS_ID   {0x7F,0x20,0x6F,0xB3,0x00,0x00}      /* Also under 7F20*/
+#define PATH_VBSS_ID   {0x7F,0x20,0x6F,0xB4,0x00,0x00}     /* Also under 7F20*/
+#define PATH_EMLPP_ID   {0x7F,0x20,0x6F,0xB5,0x00,0x00}    /* Also under 7F20*/
+#define PATH_AAEM_ID   {0x7F,0x20,0x6F,0xB6,0x00,0x00}     /* Also under 7F20*/
+#define PATH_CBMID_ID   {0x7F,0x20,0x6F,0x48,0x00,0x00}    /* Also under 7F20*/
+#define PATH_ECC_ID   {0x7F,0x20,0x6F,0xB7,0x00,0x00}      /* Also under 7F20*/
+#define PATH_CBMIR_ID   {0x7F,0x20,0x6F,0x50,0x00,0x00}    /* Also under 7F20*/
+#define PATH_DCK_ID   {0x7F,0x20,0x6F,0x2C,0x00,0x00}      /* Also under 7F20*/
+#define PATH_CNL_ID   {0x7F,0x20,0x6F,0x32,0x00,0x00}      /* Also under 7F20*/
+#define PATH_NIA_ID   {0x7F,0x20,0x6F,0x51,0x00,0x00}      /* Also under 7F20*/
+#define PATH_KCGPRS_ID   {0x7F,0x20,0x6F,0x52,0x00,0x00}   /* Also under 7F20*/
+#define PATH_LOCIGPRS_ID   {0x7F,0x20,0x6F,0x53,0x00,0x00} /* Also 6F53 under 7F20 */
+#define PATH_SUME_ID   {0x7F,0x20,0x6F,0x54,0x00,0x00}     /* Also 6F54 under 7F20*/
+#define PATH_PLMNWACT_ID   {0x7F,0x20,0x6F,0x60,0x00,0x00} /* Also under 7F20*/
+#define PATH_OPLMNWACT_ID   {0x7F,0x20,0x6F,0x61,0x00,0x00}/* Also under 7F20*/
+#define PATH_HPLMNACT_ID   {0x7F,0x20,0x6F,0x62,0x00,0x00} /* Also under 7F20*/
+#define PATH_CPBCCH_ID   {0x7F,0x20,0x6F,0x63,0x00,0x00}   /* Also 6F63 under 7F20 */
+#define PATH_INVSCAN_ID   {0x7F,0x20,0x6F,0x64,0x00,0x00}  /* Also 6F64 under 7F20 */
+#define PATH_VM_WAIT_ID   {0x7F,0x20,0x6F,0x11,0x00,0x00}
+#define PATH_CPHS_SST_ID   {0x7F,0x20,0x6F,0x12,0x00,0x00}
+#define PATH_CF_FLAG_ID   {0x7F,0x20,0x6F,0x13,0x00,0x00}
+#define PATH_OP_STRING_ID   {0x7F,0x20,0x6F,0x14,0x00,0x00}
+#define PATH_CSP_ID   {0x7F,0x20,0x6F,0x15,0x00,0x00}
+#define PATH_CPHS_INFO_ID   {0x7F,0x20,0x6F,0x16,0x00,0x00}
+#define PATH_MAILBOX_NUM_ID   {0x7F,0x20,0x6F,0x17,0x00,0x00}
+#define PATH_OP_SHORTFORM_ID   {0x7F,0x20,0x6F,0x18,0x00,0x00}
+#define PATH_INFO_NUM_ID   {0x7F,0x20,0x6F,0x19,0x00,0x00}
+#define PATH_ADN_ID   {0x7F,0x10,0x6F,0x3A,0x00,0x00}      /* !!!!! */
+#define PATH_FDN_ID   {0x7F,0x10,0x6F,0x3B,0x00,0x00}      /* Also 6F3B under 7F10 */
+#define PATH_SMS_ID   {0x7F,0x10,0x6F,0x3C,0x00,0x00}      /* Also 6F3C under 7F10 */
+#define PATH_CCP_ID   {0x7F,0x10,0x6F,0x3D,0x00,0x00}      /* !!!!! Map to ECCP in USIM. Also 6F3D under 7F10 */
+#define PATH_ECCP_ID   {0x7F,0x10,0x6F,0x4F,0x00,0x00}     /* !!!!! */
+#define PATH_MSISDN_ID   {0x7F,0x10,0x6F,0x40,0x00,0x00}   /* Also 6F40 under 7F10 */
+#define PATH_SMSP_ID   {0x7F,0x10,0x6F,0x42,0x00,0x00}     /* Also 6F42 under 7F10 */
+#define PATH_SMSS_ID   {0x7F,0x10,0x6F,0x43,0x00,0x00}     /* Also 6F43 under 7F10 */
+#define PATH_LND_ID   {0x7F,0x10,0x6F,0x44,0x00,0x00}      /* xxxxx */
+#define PATH_SDN_ID   {0x7F,0x10,0x6F,0x49,0x00,0x00}      /* Also 6F49 under 7F10 */
+#define PATH_EXT1_ID   {0x7F,0x10,0x6F,0x4A,0x00,0x00}     /* !!!!! */
+#define PATH_EXT2_ID   {0x7F,0x10,0x6F,0x4B,0x00,0x00}     /* Also 6F4B under 7F10 */
+#define PATH_EXT3_ID   {0x7F,0x10,0x6F,0x4C,0x00,0x00}     /* Also 6F4C under 7F10 */
+#define PATH_BDN_ID   {0x7F,0x10,0x6F,0x4D,0x00,0x00}      /* Also 6F4D under 7F10 */
+#define PATH_EXT4_ID   {0x7F,0x10,0x6F,0x55,0x00,0x00}     /* Also 6F4E under 7F10 */
+#define PATH_SMSR_ID   {0x7F,0x10,0x6F,0x47,0x00,0x00}
+#define PATH_CMI_ID   {0x7F,0x10,0x6F,0x58,0x00,0x00}      /* Also under 7F10*/
+#define PATH_IMG_1_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x01}
+#define PATH_IMG_2_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x02}
+#define PATH_IMG_3_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x03}
+#define PATH_IMG_4_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x04}
+#define PATH_IMG_5_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x05}
+#define PATH_IMG_6_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x06}
+#define PATH_IMG_7_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x07}
+#define PATH_IMG_8_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x08}
+#define PATH_IMG_9_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x09}
+#define PATH_IMG_A_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0A}
+#define PATH_IMG_B_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0B}
+#define PATH_IMG_C_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0C}
+#define PATH_IMG_D_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0D}
+#define PATH_IMG_E_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0E}
+#define PATH_IMG_F_ID   {0x7F,0x10,0x5F,0x50,0x4F,0x0F}
+#define PATH_VID_ID   {0x7F,0x43,0x00,0x00,0x00,0x00}
+/* HomeZone Support */
+#define PATH_HZ_ID   {0x7F,0x43,0x6F,0x60,0x00,0x00}
+#define PATH_HZ_CACHE1_ID   {0x7F,0x43,0x6F,0x61,0x00,0x00}
+#define PATH_HZ_CACHE2_ID   {0x7F,0x43,0x6F,0x62,0x00,0x00}
+#define PATH_HZ_CACHE3_ID   {0x7F,0x43,0x6F,0x63,0x00,0x00}
+#define PATH_HZ_CACHE4_ID   {0x7F,0x43,0x6F,0x64,0x00,0x00}
+/* ENS support mtk01488 */
+#define PATH_ENS_DF_7F66_ID {0x7F,0x66,0x00,0x00,0x00,0x00}
+#define PATH_ENS_DF_5F30_ID {0x7F,0x66,0x5F,0x30,0x00,0x00}
+#define PATH_ENS_ACTING_HPLMN_ID {0x7F, 0x66, 0x5F, 0x30, 0x4F, 0x34}
+#define PATH_ENS_TERMINAL_SUPPORT_TABLE {0x7F, 0x66, 0x6F, 0xD2, 0x00, 0x00}
+#define PATH_PNN_ID   {0x7F,0x20,0x6F,0xC5,0x00,0x00}
+#define PATH_OPL_ID   {0x7F,0x20,0x6F,0xC6,0x00,0x00}
+#define PATH_MBDN_ID   {0x7F,0x20,0x6F,0xC7,0x00,0x00}
+#define PATH_EXT6_ID   {0x7F,0x20,0x6F,0xC8,0x00,0x00}
+#define PATH_MBI_ID   {0x7F,0x20,0x6F,0xC9,0x00,0x00}
+#define PATH_MWIS_ID   {0x7F,0x20,0x6F,0xCA,0x00,0x00}
+#define PATH_CFIS_ID   {0x7F,0x20,0x6F,0xCB,0x00,0x00}
+#define PATH_EXT7_ID   {0x7F,0x20,0x6F,0xCC,0x00,0x00}
+#define PATH_SPDI_ID   {0x7F,0x20,0x6F,0xCD,0x00,0x00}
+#define PATH_MMSN_ID   {0x7F,0x20,0x6F,0xCE,0x00,0x00}
+#define PATH_EXT8_ID   {0x7F,0x20,0x6F,0xCF,0x00,0x00}
+#define PATH_MMSICP_ID   {0x7F,0x20,0x6F,0xD0,0x00,0x00}
+#define PATH_MMSUP_ID   {0x7F,0x20,0x6F,0xD1,0x00,0x00}
+#define PATH_MMSUCP_ID   {0x7F,0x20,0x6F,0xD2,0x00,0x00}
+#define PATH_DIR_ID   {0x2F,0x00,0x00,0x00,0x00,0x00}
+#define PATH_ARR_ID   {0x2F,0x06,0x00,0x00,0x00,0x00}
+#define PATH_USIM_ID   {0x7F,0xFF,0x00,0x00,0x00,0x00}
+#define PATH_U_LI_ID   {0x7F,0xFF,0x6F,0x05,0x00,0x00}
+#define PATH_U_IMSI_ID   {0x7F,0xFF,0x6F,0x07,0x00,0x00}
+#define PATH_U_KEYS_ID   {0x7F,0xFF,0x6F,0x08,0x00,0x00}
+#define PATH_U_KEYSPS_ID   {0x7F,0xFF,0x6F,0x09,0x00,0x00}
+#define PATH_U_PLMNWACT_ID   {0x7F,0xFF,0x6F,0x60,0x00,0x00}
+#define PATH_U_HPPLMN_ID   {0x7F,0xFF,0x6F,0x31,0x00,0x00}
+#define PATH_U_ACMMAX_ID   {0x7F,0xFF,0x6F,0x37,0x00,0x00}
+#define PATH_U_UST_ID   {0x7F,0xFF,0x6F,0x38,0x00,0x00}
+#define PATH_U_ACM_ID   {0x7F,0xFF,0x6F,0x39,0x00,0x00}
+#define PATH_U_GID1_ID   {0x7F,0xFF,0x6F,0x3E,0x00,0x00}
+#define PATH_U_GID2_ID   {0x7F,0xFF,0x6F,0x3F,0x00,0x00}
+#define PATH_U_SPN_ID   {0x7F,0xFF,0x6F,0x46,0x00,0x00}
+#define PATH_U_PUCT_ID   {0x7F,0xFF,0x6F,0x41,0x00,0x00}
+#define PATH_U_CBMI_ID   {0x7F,0xFF,0x6F,0x45,0x00,0x00}
+#define PATH_U_ACC_ID   {0x7F,0xFF,0x6F,0x78,0x00,0x00}
+#define PATH_U_FPLMN_ID   {0x7F,0xFF,0x6F,0x7B,0x00,0x00}
+#define PATH_U_LOCI_ID   {0x7F,0xFF,0x6F,0x7E,0x00,0x00}
+#define PATH_U_AD_ID   {0x7F,0xFF,0x6F,0xAD,0x00,0x00}
+#define PATH_U_CBMID_ID   {0x7F,0xFF,0x6F,0x48,0x00,0x00}
+#define PATH_U_ECC_ID   {0x7F,0xFF,0x6F,0xB7,0x00,0x00}
+#define PATH_U_CBMIR_ID   {0x7F,0xFF,0x6F,0x50,0x00,0x00}
+#define PATH_U_PSLOCI_ID   {0x7F,0xFF,0x6F,0x73,0x00,0x00}
+#define PATH_U_FDN_ID   {0x7F,0xFF,0x6F,0x3B,0x00,0x00}
+#define PATH_U_SMS_ID   {0x7F,0xFF,0x6F,0x3C,0x00,0x00}
+#define PATH_U_MSISDN_ID   {0x7F,0xFF,0x6F,0x40,0x00,0x00}
+#define PATH_U_SMSP_ID   {0x7F,0xFF,0x6F,0x42,0x00,0x00}
+#define PATH_U_SMSS_ID   {0x7F,0xFF,0x6F,0x43,0x00,0x00}
+#define PATH_U_SDN_ID   {0x7F,0xFF,0x6F,0x49,0x00,0x00}
+#define PATH_U_EXT2_ID   {0x7F,0xFF,0x6F,0x4B,0x00,0x00}
+#define PATH_U_EXT3_ID   {0x7F,0xFF,0x6F,0x4C,0x00,0x00}
+#define PATH_U_SMSR_ID   {0x7F,0xFF,0x6F,0x47,0x00,0x00}
+#define PATH_U_ICI_ID   {0x7F,0xFF,0x6F,0x80,0x00,0x00}
+#define PATH_U_OCI_ID   {0x7F,0xFF,0x6F,0x81,0x00,0x00}
+#define PATH_U_ICT_ID   {0x7F,0xFF,0x6F,0x82,0x00,0x00}
+#define PATH_U_OCT_ID   {0x7F,0xFF,0x6F,0x83,0x00,0x00}
+#define PATH_U_EXT5_ID   {0x7F,0xFF,0x6F,0x4E,0x00,0x00}
+#define PATH_U_CCP2_ID   {0x7F,0xFF,0x6F,0x4F,0x00,0x00}
+#define PATH_U_EMLPP_ID   {0x7F,0xFF,0x6F,0xB5,0x00,0x00}
+#define PATH_U_AAEM_ID   {0x7F,0xFF,0x6F,0xB6,0x00,0x00}
+#define PATH_U_HIDDENKEY_ID   {0x7F,0xFF,0x6F,0xC3,0x00,0x00}
+#define PATH_U_BDN_ID   {0x7F,0xFF,0x6F,0x4D,0x00,0x00}
+#define PATH_U_EXT4_ID   {0x7F,0xFF,0x6F,0x55,0x00,0x00}
+#define PATH_U_CMI_ID   {0x7F,0xFF,0x6F,0x58,0x00,0x00}
+#define PATH_U_EST_ID   {0x7F,0xFF,0x6F,0x56,0x00,0x00}
+#define PATH_U_ACL_ID   {0x7F,0xFF,0x6F,0x57,0x00,0x00}
+#define PATH_U_DCK_ID   {0x7F,0xFF,0x6F,0x2C,0x00,0x00}
+#define PATH_U_CNL_ID   {0x7F,0xFF,0x6F,0x32,0x00,0x00}
+#define PATH_U_STARTHFN_ID   {0x7F,0xFF,0x6F,0x5B,0x00,0x00}
+#define PATH_U_THRESHOLD_ID   {0x7F,0xFF,0x6F,0x5C,0x00,0x00}
+#define PATH_U_OPLMNWACT_ID   {0x7F,0xFF,0x6F,0x61,0x00,0x00}
+#define PATH_U_HPLMNWACT_ID   {0x7F,0xFF,0x6F,0x62,0x00,0x00}
+#define PATH_U_ARR_ID   {0x7F,0xFF,0x6F,0x06,0x00,0x00}
+#define PATH_U_NETPAR_ID   {0x7F,0xFF,0x6F,0xC4,0x00,0x00}
+#define PATH_U_PNN_ID   {0x7F,0xFF,0x6F,0xC5,0x00,0x00}
+#define PATH_U_OPL_ID   {0x7F,0xFF,0x6F,0xC6,0x00,0x00}
+#define PATH_U_MBDN_ID   {0x7F,0xFF,0x6F,0xC7,0x00,0x00}
+#define PATH_U_EXT6_ID   {0x7F,0xFF,0x6F,0xC8,0x00,0x00}
+#define PATH_U_MBI_ID   {0x7F,0xFF,0x6F,0xC9,0x00,0x00}
+#define PATH_U_MWIS_ID   {0x7F,0xFF,0x6F,0xCA,0x00,0x00}
+#define PATH_U_CFIS_ID   {0x7F,0xFF,0x6F,0xCB,0x00,0x00}
+#define PATH_U_EXT7_ID   {0x7F,0xFF,0x6F,0xCC,0x00,0x00}
+#define PATH_U_SPDI_ID   {0x7F,0xFF,0x6F,0xCD,0x00,0x00}
+#define PATH_U_MMSN_ID   {0x7F,0xFF,0x6F,0xCE,0x00,0x00}
+#define PATH_U_EXT8_ID   {0x7F,0xFF,0x6F,0xCF,0x00,0x00}
+#define PATH_U_MMSICP_ID   {0x7F,0xFF,0x6F,0xD0,0x00,0x00}
+#define PATH_U_MMSUP_ID   {0x7F,0xFF,0x6F,0xD1,0x00,0x00}
+#define PATH_U_MMSUCP_ID   {0x7F,0xFF,0x6F,0xD2,0x00,0x00}
+#define PATH_U_NIA_ID   {0x7F,0xFF,0x6F,0xD3,0x00,0x00}
+#define PATH_U_VGCS_ID   {0x7F,0xFF,0x6F,0xB1,0x00,0x00}
+#define PATH_U_VGCSS_ID   {0x7F,0xFF,0x6F,0xB2,0x00,0x00}
+#define PATH_U_VBS_ID   {0x7F,0xFF,0x6F,0xB3,0x00,0x00}
+#define PATH_U_VBSS_ID   {0x7F,0xFF,0x6F,0xB4,0x00,0x00}
+#define PATH_U_VGCSCA_ID   {0x7F,0xFF,0x6F,0xD4,0x00,0x00}
+#define PATH_U_VBSCA_ID   {0x7F,0xFF,0x6F,0xD5,0x00,0x00}
+#define PATH_U_GBAP_ID   {0x7F,0xFF,0x6F,0xD6,0x00,0x00}
+#define PATH_U_MSK_ID   {0x7F,0xFF,0x6F,0xD7,0x00,0x00}
+#define PATH_U_MUK_ID   {0x7F,0xFF,0x6F,0xD8,0x00,0x00}
+#define PATH_U_GBANL_ID   {0x7F,0xFF,0x6F,0xDA,0x00,0x00}
+#define PATH_U_SOLSA_ID   {0x7F,0xFF,0x5F,0x70,0x00,0x00}
+#define PATH_U_SAI_ID   {0x7F,0xFF,0x5F,0x70,0x4F,0x30}
+#define PATH_U_SLL_ID   {0x7F,0xFF,0x5F,0x70,0x4F,0x31}
+#define PATH_U_LSAD_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_PHONEBOOK_ID   {0x7F,0xFF,0x5F,0x3A,0x00,0x00}
+#define PATH_U_PBR_ID   {0x7F,0xFF,0x5F,0x3A,0x4F,0x30}
+#define PATH_U_IAP_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_ADN_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_EXT1_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_PBC_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_GRP_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_AAS_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_GAS_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_ANR_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_SNE_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_CCP1_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_UID_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_PSC_ID   {0x7F,0xFF,0x5F,0x3A,0x4F,0x22}
+#define PATH_U_CC_ID   {0x7F,0xFF,0x5F,0x3A,0x4F,0x23}
+#define PATH_U_PUID_ID   {0x7F,0xFF,0x5F,0x3A,0x4F,0x24}
+#define PATH_U_EMAIL_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_GSMACCESS_ID   {0x7F,0xFF,0x5F,0x3B,0x00,0x00}
+#define PATH_U_KC_ID   {0x7F,0xFF,0x5F,0x3B,0x4F,0x20}
+#define PATH_U_KCGPRS_ID   {0x7F,0xFF,0x5F,0x3B,0x4F,0x52}
+#define PATH_U_CPBCCH_ID   {0x7F,0xFF,0x5F,0x3B,0x4F,0x63}
+#define PATH_U_INVSCAN_ID   {0x7F,0xFF,0x5F,0x3B,0x4F,0x64}
+#define PATH_U_MEXE_ID   {0x7F,0xFF,0x5F,0x3C,0x00,0x00}
+#define PATH_U_MEXEST_ID   {0x7F,0xFF,0x5F,0x3C,0x4F,0x40}
+#define PATH_U_ORPK_ID   {0x7F,0xFF,0x5F,0x3C,0x4F,0x41}
+#define PATH_U_ARPK_ID   {0x7F,0xFF,0x5F,0x3C,0x4F,0x42}
+#define PATH_U_TPRPK_ID   {0x7F,0xFF,0x5F,0x3C,0x4F,0x43}
+#define PATH_U_TKCDF_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_U_WLAN_ID   {0x7F,0xFF,0x5F,0x40,0x00,0x00}
+#define PATH_U_PSEUDO_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x41}
+#define PATH_U_UPLMNWLAN_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x42}
+#define PATH_U_OPLMNWLAN_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x43}
+#define PATH_U_USSIDL_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x44}
+#define PATH_U_OSSIDL_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x45}
+#define PATH_U_WRI_ID   {0x7F,0xFF,0x5F,0x40,0x4F,0x46}
+#define PATH_G_PHONEBOOK_ID   {0x7F,0x10,0x5F,0x3A,0x00,0x00}
+#define PATH_G_PBR_ID   {0x7F,0x10,0x5F,0x3A,0x4F,0x30}
+#define PATH_G_IAP_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_ADN_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_EXT1_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_PBC_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_GRP_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_AAS_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_GAS_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_ANR_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_SNE_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_CCP1_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_UID_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_G_PSC_ID   {0x7F,0x10,0x5F,0x3A,0x4F,0x22}
+#define PATH_G_CC_ID   {0x7F,0x10,0x5F,0x3A,0x4F,0x23}
+#define PATH_G_PUID_ID   {0x7F,0x10,0x5F,0x3A,0x4F,0x24}
+#define PATH_G_EMAIL_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+#define PATH_MULTIMEDIA_ID   {0x7F,0x10,0x5F,0x3B,0x00,0x00}
+#define PATH_MML_ID   {0x7F,0x10,0x5F,0x3B,0x4F,0x47}
+#define PATH_MMDF_ID   {0x7F,0x10,0x5F,0x3B,0x4F,0x48}
+#define PATH_U_EHPLMN_ID   {0x7F,0xFF,0x6F,0xD9,0x00,0x00} //__R7_EHPLMN__
+#define PATH_U_EHPLMNPI_ID   {0x7F,0xFF,0x6F,0xDB,0x00,0x00}
+#define PATH_U_LRPLMNSI_ID   {0x7F,0xFF,0x6F,0xDC,0x00,0x00}
+#define PATH_U_CSP_ID   {0x7F,0xFF,0x6F,0x15,0x00,0x00} /*[MAUI_02387843] mtk01612: AT&T proprietary EFU_CSP 7FFF\6F15*/
+#define PATH_U_ENS_RAT_ID   {0x7F, 0x66, 0x5F, 0x30, 0x4F, 0x36}//__ENS_RAT_BALANCING__
+#define PATH_U_ENS_TERMINAL_SUPPORT_TABLE   {0x7F, 0xFF, 0x7F, 0x66, 0x6F, 0xD2} /* [MAUI_02908638] mtk01616_110418 support EF_U_TS_table under 7FFF */
+/* mtk01616_110502 __CSG_SUPPORT__ */
+#define PATH_U_HNB_ID   {0x7F,0xFF,0x5F,0x50,0x00,0x00}
+#define PATH_U_ACSGL_ID   {0x7F,0xFF,0x5F,0x50,0x4F,0x81}
+#define PATH_U_CSGT_ID   {0x7F,0xFF,0x5F,0x50,0x4F,0x82}
+#define PATH_U_HNBN_ID   {0x7F,0xFF,0x5F,0x50,0x4F,0x83}
+#define PATH_U_EPSLOCI_ID   {0x7F, 0xFF, 0x6F, 0xE3, 0x00, 0x00}
+#define PATH_U_EPSNSC_ID    {0x7F, 0xFF, 0x6F, 0xE4, 0x00, 0x00}
+#define PATH_NONE_ID   {0x00,0x00,0x00,0x00,0x00,0x00}
+
+#define SERVICE_EST_FDN 0x01
+#define SERVICE_EST_BDN 0x02
+#define SERVICE_EST_ACL 0x03
+
+#define SIM_DF_1800 0x7F21
+#define SIM_NO_PARA 0x00
+
+#if defined(__TC10__)
+#define SIM_MAX_TRIAL_COUNT 2
+#else
+#define SIM_MAX_TRIAL_COUNT 3
+#endif
+
+#define MAX_FILE_PATH_LEVEL 3
+#define MAX_FILE_PATH (MAX_FILE_PATH_LEVEL * 2)
+
+#define SIM_SELECT_PARA_LEN 0x02
+#define SIM_INCREASE_PARA_LEN 0x03
+#define SIM_VERIFY_CHV_PARA_LEN 0x08
+#define SIM_CHANGE_CHV_PARA_LEN 0x10
+#define SIM_SWITCH_CHV_PARA_LEN 0x08
+#define SIM_DISABLE_CHV_PARA_LEN SIM_SWITCH_CHV_PARA_LEN
+#define SIM_ENABLE_CHV_PARA_LEN SIM_SWITCH_CHV_PARA_LEN
+#define SIM_UNBLOCK_CHV_PARA_LEN 0x10
+#define SIM_RUN_GSM_ALGO_PARA_LEN 0x10
+#define SIM_STATUS_CMD_LEN 0x16
+
+#define SIM_MAX_RSP_DATA_LEN 256
+//#define SIM_DEFAULT_TIMER           KAL_TICKS_30_SEC  /* 3GPP 31.121 8.4 failed */
+#define SIM_DEFAULT_TIMER KAL_TICKS_30_SEC - KAL_TICKS_1_SEC * 3 - KAL_TICKS_500_MSEC
+
+#define SAT_EVDL_FIRST_LOC_TIMER KAL_TICKS_1_MIN /* GSM_BTR_1_7944 fails if timer increases from 90 secs */
+
+#define SIM_EM_SIM_ERROR_TIMER KAL_TICKS_1_SEC * 2
+
+/* SELECT */
+#define USIM_MAX_SELECT_AID_LEN 22                       /* 5 + 16(AID) + 1 */
+#define USIM_MAX_SELECT_PATH_LEN 14 /* 5 + 8(path) +1 */ /* MAUI_02921092 to support file path up to 8 */
+/* P1 */
+#define SEL_BY_FILE_ID 0x00
+#define SEL_CHILD_DF 0x01
+#define SEL_PARENT_DF 0x03
+#define SEL_BY_AID 0x04
+#define SEL_BY_PATH_FROM_MF 0x08
+#define SEL_BY_PATH_FROM_DF 0x09
+/* P2 */
+#define SEL_RET_FCP 0x04
+#define SEL_NO_RET 0x0C
+
+/* INCREASE */
+#define USIM_MAX_INCREASE_LEN 133 /* 5 + 127 + 1 */
+
+/* VERIFY PIN */
+#define VERIFY_PIN_LEN 8
+
+/* CHANGE PIN */
+#define CHANGE_PIN_LEN (VERIFY_PIN_LEN * 2) /* 16 */
+
+/* DISABLE PIN or ENABLE PIN */
+#define USIM_MAX_SWITCH_PIN_LEN 13 /* 5 + 8 */
+
+/* UNBLOCK PIN */
+#define USIM_MAX_UNBLOCK_PIN_LEN 21 /* 5 + 16 */
+
+/* DEACTIVATE FILE */
+#define USIM_MAX_DEACTIVATE_FILE_LEN 11 /* 5 + 6 */
+
+/* ACTIVATE FILE */
+#define USIM_MAX_ACTIVATE_FILE_LEN 11 /* 5 + 6 */
+
+/* AUTHENTICATE */
+#define USIM_MAX_AUTHENTICATE_LEN 261 /* 5 + 255 + 1 */
+#define USIM_MAX_AUTHENTICATE_RSP_LEN 256
+#define USIM_GSM_AUTHENTICATE_RSP_LEN 14
+#define AUTH_GSM_CONTEXT 0x80
+#define AUTH_3G_CONTEXT 0x81
+#define AUTH_GBA_CONTEXT 0x84
+#define AUTH_AUTN_LEN 16 /* 16 */
+#define AUTH_RAND_LEN 16 /* 16 */
+
+/* GET CHALLENGE */
+#define USIM_MAX_GET_CHALLENGE_LEN 5 /* 4 + 1 */
+
+/* MANAGE CHANNEL */
+#define USIM_MAX_MANAGE_CHANNEL_LEN 5 /* 4 + 1 */
+
+#define USIM_MAX_RSP_FCP_LEN 128
+#define FCP_TEMP_T 0x62
+
+/* Define application template Data Object  */
+#define USIM_APP_TEMP_TAG 0x61
+#define USIM_APP_ID_TAG 0x4F
+#define USIM_APP_LABEL_TAG 0x50
+
+#define USIM_FD_EMPTY 0x80
+
+#define SIZE_OF_CMD_DETAIL 5
+
+#define APP1_PIN1_M 0x00000001
+#define APP1_PIN2_M 0x00000002
+#define APP2_PIN1_M 0x00000004
+#define APP2_PIN2_M 0x00000008
+#define APP3_PIN1_M 0x00000010
+#define APP3_PIN2_M 0x00000020
+#define APP4_PIN1_M 0x00000040
+#define APP4_PIN2_M 0x00000080
+#define APP5_PIN1_M 0x00000100
+#define APP5_PIN2_M 0x00000200
+#define APP6_PIN1_M 0x00000400
+#define APP6_PIN2_M 0x00000800
+#define APP7_PIN1_M 0x00001000
+#define APP7_PIN2_M 0x00002000
+#define APP8_PIN1_M 0x00004000
+#define APP8_PIN2_M 0x00008000
+#define ADM01_M 0x00010000
+#define ADM02_M 0x00020000
+#define ADM03_M 0x00040000
+#define ADM04_M 0x00080000
+#define ADM05_M 0x00100000
+#define ADM06_M 0x00200000
+#define ADM07_M 0x00400000
+#define ADM08_M 0x00800000
+#define ADM09_M 0x01000000
+#define ADM10_M 0x02000000
+#define UNIV_PIN_M 0x80000000
+
+#define SIM_CHECK_30VSIM 0x10     /* 3V technical SIM */
+#define SIM_CHECK_18VSIM 0x20     /* 1.8V technical SIM */
+#define SIM_CHECK_CLOCK_MODE 0x0D /* bit mask for SIM clock mode */
+
+#define USIM_CHECK_50VSIM 0x10
+#define USIM_CHECK_30VSIM 0x20
+#define USIM_CHECK_18VSIM 0x40
+#define USIM_CHECK_30_50VSIM 0x30
+#define USIM_CHECK_18_30VSIM 0x60
+#define USIM_CHECK_18_30_50VSIM 0x70
+
+/* __SAT__ start */
+#define EVDL_NORMAL_SERVICE 0
+#define EVDL_LIMITED_SERVICE 1
+#define EVDL_NO_SERVICE 2
+/* __SAT__ end */
+
+#define SIM_RECOVERY_AGAIN_MAX 3 // MAX as init. value, actually the retry count is (MAX-1)
+
+#define USIM_TOTAL_SFI 31
+#define USIM_5GS_TOTAL_SFI 11
+#define GSM_ACCESS_TOTAL_SFI 3
+#define CSIM_TOTAL_SFI 19
+
+#ifdef __MTK_TARGET__
+#include "sys/cdefs.h"
+#undef __section
+#define __section(S) __attribute__((section(#S)))
+
+#define __ZI__ __attribute__((zero_init))
+#define __vsimdata __section(INTSRAM_RW)
+#define __vsimbss __section(INTSRAM_ZI) __ZI__
+#else
+#define __ZI__
+#define __vsimdata
+#define __vsimbss
+#endif // __MTK_TARGET__
+
+#define UICC_AID_PREFIX_LEN 7
+
+extern const kal_uint8 usim_aid_prefix[UICC_AID_PREFIX_LEN];
+extern const kal_uint8 isim_aid_prefix[UICC_AID_PREFIX_LEN];
+extern const kal_uint8 csim_aid_prefix[UICC_AID_PREFIX_LEN];
+extern const kal_uint8 mf_path[8];
+extern const kal_uint8 adf_path[8];
+
+#define ISDR_AID_LEN 16
+extern const kal_uint8 isdr_aid[ISDR_AID_LEN];
+
+typedef enum
+{
+    USIM_MSISDN_NOT_EXIST = 0,
+    USIM_MSISDN_EXIST,
+    USIM_MSISDN_EXIST_NOT_MATCH
+} usim_msisdn_result_enum;
+
+typedef enum
+{
+    SIM_CACHE_FILE_IMSI_IDX, // 0
+    SIM_CACHE_FILE_DIR_IDX,
+    SIM_CACHE_FILE_AD_IDX,
+    SIM_CACHE_FILE_GID1_IDX,
+    SIM_CACHE_FILE_SPN_IDX,
+    SIM_CACHE_FILE_ICCID_IDX,
+    SIM_CACHE_FILE_SST_IDX,
+    SIM_CACHE_FILE_SMSP_IDX,
+    SIM_CACHE_FILE_MBI_IDX,
+    SIM_CACHE_FILE_GID2_IDX,
+    SIM_CACHE_FILE_LI_LP_IDX, // 10
+    SIM_CACHE_FILE_ELP_IDX,
+    SIM_CACHE_FILE_MSISDN_IDX,
+    SIM_CACHE_FILE_VM_WAIT_IDX,
+    SIM_CACHE_FILE_SPDI_IDX,
+    SIM_CACHE_FILE_CPHS_INFO_IDX,
+    SIM_CACHE_FILE_CSP_IDX,
+    SIM_CACHE_FILE_OP_STRING_IDX,
+    SIM_CACHE_FILE_OP_SHORTFORM_IDX,
+    SIM_CACHE_FILE_CFIS_IDX,
+    SIM_CACHE_FILE_PLMNWACT_IDX, // 20
+    SIM_CACHE_FILE_OPLMNWACT_IDX,
+    SIM_CACHE_FILE_HPLMNWACT_IDX,
+    SIM_CACHE_FILE_EHPLMN_IDX,
+    SIM_CACHE_FILE_FPLMN_IDX,
+    SIM_CACHE_FILE_PERSO_IDX,
+    SIM_CACHE_FILE_LOCI_IDX,
+    SIM_CACHE_FILE_LOCIGPRS_IDX,
+    SIM_CACHE_FILE_PSLOCI_IDX,
+    SIM_CACHE_FILE_EPSLOCI_IDX,
+
+    /* NOTICE!! should add Cache file enum before the line*/
+    SIM_CACHE_TOTAL_FILES,
+    SIM_CACHE_FILE_NONE
+} sim_cache_file_idx_enum;
+
+typedef enum
+{
+    SIM_CACHE_OP_READ,
+    SIM_CACHE_OP_WRITE,
+} sim_cache_file_op_enum;
+
+/*bit position of proactive commands in terminal profile*/
+typedef enum
+{
+    SAT_CMD_BIT_NOT_DEFINED = 0,
+
+    /* Start from 1, Ref: 31.124 Annex B */
+    SAT_ENV_SMS_PP_BIT = 2,
+    SAT_ENV_CB_DL_BIT,
+    SAT_ENV_MENU_SELECTION_BIT,
+    SAT_ENV_TIMER_EXPIR_BIT = 6,
+    SAT_ENV_CALL_CONTROL_BIT = 10,
+    SAT_ENV_MO_SMS_CONTROL_BIT = 12,
+    SAT_DSPL_TXT_CMD_BIT = 17,
+    SAT_GET_INKEY_CMD_BIT, 
+    SAT_GET_INPUT_CMD_BIT,
+    SAT_MORE_TIME_CMD_BIT,
+    SAT_PLAY_TONE_CMD_BIT,
+    SAT_POLL_INTERVAL_CMD_BIT ,
+    SAT_POLLING_OFF_CMD_BIT,
+    SAT_REFRESH_CMD_BIT ,
+    SAT_SELECT_ITEM_CMD_BIT,
+    SAT_SEND_SMS_CMD_BIT,
+    SAT_SEND_SS_CMD_BIT,
+    SAT_SEND_USSD_CMD_BIT,
+    SAT_SETUP_CALL_CMD_BIT,
+    SAT_SETUP_MENU_CMD_BIT,
+    SAT_PROVIDE_LOCAL_INFO_CMD_BIT,
+    SAT_PROVIDE_LOCAL_INFO_NMR_CMD_BIT,
+    SAT_SETUP_EVENT_LIST_CMD_BIT ,
+    SAT_POWER_ON_CARD_CMD_BIT =49 ,
+    SAT_POWER_OFF_CARD_CMD_BIT, 
+    SAT_PERFORM_CARD_APDU_CMD_BIT, 
+    SAT_GET_READER_STATUS_CMD_BIT,
+    SAT_TIMER_MANAGER_CMD_BIT = 57,
+    SAT_IDLE_MODEL_TXT_CMD_BIT = 61,
+    SAT_RUN_AT_CMD_BIT, 
+    SAT_DTMF_CMD_BIT =66, 
+    SAT_LANGUAGE_NOTIFY_CMD_BIT = 70,
+    SAT_LAUNCH_BROWSER_CMD_BIT ,
+    SAT_OPEN_CHANNEL_CMD_BIT = 89,
+    SAT_CLOSE_CHANNEL_CMD_BIT, 
+    SAT_RECEIVE_DATA_CMD_BIT,
+    SAT_SEND_DATA_CMD_BIT, 
+    SAT_GET_CHANNEL_STATUS_CMD_BIT,
+    SAT_ACTIVATE_CMD_BIT =237, 
+    SAT_CONTACTLESS_STATE_CHANGED_CMD_BIT =241,
+}sat_proactive_cmd_bit_enum;
+
+typedef enum
+{
+    SIM_CACHE_PART_FCP,
+    SIM_CACHE_PART_BIN,
+    SIM_CACHE_PART_REC,
+} sim_cache_part_enum;
+
+typedef enum
+{
+    CARD_CHECK_ANY,  // Any App exist
+    CARD_CHECK_UICC, // USIM or ISIM or CSIM
+
+    //UMTS support
+    CARD_CHECK_UMTS,      // SIM or USIM
+    CARD_CHECK_USIM_ISIM, // USIM and ISIM
+    CARD_CHECK_UMTS_ONLY, // No UIM or CSIM
+
+    //c2k support
+    CARD_CHECK_DUAL_MODE_AS_SIM_ONLY,
+    CARD_CHECK_C2K,       // UIM or CSIM  (dual mode roaming to UMTS network, C2K will not be active)
+    CARD_CHECK_UIM,       // UIM
+    CARD_CHECK_CSIM,      // CSIM
+    CARD_CHECK_CSIM_ISIM, // CSIM and ISIM
+    CARD_CHECK_C2K_ONLY,  // No SIM or USIM
+    CARD_CHECK_DUAL_MODE_AS_UIM_ONLY,
+
+    CARD_CHECK_C2K_SIM,       // SIM+UIM or SIM+CSIM
+    CARD_CHECK_DUAL_MODE_ICC, // SIM and UIM active
+    CARD_CHECK_DUAL_MODE_UICC // USIM and CSIM active
+} card_check_app_type;
+
+#ifdef __GEMINI__
+#define PARAM_PS_ID ((protocol_id_enum)ps_id)
+#else
+#define PARAM_PS_ID (PROTOCOL_1)
+#endif
+
+typedef enum
+{
+    SIM_DETECT_NO_ERR,
+    SIM_DETECT_NO_ATR_ERR,
+    SIM_DETECT_ATR_ERR,
+    SIM_DETECT_APDU_LOST_ERR,
+    SIM_DETECT_PLUG_OUT_ERR,
+    SIM_DETECT_INVALID_ERR,
+    SIM_DETECT_APDU_LOST_FOR_MF_ERR
+} sim_detect_err_type;
+
+typedef enum
+{
+    SIM_ESIMPWR_STATE_ENABLE,
+    SIM_ESIMPWR_STATE_DISABLE,
+#ifdef __SIM_PASS_THROUGH__
+    SIM_ESIMPWR_STATE_PASSTHROUGH,
+#endif
+    SIM_ESIMPWR_STATE_INVALID
+} sim_esimpwr_state_enum;
+
+typedef enum
+{
+    SIM_ESIMPWR_SUB_TYPE_NONE,
+    SIM_ESIMPWR_SUB_TYPE_ENABLING,    /* Perform disable to enable */
+    SIM_ESIMPWR_SUB_TYPE_CARD_LOST,   /* Before enter disable state, the card lost */
+    SIM_ESIMPWR_SUB_TYPE_NO_CARD,     /* Before enter disable state, no card detected */
+    SIM_ESIMPWR_SUB_TYPE_INVALID
+} sim_esimpwr_sub_type_enum;
+
+#define SIM_GET_IDENTITY_P2_SUCI 0x01  //31.121 - 5.3.3.5 : P2 as SUCI(0x01)
+#define SUCI_CAL_PROTECT_SCHEME_ID_TAG      0xA0
+#define SUCI_CAL_HOME_NETWORK_KEY_LIST_TAG  0xA1
+#define SUCI_DO_TAG                         0xA1  //SUCI context from GET IDENTITY
+
+#define SIM_MOBILE_ID_SUCI      0x01
+
+/* SUPI Type(1)|MCC_MNC(3)|Routing Indicator(2)|Scheme ID(1)|HN key ID(1)|Scheme Output */
+#define IMSI_SUCI_RI_OFS             0x04
+#define IMSI_SUCI_SCH_ID_OFS         0x06
+#define IMSI_SUCI_PKI_OFS            0x07
+#define IMSI_SUCI_SCHEME_OUTPUT_OFS  0x08
+
+#define IMSI_SUCI_MAX_LEN            54  //The max output of profile A/B is 45/46 bytes + 8 byte plaintext data
+#define MAX_NULL_IMSI_SUCI_LEN 13        //8 bytes header and 5 byte scheme output
+
+typedef enum
+{
+    SIM_DUMP_DATA_16_TRC_CMD_APDU_TX,
+    SIM_DUMP_DATA_16_TRC_CMD_APDU_RX,
+    SIM_DUMP_DATA_16_TRC_NVRAM_RDATA,
+    SIM_DUMP_DATA_16_TRC_NVRAM_WDATA,
+    SIM_DUMP_DATA_16_TRC_ADM_RDATA,
+    SIM_DUMP_DATA_16_TRC_ADM_WDATA,
+    SIM_DUMP_DATA_16_TRC_UST,
+} sim_dump_data_16_trc_enum;
+
+#define SIM_LONG_RX_BUFFER_SIZE 768     /* 256*3 => 1536 bytes of AT response */
+
+/* 32 bits bitmask to record the card capability to avoid error retrial */
+typedef enum
+{
+    SIM_CAP_PROFILE_P3_NOT_ZERO = 0x01,     /* P3 (Le) can't be 0 when READ BINARY */
+    SIM_CAP_PROFILE_NO_LOGICAL_CH  = 0x02,  /* The logical channel is not support */
+    SIM_CAP_PROFILE_NO_CPHS = 0x04,         /* There is no CPHS EFs in the card */
+    SIM_CAP_PROFILE_NO_VID_PERSO = 0x08,    /* There is no EF_PERSO (7F43/6F02) in the card */
+    SIM_CAP_PROFILE_NO_UFC = 0x10,          /* There is no EF_UFC in the case */
+} sim_capability_profile_enum;
+
+#define MAX_ATTEMPTS_FOR_USIM_IMPORTANT_FILE 2
+typedef enum
+{
+    EUICC_GET_INFO_1_REQ = 0xBF20,              /* GetEuiccInfo1Request or EUICCInfo1 */
+    EUICC_PREPARE_DOWNLOAD_REQ = 0xBF21,        /* PrepareDownloadRequest or PrepareDownloadResponse */
+    EUICC_GET_INFO_2_REQ = 0xBF22,              /* GetEuiccInfo2Request or EUICCInfo2 */
+    EUICC_INIT_SEC_CHANNEL_REQ = 0xBF23,        /* InitialiseSecureChannelRequest */
+    EUICC_CONFIG_ISDP_REQ = 0xBF24,             /* ConfigureISDPRequest */
+    EUICC_STORE_META_DATA_REQ = 0xBF25,         /* StoreMetadataRequest */
+    EUICC_REPLACE_SESSION_KEY_REQ = 0xBF26,     /* ReplaceSessionKeysRequest */
+    EUICC_LIST_NOTIFICATION = 0xBF28,           /* ListNotificationRequest or ListNotificationResponse */
+    EUICC_SET_NICKNAME = 0xBF29,                /* SetNicknameRequest or SetNicknameResponse */
+    EUICC_UPDATE_META_DATA_REQ = 0xBF2A,        /* UpdateMetadataRequest */
+    EUICC_PENDING_NOTIFICATION_LIST = 0xBF2B,   /* PendingNotificationsListRequest or PendingNotificationsListResponse */
+    EUICC_PROFILE_INFO_LIST = 0xBF2D,           /* ProfileInfoListRequest or ProfileInfoListResponse */
+    EUICC_GET_CHALLENGE = 0xBF2E,               /* GetEuiccChallengeRequest or GetEuiccChallengeResponse */
+    EUICC_NOTIFICATION_META_DATA = 0xBF2F,      /* NotificationMetadata */
+    EUICC_NOTIFICATION_SENT = 0xBF30,           /* NotificationSentRequest or NotificationSentResponse */
+    EUICC_ENABLE_PROFILE = 0xBF31,              /* EnableProfileRequest or EnableProfileResponse */
+    EUICC_DISABLE_PROFILE = 0xBF32,             /* DisableProfileRequest or DisableProfileResponse */
+    EUICC_DELETE_PROFILE = 0xBF33,              /* DeleteProfileRequest or DeleteProfileResponse */
+    EUICC_MEMORY_RESET = 0xBF34,                /* EuiccMemoryResetRequest or EuiccMemoryResetResponse */
+    EUICC_LOAD_CRL = 0xBF35,                    /* LoadCRLRequest and LoadCRLResponse */
+    EUICC_BOUND_PROFILE_PACKAGE = 0xBF36,       /* BoundProfilePackage */
+    EUICC_PROFILE_INSTALL_RESULT = 0xBF37,      /* ProfileInstallationResult */
+    EUICC_AUTHENTICATE_SERVER = 0xBF38,         /* AuthenticateServerRequest or AuthenticateServerResponse */
+    EUICC_INIT_AUTHENTICATION = 0xBF39,         /* InitiateAuthenticationRequest or InitiateAuthenticationResponse */
+    EUICC_GET_BOUND_PROFILE_PACKAGE = 0xBF3A,   /* GetBoundProfilePackageRequest or GetBoundProfilePackageResponse */
+    EUICC_AUTHENTICATE_CLIENT = 0xBF3B,         /* AuthenticateClientRequest or AuthenticateClientResponse */
+    EUICC_CONFIGURED_ADDRESS = 0xBF3C,          /* EuiccConfiguredAddressesRequest or EuiccConfiguredAddressesResponse */
+    EUICC_HANDLE_NOTIFICATION = 0xBF3D,         /* handleNotification */
+    EUICC_GET_DATA_REQ = 0xBF3E,                /* GetEuiccDataRequest or GetEuiccDataResponse */
+    EUICC_SET_DEFAULT_DP_ADDRESS = 0xBF3F,      /* SetDefaultDpAddressRequest or SetDefaultDpAddressResponse */
+    EUICC_AUTHENTICATE_CLIENT_RESPONSE_ES11 = 0xBF40, /* AuthenticateClientResponseEs11 */
+    EUICC_CANCEL_SESSION = 0xBF41,              /* CancelSessionRequest or CancelSessionResponse or 
+                                                   cancelSessionRequestEs9 or cancelSessionResponseEs9 */
+    EUICC_LPAE_ACTIVATION = 0xBF42,             /* LpaeActivationRequest or LpaeActivationResponse */
+    EUICC_GET_RAT_REQ = 0xBF43,                 /* GetRatRequest or GetRatResponse */
+} sim_euicc_tag_enum;
+
+typedef enum
+{
+    EUICC_SUCCESS = 0,
+    EUICC_ERROR_NOT_FOUND = 1,
+    EUICC_ERROR_STATE_MISMATCH = 2,
+    EUICC_ERROR_DISALLOWED_BY_POLICY = 3,
+    EUICC_ERROR_WRONG_PROFILE_REENABLING = 4,
+    EUICC_ERROR_CARD_BUSY = 5,
+    EUICC_ERROR_UNDEFINED = 127,
+} sim_euicc_profile_operation_result_enum;
+
+typedef enum
+{
+    SPRINT_UPDATE_PROFILE_INS = 0xA2,
+    SPRINT_PROFILE_UPDATE_QUERY_INS = 0xA3,
+    SPRINT_FACTORY_RESET_INS = 0xB1,
+} sim_sprint_cmd_ins_enum;
+
+typedef enum
+{
+    PROFILE_UPDATE_SUCCESS = 0x01,
+    PROFILE_UPDATE_HTTP_SESSION_FAIL = 0x02,
+    PROFILE_UPDATE_UNDEFINED_ERROR = 0x03,
+    PROFILE_UPDATE_ONGOING = 0xFF,
+} sim_sprint_profile_update_status_enum;
+
+
+#endif
diff --git a/mcu/protocol/layer4/sim/include/sim_private_struct.h b/mcu/protocol/layer4/sim/include/sim_private_struct.h
new file mode 100644
index 0000000..e2725a1
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_private_struct.h
@@ -0,0 +1,1440 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_private_struct.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   Structure provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_PRIVATE_STRUCT_H
+#define SIM_PRIVATE_STRUCT_H
+
+#include "kal_public_defs.h"
+
+#if defined(__APVSIM__)
+/* Task Message Communication */
+#include "lcd_ip_cqueue.h"
+#include "sysservice_msgid.h"
+
+/* Timer Management  */
+//#include "stack_timer.h"
+//#include "event_shed.h"
+
+/* Task Management */
+#include "task_config.h"
+#endif
+
+#include "sat_def.h"
+#include "sim_ps_enum.h"
+#include "ps_public_struct.h"
+#include "ps_public_enum.h"
+#include "sim_private_enum.h"
+#include "sim_ut_private_struct.h"
+#include "sim_public_enum.h"
+#include "sim_public_struct.h"
+#include "l3_inc_enums.h"
+
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+
+#ifndef __MTK_TARGET__
+#include "usim_dummy_driver.h"
+#endif
+#if defined(__SAT_ADIITONAL_LOCK__) || defined(__CMCC_V4__) || defined(__YUENAN_V4__)
+#include "che_api.h"
+#endif
+
+#include "em_sim_public_struct.h"
+
+typedef struct
+{
+    kal_uint32 ref_ticks;    /* the ticks while the timer is set */
+    kal_uint8 timer_data[3]; /* Time Out Value */
+    kal_uint16 current_module;
+} sat_timer_manage_struct;
+
+typedef struct
+{
+    kal_uint32 remain_tick;          /* the remaining ticks before stop timer */
+    kal_uint8 continue_status_count; /* the continuous STATUS command from polling */
+    kal_uint32 sim_timer_period;     /* current polling timer ticks */
+    kal_uint32 poll_interval;        /* the poll interval ticks from card */
+} sim_detect_poll_timer_struct;
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER__
+typedef struct
+{
+    kal_uint32 hot_swap_poll_timer; /* the ticks while the timer is set */
+    kal_bool sim_hot_swap_timer_start;
+    kal_bool sim_is_recovery_needed;
+} sim_hot_swap_poll_struct;
+#endif
+
+typedef struct
+{
+    eventid event_id;                   /* Event Id returned by event schedular when an event is set */
+    kal_uint8 timer_id;                 /* Timer ID */
+    sim_timer_status_enum timer_status; /* Timer Status */
+
+    union
+    {
+        sim_detect_poll_timer_struct poll;
+        sat_timer_manage_struct sat;
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER__
+        sim_hot_swap_poll_struct hot_swap_poll;
+#endif
+
+    } type;
+
+} sim_timer_info_struct;
+
+typedef struct
+{
+    /* [MAUI_02903761] mtk01612 : modify event scheduler due to system service optimization */
+    event_scheduler *sim_event_scheduler_ptr1;
+    /* [MAUI_02620145] mtk01616_100910 : remove sim_base_timer2,sim_event_scheduler_ptr2,sim_timer_ilm */
+} sim_timer_context_struct;
+
+typedef struct
+{
+    sim_file_index_enum sim_current_file_idx;
+    sim_file_index_enum sim_current_df_idx;
+    kal_uint16 sim_current_df_file_id; //__CSIM
+    kal_uint8 uicc_current_path[6];
+    kal_uint8 file_descriptor;
+    kal_uint8 file_type;
+    kal_uint16 file_size;
+    kal_uint8 rec_num;
+    kal_uint8 rec_size;
+
+    uicc_card_type_enum uicc_type;
+    kal_uint8 aid_len;
+    kal_uint8 aid[SIM_MAX_AID_LEN]; //16
+    sim_chv_info_struct chv_status;
+    kal_uint8 verified_pin1[8];
+} uicc_channel_ctx_struct;
+
+typedef struct
+{
+    kal_uint16 len;
+    kal_uint8 buf[258]; /* MAUI_02953154: preserve 2 bytes for possible T=1 scenario. driver need extra 2 bytes for status word */
+} sim_buff_struct;
+
+typedef struct
+{
+    kal_uint8 is_other_RR_dedicated;
+    kal_uint8 mmi_allow_other_sat_fetch; /* CR# 1079892 */
+#ifdef __SIM_SYNC_POLL_TIMER__           /* [MAUI_03020152] sync polling timer*/
+    sim_sync_poll_timer_state_enum sim_sync_poll_timer_state;
+    kal_uint32 sim_sync_poll_timer_period;
+    kal_bool is_sync_ind_not_send;
+#endif
+} gemini_context_struct;
+
+typedef struct
+{
+    /* mtk01488: keep the location info before setup event list */
+    ////    kal_uint8 is_first_location_info_updated;
+    /* mtk01616_110504 MAUI_02870129 check if we already done location_info event download ever */
+    kal_uint8 had_location_info_event_download;
+    kal_uint32 evdl_timer_tick;
+} ens_context_struct;
+
+#ifdef __SAT_ADDITIONAL_LOCK__
+typedef struct
+{
+    kal_bool is_phase1_auth_passed;
+    kal_bool is_mutual_auth_passed;
+} additional_lock_context_struct;
+#endif
+#if defined(__CMCC_V4__) || defined(__YUENAN_V4__)
+typedef struct
+{
+    kal_bool is_v4_auth_passed;
+
+} v4_context_struct;
+#endif
+
+typedef struct
+{
+    kal_uint32 pin_flag;
+    kal_uint32 enabled_pin_flag;
+} usim_pin_status_temp_do_struct;
+
+typedef struct
+{
+    kal_uint8 ust[USIM_SUPPORT_UST_LEN];
+    kal_uint8 est[USIM_SUPPORT_EST_LEN];
+    kal_bool is_valid_psdataoff;
+    kal_uint8 psdataoff[4]; // 31.102 - 4.2.109 : size defined
+
+#ifdef __SIM_UNIT_TEST__
+    kal_bool enable_fake_ust;
+    kal_uint8 fake_ust_or_mask[USIM_SUPPORT_UST_LEN];  // Set 1's for enabled services
+    kal_uint8 fake_ust_and_mask[USIM_SUPPORT_UST_LEN]; // Set 0's for disabled services
+
+    kal_bool enable_fake_psdataoff;
+    kal_uint8 fake_psdataoff[4];
+#endif
+
+    /* Equivalent Home PLMN */
+    kal_uint8 num_of_valid_ehplmn;                // Only count EHPLMNs that are not FF ## ##
+    kal_uint8 valid_ehplmn[MD1_MAX_NUM_HPLMN][3]; // Store EHPLMNs that are not FF ## ##
+
+    kal_bool is_valid_pin_do;
+    usim_pin_status_temp_do_struct pin_do;
+
+    kal_uint8 app_label_len;
+    kal_uint8 app_label[SIM_MAX_APP_LABLE_LEN]; //32
+} usim_context_struct;
+
+typedef struct
+{
+    kal_bool is_isim_exist;
+    usim_logic_channel_enum channel;
+    kal_uint8 ist[ISIM_SUPPORT_IST_LEN];
+
+    kal_uint8 app_label_len;
+    kal_uint8 app_label[SIM_MAX_APP_LABLE_LEN]; //32
+} isim_context_struct;
+
+typedef struct
+{
+    kal_bool is_csim_exist;
+    usim_logic_channel_enum channel;
+    kal_uint8 mcc[4];
+    kal_uint8 mnc[4];
+
+    kal_uint8 app_label_len;
+    kal_uint8 app_label[SIM_MAX_APP_LABLE_LEN]; //32
+} csim_context_struct;
+
+
+#ifdef __SAT__
+typedef struct
+{
+    kal_uint8 command_number;
+    kal_uint8 refresh_status;
+    kal_uint8 type_of_refresh;
+    kal_uint8 src_id;
+    uicc_card_type_enum app_type;
+    union {
+        kal_uint8 num_of_file;
+        kal_uint8 size_of_plmn;
+    } data_size;
+    union {
+        kal_uint16 *file_list;
+        kal_uint8 *plmn_list;
+    } data;
+} sat_refresh_cmd_data_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    susp_resu_mode_enum mode;
+    susp_resu_action_enum action;
+    kal_uint8 susp_id;
+    susp_resu_source_enum source;
+} sat_nwsel_susp_resu_update_req_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    susp_resu_action_enum action;
+    susp_resu_result_enum result;
+    susp_resu_source_enum target;
+} sat_nwsel_susp_resu_update_cnf_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_uint8 susp_id;
+    susp_resu_source_enum target;
+} sat_nwsel_suspend_status_ind_struct;
+
+typedef struct
+{
+    kal_uint8 tag;
+    kal_uint8 len;
+    kal_uint8 value[0];
+} sat_tlv_header_struct;
+
+typedef struct
+{
+    kal_uint8 tag;
+    kal_uint8 extend_byte;
+    kal_uint8 len;
+    kal_uint8 value[0];
+} sat_long_tlv_header_struct;
+
+typedef struct
+{
+    sat_proactive_cmd_enum cmd_type;
+    kal_uint16 cmd_len;
+    kal_uint8 procomm[260];
+} sat_prefetch_command_struct;
+
+typedef struct
+{
+    kal_bool is_valid;
+    /* cmd_id with 16 bits: 4(slot id) + 12(sequence nubmer, increased when a procomm received) */
+    kal_uint16 cmd_id;
+    kal_uint8 cmd_detail[5];
+} sat_current_procomm_struct;
+
+typedef struct
+{
+    sat_current_procomm_struct curr_procomm;
+    kal_uint8 is_in_sat_session;
+    rsat_config_enum is_wait_for_rsp;
+
+    sat_terminal_res_enum error_res;
+
+
+    /* STK/UTK related */
+    sat_cmd_dispatch_rule_enum sat_cmd_rule;
+    kal_uint8 utk_enabled;
+    kal_bool need_xtk_switch;
+
+
+    /* Terminal Profile related */
+    sim_cmd_result_enum terminal_profile_result; /* MAUI_03032781 */
+    sat_profile_download_enum profile_download;
+    sat_profile_activate_enum profile_activate;
+    kal_uint8 not_verified_pin1[8];
+
+
+    /* General Usage */
+    kal_uint8 sim_cmd_apdu[261]; // temp buffer for sending APDU to SIM card (TR/Envelope)
+
+
+    /* Fetch related */
+    kal_bool proactive_cmd_ind;
+    kal_uint16 pending_proactive_cmd_len;
+    kal_bool allow_prefetch;
+    kal_bool is_send_session_end;
+    sat_prefetch_command_struct *prefetch_procomm;
+
+
+    /* Status context */
+    kal_uint8 location_info[SAT_MAX_LOC_INFO_LEN];
+    kal_uint8 last_valid_location_info[SAT_MAX_LOC_INFO_LEN];
+    kal_uint8 is_location_updated_by_rac;
+
+    kal_bool is_loc_status_blocked;
+    kal_bool is_wait_for_evdl_after_new_evlist;
+
+    //  kal_uint8 timing_advance;
+    kal_uint8 mm_status;
+    kal_uint8 rat_status;
+    kal_uint8 nw_search_mode; /* MAUI_1687912 */
+    sat_call_status_enum call_status;
+    sat_mm_connect_status_enum mm_connect_status;
+    sat_emm_connect_status_enum emm_connect_status;
+    sat_sms_pp_ack_status_enum sms_ack_status;
+    sat_pdp_status_enum pdp_status;
+    kal_bool is_in_ecc_session;
+    kal_uint8 time_zone;    //is updated by RAC
+
+
+    /* Evenlope Retry */
+    kal_uint8 envelope_data[261];
+    kal_uint16 envelope_length;
+    kal_uint8 retry_env_timer_expiry;
+
+    /* Event Download */
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+    kal_bool is_received_setevtlist_tr;
+#endif
+
+    /* Call Control by SIM */
+    sat_call_ctrl_by_sim_state_enum call_ctrl_state;
+    kal_uint8 *call_ctrl_by_sim_rsp_ptr; /* Keep the envelope response for TR usage */
+    kal_uint16 call_ctrl_by_sim_rsp_len;
+
+
+    /* REFRESH */
+    sat_refresh_cmd_data_struct refresh_info;
+    kal_uint8 is_refresh_successful;
+    kal_uint16 md3_refresh_done;
+    kal_uint16 file_changed_module_table; /* MAUI_02943738 extend file change bitmask table from u8 to u16 */
+    kal_uint16 resend_file_change_module_table;
+#ifdef __TC01__
+    kal_bool send_file_change_to_nwsel;
+#endif
+    sat_file_change_ind_struct *sat_file_change_ind_ptr;
+
+    sat_procomm_struct *proactive_cmd; /* For reissue REFRESH */
+    kal_uint8 refresh_fail_count;      /* For reseting SIM after REFRESH fails */
+
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+    sat_refresh_voting_state_enum refresh_voting_state;
+    kal_bool is_refresh_voting_possible;
+#endif
+
+    /* GET INPUT */
+    kal_uint8 get_input_ucs2_max;
+    kal_uint8 get_input_nonucs2_max;
+
+    /* SETUP CALL / SEND SS / SEND USSD */
+    kal_bool setup_call_with_ss_string;     // Implement of SETUP CALL with SS string
+
+    /* BIP commands */
+#ifdef __SATCE__
+    kal_uint8 channel_id;
+    kal_uint32 sim_pun_buff[150];
+#endif
+
+    /* mtk01616_110320 MAUI_02899488 */
+
+
+    /* Different Type of Lock */
+    kal_bool imei_lock_needed; /* AT&T IMEI Lock, MAUI_01956092 used to check whether 1st proc_cmd length is 910B */
+
+    kal_bool sprint_imei_lock; /* Sprint IMEI Lock */
+    kal_bool sprint_imei_query_received;
+
+#ifdef __SAT_ADDITIONAL_LOCK__
+    additional_lock_context_struct additional_lock;
+#endif
+#if defined(__CMCC_V4__) || defined(__YUENAN_V4__)
+    v4_context_struct v4;
+#endif
+
+    /* VzW Dual IMSI Procedure */
+    kal_uint8 first_vzw_envelope;
+    kal_uint8 is_plmn_notified_by_nwsel;
+    kal_uint8 plmn_id[3];
+    kal_bool retry_VzW_env;
+    kal_bool is_fake_refresh;
+    kal_uint32 emsr_susp_id;
+
+    /* Sprint Delay REFRESH */
+    sat_op20_session_enum op20_pending_session_state;
+    kal_bool delay_refresh;
+    eventid refresh_pending_event;
+    kal_uint32 refresh_pending_remain_tick;
+    kal_uint32 op20_ota_conn_cid;
+
+    /* CT Issue Card Handling */
+    kal_uint8 pli_count;
+    kal_uint8 had_change_limited_to_normal_once;
+
+    kal_bool is_md3_loc_status;
+    kal_uint16 md3_loc_status_len;
+    kal_uint8 md3_loc_status[64]; // Expected length of MD3's location status envelope won't exceed 64 bytes
+
+    kal_bool is_in_ct_bip_session;
+    kal_bool is_loc_status_waiting;
+    kal_bool is_more_time_tr_or_idle;
+
+    /* For other Issue Card Handling */
+    kal_bool is_wait_for_loci_update_after_sat_session;
+
+
+    kal_uint8 ct_mode;
+    kal_bool is_self_tr_res;
+
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+    kal_uint8 event_list_in_tp[5];
+    kal_bool setup_event_beyond_me_cap;
+#endif
+
+#ifdef __SAT_ADDITIONAL_LOCK__
+    kal_uint8 current_sim_profile[MAX_SIM_PROFILE_LEN + SAT_ADDITIONAL_TER_PROFILE];
+#else
+    kal_uint8 current_sim_profile[MAX_SIM_PROFILE_LEN];
+#endif
+} sat_context_struct;
+
+#endif /* __SAT__ */
+
+
+#ifdef __BT_SIM_PROFILE__
+typedef struct
+{
+    kal_uint8 sim_access_profile_is_connected;
+    kal_bool bt_sim_on;
+} bt_sap_context_struct;
+#endif
+
+typedef struct
+{
+    kal_bool check_cdma_done;
+    sim_cdma_struct cdma;
+    kal_uint8 sim_plug_out_signal;
+    kal_bool is_CT3G_card;
+    kal_bool is_stk_mode;              // KAL_TRUE: STK, KAL_FALSE: UTK
+    kal_bool is_card_recovery_ongoing; //to indicate CT3G card recovery process is ongoing
+    kal_bool wait_cdma_ready_ind;      // default is KAL_FALSE, only USIM+CSIM type(CT4G card) need to set to KAL_TRUE
+    kal_bool is_uicc_card;
+    kal_bool is_usim_prefer;
+    kal_bool is_3gpp2_uim_tc;
+    kal_uint8 dir_record_size; // size of 1 record
+    kal_uint8 dir_record_num;
+    kal_uint8 dir_content[255];
+    kal_uint8 imsi_m_fcp_len;
+    kal_uint8 imsi_m_fcp[50];
+} sim_cdma_info_struct;
+
+#ifdef __SIM_HOT_SWAP_SUPPORT__
+typedef struct
+{
+    kal_uint8 sim_plug_out_signal;
+    kal_uint8 sim_plug_out_count;
+    kal_uint8 sim_plug_in_count;
+    kal_bool is_plug_in_ignored;
+    kal_uint8 last_driver_plug_event; //record the last plug event from driver.
+} sim_hot_swap_context_struct;
+#endif /* __SIM_HOT_SWAP_SUPPORT__ */
+
+typedef struct
+{
+    kal_bool is_sim_recovery_enh_on;
+    kal_uint8 fast_recovery_count;
+    kal_bool is_reset_finished;
+    kal_bool is_initialize_success;
+    kal_bool is_sim_lost;
+    kal_uint16 full_recovery_count;
+#ifdef __MAX_RECOVERY_COUNT_TILL_SIM_READY__
+	kal_uint16 max_recovery_count_till_sim_ready;
+#endif
+    eventid recovery_timer_event;
+
+    kal_bool recovery_again_when_no_sim; // one-shot flag, enabled when full recovery activates before power-off sim. disalbed when start_req by l4.
+                                         // no matter the card is inserted or not, the flag should be reset to KAL_FALSE after start_req
+    kal_uint8 recovery_again_count;      // recovery count for recovery_again mechanism, init_value = 0x03 (SIM_RECOVERY_AGAIN_MAX)
+    kal_uint8 is_recovery_process;
+#if (defined(__RETRY_SIM_WHEN_CARD_DETECT_FAIL__) && defined(__RETRY_SIM_DETECT_CUSTOM_SUPPORT__)) || defined(__SIM_EXTEND_RECOVERY_PATTERN__)
+    kal_bool is_card_reset_fail_from_bootup_or_plugin;
+#endif
+
+    kal_bool is_sim_switching_recovering;
+    kal_uint32 remain_tick;
+
+    kal_bool is_waiting_start_cnf_sent; // Hold recovery trigger until SIM_START_CNF is sent
+
+    DCL_SIM_STATUS reset_error_cause;
+#ifdef __SIM_EXTEND_RECOVERY_PATTERN__
+    kal_uint32 ladder_recovery_time;
+#endif
+    kal_bool is_simulated_sw0000;
+    kal_bool is_unblock_pin_error[2]; /* 0 = PIN1, 1 = PIN2*/
+    sim_al_reset_type_enum reset_type;
+} sim_recovery_context_struct;
+
+typedef struct
+{
+    kal_bool support_additional_interface;
+    kal_uint8 additional_interface;
+    kal_bool support_extended_logical_channel;
+    kal_bool support_power_supply;
+    kal_uint8 power_supply_data[3];
+    kal_uint8 support_euicc_capabilities;
+} sim_terminal_capability_struct;
+
+#ifdef __MODEM_EM_MODE__
+typedef struct
+{
+    kal_uint32 cards_plugged_out_count;
+    kal_uint32 card_access_error_count;
+    kal_uint32 cards_plugged_in_count;
+    kal_uint32 card_not_responding_count;
+    kal_uint32 card_atr_err_count;
+    kal_uint32 card_refresh_event;
+    eventid sim_error_timer_event;
+    kal_uint32 card_recovery_count;
+} sim_em_error_event_struct;
+
+typedef struct
+{
+    kal_bool is_elt_enabled;
+    kal_bool is_rmmi_enabled;
+} sim_em_status_info_struct;
+
+typedef struct
+{
+    kal_uint32 error_count; 
+    sim_monitor_type monitor_event;
+} sim_em_monitor_event_struct;
+
+typedef struct
+{
+    kal_uint8 *txData;
+    kal_uint32 txSize;
+    kal_uint8 *rxData;
+    kal_uint32 rxSize;
+    kal_uint16 status_word;
+} sim_em_apdu_event_struct;
+#endif
+
+typedef struct
+{
+    sim_file_index_enum error_file_idx;
+    kal_uint8 error_count;
+    kal_uint8 read_error_count; // Count read fail
+} sim_error_file_struct;
+
+#ifdef __SAT_SIMULATOR__
+
+typedef struct
+{
+    kal_uint8 id;
+    kal_uint16 value;
+} sat_simulator_timer_struct;
+
+typedef struct
+{
+    kal_uint8 result_len;
+    sat_terminal_res_enum result;
+    sat_additional_info_for_res_enum additional_info;
+} sat_simulator_result_struct;
+
+typedef struct
+{
+    kal_uint8 id;
+    kal_char *title;
+} sat_simulator_item_object_struct;
+
+typedef struct
+{
+    kal_char *list_title;
+    kal_uint8 num_of_items;
+    sat_simulator_item_object_struct item[20];
+} sat_simulator_item_list_struct;
+
+typedef struct
+{
+    sat_simulator_menu_level_enum level;
+    kal_uint8 selected_item[4];
+    sat_simulator_item_list_struct *current_list;
+    kal_uint8 prepage_id;
+    kal_uint8 present_id;
+    kal_uint8 nextpage_id;
+} sat_simulator_menu_struct;
+
+typedef struct
+{
+    sat_simulator_call_ctrl_by_sim_mode_enum call_ctrl_by_sim_mode;
+    kal_uint32 *rsp_data_len;
+    kal_uint8 *rsp_data;
+} sat_simulator_envelope_struct;
+
+typedef struct
+{
+    /* For driver interface */
+    sat_simulator_state_enum sat_simulator_state;
+    kal_bool to_send_status;
+    kal_bool cmd_waiting_to_fetch;
+    kal_uint16 status_word;
+
+    /* Data for simulator */
+    sat_proactive_cmd_enum current_action;
+    void *callback;
+
+    kal_uint8 proactive_cmd[256];
+
+    /* Current configuration for commands */
+    kal_uint8 refresh_policy;
+    sat_simulator_menu_struct menu;
+    sat_simulator_timer_struct timer;
+
+    /* Current configuration for envelope (Call Control) */
+    sat_simulator_envelope_struct env;
+} sat_simulator_struct;
+
+#endif /* __SAT_SIMULATOR__ */
+
+typedef struct
+{
+    kal_bool usim_ready;
+    kal_bool isim_ready;
+    kal_bool cdma_ready;
+    kal_uint16 result;
+    sim_chv_info_struct chv_info;
+    sim_lp_struct lp[2];
+    sim_ecc_struct ecc;
+    kal_uint8 iccid[10];
+    kal_uint8 access_id;
+    kal_bool is_valid_rat_mode; //__ENS_RAT_BALANCING__
+    kal_uint8 rat_mode;         //RAT mode setting value in EF_RAT
+} sim_smu_start_cnf_struct;
+
+#define DSS_Q_MAX ((SUPPORT_SIM_TOTAL + 1) * 2) // Plug-out/plug-in, 1 for the buffer
+#define PLUG_OUT_EVENT (0)
+#define PLUG_IN_EVENT (1)
+#define NO_PLUG_EVENT (255)
+typedef struct
+{
+    //local_para_struct  *local_para_ptr[DSS_Q_MAX];        // queue the plug-out/plug-in event
+    //kal_uint8   plug_event[DSS_Q_MAX];      // 0: PLUG_OUT_EVENT, 1:PLUG_IN_EVENT
+    kal_uint8 event_count;
+    kal_uint8 final_event; // 0: PLUG_OUT_EVENT, 1:PLUG_IN_EVENT
+
+} sim_dss_queue;
+
+typedef struct
+{
+    sim_start_cnf_struct start_cnf;
+
+    /* For (u)sim_initialization_cache_read */
+    sim_mm_ready_ind_struct sim_mm_ready_ind;
+    sim_rr_ready_ind_struct sim_rr_ready_ind;
+    sim_mmi_ready_ind_struct sim_mmi_ready_ind;
+    sim_mmi_security_ind_struct sim_mmi_security_ind;
+    sim_mmrr_ready_ind_struct sim_mmrr_ready_ind;
+    sim_gmss_ready_ind_struct sim_gmss_ready_ind;
+    sim_emm_ready_ind_struct sim_emm_ready_ind;
+    sim_vgmm_ready_ind_struct sim_vgmm_ready_ind;
+    sim_pam_ready_ind_struct sim_pam_ready_ind;
+    usim_urr_ready_ind_struct usim_urr_ready_ind;
+    sim_l4bsbp_ready_ind_struct sim_l4bsbp_ready_ind;
+    sim_iwlan_ready_ind_struct sim_iwlan_ready_ind;
+    sim_vgsm_ready_ind_struct sim_vgsm_ready_ind;
+    sim_ddm_ready_ind_struct sim_ddm_ready_ind;
+
+    /* For isim_initialization_cache_read */
+    /* TBD */
+
+} sim_dss_cache_read;
+
+typedef struct
+{
+    sim_dss_state_enum switch_state;
+    sim_dss_queue event_queue;
+    sim_dss_cache_read cache_read;
+} sim_switch_struct;
+
+typedef struct {
+    kal_bool check_euicc_done;
+    kal_bool is_euicc;
+    kal_bool is_empty_euicc;
+    kal_uint8 eid[LEN_OF_EID];
+} sim_euicc_context_struct;
+
+typedef struct
+{
+    sim_al_reset_type_enum reset_type;
+    DCL_SIM_ENV me_voltage;
+    DCL_SIM_POWER reset_volt;
+    DCL_SIM_POWER result_volt;
+    DCL_SIM_STATUS error_cause;
+    DCL_SIM_CLK_STOP clock_mode;
+    kal_uint8 try_usim_cnt;
+    kal_uint8 try_sim_cnt;
+    kal_bool try_usim;
+    kal_bool try_usim_success;
+    kal_bool try_sim_success;
+    DCL_SIM_INFO sim_info;
+    kal_uint8 sim_check_clock_mode;
+    kal_uint8 reset_count;
+} sim_reset_struct;
+
+typedef struct
+{
+    kal_bool is_redirect_msg;
+    void *redirect_info; /* Store information that the redirected target need to know
+                                 * Please use ctrl buffer for information passing */
+} sim_msg_redirection_struct;
+
+typedef struct
+{
+    sim_esimpwr_state_enum state;
+    sim_esimpwr_sub_type_enum sub_type;
+} sim_esimpwr_state_struct;
+
+typedef struct
+{
+    kal_uint8 ef_tag;                  // Fill in 1 byte into peer_buff
+    sim_file_index_enum file_idx;      // Fill in 2 bytes into peer_buff
+    sim_file_structure_enum file_type; // Fill in 1 byte into peer_buff
+    kal_uint8 rec_id;                  // Fill in 1 byte into peer_buff
+    kal_uint16 ef_len;                 // Fill in 2 bytes into peer_buff
+    kal_uint8 *ef_data;                // Fill in ef_len bytes into peer_buff
+} sim_ef_object_struct;
+
+#define SIM_EF_OBJECT_HEADER_LEN (7)
+
+typedef struct
+{
+    kal_bool is_cached;        // KAL_TRUE when (u)sim_initialization done. Clear whenever plug-out or SIM_ERROR.
+    sim_operator_type_enum op; // Default UNKNOWN
+} sim_operator_cache_struct;
+
+typedef struct
+{
+    kal_uint32 profile;  /* record the sim capability to avoid redundant trial */
+    kal_uint8 iccid[10]; /* record the iccid for same sim card detection without power cycle */
+    
+} sim_capability_struct;
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER_EXT__
+typedef struct
+{
+    kal_uint8 detect_count;            /* sim hotswap polling detection count; 
+                                          start after receiving plug out event from driver */
+    kal_bool is_last_plug_out;         /* check the last received event from SIM driver */
+    kal_bool is_ignore_sim_recovery;   /* record if need trigger sim recovery after hotswap polling detection */
+    eventid plug_out_detect_timer_evt; /* hotswap polling timer event id */
+} sim_hot_swap_poll_timer_ext_struct;
+#endif
+
+typedef struct
+{
+    kal_bool is_valid;
+    kal_uint8 uicc_char;
+    kal_uint8 supported_sys_cmd;
+} uicc_mf_capability_struct;
+
+typedef enum
+{
+    SIM_AP_POWER_OFF,
+    SIM_AP_POWER_ON,
+    SIM_AP_POWER_OFF_BY_DSSA_CONF
+} sim_ap_power_status;
+
+/* SIM Module Context Struct */
+typedef struct
+{
+    /***********************************************************************/
+    /* Below context are placed in the front of SIM context                */
+    /* to increase immediate offset access , to reduce ROM size            */
+    /* Please KEEP the position for the following frequent used variables  */
+    /***********************************************************************/
+
+    /* MAUI_01949579 mtk02374 20090903 for CTA GEMINI new bootup*/
+    sim_cmd_result_enum reset_result;
+
+    kal_bool is_sim_exist;      //reset procedure successful and the file system detected, i.e. soft SIM/empty eUICC included
+    kal_bool is_phy_card_exist; //physical card exist no matter any application exist or not
+
+    kal_uint8 event_list[5]; // extend for IMS event download
+    /* mtk01488: sim recovery counter */
+    kal_uint8 sim_recovery_counter;
+    /* mtk01488: CR#093514 */
+    kal_bool is_restarted_from_puk;
+    kal_bool sat_ready_to_start;
+    /* mtk01488: This records if MS is in dedicated, as timer expiry will send STATUS within 30s in dedicated mode */
+    kal_bool is_dedicated;
+    /* This file stores the information about the current EF selected */
+    kal_uint8 sim_reset_volt;
+    kal_bool is_dcs1800_card;
+    kal_bool is_test_sim;
+    kal_bool is_poweron_finished; /*mtk01612: [MAUI_02052346]*/
+    kal_uint8 phase;
+    kal_bool cipher_ind;
+    kal_uint8 mnc_length;
+    kal_bool is_start_cnf_sent; /* mtk01612: [MAUI_01790222], [MAUI_01792021]*/
+    sim_card_status_enum sim_card_status;
+    sim_dn_enum dn_type; /* used for no SIM initialization */
+    kal_uint8 sim_sst[MAX_SST_LEN];
+    kal_uint8 start_req_access_id; /* MAUI_02996856 to record access id of start_req*/
+    kal_uint8 iccid[10];
+
+    gemini_context_struct gemini;
+
+    /* Current file path */
+    uicc_channel_ctx_struct uicc_ch_info[USIM_LOGIC_CH_SIZE];
+
+    usim_context_struct usim;
+
+    isim_context_struct isim;
+
+    csim_context_struct csim;
+
+    kal_uint16 current_module;
+
+    kal_uint8 simInterface; /* for driver and other tasks: SIM1:0, SIM2:1 */
+
+    DCL_HANDLE sim_hd; /*Task descriptor handler provided by sim driver: A number which can uniquely identify driver API user*/
+
+#ifdef __SIM_HOT_SWAP_SUPPORT__
+    sim_hot_swap_context_struct hot_swap; /* mtk80420: add for SIM hot swap */
+#endif                                    /* __SIM_HOT_SWAP_SUPPORT__ */
+
+    /***********************************************************************/
+    /* Above context are placed in the front of SIM context                */
+    /* to increase immediate offset access , to reduce ROM size            */
+    /* Please try to KEEP the position for these frequent used variables   */
+    /***********************************************************************/
+    kal_uint8 sim_power_on_imsi[9]; //Kinki: [MAUI_01302464]
+
+    sim_timer_context_struct sim_timer_context;
+    sim_timer_info_struct timer_pool[9];
+
+    sim_recovery_context_struct recovery;
+
+#ifdef __SIM_UNIT_TEST__
+    kal_uint8 sim_test_num;
+    kal_bool disable_sim_recovery;
+    kal_bool is_deck_plug_out; // for co-deck use, reset flag if deck is plug in; only used on SIM Context 1
+    kal_bool is_sim_plug_out;  // for co-deck use, reset flag if SIM is inserted
+
+    kal_uint16 unit_test_num; /* Benson add for unit test control */
+    kal_uint8 sim_test_recovery_additional_error_cause;
+#endif
+
+    ens_context_struct ens;
+
+#ifdef __BT_SIM_PROFILE__
+    bt_sap_context_struct bt_sap;
+#endif
+    sim_cdma_info_struct cdma_info;
+
+#ifdef __VSIM__
+    kal_bool is_vsim_on;
+    vsim_card_type_enum vsim_app_type;
+#endif
+
+    kal_bool is_apvsim_on;
+    kal_bool is_apvsim_ready;
+
+#ifdef __SIM_UT__
+    kal_uint8 switch_mode;
+#endif
+
+#if defined(__ECALL_SUPPORT__) || defined(__NG_ECALL_SUPPORT__)
+    /* This is for test simulation. If ecall_test_mode is set to value other than default value SIM_ECALL_TEST_DISABLE.
+       SIM task return the set value as the ecall mode in sim_ecall_mode_query() */
+    sim_ecall_mode_enum ecall_test_mode;
+#endif
+
+#ifdef __SAT__
+    sat_context_struct sat;
+#endif
+#ifdef __SAT_SIMULATOR__
+    sat_simulator_struct sat_simulator;
+#endif
+
+    sim_buff_struct rx_tmp_buff;
+
+    DCL_CONFIGURE_T sim_driver_config;
+    kal_bool is_sim_hd_valid;
+
+    sim_terminal_capability_struct terminal_capability;
+
+#if defined(__APVSIM__)
+    int_q_type *sim_queue;
+#endif
+
+
+    kal_bool is_sim_poweroff; //SIM card in poweroff state or not
+
+    kal_bool is_sim_drv_poweroff; // for sim dynamic switch, used in sim_al_poweroff
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER__
+    sim_timer_info_struct sim_hot_swap_poll_timer;
+#endif
+
+    kal_bool is_cdma2000_supported;
+
+    kal_uint8 ATR_length;
+    kal_uint8 ATR[ATR_MAX_LEN];
+    kal_bool is_registration_mode;
+
+    kal_uint8 sim_slot_id;
+
+    gmss_rat_enum gmss_rat;
+    gmss_selected_rat_status_enum gmss_status;
+
+    usim_logic_channel_enum current_selected_file_channel;
+
+#ifdef __MODEM_EM_MODE__
+    sim_em_error_event_struct sim_em_error_event;
+    sim_em_status_info_struct sim_em_list[SIM_EM_MAX_SIZE];
+#endif
+
+#if defined(__VSIM__) || defined(__MDVSIM__)
+    kal_uint8 vsim_profile_id;
+    kal_uint8 vsim_key_pool_size;
+    kal_bool vsim_key_ready;
+    kal_bool mask_plug_out_cb;
+    kal_bool mask_plug_in_cb;
+    vsim_ver_type_enum vsim_ver;
+    kal_bool is_vsim_plugin_process;
+#endif
+
+#if defined(__TAS_OFF_WHEN_NO_SIM__)
+    kal_uint8 sim_inserted_state; /* For UMOLYA L1, indicate SIM Insert state */
+#endif
+
+     /* For SBP_KOR_CUSTOMIZATION */
+    kal_bool open_ch_client_list[USIM_LOGIC_CH_SIZE];
+
+    sim_ap_power_status ap_simpower_status;
+
+    sim_additional_error_cause_enum additional_error_cause;
+
+    sim_smu_start_cnf_struct smu_start_cnf;
+    sim_roaming_state_enum roaming_state;
+    sim_c_capability_enum current_rat_mode;
+
+    sim_euicc_context_struct euicc;
+
+    kal_uint8 acc[2];
+    kal_uint8 ad[4];
+
+    kal_uint8 sim_technical_problem_count;
+
+    sim_switch_struct dss;
+
+    sim_error_file_struct sim_error_file_list[UIM_MAX_ERROR_FILE_NUM];
+    kal_uint8 error_file_num;
+    kal_bool error_file_added;
+
+    usim_cache_struct usim_cache[USIM_CACHE_MAX_FILE_NUM];
+    sim_op01_enum sim_op01_mode;
+    kal_bool is_6263_flagon;
+    kal_uint8 lp[NUM_OF_BYTE_LP * MAX_LP_NUM];
+    kal_uint8 num_lp;
+    sim_duplex_state_enum sim_duplex_state;
+
+    /* for case 4 long response to AP */
+    kal_bool is_long_case4_rsp_enable;
+    kal_uint16 long_case4_rsp_len;
+    kal_uint8 *long_rsp_buffer_ptr;
+
+    kal_bool sim_ut_waiting_msg;
+    sim_ut_monitor_apdu_struct monitor_capdu[5];
+    kal_uint8 config_bin_name[30];
+
+    sim_msg_redirection_struct msg_redirection;
+    sim_auth_flag_state_enum immediate_auth_flag_state;
+
+    sim_esimpwr_state_struct esimpwr_state;
+
+#ifdef __TC10__
+    kal_uint8 cmd_header[CMD_HEADER_LEN];
+#endif
+
+    sim_operator_cache_struct operator_cache;
+
+    kal_uint8 routing_indicator[LEN_OF_ROUTING_INDICATOR]; //FFFF for default
+    kal_bool is_extended_length_supported;
+
+#ifdef __FAKEID_SUPPORT__
+    kal_uint8 fake_imsi[MAX_SIM_IMSI_LEN];
+    kal_uint8 fake_mnc_length;
+#endif
+
+    kal_uint8 gid1_len;
+    kal_uint8 gid2_len;
+#ifdef __SIM_MULTI_PIN__
+    kal_uint8 pin_status_data[3][SIM_MAX_PIN_DO_SIZE]; //support 3 active applications, 1th for SIM/USIM, 2nd for UIM/CSIM, 3rd for ISIM
+#endif
+    sim_capability_struct sim_capability;
+
+    kal_uint8 apdu_class_error_count;
+
+#ifdef __SIM_HOT_SWAP_POLL_TIMER_EXT__
+    sim_hot_swap_poll_timer_ext_struct plug_out_detect;
+#endif
+
+#ifdef __TC10__
+    kal_bool mandatory_file_missing;
+    kal_bool hplmnwact_3g_only;
+#endif
+    kal_bool first_start_cnf_send;  //first start cnf after power on or plug in
+
+
+    kal_bool is_valid_gid1;
+    kal_bool is_valid_gid2;
+
+    kal_uint8 gid1[NUM_GID1]; 
+    kal_uint8 gid2[NUM_GID2];
+#ifdef __TC10__
+    kal_bool is_valid_vzpf;
+    kal_uint8 vzpf[VZPF_LEN];
+#endif
+#ifdef __TC10_JPN_FACTORY__
+    kal_bool is_factory;
+#endif
+
+    uicc_mf_capability_struct mf_cap;
+#ifdef __SIM_TERMINAL_CAP__
+    kal_uint16 ap_terminal_cap_len;
+    kal_uint8 ap_terminal_cap[256];
+#endif
+    kal_uint8 term_prof_uicc_no_resp_count;
+    kal_bool sim_lost_before_term_prof;
+
+#ifdef __SIM_FLIGHT_MODE_POLLING_OFF__
+    kal_bool is_flight_mode;
+#endif
+#ifdef __SIM_RECOVERY_SWITCH__
+	kal_uint8 at_hotswapoff;
+	kal_uint8 at_recoveroff;
+#endif
+    kal_bool sim_card_type_valid;
+    kal_bool refresh_start;
+} sim_context_struct;
+
+typedef struct
+{
+    kal_uint16 current_module; // MOD_SIM, MOD_SIM_2
+
+    kal_uint8 simInterface; // for driver and other tasks: SIM1:0, SIM2:1, ??
+
+    kal_uint8 sim_slot_id; // sim slot id, SIM1:0, SIM2:1
+
+    event_scheduler *sim_event_scheduler_ptr1; // bound with module id in system service
+
+    kal_uint8 dsbp_trans_id; /* Used by DSBP_RECONFIG's users. Use 1~255 in order for each SIM task. */
+
+    kal_bool is_start_req_recv;  // check if SIM has received START_REQ from SMU
+
+    sim_context_struct *this_sim; // context inside should be switchable
+
+} sim_ps_context_struct;
+
+typedef struct
+{
+    kal_uint8 fd;
+    kal_uint8 data_coding;
+    kal_uint16 rec_len;
+    kal_uint8 num_rec;
+} usim_file_descriptor_struct;
+
+typedef struct
+{
+    kal_uint16 file_id;
+} usim_file_identifier_struct;
+
+typedef struct
+{
+    kal_uint8 length;
+    kal_uint8 df_name[16];
+} usim_df_name_struct;
+
+typedef struct
+{
+    kal_uint32 available_mem_bytes; /* limit to 4 bytes */
+    kal_uint8 do_flag;              /* data object exist flags */
+    kal_uint8 char_byte;            /* usim uicc characteristics */
+    kal_uint8 supp_volt_class;      /* application power consumption */
+    kal_uint8 app_pwr_consump;      /* application power consumption */
+    kal_uint8 pwr_ref_freq;         /* application power consumption */
+    kal_uint8 app_min_freq;         /* minimum application clock frequency */
+    kal_uint8 supported_sys_cmds;   /* supported system commands*/
+} usim_proprietary_information_struct;
+
+typedef struct
+{
+    kal_uint8 life_cycle_status;
+} usim_life_cycle_status_integer_struct;
+
+typedef struct
+{
+    kal_uint8 do_flag;
+} usim_security_attributes_struct;
+
+typedef struct
+{
+    kal_uint32 tot_file_size;
+} usim_total_file_size_struct;
+
+typedef struct
+{
+    kal_uint16 file_size;
+} usim_file_size_struct;
+
+typedef struct
+{
+    sfi_usage_enum sfi_usage;
+    kal_uint8 sfi_prop;
+} usim_short_file_identifier_struct;
+
+/* MSG_ID_VSIM_ERROR_IND */
+typedef struct
+{
+    LOCAL_PARA_HDR
+
+    sim_error_cause_enum cause;
+} vsim_error_ind_struct;
+
+typedef struct
+{
+    kal_uint8 control;
+    sim_restrict_card_type_enum card_type;
+} sim_restrict_card_type;
+
+/* SIM Module Root Context Struct */
+typedef struct
+{
+    kal_uint8 total_sim;
+#if defined(__TAS_OFF_WHEN_NO_SIM__)
+    kal_uint8 l1_which_sim_inserted;
+    sim_type_query_enum l1_sim_type_info[SUPPORT_SIM_TOTAL];
+    kal_bool l1_is_test_sim_info_ready[SUPPORT_SIM_TOTAL];
+    kal_bool l1_vsim_info[SUPPORT_SIM_TOTAL];
+    kal_bool l1_is_vsim_info_ready[SUPPORT_SIM_TOTAL];
+#endif
+    kal_bool restrict_card_type_read_done;
+    sim_restrict_card_type restrict_card_type;
+} sim_root_context_struct;
+
+extern sim_root_context_struct sim_root_context_g;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+
+    sim_ps_context_struct sim_ps_context;
+    sim_context_struct sim_context;
+
+} sim_dump_context_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sim_reset_struct reset_cntxt;
+} sim_dump_reset_context_ind_struct;
+
+typedef struct
+{
+    LOCAL_PARA_HDR
+    sim_al_reset_type_enum reset_type;
+} sim_internal_critical_recovery_ind_struct;
+
+#ifdef __SIM_PASS_THROUGH__
+typedef struct
+{
+    LOCAL_PARA_HDR
+    kal_uint8    src_id;
+    kal_bool     is_set_pass_through;
+} sim_pass_through_ind_struct;
+#endif
+
+/******************* MMDS DC END ****************/
+extern sim_context_struct sim_context_g[SUPPORT_SIM_TOTAL];
+extern sim_ps_context_struct sim_ps_context_g[SUPPORT_SIM_TOTAL];
+
+extern const rsat_config_enum rsat_conf[RSAT_SIZE];
+
+extern kal_uint8 sim_ef_sst_default[MAX_SST_LEN];
+
+extern const kal_uint8 terminal_support_table[16];
+extern const sim_file_index_enum usim_adf_sfi_table[USIM_TOTAL_SFI];
+extern const sim_file_index_enum usim_5gs_sfi_table[USIM_5GS_TOTAL_SFI];
+extern const sim_file_index_enum gsm_access_sfi_table[GSM_ACCESS_TOTAL_SFI];
+extern const sim_file_index_enum csim_adf_sfi_table[CSIM_TOTAL_SFI];
+
+extern vsim_profile_struct vsim_profile[VSIM_PROFILE_ENTRY];
+
+#ifdef __MDVSIM__
+extern t_cust_chl_asym_key asym_key[NVRAM_VSIM_RSA_KEY_NUM];
+
+extern kal_uint8 vsim_Ki[SUPPORT_SIM_TOTAL][16];
+
+extern kal_uint8 vsim_OPc[SUPPORT_SIM_TOTAL][16];
+#endif
+
+extern const sim_file_index_enum map_c2k_sim_index[MAX_C2K_EF_IDX];
+extern const sim_file_index_enum map_uicc_cache_sim_index[USIM_CACHE_MAX_FILE_NUM];
+extern const sim_file_index_enum map_icc_cache_sim_index[USIM_CACHE_MAX_SIMAPP_FILE_NUM];
+
+extern const sim_file_index_enum sim_mandatory_file_list[14];
+extern const sim_file_index_enum usim_mandatory_file_list[17];
+extern const sim_file_index_enum uim_mandatory_file_list[3];
+
+/* SAT */
+typedef struct
+{
+    kal_uint8 tag;
+    kal_uint8 length;
+    union {
+        void *value_ptr;
+        kal_uint8 value_data[4];
+    } value;
+} sat_tlv_struct;
+#if defined(__SAT_ADIITONAL_LOCK__) || defined(__CMCC_V4__) || defined(__YUENAN_V4__)
+extern STCHE che_str_mh;
+#endif
+#ifdef __SAT_ADDITIONAL_LOCK__
+extern kal_uint8 Factory_CODE;
+extern kal_uint8 me_RND[8];
+extern kal_uint8 sim_RND[8];
+extern kal_uint8 sim_CODE1[8];
+extern kal_uint8 me_CODE[8];
+extern kal_uint8 me_key_group[16][16];
+#endif
+#ifdef __CMCC_V4__
+extern kal_uint8 sim_RND[20];
+extern kal_uint8 cm[24];
+extern kal_uint8 vendor_code;
+extern kal_uint8 key_ver;
+extern kal_uint8 des_key_group[5][16];
+#endif
+#ifdef __YUENAN_V4__
+extern kal_uint8 sim_RND[16];
+extern kal_uint8 cm[24];
+extern kal_uint8 vendor_code;
+extern kal_uint8 key_ver;
+extern kal_uint8 des_key_group[16];
+extern kal_uint8 defaultText[24];
+#endif
+
+
+typedef struct
+{
+    usim_sfi_enum sfi_idx;
+    sim_file_id_enum file_id;
+    sim_file_index_enum sim_file_idx;
+    sim_file_index_enum usim_file_idx;
+} sim_cache_adm_file_enum_info_struct;
+
+/* binary file data */
+typedef struct
+{
+    kal_uint8 *bin_addr;
+    kal_uint16 bin_len; // If SFI, get from pre-defined value; else get from file pointer
+} sim_cache_adm_bin_data;
+
+/* record file data */
+typedef struct
+{
+    kal_uint8 **rec_addr;
+    kal_uint16 rec_len; // If SFI, get from pre-defined value; else get from file pointer
+    kal_uint8 rec_num;  // If SFI, get from pre-defined value; else get from file pointer
+} sim_cache_adm_rec_data;
+
+typedef union {
+    sim_cache_adm_bin_data bin_data;
+    sim_cache_adm_rec_data rec_data;
+} sim_cache_adm_data;
+
+typedef struct
+{
+#if 0 // TODO: store FCP
+/* under construction !*/
+/* under construction !*/
+/* under construction !*/
+#endif
+    sim_cache_adm_data data;
+} sim_cache_adm_element_struct;
+
+typedef struct
+{
+    /* Transparent file only use bit 1*/
+    kal_uint16 data_cached_bitmask[MAX_SIM_NUM];
+
+    /* the index of usim_ef_info */
+    sim_cache_adm_file_enum_info_struct enum_info;
+
+    /* current path */
+    kal_uint8 path[MAX_SIM_NUM][6];
+
+    /* structure type of EF */
+    sim_file_structure_enum file_type;
+
+    /* pre-defined file size */
+    kal_uint16 pre_def_file_size;
+
+    /* pre-defined num of rec. Transparent file use 0 */
+    kal_uint8 pre_def_rec_num;
+} sim_cache_adm_file_info_struct;
+
+typedef struct
+{
+    /* ADM cache pool */
+    KAL_ADM_ID sim_cache_adm_id[MAX_SIM_NUM];
+
+    kal_uint8 sim_cache_adm_heap[MAX_SIM_NUM][SIM_CACHE_ADM_HEAP_SIZE];
+
+    kal_mutexid sim_cache_adm_mutex[MAX_SIM_NUM];
+
+    sim_cache_adm_element_struct element[MAX_SIM_NUM][SIM_CACHE_TOTAL_FILES];
+} sim_cache_adm_pool_struct;
+
+extern sim_cache_adm_pool_struct sim_cache_adm_pool_g;
+extern sim_cache_adm_file_info_struct cache_file_info[];
+
+typedef struct
+{
+    kal_uint8 spn_len;
+    kal_uint8 spn[35]; //3GPP is 17, 3GPP2 is 35
+    kal_uint8 gid1_len;
+    kal_uint8 gid1[NUM_GID1];
+    kal_uint8 gid2_len;
+    kal_uint8 gid2[NUM_GID2];
+    kal_uint8 pnn_fname_len;
+    kal_uint8 pnn_fname[50]; //the network name is 24, use large buffer
+    kal_uint8 imsi_len;
+    kal_uint8 imsi[15];
+    kal_uint16 impi_len;
+    kal_uint8 impi[MAX_IMPI_LEN];
+} sim_data_icon_ready_set_struct;
+
+typedef struct
+{
+   sat_proactive_cmd_enum      sat_cmd;
+   sat_proactive_cmd_bit_enum  sat_cmd_bit_position;
+} sat_cmd_info_struct;
+
+typedef struct
+{
+   sat_tag_enum      envelope_tag;
+   sat_proactive_cmd_bit_enum  sat_cmd_bit_position;
+}sat_envelope_info_struct;
+
+extern kal_mutexid sim_disable_nv_mutex;
+
+extern const sim_file_index_enum usim_important_files_list[];
+
+#endif
diff --git a/mcu/protocol/layer4/sim/include/sim_private_utility.h b/mcu/protocol/layer4/sim/include/sim_private_utility.h
new file mode 100644
index 0000000..0ada928
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_private_utility.h
@@ -0,0 +1,329 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+/*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_private_utility.h
+ *
+ * Project:
+ * --------
+ *   MAUI
+ *
+ * Description:
+ * ------------
+ *   API provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_PRIVATE_UTILITY_H
+#define SIM_PRIVATE_UTILITY_H
+
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#include "kal_general_types.h"
+#include "kal_public_api.h"
+#include "sim_private_enum.h"
+#include "sim_private_struct.h"
+#include "sim_public_enum.h"
+#include "sim_private_api.h"
+
+
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+
+/*EM related*/
+#include "em_sim_public_struct.h"
+
+
+#if !defined(__L1_STANDALONE__)
+#include "mrs_utility.h"
+#endif
+
+#define SIM_MIN(x, y) (((x) < (y)) ? (x) : (y))
+
+void sim_update_cache_ready_ind(sim_file_index_enum file_idx, kal_uint8 *data_ptr, kal_uint16 data_offset, kal_uint16 data_len, sim_context_struct *this_sim);
+
+#define SIM_DSS_UPDATE_CACHE_READY_IND(_file_idx_, _ready_ind_, _ef_, _data_ptr_, _data_offset, _data_len_, _this_sim_) \
+    {                                                                                                                   \
+        kal_mem_cpy(((_this_sim_)->dss.cache_read._ready_ind_._ef_) + (_data_offset), _data_ptr_, _data_len_);          \
+        MD_TRC_INFO_DSS_UPDATE_CACHE((_file_idx_));                                                                     \
+    }
+
+kal_bool sim_check_is_dynamic_sim_switching(void);
+
+kal_bool sim_is_gemini_mod(module_type mod_id);
+
+#ifdef __SENSITIVE_DATA_MOSAIC__
+kal_bool sim_is_user_sensitive_msg(msg_type msg_id);
+#endif
+
+void sim_force_card_type_ultility_handler(sim_force_card_type_enum type, sim_context_struct *this_sim);
+void sim_dump_reset_context_send_ind(sim_reset_struct *reset_cntxt_ptr, sim_context_struct *this_sim);
+
+kal_bool sim_check_file_cached(usim_sfi_enum sfi, sim_file_index_enum file_idx, sim_file_id_enum file_id,
+                               sim_cache_file_idx_enum *cache_file_idx, usim_logic_channel_enum channel,
+                               kal_uint8 *pathid_p, kal_uint8 pathid_length, sim_context_struct *this_sim);
+
+sim_cmd_result_enum sim_force_select(sim_file_index_enum file_idx,
+                                     kal_uint8 *path,
+                                     kal_uint8 *select_rsp_ptr,
+                                     kal_uint16 *status_word,
+                                     usim_logic_channel_enum channel,
+                                     sim_context_struct *this_sim);
+
+kal_uint8 sim_set_class_byte_by_channel_id(usim_logic_channel_enum channel,
+                                           sim_instruction_class_enum type,
+                                           sim_context_struct *this_sim);
+
+kal_bool is_system_status_word(kal_uint16 status_word);
+
+/* This function is check the request to get the full response with case 4 APDU command. */
+kal_bool is_uicc_case4_get_full_response(kal_uint8 apdu_p3,
+                                         kal_uint16 txSize,
+                                         kal_uint16 rxSize,
+                                         const sim_context_struct *this_sim);
+
+
+/* Check current APDU session is for ETSI specified application */
+kal_bool is_access_etsi_applicaton(usim_logic_channel_enum channel_id, const sim_context_struct *this_sim);
+
+kal_bool sim_check_virtual_sim(const sim_context_struct *this_sim);
+
+/*
+  Move is_sim_recovery from SMU context to MSG_ID_SIM_START_CNF.
+  This flag should be TRUE between ESIMS:0,13 and ESIMS:1,14
+*/
+kal_bool sim_is_full_recovery_started(sim_context_struct *this_sim);
+
+
+/**** [ALPS03486733]Ask OSTD to add SIM task into whitelist during lower power mode ****/
+void sim_ostd_lock_sleep(protocol_id_enum ps_id);
+
+/**** [ALPS03486733]Remove from OSTD whitelist since SIM task is idle now. ****/
+void sim_ostd_unlock_sleep(protocol_id_enum ps_id);
+
+kal_bool sim_is_physical_slot(sim_interface_enum actual_sim_id);
+
+/* Check if the service is 3GPP PS Data Off Exempt */
+kal_bool sim_exempt_query(sim_ps_data_off_exempt_enum exempt_id, sim_context_struct *this_sim);
+
+/* Used by DSBP_RECONFIG's users. Use 1~255 in order for each SIM task. */
+void sim_incr_dsbp_trans_id(protocol_id_enum ps_id);
+kal_uint8 sim_get_dsbp_trans_id(protocol_id_enum ps_id);
+
+kal_uint32 sim_get_default_poll_timer_value(sim_context_struct *this_sim);
+
+/* Check if p is NULL before freeing it */
+void sim_free_ctrl_buffer(void *p);
+
+void uicc_terminate_all_application(sim_context_struct *this_sim);
+
+kal_bool sim_initialize_cache_check_service(sim_file_index_enum file_idx, const sim_context_struct *this_sim);
+
+void sim_send_ap_error_notify_only(sim_error_cause_enum err_cause, sim_context_struct *this_sim);
+
+void sim_stop_all_running_timer(sim_context_struct *this_sim);
+
+kal_bool sim_check_is_card_disabled(sim_context_struct *this_sim);
+
+void sim_esimpower_state_set(sim_esimpwr_state_enum new_state, sim_esimpwr_sub_type_enum new_sub_type, sim_context_struct *this_sim);
+
+/*****************************************************************************
+* FUNCTION
+*  sim_append_ef_object_peer_buff
+* DESCRIPTION
+*   This function is to construct or append the peer buffer for multiple EF objects in SIM_READY
+*
+* PARAMETERS
+*  **peer_buff_ptr     the pointer of pointer to the peer buffer
+*  *ef_obj             the pointer to the EF object
+* RETURNS
+*  void
+* GLOBALS AFFECTED
+*  void
+*****************************************************************************/
+void sim_append_ef_object_peer_buff(peer_buff_struct **peer_buff_ptr, sim_ef_object_struct *ef_obj);
+
+kal_bool sim_search_tlv(kal_uint8 *in_ptr, kal_uint16 in_len, kal_uint8 tag, kal_bool ignore_cr, kal_bool is_ber_tlv, kal_uint8 occurance, kal_uint16 *tlv_len, kal_uint8 **tlv_data_ptr);
+
+#ifdef __UESIM_BYPASS_SIM__
+/*****************************************************************************
+ * FUNCTION
+ *  target_uesim_L1usim_authenticate
+ * DESCRIPTION
+ *  Bypass physical SIM AUTH when testing UESIM on target.
+ * PARAMETERS
+ *  txData      [?]     [?]
+ *  txSize      [?]     [?]
+ *  rxData      [?]     [?]
+ *  rxSize      [?]     [?]
+ * RETURNS
+ *
+ *****************************************************************************/
+kal_uint16 target_uesim_L1usim_authenticate(kal_uint8 *txData, kal_uint32 *txSize, kal_uint8 *rxData, kal_uint32 *rxSize);
+#endif
+
+kal_uint8 *append_peer_buf_obj(peer_buff_struct **peer_buff_ptr, kal_uint16 new_obj_size);
+
+void sim_reset_isim_context(sim_context_struct *this_sim);
+
+void sim_reset_csim_context(sim_context_struct *this_sim);
+
+kal_uint8 sim_correct_class_channel_info(kal_uint8 class_byte, usim_logic_channel_enum channel_id);
+
+uicc_card_type_enum sim_get_uicc_type_from_aid(kal_uint8 *aid, kal_uint8 aid_len);
+
+sim_cmd_result_enum sim_open_logical_channel(usim_logic_channel_enum *dst_channel, sim_context_struct *this_sim);
+
+/* Dumps buffer data by organizing into rows of 16 bytes */
+void sim_dump_data_16(sim_dump_data_16_trc_enum trc, kal_uint8 *data_ptr, kal_uint16 data_size);
+void sim_dump_apdu(sim_dump_data_16_trc_enum trc, kal_uint8 *txData, kal_uint32 txSize, kal_uint8 *rxData, kal_uint32 rxSize);
+
+kal_bool sim_read_from_fcp_cache(sim_file_index_enum file_idx,
+                                 kal_uint8 *rsp_data_ptr,
+                                 kal_uint16 *rsp_len,
+                                 kal_uint16 *status_word,
+                                 sim_context_struct *this_sim,
+                                 uicc_app_type_enum app_type);
+
+void sim_set_ehplmn(kal_uint8 num_of_ehplmn, kal_uint8 *ef_ehplmn, sim_context_struct *this_sim);
+void sim_set_operator_cache(kal_bool is_cache, sim_operator_type_enum op, sim_context_struct *this_sim);
+
+void sim_poll_timer_init(sim_context_struct *this_sim);
+
+/* Send one buffer block of a long R-APDU to L4C for generating intermediate response. */
+void sim_send_apdu_res_block_ind(kal_uint8 src_id,
+                                 kal_uint16 rsp_len,
+                                 kal_bool is_last,
+                                 kal_uint16 status_word,
+                                 const kal_uint8 *buffer_block,
+                                 sim_context_struct *this_sim);
+
+sim_interface_enum sim_get_slot_id_from_driver_slot_id(kal_uint32 which_sim);
+#ifdef __SIM_MULTI_PIN__
+void sim_record_app_pin_do(uicc_app_type_enum app_type, 
+                           kal_uint16 fci_len, 
+                           kal_uint8 *fci_data, 
+                           sim_context_struct *this_sim);
+#endif
+void sim_plmn_list_peer_buffer_construcst(sim_gmss_ready_ind_struct *sim_gmss_ready_ind_ptr,
+                                          sim_mmi_security_ind_struct *sim_mmi_security_ind_ptr,
+                                          peer_buff_struct **plmn_list_peer_buf);
+
+
+kal_bool sim_check_cphs_file(sim_file_index_enum file_idx);
+
+kal_bool sim_initialize_cache_check_ef_valid(sim_file_index_enum file_idx,
+                                             const sim_context_struct *this_sim);
+
+void sim_set_capability_profile(sim_capability_profile_enum sim_cap_profile, sim_context_struct *this_sim);
+
+kal_bool sim_check_capability_profile(sim_capability_profile_enum sim_cap_profile, const sim_context_struct *this_sim);
+
+void sim_reset_capability_profile(sim_context_struct *this_sim);
+
+kal_bool sim_check_mandatory_file(card_check_app_type app_type, sim_file_index_enum file_idx);
+
+#ifdef __RILD_SIM_CACHE__
+void usim_ap_cache_ready_ind_on_refresh_fcn(sat_file_change_ind_struct *sat_file_change_ind_ptr, sim_context_struct *this_sim);
+void usim_ap_pre_data_cache_ready_ind_before_cpin_ready(uicc_app_type_enum app_type, sim_context_struct *this_sim);
+#endif
+
+kal_bool sim_check_curr_isim_active(const sim_context_struct *this_sim);
+kal_bool sim_check_curr_csim_active(const sim_context_struct *this_sim);
+
+/* Send basic STATUS command on ICC or UICC */
+void sim_send_status_command(sim_context_struct *this_sim);
+
+void sat_set_ota_nvram_profile(const sim_context_struct *this_sim);
+
+kal_bool sim_retry_command_for_file(
+        sim_instruction_code_enum ins, kal_uint8 p2, sim_file_index_enum file_idx,
+        kal_uint16 status_word);
+#ifdef __SIM_RECOVERY_SWITCH__
+void sim_read_hotswap_recover_setting_from_nvram(sim_context_struct *this_sim);
+kal_bool sim_recovery_switch_control_by_at(sim_context_struct *this_sim);
+kal_bool sim_hotswap_switch_control_by_at(sim_context_struct *this_sim);
+#endif
+void sim_non_3gpp_applet_debug_trace(const kal_uint8 *tx_apdu,
+                                     kal_uint32 tx_len,
+                                     const kal_uint8 *rx_apdu,
+                                     kal_uint32 rx_len,
+                                     kal_uint16 status_words,
+                                     sim_context_struct *this_sim);
+
+void sim_set_manage_channel_context(const kal_uint8* apdu_cmd_ptr, 
+                                    const kal_uint8 * apdu_rsp_ptr, 
+                                    kal_uint16 apdu_rsp_len,
+                                    sim_context_struct *this_sim);
+
+void sim_get_mcc_mnc_str(kal_char * mcc_mnc,  sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_retrieve_data(sim_file_index_enum file_idx,
+                                       kal_uint8 sfi,
+                                       kal_uint16 cmd_len,
+                                       const kal_uint8 *cmd_ptr,
+                                       kal_uint16 *rsp_len_ptr,
+                                       kal_uint8 **rsp_ptr,
+                                       kal_uint16 *status_word,
+                                       usim_logic_channel_enum channel,
+                                       sim_context_struct *this_sim);
+
+sim_cmd_result_enum usim_set_data(sim_file_index_enum file_idx,
+                                  kal_uint8 sfi,
+                                  kal_uint16 cmd_len,
+                                  const kal_uint8 *cmd_ptr,
+                                  kal_uint16 *status_word,
+                                  usim_logic_channel_enum channel,
+                                  sim_context_struct *this_sim);
+void sim_read_restrict_card_type_from_nvram();
+void sim_update_restrict_card_type_setting(sim_restrict_card_type *card_type);
+kal_bool sim_check_restrict_card_type_valid(sim_context_struct *this_sim, kal_bool isEsim);
+void sim_send_restrict_card_type_ind(sim_context_struct *this_sim, kal_bool valid);
+
+#endif
diff --git a/mcu/protocol/layer4/sim/include/sim_trc.h b/mcu/protocol/layer4/sim/include/sim_trc.h
new file mode 100644
index 0000000..f0b6d99
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_trc.h
@@ -0,0 +1,66 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *  sim_trc.h
+ *
+ * Project:
+ * --------
+ *   MT6208
+ *
+ * Description:
+ * ------------
+ *   This file is trace map definition.
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef _SIM_TRC_H
+#define _SIM_TRC_H
+#ifndef GEN_FOR_PC
+#include "kal_public_defs.h" //MSBB change #include "stack_config.h"
+#endif /* GEN_FOR_PC */
+#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"sim_trc_mod_sim_utmd.h"
+#endif
+#endif /* _SIM_TRC_H */
diff --git a/mcu/protocol/layer4/sim/include/sim_trc_mod_sim_utmd.json b/mcu/protocol/layer4/sim/include/sim_trc_mod_sim_utmd.json
new file mode 100644
index 0000000..1894086
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_trc_mod_sim_utmd.json
@@ -0,0 +1,6017 @@
+{
+  "endGen": "-", 
+  "legacyParameters": {}, 
+  "module": "MOD_SIM", 
+  "startGen": "Legacy", 
+  "traceClassDefs": [
+    {
+      "TRACE_INFO": {
+        "debugLevel": "Ultra-High", 
+        "tag": [
+          "Baseline", 
+          "TRACE_INFO"
+        ], 
+        "traceType": "Public"
+      }
+    }, 
+    {
+      "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": "Medium", 
+        "tag": [
+          "Baseline", 
+          "TRACE_FUNC"
+        ], 
+        "traceType": "InternalDesign"
+      }
+    }, 
+    {
+      "TRACE_STATE": {
+        "debugLevel": "Ultra-High", 
+        "tag": [
+          "Baseline", 
+          "TRACE_STATE"
+        ], 
+        "traceType": "Public"
+      }
+    }, 
+    {
+      "TRACE_GROUP_1": {
+        "debugLevel": "High", 
+        "tag": [
+          "Baseline"
+        ], 
+        "traceType": "Public"
+      }
+    }, 
+    {
+      "TRACE_GROUP_2": {
+        "debugLevel": "Medium", 
+        "tag": [
+          "Baseline"
+        ], 
+        "traceType": "InternalDesign"
+      }
+    }, 
+    {
+      "TRACE_GROUP_3": {
+        "debugLevel": "Ultra-High", 
+        "tag": [
+          "Baseline"
+        ], 
+        "traceType": "Public"
+      }
+    }, 
+    {
+      "TRACE_GROUP_4": {
+        "debugLevel": "Low", 
+        "tag": [
+          "Baseline"
+        ], 
+        "traceType": "InternalDesign"
+      }
+    }
+  ], 
+  "traceDefs": [
+    {
+      "FUNC_SIM_START_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_start_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_APP_START_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_app_start_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_WRITE_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_write_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_READ_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_read_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INCREASE_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_increase_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SECURITY_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_security_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_RUN_ALGO_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_run_algo_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SEEK_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_seek_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_FILE_INFO_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_file_info_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_DIAL_MODE_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_dial_mode_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_STATUS_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_status_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_POWEROFF_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_poweroff_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SWITCH_START_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_switch_start_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_TIMER_EXPIRY_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_timer_expiry_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_READ_DIR_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_read_dir_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_CONNECT_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_connect_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_RESET_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_reset_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_APDU_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_apdu_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_DISCONNECT_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_disconnect_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_POWER_OFF_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_power_off_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_BT_SAP_POWER_ON_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "bt_sim_power_on_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_L4C_SIM_GET_GSMCDMA_DUALSIM_INFO_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "l4c_sim_GET_gsmcdma_dualsim_info_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_L4C_SIM_SET_GSMCDMA_DUALSIM_INFO_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "l4c_sim_SET_gsmcdma_dualsim_mode_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INTSIM_ACCESS_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_intsim_access_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INTSIM_NOTIFY_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_intsim_notify_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INTSIM_SECURITY_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_intsim_security_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INTSIM_DIAL_MODE_CHANGE_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_intsim_dial_mode_change_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_APDU_ACCESS_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_apdu_access_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_MANAGE_CHANNEL_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_manage_channnel_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_DISPLAY_TEXT": {
+        "apiType": "index", 
+        "format": "sat_procomm_display_text()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_GET_INKEY": {
+        "apiType": "index", 
+        "format": "sat_procomm_get_inkey()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_GET_INPUT": {
+        "apiType": "index", 
+        "format": "sat_procomm_get_input()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_PLAY_TONE": {
+        "apiType": "index", 
+        "format": "sat_procomm_play_tone()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SETUP_MENU": {
+        "apiType": "index", 
+        "format": "sat_procomm_setup_menu()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SELECT_ITEM": {
+        "apiType": "index", 
+        "format": "sat_procomm_select_item()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SEND_SMS": {
+        "apiType": "index", 
+        "format": "sat_procomm_send_sms()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SEND_SS": {
+        "apiType": "index", 
+        "format": "sat_procomm_send_ss()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SEND_USSD": {
+        "apiType": "index", 
+        "format": "sat_procomm_send_ussd()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SETUP_CALL": {
+        "apiType": "index", 
+        "format": "sat_procomm_setup_call()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_MORE_TIME": {
+        "apiType": "index", 
+        "format": "sat_procomm_more_time()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_REFRESH": {
+        "apiType": "index", 
+        "format": "sat_procomm_refresh()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_POLL_INTERVAL": {
+        "apiType": "index", 
+        "format": "sat_procomm_poll_interval()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_POLLING_OFF": {
+        "apiType": "index", 
+        "format": "sat_procomm_polling_off", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_PROVIDE_LOCAL_INFO": {
+        "apiType": "index", 
+        "format": "sat_procomm_provide_local_info()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SETUP_EVENT_LIST": {
+        "apiType": "index", 
+        "format": "sat_procomm_setup_event_list()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_PERFORM_CARD_APDU": {
+        "apiType": "index", 
+        "format": "sat_procomm_perform_card_apdu()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_POWER_OFF_CARD": {
+        "apiType": "index", 
+        "format": "sat_procomm_power_off_card()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_POWER_ON_CARD": {
+        "apiType": "index", 
+        "format": "sat_procomm_power_on_card()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_GET_READER_STATUS": {
+        "apiType": "index", 
+        "format": "sat_procomm_get_reader_status()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_TIMER_MANAGEMENT": {
+        "apiType": "index", 
+        "format": "sat_procomm_timer_management()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SET_UP_IDLE_MODE_TEXT": {
+        "apiType": "index", 
+        "format": "sat_procomm_set_up_idle_mode_text()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_RUN_AT_COMMAND": {
+        "apiType": "index", 
+        "format": "sat_procomm_run_at_command()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SEND_DTMF": {
+        "apiType": "index", 
+        "format": "sat_procomm_send_dtmf()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_LANGUAGE_NOTIFICATION": {
+        "apiType": "index", 
+        "format": "sat_procomm_language_notification()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_LAUNCH_BROWSER": {
+        "apiType": "index", 
+        "format": "sat_procomm_launch_browser()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_OPEN_CHANNEL": {
+        "apiType": "index", 
+        "format": "sat_procomm_open_channel()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_CLOSE_CHANNEL": {
+        "apiType": "index", 
+        "format": "sat_procomm_close_channel()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_RECEIVE_DATA": {
+        "apiType": "index", 
+        "format": "sat_procomm_recv_data()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_SEND_DATA": {
+        "apiType": "index", 
+        "format": "sat_procomm_send_data()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_GET_CHANNEL_STATUS": {
+        "apiType": "index", 
+        "format": "sat_procomm_ch_status()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_ACTIVATE": {
+        "apiType": "index", 
+        "format": "sat_procomm_activate()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_ACTIVATE_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_activate_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_CONTACTLESS_STATE_CHANGED": {
+        "apiType": "index", 
+        "format": "sat_procomm_contactless_state_changed()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROCOMM_CONTACTLESS_STATE_CHANGED_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_contactless_state_changed_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_RUN_AT_COMMAND_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_run_at_command_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_DTMF_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_send_dtmf_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_LANGUAGE_NOTIFICATION_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_language_notification_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SAT_PROVIDE_LOCAL_INFORMATION_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_provide_local_information_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROACTIVE_CMD_PROCESS": {
+        "apiType": "index", 
+        "format": "sat_proactive_cmd_process()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_FILE_CHANGE_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_file_change_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_SMS_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_send_sms_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_SS_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_send_ss_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_USSD_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_send_ussd_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SETUP_CALL_RES_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_setup_call_res_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SMS_DL_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_sms_dl_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_CB_DL_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_cb_dl_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_GEN_SMS_PP_DL_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_general_sms_pp_dl_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_MENU_SELECT_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_menu_select_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_CALL_CTRL_BY_SIM_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_call_ctrl_by_sim_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_CALL_STATUS_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_call_status_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PDP_STATUS_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_pdp_status_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_SMS_CTRL_BY_SIM_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_send_sms_ctrl_by_sim_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SEARCH_RECORD_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_search_record_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SYNC_POLL_TIMER_IND_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_sync_poll_timer_ind_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_RECOVERY_ENHANCEMENT_SWITCH_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sim_recovery_enhancement_switch_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_PROFILE_WRITE_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "sat_profile_write_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_USIM_STARTUP_READ": {
+        "apiType": "index", 
+        "format": "usim_startup_read()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_ISIM_STARTUP_READ": {
+        "apiType": "index", 
+        "format": "isim_startup_read()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_STARTUP_READ": {
+        "apiType": "index", 
+        "format": "sim_startup_read()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_ISIM_OPEN_CHANNEL_AND_INIT": {
+        "apiType": "index", 
+        "format": "isim_open_channel_and_init()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "sim_initialization()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_USIM_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "usim_initialization()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_ISIM_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "isim_initialization()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_SAT_READY_REQ_HANDLER": {
+        "apiType": "index", 
+        "format": "[SAT]sim_sat_ready_req_handler()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_CUIM_APDU_ACCESS": {
+        "apiType": "index", 
+        "format": "sim_cuim_apdu_access()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SAT_SEND_LOCATION_STATUS_AND_ACCESS_TECH_EVENT": {
+        "apiType": "index", 
+        "format": "[SAT]sat_send_location_status_and_access_technology_event()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SIM_PARSE_USIM_MSISDN": {
+        "apiType": "index", 
+        "format": "parse_usim_msisdn()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_PARSE_CSIM_MDN": {
+        "apiType": "index", 
+        "format": "parse_csim_mdn()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "FUNC_SIM_PARSE_ISIM_IMPU": {
+        "apiType": "index", 
+        "format": "parse_isim_impu()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SIM_DISABLE_PROCESS": {
+        "apiType": "index", 
+        "format": "sim_disable_function_process()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_USIM_GET_SUCI": {
+        "apiType": "index", 
+        "format": "usim_get_suci()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SIM_UIM_SEND_APP_READY_IND": {
+        "apiType": "index", 
+        "format": "sim_uim_send_app_ready_ind() uim app:%d", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SIM_CUIM_APDU_EXTENDED_ACCESS": {
+        "apiType": "index", 
+        "format": "[SIM] sim_cuim_extended_apdu_access()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "FUNC_SIM_FUNCTION": {
+        "apiType": "index", 
+        "format": "%s(), %d, %d", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "STATE_SIM_RESET": {
+        "apiType": "index", 
+        "format": "RESET SIM STATE", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CARD_NOT_INSERTED": {
+        "apiType": "index", 
+        "format": "SIM Card Not Inserted", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_SELECT_CMD_SUCCESS": {
+        "apiType": "index", 
+        "format": "sim_select() success!", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CMD_SUCCESS": {
+        "apiType": "index", 
+        "format": "SIM_CMD_SUCCESS", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CMD_FAIL": {
+        "apiType": "index", 
+        "format": "SIM_CMD_FAIL", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CHV_RETRY_ALLOW": {
+        "apiType": "index", 
+        "format": "SIM_CHV_RETRY_ALLOW", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CHV_BLOCK": {
+        "apiType": "index", 
+        "format": "SIM_CHV_BLOCK", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_SAT_CMD_BUSY": {
+        "apiType": "index", 
+        "format": "SIM_SAT_CMD_BUSY", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_DL_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_DL_ERROR", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_MEMORY_PROBLEM": {
+        "apiType": "index", 
+        "format": "SIM_MEMORY_PROBLEM", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_TECHNICAL_PROBLEM": {
+        "apiType": "index", 
+        "format": "SIM_TECHNICAL_PROBLEM", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_WRONG_INSTRUCTION_CLASS": {
+        "apiType": "index", 
+        "format": "SIM_WRONG_INSTRUCTION_CLASS", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_INS_NOT_SUPPORT_OR_WRONG": {
+        "apiType": "index", 
+        "format": "SIM: SIM_INS_NOT_SUPPORT_OR_WRONG", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_30V": {
+        "apiType": "index", 
+        "format": "3.0V SIM", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_18V": {
+        "apiType": "index", 
+        "format": "1.8V SIM", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_RESET_30V": {
+        "apiType": "index", 
+        "format": "SIM RESET at 3.0V", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_RESET_18V": {
+        "apiType": "index", 
+        "format": "SIM RESET at 1.8V", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_FILE_NOT_FOUND": {
+        "apiType": "index", 
+        "format": "FILE_NOT_FOUND", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_BT_SAP_APDU_PROTOCOL_TYPE_0": {
+        "apiType": "index", 
+        "format": "Transport Protocol Type: 0", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_MMI_CANT_GET_DUALSIM_INFO": {
+        "apiType": "index", 
+        "format": "G+C MMI can't get dualsim info", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_GSMCDMA_DETECTED": {
+        "apiType": "index", 
+        "format": "G+C GSMCDMA dualsim file detected", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_DUALSIM_CMD_FAIL_DISCONNECT_NOT_ALLOWED": {
+        "apiType": "index", 
+        "format": "G+C dualsim disconnect not allowed", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_DUALSIM_CMD_FAIL_CONNECT_NOT_ALLOWED": {
+        "apiType": "index", 
+        "format": "G+C dualsim connect not allowed", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CALL_DISCONNECT": {
+        "apiType": "index", 
+        "format": "Disconnect on-going call", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CONNECT_WITH_PHONE_SUCCESS": {
+        "apiType": "index", 
+        "format": "CONNECT_WITH_PHONE_SUCCESS", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_CONNECT_WITH_PHONE_FAILED": {
+        "apiType": "index", 
+        "format": "CONNECT_WITH_PHONE_FAILED", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_DISCONNECT_WITH_PHONE_SUCCESS": {
+        "apiType": "index", 
+        "format": "DISCONNECT_WITH_PHONE_SUCCESS", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_DISCONNECT_WITH_PHONE_FAILED": {
+        "apiType": "index", 
+        "format": "DISCONNECT_WITH_PHONE_FAILED", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_BT_SAP_RESET_SUCCESS": {
+        "apiType": "index", 
+        "format": "BT_SAP_RESET_SUCCESS", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_BT_SAP_RESET_FAILED": {
+        "apiType": "index", 
+        "format": "BT_SAP_RESET_FAILED", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_RECOVERY_ENHANCEMENT_ON": {
+        "apiType": "index", 
+        "format": "sim recovery enhancement switch on!", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_RECOVERY_ENHANCEMENT_OFF": {
+        "apiType": "index", 
+        "format": "sim recovery enhancement switch off!", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_UPDATE_L1_VSIM_FINISH": {
+        "apiType": "index", 
+        "format": "Finish sim_update_L1_VSIM()", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_UPDATE_L1_SIM_TYPE_FINISH": {
+        "apiType": "index", 
+        "format": "Finish sim_update_L1_SIM_type()", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_UPDATE_L1_SIM_INSERT_STATUS_FINISH": {
+        "apiType": "index", 
+        "format": "Finish sim_update_L1_SIM_insert_status()", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_UPDATE_SIM_INSERT_STATUS_FINISH": {
+        "apiType": "index", 
+        "format": "Finish sim_update_L1_SIM_insert_status()", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_PLUG_OUT_CALLBACK": {
+        "apiType": "index", 
+        "format": "SIM PLUG OUT(%d) -> PS(%d)", 
+        "traceClass": "TRACE_STATE"
+      }
+    }, 
+    {
+      "STATE_SIM_PLUG_IN_CALLBACK": {
+        "apiType": "index", 
+        "format": "SIM PLUG IN(%d) -> PS(%d)", 
+        "traceClass": "TRACE_STATE"
+      }
+    },
+    {
+      "STATE_SIM_DRV_DEBUG_IND_CALLBACK": {
+        "apiType": "index", 
+        "format": "SIM debug ind(%d) -> PS(%d)", 
+        "traceClass": "TRACE_STATE"
+      }
+    },
+    {
+      "STATE_SAT_REFRESH_VOTING_CHANGE": {
+        "apiType": "index", 
+        "format": "refresh_voting_state: %Msat_refresh_voting_state_enum", 
+        "traceClass": "TRACE_STATE"
+      }
+    },
+    {
+      "INFO_SIM_SELECT_FILE": {
+        "apiType": "index", 
+        "format": "SIM_FILE_SELECTED: %02X %02X => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_STATUS_WORD": {
+        "apiType": "index", 
+        "format": "SIM_STATUS_WORD:   %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_RESET_ERROR: %MDCL_SIM_STATUS", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_ELP_BY_SPEC": {
+        "apiType": "index", 
+        "format": "SELECT_ELP_BY_SPEC", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_ELP_BY_SPEC_ISO639_SPECIFIED": {
+        "apiType": "index", 
+        "format": "INFO_SIM_SELECT_ELP_BY_SPEC_ISO639_SPECIFIED: type = %d, index = %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_ELP_BY_SPEC_ME_SUPPORT": {
+        "apiType": "index", 
+        "format": "INFO_SIM_SELECT_ELP_BY_SPEC_ME_SUPPORT: type = %d, index = %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CONNECT_TYPE": {
+        "apiType": "index", 
+        "format": "CONNECT_TYPE: %Msim_plug_out_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RR_ALLOW_SIM_FETCH": {
+        "apiType": "index", 
+        "format": "RRallow %Msim_interface_enum fetch", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RR_NOT_ALLOW_SIM_FETCH": {
+        "apiType": "index", 
+        "format": "RRnotallow %Msim_interface_enum fetch", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_AL_SELECT": {
+        "apiType": "index", 
+        "format": "SELECT:%Msim_file_index_enum => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_STATUS": {
+        "apiType": "index", 
+        "format": "STATUS => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_READ_BINARY": {
+        "apiType": "index", 
+        "format": "READ BINARY  offset: %hd length: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_UPDATE_BINARY": {
+        "apiType": "index", 
+        "format": "UPDATE BINARY offset: %hd length: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_READ_RECORD": {
+        "apiType": "index", 
+        "format": "READ RECORD rec# %hd size: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_UPDATE_RECORD": {
+        "apiType": "index", 
+        "format": "UPDATE_RECORD rec# %hd size: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_INCREASE": {
+        "apiType": "index", 
+        "format": "INCREASE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_VERIFY": {
+        "apiType": "index", 
+        "format": "VERIFY => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_CHANGE_PIN": {
+        "apiType": "index", 
+        "format": "CHANGE PIN => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_SWITCH_PIN": {
+        "apiType": "index", 
+        "format": "SWITCH PIN: %Msim_instruction_code_enum => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_UNBLOCK_PIN": {
+        "apiType": "index", 
+        "format": "UNBLOCK PIN => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_DEACTIVATE_FILE": {
+        "apiType": "index", 
+        "format": "DEACTIVATE FILE: %Msim_file_index_enum => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_ACTIVATE_FILE": {
+        "apiType": "index", 
+        "format": "ACTIVATE FILE: %Msim_file_index_enum => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_APP_AUTHENTICATE": {
+        "apiType": "index", 
+        "format": "APP_AUTHENTICATE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_AUTHENTICATE": {
+        "apiType": "index", 
+        "format": "AUTHENTICATE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_AL_GET_IDENTITY": {
+        "apiType": "index", 
+        "format": "GET_IDENTITY => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_AL_TERMINAL_PROFILE": {
+        "apiType": "index", 
+        "format": "TERMINAL PROFILE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_ENVELOPE": {
+        "apiType": "index", 
+        "format": "ENVELOPE: send %hd bytes recv %hd bytes => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_FETCH": {
+        "apiType": "index", 
+        "format": "FETCH %hd bytes => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_TERMINAL_RESPONSE": {
+        "apiType": "index", 
+        "format": "TERMINAL RESPONSE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_AL_GET_CHALLENGE": {
+        "apiType": "index", 
+        "format": "GET CHALLENGE: %hd bytes => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_AL_MANAGE_CHANNEL": {
+        "apiType": "index", 
+        "format": "MANAGE CHANNEL %Musim_channel_op_enum %Musim_logic_channel_enum => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_SELECT_AID": {
+        "apiType": "index", 
+        "format": "USIM SELECT AID: %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_AL_READ_BINARY_SFI": {
+        "apiType": "index", 
+        "format": "usim_al_read_binary_with_sfi: %Musim_sfi_enum %hd  => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_AL_TERMINAL_CAPABILITY": {
+        "apiType": "index", 
+        "format": "TERMINAL CAPABILITY => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_NO_FILE_MAPPING": {
+        "apiType": "index", 
+        "format": "No rule of mapping %Msim_file_index_enum to USIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_FILE_MAPPING": {
+        "apiType": "index", 
+        "format": "Mapping %Msim_file_index_enum to %Msim_file_index_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SERVICE_MAPPING_TRUE": {
+        "apiType": "index", 
+        "format": "Mapping %Msim_service_enum Support", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SERVICE_MAPPING_FALSE": {
+        "apiType": "index", 
+        "format": "Mapping %Msim_service_enum Not Support", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_LOWCOST_MERGE_TASK": {
+        "apiType": "index", 
+        "format": "LOWCOST_MERGE_TASK feature support", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_TR_DROPPED": {
+        "apiType": "index", 
+        "format": "Terminal Response is dropped", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SWITCH": {
+        "apiType": "index", 
+        "format": "SIM_SWITCH: SIM %Msim_interface_enum switch to SLOT %Msim_interface_enum, sim_ctxt_ptr=0x%08x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_STATE": {
+        "apiType": "index", 
+        "format": "[DSS]state:%Msim_dss_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_MODULE": {
+        "apiType": "index", 
+        "format": "[DSS]current_module:%Mmodule_type, simInterface:%Msim_interface_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_EVENT_QUEUE": {
+        "apiType": "index", 
+        "format": "[DSS]actual_sim:%Msim_interface_enum, event_count:%d event:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_FINAL_PLUG_EVENT": {
+        "apiType": "index", 
+        "format": "[DSS]actual_sim:%Msim_interface_enum, final event:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_UPDATE_CACHE": {
+        "apiType": "index", 
+        "format": "[DSS]update cache, file_idx:%Msim_file_index_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_REMAIN_RECOVERY_TIMER_TICK": {
+        "apiType": "index", 
+        "format": "[DSS][RECOVERY]Remain recovery timer tick: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_STOP_SAT_TIMER": {
+        "apiType": "index", 
+        "format": "[DSS][SAT]sat_stop_timer[%d]%02X %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DSS_START_SAT_TIMER": {
+        "apiType": "index", 
+        "format": "[DSS][SAT]sat_start_timer[%d]%02X %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CSUS_SWITCH": {
+        "apiType": "index", 
+        "format": "SIM_CSUS_SWITCH: SIM %Msim_interface_enum switch to SLOT %Msim_interface_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_POLL_TIMER_STATE": {
+        "apiType": "index", 
+        "format": "SIM_SYNC_TIMER: sim_sync_poll_timer_state = %Msim_sync_poll_timer_state_enum", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "INFO_SIM_POLL_TIMER_PERIOD": {
+        "apiType": "index", 
+        "format": "SIM_SYNC_TIMER: poll_timer_period = %d (ticks)", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_CHANNEL_CONSISTENT": {
+        "apiType": "index", 
+        "format": "+CGLA: CLA byte indicating Channel ID is subject to input ID", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_TERMINAL_CAPABILITY_SUPPORTTED": {
+        "apiType": "index", 
+        "format": "TERMINAL CAPABILITY SUPPORTTED!!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VERIFY_ADM": {
+        "apiType": "index", 
+        "format": "Verify ADM via apdu_access_req", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_UIM_CAT_MSG": {
+        "apiType": "index", 
+        "format": "uim_sat_proactive_command_ind_hdlr() - %Msat_proactive_cmd_enum handled by UIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CAT_MSG": {
+        "apiType": "index", 
+        "format": "uim_sat_proactive_command_ind_hdlr() - %Msat_proactive_cmd_enum handled by SIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_SET": {
+        "apiType": "index", 
+        "format": "sim_hot_swap_poll_timer_set(): poll time is from %d to %d, ps_id=%Mprotocol_id_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_ROLLBACK": {
+        "apiType": "index", 
+        "format": "sim_hot_swap_poll_timer_rollback() poll time is from %d to %d, ps_id=%Mprotocol_id_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_ROLLBACK_IND": {
+        "apiType": "index", 
+        "format": "sim_hot_swap_poll_timer_rollback_ind_handler() poll time is from %d to %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_ROLLBACK_PEER": {
+        "apiType": "index", 
+        "format": "sim_hot_swap_poll_timer_rollback_codeck_peer() ps_id=%Mprotocol_id_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_L1_UPDATE_SIM_TYPE_INFO": {
+        "apiType": "index", 
+        "format": "L1_update_SIM_type(), which_sim:%Msim_interface_enum, sim_type:%Msim_type_query_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_L1_UPDATE_VSIM_INFO": {
+        "apiType": "index", 
+        "format": "L1_update_VSIM(), which_sim:%Msim_interface_enum, is_vsim_on:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_L1_UPDATE_SIM_INSERT_STATUS": {
+        "apiType": "index", 
+        "format": "L1_update_SIM_insert_status(), which_sim:%Msim_interface_enum, is_sim_insert:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_PROFILE_MT_DEFAULT_DOWNLOAD": {
+        "apiType": "index", 
+        "format": "[SAT]Profile MT default download", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_PROFILE_MT_AND_TE_DOWNLOAD": {
+        "apiType": "index", 
+        "format": "[SAT]Profile MT and TE download", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_PROFILE_HALT_DOWNLOAD": {
+        "apiType": "index", 
+        "format": "[SAT]Profile download halt", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_ACTIVATE_TE_FACILITY": {
+        "apiType": "index", 
+        "format": "[SAT]Active TE facility", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_V4_SIM_X8": {
+        "apiType": "index", 
+        "format": "X[8]:%02X %02X %02X %02X %02X %02X %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_V4_SIM_KC": {
+        "apiType": "index", 
+        "format": "Kc[24]:%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_V4_SIM_KM": {
+        "apiType": "index", 
+        "format": "Km[24]:%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_V4_SIM_RND": {
+        "apiType": "index", 
+        "format": "RND[16]: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_JS_SIM_KEY": {
+        "apiType": "index", 
+        "format": "Key[24]: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ENCYPTED_CODE": {
+        "apiType": "index", 
+        "format": "Encypted Code %hd :%02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_STK_ACTIVATE": {
+        "apiType": "index", 
+        "format": "xTK switch - STK activate", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UTK_ACTIVATE": {
+        "apiType": "index", 
+        "format": "xTK switch - UTK activate", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_CT_MOTE_CHANGE": {
+        "apiType": "index", 
+        "format": "sat_ct_mode_req_handler() - from:%d->%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VZW_ENVELOPE_WRONG_ACCESS_TECH": {
+        "apiType": "index", 
+        "format": "uim_sat_envelope_handler() - rat:%Mgmss_rat_enum, status:%Mgmss_selected_rat_status_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CHECK_SFI_FILE_CACHED": {
+        "apiType": "index", 
+        "format": "[%Msim_cache_file_op_enum]ret_val:%Mkal_bool %Musim_sfi_enum => %Msim_cache_file_idx_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CHECK_FILE_CACHED": {
+        "apiType": "index", 
+        "format": "[%Msim_cache_file_op_enum]ret_val:%Mkal_bool %Msim_file_index_enum => %Msim_cache_file_idx_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CACHE_FILE_RESET": {
+        "apiType": "index", 
+        "format": "[SIM_CACHE]%Msim_cache_file_idx_enum cache reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CACHE_FILE_UPDATE_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM_CACHE]%Msim_cache_file_idx_enum update fail", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CACHE_FULL_RESET": {
+        "apiType": "index", 
+        "format": "[SIM_CACHE]cache full reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_AGAIN_WHEN_NO_SIM": {
+        "apiType": "index", 
+        "format": "[RECOVERY_AGAIN]recovery_again_when_no_sim:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_AGAIN_START": {
+        "apiType": "index", 
+        "format": "[RECOVERY_AGAIN]recovery_again start in sim_startup_read()", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_AGAIN_COUNTER": {
+        "apiType": "index", 
+        "format": "[RECOVERY_AGAIN]recovery_again counter: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VSIM_MASK_PLUG_CB": {
+        "apiType": "index", 
+        "format": "l4c_sim_set_vsim_mode_req_handler() - mask_out:%d, mask_in:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_CANCEL_TIMER": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Cancel timer", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_USE_GENERAL_RECOVERY": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Use general recovery", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_USE_RETRY_DETECT": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Use retry detect", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_USE_RECOVERY_AGAIN": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Use recovery again", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_USE_RECOVERY_WHEN_NO_SIM": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Use recovery when no sim", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_RECOVERY_USE_EXTEND_PATTERN": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Use extend pattern", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_C2K_FILE_RECORD_SIZE": {
+        "apiType": "index", 
+        "format": "[SIM C2K]file record size: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VSIM_ON_WITH_C2K_ONLY": {
+        "apiType": "index", 
+        "format": "[VSIM]VSIM detect with C2K only capability", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VSIM_ON_WITH_RUIM_ONLY": {
+        "apiType": "index", 
+        "format": "[VSIM]VSIM detect with RUIM only capability", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VSIM_RESET_CT3G_FLAG": {
+        "apiType": "index", 
+        "format": "[VSIM]reset CT3G_mode to default UIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_VSIM_POWER_OFF_REAL_CARD": {
+        "apiType": "index", 
+        "format": "[VSIM]VSIM plug-in process, power off real card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SPRINT_IMEI_LOCKING": {
+        "apiType": "index", 
+        "format": "[SAT]Disable SIM recovery for IMEI Locking", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_ISSUE_FAKE_REFRESH": {
+        "apiType": "index", 
+        "format": "[SAT]Trigger fake SIM Refresh", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FAKE_REFRESH_RES": {
+        "apiType": "index", 
+        "format": "[SAT]Fake SIM Refresh, do not send the terminal respond", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UPDATE_SIM_INSERT_STATUS": {
+        "apiType": "index", 
+        "format": "SIM_update_insert_status(), which_sim:%Msim_interface_enum, is_sim_insert:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_STK_SMS_CDMA_SUCCESS": {
+        "apiType": "index", 
+        "format": "[SAT] STK_SMS with CDMA format, send to MD3 success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_STK_SMS_CDMA_FAIL": {
+        "apiType": "index", 
+        "format": "[SAT] STK_SMS with CDMA format, but send to MD3 fail", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_STKCALL_WITH_IMS_URI": {
+        "apiType": "index", 
+        "format": "[SAT] STK_CALL with URI, handle by SIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_FILE_ADD_TO_ERROR_LIST": {
+        "apiType": "index", 
+        "format": "file idx %d added to error file list, is_read? %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_FILE_NOT_ALLOWED": {
+        "apiType": "index", 
+        "format": "file idx %d error count max reached, not allowed to select/read, (serror %d/rerror %d)", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_FILE_ERROR_COUNT_ADD": {
+        "apiType": "index", 
+        "format": "file idx %d error count incremented", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_FILE_READ_ERROR_COUNT_ADD": {
+        "apiType": "index", 
+        "format": "file idx %d read error count incremented", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_FILE_REDUCE_ERROR_COUNT": {
+        "apiType": "index", 
+        "format": "file idx %d error count reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_FILE_REDUCE_READ_ERROR_COUNT": {
+        "apiType": "index", 
+        "format": "file idx %d read error count reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_POLL_OFF_AND_NOT_IN_CALL": {
+        "apiType": "index", 
+        "format": "SIM timer not start, Poll Off and not In Call or no card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_STOP_TIMER_BUT_RETURN": {
+        "apiType": "index", 
+        "format": "sim_stop_timer() but return out, timer status:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_ADDITIONAL_LOCK_PHASE": {
+        "apiType": "index", 
+        "format": "[SAT]ADDITIONAL_LOCK_PHASE: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_USIM_AID_SUCCESS": {
+        "apiType": "index", 
+        "format": "Select USIM AID success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_ISIM_AID_SUCCESS": {
+        "apiType": "index", 
+        "format": "Select ISIM AID success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_CSIM_AID_SUCCESS": {
+        "apiType": "index", 
+        "format": "Select CSIM AID success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_CONTAIN_USIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR contain USIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_WITHOUT_USIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR without USIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_CONTAIN_ISIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR contain ISIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_WITHOUT_ISIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR without ISIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_CONTAIN_CSIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR contain CSIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_UICC_WITHOUT_CSIM": {
+        "apiType": "index", 
+        "format": "UICC EF_DIR without CSIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_USIM_STARTUP_READY": {
+        "apiType": "index", 
+        "format": "USIM startup ready", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ISIM_STARTUP_READY": {
+        "apiType": "index", 
+        "format": "ISIM startup ready", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CSIM_STARTUP_READY": {
+        "apiType": "index", 
+        "format": "CSIM startup ready", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SIM_STARTUP_READY": {
+        "apiType": "index", 
+        "format": "SIM startup ready", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STARTUP_READY_WITH_CSIM": {
+        "apiType": "index", 
+        "format": "MOD_UIM startup ready, CSIM activated", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STARTUP_READY_WITH_RUIM": {
+        "apiType": "index", 
+        "format": "MOD_UIM startup ready, RUIM activated", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STARTUP_READY_WITHOUT_CDMA": {
+        "apiType": "index", 
+        "format": "MOD_UIM startup ready, no card or no CDMA capability", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_TEST_MODE_ON": {
+        "apiType": "index", 
+        "format": "Test Mode On", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AND_TEST_SIM_RELATION": {
+        "apiType": "index", 
+        "format": "Test SIM Relation: AND", 
+        "traceClass": "TRACE_GROUP_1"
+      }
+    }, 
+    {
+      "INFO_SIM_OR_TEST_SIM_RELATION": {
+        "apiType": "index", 
+        "format": "Test SIM Relation: OR", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_APPLICATION_LABEL": {
+        "apiType": "index", 
+        "format": "Application Label : %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_NO_APPLICATION_LABEL": {
+        "apiType": "index", 
+        "format": "No Application Label!", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_USIM_UST": {
+        "apiType": "index", 
+        "format": "ust: %hd:%s", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_USIM_EST": {
+        "apiType": "index", 
+        "format": "est: %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET": {
+        "apiType": "index", 
+        "format": "SIM_Reset in CDMA Detection", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_WITH_CDMA": {
+        "apiType": "index", 
+        "format": "Card with CDMA folder", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_WITHOUT_CDMA": {
+        "apiType": "index", 
+        "format": "Card without CDMA folder", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_WITH_GSM": {
+        "apiType": "index", 
+        "format": "Card with GSM folder", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_WITHOUT_GSM": {
+        "apiType": "index", 
+        "format": "Card without GSM folder", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_DETECT_SIM": {
+        "apiType": "index", 
+        "format": "CDMA detect SIM insert", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_DETECT_CT3G": {
+        "apiType": "index", 
+        "format": "CT 3G Card Found", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_CCCI_CALLBACK_SUCCESS": {
+        "apiType": "index", 
+        "format": "SIM Register CCCI CALLBACK Success!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_OM_SOLUTION1": {
+        "apiType": "index", 
+        "format": "C2K OM SOLUTION1", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_CCCI_MISC_INFO_NOT_SUPPORT_C2K": {
+        "apiType": "index", 
+        "format": "CCCI_MISC_INFO NOT SUPPORT C2K", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_SKIP_CDMA_DETECTION": {
+        "apiType": "index", 
+        "format": "OM Solution1 and NOT protocol1, skip CDMA detection", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_SPECIAL_ATR_HISTORICAL_BYTE": {
+        "apiType": "index", 
+        "format": "Special USIM ATR historical byte 80 69 ...!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_SKIP_TRY_USIM": {
+        "apiType": "index", 
+        "format": "Skip try USIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_VSIM_WITH_USIM": {
+        "apiType": "index", 
+        "format": "VSIM UICC contain USIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_UICC_SIM_INSIDE": {
+        "apiType": "index", 
+        "format": "UICC SIM Inside", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_NOT_ROAMING": {
+        "apiType": "index", 
+        "format": "Not Roaming, CDMA exist, skip try SIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_UNDER_ROAMING": {
+        "apiType": "index", 
+        "format": "3G CT Card under Roaming, ignore CDMA info on Card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_TRY_DCS1800_CARD": {
+        "apiType": "index", 
+        "format": "Try DCS1800 card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_FIND_DCS1800_CARD": {
+        "apiType": "index", 
+        "format": "Find DCS1800 card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_CDMA_617_ELECTRICAL_TEST": {
+        "apiType": "index", 
+        "format": "SIM select CDMA for 6.17 Electrical Tests", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_18V_RETRY_30V": {
+        "apiType": "index", 
+        "format": "1.8V tech ME: SELECT DF_GSM fail@1.8V. Retry 3.0V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_30V_RETRY_18V": {
+        "apiType": "index", 
+        "format": "1.8V tech ME: SELECT DF_GSM fail@3.0V. Retry 1.8V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_30V_ONLY": {
+        "apiType": "index", 
+        "format": "3.0V only ME: SELECT DF_GSM fail. RejectThisCard", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_18V_ONLY": {
+        "apiType": "index", 
+        "format": "1.8V only ME: SELECT DF_GSM fail. RejectThisCard", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_18V_SIM_RESET_18V": {
+        "apiType": "index", 
+        "format": "1.8V tech SIM: SIM reset@1.8V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_18V_SIM_RESET_30V": {
+        "apiType": "index", 
+        "format": "1.8V tech SIM: SIM reset@3.0V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_30V_SIM_RESET_30V": {
+        "apiType": "index", 
+        "format": "3V tech SIM: SIM reset@3.0V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_30V_SIM_RESET_18V_RETRY_30V": {
+        "apiType": "index", 
+        "format": "3V tech SIM: SIM reset@1.8V so retry 3.0V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_50V_SIM_NOT_SUPPORT": {
+        "apiType": "index", 
+        "format": "5V SIM:NotSupport", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_RESET_ICC_CARD_VOLT": {
+        "apiType": "index", 
+        "format": "SIM Rest working vol class:%MDCL_SIM_POWER, fcp power class:0x%x, ME support vol: 0x%x", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_RESET_30V_OR_18V_SIM_RESET_30V": {
+        "apiType": "index", 
+        "format": "3V tech or 1.8V tech SIM: SIM reset@3.0V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_CDMA_ONLY_CARD": {
+        "apiType": "index", 
+        "format": "No (U)SIM, but exist CSIM/UIM!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_DBG_STR": {
+        "apiType": "index", 
+        "format": "[SIM]%s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_POWEROFF_VSIM_IGNORE_POWER_OFF": {
+        "apiType": "index", 
+        "format": "VSIM on, ignore sim power off command", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_RECOVERY_RESET_18V": {
+        "apiType": "index", 
+        "format": "UICC reset @1.8V", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_USIM_RECOVERY_RESET_SIM_INSIDE": {
+        "apiType": "index", 
+        "format": "SIM Reset success, SIM inside", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_APVSIM_SUPPORT_SLOT": {
+        "apiType": "index", 
+        "format": "[APVSIM]apvsim_supported_slots: %d ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_FAST_RECOVERY_SUCCESS": {
+        "apiType": "index", 
+        "format": "SIM_Fast_Recovery success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_ISIM_FAST_RECOVERY_SUCCESS": {
+        "apiType": "index", 
+        "format": "ISIM_Fast_Recovery success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RECOVERY_SUCCESS": {
+        "apiType": "index", 
+        "format": "SIM_Recovery success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_ISIM_RECOVERY_SUCCESS": {
+        "apiType": "index", 
+        "format": "ISIM_Recovery success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_IS_TEST_SIM": {
+        "apiType": "index", 
+        "format": "Test SIM inserted", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_NOT_TEST_SIM": {
+        "apiType": "index", 
+        "format": "not Test SIM, normal SIM inserted", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EF_IMSI_IS_INVALIDATED": {
+        "apiType": "index", 
+        "format": "EF_IMSI is invalidated", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EF_LOCI_IS_INVALIDATED": {
+        "apiType": "index", 
+        "format": "EF_LOCI is invalidated", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EF_IMSI_IS_READ": {
+        "apiType": "index", 
+        "format": "IMSI Read Success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CPHS_TEST_SIM": {
+        "apiType": "index", 
+        "format": "CPHS Test SIM inserted", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EF_FILE_EXIST": {
+        "apiType": "index", 
+        "format": "EF_%s exist", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_REFRESH_QUERY_DN_TYPE": {
+        "apiType": "index", 
+        "format": "SIM Refresh Query Dn Type", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CT3G_PLUG_OUT": {
+        "apiType": "index", 
+        "format": "CT 3G Plug out, only inform MD3 and L4", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_CARD_NOT_RECOGNIZE": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: (U)SIM Card Not Recognize", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_PIN1_NOT_VERIFY": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: PIN1 not verify", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_PUK1_NOT_VERIFY": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: PUK1 not verify", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_SIM_BLOCKED": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: SIM blocked", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_SIM_BUSY": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: Security status unknown", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_CRAD_NOT_DETECTED": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: (U)SIM Card Not Detected", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_SIM_PROBLEM": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: (U)SIM Problem before send to UIM module", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_STATUS_ACTIVATE_UIM": {
+        "apiType": "index", 
+        "format": "SIM_UIM_STATUS: Activate MOD_UIM for SIM Task initialization", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RECEIVE_CSS_READY": {
+        "apiType": "index", 
+        "format": "Receive CSS_READY_IND, Send SIM Refresh(FCN) to SMSAL and PHB", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_INIT_DONE_FILE_READ": {
+        "apiType": "index", 
+        "format": "[SAT]SIM init done, Send SIM Refresh(FCN) to request FILE read", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_NOT_DUAL_MODE_SIM_REJECT_SWITCH": {
+        "apiType": "index", 
+        "format": "Not Dual Mode SIM, reject Card Type Switch request", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CARD_TYPE_SWITCH": {
+        "apiType": "index", 
+        "format": "Card Type Switch: %s -> %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_BATCH_READ_LOOP": {
+        "apiType": "index", 
+        "format": "UIM batch read: loop", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_BATCH_READ_CSIM_SELECT": {
+        "apiType": "index", 
+        "format": "UIM batch read: csim select", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_BATCH_READ_UIM_SELECT": {
+        "apiType": "index", 
+        "format": "UIM batch read: uim select", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_BATCH_READ_UIM_TRANSPARENT": {
+        "apiType": "index", 
+        "format": "UIM batch read: transparent", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UIM_BATCH_READ_UIM_LINEAR_OR_CYCLIC": {
+        "apiType": "index", 
+        "format": "UIM batch read: linear or cyclic", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_THREE_DIGIT_MNC": {
+        "apiType": "index", 
+        "format": "3 digit MNC", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REFRESH_IMSI_LOCI_IN_FILE_LIST": {
+        "apiType": "index", 
+        "format": "[SAT]EF_IMSI or EF_LOCI found in File List", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_REFRESH_WHEN_SAT_REFRESH_BUSY": {
+        "apiType": "index", 
+        "format": "[SAT]SIM Refresh but refresh busy", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_REFRESH_WHEN_CALL_CONNECT": {
+        "apiType": "index", 
+        "format": "[SAT]SIM Refresh but call is connected", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_RESET_REFRESH_DURING_CALL": {
+        "apiType": "index", 
+        "format": "[SAT]REFRESH type SIM_RESET executes during call connected", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_REFRESH_WAITING_SMS_ACK": {
+        "apiType": "index", 
+        "format": "[SAT]SIM Refresh but still waiting SMS ACK", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_REFRESH_DURING_ECC": {
+        "apiType": "index", 
+        "format": "[SAT] SIM Refresh but in ECC session", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SIM_REFRESH_POLICY_MEET": {
+        "apiType": "index", 
+        "format": "[SAT]SIM Refresh enforcement poliby meets: %Msat_enforcement_policy_tag_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_METHOD": {
+        "apiType": "index", 
+        "format": "SIM Reset Method: %Msim_reset_method_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_METHOD_RESULT": {
+        "apiType": "index", 
+        "format": "SIM Reset Method Result: USIM Prefer is %Mkal_bool", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_SIM_CARD_DETECTED": {
+        "apiType": "index", 
+        "format": "SIM Card detected, reset card and try to detect USIM/CSIM/ISIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_UICC_CARD_DETECTED": {
+        "apiType": "index", 
+        "format": "UICC Card detected, skip card reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_ENHANCE_MODE_RESET": {
+        "apiType": "index", 
+        "format": "CDMA Detection Enhance Mode: Driver Reset", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_ENHANCE_MODE_POWEROFF": {
+        "apiType": "index", 
+        "format": "CDMA Detection Enhance Mode: Driver Power OFF", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_RESET_USIM_IGNORE_UIM": {
+        "apiType": "index", 
+        "format": "CDMA Detection: For USIM+UIM, ignore UIM", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_TRACE": {
+        "apiType": "index", 
+        "format": "[SAT]%s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FETCH_DBG_TRACE_CC_STATE": {
+        "apiType": "index", 
+        "format": "[SAT]call_ctrl_state: %Msat_call_ctrl_by_sim_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_ENVELOPE_BUSY": {
+        "apiType": "index", 
+        "format": "[SAT]envelope with SIM BUSY respond, retry this envelope after next 0x9000", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PROCOMM_TYPE": {
+        "apiType": "index", 
+        "format": "[SAT]Fetch - %Msat_proactive_cmd_enum (%u)", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PROCOMM_TYPE_CHANGE": {
+        "apiType": "index", 
+        "format": "[SAT]CMD changed: %Msat_proactive_cmd_enum -> %Msat_proactive_cmd_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_BIT_NOT_SUPPORTED": {
+        "apiType": "index", 
+        "format": "[SAT] bit position - %Msat_proactive_cmd_bit_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_ENV_BIT_NOT_SUPPORTED": {
+        "apiType": "index", 
+        "format": "[SAT]envelope bit position - %Msat_proactive_cmd_bit_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_YEUNAN_V4_DIFF_TEXT": {
+        "apiType": "index", 
+        "format": "[SAT][YNV4]Different default_text[%d]=%x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_READY_TO_START": {
+        "apiType": "index", 
+        "format": "[SAT]sat_ready_to_start set to KAL_TRUE", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SKIP_FETCH_COMMAND": {
+        "apiType": "index", 
+        "format": "[SAT]Skip STK fetch process, current state: %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PREFETCH_COMMAND": {
+        "apiType": "index", 
+        "format": "[SAT]prefetch proactive command: %Msat_proactive_cmd_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PREFETCH_FAIL": {
+        "apiType": "index", 
+        "format": "[SAT]prefetch proactive command fail!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DONT_SEND_LS_AND_AT_EVENT": {
+        "apiType": "index", 
+        "format": "[SAT]Skip to send additional LS and AT event", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_ALREADY_RECEIVE_LOCATION_INFO_IND": {
+        "apiType": "index", 
+        "format": "[SAT]Already receive LOCATION_INFO, additionally send LS and AT event", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_FORCE_CARD_TYPE_UTILITY": {
+        "apiType": "index", 
+        "format": "Force Card Type: %Msim_force_card_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_ENVELOPE_TYPE": {
+        "apiType": "index", 
+        "format": "[SAT]ENVELOPE: %Msat_tag_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_OP01_TYPE": {
+        "apiType": "index", 
+        "format": "PS1 Op01 type:%Msim_op01_enum,PS2 op01 type:%Msim_op01_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_LOCATION_STATUS": {
+        "apiType": "index", 
+        "format": "[SAT]STATUS: %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_3GPP_LOCATION_INFO_2": {
+        "apiType": "index", 
+        "format": "[SAT]3GPP MCC/MNC: %d %02d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_3GPP_LOCATION_INFO_3": {
+        "apiType": "index", 
+        "format": "[SAT]3GPP MCC/MNC: %d %03d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_3GPP2_LOCATION_INFO": {
+        "apiType": "index", 
+        "format": "[SAT]3GPP2 MCC/MNC: %d %02d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DBG_EVENT_LIST": {
+        "apiType": "index", 
+        "format": "[SAT]EVENT: %Msat_event_download_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_FUNCTION_SUPPORTED_IN_ATR": {
+        "apiType": "index", 
+        "format": "eUICC-related fuctions supported", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_FUNCTION_NOT_SUPPORT_IN_ATR": {
+        "apiType": "index", 
+        "format": "eUICC-related fuctions not support", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_CMD_RULE": {
+        "apiType": "index", 
+        "format": "[SAT]Command rule: %Msat_cmd_dispatch_rule_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_FILE_POINTER_INFO": {
+        "apiType": "index", 
+        "format": "[FILE_PTR][ch%d]file_idx:%Msim_file_index_enum df_idx:%Msim_file_index_enum df_id:%04X path:%02X-%02X-%02X-%02X-%02X-%02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_DUPLICATE": {
+        "apiType": "index", 
+        "format": "Same path found, select last fid: %02x %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_CURR_PATH": {
+        "apiType": "index", 
+        "format": "[SIM_SELECT]CURR PATH: %02x %02x %02x %02x %02x %02x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SELECT_DEST_PATH": {
+        "apiType": "index", 
+        "format": "[SIM_SELECT]DEST PATH: %02x %02x %02x %02x %02x %02x File Index = %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SST_OVERWRITE_WITH_CST": {
+        "apiType": "index", 
+        "format": "SST overwrite - SST: %02x %02x %02x %02x %02x CST: %02x %02x %02x %02x %02x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_SEARCH_RECORD": {
+        "apiType": "index", 
+        "format": "SEARCH RECORD => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_REHABILITATE": {
+        "apiType": "index", 
+        "format": "REHABILITATE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_INVALIDATE": {
+        "apiType": "index", 
+        "format": "INVALIDATE => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_R4_SIM": {
+        "apiType": "index", 
+        "format": "R4 SIM Card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REFRESH_WAIT_FOR_REISSUE": {
+        "apiType": "index", 
+        "format": "[SAT]REFRESH command stored, wait for Reissue", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REISSUE_CONDITION_LACK": {
+        "apiType": "index", 
+        "format": "[SAT]Reissue Condition unsatisfied, current status: %Msat_sms_pp_ack_status_enum, %Msat_call_status_enum, %Msat_mm_connect_status_enum, %Msat_emm_connect_status_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REISSUE_CONDITION_LACK_2": {
+        "apiType": "index", 
+        "format": "[SAT]Reissue Condition unsatisfied, current status: ECC %Mkal_bool", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REISSUE_REFRESH": {
+        "apiType": "index", 
+        "format": "[SAT]Reissue REFRESH command - %Msat_refresh_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REISSUE_DONE": {
+        "apiType": "index", 
+        "format": "[SAT]Reissue Done", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REISSUE_DROP": {
+        "apiType": "index", 
+        "format": "[SAT]Reissue Dropped", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_ADDITIONAL_HOLD_FILE_CHANGE_IND": {
+        "apiType": "index", 
+        "format": "[SAT]Additionally hold file_change_ind for further use", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FREE_ADDITIONAL_FILE_CHANGE_IND": {
+        "apiType": "index", 
+        "format": "[SAT]REFRESH done. Free the additional file_change_ind", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FILE_CHANGE_RES_WITH_ERROR": {
+        "apiType": "index", 
+        "format": "[SAT]Error found in file_change_res, error cause: %Msat_file_change_error_cause_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FILE_CHANGE_READY_STATUS": {
+        "apiType": "index", 
+        "format": "[SAT]REFRESH  MD3 ready status: %d, Modules ready status: %x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ADM_ALLOC_SUCCESS": {
+        "apiType": "index", 
+        "format": "[ADM]slot_%d %Msim_cache_file_idx_enum %Msim_cache_part_enum alloc %d bytes success. Remain %d bytes.", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ADM_ALLOC_1ST_REC": {
+        "apiType": "index", 
+        "format": "[ADM]slot_%d %Msim_cache_file_idx_enum 1st time alloc rec.", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ADM_FREE_SUCCESS": {
+        "apiType": "index", 
+        "format": "[ADM]slot_%d %Msim_cache_file_idx_enum free success.", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_ADM_FREE_SKIP": {
+        "apiType": "index", 
+        "format": "[ADM]slot_%d %Msim_cache_file_idx_enum skip free.", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_READ_FILE_CACHE_CHECK": {
+        "apiType": "index", 
+        "format": "[SIM_CACHE]%Mmodule_type (PS%d): cache_file_idx=%Msim_cache_file_idx_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SEND_END_SESSION_CMD_TYPE": {
+        "apiType": "index", 
+        "format": "[SAT]Command type matched, send STKPCI:2 later if need", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_DONT_SEND_END_SESSION": {
+        "apiType": "index", 
+        "format": "[SAT]Don't send STKPCI:2 for this command later", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_OP20_PENDING_SESSION_STATE": {
+        "apiType": "index", 
+        "format": "[SAT] Sprint pending REFRESH session state: %Msat_op20_session_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PENDING_REFRESH_START": {
+        "apiType": "index", 
+        "format": "[SAT] Start to pend REFRESH", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_PENDING_REFRESH_END": {
+        "apiType": "index", 
+        "format": "[SAT] Start to perform REFRESH normally", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REFRESH_PENDED": {
+        "apiType": "index", 
+        "format": "[SAT] REFRESH received under blocking condition. Command pended!", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REFRESH_POLICY_ENFORCEMENT": {
+        "apiType": "index", 
+        "format": "[SAT]REFRESH policy enforcement: %x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_REJECT_HOTSWAP_POLL_TIMER": {
+        "apiType": "index", 
+        "format": "sim switch ongoing return out", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_DUPLEX_STATE": {
+        "apiType": "index", 
+        "format": "[Duplex]state:%Msim_duplex_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_LONG_RSP_LEN": {
+        "apiType": "index", 
+        "format": "The long response from card: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SKIP_ISIM_OPEN_CHANNEL_AND_INIT": {
+        "apiType": "index", 
+        "format": "Skip ISIM detection for CDMA detection already checked not exist.", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_APVSIM_WRONG_LEN": {
+        "apiType": "index", 
+        "format": "SIM_CMD: Wrong Len! is req: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_APVSIM_PLUG_OUT_APDU_SESSION": {
+        "apiType": "index", 
+        "format": "SIM Hot Plug Out during APDU REQ and RSP", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_APVSIM_PLUG_OUT_ATR_REQ": {
+        "apiType": "index", 
+        "format": "SIM Hot Plug Out during ATR REQ", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_PS_DATA_OFF_EXEMPT_STATE": {
+        "apiType": "index", 
+        "format": "%Msim_ps_data_off_exempt_enum: %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SET_CMD_RELEASE_PROCOMM_CONTEXT": {
+        "apiType": "index", 
+        "format": "[SAT]Release proactive command context cause: %Msat_clear_procomm_reason_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SET_CMD_INVALID_RESET": {
+        "apiType": "index", 
+        "format": "[SAT]Reset happens, set proactive command invalid", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SET_CMD_INVALID_PLUG_OUT": {
+        "apiType": "index", 
+        "format": "[SAT]SIM plug-out, set proactive command invalid", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_SET_CMD_INVALID_ERROR": {
+        "apiType": "index", 
+        "format": "[SAT]Error happens, set proactive command invalid", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_MSG_CONTEXT": {
+        "apiType": "index", 
+        "format": "[SAT](%Mmodule_type -> %Mmodule_type) %Mmsg_type: local=0x%x, peer=0x%x", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_CT_BIP_SESSION_STATUS": {
+        "apiType": "index", 
+        "format": "[SAT]CT BIP Session %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_3GPP_LS_DROP": {
+        "apiType": "index", 
+        "format": "[SAT]MD1 Location Status dropped, wait for re-sending", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_RESEND_3GPP_LS": {
+        "apiType": "index", 
+        "format": "[SAT]Additionally send MD1 Location Status", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_3GPP2_LS_DROP": {
+        "apiType": "index", 
+        "format": "[SAT]MD3 Location Status dropped, memorize the envelope for re-send", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_RESEND_3GPP2_LS": {
+        "apiType": "index", 
+        "format": "[SAT]Memorized MD3 Location Status sent", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_3GPP_LS_DROP_FOR_SEARCHING": {
+        "apiType": "index", 
+        "format": "[SAT] NW still searching, MD1 Location Status dropped", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_REFRESH_FAIL_COUNT": {
+        "apiType": "index", 
+        "format": "[SAT] REFRESH Fail count: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_FORCE_UICC_REFRESH": {
+        "apiType": "index", 
+        "format": "[SAT] Trigger Fake UICC RESET REFRESH to reset card", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_RESET_VOLT": {
+        "apiType": "index", 
+        "format": "Sim Reset Voltage: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_PLUG_OUT_WITH_DUAL_MODE_SIM": {
+        "apiType": "index", 
+        "format": "[SIM] Dual Mode SIM plug-out, keep the card type context: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_TRAY_PLUG_OUT_CHECKING": {
+        "apiType": "index", 
+        "format": "[SIM] Detected Plug Out when [%Msim_card_status_enum], trigger SIM Tray plug-out process", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_DETECTION_TRACE": {
+        "apiType": "index", 
+        "format": "[SIM][CDMA DETECTION] %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_RESET_TRACE": {
+        "apiType": "index", 
+        "format": "[SIM][RESET] %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UT_DBG_STR": {
+        "apiType": "index", 
+        "format": "[SIM_UT] %s", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UT_MONITOR_PREFIX_LEN": {
+        "apiType": "index", 
+        "format": "[Prefix_%d] Length:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_UT_MONITOR_PREFIX": {
+        "apiType": "index", 
+        "format": "[Prefix_%d] %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_NO_FCP_BUT_9000": {
+        "apiType": "index", 
+        "format": "0x9000: Change result to SIM_CMD_FAIL", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_APP_START_GET_APP": {
+        "apiType": "index", 
+        "format": "UICC contain this APP: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SEARCH_PHB_FILE_HIT": {
+        "apiType": "index", 
+        "format": "entering search record for PHB files", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_SEARCH_CURR_PHB_DF": {
+        "apiType": "index", 
+        "format": "directory file levels are same", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "INFO_SIM_DEACTIVATED_UICC": {
+        "apiType": "index", 
+        "format": "[SIM]is_deactivated_uicc", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DISABLE_SKIP_TIMER": {
+        "apiType": "index", 
+        "format": "SIM is disabled, skip timer start", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DISABLE_ENABLE_SWITCH": {
+        "apiType": "index", 
+        "format": "SIM Disable state from %d to %d, new condition: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DISABLE_NV_SLOT_WRITE": {
+        "apiType": "index", 
+        "format": "SIM Disable write slot bitmask 0x%x", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_OP_CHECK": {
+        "apiType": "index", 
+        "format": "[SIM][OP Check] Check Operator Card(PS%d): %Msim_operator_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_OP_QUERY": {
+        "apiType": "index", 
+        "format": "[SIM][OP Query] Query Operator Card(PS%d): %Msim_operator_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SAT_LOCI_UPDATE_IN_SAT_SESSION": {
+        "apiType": "index", 
+        "format": "[SAT] LOCI Update in SAT Session, update again later", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_UPDATE_LOCI_AGAIN": {
+        "apiType": "index", 
+        "format": "[SAT] Update LOCI again", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_CACHE_FILE_NOT_CACHED": {
+        "apiType": "index", 
+        "format": "%Msim_file_index_enum not part of cache table", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CACHE_FILE_NOT_UPDATED": {
+        "apiType": "index", 
+        "format": "%Msim_file_index_enum cache not updated", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_EXTENDED_LENGTH_SUPPORT": {
+        "apiType": "index", 
+        "format": "[SIM] SupportExtendedLength: %Mkal_bool", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_IGNORE": {
+        "apiType": "index", 
+        "format": "Ignore sim_hot_swap_set", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_HOT_SWAP_POLL_TIMER_HDLR_EXCEPTION": {
+        "apiType": "index", 
+        "format": "SIM hot swap poll timer not start, SIM_PollOff&!InCall", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DISABLE_POLLING": {
+        "apiType": "index", 
+        "format": "SIM poll timer not satrt in idle state, %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_PLUGOUT_CALLBACK_DSS": {
+        "apiType": "index", 
+        "format": "[DSS PLUG-OUT] hit the %Msim_dss_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_PLUGIN_CALLBACK_DSS": {
+        "apiType": "index", 
+        "format": "[DSS PLUG-IN] hit %Msim_dss_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_QUEUE_PLUG_IN_UNTIL_START_CNF": {
+        "apiType": "index", 
+        "format": "Reissue SIM Plug In after start cnf", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_RECOVERY_CHK_INIT_STATE": {
+        "apiType": "index", 
+        "format": "[SIM] Card is initialised", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_R15_SERVICE_TABLE": {
+        "apiType": "index", 
+        "format": "[SIM] 5G service table enabled", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_ID_PRIVACY_ENABLE": {
+        "apiType": "index", 
+        "format": "[SIM] Subscribe identity privacy enable", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_PROFILE_READ": {
+        "apiType": "index", 
+        "format": "[SAT]sim profile read from NVRAM", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_CSIM_PROFILE_READ": {
+        "apiType": "index", 
+        "format": "[SAT]csim profile read from NVRAM", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_USE_NV_PROFILE_DATA": {
+        "apiType": "index", 
+        "format": "[SAT]use profile from NVRAM?: %Mkal_bool", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_PROFILE_DL_LEN": {
+        "apiType": "index", 
+        "format": "[SAT]profile length: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_CGLA_6263_GETRESPONSE_FLAG": {
+        "apiType": "index", 
+        "format": "is_6263_flagon=%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_EM_SIM_ERROR_TIMER_RUNNING": {
+        "apiType": "index", 
+        "format": "[SIM]SIM error timer already running", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_EM_SIM_FLUSH_DHL_LOG": {
+        "apiType": "index", 
+        "format": "[SIM][EM] Flush LOG!!!", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_SET_HPPLMNWACT_3G_ONLY": {
+        "apiType": "index", 
+        "format": "[SIM] No E-UTRAN bit in EF_HPLMNwAcT", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_CLOSING_CHANNEL_INFO": {
+        "apiType": "index", 
+        "format": "[SIM]Closing channel: %d, open_ch_client_list: 0x%x", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_INFO_POWER_CLASS": {
+        "apiType": "index", 
+        "format": "[SIM] SIM info has power class: %Mkal_bool", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_ADDITIONALLY_SEND_STATUS": {
+        "apiType": "index", 
+        "format": "[SAT] Additionally send STATUS command", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_CURR_SELECT_FILE_BEFORE_SMSPP": {
+        "apiType": "index", 
+        "format": "Current select file before SMS-PP: %Msim_file_index_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_DISABLE_LAUNCH_BROWSER": {
+        "apiType": "index", 
+        "format": "[SAT] disable Launch browser for test sim", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_COMPRION_ICCID_MATCH": {
+        "apiType": "index", 
+        "format": "comprion test iccid match ", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_TEST_ICCID_NOT_MATCH": {
+        "apiType": "index", 
+        "format": "doesnt match with test iccid", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_USIM_PACK_NULL_IMSI_SUCI": {
+        "apiType": "index", 
+        "format": "[SIM] pack IMSI to SUCI with null scheme, scheme out len %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SUCI_CAL_INFO_SCHEME_ID": {
+        "apiType": "index", 
+        "format": "[SIM] S id:%d, K idx: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SUCI_CAL_INFO_KEY": {
+        "apiType": "index", 
+        "format": "[SIM] K_check idx: %d, pki: %d k len: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_START_PLUG_OUT_DETECTION_TIMER": {
+        "apiType": "index", 
+        "format": "[SIM] Start plug out detection timer: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_PLUG_OUT_DETECTION_TIMER_EXPIRED": {
+        "apiType": "index", 
+        "format": "[SIM] plug out detection timer expired!!", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_STOP_PLUG_OUT_DETECTION_TIMER": {
+        "apiType": "index", 
+        "format": "[SIM] Stop plug out detection timer", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DUMP_PLUG_OUT_DETECTION_CONTEXT": {
+        "apiType": "index", 
+        "format": "[SIM%d] plug out detection:%d count:%d card detect: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+	{
+      "INFO_SIM_TERM_PROFILE_SKIPPED": {
+        "apiType": "index", 
+        "format": "[SIM] terminal profile skipped retry: %d times", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_TERM_PROFILE_NO_RESP": {
+        "apiType": "index", 
+        "format": "[SIM] terminal profile no response count: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_GET_PHONE_STATE_FINISHED_IND": {
+        "apiType": "index", 
+        "format": "[SIM] Phone State Change RF-OFF cause: %Mrfoff_cause_enum, RF state: %d SIM state: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_FLIGHT_MODE_SKIP_TIMER": {
+        "apiType": "index", 
+        "format": "[SIM] Skip poll timer start due to flight mode!!", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_LOST_BEFORE_HOT_SWAP_POLL_TIMER": {
+        "apiType": "index", 
+        "format": "[SIM] sim lost before hotswap poll timer start, set it plug out directly.", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DISABLE_SIM_RECOVERY_TIMER_AFTER_PLUG_OUT": {
+        "apiType": "index", 
+        "format": "[SIM] Not start sim recovery timer after plug out ", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_START_INACTIVE_DETECTION": {
+        "apiType": "index", 
+        "format": "[SIM] start inactive protocol card detection! PS id: %d, slot id: %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_START_INACTIVE_DETECTION_END": {
+        "apiType": "index", 
+        "format": "[SIM] inactive protocol card detection end! %dth round, sw = %x", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_EUICC_CMD_INFO": {
+        "apiType": "index", 
+        "format": "<<%Msim_euicc_tag_enum>> Command: %02X %02X %02X %02X %02X ...", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_EUICC_PROFILE_OPERATION_RESULT": {
+        "apiType": "index", 
+        "format": "<<%Msim_euicc_tag_enum>> Result %Msim_euicc_profile_operation_result_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SPRINT_APDU_CMD_INFO": {
+        "apiType": "index", 
+        "format": "[SPRINT] << %Msim_sprint_cmd_ins_enum >> ", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SPRINT_PROFILE_UPDATE_STATUS_INFO": {
+        "apiType": "index", 
+        "format": "[SPRINT] << Profile Update >> Status: %Msim_sprint_profile_update_status_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_AL_GET_RESPONSE": {
+        "apiType": "index", 
+        "format": "GET RESPONSE  rsp length: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_AL_RETRIEVE_DATA": {
+        "apiType": "index", 
+        "format": "RETRIEVE DATA  response length: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_AL_SET_DATA": {
+        "apiType": "index", 
+        "format": "SET DATA  cmd length: %hd => %02X %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "WARNING_SMS_DL_REQ_ADDR_SIZE_FALSE": {
+        "apiType": "index", 
+        "format": "[SAT]SMS_DL size_of_addr exceed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_RES_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of RES exceed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_CK_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of CK is not 16", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_IK_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of IK is not 16", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_KC_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of Kc is not 8", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_AUTS_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of AUTS exceed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_AUTHENTICATION_TAG_UNKNOWN": {
+        "apiType": "index", 
+        "format": "authentication response tag unknown", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SRES_LENGTH_FALSE": {
+        "apiType": "index", 
+        "format": "length of SRES exceed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_INFO_SIZE": {
+        "apiType": "index", 
+        "format": "Proprietary Info longer than 17", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_PLMN_FILE_SIZE": {
+        "apiType": "index", 
+        "format": "PLMN file size is larger than 500", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UST_FILE_SIZE": {
+        "apiType": "index", 
+        "format": "USIM UST file size (%d) is larger than 256", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_EST_FILE_SIZE": {
+        "apiType": "index", 
+        "format": "USIM EST file size (%d) is larger than 256", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UICC_DETECTION_RULE": {
+        "apiType": "index", 
+        "format": "UICC detection rule warning", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_SIZE": {
+        "apiType": "index", 
+        "format": "FCP size is larger than 127,fcp[1]=%x,fcp[2]=%x", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UNKNOWN_FILE_STRUCT": {
+        "apiType": "index", 
+        "format": "Unknown EF file structure,type of structure=%x", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_WRONG_FILE_STRUCT": {
+        "apiType": "index", 
+        "format": "Wrong EF file structure,type of structure=%x", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_CARD_REMOVED": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: SIM_CARD_REMOVED", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_FCP_FILE_DESCRIPTOR_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP FILE DESCRIPTOR ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_FILE_ID_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP FILE ID ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_DF_NAME_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP DF NAME LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_UICC_CHAR_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PROP UICC CHAR LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_APP_PWR_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PROP APP PWR LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_MIN_APP_CLK_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PROP MIN APP CLK LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_AVAIL_MEM_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PROP AVAILABLE MEMORY LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PROP_SUPPORTED_SYS_CMD_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PROP SUPPORTED SYS CMD LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_LIFE_CYCLE_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP LIFE CYCLE LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PIN_NUMBER_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PIN STATUS TEMPLATE DO NUMBER ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PIN_DO_TAG_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PIN DO TAG ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_TOTAL_FILE_SIZE_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP TOTAL FILE SIZE LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_FILE_SIZE_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP FILE SIZE LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_SFI_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP SFI LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_TEMP_TAG_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP TEMPLATE TAG ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_SUB_TAG_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP SUB TAG ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_USIM_ICCID_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_ERROR: USIM ICCID LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_USIM_AID_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_ERROR: USIM AID LENGTH ERROR!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_FCP_PIN_PS_DO_NOT_PRESENT": {
+        "apiType": "index", 
+        "format": "USIM_FCP_ERROR: FCP PS_DO DOES NOT PRESENT FIRST!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_INFO_NUM_RECORD_SIZE": {
+        "apiType": "index", 
+        "format": "SIM EF_InfoNum: record size not in 1 to 64", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UNEXPECTED_STKTR": {
+        "apiType": "index", 
+        "format": "Unexpected AT+STKTR,is_wait_for_rsp = %d", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_CHANNEL_OPERATION": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: CHANNEL OPERATION NOT ALLOWED FOR SIM!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_APDU_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "TOO SHORT APDU LENGTH!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_APDU_INPUT_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "CMD DATA LENGTH NOT CONSIST WITH P3!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_APPLICATION_OPERATION_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_ERROR: APP OPERATION NOT ALLOWED ON BASIC CNANNEL!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_INCREASE_OPERATION_ERROR": {
+        "apiType": "index", 
+        "format": "INCREASE OPERATION NOT ALLOWED NOW!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_CHV_OPERATION_ERROR": {
+        "apiType": "index", 
+        "format": "CHV OPERATION NOT ALLOWED NOW!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_USIM_CHANNEL_OPERATION_ERROR": {
+        "apiType": "index", 
+        "format": "USIM_CHANNEL_ERROR: CHANNEL No OUT OF RANGE! ch id:%d %s", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UIM_CAT_MSG_NOT_ALLOW": {
+        "apiType": "index", 
+        "format": "[SAT]uim_sim_send_ilm() MSG NOT ALLOWED!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UIM_CAT_UNEXPECTED_TR": {
+        "apiType": "index", 
+        "format": "[SAT]uim_sat_terminal_rsp_handler() - unexpected %Msat_proactive_cmd_enum", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_UIM_CAT_UNEXPECTED_ENVELOPE": {
+        "apiType": "index", 
+        "format": "[SAT]uim_sat_envelope_handler() - unexpected %Msat_tag_enum", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_USIM_UFC_LEN_TOO_LONG": {
+        "apiType": "index", 
+        "format": "USIM UFC FILE SIZE TOO LONG!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_TIMER_IS_STILL_RUNNING": {
+        "apiType": "index", 
+        "format": "SIM poll timer is still running, skip the timer start request", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_USIM_AID_FAILED": {
+        "apiType": "index", 
+        "format": "Select USIM AID failed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_ISIM_AID_FAILED": {
+        "apiType": "index", 
+        "format": "Select ISIM AID failed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_CSIM_AID_FAILED": {
+        "apiType": "index", 
+        "format": "Select CSIM AID failed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_ISIM_FULL_RECOVERY_FAILED": {
+        "apiType": "index", 
+        "format": "ISIM Full Recovery fail!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_NULL_AID": {
+        "apiType": "index", 
+        "format": "NULL AID!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_CDMA_RESET_NO_SIM": {
+        "apiType": "index", 
+        "format": "SIM_Reset_NoSIM in CDMA Detection %MDCL_SIM_STATUS", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_CDMA_CARD_LOST": {
+        "apiType": "index", 
+        "format": "Card lost in CDMA Detection", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_DCLSIM_CLOSE": {
+        "apiType": "index", 
+        "format": "sim_al_reset(): DclSIM_Close", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_CCCI_CALLBACK_FAIL": {
+        "apiType": "index", 
+        "format": "SIM Register CCCI CALLBACK Fail!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_CDMA_DETECTION_RESET_ERROR": {
+        "apiType": "index", 
+        "format": "CDMA detection: SIM reset error", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_18V_SIM_RESET_30V_REJECT": {
+        "apiType": "index", 
+        "format": "1.8V tech SIM: SIM reset@3.0V but we're 1.8V only! Reject", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_NO_SUPPORT_18V_SIM_REJECT": {
+        "apiType": "index", 
+        "format": "Not 1.8V supported SIM card! Reject", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_SIM_CARD_ERROR_AND_RECOVERY": {
+        "apiType": "index", 
+        "format": "SIM card error & retry sim by recovery", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_SIM_IN_INSERTED_AND_RECOVERY": {
+        "apiType": "index", 
+        "format": "SIM no inserted & retry sim by recovery", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RESET_SIM_CARD_ERROR": {
+        "apiType": "index", 
+        "format": "SIMcardError", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_RESET_NO_SIM": {
+        "apiType": "index", 
+        "format": "SIM Reset done, No SIM detect", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_CARD_CHANGED": {
+        "apiType": "index", 
+        "format": "SIM_fast_recovery detects card changed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_GET_PIN_STATUS_FAILED": {
+        "apiType": "index", 
+        "format": "get PIN status Fail!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_PIN_IS_VERIFIED_BUT_FAIL": {
+        "apiType": "index", 
+        "format": "PIN is verified but Fail!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_NO_VERIFIED_PIN_FOR_RECOVERY": {
+        "apiType": "index", 
+        "format": "No verified PIN for USIM Recovery", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_ISIM_CHANNEL_IS_CHANGED": {
+        "apiType": "index", 
+        "format": "ISIM channel different", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_HOT_SWAP_DETECT_CARD_CHANGED": {
+        "apiType": "index", 
+        "format": "SIM_sw_hot_swap detect card changed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_DETECT_CARD_CHANGED": {
+        "apiType": "index", 
+        "format": "[RECOVERY]SIM_recovery detect card changed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_SKIP_ICCID_CHECK": {
+        "apiType": "index", 
+        "format": "[RECOVERY]Skip ICCID check", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SKIP_RECOVERY_BEFORE_START_REQ": {
+        "apiType": "index", 
+        "format": "[RECOVERY] Skip recovery before SIM_START_REQ", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_ERROR_BEFORE_START_CNF": {
+        "apiType": "index", 
+        "format": "SIM_ERROR_IND before SIM_START_CNF, ignore it", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_IMSI_LOCKING_POWER_OFF_SIM": {
+        "apiType": "index", 
+        "format": "IMEI Locking, power off card", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_FAST_RECOVERY_FAIL": {
+        "apiType": "index", 
+        "format": "SIM_Fast_Recovery fail", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_ISIM_FAST_RECOVERY_FAIL": {
+        "apiType": "index", 
+        "format": "ISIM_Fast_Recovery fail", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_FAIL": {
+        "apiType": "index", 
+        "format": "SIM_Recovery fail", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_ISIM_RECOVERY_FAIL": {
+        "apiType": "index", 
+        "format": "ISIM_Recovery fail", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_IMSI_LEN_IS_ZERO": {
+        "apiType": "index", 
+        "format": "IMSI length is 0", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_NOT_SUPPORT_EF_EST": {
+        "apiType": "index", 
+        "format": "EF_EST not supported!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_LONG_MSISDN": {
+        "apiType": "index", 
+        "format": "Long MSISDN, more than 11 bytes", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_READ_EF_ACC_FAIL": {
+        "apiType": "index", 
+        "format": "EF_ACC Read Failed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_EF_ACC_FAIL": {
+        "apiType": "index", 
+        "format": "EF_ACC Select Failed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_APVSIM_ON_BUT_PLUG_OUT": {
+        "apiType": "index", 
+        "format": "APVSIM is ON, driver plug out ignored!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_APVSIM_ON_BUT_PLUG_IN": {
+        "apiType": "index", 
+        "format": "APVSIM is ON, driver plug in ignored!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_NAS_SV_CHANGE_EUTK_NOT_ALLOWED": {
+        "apiType": "index", 
+        "format": "[SAT] NAS_SV try to change EUTK setting when ERAT is not Global Mode, reject it", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_COMMAND_DISPATCH_ERROR": {
+        "apiType": "index", 
+        "format": "[SAT]Command Dispatch ERROR, force handle by STK!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_COMMAND_SESSION_ERROR": {
+        "apiType": "index", 
+        "format": "[SAT]STK session error, terminal response doesn't match the current command", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_TR_CHECK_FAIL_CMD_DETAIL": {
+        "apiType": "index", 
+        "format": "[SAT]curr_cmd_detail[%d]: %02X != tr_cmd_detail[%d]: %02X", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_TR_CHECK_FAIL_CMD_ID": {
+        "apiType": "index", 
+        "format": "[SAT]curr_cmd_id: %u != tr_cmd_id %u", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_UNEXPECT_FLAG_VALUE": {
+        "apiType": "index", 
+        "format": "[SAT]unexpected flag: %s", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_HOLD_RECOVERY_UNTIL_START_CNF": {
+        "apiType": "index", 
+        "format": "Hold recovery trigger until SIM_START_CNF", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_MODEM_IS_TURNING_OFF": {
+        "apiType": "index", 
+        "format": "Modem is turning off, skip SIM recovery.", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_TRIGGER_RECOVERY_AFTER_START_CNF": {
+        "apiType": "index", 
+        "format": "Trigger recovery after SIM_START_CNF", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_DBG_OFFSET_OVERFLOW": {
+        "apiType": "index", 
+        "format": "[SAT][WARNING]Envelope offset overflow, current offset: %d, total data size: %d", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_DBG_TAGLEN_OVERFLOW": {
+        "apiType": "index", 
+        "format": "[SAT][WARNING]Envelope TAG length overflow, TAG length: %d, remain size: %d", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_INIT_FILE_CACHE_FAIL": {
+        "apiType": "index", 
+        "format": "[CACHE]FILE %d cache file failure, INS = %02X, length = %d", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_INIT_FILE_CACHE_STRUCT_FAIL": {
+        "apiType": "index", 
+        "format": "[CACHE]Not support file struct %d", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_DETECT_MF_PATH": {
+        "apiType": "index", 
+        "format": "MF in destination selecting path", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_SELECT_NULL_PATH": {
+        "apiType": "index", 
+        "format": "sim_select() input NULL path!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_POWEROFF_INVALID_HANDLE": {
+        "apiType": "index", 
+        "format": "Intend to poweroff invalid handle", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_POWEROFF_SKIP_APDU": {
+        "apiType": "index", 
+        "format": "[WARNING]Skip APDU due to poweroff incomming", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_INVALID_RECORD": {
+        "apiType": "index", 
+        "format": "Invalid Record!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_READ_LARGE_BINARY_FILE": {
+        "apiType": "index", 
+        "format": "Always read large binary file via SIM IO!!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_TIMER_STILL_RUNNING": {
+        "apiType": "index", 
+        "format": "[WARNING]Unexpected Timer Status: %Msim_timer_status_enum, skip sim_timer_resume()", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_MANDATORY_FILE_READ_ERROR": {
+        "apiType": "index", 
+        "format": "Mandatory File Read Error, %Msim_file_index_enum", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_ADM_ALLOC_FAIL": {
+        "apiType": "index", 
+        "format": "[ADM]slot_%d %Msim_cache_file_idx_enum %Msim_cache_part_enum alloc %d bytes fail. Remain %d bytes.", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_UNKNOWN_REISSUE_SRC": {
+        "apiType": "index", 
+        "format": "[SAT]Unknown reissue REFRESH checking source", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_ENVELOPE_SIZE_EXCEED": {
+        "apiType": "index", 
+        "format": "[SAT]Envelope Size exceeds the max value - %Msat_tag_enum(EVDL: %Msat_event_download_enum)", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RX_WRONG_LEN": {
+        "apiType": "index", 
+        "format": "SIM_CMD:WrongRxSize!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_DSS_CARD_CHANGED": {
+        "apiType": "index", 
+        "format": "[SIM][DSS]Card Changed!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_UNEXPECTED_ILM_BESIDES_AUTHENTICATE": {
+        "apiType": "index", 
+        "format": "[SIM][WARNING] AUTHENTICATE command is expected here", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_FAKE_IMSI": {
+        "apiType": "index", 
+        "format": "[SIM] Fake Identity Enabled!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SAT_ERR_CAUSE_NOT_CLEAR": {
+        "apiType": "index", 
+        "format": "[SAT] Procomm Cause Not Cleared", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_NO_FCP_BUT_9000": {
+        "apiType": "index", 
+        "format": "[SIM]:9000 when select is queried!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_RECOVERY_SELECT_GSM_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM] RecoveryFail: select GSM fail!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_DETECT_APDU_LOST": {
+        "apiType": "index", 
+        "format": "Continue with USIM/SIM detection", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_DSS_REJECT_TIMER_START": {
+        "apiType": "index", 
+        "format": "[DSS]sim_start_timer() return out!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_STOP_HOTSWAP_POLL_TIMER_FAIL": {
+        "apiType": "index", 
+        "format": "sim_stop_timer() but return out!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_EST_NOT_SUPPORT": {
+        "apiType": "index", 
+        "format": "[SIM] EF_EST not supported!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_6F00_IMEI_LOCK": {
+        "apiType": "index", 
+        "format": "[SIM] 6F 00 IMEI locked", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_OP20_SIMLOCK_SHUTDOWN": {
+        "apiType": "index", 
+        "format": "AP SIM Power or OP20 SIM Lock set as down", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_READ_FILE_CACHE_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM_CACHE]%Mmodule_type (PS%d): read file cache fail!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_DISABLE_NOTIFY": {
+        "apiType": "index", 
+        "format": "The SIM is Disabled !", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_ESIMPOWER_ERROR": {
+        "apiType": "index", 
+        "format": "AP SIM Power or OP20 SIM Lock req moode(%d) error!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_DISABLE_NV_ERROR": {
+        "apiType": "index", 
+        "format": "SIM disable get NV error NVLID:%Mnvram_lid_sim_enum !", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_TLV_LEN_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: TLV LENGTH not match!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_CMD_DROP": {
+        "apiType": "index", 
+        "format": "[SAT]Command Dropped", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_CMD_LEN_EXCEED": {
+        "apiType": "index", 
+        "format": "[SAT]Length Exceed", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_PROBLEMATIC_DATA_FROM_SIM": {
+        "apiType": "index", 
+        "format": "[SAT]Problematic data from SIM", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_GENERAL_PROBLEM": {
+        "apiType": "index", 
+        "format": "[SAT]Warning Happens", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_CC_RSP_PTR_NOT_NULL": {
+        "apiType": "index", 
+        "format": "[SAT]Call Ctrl rsp_ptr NotEmpty", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_UNKNOWN_ACCESS_TECH": {
+        "apiType": "index", 
+        "format": "[SAT] Unknown Access Technology", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_CAL_SUCI_KEY_LIST_ERROR": {
+        "apiType": "index", 
+        "format": "[SIM] EF_Cal_SUCI Key list decode error ! ID tag:0x%x, Key Tag:0x%x, index:%d",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_UPDATE_RPM_VERSION_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM] EF_RPM_VERSION Update Fail", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_CAL_SUCI_ME_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM] ME Cal SUCI fail ! error code:%d, out size:%d, buffer size:%d",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_EXTENDED_FORMAT_NOT_SUPPORTED": {
+        "apiType": "index", 
+        "format": "[SIM] Extended Length Format not Supported!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_APDU_CASE_UNKNOWN": {
+        "apiType": "index", 
+        "format": "[SIM] APDU unknown case!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_UNEXPECTED_APDU_TYPE": {
+        "apiType": "index", 
+        "format": "[SIM] unexpected APDU type!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PLUG_CALLBACK_IGNORE_APVSIM": {
+        "apiType": "index", 
+        "format": "real SIM Hot Plug ignore, since apvsim enabled!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PLUG_OUT_CALLBACK_IGNORE_1": {
+        "apiType": "index", 
+        "format": "[SIM] SIM Plug Out but ignore!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PLUG_OUT_CALLBACK_IGNORE_2": {
+        "apiType": "index", 
+        "format": "[SIM] SIM Plug Out but ignore!!!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PLUG_IN_CALLBACK_IGNORE_1": {
+        "apiType": "index", 
+        "format": "SIM Plug In but ignore!!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PLUG_IN_CALLBACK_IGNORE_2": {
+        "apiType": "index", 
+        "format": "SIM Plug In but ignore!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_AP_SIM_PWR_OFF_BEFORE_PLUG_IN": {
+        "apiType": "index", 
+        "format": "[SIM] AP SIM Power or OP20 SIM Lock set as down!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PROFILE_NVRAM_READ_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM]sim terminal profile nvram read fail",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PASS_THROUGH_MODE": {
+        "apiType": "index", 
+        "format": "[SIM WARNING] SIM Enter Pass Through Mode!!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_CSIM_PROFILE_NVRAM_READ_FAIL": {
+        "apiType": "index", 
+        "format": "[SIM]csim terminal profile nvram read fail",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_ABNORMAL_FILE_INDEX": {
+        "apiType": "index", 
+        "format": "[SIM] Abnormal file index %d !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_ABNORMAL_CHANNEL_INDEX": {
+        "apiType": "index", 
+        "format": "[SIM] Abnormal channel index %d !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_UNEXPECTED_FILE_COUNT": {
+        "apiType": "index", 
+        "format": "[SIM][WARNING] File count exceeds the current size",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_RECOVERY_PLUG_IN_ABORT": {
+        "apiType": "index", 
+        "format": "SIM recovery abort due to pending plug in",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_DRIVER_CARD_LOST_ERROR": {
+        "apiType": "index", 
+        "format": "SIM Card lost detected from driver",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_EXT_QUEUE_APPROACH_FULL": {
+        "apiType": "index", 
+        "format": "[SIM WARNING] SIM Ext queue %d !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_IMSI_REPLACED_BY_TEST_IMSI": {
+        "apiType": "index", 
+        "format": "[SIM] IMSI replaced by test IMSI!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_AP_CLOSING_MODEM_CHANNEL": {
+        "apiType": "index", 
+        "format": "[SIM WARNING] The closing channel is used by modem %d !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SAT_CALL_CTRL_RESULT_ERROR": {
+        "apiType": "index", 
+        "format": "[SAT] Call Ctrl Result error, respond length out of bound",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_RESET_DRIVER_RESET": {
+        "apiType": "index", 
+        "format": "SIM reset -  reset vol:%d warm reset: %d !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_CRI_INT_FAIL_RESET": {
+        "apiType": "index", 
+        "format": "USIM Initial critical step fail, reset card !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_PIN1_ENABLE_DISABLE_WARNING_SW": {
+        "apiType": "index", 
+        "format": "Abnormal Status Words when PIN1 Enable/Disable !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_DISCARD_GSM_WITH_CT3G": {
+        "apiType": "index", 
+        "format": "Discard GSM capability due to IMSI fail !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_FILE_ADD_TO_ERROR_LIST": {
+        "apiType": "index", 
+        "format": "file idx %Msim_file_index_enum added to error file list", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_FILE_ERROR_COUNT_ADD": {
+        "apiType": "index", 
+        "format": "file idx %Msim_file_index_enum error count incremented !!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_FILE_DECODE_TLV_ERROR": {
+        "apiType": "index", 
+        "format": "Decode %Msim_file_index_enum fail, expect:%x ,actual:%x!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_SIM_ABNORMAL_CMD_LEN_WHEN_SET_DATA": {
+        "apiType": "index", 
+        "format": "[SIM]SET DATA Err: Incorrect input cmd len %d != %d!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "WARNING_BERTLV_FILE_STRUCT": {
+        "apiType": "index", 
+        "format": "BER-TLV EF file selected 0x%x!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "ERROR_SIM_RESET_ABNORMAL_CMD_RETRY": {
+        "apiType": "index", 
+        "format": "SIM_RESET_ABNORMAL: command retry", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SERVICE_NOT_DEFINED": {
+        "apiType": "index", 
+        "format": "%Msim_service_enum Not Defined!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_INTERFACE_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: interface = %d Not Valid! %s", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SELECT_FAIL_FOR_AUTHENTICATE": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: fail to select file for AUTHENTICATE", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_INCORRECT_C2K_FILE_RECORD_SIZE": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: incorrect c2k file record size", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SAT_PROFILE_DOWNLOAD_FAILED": {
+        "apiType": "index", 
+        "format": "[SAT]Profile Download Fail!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_SELECT_EF_IMSI_FAIL": {
+        "apiType": "index", 
+        "format": "select EF_IMSI Fail!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_READ_EF_IMSI_FAIL": {
+        "apiType": "index", 
+        "format": "read EF_IMSI Fail!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_STATUS_REQ_INVALID_HANDLE": {
+        "apiType": "index", 
+        "format": "sim invalid handle when status req", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_FILE_INFO_REQ_INVALID_HANDLE": {
+        "apiType": "index", 
+        "format": "sim invalid handle when file info req", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_READ_REQ_INVALID_HANDLE": {
+        "apiType": "index", 
+        "format": "sim invalid handle when read req", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_WRITE_REQ_INVALID_HANDLE": {
+        "apiType": "index", 
+        "format": "sim invalid handle when write req", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_STATUS_ERROR": {
+        "apiType": "index", 
+        "format": "STATUS error!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_SET_RAT_MODE_BEFORE_SIM_START": {
+        "apiType": "index", 
+        "format": "Set rat mode before SIM start!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_CONTINOUS_PLUG_IN": {
+        "apiType": "index", 
+        "format": "Continuous plug in detect, ignore!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_FORCE_SELECT_DF_CDMA": {
+        "apiType": "index", 
+        "format": "[SIM][Force DF CDMA] Force Select DF CDMA FAILED!!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_PATH_ASYNC": {
+        "apiType": "index", 
+        "format": "sim context path async.", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_WRONG_INPUT_PARA": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Wrong input para!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    }, 
+    {
+      "ERROR_SIM_WRONG_OUTPUT_LEN": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Wrong output len!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_GET_SUCI_ERROR": {
+        "apiType": "index", 
+        "format": "Get SUCI from SIM fail!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_INVALID_RSP_PARA": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Rsp buffer is Null or resp len is 0", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_AL_SELECT_NULL": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Nothing to Select !!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_UNEXPECTED_SIM_SWITCH_START_REQ": {
+        "apiType": "index", 
+        "format": "[DSS] Unexpected SIM SWITCH START REQ, curr state:%Msim_dss_state_enum!!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_DRIVER_HD_INVALID": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: SIM Driver handle not init  !!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_DDM_READY_IND": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: SIM send DDM ready fail with abnormal app: %d!!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_DRIVER_ERR_STATUS": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: SIM driver Error Status: %d!!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_ABNORMAL_CLASS_BYTE_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Abnormal class byte error received!! error count:%d", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_UNEXPECT_NULL_INPUT": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Unexpected null Input: %s !!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_SELECT_USIM_ADF_FAIL": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: Select USIM ADF Fail !!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "ERROR_SIM_FUNCTION_PARA_ERROR": {
+        "apiType": "index", 
+        "format": "SIM_ERROR: %s() prar1: %d  para2: %d !!", 
+        "traceClass": "TRACE_ERROR"
+      }
+    },
+    {
+      "GROUP3_SIM_START_TIMER": {
+        "apiType": "index", 
+        "format": "sim_poll_timer_start() time out: %d", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_STOP_TIMER": {
+        "apiType": "index", 
+        "format": "sim_stop_timer()", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_START_RECOVERY_TIMER": {
+        "apiType": "index", 
+        "format": "sim_start_recovery_timer()", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP2_SIM_ERROR_HANDLE": {
+        "apiType": "index", 
+        "format": "sim_error_handler()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_APP_ERROR_HANDLE": {
+        "apiType": "index", 
+        "format": "sim_app_error_handler()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_READ_ECC_ELP": {
+        "apiType": "index", 
+        "format": "sim_read_ecc_elp()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_PROFILE_DOWNLOAD": {
+        "apiType": "index", 
+        "format": "sim_profile_download()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_READ_PHASE": {
+        "apiType": "index", 
+        "format": "sim_read_phase()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_GET_DN_TYPE": {
+        "apiType": "index", 
+        "format": "sim_get_dn_type()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_GET_PS_INFO": {
+        "apiType": "index", 
+        "format": "sim_get_ps_info()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_READ_SERVICE_TABLE": {
+        "apiType": "index", 
+        "format": "sim_read_service_table()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "sim_initialization()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_CACHE_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "usim_initialization_cache_read()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_CACHE_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "sim_initialization_cache_read()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_ISIM_CACHE_INITIALIZATION": {
+        "apiType": "index", 
+        "format": "isim_initialization_cache_read()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_GET_CHV_INFO": {
+        "apiType": "index", 
+        "format": "sim_get_chv_info()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_STARTUP_READ": {
+        "apiType": "index", 
+        "format": "sim_startup_read()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_RESET": {
+        "apiType": "index", 
+        "format": "sim_al_reset()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_RESET_ABNORMAL": {
+        "apiType": "index", 
+        "format": "sim_reset_abnormal()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_EXCEPTION_HANDLE": {
+        "apiType": "index", 
+        "format": "sim_exception_handle()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_VERIFY_CHV": {
+        "apiType": "index", 
+        "format": "sim_al_verify_chv()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_UNBLOCK_CHV": {
+        "apiType": "index", 
+        "format": "sim_al_unblock_chv()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_CHANGE_CHV": {
+        "apiType": "index", 
+        "format": "sim_al__change_chv()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_SWITCH_CHV": {
+        "apiType": "index", 
+        "format": "sim_al_switch_chv()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_READ_BINARY": {
+        "apiType": "index", 
+        "format": "sim_al_read_binary()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_UPDATE_BINARY": {
+        "apiType": "index", 
+        "format": "sim_al_update_binary()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_UPDATE_RECORD": {
+        "apiType": "index", 
+        "format": "sim_al_update_record()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_RUN_GSM_ALGO": {
+        "apiType": "index", 
+        "format": "sim_al_run_gsm_algo()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_SEEK": {
+        "apiType": "index", 
+        "format": "sim_al_run_gsm_algo()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_STATUS": {
+        "apiType": "index", 
+        "format": "sim_al_status()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_REHABILITATE": {
+        "apiType": "index", 
+        "format": "sim_al_rehabilitate()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_INVALIDATE": {
+        "apiType": "index", 
+        "format": "sim_al_invalidate()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_INCREASE": {
+        "apiType": "index", 
+        "format": "sim_al_increase()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_POWEROFF": {
+        "apiType": "index", 
+        "format": "sim_al_poweroff()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_READ_RECORD": {
+        "apiType": "index", 
+        "format": "sim_al_read_record()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP2_SIM_AL_FETCH": {
+        "apiType": "index", 
+        "format": "sim_al_fetch()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_TERMINAL_RESPONSE": {
+        "apiType": "index", 
+        "format": "sim_al_terminal_response()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_TERMINAL_PROFILE": {
+        "apiType": "index", 
+        "format": "sim_al_terminal_profile()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_ENVELOPE": {
+        "apiType": "index", 
+        "format": "sim_al_envelope()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_AL_SEARCH_RECORD": {
+        "apiType": "index", 
+        "format": "sim_al_search_record()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_AL_MANAGE_CHANNEL": {
+        "apiType": "index", 
+        "format": "usim_al_manage_channel()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_AL_TERMINAL_CAPABILITY": {
+        "apiType": "index", 
+        "format": "usim_al_terminal_capability()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_CONNECT_REFRESH": {
+        "apiType": "index", 
+        "format": "sim_connect_refresh()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_RESET_ABNORMAL": {
+        "apiType": "index", 
+        "format": "usim_reset_abnormal()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_CSIM_RESET_ABNORMAL": {
+        "apiType": "index", 
+        "format": "csim_reset_abnormal()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_ISIM_RESET_ABNORMAL": {
+        "apiType": "index", 
+        "format": "isim_reset_abnormal()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_EXCEPTION_HANDLE": {
+        "apiType": "index", 
+        "format": "usim_exception_handle()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_CSIM_EXCEPTION_HANDLE": {
+        "apiType": "index", 
+        "format": "csim_exception_handle()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_ISIM_EXCEPTION_HANDLE": {
+        "apiType": "index", 
+        "format": "isim_exception_handle()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SIM_APDU_RESP": {
+        "apiType": "index", 
+        "format": "sim_apdu_resp()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_USIM_APDU_RESP": {
+        "apiType": "index", 
+        "format": "usim_apdu_resp()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_BUILD_TERMINAL_RESPONSE": {
+        "apiType": "index", 
+        "format": "build_terminal_response()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_MT_CALL": {
+        "apiType": "index", 
+        "format": "sat_evdl_mt_call()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_CALL_CONNECT": {
+        "apiType": "index", 
+        "format": "sat_evdl_call_connect()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_CALL_DISCONNECT": {
+        "apiType": "index", 
+        "format": "sat_evdl_call_disconnect()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_LOCATION_STATUS": {
+        "apiType": "index", 
+        "format": "sat_evdl_location_status()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_USER_ACTIVITY": {
+        "apiType": "index", 
+        "format": "sat_evdl_user_activity()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_CARD_READER_STATUS": {
+        "apiType": "index", 
+        "format": "sat_evdl_card_reader_status()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_ACCESS_TECHNOLOGY_CHANGE": {
+        "apiType": "index", 
+        "format": "sat_evdl_access_technology_change()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_PLMN_INFORMATION": {
+        "apiType": "index", 
+        "format": "sat_evdl_plmn_information()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_NW_SEARCH_MODE_CHANGE": {
+        "apiType": "index", 
+        "format": "sat_evdl_nw_search_mode_change()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_NW_REJECT": {
+        "apiType": "index", 
+        "format": "sat_evdl_nw_reject()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_HCI_CONNECTIVITY": {
+        "apiType": "index", 
+        "format": "sat_evdl_hci_connectivity()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_EVDL_IMS_REGISTRATION": {
+        "apiType": "index", 
+        "format": "sat_evdl_ims_registration_ind_handler()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_MSISDN_ENVELOPE": {
+        "apiType": "index", 
+        "format": "sat_msisdn_envelope_handler()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_TIMER_EXPIRATION": {
+        "apiType": "index", 
+        "format": "sat_timer_expiration()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP2_SAT_START_BASE_TIMER": {
+        "apiType": "index", 
+        "format": "sat_start_base_timer()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_STOP_BASE_TIMER": {
+        "apiType": "index", 
+        "format": "sat_stop_base_timer()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_START_TIMER": {
+        "apiType": "index", 
+        "format": "sat_start_timer(%d, %d:%d:%d)", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP2_SAT_STOP_TIMER": {
+        "apiType": "index", 
+        "format": "sat_stop_timer(%d)", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP2_SAT_STOP_TIMERS_FOR_DSS": {
+        "apiType": "index", 
+        "format": "sat_stop_timers_for_dss()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_TIMER_EXPIRY_HDLR": {
+        "apiType": "index", 
+        "format": "sat_timer_expiry_hdlr()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_TEXT_STRING": {
+        "apiType": "index", 
+        "format": "decode_text_string()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ICON_ID": {
+        "apiType": "index", 
+        "format": "decode_icon_id()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ALPHA_ID": {
+        "apiType": "index", 
+        "format": "decode_alpha_id()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ONLY_DATA_BLOCK": {
+        "apiType": "index", 
+        "format": "decode_only_data_block()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ONLY_U8": {
+        "apiType": "index", 
+        "format": "decode_only_u8()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_DURATION": {
+        "apiType": "index", 
+        "format": "decode_duration()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ITEM": {
+        "apiType": "index", 
+        "format": "decode_item()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ITEM_NEXT_ACTION_IND": {
+        "apiType": "index", 
+        "format": "decode_item_next_action_ind()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_ITEM_ICON_ID_LIST": {
+        "apiType": "index", 
+        "format": "decode_item_icon_id_list", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_DECODE_FILE_LIST": {
+        "apiType": "index", 
+        "format": "decode_file_list()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_ENCODE_TEXT_STRING": {
+        "apiType": "index", 
+        "format": "encode_text_string()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_START_PEND_TIMER": {
+        "apiType": "index", 
+        "format": "sat_start_pending_refresh_timer()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_STOP_PEND_TIMER": {
+        "apiType": "index", 
+        "format": "sat_stop_pending_refresh_timer()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    }, 
+    {
+      "GROUP2_SAT_PEND_TIMER_EXPIRATION": {
+        "apiType": "index", 
+        "format": "sat_pending_refresh_timer_expiration()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP2_SIM_START_EM_SIM_ERROR_TIMER": {
+        "apiType": "index", 
+        "format": "sim_em_start_sim_error_timer() time out: %d", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP2_SIM_STOP_EM_SIM_ERROR_TIMER": {
+        "apiType": "index", 
+        "format": "sim_em_stop_sim_error_timer()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP2_SIM_EM_SIM_ERROR_TIMER_EXPIRATION": {
+        "apiType": "index", 
+        "format": "sim_em_sim_error_timer_expiration()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "GROUP3_SIM_CMD_TX": {
+        "apiType": "index", 
+        "format": "%Msim_instruction_code_enum:len=%hd", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_CMD_RX": {
+        "apiType": "index", 
+        "format": "APDU_rx:len=%hd", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_CMD_APDU_TX": {
+        "apiType": "index", 
+        "format": "APDU_tx %hd:%s", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_CMD_APDU_RX": {
+        "apiType": "index", 
+        "format": "APDU_rx %hd:%s", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_NVRAM_FILE_INFO": {
+        "apiType": "index", 
+        "format": "%Mnvram_lid_vsim_enum[%d]:len=%hd", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_NVRAM_RDATA": {
+        "apiType": "index", 
+        "format": "NV_RDATA %hd:%s", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_NVRAM_WDATA": {
+        "apiType": "index", 
+        "format": "NV_WDATA %hd:%s", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_CMD_APDU_HEADER": {
+        "apiType": "index", 
+        "format": "Interface: %d APDU_Header: %02X %02X %02X %02X %02X", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP3_SIM_ADM_FILE_INFO": {
+        "apiType": "index", 
+        "format": "%Msim_cache_file_idx_enum[%d]:len=%hd", 
+        "traceClass": "TRACE_GROUP_3"
+      }
+    }, 
+    {
+      "GROUP4_SIM_ADM_RDATA": {
+        "apiType": "index", 
+        "format": "ADM_RDATA %hd:%s", 
+        "traceClass": "TRACE_GROUP_4"
+      }
+    }, 
+    {
+      "GROUP4_SIM_ADM_WDATA": {
+        "apiType": "index", 
+        "format": "ADM_WDATA %hd:%s", 
+        "traceClass": "TRACE_GROUP_4"
+      }
+    }, 
+    {
+      "GROUP4_MILENAGE_INFO": {
+        "apiType": "index", 
+        "format": "%s : length: %d", 
+        "traceClass": "TRACE_GROUP_4"
+      }
+    }, 
+    {
+      "GROUP4_MILENAGE_INFO_VALUE": {
+        "apiType": "index", 
+        "format": " %d: %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X %02X", 
+        "traceClass": "TRACE_GROUP_4"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_START_SEND_STATUS": {
+        "apiType": "index", 
+        "format": "[SAT]Start Sending STATUS command for SAT commands", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_STATE_CHANGE": {
+        "apiType": "index", 
+        "format": "[SAT]Simulator State Change: %Msat_simulator_state_enum -> %Msat_simulator_state_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_DEVICE_ID": {
+        "apiType": "index", 
+        "format": "[SAT]DEVICE_ID: %Msat_simulator_device_id_enum -> %Msat_simulator_device_id_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_ITEM_ID": {
+        "apiType": "index", 
+        "format": "[SAT]ITEM_ID: %02X", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_ACCESS_TECH_CHANGE": {
+        "apiType": "index", 
+        "format": "[SAT]RAT: %Msat_rat_status_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "SAT_SIMULATOR_TLV_LENGTH_TOO_LONG": {
+        "apiType": "index", 
+        "format": "[SAT]Data object or Proactive command too long, ignore this command", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "FUNC_SIM_EUICC_DETECTION": {
+        "apiType": "index", 
+        "format": "[SIM] sim_euicc_detection()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    }, 
+    {
+      "INFO_SIM_TERMINAL_CAPABILITY_ADD_EUICC_TAG": {
+        "apiType": "index", 
+        "format": "[SIM] Add eUICC capabilities tag in the Terminal Capability", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_DETECT_WITH_ISDR": {
+        "apiType": "index", 
+        "format": "[EUICC] with ISD-R", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_DETECT_WITHOUT_ISDR": {
+        "apiType": "index", 
+        "format": "[EUICC] without ISD-R", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_DETECT_WITH_EID": {
+        "apiType": "index", 
+        "format": "[EUICC] with EID", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_DETECT_PARSE_EID_SUCCESS": {
+        "apiType": "index", 
+        "format": "[EUICC] Parse EID success", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_CDMA_EMPTY_EUICC": {
+        "apiType": "index", 
+        "format": "[SIM] Empty eUICC skip remaining flow in CDMA Detection %MDCL_SIM_STATUS", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "INFO_SIM_EUICC_TERMINAL_CAPABILITY_ALREADY_SENT": {
+        "apiType": "index", 
+        "format": "[SIM] eUICC Terminal Capability already sent", 
+        "traceClass": "TRACE_INFO"
+      }
+    }, 
+    {
+      "WARNING_SIM_EUICC_RESET_NO_SIM": {
+        "apiType": "index", 
+        "format": "SIM_Reset_NoSIM in eUICC Detection %MDCL_SIM_STATUS", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_EUICC_DETECT_WITHOUT_EID": {
+        "apiType": "index", 
+        "format": "[EUICC] without EID!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_EUICC_DETECT_PARSE_EID_FAIL": {
+        "apiType": "index", 
+        "format": "[EUICC] Parse EID fail!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+    {
+      "WARNING_SIM_USER_SENSITIVE_APDU": {
+        "apiType": "index", 
+        "format": "[SIM] User sensitive APDU!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    }, 
+
+    {
+      "INFO_SIM_RETRY_COMMAND_FOR_FILE": {
+        "apiType": "index",
+        "format": "sim_retry_command_for_file() files_count %d, ins:%d, file_index:%Msim_file_index_enum (sw1 sw2):(%x %x), result:%d",
+        "traceClass": "TRACE_INFO"
+      }
+    },
+
+    {
+      "INFO_SIM_REVISE_AID_INFO": {
+        "apiType": "index",
+        "format": "Revise AID info: length %d -> %d",
+        "traceClass": "TRACE_INFO"
+      }
+    },
+
+    {
+      "INFO_USIM_CHECK_PUBLIC_KEY_FOR_SUCI": {
+        "apiType": "index", 
+        "format": "[SIM] S id:%d, K idx: %d, Public Key Exist? %d",
+        "traceClass": "TRACE_INFO"
+      }
+    },
+
+    {
+      "INFO_PERFORM_HOT_SWAP_NORMALLY": {
+        "apiType": "index", 
+        "format": "[SIM] Perform SIM hot swap normally? %d",
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "WARNING_SIM_RESET_IMMEDIATE_AUTH_FLAG": {
+        "apiType": "index", 
+        "format": "[SIM] Reset immidiate auth flag in sim_main()!!!", 
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "GROUP2_SIM_AL_FUNCTION": {
+        "apiType": "index", 
+        "format": "%s()", 
+        "traceClass": "TRACE_GROUP_2"
+      }
+    },
+    {
+      "WARNING_SIM_CURRENT_FILE_TYPE_INCORRECT": {
+        "apiType": "index", 
+        "format": "[SIM WARNING] Incorrect current File Type %Msim_file_structure_enum !!",
+        "traceClass": "TRACE_WARNING"
+      }
+    },
+    {
+      "INFO_SIM_HOTSWAP_RECOVERY_AT_INFO": {
+        "apiType": "index", 
+        "format": "[SIM] Hotswap and recovery control by AT info:%d, %d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_DUMMY_TRACE_DEF": {
+        "apiType": "index", 
+        "format": "Please add new trace above this dummy trace define.", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "FUNC_SAT_SAVE_EVENT_IN_TERMINAL_PROFILE": {
+        "apiType": "index", 
+        "format": "[SAT] sat_save_event_in_terminal_profile()", 
+        "traceClass": "TRACE_FUNC"
+      }
+    },
+    {
+      "INFO_SAT_ADD_SUPPORT_EVET": {
+        "apiType": "index", 
+        "format": "sat_add_support_event:/t%Msat_event_list_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_EVET_NOT_IN_TERMINAL_PROFILE": {
+        "apiType": "index", 
+        "format": "[SAT]Event: %Msat_event_list_enum not in TERMINAL PROFILE", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SAT_EVET_NOT_IN_EVENT_LIST": {
+        "apiType": "index", 
+        "format": "[SAT]Event: %Msat_event_list_enum not in EVENT LIST", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+	{
+	  "INFO_SAT_EUICC_REJECT_PC": {
+	    "apiType": "index",
+	    "format": "[EUICC] Reject PC for empty eUICC",
+	    "traceClass": "TRACE_INFO"
+	  }
+	},
+    {
+      "INFO_SIM_RESTRICT_CARD_TYPE_INFO": {
+        "apiType": "index", 
+        "format": "[SIM] restric card type info:%d, %Msim_retrict_card_type_enum", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_RESTRICT_CARD_TYPE_SLOT_INFO": {
+        "apiType": "index", 
+        "format": "[SIM] restrict card type slot info, ps_id:%d, slot_id:%d, isEsim:%d, valid:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    },
+    {
+      "INFO_SIM_CURRENT_MODULE_ID": {
+        "apiType": "index", 
+        "format": "[SIM] current module id:%d", 
+        "traceClass": "TRACE_INFO"
+      }
+    }
+  ], 
+  "traceFamily": "PS", 
+  "userModule": ""
+}
diff --git a/mcu/protocol/layer4/sim/include/sim_ut_private_api.h b/mcu/protocol/layer4/sim/include/sim_ut_private_api.h
new file mode 100644
index 0000000..aa4d07e
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_ut_private_api.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).
+*
+*****************************************************************************/
+ /*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+ /*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_ut_private_api.h
+ *
+ * Project:
+ * --------
+ *   MODIS
+ *
+ * Description:
+ * ------------
+ *   API provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_UT_PRIVATE_API_H
+#define SIM_UT_PRIVATE_API_H
+
+#include "kal_public_defs.h"
+#include "kal_general_types.h"
+#include "kal_public_api.h"
+#include "sim_private_enum.h"
+#include "sim_private_struct.h"
+
+extern void sim_clear_ut_context(sim_context_struct *this_sim);
+extern void sim_ut_config_ind_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern void sim_ut_set_config_bin_req_handler(ilm_struct *sim_ilm_ptr, sim_context_struct *this_sim);
+extern kal_bool sim_ut_apdu_prefix_matched(kal_uint8 *txData, kal_uint32 *txSize, kal_uint8 *which_prefix, sim_context_struct *this_sim);
+extern kal_uint16 sim_ut_apdu_simulation_hdlr(kal_uint8 which_prefix,
+                                                         kal_uint8 *txData,
+                                                         kal_uint32 *txSize,
+                                                         kal_uint8 *rxData,
+                                                         kal_uint32 *rxSize,
+                                                         sim_context_struct *this_sim);
+
+
+#endif
\ No newline at end of file
diff --git a/mcu/protocol/layer4/sim/include/sim_ut_private_struct.h b/mcu/protocol/layer4/sim/include/sim_ut_private_struct.h
new file mode 100644
index 0000000..2c58a9b
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_ut_private_struct.h
@@ -0,0 +1,66 @@
+/*****************************************************************************
+*  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).
+*
+*****************************************************************************/
+ /*******************************************************************************
+ *  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) 2001
+ *
+ *******************************************************************************/
+
+ /*******************************************************************************
+ * Filename:
+ * ---------
+ *   sim_ut_private_struct.h
+ *
+ * Project:
+ * --------
+ *   MODIS
+ *
+ * Description:
+ * ------------
+ *   Structure provided by SIM task and inside-SIM task uses only
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_UT_PRIVATE_STRUCT_H
+#define SIM_UT_PRIVATE_STRUCT_H
+
+#endif
diff --git a/mcu/protocol/layer4/sim/include/sim_vsim_dummy_driver.h b/mcu/protocol/layer4/sim/include/sim_vsim_dummy_driver.h
new file mode 100644
index 0000000..ea13979
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/sim_vsim_dummy_driver.h
@@ -0,0 +1,109 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *    sim_vsim_dummy_driver.h
+ *
+ * Project:
+ * --------
+ *    Wisdom
+ *
+ * Description:
+ * ------------
+ *    This file defines the data structure, enum and constant for dummy driver
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef SIM_VSIM_DUMMY_DRIVER_H
+#define SIM_VSIM_DUMMY_DRIVER_H
+
+#include "sim_private_struct.h"
+
+#define DF_META_DATA_LEN 22
+#define EF_META_DATA_LEN 15
+#define DF_U_META_DATA_LEN 64
+#define EF_U_META_DATA_LEN 45
+#define EF_FILE_DATA_START sizeof(sim_vsim_file_meta_struct)
+#define EF_U_FILE_DATA_START sizeof(uicc_vsim_file_meta_struct)
+#define EF_FILE_DATA_END sizeof(sim_vsim_file_meta_struct)
+#define EF_U_FILE_DATA_END sizeof(uicc_vsim_file_meta_struct)
+
+/* AUTHENTICATE cmd/response data len */
+#define VSIM_AUTH_3G_CONTEXT_LEN 34
+#define VSIM_AUTH_GSM_CONTEXT_LEN 17
+#define VSIM_AUTH_RES_LEN 16
+#define VSIM_AUTH_CK_LEN 16
+#define VSIM_AUTH_IK_LEN 16
+#define VSIM_AUTH_KC_LEN 8
+#define VSIM_AUTH_SRES_LEN 4
+
+
+typedef struct
+{
+    /* The first 32 bytes */
+    kal_uint8 fcp_length;
+    kal_uint8 fcp_tmp[31];
+    /* ------32 bytes ------ */
+} sim_vsim_file_meta_struct;
+
+typedef struct
+{
+    /* The first 96 bytes */
+    kal_uint8 fcp_length;
+    kal_uint8 fcp_tmp[95];
+    /* ------96 bytes ------ */
+} uicc_vsim_file_meta_struct;
+
+typedef struct
+{
+    sim_vsim_file_meta_struct meta_data;
+	kal_uint8 current_file_idx[2];
+    kal_uint8 sim_status[22];   /* Store SIM status of current DF */
+
+    uicc_vsim_file_meta_struct uicc_meta_data;
+    kal_uint8 aid_len;
+    kal_uint8 aid[SIM_AID_MAX_LEN];
+    kal_uint8 usim_status_len;  /* Store USIM status len*/
+    kal_uint8 usim_status[95]; /* Store USIM status*/
+} sim_vsim_context_struct;
+
+extern kal_uint16 L1vsim_Cmd(kal_uint8 *txData, kal_uint16 txSize, kal_uint8 *rxData, kal_uint16 *rxSize, sim_context_struct *this_sim);
+
+#endif /* SIM_VSIM_DUMMY_DRIVER_H */ 
+
diff --git a/mcu/protocol/layer4/sim/include/usim_dummy_driver.h b/mcu/protocol/layer4/sim/include/usim_dummy_driver.h
new file mode 100644
index 0000000..9d256b1
--- /dev/null
+++ b/mcu/protocol/layer4/sim/include/usim_dummy_driver.h
@@ -0,0 +1,102 @@
+/*****************************************************************************
+*  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:
+ * ---------
+ *    usim_dummy_driver.h
+ *
+ * Project:
+ * --------
+ *    MONZA
+ *
+ * Description:
+ * ------------
+ *    This file defines the data structure, enum and constant for dummy driver
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+#ifndef USIM_DUMMY_DRIVER_H
+#define USIM_DUMMY_DRIVER_H
+
+/* Driver related*/
+#include "drv_comm.h"
+#include "dcl.h"
+
+#define MODIS_USIM_FILE_PREFIX 23
+#define MODIS_USIM_HEAD_SPACE 185
+#define MODIS_USIM_PIN1_OFFSET (MODIS_USIM_HEAD_SPACE)
+#define MODIS_USIM_PIN2_OFFSET (MODIS_USIM_PIN1_OFFSET + 8)
+#define MODIS_USIM_PUK1_OFFSET (MODIS_USIM_PIN2_OFFSET + 8)
+#define MODIS_USIM_PUK2_OFFSET (MODIS_USIM_PUK1_OFFSET + 8)
+#define MODIS_USIM_PIN1_COUNT_OFFSET (MODIS_USIM_PUK2_OFFSET + 8)
+#define MODIS_USIM_PIN2_COUNT_OFFSET (MODIS_USIM_PIN1_COUNT_OFFSET + 1)
+#define MODIS_USIM_PUK1_COUNT_OFFSET (MODIS_USIM_PIN2_COUNT_OFFSET + 1)
+#define MODIS_USIM_PUK2_COUNT_OFFSET (MODIS_USIM_PUK1_COUNT_OFFSET + 1)
+
+#define AID_PREFIX_BYTE_LEN 7
+#define AID_BYTE_LEN 16
+
+/* AUTHENTICATE cmd/response data len */
+#define AUTH_3G_CONTEXT_LEN 34
+#define AUTH_GSM_CONTEXT_LEN 17
+#define AUTH_RES_LEN 16
+#define AUTH_CK_LEN 16
+#define AUTH_IK_LEN 16
+#define AUTH_KC_LEN 8
+#define AUTH_SRES_LEN 4
+
+typedef struct
+{
+    kal_uint8 pin1_key_ref;
+    kal_uint8 pin2_key_ref;
+    kal_bool is_pin1_enabled;
+    kal_bool is_pin2_enabled;
+} usim_pin_data_struct;
+
+extern kal_uint16 L1usim_Cmd(kal_uint8 *, kal_uint32 *, kal_uint8 *, kal_uint32 *);
+
+#ifdef __SIM_UNIT_TEST__
+#if defined(__SIM_UNIT_TEST_V2__)
+void L1usim_reset_pin_counter(kal_uint8 *aid, kal_bool pin1_enabled, kal_bool pin2_enabled);
+#else
+void L1usim_reset_pin_counter(kal_bool pin1_enabled, kal_bool pin2_enabled);
+#endif
+#endif
+
+#endif /* USIM_DUMMY_DRIVER_H */ 
+