blob: ec3a2fcbc163e9e3dd62083930ba6abae5248daf [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_sms_cmd.h
40 *
41 * Project:
42 * --------
43 * MT6208
44 *
45 * Description:
46 * ------------
47 * This file is intends for �K.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *******************************************************************************/
54
55#ifndef _L4C_SMS_CMD_H
56#define _L4C_SMS_CMD_H
57
58#include "l4c_aux_struct.h"
59#include "smsal_l4c_enum.h"
60#include "l4c2smsal_struct.h"
61#include "rmmi_common_enum.h"
62#include "kal_general_types.h"
63#include "ps_public_struct.h"
64#include "ps_public_enum.h"
65
66extern kal_bool l4c_sms_set_profile_params_req(
67 kal_uint8 src_id,
68 kal_uint16 para_ind,
69 kal_uint8 profile_no,
70 kal_uint8 pid,
71 kal_uint8 dcs,
72 kal_uint8 vp,
73 l4c_number_struct sc_addr,
74 l4_name_struct profile_name);
75
76extern kal_bool l4c_sms_get_profile_params_req(
77 kal_uint8 src_id,
78 kal_uint8 profile_no,
79 kal_uint8 *pid,
80 kal_uint8 *dcs,
81 kal_uint8 *vp,
82 l4c_number_struct *sc_addr,
83 l4_name_struct *profile_name);
84
85extern kal_bool l4c_sms_set_common_params_req(
86 kal_uint8 src_id,
87 kal_uint16 para_ind,
88 kal_uint8 fo,
89 kal_uint8 bearer_service,
90 kal_uint8 status_report,
91 kal_uint8 reply_path);
92
93extern kal_bool l4c_sms_get_common_params_req(
94 kal_uint8 src_id,
95 kal_uint8 *fo,
96 kal_uint8 *bearer_service,
97 kal_uint8 *status_report,
98 kal_uint8 *reply_path);
99
100extern kal_bool l4c_sms_startup_read_next_req(kal_uint8 src_id);
101
102extern kal_bool l4c_sms_set_bearer_service_req(kal_uint8 src_id, kal_uint8 bearer);
103
104extern void l4c_sms_get_bearer_service_req(kal_uint8 src_id, kal_uint8 *bearer);
105
106extern kal_bool l4c_sms_exe_post_command_req(
107 kal_uint8 src_id,
108 kal_uint8 fo,
109 kal_uint8 ct,
110 kal_uint8 mn,
111 kal_uint8 pid,
112 l4c_number_struct dest,
113 kal_uint8 length,
114 kal_uint8 *cmd);
115
116extern kal_bool l4c_sms_exe_post_command_pdu_req(
117 kal_uint8 src_id,
118 kal_uint16 data_len,
119 kal_uint16 length,
120 kal_uint8 *pdu);
121
122extern kal_bool l4c_sms_exe_delete_msg_req(
123 kal_uint8 src_id,
124 kal_uint8 del_flag,
125 kal_uint16 index,
126 kal_uint8 *del_bitmap);
127
128extern kal_bool l4c_sms_set_msg_format_req(kal_uint8 src_id, kal_uint8 format);
129
130extern void l4c_sms_get_msg_format_req(kal_uint8 src_id, kal_uint8 *format);
131
132extern kal_bool l4c_sms_exe_read_msg_list_req(
133 kal_uint8 src_id,
134 kal_uint8 change_status,
135 kal_uint8 status,
136 kal_uint16 start_index,
137 kal_uint8 no_msg);
138
139extern kal_bool l4c_sms_exe_emgl_list_req(
140 kal_uint8 src_id,
141 kal_uint8 change_status,
142 kal_uint8 status,
143 kal_uint16 start_index,
144 kal_uint8 no_msg);
145
146extern kal_bool l4c_sms_send_from_storage_req(
147 kal_uint8 src_id,
148 kal_uint16 index,
149 kal_bool addr_present,
150 l4c_number_struct da,
151 kal_uint8 profile_no_tag,
152 kal_uint8 profile_no);
153
154extern kal_bool l4c_sms_set_status_req(
155 kal_uint8 src_id,
156 kal_uint8 new_status,
157 kal_uint16 index);
158
159extern kal_bool l4c_sms_exe_read_msg_req(kal_uint8 src_id, kal_uint16 index, kal_bool change_status);
160
161extern kal_bool l4c_sms_exe_post_msg_req(
162 kal_uint8 src_id,
163 kal_uint8 profile,
164 kal_uint16 reply_index,
165 l4c_number_struct dest,
166 kal_uint16 para,
167 l4c_number_struct sc_addr,
168 kal_uint8 vp,
169 smsal_pid_enum pid,
170 kal_uint8 udhi,
171 smsal_dcs_enum dcs,
172 kal_uint16 length,
173 kal_uint8 *msg,
174 kal_uint8 seq_num,
175 kal_uint8 mms_mode,
176 kal_uint8 tp_srr,
177 kal_uint8 tp_rp);
178
179extern kal_bool l4c_sms_exe_post_pdu_req(
180 kal_uint8 src_id,
181 kal_uint16 reply_index,
182 kal_uint16 data_len,
183 kal_uint8 source_id,
184 kal_uint8 seq_num,
185 kal_uint8 mms_mode,
186 kal_uint16 length,
187 kal_uint8 *pdu);
188
189extern kal_bool l4c_sms_exe_write_msg_req(
190 kal_uint8 src_id,
191 kal_uint8 profile,
192 kal_uint8 status,
193 l4c_number_struct dest,
194 kal_uint16 para,
195 l4c_number_struct sc_addr,
196 kal_uint8 *scts,
197 kal_uint8 vp,
198 kal_uint8 pid,
199 kal_uint8 udhi,
200 kal_uint8 dcs,
201 kal_uint16 index,
202 kal_uint16 length,
203 kal_uint8 *msg,
204 kal_uint8 tp_srr,
205 kal_uint8 tp_mms,
206 kal_uint8 tp_rp,
207 kal_uint8 tp_sri);
208
209extern kal_bool l4c_sms_exe_write_pdu_req(
210 kal_uint8 src_id,
211 kal_uint8 status,
212 kal_uint16 data_len,
213 kal_uint16 length,
214 kal_uint8 *pdu);
215
216extern kal_bool l4c_sms_set_more_req(kal_uint8 src_id, kal_uint8 mode);
217
218extern void l4c_sms_get_more_req(kal_uint8 src_id, kal_uint8 *mode);
219
220extern kal_bool l4c_sms_exe_storage_post_req(
221 kal_uint8 src_id,
222 kal_uint16 index,
223 kal_uint16 reply_index,
224 kal_bool addr_present,
225 l4c_number_struct dest,
226 kal_uint8 profile_no_tag,
227 kal_uint8 profile_no);
228
229extern kal_bool l4c_sms_set_msg_ind_mode_req(
230 kal_uint8 src_id,
231 kal_uint8 mode,
232 kal_uint8 mt,
233 kal_uint8 bm,
234 kal_uint8 ds);
235
236extern void l4c_sms_get_msg_ind_mode_req(
237 kal_uint8 src_id,
238 kal_uint8 *mode,
239 kal_uint8 *mt,
240 kal_uint8 *bm,
241 kal_uint8 *ds);
242
243extern kal_bool l4c_sms_exe_send_ack_req(kal_uint8 src_id, kal_uint8 mode, kal_uint16 length, kal_uint8 *ack);
244
245extern kal_bool l4c_sms_set_preferred_mem_req(kal_uint8 src_id, kal_uint8 mem1, kal_uint8 mem2, kal_uint8 mem3);
246
247extern void l4c_sms_get_preferred_mem_req(kal_uint8 src_id, smsal_prefer_storage_struct *info);
248
249
250extern kal_bool l4c_smsal_eqsi_query(
251 rmmi_smsal_storage_enum mem,
252 kal_uint16 *beg_index,
253 kal_uint16 *end_index,
254 kal_uint16 *used);
255
256extern kal_bool l4c_sms_set_service_mode_req(kal_uint8 src_id, kal_uint8 mode);
257
258extern void l4c_sms_get_service_mode_req(kal_uint8 src_id, kal_uint8 *mode, smsal_service_mode_struct *info);
259
260extern kal_bool l4c_sms_get_no_msgs_req(
261 kal_uint8 src_id,
262 //kal_bool *is_sms_ready,
263 kal_bool *is_sim_card_change,
264 kal_uint16 *in_sim_no,
265 kal_uint16 *in_me_no,
266 kal_uint16 *out_sim_no,
267 kal_uint16 *out_me_no,
268 kal_uint16 *unread_msg_num,
269 kal_uint16 *total_sim_num,
270 kal_uint16 *total_me_num);
271
272extern kal_bool l4c_sms_get_no_profiles_req(kal_uint8 src_id, kal_uint8 *profile_no, kal_uint8 *name_len);
273#if 0
274/* under construction !*/
275#endif
276extern void l4c_sms_get_sc_addr_req(kal_uint8 src_id, kal_uint8 profile_no, l4c_number_struct *sc_addr);
277#if 0
278/* under construction !*/
279/* under construction !*/
280/* under construction !*/
281/* under construction !*/
282/* under construction !*/
283/* under construction !*/
284/* under construction !*/
285/* under construction !*/
286/* under construction !*/
287/* under construction !*/
288#endif
289extern void l4c_sms_get_post_params_req(
290 kal_uint8 src_id,
291 kal_uint8 profile_no,
292 kal_uint8 *fo,
293 kal_uint8 *pid,
294 kal_uint8 *dcs,
295 kal_uint8 *vp,
296 l4_name_struct *profile_name);
297/*
298 * extern kal_bool l4c_sms_exe_load_profile_req (kal_uint8 src_id,
299 * kal_uint8 index);
300 *
301 * extern kal_bool l4c_sms_exe_save_profile_req (kal_uint8 src_id,
302 * kal_uint8 index);
303 */
304#if 0
305/* under construction !*/
306#endif
307extern kal_bool l4c_cb_subscribe_req(kal_uint8 src_id, kal_uint8 on_off, smsal_cb_cmd_enum cb_cmd);
308
309extern kal_bool l4c_sms_set_cb_mode_req(kal_uint8 src_id, l4c_cb_info_struct *info, smsal_cb_cmd_enum cb_cmd);
310
311extern kal_bool l4c_sms_get_cb_mode_req(
312 kal_uint8 src_id,
313 kal_uint8 *mode,
314 kal_uint8 *total_mid_num,
315 kal_uint8 *total_mir_num,
316 kal_uint8 *total_dcs_num,
317 l4c_cb_info_struct *info);
318
319extern void l4c_sms_cb_msg_removal_req(kal_uint16 mid, kal_uint16 sn);
320
321extern kal_bool l4c_send_wea_test_data(kal_uint8 mode);
322
323extern void l4c_sms_exe_abort_req(kal_uint8 src_id, kal_uint8 seq_num);
324
325extern kal_bool l4c_sms_get_mailbox_addr_req(kal_uint8 src_id);
326
327extern kal_bool l4c_sms_set_mailbox_addr_req(
328 kal_uint8 src_id,
329 kal_uint8 mailbox_num,
330 l4c_number_struct num_addr,
331 l4_name_struct name);
332
333// R4/R5 SMS
334extern kal_bool l4c_sms_set_mbi_req(kal_uint8 src_id, kal_uint8 msp_no, smsal_mbi_struct mbi);
335extern kal_bool l4c_sms_get_mbi_req(kal_uint8 src_id, kal_uint8 *msp_num, smsal_mbi_struct *mbi);
336extern kal_bool l4c_sms_set_msp_req(kal_uint8 src_id, kal_uint8 msp_no);
337extern kal_bool l4c_sms_get_msp_req(kal_uint8 src_id, kal_uint8 *msp_no);
338
339extern kal_bool l4c_smsal_init_me_sms_req(kal_uint8 src_id,kal_uint8 init_type);
340
341extern kal_bool l4c_sms_reg_port_num_req(
342 kal_uint8 src_id,
343 kal_bool enable,
344 kal_uint32 port_num,
345 kal_uint16 mod_id,
346 kal_uint16 *cause,
347 kal_uint32 *ret_port_num,
348 kal_uint16 *ret_mod_id,
349 kal_uint8 *ret_source_id);
350
351extern void l4c_sms_set_rmmi_sc_addr_req(kal_uint8 src_id, l4c_number_struct sc_addr);
352
353extern kal_bool l4c_sms_set_rmmi_post_params_req(
354 kal_uint8 src_id,
355 kal_uint8 profile_no, //dummy
356 kal_uint16 para_ind,
357 kal_uint8 fo,
358 kal_uint8 pid,
359 kal_uint8 dcs,
360 kal_uint8 vp);
361
362extern void l4c_sms_exe_save_settings_req(kal_uint8 src_id, kal_uint8 profile_id);
363
364extern void l4c_sms_exe_restore_settings_req(kal_uint8 src_id, kal_uint8 profile_id);
365
366extern kal_bool l4c_smsal_read_raw_data_req(kal_uint8 src_id, kal_uint16 index);
367extern kal_bool l4c_smsal_write_raw_data_req(kal_uint8 src_id, kal_uint8 storage_type,kal_uint16 data_len,kal_uint8 *data);
368
369extern void l4c_smsal_fdn_check_rsp(kal_uint8 result, kal_uint16 cause);
370
371extern kal_bool l4c_sms_copy_msg_req(kal_uint8 src_id, kal_uint8 action, kal_uint8 dst_storage, kal_uint16 src_index);
372
373extern void l4c_sms_sync_msg_res_req(kal_bool result);
374
375extern kal_bool l4c_sms_exe_send_smma_req(kal_uint8 src_id);
376extern kal_bool l4c_sms_exe_set_msg_waiting_req(kal_uint8 src_id,kal_uint8 line_no,kal_uint8 waiting_num,kal_uint8 ind_type);
377
378extern void l4c_sms_usm_general_rcode_req(
379 kal_uint8 src_id,
380 rmmi_usm_atcmd_enum atcmd_type,
381 kal_uint32 atcmd_index,
382 rmmi_usm_message_stat_enum tag_type,
383 kal_bool iscomplete,
384 kal_uint8 pdu_length,
385 kal_uint8 *pdu,
386 l4c_usm_cnmi_struct cnmi_parameter,
387 l4c_usm_cmss_struct cmss_struct,
388 kal_uint8 result,
389 kal_uint16 cause);
390
391extern void l4c_sms_sync_msg_storage_req(
392 kal_uint8 src_id,
393 kal_uint32 sm_max_num,
394 kal_uint32 sm_current_num,
395 kal_uint32 me_max_num,
396 kal_uint32 me_current_num,
397 kal_uint32 sr_max_num,
398 kal_uint32 sr_current_num);
399
400extern kal_bool l4c_sms_send_deliver_report_req(kal_uint8 src_id,kal_uint8 result,kal_uint32 error_cause, kal_uint8 mem, kal_uint32 index, kal_uint8 uid, kal_uint8 msg_class, kal_bool is_msg_wait, kal_uint8 msg_wait_store);
401extern kal_bool l4c_sms_startup_read_res_req(kal_uint8 src_id);
402extern kal_bool l4c_sms_get_mem_status_res_req(kal_uint8 src_id,kal_uint32 sim_max_num,kal_uint32 sim_current_num,kal_uint32 me_max_num,kal_uint32 me_current_num,kal_uint32 sr_max_num,kal_uint32 sr_current_num,kal_uint8 source_id);
403extern kal_bool l4c_sms_mem_status_req(kal_uint8 src_id,kal_uint8 mem_status);
404extern kal_bool l4c_sms_atcmd_cmgr_res_req(kal_uint8 src_id,kal_uint8 result,kal_uint16 cause,kal_uint8 source_id,kal_uint8 mem, kal_uint32 index, kal_uint8 stat, kal_uint16 pdu_length, kal_uint8 *pdu);
405extern kal_bool l4c_sms_atcmd_cmgl_res_req(kal_uint8 src_id,kal_uint8 mem, kal_uint32 index, kal_uint8 stat, kal_uint16 pdu_length, kal_uint8 *pdu, kal_uint8 result,kal_uint16 cause, kal_uint8 is_complete, kal_uint8 source_id);
406extern kal_bool l4c_sms_atcmd_cmgd_res_req(kal_uint8 src_id,kal_uint8 result, kal_uint16 cause, kal_uint8 source_id);
407extern kal_bool l4c_sms_atcmd_cmgw_res_req(kal_uint8 src_id,kal_uint32 index, kal_uint8 result, kal_uint16 cause, kal_uint8 source_id);
408extern kal_bool l4c_sms_atcmd_eqsi_res_req(kal_uint8 src_id,kal_uint8 mem, kal_uint32 begin, kal_uint32 end, kal_uint32 used, kal_uint8 source_id);
409
410extern kal_bool l4c_sms_etws_setting_req(kal_uint8 src_id, kal_bool is_etws_needed, kal_bool is_etws_security_needed, kal_bool is_etws_testing_on, kal_bool write_to_nvram);
411
412/* __IMS_SUPPORT__ */
413extern kal_bool l4c_sms_ims_exe_submit_pdu_req(kal_uint8 src_id, kal_uint16 data_len, kal_uint16 length, kal_uint8 *pdu, kal_bool stksms);
414
415extern kal_bool l4c_sms_ims_exe_submit_text_req(kal_uint8 src_id, kal_uint8 profile, kal_uint16 reply_index, l4c_number_struct dest, kal_uint16 para, l4c_number_struct sca, kal_uint8 vp, smsal_pid_enum pid, kal_uint8 udhi, smsal_dcs_enum dcs, kal_uint16 length, kal_uint8 *msg, kal_uint8 seq_num, kal_uint8 mms_mode, kal_uint8 tp_srr, kal_uint8 tp_rp);
416
417extern kal_bool l4c_sms_ims_exe_command_pdu_req(kal_uint8 src_id, kal_uint16 data_len, kal_uint16 length, kal_uint8 *pdu);
418
419extern kal_bool l4c_sms_ims_exe_command_text_req(kal_uint8 src_id, kal_uint8 fo, kal_uint8 ct, kal_uint8 mn, kal_uint8 pid, l4c_number_struct dest, kal_uint16 length, kal_uint8 *cmd);
420
421extern kal_bool l4c_sms_ims_exe_mt_pdu_req(kal_uint8 src_id, kal_uint16 pdu_len, kal_uint8 *pdu_ptr);
422
423extern kal_bool l4c_sms_ims_exe_smma_req(kal_uint8 src_id, kal_uint8 op, kal_uint8 is_full);
424
425extern kal_bool l4c_sms_ims_exe_storage_post_req(
426 kal_uint8 src_id,
427 kal_uint16 index,
428 kal_uint16 reply_index,
429 kal_bool addr_present,
430 l4c_number_struct dest,
431 kal_uint8 profile_no_tag,
432 kal_uint8 profile_no,
433 smsal_domain_enum domain,
434 kal_uint8 msg_ref,
435 kal_bool is_retry);
436
437extern kal_bool l4c_sms_ims_exe_update_msgbox(kal_uint8 src_id, kal_uint8 result, kal_uint8 mr);
438/* end of __IMS_SUPPORT__ */
439
440extern void l4c_sms_context_switch(l4c_me_reconfig_enum reconfig_type);
441
442extern kal_bool l4c_smsal_init_req(kal_uint8 src_id, smsal_init_type_enum init_type);
443extern kal_bool l4c_smsal_sms_end_req(kal_uint8 src_id, kal_uint8 domain,kal_uint8 direction);
444
445
446#endif /* _L4C_SMS_CMD_H */