blob: 74e09667e59416a6f695c09ec546eab111c4f742 [file] [log] [blame]
rjw6c1fd8f2022-11-30 14:33:01 +08001/*****************************************************************************
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
78enum
79{
80 NONE_TYPE,
81 PHONELOCK_TYPE,
82 PIN1_TYPE
83};
84
85extern kal_bool l4c_smu_get_iccid_req(kal_uint8 src_id, kal_uint8 *iccid_str);
86
87extern kal_bool l4c_smu_get_imsi_req(kal_uint8 src_id, kal_uint8 *imsi);
88
89extern 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
95extern kal_bool l4c_smu_exe_master_reset_req(kal_uint8 src_id, kal_uint8 *pin);
96
97extern kal_bool l4c_smu_get_dial_mode_req( /* sim_dn_enum */ kal_uint8 *dial_mode);
98
99extern kal_bool l4c_smu_exe_verify_pin_req(kal_uint8 src_id, kal_uint8 pin_type, kal_uint8 *pin, kal_uint8 *new_pin);
100
101extern 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
103extern kal_bool l4c_smu_get_pin_type_req(
104 kal_uint8 src_id, /* smu_security_type_enum */
105 kal_uint8 *pin_type);
106
107extern 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
109extern sim_file_index_enum l4c_smu_file_idx_for_preferred_oper_list(sim_file_index_enum selected_file);
110
111extern 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
119extern 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
126extern 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
135extern kal_bool l4c_smu_set_puc_params_req(kal_uint8 src_id, kal_uint8 *pin, kal_uint8 *currency, kal_uint8 *ppu);
136
137extern kal_bool l4c_smu_get_puc_params_req(kal_uint8 src_id, kal_uint8 *currency, kal_uint8 *ppu);
138
139extern 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
145extern 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
157extern kal_bool l4c_smu_exe_dial_mode_req(kal_uint8 src_id, kal_uint8 type, kal_uint8 on_off, kal_uint8 *pin);
158
159extern 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
168extern 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
176extern kal_bool l4c_smu_read_file_info_req(kal_uint8 src_id, kal_uint16 file_idx, kal_uint8 *path, kal_uint8 access_id);
177
178extern 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__
187extern 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
198extern 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
206extern kal_bool l4c_smu_crrst_status_req(kal_uint8 src_id);
207#endif
208
209extern kal_bool l4c_smu_get_shared_key_req(kal_uint8 src_id);
210
211extern kal_bool l4c_smu_update_slb_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb);
212
213extern kal_bool l4c_smu_reset_slb_req(kal_uint8 src_id);
214
215extern kal_bool l4c_smu_get_slb_version_req(kal_uint8 src_id);
216
217extern kal_bool l4c_smu_get_sim_lock_status_req(kal_uint8 scr_id);
218
219extern kal_bool l4c_smu_get_modem_config_req(kal_uint8 src_id);
220
221extern kal_bool l4c_smu_get_api_version_req(kal_uint8 src_id);
222
223#if defined(__SIM_ME_LOCK__)
224extern kal_bool l4c_smu_update_nw_time_req(kal_uint8 nw_time_zone, nw_time_zone_time_struct *nw_time);
225#endif
226
227extern kal_bool l4c_smu_sml_status_req(kal_uint8 src_id);
228
229extern kal_bool l4c_sim_power_off_req(kal_uint8 src_id);
230
231extern kal_bool l4c_sim_remove_req(kal_uint8 src_id, kal_uint8 mode);
232
233extern kal_bool l4c_sim_get_gsmcdma_dualsim_info_req (kal_uint8 src_id);
234
235extern kal_bool l4c_sim_set_gsmcdma_dualsim_mode_req ( kal_uint8 src_id, kal_uint8 op);
236
237extern kal_bool l4c_sim_check_pin_status_req(sim_chv_info_struct *chv_info, sim_chv_status_struct *chv_status);
238
239extern kal_bool l4c_cphs_update_als_req(kal_uint8 src_id, kal_uint8 line_id);
240
241extern void l4c_sim_pin_convert(kal_uint8 *dest, kal_uint8 *src);
242
243extern kal_bool l4c_sim_reset_req(kal_uint8 src_id);
244
245extern 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
250extern 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);
251extern 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
254extern 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__
257extern kal_bool l4c_sim_vsim_req(kal_uint8 src_id, kal_uint8 switch_on, kal_uint8 profile_id,kal_uint8 app_type);
258
259extern kal_bool l4c_sim_get_vsim_rsa_pubkey_req(kal_uint8 src_id);
260
261extern kal_bool l4c_sim_vsim_ki_mode_req(kal_uint8 src_id, kal_uint8 profile_id, kal_bool enabled);
262
263extern 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
265extern 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
267extern 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__)
270extern 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
275extern kal_bool l4c_sim_app_start_req(kal_uint8 src_id, kal_uint8 applicationid);
276
277extern 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
279extern 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
281extern void l4c_smu_sml_ready_notify_req(void);
282
283#ifdef __SAT__
284extern kal_bool l4c_sat_setup_call_res(sat_setup_call_res_struct *local_ptr);
285
286extern kal_bool l4c_sat_send_sms_res(sat_send_sms_res_struct *local_ptr);
287
288extern kal_bool l4c_sat_send_ss_res(sat_send_ss_res_struct *local_ptr);
289
290extern 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
292extern kal_bool l4c_sat_send_ussd_res(sat_send_ussd_res_struct *local_ptr);
293
294extern void l4c_sat_send_ims_ussd_res(kal_bool is_successful, sat_terminal_res_enum tr_cause, void* additional_data_ptr);
295
296extern kal_bool l4c_sat_run_at_command_res(sat_run_at_command_res_struct *local_ptr);
297
298extern kal_bool l4c_sat_send_dtmf_res(kal_uint8 cmd_detail[5], kal_uint8 res, kal_uint8 additional_info);
299
300extern 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
305extern kal_bool l4c_sat_send_dtmf_req(kal_uint8 src_id, kal_uint8 *dtmf_digit, kal_uint8 no_digit);
306
307extern kal_bool l4c_sat_abort_dtmf_req(kal_uint8 src_id);
308
309extern 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__)
312extern kal_bool l4c_sat_terminal_response_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id);
313#else
314extern kal_bool l4c_sat_terminal_response_req(kal_uint8 length, kal_uint8 *terminal_rsp, kal_uint16 cmd_id);
315#endif
316extern kal_bool l4c_sat_envelope_req(kal_uint8 src_id, kal_uint8 length, kal_uint8 *envelope_data, kal_bool is_standard);
317extern kal_bool l4c_sat_setup_sms(kal_uint8 src_id, kal_uint8 mode);
318extern kal_bool l4c_sat_sms_query(kal_uint8 *str, kal_uint16 *str_len);
319
320extern kal_bool l4c_sat_setup_cs_ss(void);
321extern peer_buff_struct* l4c_sat_get_ss_number(void);
322
323extern kal_bool l4c_sat_setup_cs_ussd(void);
324extern void l4c_sat_set_icon_display(sat_terminal_res_enum tr_cause, kal_bool is_icon_displayed);
325extern kal_bool l4c_sat_query_ussd_inform_user(void);
326extern peer_buff_struct* l4c_sat_get_ussd_string(void);
327
328extern kal_bool l4c_sat_setup_call(vdm_l4c_cs_cc_stk_call_req_struct *msg_ptr);
329extern kal_bool l4c_sat_dtmf(void);
330extern kal_bool l4c_sat_menu_query(kal_uint8 *str, kal_uint16 *str_len);
331
332extern kal_bool l4c_sat_ready_req(kal_uint8 src_id);
333
334extern kal_bool l4c_sat_cusata_req(kal_uint8 src_id, kal_uint8 act_config);
335
336extern kal_bool l4c_sat_cusatd_req(kal_uint8 dwl_config);
337
338extern kal_bool l4c_sat_set_ct_mode_req(kal_uint8 ct_mode);
339
340extern kal_bool l4c_sat_inject_proactive_cmd_ind(kal_uint8 *cmd_data, kal_uint16 cmd_len);
341
342#endif /* __SAT__ */
343
344extern void l4c_smu_sim_status_update_req(kal_uint8 new_sim_config);
345
346extern kal_bool l4c_sim_set_3g_cap_req(kal_uint8 src_id, kal_uint8 cur_3g_capability, kal_uint8 *cur_ps_sim_map);
347
348extern void l4c_sim_read_plmn_req(kal_uint8 src_id, kal_uint8 access_id, kal_uint16 file_idx);
349extern 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);
350extern 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
353extern kal_bool l4c_sim_recovery_enhancement_switch_req(kal_bool mode);
354
355extern kal_bool l4c_sim_query_info_req(kal_uint8 src_id, sim_query_info_enum info_id);
356
357extern kal_bool l4c_sim_terminal_capability_setting_req(kal_uint8 additional_interface);
358
359extern kal_bool l4c_regional_phone_mode_req(kal_uint32 mode);
360
361extern kal_bool l4c_csus_set_sim_slot(kal_uint8 setting);
362
363extern void l4c_sat_termianl_profile_read_req(kal_uint8 st, kal_uint8 *profile, kal_uint8 *profile_len);
364
365extern 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
367extern kal_bool l4c_sim_set_registration_mode_req(kal_bool registration_mode);
368
369extern kal_bool l4c_sim_set_apvsim_mode_req(kal_uint8 src_id, kal_bool mode, kal_bool is_ready);
370extern kal_bool l4c_sim_rsa_apdu_rsp_req(kal_uint8 src_id, kal_uint32 apdu_len, kal_uint8 *apdu_rsp);
371extern kal_bool l4c_sim_rsa_atr_req(kal_uint8 src_id, kal_uint8 atr_status, kal_uint32 atr_len, kal_uint8 *atr);
372extern kal_bool l4c_sim_rsa_hot_plug_out_req(kal_uint8 src_id);
373extern kal_bool l4c_sim_rsa_hot_plug_in_req(kal_uint8 src_id);
374extern kal_uint8 l4c_get_single_sim_exist_status(void);
375extern kal_uint8 l4c_get_single_sim_inserted_status(void);
376extern kal_bool l4c_query_sim_status_bit(sim_interface_enum sim_id, l4c_sim_flag_enum query_status);
377extern kal_bool l4c_reset_l4_sim_context(sim_interface_enum sim_ps_id);
378extern kal_bool l4c_sim_read_dir_req(kal_uint8 src_id, kal_uint8 option);
379extern kal_bool l4c_sim_op20_ap_simlock_req(kal_uint8 src_id, kal_uint8 lock_mode);
380kal_bool l4c_sim_ap_simpower_req(kal_uint8 src_id, kal_uint8 sim_power_mode, kal_bool sim_handle_plug_in);
381#ifdef __GEMINI__
382extern kal_bool l4c_sim_plug_out_req(kal_bool aka_status, kal_bool ready_status);
383extern void l4c_sim_set_rsim_mode_req(kal_uint8 src_id, kal_bool rsim_status, kal_bool ready_status);
384extern void l4c_sim_service_res_req(kal_uint8 src_id, kal_bool mode);
385extern void l4c_sim_aka_enable_req(kal_bool mode);
386extern void l4c_rsim_set_auth_timeout(kal_uint8 rsim_auth_timeout);
387extern void l4c_sim_send_rsim_aka_status_req(void);
388#endif
389#ifdef __FAKEID_SUPPORT__
390extern kal_bool l4c_sim_fake_id_req(kal_uint8 *mcc_str, kal_uint8 *mnc_str, kal_uint8 *msin_str);
391#endif
392
393extern kal_bool l4c_smu_sml_get_lock_codes_req(kal_uint8 src_id);
394extern 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
403extern kal_bool l4c_smu_sl_update_blob_req(kal_uint8 src_id, kal_uint16 slb_len, kal_uint8 *slb);
404extern kal_bool l4c_smu_sl_get_sim_lock_status_req(kal_uint8 scr_id);
405extern kal_uint8 l4c_get_single_sim_inserted_status_by_ps_id(protocol_id_enum protocol_id);
406
407extern kal_bool l4c_smu_update_gblob_lock_rule_req(kal_uint8 src_id, kal_uint8 rule, kal_uint16 sub_rule);
408extern kal_bool l4c_smu_update_gblob_data_req(kal_uint8 src_id, kal_uint8 op, kal_uint16 gblob_data_len, kal_uint8 *gblob_data);
409extern 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);
410extern 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);
411extern kal_bool l4c_smu_update_gblob_imei_req(kal_uint8 src_id, kal_uint8 slot_id, kal_uint8* imei);
412#ifdef __CUST_SML_RULE__
413extern kal_bool l4c_smu_udpate_gblob_cust_rule_req(kal_uint8 src_id, kal_uint8 cust_code, kal_uint8 cust_rule);
414#endif
415extern kal_bool l4c_smu_get_gblob_dev_lock_status_req(kal_uint8 src_id);
416
417#if defined(__TC10__) && defined(__IPC_ADAPTER__)
418extern kal_bool l4c_sat_sim_init_msg(kal_uint8 src_id, kal_uint8 action);
419extern kal_bool l4c_sat_refresh_voting_cnf(sat_refresh_confirm_rsp_enum voting_result);
420#endif
421
422#ifdef __TC10__
423extern kal_uint8 l4c_sim_query_voltage_info(protocol_id_enum ps_id);
424#endif
425extern kal_bool l4c_sim_query_atr_info(kal_uint8 *length, kal_uint8 *atr, protocol_id_enum ps_id);
426extern kal_uint8 l4c_smu_get_unlock_code_req();
427extern kal_bool l4c_smu_gen_nonce_req(kal_uint8* device_id, kal_uint32 device_id_len, kal_uint8* nonce, kal_uint32* nonce_len);
428extern kal_bool l4c_smu_validate_signature_req(kal_uint8 mode, kal_uint8 unlock_code, kal_uint8* signature, kal_uint32 signature_len);
429extern kal_bool l4c_smu_get_nonce_sign_status_req(kal_uint8* nonce_status, kal_uint8* sign_status);
430
431#ifdef __MBIM_MS_NETWORK_BLACKLIST__
432extern void l4c_smu_set_nw_black_list_req(void);
433extern void l4c_smu_convert_mcc_mnc_to_int(kal_uint8 *mcc_mnc_char, nw_black_list_provider_struct *output);
434extern void l4c_smu_convert_mcc_mnc_to_char(nw_black_list_provider_struct *input_mcc_mnc, kal_uint8 *output);
435#endif
436extern 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