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