blob: c8cbdae9ebd7e79ab8d6e8985788d7d27253ee55 [file] [log] [blame]
/*****************************************************************************
* 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, kal_uint8 *gid1_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 */