rjw | 6c1fd8f | 2022-11-30 14:33:01 +0800 | [diff] [blame^] | 1 | /***************************************************************************** |
| 2 | * Copyright Statement: |
| 3 | * -------------------- |
| 4 | * This software is protected by Copyright and the information contained |
| 5 | * herein is confidential. The software may not be copied and the information |
| 6 | * contained herein may not be used or disclosed except with the written |
| 7 | * permission of MediaTek Inc. (C) 2005 |
| 8 | * |
| 9 | * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND AGREES |
| 10 | * THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK SOFTWARE") |
| 11 | * RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE PROVIDED TO BUYER ON |
| 12 | * AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY DISCLAIMS ANY AND ALL WARRANTIES, |
| 13 | * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF |
| 14 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE OR NONINFRINGEMENT. |
| 15 | * NEITHER DOES MEDIATEK PROVIDE ANY WARRANTY WHATSOEVER WITH RESPECT TO THE |
| 16 | * SOFTWARE OF ANY THIRD PARTY WHICH MAY BE USED BY, INCORPORATED IN, OR |
| 17 | * SUPPLIED WITH THE MEDIATEK SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH |
| 18 | * THIRD PARTY FOR ANY WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO |
| 19 | * NOT BE RESPONSIBLE FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S |
| 20 | * SPECIFICATION OR TO CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM. |
| 21 | * |
| 22 | * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE |
| 23 | * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL BE, |
| 24 | * AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT ISSUE, |
| 25 | * OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY BUYER TO |
| 26 | * MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE. |
| 27 | * |
| 28 | * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE |
| 29 | * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT OF |
| 30 | * LAWS PRINCIPLES. ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING THEREOF AND |
| 31 | * RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN FRANCISCO, CA, UNDER |
| 32 | * THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE (ICC). |
| 33 | * |
| 34 | *****************************************************************************/ |
| 35 | |
| 36 | /******************************************************************************* |
| 37 | * Filename: |
| 38 | * --------- |
| 39 | * l4c_sim_cmd.h |
| 40 | * |
| 41 | * Project: |
| 42 | * -------- |
| 43 | * MT6208 |
| 44 | * |
| 45 | * Description: |
| 46 | * ------------ |
| 47 | * This file is intends for ... |
| 48 | * |
| 49 | * Author: |
| 50 | * ------- |
| 51 | * ------- |
| 52 | * |
| 53 | *******************************************************************************/ |
| 54 | |
| 55 | #ifndef _L4C_SIM_CMD_H |
| 56 | #define _L4C_SIM_CMD_H |
| 57 | |
| 58 | #include "kal_general_types.h" |
| 59 | #include "ps_public_struct.h" |
| 60 | |
| 61 | #include "ps2sat_struct.h" |
| 62 | #include "mcd_ps2sat_peer.h" |
| 63 | #include "l4c2csm_cc_struct.h" |
| 64 | #include "l4c2smsal_struct.h" |
| 65 | |
| 66 | #include "sim_ps_struct.h" |
| 67 | #include "sim_ps_enum.h" |
| 68 | |
| 69 | #include "mcd_l3_inc_struct.h" /* for nw_time_zone_time_struct used in l4c_smu_update_nw_time_req() */ |
| 70 | |
| 71 | #include "smu_common_enums.h" |
| 72 | #include "vdm_l4c_struct.h" |
| 73 | |
| 74 | #ifdef __MBIM_MS_NETWORK_BLACKLIST__ |
| 75 | #include "l5_l4c_struct.h" |
| 76 | #endif |
| 77 | |
| 78 | enum |
| 79 | { |
| 80 | NONE_TYPE, |
| 81 | PHONELOCK_TYPE, |
| 82 | PIN1_TYPE |
| 83 | }; |
| 84 | |
| 85 | extern kal_bool l4c_smu_get_iccid_req(kal_uint8 src_id, kal_uint8 *iccid_str); |
| 86 | |
| 87 | extern kal_bool l4c_smu_get_imsi_req(kal_uint8 src_id, kal_uint8 *imsi); |
| 88 | |
| 89 | extern kal_bool l4c_smu_exe_lock_req( |
| 90 | kal_uint8 src_id, |
| 91 | kal_uint8 opcode, /* smu_lock_opcode_enum */ |
| 92 | kal_uint8 type, /* smu_security_type_enum */ |
| 93 | kal_uint8 *passwd); |
| 94 | |
| 95 | extern kal_bool l4c_smu_exe_master_reset_req(kal_uint8 src_id, kal_uint8 *pin); |
| 96 | |
| 97 | extern kal_bool l4c_smu_get_dial_mode_req( /* sim_dn_enum */ kal_uint8 *dial_mode); |
| 98 | |
| 99 | extern kal_bool l4c_smu_exe_verify_pin_req(kal_uint8 src_id, kal_uint8 pin_type, kal_uint8 *pin, kal_uint8 *new_pin); |
| 100 | |
| 101 | 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); |
| 102 | |
| 103 | extern kal_bool l4c_smu_get_pin_type_req( |
| 104 | kal_uint8 src_id, /* smu_security_type_enum */ |
| 105 | kal_uint8 *pin_type); |
| 106 | |
| 107 | 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); |
| 108 | |
| 109 | extern sim_file_index_enum l4c_smu_file_idx_for_preferred_oper_list(sim_file_index_enum selected_file); |
| 110 | |
| 111 | extern kal_bool l4c_smu_set_preferred_oper_list_req_ext( |
| 112 | kal_uint8 src_id, |
| 113 | sim_file_index_enum file_idx, |
| 114 | kal_uint8 index, |
| 115 | kal_uint8 opcode, |
| 116 | kal_uint8 *oper, |
| 117 | kal_uint8 rat); |
| 118 | |
| 119 | extern kal_bool l4c_smu_set_preferred_oper_list_req( |
| 120 | kal_uint8 src_id, |
| 121 | kal_uint8 index, |
| 122 | kal_uint8 opcode, |
| 123 | kal_uint8 *oper, |
| 124 | kal_uint8 rat); |
| 125 | |
| 126 | extern kal_bool l4c_smu_get_preferred_oper_list_req( |
| 127 | kal_uint8 src_id, |
| 128 | kal_uint8 index, |
| 129 | kal_uint16 file_idx_req, |
| 130 | kal_uint16 *num, |
| 131 | kal_uint8 *oper_list, |
| 132 | kal_uint8 *rat_list, |
| 133 | kal_uint16 *file_idx_rsp); |
| 134 | |
| 135 | extern kal_bool l4c_smu_set_puc_params_req(kal_uint8 src_id, kal_uint8 *pin, kal_uint8 *currency, kal_uint8 *ppu); |
| 136 | |
| 137 | extern kal_bool l4c_smu_get_puc_params_req(kal_uint8 src_id, kal_uint8 *currency, kal_uint8 *ppu); |
| 138 | |
| 139 | extern kal_bool l4c_smu_exe_change_password_req( |
| 140 | kal_uint8 src_id, /* smu_security_type_enum */ |
| 141 | kal_uint8 type, |
| 142 | kal_uint8 *old, |
| 143 | kal_uint8 *new1); |
| 144 | |
| 145 | extern kal_bool l4c_smu_exe_restricted_access_req( |
| 146 | kal_uint8 src_id, |
| 147 | kal_uint8 cmd, |
| 148 | kal_uint16 file_id, |
| 149 | kal_uint8 channel, |
| 150 | kal_uint8 p1, |
| 151 | kal_uint8 p2, |
| 152 | kal_uint8 p3, |
| 153 | kal_uint8 *data, |
| 154 | kal_uint8 *pathid, |
| 155 | kal_uint8 pathid_length); |
| 156 | |
| 157 | extern kal_bool l4c_smu_exe_dial_mode_req(kal_uint8 src_id, kal_uint8 type, kal_uint8 on_off, kal_uint8 *pin); |
| 158 | |
| 159 | extern kal_bool l4c_smu_write_sim_req( |
| 160 | kal_uint8 src_id, |
| 161 | kal_uint16 file_idx, |
| 162 | kal_uint8 para, |
| 163 | kal_uint8 *data, |
| 164 | kal_uint16 length, |
| 165 | kal_uint8 *path, |
| 166 | kal_uint8 access_id); |
| 167 | |
| 168 | extern kal_bool l4c_smu_read_sim_req( |
| 169 | kal_uint8 src_id, |
| 170 | kal_uint16 file_idx, |
| 171 | kal_uint16 para, |
| 172 | kal_uint16 length, |
| 173 | kal_uint8 *path, |
| 174 | kal_uint8 access_id); |
| 175 | |
| 176 | extern kal_bool l4c_smu_read_file_info_req(kal_uint8 src_id, kal_uint16 file_idx, kal_uint8 *path, kal_uint8 access_id); |
| 177 | |
| 178 | extern kal_bool l4c_smu_set_personalization_req( |
| 179 | kal_uint8 src_id, |
| 180 | kal_uint8 category, |
| 181 | kal_uint8 op, |
| 182 | kal_uint8* key, |
| 183 | kal_uint8 len, |
| 184 | kal_uint8 data[10]); |
| 185 | |
| 186 | #ifdef __CARRIER_RESTRICTION__ |
| 187 | extern kal_bool l4c_smu_set_carrier_restriction_req( |
| 188 | kal_uint8 src_id, |
| 189 | kal_uint8 op, |
| 190 | kal_uint8 *key, |
| 191 | kal_uint8 list, |
| 192 | kal_uint8 category, |
| 193 | kal_uint8 len, |
| 194 | kal_uint8 *data, |
| 195 | kal_uint8 multi_sim_policy, |
| 196 | kal_uint8 allowed_carriers_prioritized); |
| 197 | |
| 198 | extern kal_bool l4c_smu_set_crrst_secure_data_req( |
| 199 | kal_uint8 src_id, |
| 200 | kal_uint8 algo_type, |
| 201 | kal_uint32 max_retry_count, |
| 202 | kal_uint8 *hck, |
| 203 | kal_uint8 *salt, |
| 204 | kal_uint8 *inter_cnt); |
| 205 | |
| 206 | extern kal_bool l4c_smu_crrst_status_req(kal_uint8 src_id); |
| 207 | #endif |
| 208 | |
| 209 | extern kal_bool l4c_smu_get_shared_key_req(kal_uint8 src_id); |
| 210 | |
| 211 | extern kal_bool l4c_smu_update_slb_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb); |
| 212 | |
| 213 | extern kal_bool l4c_smu_reset_slb_req(kal_uint8 src_id); |
| 214 | |
| 215 | extern kal_bool l4c_smu_get_slb_version_req(kal_uint8 src_id); |
| 216 | |
| 217 | extern kal_bool l4c_smu_get_sim_lock_status_req(kal_uint8 scr_id); |
| 218 | |
| 219 | extern kal_bool l4c_smu_get_modem_config_req(kal_uint8 src_id); |
| 220 | |
| 221 | extern kal_bool l4c_smu_get_api_version_req(kal_uint8 src_id); |
| 222 | |
| 223 | #if defined(__SIM_ME_LOCK__) |
| 224 | extern kal_bool l4c_smu_update_nw_time_req(kal_uint8 nw_time_zone, nw_time_zone_time_struct *nw_time); |
| 225 | #endif |
| 226 | |
| 227 | extern kal_bool l4c_smu_sml_status_req(kal_uint8 src_id); |
| 228 | |
| 229 | extern kal_bool l4c_sim_power_off_req(kal_uint8 src_id); |
| 230 | |
| 231 | extern kal_bool l4c_sim_remove_req(kal_uint8 src_id, kal_uint8 mode); |
| 232 | |
| 233 | extern kal_bool l4c_sim_get_gsmcdma_dualsim_info_req (kal_uint8 src_id); |
| 234 | |
| 235 | extern kal_bool l4c_sim_set_gsmcdma_dualsim_mode_req ( kal_uint8 src_id, kal_uint8 op); |
| 236 | |
| 237 | extern kal_bool l4c_sim_check_pin_status_req(sim_chv_info_struct *chv_info, sim_chv_status_struct *chv_status); |
| 238 | |
| 239 | extern kal_bool l4c_cphs_update_als_req(kal_uint8 src_id, kal_uint8 line_id); |
| 240 | |
| 241 | extern void l4c_sim_pin_convert(kal_uint8 *dest, kal_uint8 *src); |
| 242 | |
| 243 | extern kal_bool l4c_sim_reset_req(kal_uint8 src_id); |
| 244 | |
| 245 | 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); |
| 246 | |
| 247 | ///extern kal_bool l4c_sim_csim_req(kal_uint8 src_id, kal_uint16 length, kal_uint8 *command); |
| 248 | |
| 249 | /* MAUI_03082391 *///mtk02514_nfc |
| 250 | 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); |
| 251 | extern kal_bool l4c_sim_extended_apdu_access_req(kal_uint8 src_id, kal_uint16 offset, kal_uint8 channel_id, kal_uint16 total_length, |
| 252 | kal_uint16 curr_length, kal_uint8 *command, kal_bool *is_intermediate_rsp); |
| 253 | |
| 254 | 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); |
| 255 | |
| 256 | #ifdef __VSIM__ |
| 257 | extern kal_bool l4c_sim_vsim_req(kal_uint8 src_id, kal_uint8 switch_on, kal_uint8 profile_id,kal_uint8 app_type); |
| 258 | |
| 259 | extern kal_bool l4c_sim_get_vsim_rsa_pubkey_req(kal_uint8 src_id); |
| 260 | |
| 261 | extern kal_bool l4c_sim_vsim_ki_mode_req(kal_uint8 src_id, kal_uint8 profile_id, kal_bool enabled); |
| 262 | |
| 263 | 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); |
| 264 | |
| 265 | 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); |
| 266 | |
| 267 | 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); |
| 268 | |
| 269 | #if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__) |
| 270 | 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); |
| 271 | #endif/*#if defined(__VSIM__) && defined(__TC01__) && defined(__FEATURE_TC01_SIMOFF_EXTENTION__) && defined(__MDVSIM__)*/ |
| 272 | |
| 273 | #endif |
| 274 | |
| 275 | extern kal_bool l4c_sim_app_start_req(kal_uint8 src_id, kal_uint8 applicationid); |
| 276 | |
| 277 | 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); |
| 278 | |
| 279 | 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); |
| 280 | |
| 281 | extern void l4c_smu_sml_ready_notify_req(void); |
| 282 | |
| 283 | #ifdef __SAT__ |
| 284 | extern kal_bool l4c_sat_setup_call_res(sat_setup_call_res_struct *local_ptr); |
| 285 | |
| 286 | extern kal_bool l4c_sat_send_sms_res(sat_send_sms_res_struct *local_ptr); |
| 287 | |
| 288 | extern kal_bool l4c_sat_send_ss_res(sat_send_ss_res_struct *local_ptr); |
| 289 | |
| 290 | 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); |
| 291 | |
| 292 | extern kal_bool l4c_sat_send_ussd_res(sat_send_ussd_res_struct *local_ptr); |
| 293 | |
| 294 | extern void l4c_sat_send_ims_ussd_res(kal_bool is_successful, sat_terminal_res_enum tr_cause, void* additional_data_ptr); |
| 295 | |
| 296 | extern kal_bool l4c_sat_run_at_command_res(sat_run_at_command_res_struct *local_ptr); |
| 297 | |
| 298 | extern kal_bool l4c_sat_send_dtmf_res(kal_uint8 cmd_detail[5], kal_uint8 res, kal_uint8 additional_info); |
| 299 | |
| 300 | extern kal_bool l4c_sat_call_setup_req( |
| 301 | l4ccsm_cc_sat_setup_req_struct *local_ptr, |
| 302 | kal_uint8 *peer_ptr, |
| 303 | kal_uint8 length); |
| 304 | |
| 305 | extern kal_bool l4c_sat_send_dtmf_req(kal_uint8 src_id, kal_uint8 *dtmf_digit, kal_uint8 no_digit); |
| 306 | |
| 307 | extern kal_bool l4c_sat_abort_dtmf_req(kal_uint8 src_id); |
| 308 | |
| 309 | extern kal_bool l4c_sat_send_sms_req(l4csmsal_sat_send_req_struct *local_ptr, kal_uint8 mode); |
| 310 | |
| 311 | #if defined(__TC10__) && defined(__IPC_ADAPTER__) |
| 312 | extern kal_bool l4c_sat_terminal_response_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id); |
| 313 | #else |
| 314 | extern kal_bool l4c_sat_terminal_response_req(kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id); |
| 315 | #endif |
| 316 | extern kal_bool l4c_sat_envelope_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *envelope_data, kal_bool is_standard); |
| 317 | extern kal_bool l4c_sat_setup_sms(kal_uint8 src_id, kal_uint8 mode); |
| 318 | extern kal_bool l4c_sat_sms_query(kal_uint8 *str, kal_uint16 *str_len); |
| 319 | |
| 320 | extern kal_bool l4c_sat_setup_cs_ss(void); |
| 321 | extern peer_buff_struct* l4c_sat_get_ss_number(void); |
| 322 | |
| 323 | extern kal_bool l4c_sat_setup_cs_ussd(void); |
| 324 | extern void l4c_sat_set_icon_display(sat_terminal_res_enum tr_cause, kal_bool is_icon_displayed); |
| 325 | extern kal_bool l4c_sat_query_ussd_inform_user(void); |
| 326 | extern peer_buff_struct* l4c_sat_get_ussd_string(void); |
| 327 | |
| 328 | extern kal_bool l4c_sat_setup_call(vdm_l4c_cs_cc_stk_call_req_struct *msg_ptr); |
| 329 | extern kal_bool l4c_sat_dtmf(void); |
| 330 | extern kal_bool l4c_sat_menu_query(kal_uint8 *str, kal_uint16 *str_len); |
| 331 | |
| 332 | extern kal_bool l4c_sat_ready_req(kal_uint8 src_id); |
| 333 | |
| 334 | extern kal_bool l4c_sat_cusata_req(kal_uint8 src_id, kal_uint8 act_config); |
| 335 | |
| 336 | extern kal_bool l4c_sat_cusatd_req(kal_uint8 dwl_config); |
| 337 | |
| 338 | extern kal_bool l4c_sat_set_ct_mode_req(kal_uint8 ct_mode); |
| 339 | |
| 340 | extern kal_bool l4c_sat_inject_proactive_cmd_ind(kal_uint8 *cmd_data, kal_uint16 cmd_len); |
| 341 | |
| 342 | #endif /* __SAT__ */ |
| 343 | |
| 344 | extern void l4c_smu_sim_status_update_req(kal_uint8 new_sim_config); |
| 345 | |
| 346 | extern kal_bool l4c_sim_set_3g_cap_req(kal_uint8 src_id, kal_uint8 cur_3g_capability, kal_uint8 *cur_ps_sim_map); |
| 347 | |
| 348 | extern void l4c_sim_read_plmn_req(kal_uint8 src_id, kal_uint8 access_id, kal_uint16 file_idx); |
| 349 | 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); |
| 350 | 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); |
| 351 | /* MAUI_02953154 */ |
| 352 | |
| 353 | extern kal_bool l4c_sim_recovery_enhancement_switch_req(kal_bool mode); |
| 354 | |
| 355 | extern kal_bool l4c_sim_query_info_req(kal_uint8 src_id, sim_query_info_enum info_id); |
| 356 | |
| 357 | extern kal_bool l4c_sim_terminal_capability_setting_req(kal_uint8 additional_interface); |
| 358 | |
| 359 | extern kal_bool l4c_regional_phone_mode_req(kal_uint32 mode); |
| 360 | |
| 361 | extern kal_bool l4c_csus_set_sim_slot(kal_uint8 setting); |
| 362 | |
| 363 | extern void l4c_sat_termianl_profile_read_req(kal_uint8 st, kal_uint8 *profile, kal_uint8 *profile_len); |
| 364 | |
| 365 | 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); |
| 366 | |
| 367 | extern kal_bool l4c_sim_set_registration_mode_req(kal_bool registration_mode); |
| 368 | |
| 369 | extern kal_bool l4c_sim_set_apvsim_mode_req(kal_uint8 src_id, kal_bool mode, kal_bool is_ready); |
| 370 | extern kal_bool l4c_sim_rsa_apdu_rsp_req(kal_uint8 src_id, kal_uint32 apdu_len, kal_uint8 *apdu_rsp); |
| 371 | extern kal_bool l4c_sim_rsa_atr_req(kal_uint8 src_id, kal_uint8 atr_status, kal_uint32 atr_len, kal_uint8 *atr); |
| 372 | extern kal_bool l4c_sim_rsa_hot_plug_out_req(kal_uint8 src_id); |
| 373 | extern kal_bool l4c_sim_rsa_hot_plug_in_req(kal_uint8 src_id); |
| 374 | extern kal_uint8 l4c_get_single_sim_exist_status(void); |
| 375 | extern kal_uint8 l4c_get_single_sim_inserted_status(void); |
| 376 | extern kal_bool l4c_query_sim_status_bit(sim_interface_enum sim_id, l4c_sim_flag_enum query_status); |
| 377 | extern kal_bool l4c_reset_l4_sim_context(sim_interface_enum sim_ps_id); |
| 378 | extern kal_bool l4c_sim_read_dir_req(kal_uint8 src_id, kal_uint8 option); |
| 379 | extern kal_bool l4c_sim_op20_ap_simlock_req(kal_uint8 src_id, kal_uint8 lock_mode); |
| 380 | kal_bool l4c_sim_ap_simpower_req(kal_uint8 src_id, kal_uint8 sim_power_mode, kal_bool sim_handle_plug_in); |
| 381 | #ifdef __GEMINI__ |
| 382 | extern kal_bool l4c_sim_plug_out_req(kal_bool aka_status, kal_bool ready_status); |
| 383 | extern void l4c_sim_set_rsim_mode_req(kal_uint8 src_id, kal_bool rsim_status, kal_bool ready_status); |
| 384 | extern void l4c_sim_service_res_req(kal_uint8 src_id, kal_bool mode); |
| 385 | extern void l4c_sim_aka_enable_req(kal_bool mode); |
| 386 | extern void l4c_rsim_set_auth_timeout(kal_uint8 rsim_auth_timeout); |
| 387 | extern void l4c_sim_send_rsim_aka_status_req(void); |
| 388 | #endif |
| 389 | #ifdef __FAKEID_SUPPORT__ |
| 390 | extern kal_bool l4c_sim_fake_id_req(kal_uint8 *mcc_str, kal_uint8 *mnc_str, kal_uint8 *msin_str); |
| 391 | #endif |
| 392 | |
| 393 | extern kal_bool l4c_smu_sml_get_lock_codes_req(kal_uint8 src_id); |
| 394 | extern kal_bool l4c_smu_set_custom_personalization_req( |
| 395 | kal_uint8 src_id, |
| 396 | kal_uint8 category, |
| 397 | kal_uint8 op, |
| 398 | void *data, |
| 399 | kal_uint8 algo_type, |
| 400 | kal_uint8 *salt, |
| 401 | kal_uint8 *iter_cnt); |
| 402 | |
| 403 | extern kal_bool l4c_smu_sl_update_blob_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb); |
| 404 | extern kal_bool l4c_smu_sl_get_sim_lock_status_req(kal_uint8 scr_id); |
| 405 | extern kal_uint8 l4c_get_single_sim_inserted_status_by_ps_id(protocol_id_enum protocol_id); |
| 406 | |
| 407 | extern kal_bool l4c_smu_update_gblob_lock_rule_req(kal_uint8 src_id, kal_uint8 rule, kal_uint16 sub_rule); |
| 408 | 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); |
| 409 | 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); |
| 410 | 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); |
| 411 | extern kal_bool l4c_smu_update_gblob_imei_req(kal_uint8 src_id, kal_uint8 slot_id, kal_uint8* imei); |
| 412 | #ifdef __CUST_SML_RULE__ |
| 413 | extern kal_bool l4c_smu_udpate_gblob_cust_rule_req(kal_uint8 src_id, kal_uint8 cust_code, kal_uint8 cust_rule); |
| 414 | #endif |
| 415 | extern kal_bool l4c_smu_get_gblob_dev_lock_status_req(kal_uint8 src_id); |
| 416 | |
| 417 | #if defined(__TC10__) && defined(__IPC_ADAPTER__) |
| 418 | extern kal_bool l4c_sat_sim_init_msg(kal_uint8 src_id, kal_uint8 action); |
| 419 | extern kal_bool l4c_sat_refresh_voting_cnf(sat_refresh_confirm_rsp_enum voting_result); |
| 420 | #endif |
| 421 | |
| 422 | #ifdef __TC10__ |
| 423 | extern kal_uint8 l4c_sim_query_voltage_info(protocol_id_enum ps_id); |
| 424 | #endif |
| 425 | extern kal_bool l4c_sim_query_atr_info(kal_uint8 *length, kal_uint8 *atr, protocol_id_enum ps_id); |
| 426 | extern kal_uint8 l4c_smu_get_unlock_code_req(); |
| 427 | extern kal_bool l4c_smu_gen_nonce_req(kal_uint8* device_id, kal_uint32 device_id_len, kal_uint8* nonce, kal_uint32* nonce_len); |
| 428 | extern kal_bool l4c_smu_validate_signature_req(kal_uint8 mode, kal_uint8 unlock_code, kal_uint8* signature, kal_uint32 signature_len); |
| 429 | extern kal_bool l4c_smu_get_nonce_sign_status_req(kal_uint8* nonce_status, kal_uint8* sign_status); |
| 430 | |
| 431 | #ifdef __MBIM_MS_NETWORK_BLACKLIST__ |
| 432 | extern void l4c_smu_set_nw_black_list_req(void); |
| 433 | extern void l4c_smu_convert_mcc_mnc_to_int(kal_uint8 *mcc_mnc_char, nw_black_list_provider_struct *output); |
| 434 | extern void l4c_smu_convert_mcc_mnc_to_char(nw_black_list_provider_struct *input_mcc_mnc, kal_uint8 *output); |
| 435 | #endif |
| 436 | extern kal_bool l4c_smu_generate_hck(kal_uint8 src_id, kal_uint8 category, kal_uint8 *ctrl_key_str, |
| 437 | kal_uint32 iter_cnt, kal_uint8 salt_length, |
| 438 | kal_uint16 hck_length); |
| 439 | |
| 440 | #endif /* _L4C_SIM_CMD_H */ |
| 441 | |