blob: 2ead62b6cc9b699d87ed979e4bf913311f5c70b4 [file] [log] [blame]
yu.dongc33b3072024-08-21 23:14:49 -07001/*****************************************************************************
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 * csmcc_atfunc.h
40 *
41 * Project:
42 * --------
43 * MAUI
44 *
45 * Description:
46 * ------------
47 * This file is intends for exporting function declaration used by L4C module.
48 *
49 * Author:
50 * -------
51 * -------
52 *
53 *==============================================================================
54 * HISTORY
55 * Below this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
56 *------------------------------------------------------------------------------
57 * removed!
58 *
59 * removed!
60 * removed!
61 * removed!
62 *
63 * removed!
64 * removed!
65 * removed!
66 *
67 * removed!
68 * removed!
69 *
70 * removed!
71 * removed!
72 * removed!
73 *
74 * removed!
75 * removed!
76 * removed!
77 * removed!
78 *
79 * removed!
80 * removed!
81 *
82 * removed!
83 * removed!
84 *
85 * removed!
86 * removed!
87 * removed!
88 *
89 * removed!
90 * removed!
91 * removed!
92 *
93 * removed!
94 * removed!
95 * removed!
96 *
97 * removed!
98 * removed!
99 * removed!
100 *
101 * removed!
102 * removed!
103 * removed!
104 *
105 * removed!
106 * removed!
107 * removed!
108 *
109 * removed!
110 * removed!
111 * removed!
112 *
113 * removed!
114 * removed!
115 * removed!
116 *
117 * removed!
118 * removed!
119 * removed!
120 *
121 * removed!
122 * removed!
123 * removed!
124 *
125 * removed!
126 * removed!
127 * removed!
128 *
129 * removed!
130 * removed!
131 * removed!
132 *
133 * removed!
134 * removed!
135 * removed!
136 *
137 * removed!
138 * removed!
139 * removed!
140 *
141 * removed!
142 * removed!
143 * removed!
144 *
145 * removed!
146 * removed!
147 * removed!
148 *
149 * removed!
150 * removed!
151 * removed!
152 *
153 * removed!
154 * removed!
155 * removed!
156 *
157 * removed!
158 * removed!
159 * removed!
160 *
161 * removed!
162 * removed!
163 * removed!
164 *
165 * removed!
166 * removed!
167 * removed!
168 *
169 * removed!
170 * removed!
171 * removed!
172 *
173 * removed!
174 * removed!
175 * removed!
176 *
177 * removed!
178 * removed!
179 * removed!
180 *
181 *------------------------------------------------------------------------------
182 * Upper this line, this part is controlled by PVCS VM. DO NOT MODIFY!!
183 *==============================================================================
184 *******************************************************************************/
185
186/********************************************************************************
187* Copyright Statement:
188* --------------------
189*
190* This product has been developed using a protocol stack
191* developed by Sasken Communication Technologies Limited.
192*
193********************************************************************************/
194
195#ifndef _CSMCC_ATFUNC_H
196#define _CSMCC_ATFUNC_H
197
198//#include "kal_non_specific_general_types.h"
199#include "kal_general_types.h"
200#include "ps_public_struct.h"
201
202typedef struct l4c_call_entry_struct
203{
204 kal_uint8 src_id;
205 kal_uint8 call_id;
206 kal_uint8 call_orig;
207 kal_uint8 call_state;
208 kal_uint8 call_mode;
209 kal_uint8 call_type;
210 kal_uint8 mpty;
211 l4_addr_bcd_struct number;
212 kal_uint8 priority;
213
214 kal_uint8 number_type;
215 kal_bool alpha_present;
216 kal_char alpha[MAX_PS_NAME_SIZE + 1]; // MAX_PS_NAME_SIZE: 42
217 kal_bool uri_present;
218 kal_char uri[MAX_SIP_URI_LEN];
219 kal_bool cli_present;
220 kal_uint8 cli;
221 kal_uint8 cli_validity;
222} l4c_call_entry_struct;
223
224extern kal_bool l4ccsm_cc_get_call_info (
225 kal_uint8 call_id,
226 l4c_call_entry_struct *call_info,
227 kal_uint8 *next_call_id);
228
229extern kal_bool l4ccsm_cc_get_acm(
230 kal_uint32 *acm,
231 kal_uint32 *acmmax);
232
233extern kal_bool l4ccsm_cc_get_ccm(
234 kal_uint8 call_id,
235 kal_uint32 *ccm);
236
237extern kal_bool
238l4ccsm_cc_get_data_rate(kal_uint32 *rate);
239
240extern kal_bool
241l4ccsm_cc_get_data_call_info(kal_uint8 *data_call_type);
242
243extern kal_bool l4ccsm_cc_get_mt_call(
244 kal_uint8 *call_id);
245
246extern kal_bool l4ccsm_cc_get_in_call(
247 kal_uint8 *call_id);
248
249extern kal_bool l4ccsm_cc_get_outgoing_call(kal_uint8 *call_id);
250
251extern kal_bool l4ccsm_cc_get_active_call(
252 kal_uint8 *call_id);
253
254extern kal_bool l4ccsm_cc_set_addr_type(
255 kal_uint8 addr_type);
256
257extern kal_bool l4ccsm_cc_get_addr_type(
258 kal_uint8 *addr_type);
259
260#if 0
261/* under construction !*/
262#endif //[MAUI_00736467]
263
264extern kal_bool l4ccsm_cc_set_call_mode (
265 kal_uint8 call_mode);
266
267extern kal_bool l4ccsm_cc_get_call_mode(
268 kal_uint8 *call_mode);
269
270extern kal_bool l4ccsm_cc_test_call_mode(kal_uint8 const **supp_ptr);
271
272extern kal_bool csmcc_check_cbst_para_supported(
273 kal_uint8 bearer_speed,
274 kal_uint8 bearer_name,
275 kal_uint8 bearer_ce,
276 kal_bool need_check_fax);
277
278extern kal_bool l4ccsm_cc_set_bearer_service_type (
279 kal_uint8 bearer_speed,
280 kal_uint8 bearer_name,
281 kal_uint8 bearer_ce);
282
283#if 0 /*mtk01602, 070606*/
284#ifdef __SATCE__
285/* under construction !*/
286/* under construction !*/
287/* under construction !*/
288/* under construction !*/
289#endif
290#endif /*mtk01602, 070606*/
291extern kal_bool l4ccsm_cc_get_bearer_service_type (
292 kal_uint8 *bearer_speed,
293 kal_uint8 *bearer_name,
294 kal_uint8 *bearer_ce);
295
296extern kal_bool l4ccsm_cc_test_bearer_service_type(kal_uint8 const **supp_ptr);
297
298extern kal_bool l4ccsm_cc_set_sns_mode (
299 kal_uint8 sns_mode);
300
301extern kal_bool l4ccsm_cc_get_sns_mode (
302 kal_uint8 *sns_mode);
303
304extern kal_bool l4ccsm_cc_test_sns_mode(kal_uint8 const **supp_ptr);
305
306extern kal_bool l4ccsm_cc_set_char_framing (
307 kal_uint8 cf_format,
308 kal_uint8 cf_parity);
309
310extern kal_bool l4ccsm_cc_get_char_framing (
311 kal_uint8 *cf_format,
312 kal_uint8 *cf_parity);
313
314extern kal_bool l4ccsm_cc_test_char_framing(kal_uint8 const **supp_ptr);
315
316extern kal_bool l4ccsm_cc_set_v120_param (
317 kal_uint8 v120_rah,
318 kal_uint8 v120_mfm,
319 kal_uint8 v120_mode,
320 kal_uint8 v120_llineg,
321 kal_uint8 v120_assign,
322 kal_uint8 v120_negtype);
323
324extern kal_bool l4ccsm_cc_get_v120_param (
325 kal_uint8 *v120_rah,
326 kal_uint8 *v120_mfm,
327 kal_uint8 *v120_mode,
328 kal_uint8 *v120_llineg,
329 kal_uint8 *v120_assign,
330 kal_uint8 *v120_negtype);
331
332#if 0
333/* under construction !*/
334#endif //[MAUI_00736467]
335
336extern kal_bool l4ccsm_cc_set_rlp_param (
337 kal_uint8 rlp_iws,
338 kal_uint8 rlp_mws,
339 kal_uint8 rlp_T1,
340 kal_uint8 rlp_N2,
341 kal_uint8 rlp_ver,
342 kal_uint8 rlp_T4);
343
344extern kal_bool l4ccsm_cc_get_rlp_param (
345 kal_uint8 *rlp_iws,
346 kal_uint8 *rlp_mws,
347 kal_uint16 *rlp_T1,
348 kal_uint8 *rlp_N2,
349 kal_uint8 *rlp_ver,
350 kal_uint8 *rlp_T4);
351
352extern kal_bool l4ccsm_cc_test_rlp_param(kal_uint8 const **supp_ptr);
353
354extern kal_bool l4ccsm_cc_set_data_compression_param (
355 kal_uint8 dir,
356 kal_uint8 negotiation,
357 kal_uint16 max_dict,
358 kal_uint8 max_string);
359
360extern kal_bool l4ccsm_cc_get_data_compression_mode(
361 kal_uint8 *dir,
362 kal_uint8 *negotiation,
363 kal_uint16 *max_dict,
364 kal_uint8 *max_string);
365
366extern kal_bool l4ccsm_cc_test_data_compression_param(kal_uint8 const **supp_ptr);
367
368extern kal_bool l4ccsm_cc_test_aoc_mode(kal_uint8 const **supp_ptr);
369
370extern kal_bool l4ccsm_cc_set_cug_param (
371 kal_uint8 cug_temporary_mode,
372 kal_uint8 cug_index,
373 kal_uint8 cug_suppress);
374
375extern kal_bool l4ccsm_cc_get_cug_param (
376 kal_uint8 *cug_temporary_mode,
377 kal_uint8 *cug_index,
378 kal_uint8 *cug_suppress);
379#if 0
380/* under construction !*/
381/* under construction !*/
382/* under construction !*/
383/* under construction !*/
384/* under construction !*/
385/* under construction !*/
386/* under construction !*/
387#endif //[MAUI_00736467]
388
389extern kal_bool l4ccsm_cc_set_fclass_mode(
390 kal_uint8 fclass_mode);
391
392extern kal_bool l4ccsm_cc_get_fclass_mode(
393 kal_uint8 *fclass_mode);
394
395extern kal_bool l4ccsm_cc_test_fclass_mode(kal_uint8 const **supp_ptr);
396
397extern kal_bool l4ccsm_cc_test_chld_mode(kal_uint8 const **supp_ptr);
398
399extern kal_bool l4ccsm_cc_test_vts_mode(kal_uint8 const **supp_ptr);
400
401extern kal_bool l4ccsm_cc_test_cpas_mode(kal_uint8 const **supp_ptr);
402
403extern kal_uint8 csmcc_get_line_id(void);
404
405extern kal_bool l4ccsm_cc_set_ctm_status(kal_uint8 ctm_status);
406
407extern kal_bool l4ccsm_cc_set_call_capability(kal_uint32 capability);
408
409extern kal_bool l4ccsm_cc_set_iwf(kal_uint8 iwf);
410
411extern kal_bool l4ccsm_cc_get_iwf(kal_uint8 * iwf);
412
413extern kal_bool l4ccsm_cc_get_hold_call(kal_uint8 *call_id);
414
415extern kal_bool check_call_exist_in_either_SIM(kal_uint8 which_sim);
416
417extern kal_bool l4ccsm_cc_set_rat_mode(kal_uint8 rat_mode);
418
419extern kal_bool l4ccsm_cc_mt_call_not_approved(kal_uint8 call_id);
420
421/* MAUI_01618869 CSM provide l4ccsm_cc_get_CSM_call_id function */
422extern kal_bool l4ccsm_cc_get_CSM_call_id(kal_uint8* call_id_ptr);
423
424extern kal_uint8 csmcc_get_clcc_mode(kal_uint8 call_id);
425
426extern void csmcc_find_next_call(kal_uint8 call_id, kal_uint8 *next_call_id);
427
428kal_uint16 l4ccsm_cc_ctrl_by_sim_replace_cause(kal_uint8 call_id, kal_uint16 cause);
429
430extern void l4ccsm_cc_set_cli_validity(kal_uint8 call_id, kal_uint8 cli_validity);
431
432extern kal_uint8 l4ccsm_cc_get_emergency_call_id(void);
433
434extern kal_bool l4ccsm_check_SIM_interface_for_cs_call(kal_uint8 sim_index);
435
436#endif /* _CSMCC_EXT_FUNC_H */
437
438