[Feature]Upload Modem source code

Change-Id: Id4294f30faced84d3e6fd6d5e61e1111bf287a37
diff --git a/mcu/protocol/interface/l4misc/l4c_sim_cmd.h b/mcu/protocol/interface/l4misc/l4c_sim_cmd.h
new file mode 100644
index 0000000..74e0966
--- /dev/null
+++ b/mcu/protocol/interface/l4misc/l4c_sim_cmd.h
@@ -0,0 +1,441 @@
+/*****************************************************************************
+*  Copyright Statement:
+*  --------------------
+*  This software is protected by Copyright and the information contained
+*  herein is confidential. The software may not be copied and the information
+*  contained herein may not be used or disclosed except with the written
+*  permission of MediaTek Inc. (C) 2005
+*
+*  BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES
+*  THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE")
+*  RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON
+*  AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES,
+*  EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
+*  MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT.
+*  NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE
+*  SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR
+*  SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH
+*  THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO
+*  NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S
+*  SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
+*
+*  BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
+*  LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE,
+*  AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE,
+*  OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO
+*  MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
+*
+*  THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
+*  WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF
+*  LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND
+*  RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER
+*  THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC).
+*
+*****************************************************************************/
+
+/*******************************************************************************
+ * Filename:
+ * ---------
+ * l4c_sim_cmd.h
+ *
+ * Project:
+ * --------
+ *   MT6208
+ *
+ * Description:
+ * ------------
+ *   This file is intends for ...
+ *
+ * Author:
+ * -------
+ * -------
+ *
+ *******************************************************************************/
+
+#ifndef _L4C_SIM_CMD_H
+#define _L4C_SIM_CMD_H
+
+#include "kal_general_types.h"
+#include "ps_public_struct.h"
+
+#include "ps2sat_struct.h"
+#include "mcd_ps2sat_peer.h"
+#include "l4c2csm_cc_struct.h"
+#include "l4c2smsal_struct.h"
+
+#include "sim_ps_struct.h"
+#include "sim_ps_enum.h"
+
+#include "mcd_l3_inc_struct.h"       /* for nw_time_zone_time_struct used in l4c_smu_update_nw_time_req() */
+
+#include "smu_common_enums.h"
+#include "vdm_l4c_struct.h"
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+#include "l5_l4c_struct.h"
+#endif
+
+enum
+{
+    NONE_TYPE,
+    PHONELOCK_TYPE,
+    PIN1_TYPE
+};
+
+extern kal_bool l4c_smu_get_iccid_req(kal_uint8 src_id, kal_uint8 *iccid_str);
+
+extern kal_bool l4c_smu_get_imsi_req(kal_uint8 src_id, kal_uint8 *imsi);
+
+extern kal_bool l4c_smu_exe_lock_req(
+                    kal_uint8 src_id,
+                    kal_uint8 opcode, /* smu_lock_opcode_enum */
+                    kal_uint8 type, /* smu_security_type_enum */
+                    kal_uint8 *passwd);
+
+extern kal_bool l4c_smu_exe_master_reset_req(kal_uint8 src_id, kal_uint8 *pin);
+
+extern kal_bool l4c_smu_get_dial_mode_req( /* sim_dn_enum */ kal_uint8 *dial_mode);
+
+extern kal_bool l4c_smu_exe_verify_pin_req(kal_uint8 src_id, kal_uint8 pin_type, kal_uint8 *pin, kal_uint8 *new_pin);
+
+extern kal_bool l4c_smu_app_exe_verify_pin_req(kal_uint8 src_id, kal_uint8 pin_type, kal_uint8 *pin, kal_uint8 *new_pin, kal_uint8 chan_id);
+
+extern kal_bool l4c_smu_get_pin_type_req(
+                    kal_uint8 src_id, /* smu_security_type_enum */
+                    kal_uint8 *pin_type);
+
+extern kal_bool l4c_smu_app_get_pin_type_req(kal_uint8 src_id, kal_uint8 *name, kal_uint8 chan_id, smu_chv_type_enum chv_type);
+
+extern sim_file_index_enum l4c_smu_file_idx_for_preferred_oper_list(sim_file_index_enum selected_file);
+
+extern kal_bool l4c_smu_set_preferred_oper_list_req_ext(
+            kal_uint8 src_id,
+            sim_file_index_enum file_idx,
+            kal_uint8 index,
+            kal_uint8 opcode,
+            kal_uint8 *oper,
+            kal_uint8 rat);
+
+extern kal_bool l4c_smu_set_preferred_oper_list_req(
+                    kal_uint8 src_id,
+                    kal_uint8 index,
+                    kal_uint8 opcode,
+                    kal_uint8 *oper,
+                    kal_uint8 rat);
+
+extern kal_bool l4c_smu_get_preferred_oper_list_req(
+                    kal_uint8 src_id,
+                    kal_uint8 index,
+                    kal_uint16 file_idx_req,
+                    kal_uint16 *num,
+                    kal_uint8 *oper_list,
+                    kal_uint8 *rat_list,
+                    kal_uint16 *file_idx_rsp);
+
+extern kal_bool l4c_smu_set_puc_params_req(kal_uint8 src_id, kal_uint8 *pin, kal_uint8 *currency, kal_uint8 *ppu);
+
+extern kal_bool l4c_smu_get_puc_params_req(kal_uint8 src_id, kal_uint8 *currency, kal_uint8 *ppu);
+
+extern kal_bool l4c_smu_exe_change_password_req(
+                    kal_uint8 src_id, /* smu_security_type_enum */
+                    kal_uint8 type,
+                    kal_uint8 *old,
+                    kal_uint8 *new1);
+
+extern kal_bool l4c_smu_exe_restricted_access_req(
+                    kal_uint8 src_id,
+                    kal_uint8 cmd,
+                    kal_uint16 file_id,
+                    kal_uint8 channel,
+                    kal_uint8 p1,
+                    kal_uint8 p2,
+                    kal_uint8 p3,
+                    kal_uint8 *data,
+            	      kal_uint8 *pathid,
+            	      kal_uint8 pathid_length);
+
+extern kal_bool l4c_smu_exe_dial_mode_req(kal_uint8 src_id, kal_uint8 type, kal_uint8 on_off, kal_uint8 *pin);
+
+extern kal_bool l4c_smu_write_sim_req(
+                    kal_uint8 src_id,
+                    kal_uint16 file_idx,
+                    kal_uint8 para,
+                    kal_uint8 *data,
+                    kal_uint16 length,
+                    kal_uint8 *path,
+                    kal_uint8 access_id);
+
+extern kal_bool l4c_smu_read_sim_req(
+                    kal_uint8 src_id,
+                    kal_uint16 file_idx,
+                    kal_uint16 para,
+                    kal_uint16 length,
+                    kal_uint8 *path,
+                    kal_uint8 access_id);
+
+extern kal_bool l4c_smu_read_file_info_req(kal_uint8 src_id, kal_uint16 file_idx, kal_uint8 *path, kal_uint8 access_id);
+
+extern kal_bool l4c_smu_set_personalization_req(
+                    kal_uint8 src_id,
+                    kal_uint8 category,
+                    kal_uint8 op,
+                    kal_uint8* key,
+                    kal_uint8 len,
+                    kal_uint8 data[10]);
+
+#ifdef __CARRIER_RESTRICTION__
+extern kal_bool l4c_smu_set_carrier_restriction_req(
+                    kal_uint8 src_id,
+                    kal_uint8 op,
+                    kal_uint8 *key,
+                    kal_uint8 list,
+                    kal_uint8 category,
+                    kal_uint8 len,
+                    kal_uint8 *data,
+                    kal_uint8 multi_sim_policy,
+                    kal_uint8 allowed_carriers_prioritized);
+
+extern kal_bool l4c_smu_set_crrst_secure_data_req(
+                        kal_uint8 src_id,
+                        kal_uint8 algo_type,
+                        kal_uint32 max_retry_count,
+                        kal_uint8 *hck,
+                        kal_uint8 *salt,
+                        kal_uint8 *inter_cnt);
+
+extern kal_bool l4c_smu_crrst_status_req(kal_uint8 src_id);
+#endif
+
+extern kal_bool l4c_smu_get_shared_key_req(kal_uint8 src_id);
+
+extern kal_bool l4c_smu_update_slb_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb);
+
+extern kal_bool l4c_smu_reset_slb_req(kal_uint8 src_id);
+
+extern kal_bool l4c_smu_get_slb_version_req(kal_uint8 src_id);
+
+extern kal_bool l4c_smu_get_sim_lock_status_req(kal_uint8 scr_id);
+
+extern kal_bool l4c_smu_get_modem_config_req(kal_uint8 src_id);
+
+extern kal_bool l4c_smu_get_api_version_req(kal_uint8 src_id);
+
+#if defined(__SIM_ME_LOCK__)
+extern kal_bool l4c_smu_update_nw_time_req(kal_uint8 nw_time_zone, nw_time_zone_time_struct *nw_time);
+#endif
+
+extern kal_bool l4c_smu_sml_status_req(kal_uint8 src_id);
+
+extern kal_bool l4c_sim_power_off_req(kal_uint8 src_id);
+
+extern kal_bool l4c_sim_remove_req(kal_uint8 src_id, kal_uint8 mode);
+
+extern kal_bool l4c_sim_get_gsmcdma_dualsim_info_req (kal_uint8 src_id);
+
+extern kal_bool l4c_sim_set_gsmcdma_dualsim_mode_req ( kal_uint8 src_id, kal_uint8 op);
+
+extern kal_bool l4c_sim_check_pin_status_req(sim_chv_info_struct *chv_info, sim_chv_status_struct *chv_status);
+
+extern kal_bool l4c_cphs_update_als_req(kal_uint8 src_id, kal_uint8 line_id);
+
+extern void l4c_sim_pin_convert(kal_uint8 *dest, kal_uint8 *src);
+
+extern kal_bool l4c_sim_reset_req(kal_uint8 src_id);
+
+extern kal_bool l4c_bt_sim_profile_req(kal_uint8 src_id, kal_uint8 action, kal_uint8 transport_protocol_type, kal_uint8 *apdu, kal_uint16 length);
+
+///extern kal_bool l4c_sim_csim_req(kal_uint8 src_id, kal_uint16 length, kal_uint8 *command);
+
+/* MAUI_03082391 *///mtk02514_nfc
+extern kal_bool l4c_sim_apdu_access_req(kal_uint8 src_id,l4c_action_enum action, kal_uint16 length, kal_uint8 *command,kal_uint8 channel_id);
+extern kal_bool l4c_sim_extended_apdu_access_req(kal_uint8 src_id, kal_uint16 offset, kal_uint8 channel_id, kal_uint16 total_length,
+                                                        kal_uint16 curr_length, kal_uint8 *command, kal_bool *is_intermediate_rsp);
+
+extern kal_bool l4c_sim_manage_channel_req(kal_uint8 src_id, l4c_action_enum action, sim_manage_channel_mode_enum mode, kal_uint8 aid_len, kal_uint8 *aid);
+
+#ifdef __VSIM__
+extern kal_bool l4c_sim_vsim_req(kal_uint8 src_id, kal_uint8 switch_on, kal_uint8 profile_id,kal_uint8 app_type);
+
+extern kal_bool l4c_sim_get_vsim_rsa_pubkey_req(kal_uint8 src_id);
+
+extern kal_bool l4c_sim_vsim_ki_mode_req(kal_uint8 src_id, kal_uint8 profile_id, kal_bool enabled);
+
+extern kal_bool l4c_sim_set_vsim_ki_req(kal_uint8 src_id, kal_uint8 profile_id, kal_uint16 key_len, kal_uint8 *key, kal_bool encrypted);
+
+extern kal_bool l4c_sim_set_vsim_file_req(kal_uint8 src_id, kal_uint8 profile_id, kal_uint16 file_id, kal_uint16 meta_len, kal_uint8 *meta, kal_uint16 data_len, kal_uint8 *data);
+
+extern void l4c_vsim_profile_write_req(kal_uint8 src_id, kal_uint8 profile_id, kal_uint8 vsim_type, kal_uint16 auth_len, kal_uint8 *auth, kal_uint8 algo_idx);
+
+#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)
+extern kal_bool l4c_sim_vsim_update_req(kal_uint8 src_id, kal_uint8 switch_on, kal_uint8 profile_id, kal_uint8 mode, kal_uint8* mccmnc, kal_uint8* iin, kal_uint8* gid1, kal_uint8* spn);
+#endif/*#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)*/
+
+#endif
+
+extern kal_bool l4c_sim_app_start_req(kal_uint8 src_id, kal_uint8 applicationid);
+
+extern kal_bool l4c_sim_app_authenticate_req(kal_uint8 src_id, uicc_auth_mode_enum mode, kal_uint8 channel_id, kal_uint16 command_len, kal_uint8 *command_data);
+
+extern kal_bool l4c_sim_authenticate_req(kal_uint8 src_id, kal_uint8 rand_len, kal_uint8 *rand, kal_uint8 auth_len, kal_uint8 *auth);
+
+extern void l4c_smu_sml_ready_notify_req(void);
+
+#ifdef __SAT__
+extern kal_bool l4c_sat_setup_call_res(sat_setup_call_res_struct *local_ptr);
+
+extern kal_bool l4c_sat_send_sms_res(sat_send_sms_res_struct *local_ptr);
+
+extern kal_bool l4c_sat_send_ss_res(sat_send_ss_res_struct *local_ptr);
+
+extern void l4c_sat_send_xcap_ss_res(kal_bool is_successful, sat_terminal_res_enum tr_cause, kal_uint8* additional_data_ptr, kal_uint16 additional_data_len);
+
+extern kal_bool l4c_sat_send_ussd_res(sat_send_ussd_res_struct *local_ptr);
+
+extern void l4c_sat_send_ims_ussd_res(kal_bool is_successful, sat_terminal_res_enum tr_cause, void* additional_data_ptr);
+
+extern kal_bool l4c_sat_run_at_command_res(sat_run_at_command_res_struct *local_ptr);
+
+extern kal_bool l4c_sat_send_dtmf_res(kal_uint8 cmd_detail[5], kal_uint8 res, kal_uint8 additional_info);
+
+extern kal_bool l4c_sat_call_setup_req(
+                    l4ccsm_cc_sat_setup_req_struct *local_ptr,
+                    kal_uint8 *peer_ptr,
+                    kal_uint8 length);
+
+extern kal_bool l4c_sat_send_dtmf_req(kal_uint8 src_id, kal_uint8 *dtmf_digit, kal_uint8 no_digit);
+
+extern kal_bool l4c_sat_abort_dtmf_req(kal_uint8 src_id);
+
+extern kal_bool l4c_sat_send_sms_req(l4csmsal_sat_send_req_struct *local_ptr, kal_uint8 mode);
+
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+extern kal_bool l4c_sat_terminal_response_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id);
+#else
+extern kal_bool l4c_sat_terminal_response_req(kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id);
+#endif
+extern kal_bool l4c_sat_envelope_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *envelope_data, kal_bool is_standard);
+extern kal_bool l4c_sat_setup_sms(kal_uint8 src_id, kal_uint8 mode);
+extern kal_bool l4c_sat_sms_query(kal_uint8 *str, kal_uint16 *str_len);
+
+extern kal_bool l4c_sat_setup_cs_ss(void);
+extern peer_buff_struct* l4c_sat_get_ss_number(void);
+
+extern kal_bool l4c_sat_setup_cs_ussd(void);
+extern void l4c_sat_set_icon_display(sat_terminal_res_enum tr_cause, kal_bool is_icon_displayed);
+extern kal_bool l4c_sat_query_ussd_inform_user(void);
+extern peer_buff_struct* l4c_sat_get_ussd_string(void);
+
+extern kal_bool l4c_sat_setup_call(vdm_l4c_cs_cc_stk_call_req_struct *msg_ptr);
+extern kal_bool l4c_sat_dtmf(void);
+extern kal_bool l4c_sat_menu_query(kal_uint8 *str, kal_uint16 *str_len);
+
+extern kal_bool l4c_sat_ready_req(kal_uint8 src_id);
+
+extern kal_bool l4c_sat_cusata_req(kal_uint8 src_id, kal_uint8 act_config);
+
+extern kal_bool l4c_sat_cusatd_req(kal_uint8 dwl_config);
+
+extern kal_bool l4c_sat_set_ct_mode_req(kal_uint8 ct_mode);
+
+extern kal_bool l4c_sat_inject_proactive_cmd_ind(kal_uint8 *cmd_data, kal_uint16 cmd_len);
+
+#endif /* __SAT__ */
+
+extern void l4c_smu_sim_status_update_req(kal_uint8 new_sim_config);
+
+extern kal_bool l4c_sim_set_3g_cap_req(kal_uint8 src_id, kal_uint8 cur_3g_capability, kal_uint8 *cur_ps_sim_map);
+
+extern void l4c_sim_read_plmn_req(kal_uint8 src_id, kal_uint8 access_id, kal_uint16 file_idx);
+extern void l4c_sim_write_plmn_req(kal_uint8 src_id, kal_uint8 access_id, kal_uint16 file_idx, kal_uint16 file_size, kal_uint8 *file);
+extern void l4c_sim_search_record_req(kal_uint8 src_id,kal_uint16 file_idx, kal_uint16 para, kal_uint8 access_id,  kal_uint8 *path,kal_uint8 pattern_len,kal_uint8 *data);
+/* MAUI_02953154 */
+
+extern kal_bool l4c_sim_recovery_enhancement_switch_req(kal_bool mode);
+
+extern kal_bool l4c_sim_query_info_req(kal_uint8 src_id, sim_query_info_enum info_id);
+
+extern kal_bool l4c_sim_terminal_capability_setting_req(kal_uint8 additional_interface);
+
+extern kal_bool l4c_regional_phone_mode_req(kal_uint32 mode);
+
+extern kal_bool l4c_csus_set_sim_slot(kal_uint8 setting);
+
+extern void l4c_sat_termianl_profile_read_req(kal_uint8 st, kal_uint8 *profile, kal_uint8 *profile_len);
+
+extern void l4c_sat_termianl_profile_write_req(kal_uint8 src_id, kal_uint8 st, kal_bool reset, kal_uint8 *profile, kal_uint8 profile_len);
+
+extern kal_bool l4c_sim_set_registration_mode_req(kal_bool registration_mode);
+
+extern kal_bool l4c_sim_set_apvsim_mode_req(kal_uint8 src_id, kal_bool mode, kal_bool is_ready);
+extern kal_bool l4c_sim_rsa_apdu_rsp_req(kal_uint8 src_id, kal_uint32 apdu_len, kal_uint8 *apdu_rsp);
+extern kal_bool l4c_sim_rsa_atr_req(kal_uint8 src_id, kal_uint8 atr_status, kal_uint32 atr_len, kal_uint8 *atr);
+extern kal_bool l4c_sim_rsa_hot_plug_out_req(kal_uint8 src_id);
+extern kal_bool l4c_sim_rsa_hot_plug_in_req(kal_uint8 src_id);
+extern kal_uint8 l4c_get_single_sim_exist_status(void);
+extern kal_uint8 l4c_get_single_sim_inserted_status(void);
+extern kal_bool l4c_query_sim_status_bit(sim_interface_enum sim_id, l4c_sim_flag_enum query_status);
+extern kal_bool l4c_reset_l4_sim_context(sim_interface_enum sim_ps_id);
+extern kal_bool l4c_sim_read_dir_req(kal_uint8 src_id, kal_uint8 option);
+extern kal_bool l4c_sim_op20_ap_simlock_req(kal_uint8 src_id, kal_uint8 lock_mode);
+kal_bool l4c_sim_ap_simpower_req(kal_uint8 src_id, kal_uint8 sim_power_mode, kal_bool sim_handle_plug_in);
+#ifdef __GEMINI__
+extern kal_bool l4c_sim_plug_out_req(kal_bool aka_status, kal_bool ready_status);
+extern void l4c_sim_set_rsim_mode_req(kal_uint8 src_id, kal_bool rsim_status, kal_bool ready_status);
+extern void l4c_sim_service_res_req(kal_uint8 src_id, kal_bool mode);
+extern void l4c_sim_aka_enable_req(kal_bool mode);
+extern void l4c_rsim_set_auth_timeout(kal_uint8 rsim_auth_timeout);
+extern void l4c_sim_send_rsim_aka_status_req(void);
+#endif
+#ifdef __FAKEID_SUPPORT__
+extern kal_bool l4c_sim_fake_id_req(kal_uint8 *mcc_str, kal_uint8 *mnc_str, kal_uint8 *msin_str);
+#endif
+
+extern kal_bool l4c_smu_sml_get_lock_codes_req(kal_uint8 src_id);
+extern kal_bool l4c_smu_set_custom_personalization_req(
+                    kal_uint8 src_id,
+                    kal_uint8 category,
+                    kal_uint8 op,
+                    void *data,
+                    kal_uint8 algo_type,
+                    kal_uint8 *salt,
+                    kal_uint8 *iter_cnt);
+
+extern kal_bool l4c_smu_sl_update_blob_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb);
+extern kal_bool l4c_smu_sl_get_sim_lock_status_req(kal_uint8 scr_id);
+extern kal_uint8 l4c_get_single_sim_inserted_status_by_ps_id(protocol_id_enum protocol_id);
+
+extern kal_bool l4c_smu_update_gblob_lock_rule_req(kal_uint8 src_id, kal_uint8 rule, kal_uint16 sub_rule);
+extern kal_bool l4c_smu_update_gblob_data_req(kal_uint8 src_id, kal_uint8 op, kal_uint16 gblob_data_len, kal_uint8 *gblob_data);
+extern kal_bool l4c_smu_gblob_dev_lock_verify_req(kal_uint8 src_id, kal_uint8 op, kal_uint16 key_len, kal_uint8 *key, kal_uint8 new_lock_state);
+extern kal_bool l4c_smu_update_gblob_dev_lock_algo_req(kal_uint8 src_id, kal_uint8 dev_algo_type, kal_uint8 *hck, kal_uint8 max_retry_count, kal_uint8* salt, kal_uint8* inter_cnt);
+extern kal_bool l4c_smu_update_gblob_imei_req(kal_uint8 src_id, kal_uint8 slot_id, kal_uint8* imei);
+#ifdef __CUST_SML_RULE__
+extern kal_bool l4c_smu_udpate_gblob_cust_rule_req(kal_uint8 src_id, kal_uint8 cust_code, kal_uint8 cust_rule);
+#endif
+extern kal_bool l4c_smu_get_gblob_dev_lock_status_req(kal_uint8 src_id);
+
+#if defined(__TC10__) && defined(__IPC_ADAPTER__)
+extern kal_bool l4c_sat_sim_init_msg(kal_uint8 src_id, kal_uint8 action);
+extern kal_bool l4c_sat_refresh_voting_cnf(sat_refresh_confirm_rsp_enum voting_result);
+#endif
+
+#ifdef __TC10__
+extern kal_uint8 l4c_sim_query_voltage_info(protocol_id_enum ps_id);
+#endif
+extern kal_bool l4c_sim_query_atr_info(kal_uint8 *length, kal_uint8 *atr, protocol_id_enum ps_id);
+extern kal_uint8 l4c_smu_get_unlock_code_req();
+extern kal_bool l4c_smu_gen_nonce_req(kal_uint8* device_id, kal_uint32 device_id_len, kal_uint8* nonce, kal_uint32* nonce_len);
+extern kal_bool l4c_smu_validate_signature_req(kal_uint8 mode, kal_uint8 unlock_code, kal_uint8* signature, kal_uint32 signature_len);
+extern kal_bool l4c_smu_get_nonce_sign_status_req(kal_uint8* nonce_status, kal_uint8* sign_status);
+
+#ifdef __MBIM_MS_NETWORK_BLACKLIST__
+extern void l4c_smu_set_nw_black_list_req(void);
+extern void l4c_smu_convert_mcc_mnc_to_int(kal_uint8 *mcc_mnc_char, nw_black_list_provider_struct *output);
+extern void l4c_smu_convert_mcc_mnc_to_char(nw_black_list_provider_struct *input_mcc_mnc, kal_uint8 *output);
+#endif
+extern kal_bool l4c_smu_generate_hck(kal_uint8 src_id, kal_uint8 category, kal_uint8 *ctrl_key_str,
+                                         kal_uint32 iter_cnt, kal_uint8 salt_length,
+                                         kal_uint16 hck_length);
+
+#endif /* _L4C_SIM_CMD_H */
+