2 * Copyright (c) 2016 Samsung Electronics Co., Ltd All Rights Reserved
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
8 * http://www.apache.org/licenses/LICENSE-2.0
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.
18 using System.Runtime.InteropServices;
22 /// Interop class for Tapi
24 internal static partial class Interop
29 internal static partial class Tapi
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);
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);
64 internal static class Phonebook
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);
83 internal static class Sat
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);
100 internal static class Sim
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);
178 internal static class Ss
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);
203 internal static class Call
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);
256 internal static class Oem
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);
267 internal static class Modem
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);
294 internal static class Sms
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);
331 internal static class Network
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);