Initial refactoring merge
[platform/core/telephony/libtapi.git] / include / tapi_sim.h
1 /*
2  * libtapi
3  *
4  * Copyright (c) 2013 Samsung Electronics Co. Ltd. All rights reserved.
5  * Copyright (c) 2013 Intel Corporation. All rights reserved.
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19
20 /**
21 *  @addtogroup TAPI_SIM
22 *  @{
23 *
24 *  @file tapi_sim.h
25 *  @brief TAPI SIM Interface
26 */
27
28 #ifndef __TAPI_SIM_H__
29 #define __TAPI_SIM_H__
30
31 #include <tapi.h>
32 #include <tel_sim.h>
33 #include <tel_return.h>
34
35 #ifdef __cplusplus
36 extern "C"
37 {
38 #endif
39
40 /**
41  *  @brief Get SIM Card Initialization status and SIM Card Identification
42  *
43  *  @par Sync (or) Async:
44  *  Synchronous API
45  *
46  *  @return Possible #TelReturn values:\n
47  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
48  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
49  *
50  *  @param[in] handle #TelHandle obtained from tapi_init()
51  *  @param[out] card_status SIM initialization status/Sim card identification value(#TelSimCardStatusInfo)
52  */
53 TelReturn tapi_sim_get_init_info(TelHandle *handle, TelSimCardStatusInfo *card_status);
54
55 /**
56  *  @brief Get the Card Type whether Card is a SIM or a USIM
57  *
58  *  @par Sync (or) Async:
59  *  Synchronous API
60  *
61  *  @return Possible #TelReturn values:\n
62  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
63  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
64  *
65  *  @param[in] handle #TelHandle obtained from tapi_init()
66  *  @param[out] card_type SIM card type information (#TelSimCardType)
67  */
68 TelReturn tapi_sim_get_type(TelHandle *handle, TelSimCardType *card_type);
69
70 /**
71  *  @brief Get the IMSI information
72  *
73  *  @par Sync (or) Async:
74  *  Synchronous API
75  *
76  *  @return Possible #TelReturn values:\n
77  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
78  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
79  *
80  *  @param[in] handle #TelHandle obtained from tapi_init()
81  *  @param[out] imsi IMSI information (#TelSimImsiInfo)
82  */
83 TelReturn tapi_sim_get_imsi(TelHandle *handle, TelSimImsiInfo *imsi);
84
85 /**
86  *  @brief Get sim ECC data
87  *
88  *  @par Sync (or) Async:
89  *  Synchronous API
90  *
91  *  @return Possible #TelReturn values:\n
92  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
93  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
94  *
95  *  @param[in] handle #TelHandle obtained from tapi_init()
96  *  @param[out] ecc SIM emergency call code information (#TelSimEccList)
97  */
98 TelReturn tapi_sim_get_ecc(TelHandle *handle, TelSimEccList *ecc);
99
100 /**
101  *  @brief Get a Unique identification number of the sim
102  *
103  *  @par Sync (or) Async:
104  *  Asynchronous API
105  *
106  *  @return Possible #TelReturn values:\n
107  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
108  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
109  *
110  *  @param[in] handle #TelHandle obtained from tapi_init()
111  *  @param[in] callback #TapiResponseCb Response callback
112  *  @param[in] user_data Callback user data
113  *
114  *  @par Async Response:
115  *  \em result Possible #TelSimResult values:\n
116  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
117  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
118  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
119  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
120  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
121  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
122  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
123  *                                                                                                                      when invalid SIM command is given or incorrect
124  *                                                                                                                      parameters are supplied to the SIM\n
125  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
126  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
127  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
128  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
129  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
130  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
131  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
132  *  \em data unsigned char icc_id : Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
133  */
134 TelReturn tapi_sim_get_iccid(TelHandle *handle, TapiResponseCb callback, void *user_data);
135
136 /**
137  *  @brief Get the language preference(indication) information
138  *
139  *  @par Sync (or) Async:
140  *  Asynchronous API
141  *
142  *  @return Possible #TelReturn values:\n
143  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
144  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
145  *
146  *  @param[in] handle #TelHandle obtained from tapi_init()
147  *  @param[in] callback #TapiResponseCb Response callback
148  *  @param[in] user_data Callback user data
149  *
150  *  @par Async Response:
151  *  \em result Possible #TelSimResult values:\n
152  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
153  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
154  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
155  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
156  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
157  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
158  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
159  *                                                                                                                      when invalid SIM command is given or incorrect
160  *                                                                                                                      parameters are supplied to the SIM\n
161  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
162  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
163  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
164  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
165  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
166  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
167  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
168  *  \em data #TelSimLanguagePreferenceCode : Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
169  */
170 TelReturn tapi_sim_get_language(TelHandle *handle, TapiResponseCb callback, void *user_data);
171
172 /**
173  *  @brief Update the language preference information to SIM card
174  *
175  *  @par Sync (or) Async:
176  *  Asynchronous API
177  *
178  *  @return Possible #TelReturn values:\n
179  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
180  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
181  *
182  *  @param[in] handle #TelHandle obtained from tapi_init()
183  *  @param[in] language Language preference information (#TelSimLanguagePreferenceCode)
184  *  @param[in] callback #TapiResponseCb Response callback
185  *  @param[in] user_data Callback user data
186   *
187  *  @par Async Response:
188  *  \em result Possible #TelSimResult values:\n
189  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
190  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
191  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
192  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
193  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
194  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
195  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
196  *                                                                                                                      when invalid SIM command is given or incorrect
197  *                                                                                                                      parameters are supplied to the SIM\n
198  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
199  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
200  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
201  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
202  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
203  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
204  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
205  *  \em data NULL
206  */
207 TelReturn tapi_sim_set_language(TelHandle *handle, TelSimLanguagePreferenceCode language, TapiResponseCb callback, void *user_data);
208
209 /**
210  *  @brief Get the SIM Call forwarding indication related data(EF-CFIS and CPHS case)
211  *
212  *  @par Sync (or) Async:
213  *  Asynchronous API
214  *
215  *  @return Possible #TelReturn values:\n
216  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
217  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
218  *
219  *  @param[in] handle #TelHandle obtained from tapi_init()
220  *  @param[in] callback #TapiResponseCb Response callback
221  *  @param[in] user_data Callback user data
222  *
223  *  @par Async Response:
224  *  \em result Possible #TelSimResult values:\n
225  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
226  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
227  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
228  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
229  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
230  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
231  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
232  *                                                                                                                      when invalid SIM command is given or incorrect
233  *                                                                                                                      parameters are supplied to the SIM\n
234  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
235  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
236  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
237  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
238  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
239  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
240  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
241  *  \em data #TelSimCfisList : Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
242  */
243 TelReturn tapi_sim_get_callforwarding_info(TelHandle *handle, TapiResponseCb callback, void *user_data);
244
245 /**
246  *  @brief Get the SIM message waiting indication related data(EF-MWIS and CPHS case)
247  *
248  *  @par Sync (or) Async:
249  *  Asynchronous API
250  *
251  *  @return Possible #TelReturn values:\n
252  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
253  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
254  *
255  *  @param[in] handle #TelHandle obtained from tapi_init()
256  *  @param[in] callback #TapiResponseCb Response callback
257  *  @param[in] user_data Callback user data
258  *
259  *  @par Async Response:
260  *  \em result Possible #TelSimResult values:\n
261  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
262  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
263  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
264  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
265  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
266  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
267  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
268  *                                                                                                                      when invalid SIM command is given or incorrect
269  *                                                                                                                      parameters are supplied to the SIM\n
270  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
271  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
272  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
273  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
274  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
275  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
276  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
277  *  \em data #TelSimMwisList: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
278  */
279 TelReturn tapi_sim_get_messagewaiting_info(TelHandle *handle, TapiResponseCb callback, void *user_data);
280
281 /**
282  *  @brief Set the SIM message waiting indication related data(EF-MWIS and CPHS case)
283  *
284  *  @par Sync (or) Async:
285  *  Asynchronous API
286  *
287  *  @return Possible #TelReturn values:\n
288  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
289  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
290  *
291  *  @param[in] handle #TelHandle obtained from tapi_init()
292  *  @param[in] req_mw Message Waiting related informations (#TelSimMwis)
293  *  @param[in] callback #TapiResponseCb Response callback
294  *  @param[in] user_data Callback user data
295  *
296  *  @par Async Response:
297  *  \em result Possible #TelSimResult values:\n
298  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
299  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
300  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
301  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
302  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
303  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
304  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
305  *                                                                                                                      when invalid SIM command is given or incorrect
306  *                                                                                                                      parameters are supplied to the SIM\n
307  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
308  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
309  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
310  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
311  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
312  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
313  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
314  *  \em data NULL
315  */
316 TelReturn tapi_sim_set_messagewaiting_info(TelHandle *handle, TelSimMwis *req_mw, TapiResponseCb callback, void *user_data);
317
318 /**
319  *  @brief Get the SIM mailbox related data(EF-MBDN, MBDI and CPHS case)
320  *
321  *  @par Sync (or) Async:
322  *  Asynchronous API
323  *
324  *  @return Possible #TelReturn values:\n
325  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
326  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
327  *
328  *  @param[in] handle #TelHandle obtained from tapi_init()
329  *  @param[in] callback #TapiResponseCb Response callback
330  *  @param[in] user_data Callback user data
331  *
332  *  @par Async Response:
333  *  \em result Possible #TelSimResult values:\n
334  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
335  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
336  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
337  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
338  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
339  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
340  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
341  *                                                                                                                      when invalid SIM command is given or incorrect
342  *                                                                                                                      parameters are supplied to the SIM\n
343  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
344  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
345  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
346  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
347  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
348  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
349  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
350  *  \em data #TelSimMailboxList: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
351  */
352 TelReturn tapi_sim_get_mailbox_info(TelHandle *handle, TapiResponseCb callback, void *user_data);
353
354 /**
355  *  @brief Set the SIM mailbox related data(EF-MBDN, MBDI and CPHS case)
356  *
357  *  @par Sync (or) Async:
358  *  Asynchronous API
359  *
360  *  @return Possible #TelReturn values:\n
361  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
362  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
363  *
364  *  @param[in] handle #TelHandle obtained from tapi_init()
365  *  @param[in] req_mb Mailbox related informations (#TelSimMailBoxNumber)
366  *  @param[in] callback #TapiResponseCb Response callback
367  *  @param[in] user_data Callback user data
368  *
369  *  @par Async Response:
370  *  \em result Possible #TelSimResult values:\n
371  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
372  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
373  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
374  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
375  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
376  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
377  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
378  *                                                                                                                      when invalid SIM command is given or incorrect
379  *                                                                                                                      parameters are supplied to the SIM\n
380  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
381  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
382  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
383  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
384  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
385  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
386  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
387  *  \em data NULL
388  */
389 TelReturn tapi_sim_set_mailbox_info(TelHandle *handle, TelSimMailBoxNumber *req_mb, TapiResponseCb callback, void *user_data);
390
391 /**
392  *  @brief Get the SIM MSISDN data
393  *
394  *  @par Sync (or) Async:
395  *  Asynchronous API
396  *
397  *  @return Possible #TelReturn values:\n
398  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
399  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
400  *
401  *  @param[in] handle #TelHandle obtained from tapi_init()
402  *  @param[in] callback #TapiResponseCb Response callback
403  *  @param[in] user_data Callback user data
404  *
405  *  @par Async Response:
406  *  \em result Possible #TelSimResult values:\n
407  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
408  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
409  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
410  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
411  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
412  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
413  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
414  *                                                                                                                      when invalid SIM command is given or incorrect
415  *                                                                                                                      parameters are supplied to the SIM\n
416  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
417  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
418  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
419  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
420  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
421  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
422  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
423  *  \em data #TelSimMsisdnList: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
424  */
425 TelReturn tapi_sim_get_msisdn(TelHandle *handle, TapiResponseCb callback, void *user_data);
426
427 /**
428  *  @brief Get the the SIM SPN data
429  *
430  *  @par Sync (or) Async:
431  *  Asynchronous API
432  *
433  *  @return Possible #TelReturn values:\n
434  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
435  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
436  *
437  *  @param[in] handle #TelHandle obtained from tapi_init()
438  *  @param[in] callback #TapiResponseCb Response callback
439  *  @param[in] user_data Callback user data
440  *
441  *  @par Async Response:
442  *  \em result Possible #TelSimResult values:\n
443  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
444  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
445  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
446  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
447  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
448  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
449  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
450  *                                                                                                                      when invalid SIM command is given or incorrect
451  *                                                                                                                      parameters are supplied to the SIM\n
452  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
453  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
454  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
455  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
456  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
457  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
458  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
459  *  \em data #TelSimSpn: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
460  */
461 TelReturn tapi_sim_get_spn(TelHandle *handle, TapiResponseCb callback, void *user_data);
462
463 /**
464  *  @brief Get the SIM CPHS NETNAME data
465  *
466  *  @par Sync (or) Async:
467  *  Asynchronous API
468  *
469  *  @return Possible #TelReturn values:\n
470  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
471  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
472  *
473  *  @param[in] handle #TelHandle obtained from tapi_init()
474  *  @param[in] callback #TapiResponseCb Response callback
475  *  @param[in] user_data Callback user data
476  *
477  *  @par Async Response:
478  *  \em result Possible #TelSimResult values:\n
479  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
480  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
481  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
482  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
483  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
484  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
485  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
486  *                                                                                                                      when invalid SIM command is given or incorrect
487  *                                                                                                                      parameters are supplied to the SIM\n
488  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
489  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
490  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
491  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
492  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
493  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
494  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
495  *  \em data #TelSimCphsNetName: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
496  */
497 TelReturn tapi_sim_get_cphs_netname(TelHandle *handle, TapiResponseCb callback, void *user_data);
498
499 /**
500  *  @brief Get the Service Provider Display Information
501  *
502  *  @par Sync (or) Async:
503  *  Asynchronous API
504  *
505  *  @return Possible #TelReturn values:\n
506  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
507  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
508  *
509  *  @param[in] handle #TelHandle obtained from tapi_init()
510  *  @param[in] callback #TapiResponseCb Response callback
511  *  @param[in] user_data Callback user data
512  *
513  *  @par Async Response:
514  *  \em result Possible #TelSimResult values:\n
515  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
516  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
517  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
518  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
519  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
520  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
521  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
522  *                                                                                                                      when invalid SIM command is given or incorrect
523  *                                                                                                                      parameters are supplied to the SIM\n
524  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
525  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
526  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
527  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
528  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
529  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
530  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
531  *  \em data #TelSimSpPlmnList: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
532  */
533 TelReturn tapi_sim_get_sp_display_info(TelHandle *handle, TapiResponseCb callback, void *user_data);
534
535 /**
536  *  @brief Execute the authentication procedure by using SIM
537  *
538  *  @par Sync (or) Async:
539  *  Asynchronous API
540  *
541  *  @return Possible #TelReturn values:\n
542  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
543  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
544  *
545  *  @param[in] handle #TelHandle obtained from tapi_init()
546  *  @param[in] authentication_data Authentication code to be validated by ISIM,3G and GSM application in the SIM card (#TelSimAuthenticationData)
547  *  @param[in] callback #TapiResponseCb Response callback
548  *  @param[in] user_data Callback user data
549  *
550  *  @par Async Response:
551  *  \em result Possible #TelSimResult values:\n
552  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
553  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
554  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
555  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
556  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
557  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
558  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
559  *                                                                                                                      when invalid SIM command is given or incorrect
560  *                                                                                                                      parameters are supplied to the SIM\n
561  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
562  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
563  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
564  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
565  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
566  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
567  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
568  *  \em data #TelSimAuthenticationResponse: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
569  */
570 TelReturn tapi_sim_req_authentication(TelHandle *handle, TelSimAuthenticationData *authentication_data, TapiResponseCb callback, void *user_data);
571
572
573 /**
574  *  @brief This function performs PIN1/PIN2/SIM LOCK verification. This function performs PIN verification based on the pin type passed along with pin data
575  *
576  *  @par Sync (or) Async:
577  *  Asynchronous API
578  *
579  *  @return Possible #TelReturn values:\n
580  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
581  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
582  *
583  *  @param[in] handle #TelHandle obtained from tapi_init()
584  *  @param[in] pin_data PIN code, entered by the user. you should make all parameters (#TelSimSecPinPw)
585  *  @param[in] callback #TapiResponseCb Response callback
586  *  @param[in] user_data Callback user data
587  *
588  *  @par Async Response:
589  *  \em result Possible #TelSimResult values:\n
590  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
591  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
592  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
593  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
594  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
595  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
596  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
597  *                                                                                                                      when invalid SIM command is given or incorrect
598  *                                                                                                                      parameters are supplied to the SIM\n
599  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
600  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
601  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
602  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
603  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
604  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
605  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
606  *  \em data #TelSimSecPinResult: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
607  */
608 TelReturn tapi_sim_verify_pins(TelHandle *handle, TelSimSecPinPw  *pin_data, TapiResponseCb callback, void *user_data);
609
610 /**
611  *  @brief This function performs unblock PIN1/PIN2 operation based on PUK information passed along with
612  *  unblock information entered by the user
613  *
614  *  @par Sync (or) Async:
615  *  Asynchronous API
616  *
617  *  @return Possible #TelReturn values:\n
618  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
619  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
620  *
621  *  @param[in] handle #TelHandle obtained from tapi_init()
622  *  @param[in] puk_data Specifies unblocking PIN password and Specifies PIN password which you want to use after unblocking operation (#TelSimSecPukPw)
623  *  @param[in] callback #TapiResponseCb Response callback
624  *  @param[in] user_data Callback user data
625  *
626  *  @par Async Response:
627  *  \em result Possible #TelSimResult values:\n
628  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
629  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
630  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
631  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
632  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
633  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
634  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
635  *                                                                                                                      when invalid SIM command is given or incorrect
636  *                                                                                                                      parameters are supplied to the SIM\n
637  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
638  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
639  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
640  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
641  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
642  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
643  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
644  *  \em data #TelSimSecPukResult: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
645  */
646 TelReturn tapi_sim_verify_puks(TelHandle *handle, TelSimSecPukPw  *puk_data, TapiResponseCb callback, void *user_data);
647
648 /**
649  *  @brief Changes PIN1/PIN2 code based on the pin type passed along with old pin data and new pin data
650  *
651  *  @par Sync (or) Async:
652  *  Asynchronous API
653  *
654  *  @return Possible #TelReturn values:\n
655  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
656  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
657  *
658  *  @param[in] handle #TelHandle obtained from tapi_init()
659  *  @param[in] pin_data Pin types, old pin code and new pin code (#TelSimSecChangePinPw)
660  *  @param[in] callback #TapiResponseCb Response callback
661  *  @param[in] user_data Callback user data
662  *
663  *  @par Async Response:
664  *  \em result Possible #TelSimResult values:\n
665  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
666  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
667  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
668  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
669  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
670  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
671  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
672  *                                                                                                                      when invalid SIM command is given or incorrect
673  *                                                                                                                      parameters are supplied to the SIM\n
674  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
675  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
676  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
677  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
678  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
679  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
680  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
681  *  \em data #TelSimSecPinResult: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
682  */
683 TelReturn tapi_sim_change_pins(TelHandle *handle, TelSimSecChangePinPw *pin_data, TapiResponseCb callback, void *user_data);
684
685 /**
686  *  @brief Disable the SIM facility
687  *
688  *  @par Sync (or) Async:
689  *  Asynchronous API
690  *
691  *  @return Possible #TelReturn values:\n
692  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
693  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
694  *
695  *  @param[in] handle #TelHandle obtained from tapi_init()
696  *  @param[in] pw Structure which contains facility type and password (#TelSimFacilityPw)
697  *  @param[in] callback #TapiResponseCb Response callback
698  *  @param[in] user_data Callback user data
699  *
700  *  @par Async Response:
701  *  \em result Possible #TelSimResult values:\n
702  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
703  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
704  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
705  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
706  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
707  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
708  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
709  *                                                                                                                      when invalid SIM command is given or incorrect
710  *                                                                                                                      parameters are supplied to the SIM\n
711  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
712  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
713  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
714  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
715  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
716  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
717  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
718  *  \em data #TelSimFacilityResult: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
719  */
720 TelReturn tapi_sim_disable_facility(TelHandle *handle, TelSimFacilityPw *pw, TapiResponseCb callback, void *user_data);
721
722 /**
723  *  @brief Enable the SIM facility
724  *
725  *  @par Sync (or) Async:
726  *  Asynchronous API
727  *
728  *  @return Possible #TelReturn values:\n
729  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
730  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
731  *
732  *  @param[in] handle #TelHandle obtained from tapi_init()
733  *  @param[in] pw Structure which contains facility type and password (#TelSimFacilityPw)
734  *  @param[in] callback #TapiResponseCb Response callback
735  *  @param[in] user_data Callback user data
736  *
737  *  @par Async Response:
738  *  \em result Possible #TelSimResult values:\n
739  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
740  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
741  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
742  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
743  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
744  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
745  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
746  *                                                                                                                      when invalid SIM command is given or incorrect
747  *                                                                                                                      parameters are supplied to the SIM\n
748  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
749  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
750  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
751  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
752  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
753  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
754  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
755  *  \em data #TelSimFacilityResult: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
756  */
757 TelReturn tapi_sim_enable_facility(TelHandle *handle, TelSimFacilityPw *pw, TapiResponseCb callback, void *user_data);
758
759
760 /**
761  *  @brief Get the SIM facility
762  *
763  *  @par Sync (or) Async:
764  *  Asynchronous API
765  *
766  *  @return Possible #TelReturn values:\n
767  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
768  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
769  *
770  *  @param[in] handle #TelHandle obtained from tapi_init()
771  *  @param[in] type Type of security lock type enum values (#TelSimLockType)
772  *  @param[in] callback #TapiResponseCb Response callback
773  *  @param[in] user_data Callback user data
774  *
775  *  @par Async Response:
776  *  \em result Possible #TelSimResult values:\n
777  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
778  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
779  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
780  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
781  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
782  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
783  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
784  *                                                                                                                      when invalid SIM command is given or incorrect
785  *                                                                                                                      parameters are supplied to the SIM\n
786  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
787  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
788  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
789  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
790  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
791  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
792  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
793  *  \em data #TelSimFacilityInfo: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
794  */
795 TelReturn tapi_sim_get_facility(TelHandle *handle, TelSimLockType type, TapiResponseCb callback, void *user_data);
796
797 /**
798  *  @brief Get the SIM LOCK TYPE information
799  *
800  *  @par Sync (or) Async:
801  *  Asynchronous API
802  *
803  *  @return Possible #TelReturn values:\n
804  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
805  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
806  *
807  *  @param[in] handle #TelHandle obtained from tapi_init()
808  *  @param[in] type Type of security lock type enum values (#TelSimLockType)
809  *  @param[in] callback #TapiResponseCb Response callback
810  *  @param[in] user_data Callback user data
811  *
812  *  @par Async Response:
813  *  \em result Possible #TelSimResult values:\n
814  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
815  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
816  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
817  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
818  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
819  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
820  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
821  *                                                                                                                      when invalid SIM command is given or incorrect
822  *                                                                                                                      parameters are supplied to the SIM\n
823  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
824  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
825  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
826  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
827  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
828  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
829  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
830  *  \em data #TelSimLockInfo: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
831  */
832 TelReturn tapi_sim_get_lock_info(TelHandle *handle, TelSimLockType type, TapiResponseCb callback, void *user_data);
833
834 /**
835  *  @brief  This function provides common interface for accessing SIM data based on USIM generic command in ETSI TS 102 221
836  * and 3GPP TS 31.102 Characteristics of the Universal Subscriber Identity Module (USIM) application.
837  * This API provides only interface to send APDU. User should know well APDU usage.
838  *
839  *  @par Sync (or) Async:
840  *  Asynchronous API
841  *
842  *  @return Possible #TelReturn values:\n
843  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
844  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
845  *
846  *  @param[in] handle #TelHandle obtained from tapi_init()
847  *  @param[in] apdu_data APDU data (#TelSimApdu)
848  *  @param[in] callback #TapiResponseCb Response callback
849  *  @param[in] user_data Callback user data
850  *
851  *  @par Async Response:
852  *  \em result Possible #TelSimResult values:\n
853  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
854  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
855  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
856  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
857  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
858  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
859  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
860  *                                                                                                                      when invalid SIM command is given or incorrect
861  *                                                                                                                      parameters are supplied to the SIM\n
862  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
863  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
864  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
865  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
866  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
867  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
868  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
869  *  \em data #TelSimApduResp: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
870  */
871 TelReturn tapi_sim_req_apdu(TelHandle *handle, TelSimApdu* apdu_data, TapiResponseCb callback, void *user_data);
872
873 /**
874  *  @brief  This function provides common interface to get SIM ATR(Answer To Reset) value
875  *
876  *  @par Sync (or) Async:
877  *  Asynchronous API
878  *
879  *  @return Possible #TelReturn values:\n
880  *  <b>TEL_RETURN_SUCCESS</b>: Operation completed successfully\n
881  *  <b>TEL_RETURN_INVALID_PARAMETER</b>: Invalid input parameters
882  *
883  *  @param[in] handle #TelHandle obtained from tapi_init()
884  *  @param[in] callback #TapiResponseCb Response callback
885  *  @param[in] user_data Callback user data
886  *
887  *  @par Async Response:
888  *  \em result Possible #TelSimResult values:\n
889  *  <b>TEL_SIM_RESULT_SUCCESS</b>: Operation completed successfully\n
890  *  <b>TEL_SIM_RESULT_FAILURE</b>: Operation failed\n
891  *  <b>TEL_SIM_RESULT_INVALID_PARAMETER</b>: Invalid input parameters\n
892  *  <b>TEL_SIM_RESULT_MEMORY_FAILURE</b>: Memory allocation failed\n
893  *  <b>TEL_SIM_RESULT_OPERATION_NOT_SUPPORTED</b>: Operation not supported\n
894  *  <b>TEL_SIM_RESULT_CARD_ERROR</b>: SIM card error - Permanently blocked and general errors\n
895  *  <b>TEL_SIM_RESULT_ACCESS_CONDITION_NOT_SATISFIED</b>: SIM Incompatible pin operation that is in case
896  *                                                                                                                      when invalid SIM command is given or incorrect
897  *                                                                                                                      parameters are supplied to the SIM\n
898  *  <b>TEL_SIM_RESULT_INCOMPATIBLE_PIN_OPERATION</b>: SIM PIN Incorrect password\n
899  *  <b>TEL_SIM_RESULT_INCORRECT_PASSWORD</b>: SIM Incorrect password\n
900  *  <b>TEL_SIM_RESULT_PIN_REQUIRED</b>: PIN Required\n
901  *  <b>TEL_SIM_RESULT_PUK_REQUIRED</b>: PUK Required\n
902  *  <b>TEL_SIM_RESULT_PERM_BLOCKED</b>: Permanent block SIM\n
903  *  <b>TEL_SIM_RESULT_SQN_FAILURE</b>: status - SQN(SeQuenceNumber) failure\n
904  *  <b>TEL_SIM_RESULT_OPERATION_NOT_PERMITTED</b>: Operation not permitted\n
905  *  \em data #TelSimAtr: Valid only when TelSimResult is TEL_SIM_RESULT_SUCCESS
906  */
907 TelReturn tapi_sim_req_atr(TelHandle *handle, TapiResponseCb callback, void *user_data);
908
909 #ifdef __cplusplus
910 }
911 #endif
912
913 #endif  /* __TAPI_SIM_H__ */
914
915 /**
916 * @}
917 */