Release 4.0.0-preview1-00051
[platform/core/csapi/tizenfx.git] / src / Tizen.Tapi / Interop / Interop.Tapi.cs
1 /*
2  * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
3  *
4  * Licensed under the Apache License, Version 2.0 (the License);
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an AS IS BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16
17 using System;
18 using System.Runtime.InteropServices;
19 using Tizen.Tapi;
20
21 /// <summary>
22 /// Interop class for Tapi
23 /// </summary>
24 internal static partial class Interop
25 {
26     /// <summary>
27     /// Tapi Native Apis
28     /// </summary>
29     internal static partial class Tapi
30     {
31         //Callback for event
32         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
33         internal delegate void TapiNotificationCallback(IntPtr handle, IntPtr id, IntPtr data, IntPtr userData);
34         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
35         internal delegate void TapiResponseCallback(IntPtr handle, int result, IntPtr data, IntPtr userData);
36         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
37         internal delegate void TapiStateCallback(int state, IntPtr userData);
38         [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
39         internal delegate void CallStatusCallback(ref CallStatusStruct info, IntPtr userData);
40
41         //Tapi-common
42         [DllImport(Libraries.Tapi, EntryPoint = "tel_get_cp_name_list")]
43         internal static extern IntPtr GetCpNames();
44         [DllImport(Libraries.Tapi, EntryPoint = "tel_init")]
45         internal static extern IntPtr InitTapi(string cpName);
46         [DllImport(Libraries.Tapi, EntryPoint = "tel_deinit")]
47         internal static extern int DeinitTapi(IntPtr handle);
48         [DllImport(Libraries.Tapi, EntryPoint = "tel_register_noti_event")]
49         internal static extern int RegisterNotiEvent(IntPtr handle, string notificationId, TapiNotificationCallback cb, IntPtr userData);
50         [DllImport(Libraries.Tapi, EntryPoint = "tel_deregister_noti_event")]
51         internal static extern int DeregisterNotiEvent(IntPtr handle, string notificationId);
52         [DllImport(Libraries.Tapi, EntryPoint = "tel_get_property_int")]
53         internal static extern int GetIntProperty(IntPtr handle, string property, out int result);
54         [DllImport(Libraries.Tapi, EntryPoint = "tel_get_property_string")]
55         internal static extern int GetStringProperty(IntPtr handle, string property, out string result);
56         [DllImport(Libraries.Tapi, EntryPoint = "tel_get_ready_state")]
57         internal static extern int GetReadyState(out int state);
58         [DllImport(Libraries.Tapi, EntryPoint = "tel_register_ready_state_cb")]
59         internal static extern int RegisterReadyStateCb(TapiStateCallback cb, IntPtr userData);
60         [DllImport(Libraries.Tapi, EntryPoint = "tel_deregister_ready_state_cb")]
61         internal static extern int DeregisterReadyStateCb(TapiStateCallback cb);
62
63         //Phonebook
64         internal static class Phonebook
65         {
66             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_pb_init_info")]
67             internal static extern int GetPhonebookInitInfo(IntPtr handle, out int initCompleted, out SimPhonebookListStruct pbList);
68             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_pb_count")]
69             internal static extern int GetPhonebookStorage(IntPtr handle, PhonebookType pbType, TapiResponseCallback cb, IntPtr userData);
70             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_pb_meta_info")]
71             internal static extern int GetPhonebookMetaInfo(IntPtr handle, PhonebookType pbType, TapiResponseCallback cb, IntPtr userData);
72             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_pb_usim_meta_info")]
73             internal static extern int GetPhonebookMetaInfo3G(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
74             [DllImport(Libraries.Tapi, EntryPoint = "tel_read_sim_pb_record")]
75             internal static extern int ReadPhonebookRecord(IntPtr handle, PhonebookType pbType, ushort pbIndex, TapiResponseCallback cb, IntPtr userData);
76             [DllImport(Libraries.Tapi, EntryPoint = "tel_update_sim_pb_record")]
77             internal static extern int UpdatePhonebookRecord(IntPtr handle, ref PhonebookRecordStruct data, TapiResponseCallback cb, IntPtr userData);
78             [DllImport(Libraries.Tapi, EntryPoint = "tel_delete_sim_pb_record")]
79             internal static extern int DeletePhonebookRecord(IntPtr handle, PhonebookType pbType, ushort pbIndex, TapiResponseCallback cb, IntPtr userData);
80         }
81
82         //Sat
83         internal static class Sat
84         {
85             [DllImport(Libraries.Tapi, EntryPoint = "tel_select_sat_menu")]
86             internal static extern int SatSendSelectMenu(IntPtr handle, ref SatMenuSelectionInfoStruct info, TapiResponseCallback cb, IntPtr userData);
87             [DllImport(Libraries.Tapi, EntryPoint = "tel_download_sat_event")]
88             internal static extern int SatDownloadEvent(IntPtr handle, ref SatEventDownloadInfoStruct info, TapiResponseCallback cb, IntPtr userData);
89             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_sat_ui_display_status")]
90             internal static extern int SatSendUiDisplayStatus(IntPtr handle, int commandId, SatUiDisplayStatus status);
91             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_sat_ui_user_confirm")]
92             internal static extern int SatSendUiUserConfim(IntPtr handle, ref SatUiUserConfirmInfoStruct confirmInfo);
93             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sat_main_menu_info")]
94             internal static extern int SatGetMainMenuInfo(IntPtr handle, out SatMainMenuInfoStruct mainMenuInfo);
95             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_sat_app_exec_result")]
96             internal static extern int SatExecutionResult(IntPtr handle, out SatResultDataStruct resultData);
97         }
98
99         //Sim
100         internal static class Sim
101         {
102             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_init_info")]
103             internal static extern int SimGetInitInfo(IntPtr handle, out SimCardStatus status, out int cardChanged);
104             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_type")]
105             internal static extern int SimGetType(IntPtr handle, out SimCardType type);
106             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_imsi")]
107             internal static extern int SimGetImsi(IntPtr handle, out SimImsiInfoStruct imsiInfo);
108             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_ecc")]
109             internal static extern int SimGetEcc(IntPtr handle, out SimEccInfoListStruct eccInfo);
110             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_iccid")]
111             internal static extern int SimGetIccId(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
112             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_language")]
113             internal static extern int SimGetLanguage(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
114             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sim_language")]
115             internal static extern int SimSetLanguage(IntPtr handle, SimLanguagePreference language, TapiResponseCallback cb, IntPtr userData);
116             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_callforwarding_info")]
117             internal static extern int SimGetCallForwardingInfo(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
118             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sim_callforwarding_info")]
119             internal static extern int SimSetCallForwardingInfo(IntPtr handle, ref SimCallForwardRequestStruct request, TapiResponseCallback cb, IntPtr userData);
120             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_messagewaiting_info")]
121             internal static extern int SimGetMessageWaitingInfo(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
122             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sim_messagewaiting_info")]
123             internal static extern int SimSetMessageWaitingInfo(IntPtr handle, ref SimMessageWaitingRequestStruct request, TapiResponseCallback cb, IntPtr userData);
124             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_mailbox_info")]
125             internal static extern int SimGetMailboxInfo(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
126             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sim_mailbox_info")]
127             internal static extern int SimSetMailboxInfo(IntPtr handle, ref SimMailboxNumberStruct mailbox, TapiResponseCallback cb, IntPtr userData);
128             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_cphs_info")]
129             internal static extern int SimGetCphsInfo(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
130             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_service_table")]
131             internal static extern int SimGetServiceTable(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
132             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_msisdn")]
133             internal static extern int SimGetMsisdn(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
134             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_oplmnwact")]
135             internal static extern int SimGetOplmnwact(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
136             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_spn")]
137             internal static extern int SimGetSpn(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
138             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_cphs_netname")]
139             internal static extern int SimGetCphsNetName(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
140             [DllImport(Libraries.Tapi, EntryPoint = "tel_req_sim_authentication")]
141             internal static extern int SimExecuteAuthentication(IntPtr handle, ref SimAuthenticationDataStruct authenticationData, TapiResponseCallback cb, IntPtr userData);
142             [DllImport(Libraries.Tapi, EntryPoint = "tel_verifiy_sim_pins")]
143             internal static extern int SimVerifyPins(IntPtr handle, ref SimPinDataStruct pinData, TapiResponseCallback cb, IntPtr userData);
144             [DllImport(Libraries.Tapi, EntryPoint = "tel_verify_sim_puks")]
145             internal static extern int SimVerifyPuks(IntPtr handle, ref SimPinDataStruct pukData, ref SimPinDataStruct newPinData, TapiResponseCallback cb, IntPtr userData);
146             [DllImport(Libraries.Tapi, EntryPoint = "tel_change_sim_pins")]
147             internal static extern int SimChangePins(IntPtr handle, ref SimPinDataStruct oldPin, ref SimPinDataStruct newPin, TapiResponseCallback cb, IntPtr userData);
148             [DllImport(Libraries.Tapi, EntryPoint = "tel_disable_sim_facility")]
149             internal static extern int SimDisableFacility(IntPtr handle, ref SimFacilityStruct facility, TapiResponseCallback cb, IntPtr userData);
150             [DllImport(Libraries.Tapi, EntryPoint = "tel_enable_sim_facility")]
151             internal static extern int SimEnableFacility(IntPtr handle, ref SimFacilityStruct facility, TapiResponseCallback cb, IntPtr userData);
152             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_facility")]
153             internal static extern int SimGetFacility(IntPtr handle, SimLockType lockType, TapiResponseCallback cb, IntPtr userData);
154             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_lock_info")]
155             internal static extern int SimGetLockInfo(IntPtr handle, SimLockType lockType, TapiResponseCallback cb, IntPtr userData);
156             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sim_power_state")]
157             internal static extern int SimSetPowerState(IntPtr handle, SimPowerState state, TapiResponseCallback cb, IntPtr userData);
158             [DllImport(Libraries.Tapi, EntryPoint = "tel_req_sim_apdu")]
159             internal static extern int SimRequestApdu(IntPtr handle, ref SimApduStruct apdu, TapiResponseCallback cb, IntPtr userData);
160             [DllImport(Libraries.Tapi, EntryPoint = "tel_req_sim_atr")]
161             internal static extern int SimRequestAtr(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
162             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_application_list")]
163             internal static extern int SimGetApplicationList(IntPtr handle, out byte appList);
164             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_impi")]
165             internal static extern int SimGetImpi(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
166             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_impu")]
167             internal static extern int SimGetImpu(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
168             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_domain")]
169             internal static extern int SimGetDomain(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
170             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_pcscf")]
171             internal static extern int SimGetPcscf(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
172             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sim_isim_service_table")]
173             internal static extern int SimGetIsimServiceTable(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
174
175         }
176
177         //Ss
178         internal static class Ss
179         {
180             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_ss_barring")]
181             internal static extern int SsSetBarring(IntPtr handle, ref SsBarringInfoStruct info, TapiResponseCallback cb, IntPtr userData);
182             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_ss_barring_status")]
183             internal static extern int SsGetBarringStatus(IntPtr handle, SsClass ssClass, SsBarringType type, TapiResponseCallback cb, IntPtr userData);
184             [DllImport(Libraries.Tapi, EntryPoint = "tel_change_ss_barring_password")]
185             internal static extern int SsChangeBarringPassword(IntPtr handle, string oldPassword, string newPassword, string newPasswordAgain, TapiResponseCallback cb, IntPtr userData);
186             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_ss_forward")]
187             internal static extern int SsSetForward(IntPtr handle, ref SsForwardInfoStruct info, TapiResponseCallback cb, IntPtr userData);
188             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_ss_forward_status")]
189             internal static extern int SsGetForwardStatus(IntPtr handle, SsClass ssClass, SsForwardCondition condition, TapiResponseCallback cb, IntPtr userData);
190             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_ss_waiting")]
191             internal static extern int SsSetWaiting(IntPtr handle, ref SsWaitingInfoStruct info, TapiResponseCallback cb, IntPtr userData);
192             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_ss_waiting_status")]
193             internal static extern int SsGetWaitingStatus(IntPtr handle, SsClass ssClass, TapiResponseCallback cb, IntPtr userData);
194             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_ss_cli_status")]
195             internal static extern int SsSetCliStatus(IntPtr handle, SsCliType type, SsCliStatus status, TapiResponseCallback cb, IntPtr userData);
196             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_ss_cli_status")]
197             internal static extern int SsGetCliStatus(IntPtr handle, SsCliType type, TapiResponseCallback cb, IntPtr userData);
198             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_ss_ussd_request")]
199             internal static extern int SsSendUssdRequest(IntPtr handle, ref SsUssdMsgInfoStruct info, TapiResponseCallback cb, IntPtr userData);
200         }
201
202         //Call
203         internal static class Call
204         {
205             [DllImport(Libraries.Tapi, EntryPoint = "tel_dial_call")]
206             internal static extern int DialCall(IntPtr handle, ref CallInformationStruct info, TapiResponseCallback cb, IntPtr userData);
207             [DllImport(Libraries.Tapi, EntryPoint = "tel_answer_call")]
208             internal static extern int AnswerCall(IntPtr handle, uint callHandle, CallAnswerType type, TapiResponseCallback cb, IntPtr userData);
209             [DllImport(Libraries.Tapi, EntryPoint = "tel_end_call")]
210             internal static extern int EndCall(IntPtr handle, uint callHandle, CallEndType type, TapiResponseCallback cb, IntPtr userData);
211             [DllImport(Libraries.Tapi, EntryPoint = "tel_hold_call")]
212             internal static extern int HoldCall(IntPtr handle, uint callHandle, TapiResponseCallback cb, IntPtr userData);
213             [DllImport(Libraries.Tapi, EntryPoint = "tel_active_call")]
214             internal static extern int ActiveCall(IntPtr handle, uint callHandle, TapiResponseCallback cb, IntPtr userData);
215             [DllImport(Libraries.Tapi, EntryPoint = "tel_swap_call")]
216             internal static extern int SwapCall(IntPtr handle, uint callHandle1, uint callHandle2, TapiResponseCallback cb, IntPtr userData);
217             [DllImport(Libraries.Tapi, EntryPoint = "tel_start_call_cont_dtmf")]
218             internal static extern int StartContDtmfCall(IntPtr handle, byte dtmfDigit, TapiResponseCallback cb, IntPtr userData);
219             [DllImport(Libraries.Tapi, EntryPoint = "tel_stop_call_cont_dtmf")]
220             internal static extern int StopContDtmfCall(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
221             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_call_burst_dtmf")]
222             internal static extern int SendBurstDtmfCall(IntPtr handle, ref CallBurstDtmfStruct info, TapiResponseCallback cb, IntPtr userData);
223             [DllImport(Libraries.Tapi, EntryPoint = "tel_join_call")]
224             internal static extern int JoinCall(IntPtr handle, uint callHandle1, uint callHandle2, TapiResponseCallback cb, IntPtr userData);
225             [DllImport(Libraries.Tapi, EntryPoint = "tel_split_call")]
226             internal static extern int SplitCall(IntPtr handle, uint callHandle, TapiResponseCallback cb, IntPtr userData);
227             [DllImport(Libraries.Tapi, EntryPoint = "tel_transfer_call")]
228             internal static extern int TransferCall(IntPtr handle, uint callHandle, TapiResponseCallback cb, IntPtr userData);
229             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_status")]
230             internal static extern int GetCallStatus(IntPtr handle, int callId, out CallStatusStruct statusInfo);
231             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_status_all")]
232             internal static extern int GetAllCallStatus(IntPtr handle, CallStatusCallback cb, IntPtr userData);
233             [DllImport(Libraries.Tapi, EntryPoint = "tel_deflect_call")]
234             internal static extern int DeflectCall(IntPtr handle, uint callHandle, ref CallDeflectDestStruct info, TapiResponseCallback cb, IntPtr userData);
235             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_volume_info")]
236             internal static extern int GetCallVolumeInfo(IntPtr handle, SoundDevice device, SoundType type, TapiResponseCallback cb, IntPtr userData);
237             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_call_volume_info")]
238             internal static extern int SetCallVolumeInfo(IntPtr handle, ref CallVolumeRecordStruct info, TapiResponseCallback cb, IntPtr userData);
239             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_call_sound_path")]
240             internal static extern int SetCallSoundPath(IntPtr handle, ref CallSoundPathStruct path, TapiResponseCallback cb, IntPtr userData);
241             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_call_mute_status")]
242             internal static extern int SetCallMuteStatus(IntPtr handle, SoundMuteStatus status, SoundMutePath path, TapiResponseCallback cb, IntPtr userData);
243             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_mute_status")]
244             internal static extern int GetCallMuteStatus(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
245             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_privacy_mode")]
246             internal static extern int GetCallPrivacyMode(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
247             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_call_privacy_mode")]
248             internal static extern int SetCallPrivacyMode(IntPtr handle, CallPrivacyMode mode, TapiResponseCallback cb, IntPtr userData);
249             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_call_preferred_voice_subscription")]
250             internal static extern int SetCallPreferredVoiceSubs(IntPtr handle, CallPreferredVoiceSubscription subscription, TapiResponseCallback cb, IntPtr userData);
251             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_call_preferred_voice_subscription")]
252             internal static extern int GetCallPreferredVoiceSubs(IntPtr handle, out CallPreferredVoiceSubscription subscription);
253         }
254
255         //Oem
256         internal static class Oem
257         {
258             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_oem_data")]
259             internal static extern int SendOemData(IntPtr handle, int id, IntPtr data, uint length);
260             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_oem_data_sync")]
261             internal static extern int SendOemDataSync(IntPtr handle, int id, IntPtr data, uint length, out OemDataStruct info);
262             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_oem_data_async")]
263             internal static extern int SendOemDataAsync(IntPtr handle, int id, IntPtr data, uint length, TapiResponseCallback cb, IntPtr userData);
264         }
265
266         //Modem
267         internal static class Modem
268         {
269             [DllImport(Libraries.Tapi, EntryPoint = "tel_process_power_command")]
270             internal static extern int ProcessPowerCommand(IntPtr handle, PhonePowerCommand cmd, TapiResponseCallback cb, IntPtr userData);
271             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_flight_mode")]
272             internal static extern int SetFlightMode(IntPtr handle, PowerFlightModeRequest mode, TapiResponseCallback cb, IntPtr userData);
273             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_flight_mode")]
274             internal static extern int GetFlightMode(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
275             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_version")]
276             internal static extern int GetMiscMeVersion(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
277             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_version_sync")]
278             internal static extern IntPtr GetMiscMeVersionSync(IntPtr handle);
279             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_sn")]
280             internal static extern int GetMiscMeSn(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
281             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_sn_sync")]
282             internal static extern IntPtr GetMiscMeSnSync(IntPtr handle);
283             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_imei")]
284             internal static extern int GetMiscMeImei(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
285             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_misc_me_imei_sync")]
286             internal static extern string GetMiscMeImeiSync(IntPtr handle);
287             [DllImport(Libraries.Tapi, EntryPoint = "tel_check_modem_power_status")]
288             internal static extern int CheckPowerStatus(IntPtr handle, out int result);
289             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_device_info")]
290             internal static extern int GetDeviceInfo(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
291         }
292
293         //Sms
294         internal static class Sms
295         {
296             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_sms")]
297             internal static extern int SendSms(IntPtr handle, ref SmsDataPackageStruct info, int moreMsg, TapiResponseCallback cb, IntPtr userData);
298             [DllImport(Libraries.Tapi, EntryPoint = "tel_read_sms_in_sim")]
299             internal static extern int ReadSmsSim(IntPtr handle, int index, TapiResponseCallback cb, IntPtr userData);
300             [DllImport(Libraries.Tapi, EntryPoint = "tel_write_sms_in_sim")]
301             internal static extern int WriteSmsSim(IntPtr handle, ref SmsDataStruct data, TapiResponseCallback cb, IntPtr userData);
302             [DllImport(Libraries.Tapi, EntryPoint = "tel_delete_sms_in_sim")]
303             internal static extern int DeleteSmsSim(IntPtr handle, int index, TapiResponseCallback cb, IntPtr userData);
304             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sms_count")]
305             internal static extern int GetSmsCount(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
306             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sms_cb_config")]
307             internal static extern int SetSmsCbconfig(IntPtr handle, ref SmsCbConfigStruct config, TapiResponseCallback cb, IntPtr userData);
308             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sms_cb_config")]
309             internal static extern int GetSmsCbconfig(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
310             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sms_parameters")]
311             internal static extern int GetSmsParams(IntPtr handle, int index, TapiResponseCallback cb, IntPtr userData);
312             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sms_parameters")]
313             internal static extern int SetSmsParams(IntPtr handle, ref SmsParamsStruct info, TapiResponseCallback cb, IntPtr userData);
314             [DllImport(Libraries.Tapi, EntryPoint = "tel_send_sms_deliver_report")]
315             internal static extern int SendSmsDeliverReport(IntPtr handle, ref SmsDataPackageStruct info, SmsResponse response, TapiResponseCallback cb, IntPtr userData);
316             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sms_sca")]
317             internal static extern int SetSmsSca(IntPtr handle, ref SmsAddressStruct info, int index, TapiResponseCallback cb, IntPtr userData);
318             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sms_sca")]
319             internal static extern int GetSmsSca(IntPtr handle, int index, TapiResponseCallback cb, IntPtr userData);
320             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sms_memory_status")]
321             internal static extern int SetSmsMemoryStatus(IntPtr handle, int status, TapiResponseCallback cb, IntPtr userData);
322             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_sms_message_status")]
323             internal static extern int SetSmsMsgStatus(IntPtr handle, int index, SmsMessageStatus status, TapiResponseCallback cb, IntPtr userData);
324             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_sms_parameter_count")]
325             internal static extern int GetSmsParamCount(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
326             [DllImport(Libraries.Tapi, EntryPoint = "tel_check_sms_device_status")]
327             internal static extern int CheckSmsDeviceStatus(IntPtr handle, out int readyStatus);
328         }
329
330         //Network
331         internal static class Network
332         {
333             [DllImport(Libraries.Tapi, EntryPoint = "tel_select_network_automatic")]
334             internal static extern int SelectAutoNetwork(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
335             [DllImport(Libraries.Tapi, EntryPoint = "tel_select_network_manual")]
336             internal static extern int SelectManualNetwork(IntPtr handle, string plmn, int act, TapiResponseCallback cb, IntPtr userData);
337             [DllImport(Libraries.Tapi, EntryPoint = "tel_search_network")]
338             internal static extern int SearchNetwork(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
339             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_selection_mode")]
340             internal static extern int GetNetworkSelectMode(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
341             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_preferred_plmn")]
342             internal static extern int SetNetworkPreferredPlmn(IntPtr handle, NetworkPreferredPlmnOp operation, ref NetworkPreferredPlmnStruct info, TapiResponseCallback cb, IntPtr userData);
343             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_preferred_plmn")]
344             internal static extern int GetNetworkPreferredPlmn(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
345             [DllImport(Libraries.Tapi, EntryPoint = "tel_cancel_network_manual_search")]
346             internal static extern int CancelNetworkManualSearch(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
347             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_serving")]
348             internal static extern int GetNetworkServing(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
349             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_mode")]
350             internal static extern int SetNetworkMode(IntPtr handle, int mode, TapiResponseCallback cb, IntPtr userData);
351             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_mode")]
352             internal static extern int GetNetworkMode(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
353             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_neighboring_cell_info")]
354             internal static extern int GetNetworkNeighborCell(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
355             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_emergency_callback_mode")]
356             internal static extern int SetNetworkEmergencyCallback(IntPtr handle, NetworkEmergencyCallbackMode mode, TapiResponseCallback cb, IntPtr userData);
357             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_roaming_preference")]
358             internal static extern int SetNetworkRoamPreference(IntPtr handle, NetworkPreferred prefRoam, TapiResponseCallback cb, IntPtr userData);
359             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_roaming_preference")]
360             internal static extern int GetNetworkRoamPreference(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
361             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_default_data_subscription")]
362             internal static extern int SetNetworkDefaultDataSubs(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
363             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_default_data_subscription")]
364             internal static extern int GetNetworkDefaultDataSubs(IntPtr handle, out NetworkDefaultDataSubscription subscription);
365             [DllImport(Libraries.Tapi, EntryPoint = "tel_set_network_default_subscription")]
366             internal static extern int SetNetworkDefaultSubs(IntPtr handle, TapiResponseCallback cb, IntPtr userData);
367             [DllImport(Libraries.Tapi, EntryPoint = "tel_get_network_default_subscription")]
368             internal static extern int GetNetworkDefaultSubs(IntPtr handle, out NetworkDefaultSubscription subscription);
369         }
370     }
371 }