• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16/**
17 * @addtogroup Ril
18 * @{
19 *
20 * @brief Defines Ril-related APIs.
21 *
22 * The radio interface layer (RIL) module provides APIs and callbacks for upper-layer
23 * telephony services, including call, SMS, MMS, network search, and SIM card services.
24 *
25 * @since 3.2
26 * @version 1.0
27 */
28
29/**
30 * @file IRil.idl
31 *
32 * @brief Declares the request API of the RIL module.
33 *
34 * @since 3.2
35 * @version 1.0
36 */
37
38/**
39 * @brief Defines the path for the package of the RIL module APIs.
40 *
41 * @since 3.2
42 * @version 1.0
43 */
44package ohos.hdi.ril.v1_0;
45import ohos.hdi.ril.v1_0.IRilCallback;
46import ohos.hdi.ril.v1_0.Types;
47
48/**
49 * @brief Declares the request API of the RIL module.
50 *
51 * Request APIs are called to make calls, send SMS and MMS messages, activate SIM cards,
52 * and access the Internet.
53 *
54 * @since 3.2
55 * @version 1.0
56 */
57interface IRil {
58     /**
59      * @brief Sets an IRil callback.
60      *
61      * @param rilCallback Callback to set. For details, see {@link IRilCallback}.
62      *
63      * @return Returns <b>0</b> if the operation is successful.
64      * @return Returns a non-0 value if the operation fails.
65      *
66      * @since 3.2
67      * @version 1.0
68      */
69    [oneway] SetCallback([in] IRilCallback rilCallback);
70
71    /**
72     * @brief Sets the emergency call number.
73     *
74     * @param slotId Card slot ID.
75     * @param serialId Serial ID of a request.
76     * @param emergencyInfoList Emergency call number list. For details, see {@link EmergencyInfoList}.
77     *
78     * @return Returns <b>0</b> if the operation is successful.
79     * @return Returns a non-0 value if the operation fails.
80     *
81     * @since 3.2
82     * @version 1.0
83     */
84    [oneway] SetEmergencyCallList([in] int slotId, [in] int serialId, [in] struct EmergencyInfoList emergencyInfoList);
85
86    /**
87     * @brief Obtains the emergency number.
88     *
89     * @param slotId Card slot ID.
90     * @param serialId Serial ID of a request.
91     *
92     * @return Returns <b>0</b> if the operation is successful.
93     * @return Returns a non-0 value if the operation fails.
94     *
95     * @since 3.2
96     * @version 1.0
97     */
98    [oneway] GetEmergencyCallList([in] int slotId, [in] int serialId);
99
100    /**
101     * @brief Obtains the call status list.
102     *
103     * @param slotId Card slot ID.
104     * @param serialId Serial ID of a request.
105     *
106     * @return Returns <b>0</b> if the operation is successful.
107     * @return Returns a non-0 value if the operation fails.
108     *
109     * @since 3.2
110     * @version 1.0
111     */
112    [oneway] GetCallList([in] int slotId, [in] int serialId);
113
114    /**
115     * @brief Makes a call.
116     *
117     * @param slotId Card slot ID.
118     * @param serialId Serial ID of a request.
119     * @param dialInfo Dialing information. For details, see {@link DialInfo}.
120     *
121     * @return Returns <b>0</b> if the operation is successful.
122     * @return Returns a non-0 value if the operation fails.
123     *
124     * @since 3.2
125     * @version 1.0
126     */
127    [oneway] Dial([in] int slotId, [in] int serialId, [in] struct DialInfo dialInfo);
128
129    /**
130     * @brief Rejects a call.
131     *
132     * @param slotId Card slot ID.
133     * @param serialId Serial ID of a request.
134     *
135     * @return Returns <b>0</b> if the operation is successful.
136     * @return Returns a non-0 value if the operation fails.
137     *
138     * @since 3.2
139     * @version 1.0
140     */
141    [oneway] Reject([in] int slotId, [in] int serialId);
142
143    /**
144     * @brief Ends a call.
145     *
146     * @param slotId Card slot ID.
147     * @param serialId Serial ID of a request.
148     * @param callId Call ID.
149     *
150     * @return Returns <b>0</b> if the operation is successful.
151     * @return Returns a non-0 value if the operation fails.
152     *
153     * @since 3.2
154     * @version 1.0
155     */
156    [oneway] Hangup([in] int slotId, [in] int serialId, [in] int callId);
157
158    /**
159     * @brief Answers a call.
160     *
161     * @param slotId Card slot ID.
162     * @param serialId Serial ID of a request.
163     *
164     * @return Returns <b>0</b> if the operation is successful.
165     * @return Returns a non-0 value if the operation fails.
166     *
167     * @since 3.2
168     * @version 1.0
169     */
170    [oneway] Answer([in] int slotId, [in] int serialId);
171
172    /**
173     * @brief Holds a call.
174     *
175     * @param slotId Card slot ID.
176     * @param serialId Serial ID of a request.
177     *
178     * @return Returns <b>0</b> if the operation is successful.
179     * @return Returns a non-0 value if the operation fails.
180     *
181     * @since 3.2
182     * @version 1.0
183     */
184    [oneway] HoldCall([in] int slotId, [in] int serialId);
185
186    /**
187     * @brief Unholds a call.
188     *
189     * @param slotId Card slot ID.
190     * @param serialId Serial ID of a request.
191     *
192     * @return Returns <b>0</b> if the operation is successful.
193     * @return Returns a non-0 value if the operation fails.
194     *
195     * @since 3.2
196     * @version 1.0
197     */
198    [oneway] UnHoldCall([in] int slotId, [in] int serialId);
199
200    /**
201     * @brief Switches a call.
202     *
203     * @param slotId Card slot ID.
204     * @param serialId Serial ID of a request.
205     *
206     * @return Returns <b>0</b> if the operation is successful.
207     * @return Returns a non-0 value if the operation fails.
208     *
209     * @since 3.2
210     * @version 1.0
211     */
212    [oneway] SwitchCall([in] int slotId, [in] int serialId);
213
214    /**
215     * @brief Combines calls into a conference call.
216     *
217     * @param slotId Card slot ID.
218     * @param serialId Serial ID of a request.
219     * @param callType Call type. Currently, the value can only be <b>0</b> (voice call).
220     *
221     * @return Returns <b>0</b> if the operation is successful.
222     * @return Returns a non-0 value if the operation fails.
223     *
224     * @since 3.2
225     * @version 1.0
226     */
227    [oneway] CombineConference([in] int slotId, [in] int serialId, [in] int callType);
228
229    /**
230     * @brief Separates calls from a conference call.
231     *
232     * @param slotId Card slot ID.
233     * @param serialId Serial ID of a request.
234     * @param callId Call ID.
235     * @param callType Call type. Currently, the value can only be <b>0</b> (voice call).
236     *
237     * @return Returns <b>0</b> if the operation is successful.
238     * @return Returns a non-0 value if the operation fails.
239     *
240     * @since 3.2
241     * @version 1.0
242     */
243    [oneway] SeparateConference([in] int slotId, [in] int serialId, [in] int callId, [in] int callType);
244
245    /**
246     * @brief Obtains the call waiting status.
247     *
248     * @param slotId Card slot ID.
249     * @param serialId Serial ID of a request.
250     *
251     * @return Returns <b>0</b> if the operation is successful.
252     * @return Returns a non-0 value if the operation fails.
253     *
254     * @since 3.2
255     * @version 1.0
256     */
257    [oneway] GetCallWaiting([in] int slotId, [in] int serialId);
258
259    /**
260     * @brief Sets the call waiting information.
261     *
262     * @param slotId Card slot ID.
263     * @param serialId Serial ID of a request.
264     * @param activate Whether to enable or disable call waiting. The value <b>0</b> means to
265     * disable the call waiting function, and the value <b>1</b> means the opposite.
266     *
267     * @return Returns <b>0</b> if the operation is successful.
268     * @return Returns a non-0 value if the operation fails.
269     *
270     * @since 3.2
271     * @version 1.0
272     */
273    [oneway] SetCallWaiting([in] int slotId, [in] int serialId, [in] int activate);
274
275    /**
276     * @brief Obtains the call forwarding information.
277     *
278     * @param slotId Card slot ID.
279     * @param serialId Serial ID of a request.
280     * @param reason Call forwarding type. The value <b>0</b> indicates unconditional call forwarding,
281     * <b>1</b> indicates call forwarding when the user is busy, <b>2</b> indicates call forwarding
282     * when the user does not reply, and <b>3</b> indicates call forwarding when the user is unreachable.
283     *
284     * @return Returns <b>0</b> if the operation is successful.
285     * @return Returns a non-0 value if the operation fails.
286     *
287     * @since 3.2
288     * @version 1.0
289     */
290    [oneway] GetCallTransferInfo([in] int slotId, [in] int serialId, [in] int reason);
291
292    /**
293     * @brief Sets the call forwarding status.
294     *
295     * @param slotId Card slot ID.
296     * @param serialId Serial ID of a request.
297     * @param callForwardSetInfo Call forwarding information. For details, see {@link CallForwardSetInfo}.
298     *
299     * @return Returns <b>0</b> if the operation is successful.
300     * @return Returns a non-0 value if the operation fails.
301     *
302     * @since 3.2
303     * @version 1.0
304     */
305    [oneway] SetCallTransferInfo([in] int slotId, [in] int serialId,
306        [in] struct CallForwardSetInfo callForwardSetInfo);
307
308    /**
309     * @brief Obtains the call restriction information.
310     *
311     * @param slotId Card slot ID.
312     * @param serialId Serial ID of a request.
313     * @param fac Object for call restriction.
314     *
315     * @return Returns <b>0</b> if the operation is successful.
316     * @return Returns a non-0 value if the operation fails.
317     *
318     * @since 3.2
319     * @version 1.0
320     */
321    [oneway] GetCallRestriction([in] int slotId, [in] int serialId, [in] String fac);
322
323    /**
324     * @brief Sets the call restriction information.
325     *
326     * @param slotId Card slot ID.
327     * @param serialId Serial ID of a request.
328     * @param callRestrictionInfo Call restriction information. For details, see {@link CallRestrictionInfo}.
329     *
330     * @return Returns <b>0</b> if the operation is successful.
331     * @return Returns a non-0 value if the operation fails.
332     *
333     * @since 3.2
334     * @version 1.0
335     */
336    [oneway] SetCallRestriction([in] int slotId, [in] int serialId,
337        [in] struct CallRestrictionInfo callRestrictionInfo);
338
339    /**
340     * @brief Obtains the calling line identification presentation (CLIP) information.
341     *
342     * @param slotId Card slot ID.
343     * @param serialId Serial ID of a request.
344     *
345     * @return Returns <b>0</b> if the operation is successful.
346     * @return Returns a non-0 value if the operation fails.
347     *
348     * @since 3.2
349     * @version 1.0
350     */
351    [oneway] GetClip([in] int slotId, [in] int serialId);
352
353    /**
354     * @brief Sets the CLIP information.
355     *
356     * @param slotId Card slot ID.
357     * @param serialId Serial ID of a request.
358     * @param action Whether to enable or disable the CLIP function. The value <b>0</b> means to
359     * disable the CLIP function, and the value <b>1</b> means the opposite.
360     *
361     * @return Returns <b>0</b> if the operation is successful.
362     * @return Returns a non-0 value if the operation fails.
363     *
364     * @since 3.2
365     * @version 1.0
366     */
367    [oneway] SetClip([in] int slotId, [in] int serialId, [in] int action);
368
369    /**
370     * @brief Obtains the calling line identification restriction (CLIR) information.
371     *
372     * @param slotId Card slot ID.
373     * @param serialId Serial ID of a request.
374     *
375     * @return Returns <b>0</b> if the operation is successful.
376     * @return Returns a non-0 value if the operation fails.
377     *
378     * @since 3.2
379     * @version 1.0
380     */
381    [oneway] GetClir([in] int slotId, [in] int serialId);
382
383    /**
384     * @brief Sets the CLIR information.
385     *
386     * @param slotId Card slot ID.
387     * @param serialId Serial ID of a request.
388     * @param action Whether to enable or disable the CLIR function. The value <b>0</b> means to
389     * disable the CLIR function, and the value <b>1</b> means the opposite.
390     *
391     * @return Returns <b>0</b> if the operation is successful.
392     * @return Returns a non-0 value if the operation fails.
393     *
394     * @since 3.2
395     * @version 1.0
396     */
397    [oneway] SetClir([in] int slotId, [in] int serialId, [in] int action);
398
399    /**
400     * @brief Sets the call preference mode.
401     *
402     * @param slotId Card slot ID.
403     * @param serialId Serial ID of a request.
404     * @param mode Call preference mode. The value <b>1</b> indicates that only the CS domain is used for calls.
405     * The value <b>2</b> indicates that the CS domain is preferred for calls. The value <b>3</b> indicates
406     * that the IP multimedia system (IMS) is preferred for calls. The value <b>4</b> indicates that only the
407     * IMS is used for calls.
408     *
409     * @return Returns <b>0</b> if the operation is successful.
410     * @return Returns a non-0 value if the operation fails.
411     *
412     * @since 3.2
413     * @version 1.0
414     */
415    [oneway] SetCallPreferenceMode([in] int slotId, [in] int serialId, [in] int mode);
416
417    /**
418     * @brief Obtains the call preference mode.
419     *
420     * @param slotId Card slot ID.
421     * @param serialId Serial ID of a request.
422     *
423     * @return Returns <b>0</b> if the operation is successful.
424     * @return Returns a non-0 value if the operation fails.
425     *
426     * @since 3.2
427     * @version 1.0
428     */
429    [oneway] GetCallPreferenceMode([in] int slotId, [in] int serialId);
430
431    /**
432     * @brief Sets unstructured supplementary service data (USSD) information.
433     *
434     * @param slotId Card slot ID.
435     * @param serialId Serial ID of a request.
436     * @param str USSD information. The value contains a maximum of 160 characters.
437     *
438     * @return Returns <b>0</b> if the operation is successful.
439     * @return Returns a non-0 value if the operation fails.
440     *
441     * @since 3.2
442     * @version 1.0
443     */
444    [oneway] SetUssd([in] int slotId, [in] int serialId, [in] String str);
445
446    /**
447     * @brief Obtains the USSD information.
448     *
449     * @param slotId Card slot ID.
450     * @param serialId Serial ID of a request.
451     *
452     * @return Returns <b>0</b> if the operation is successful.
453     * @return Returns a non-0 value if the operation fails.
454     *
455     * @since 3.2
456     * @version 1.0
457     */
458    [oneway] GetUssd([in] int slotId, [in] int serialId);
459
460    /**
461     * @brief Sets the mute mode.
462     *
463     * @param slotId Card slot ID.
464     * @param serialId Serial ID of a request.
465     * @param mute Whether to enable the mute function. The value <b>0</b> means to
466     * disable the mute function, and the value <b>1</b> means the opposite.
467     *
468     * @return Returns <b>0</b> if the operation is successful.
469     * @return Returns a non-0 value if the operation fails.
470     *
471     * @since 3.2
472     * @version 1.0
473     */
474    [oneway] SetMute([in] int slotId, [in] int serialId, [in] int mute);
475
476    /**
477     * @brief Obtains the mute mode.
478     *
479     * @param slotId Card slot ID.
480     * @param serialId Serial ID of a request.
481     *
482     * @return Returns <b>0</b> if the operation is successful.
483     * @return Returns a non-0 value if the operation fails.
484     *
485     * @since 3.2
486     * @version 1.0
487     */
488    [oneway] GetMute([in] int slotId, [in] int serialId);
489
490    /**
491     * @brief Obtains the call failure cause.
492     *
493     * @param slotId Card slot ID.
494     * @param serialId Serial ID of a request.
495     *
496     * @return Returns <b>0</b> if the operation is successful.
497     * @return Returns a non-0 value if the operation fails.
498     *
499     * @since 3.2
500     * @version 1.0
501     */
502    [oneway] GetCallFailReason([in] int slotId, [in] int serialId);
503
504    /**
505     * @brief Holds and resumes a call.
506     *
507     * @param slotId Card slot ID.
508     * @param serialId Serial ID of a request.
509     * @param type Type of ending calls. The value <b>0</b> indicates that the call is ended directly,
510     * the value <b>1</b> indicates that the call is ended in the foreground and background,
511     * the value <b>2</b> indicates that the call is ended in the foreground and resumed in the background,
512     * and the value <b>3</b> indicates that all calls are ended.
513     *
514     * @return Returns <b>0</b> if the operation is successful.
515     * @return Returns a non-0 value if the operation fails.
516     *
517     * @since 3.2
518     * @version 1.0
519     */
520    [oneway] CallSupplement([in] int slotId, [in] int serialId, [in] int type);
521
522    /**
523     * @brief Sends dual tone multi-frequency (DTMF).
524     *
525     * @param slotId Card slot ID.
526     * @param serialId Serial ID of a request.
527     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
528     *
529     * @return Returns <b>0</b> if the operation is successful.
530     * @return Returns a non-0 value if the operation fails.
531     *
532     * @since 3.2
533     * @version 1.0
534     */
535    [oneway] SendDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
536
537    /**
538     * @brief Enables DTMF.
539     *
540     * @param slotId Card slot ID.
541     * @param serialId Serial ID of a request.
542     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
543     *
544     * @return Returns <b>0</b> if the operation is successful.
545     * @return Returns a non-0 value if the operation fails.
546     *
547     * @since 3.2
548     * @version 1.0
549     */
550    [oneway] StartDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
551
552    /**
553     * @brief Disables DTMF.
554     *
555     * @param slotId Card slot ID.
556     * @param serialId Serial ID of a request.
557     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
558     *
559     * @return Returns <b>0</b> if the operation is successful.
560     * @return Returns a non-0 value if the operation fails.
561     *
562     * @since 3.2
563     * @version 1.0
564     */
565    [oneway] StopDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
566
567    /**
568     * @brief Sets the call barring password.
569     *
570     * @param slotId Card slot ID.
571     * @param serialId Serial ID of a request.
572     * @param setBarringInfo Call barring information. For details, see {@link SetBarringInfo}.
573     *
574     * @return Returns <b>0</b> if the operation is successful.
575     * @return Returns a non-0 value if the operation fails.
576     *
577     * @since 3.2
578     * @version 1.0
579     */
580    [oneway] SetBarringPassword([in] int slotId, [in] int serialId, [in] struct SetBarringInfo setBarringInfo);
581
582    /**
583     * @brief Activates the packet data protocol (PDP) context.
584     *
585     * @param slotId Card slot ID.
586     * @param serialId Serial ID of a request.
587     * @param dataCallInfo Data service information. For details, see {@link DataCallInfo}.
588     *
589     * @return Returns <b>0</b> if the operation is successful.
590     * @return Returns a non-0 value if the operation fails.
591     *
592     * @since 3.2
593     * @version 1.0
594     */
595    [oneway] ActivatePdpContext([in] int slotId, [in] int serialId, [in] struct DataCallInfo dataCallInfo);
596
597    /**
598     * @brief Deactivates the PDP context.
599     *
600     * @param slotId Card slot ID.
601     * @param serialId Serial ID of a request.
602     * @param uniInfo Common information. For details, see {@link UniInfo}.
603     *
604     * @return Returns <b>0</b> if the operation is successful.
605     * @return Returns a non-0 value if the operation fails.
606     *
607     * @since 3.2
608     * @version 1.0
609     */
610    [oneway] DeactivatePdpContext([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo);
611
612    /**
613     * @brief Obtains the PDP context list.
614     *
615     * @param slotId Card slot ID.
616     * @param serialId Serial ID of a request.
617     * @param uniInfo Common information. For details, see {@link UniInfo}.
618     *
619     * @return Returns <b>0</b> if the operation is successful.
620     * @return Returns a non-0 value if the operation fails.
621     *
622     * @since 3.2
623     * @version 1.0
624     */
625    [oneway] GetPdpContextList([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo);
626
627    /**
628     * @brief Sets the initial default network access technology (APN).
629     *
630     * @param slotId Card slot ID.
631     * @param serialId Serial ID of a request.
632     * @param dataProfileDataInfo PDP context information. For details, see {@link DataProfileDataInfo}.
633     *
634     * @return Returns <b>0</b> if the operation is successful.
635     * @return Returns a non-0 value if the operation fails.
636     *
637     * @since 3.2
638     * @version 1.0
639     */
640    [oneway] SetInitApnInfo([in] int slotId, [in] int serialId, [in] struct DataProfileDataInfo dataProfileDataInfo);
641
642    /**
643     * @brief Obtains the current link information.
644     *
645     * @param slotId Card slot ID.
646     * @param serialId Serial ID of a request.
647     * @param cid PDP context ID.
648     *
649     * @return Returns <b>0</b> if the operation is successful.
650     * @return Returns a non-0 value if the operation fails.
651     *
652     * @since 3.2
653     * @version 1.0
654     */
655    [oneway] GetLinkBandwidthInfo([in] int slotId, [in] int serialId, [in] int cid);
656
657    /**
658     * @brief Sets the rule for reporting the data link bandwidth information.
659     *
660     * @param slotId Card slot ID.
661     * @param serialId Serial ID of a request.
662     * @param dataLinkBandwidthReportingRule Data link bandwidth reporting rule.
663     * For details, see {@link DataLinkBandwidthReportingRule}.
664     *
665     * @return Returns <b>0</b> if the operation is successful.
666     * @return Returns a non-0 value if the operation fails.
667     *
668     * @since 3.2
669     * @version 1.0
670     */
671    [oneway] SetLinkBandwidthReportingRule([in] int slotId, [in] int serialId,
672        [in] struct DataLinkBandwidthReportingRule dataLinkBandwidthReportingRule);
673
674    /**
675     * @brief Enables the data service of a SIM card slot.
676     *
677     * @param slotId Card slot ID.
678     * @param serialId Serial ID of a request.
679     * @param dataPermitted Whether to enable the data service. The value <b>0</b> means to
680     * disable the data service, and the value <b>1</b> means the opposite.
681     *
682     * @return Returns <b>0</b> if the operation is successful.
683     * @return Returns a non-0 value if the operation fails.
684     *
685     * @since 3.2
686     * @version 1.0
687     */
688    [oneway] SetDataPermitted([in] int slotId, [in] int serialId, [in] int dataPermitted);
689
690    /**
691     * @brief Sets the PDP context information for the data service.
692     *
693     * @param slotId Card slot ID.
694     * @param serialId Serial ID of a request.
695     * @param dataProfilesInfo PDP context list. For details, see {@link DataProfilesInfo}.
696     *
697     * @return Returns <b>0</b> if the operation is successful.
698     * @return Returns a non-0 value if the operation fails.
699     *
700     * @since 3.2
701     * @version 1.0
702     */
703    [oneway] SetDataProfileInfo([in] int slotId, [in] int serialId, [in] struct DataProfilesInfo dataProfilesInfo);
704
705    /**
706     * @brief Sends the data service performance mode.
707     *
708     * @param slotId Card slot ID.
709     * @param serialId Serial ID of a request.
710     * @param dataPerformanceInfo Data service performance mode. For details, see {@link DataPerformanceInfo}.
711     *
712     * @return Returns <b>0</b> if the operation is successful.
713     * @return Returns a non-0 value if the operation fails.
714     *
715     * @since 3.2
716     * @version 1.0
717     */
718    [oneway] SendDataPerformanceMode([in] int slotId, [in] int serialId, [in] struct DataPerformanceInfo dataPerformanceInfo);
719
720    /**
721     * @brief Sends the data service sleep mode.
722     *
723     * @param slotId Card slot ID.
724     * @param serialId Serial ID of a request.
725     * @param dataSleepInfo Data service sleep mode. For details, see {@link DataSleepInfo}.
726     *
727     * @return Returns <b>0</b> if the operation is successful.
728     * @return Returns a non-0 value if the operation fails.
729     *
730     * @since 3.2
731     * @version 1.0
732     */
733    [oneway] SendDataSleepMode([in] int slotId, [in] int serialId, [in] struct DataSleepInfo dataSleepInfo);
734
735    /**
736     * @brief Sets the modem status.
737     *
738     * @param slotId Card slot ID.
739     * @param serialId Serial ID of a request.
740     * @param fun Function mode. The value <b>0</b> indicates the minimum mode, <b>1</b> indicates the online mode,
741     * and <b>4</b> indicates the offline mode. Other modes are chip-specific.
742     * @param rst Whether to enable automatic reset of the modem. The value <b>0</b> means to disable automatic reset,
743     * and the value <b>1</b> means the opposite.
744     *
745     * @return Returns <b>0</b> if the operation is successful.
746     * @return Returns a non-0 value if the operation fails.
747     *
748     * @since 3.2
749     * @version 1.0
750     */
751    [oneway] SetRadioState([in] int slotId, [in] int serialId, [in] int fun, [in] int rst);
752
753    /**
754     * @brief Obtains the modem status.
755     *
756     * @param slotId Card slot ID.
757     * @param serialId Serial ID of a request.
758     *
759     * @return Returns <b>0</b> if the operation is successful.
760     * @return Returns a non-0 value if the operation fails.
761     *
762     * @since 3.2
763     * @version 1.0
764     */
765    [oneway] GetRadioState([in] int slotId, [in] int serialId);
766
767    /**
768     * @brief Obtains the international mobile equipment identity (IMEI).
769     *
770     * @param slotId Card slot ID.
771     * @param serialId Serial ID of a request.
772     *
773     * @return Returns <b>0</b> if the operation is successful.
774     * @return Returns a non-0 value if the operation fails.
775     *
776     * @since 3.2
777     * @version 1.0
778     */
779    [oneway] GetImei([in] int slotId, [in] int serialId);
780
781    /**
782     * @brief Obtains the mobile equipment identifier (MEID).
783     *
784     * @param slotId Card slot ID.
785     * @param serialId Serial ID of a request.
786     *
787     * @return Returns <b>0</b> if the operation is successful.
788     * @return Returns a non-0 value if the operation fails.
789     *
790     * @since 3.2
791     * @version 1.0
792     */
793    [oneway] GetMeid([in] int slotId, [in] int serialId);
794
795    /**
796     * @brief Obtains the radio access technology of the CS domain.
797     *
798     * @param slotId Card slot ID.
799     * @param serialId Serial ID of a request.
800     *
801     * @return Returns <b>0</b> if the operation is successful.
802     * @return Returns a non-0 value if the operation fails.
803     *
804     * @since 3.2
805     * @version 1.0
806     */
807    [oneway] GetVoiceRadioTechnology([in] int slotId, [in] int serialId);
808
809    /**
810     * @brief Obtains the baseband version.
811     *
812     * @param slotId Card slot ID.
813     * @param serialId Serial ID of a request.
814     *
815     * @return Returns <b>0</b> if the operation is successful.
816     * @return Returns a non-0 value if the operation fails.
817     *
818     * @since 3.2
819     * @version 1.0
820     */
821    [oneway] GetBasebandVersion([in] int slotId, [in] int serialId);
822
823    /**
824     * @brief Sends a mobile phone power-off message to the modem.
825     *
826     * @param slotId Card slot ID.
827     * @param serialId Serial ID of a request.
828     *
829     * @return Returns <b>0</b> if the operation is successful.
830     * @return Returns a non-0 value if the operation fails.
831     *
832     * @since 3.2
833     * @version 1.0
834     */
835    [oneway] ShutDown([in] int slotId, [in] int serialId);
836
837    /**
838     * @brief Obtains SIM card data.
839     *
840     * @param slotId Card slot ID.
841     * @param serialId Serial ID of a request.
842     * @param SimIoRequestInfo SIM card data request information. For details, see {@link SimIoRequestInfo}.
843     *
844     * @return Returns <b>0</b> if the operation is successful.
845     * @return Returns a non-0 value if the operation fails.
846     *
847     * @since 3.2
848     * @version 1.0
849     */
850    [oneway] GetSimIO([in] int slotId, [in] int serialId, [in] struct SimIoRequestInfo simIO);
851
852    /**
853     * @brief Obtains the SIM card status.
854     *
855     * @param slotId Card slot ID.
856     * @param serialId Serial ID of a request.
857     *
858     * @return Returns <b>0</b> if the operation is successful.
859     * @return Returns a non-0 value if the operation fails.
860     *
861     * @since 3.2
862     * @version 1.0
863     */
864    [oneway] GetSimStatus([in] int slotId, [in] int serialId);
865
866    /**
867     * @brief Obtains the international mobile subscriber identity (IMSI) of the SIM card.
868     *
869     * @param slotId Card slot ID.
870     * @param serialId Serial ID of a request.
871     *
872     * @return Returns <b>0</b> if the operation is successful.
873     * @return Returns a non-0 value if the operation fails.
874     *
875     * @since 3.2
876     * @version 1.0
877     */
878    [oneway] GetImsi([in] int slotId, [in] int serialId);
879
880    /**
881     * @brief Obtains the SIM card lock status.
882     *
883     * @param slotId Card slot ID.
884     * @param serialId Serial ID of a request.
885     * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}.
886     *
887     * @return Returns <b>0</b> if the operation is successful.
888     * @return Returns a non-0 value if the operation fails.
889     *
890     * @since 3.2
891     * @version 1.0
892     */
893    [oneway] GetSimLockStatus([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo);
894
895    /**
896     * @brief Sets the SIM card lock.
897     *
898     * @param slotId Card slot ID.
899     * @param serialId Serial ID of a request.
900     * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}.
901     *
902     * @return Returns <b>0</b> if the operation is successful.
903     * @return Returns a non-0 value if the operation fails.
904     *
905     * @since 3.2
906     * @version 1.0
907     */
908    [oneway] SetSimLock([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo);
909
910    /**
911     * @brief Changes the SIM card password.
912     *
913     * @param slotId Card slot ID.
914     * @param serialId Serial ID of a request.
915     * @param simPassword SIM card password. For details, see {@link SimPasswordInfo}.
916     *
917     * @return Returns <b>0</b> if the operation is successful.
918     * @return Returns a non-0 value if the operation fails.
919     *
920     * @since 3.2
921     * @version 1.0
922     */
923    [oneway] ChangeSimPassword([in] int slotId, [in] int serialId, [in] struct SimPasswordInfo simPassword);
924
925    /**
926     * @brief Sets the PIN for unlocking.
927     *
928     * @param slotId Card slot ID.
929     * @param serialId Serial ID of a request.
930     * @param pin PIN used for unlocking.
931     *
932     * @return Returns <b>0</b> if the operation is successful.
933     * @return Returns a non-0 value if the operation fails.
934     *
935     * @since 3.2
936     * @version 1.0
937     */
938    [oneway] UnlockPin([in] int slotId, [in] int serialId, [in] String pin);
939
940    /**
941     * @brief Sets the PUK for unlocking.
942     *
943     * @param slotId Card slot ID.
944     * @param serialId Serial ID of a request.
945     * @param puk PUK used for unlocking.
946     * @param pin PIN used for unlocking.
947     *
948     * @return Returns <b>0</b> if the operation is successful.
949     * @return Returns a non-0 value if the operation fails.
950     *
951     * @since 3.2
952     * @version 1.0
953     */
954    [oneway] UnlockPuk([in] int slotId, [in] int serialId, [in] String puk, [in] String pin);
955
956    /**
957     * @brief Sets the PIN2 for unlocking.
958     *
959     * @param slotId Card slot ID.
960     * @param serialId Serial ID of a request.
961     * @param pin2 PIN2 used for unlocking.
962     *
963     * @return Returns <b>0</b> if the operation is successful.
964     * @return Returns a non-0 value if the operation fails.
965     *
966     * @since 3.2
967     * @version 1.0
968     */
969    [oneway] UnlockPin2([in] int slotId, [in] int serialId, [in] String pin2);
970
971    /**
972     * @brief Sets the PUK2 for unlocking.
973     *
974     * @param slotId Card slot ID.
975     * @param serialId Serial ID of a request.
976     * @param puk2 PUK2 used for unlocking.
977     * @param pin2 PIN2 used for unlocking.
978     *
979     * @return Returns <b>0</b> if the operation is successful.
980     * @return Returns a non-0 value if the operation fails.
981     *
982     * @since 3.2
983     * @version 1.0
984     */
985    [oneway] UnlockPuk2([in] int slotId, [in] int serialId, [in] String puk2, [in] String pin2);
986
987    /**
988     * @brief Specifies whether to activate a SIM card.
989     *
990     * @param slotId Card slot ID.
991     * @param serialId Serial ID of a request.
992     * @param index Index value.
993     * @param enable Whether to enable the SIM card. The value <b>0</b> means to activate the SIM card,
994     * and the value <b>1</b> means the opposite.
995     *
996     * @return Returns <b>0</b> if the operation is successful.
997     * @return Returns a non-0 value if the operation fails.
998     *
999     * @since 3.2
1000     * @version 1.0
1001     */
1002    [oneway] SetActiveSim([in] int slotId, [in] int serialId, [in] int index, [in] int enable);
1003
1004    /**
1005     * @brief Sends the <b>TerminalResponse</b> instruction of the SIM application toolkit (STK).
1006     *
1007     * @param slotId Card slot ID.
1008     * @param serialId Serial ID of a request.
1009     * @param strCmd String text of the instruction.
1010     *
1011     * @return Returns <b>0</b> if the operation is successful.
1012     * @return Returns a non-0 value if the operation fails.
1013     *
1014     * @since 3.2
1015     * @version 1.0
1016     */
1017    [oneway] SimStkSendTerminalResponse([in] int slotId, [in] int serialId, [in] String strCmd);
1018
1019    /**
1020     * @brief Sends the <b>Envelope</b> instruction of the STK.
1021     *
1022     * @param slotId Card slot ID.
1023     * @param serialId Serial ID of a request.
1024     * @param strCmd String text of the instruction.
1025     *
1026     * @return Returns <b>0</b> if the operation is successful.
1027     * @return Returns a non-0 value if the operation fails.
1028     *
1029     * @since 3.2
1030     * @version 1.0
1031     */
1032    [oneway] SimStkSendEnvelope([in] int slotId, [in] int serialId, [in] String strCmd);
1033
1034    /**
1035     * @brief Sends the <b>CallSetup</b> instruction of the STK.
1036     *
1037     * @param slotId Card slot ID.
1038     * @param serialId Serial ID of a request.
1039     * @param accept Whether to accept the <b>CallSetup</b> request. The value <b>0</b> means not to accept the request,
1040     * and the value <b>1</b> means the opposite.
1041     *
1042     * @return Returns <b>0</b> if the operation is successful.
1043     * @return Returns a non-0 value if the operation fails.
1044     *
1045     * @since 3.2
1046     * @version 1.0
1047     */
1048    [oneway] SimStkSendCallSetupRequestResult([in] int slotId, [in] int serialId, [in] int accept);
1049
1050    /**
1051     * @brief Checks whether the STK is in the <b>Ready</b> state.
1052     *
1053     * @param slotId Card slot ID.
1054     * @param serialId Serial ID of a request.
1055     *
1056     * @return Returns <b>0</b> if the operation is successful.
1057     * @return Returns a non-0 value if the operation fails.
1058     *
1059     * @since 3.2
1060     * @version 1.0
1061     */
1062    [oneway] SimStkIsReady([in] int slotId, [in] int serialId);
1063
1064    /**
1065     * @brief Obtains the protocol stack of the primary and secondary SIM cards.
1066     *
1067     * @param slotId Card slot ID.
1068     * @param serialId Serial ID of a request.
1069     *
1070     * @return Returns <b>0</b> if the operation is successful.
1071     * @return Returns a non-0 value if the operation fails.
1072     *
1073     * @since 3.2
1074     * @version 1.0
1075     */
1076    [oneway] GetRadioProtocol([in] int slotId,[in] int serialId);
1077
1078    /**
1079     * @brief Sets the protocol stack for the primary and secondary SIM cards.
1080     *
1081     * @param slotId Card slot ID.
1082     * @param serialId Serial ID of a request.
1083     * @param radioProtocol Radio protocol information. For details, see {@link RadioProtocol}.
1084     *
1085     * @return Returns <b>0</b> if the operation is successful.
1086     * @return Returns a non-0 value if the operation fails.
1087     *
1088     * @since 3.2
1089     * @version 1.0
1090     */
1091    [oneway] SetRadioProtocol([in] int slotId,[in] int serialId,[in] struct RadioProtocol radioProtocol);
1092
1093    /**
1094     * @brief Opens the logical channel of the application protocol data unit (APDU).
1095     *
1096     * @param slotId Card slot ID.
1097     * @param serialId Serial ID of a request.
1098     * @param appID Application ID.
1099     * @param p2 Parameter 2 of the AT instruction code.
1100     *
1101     * @return Returns <b>0</b> if the operation is successful.
1102     * @return Returns a non-0 value if the operation fails.
1103     *
1104     * @since 3.2
1105     * @version 1.0
1106     */
1107    [oneway] SimOpenLogicalChannel([in] int slotId, [in] int serialId, [in] String appID, [in] int p2);
1108
1109    /**
1110     * @brief Closes the logical channel of the APDU.
1111     *
1112     * @param slotId Card slot ID.
1113     * @param serialId Serial ID of a request.
1114     * @param channelId ID of the logical channel to be closed.
1115     *
1116     * @return Returns <b>0</b> if the operation is successful.
1117     * @return Returns a non-0 value if the operation fails.
1118     *
1119     * @since 3.2
1120     * @version 1.0
1121     */
1122    [oneway] SimCloseLogicalChannel([in] int slotId, [in] int serialId, [in] int channelId);
1123
1124    /**
1125     * @brief Transmits APDU data over the logical channel. The logical channel is opened and closed by the application.
1126     *
1127     * @param slotId Card slot ID.
1128     * @param serialId Serial ID of a request.
1129     * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU.
1130     * For details, see {@link ApduSimIORequestInfo}.
1131     *
1132     * @return Returns <b>0</b> if the operation is successful.
1133     * @return Returns a non-0 value if the operation fails.
1134     *
1135     * @since 3.2
1136     * @version 1.0
1137     */
1138    [oneway] SimTransmitApduLogicalChannel([in] int slotId, [in] int serialId,
1139        [in] struct ApduSimIORequestInfo apduSimIO);
1140
1141    /**
1142     * @brief Transmits APDU data over the basic channel. The basic channel is the channel opened by default.
1143     *
1144     * @param slotId Card slot ID.
1145     * @param serialId Serial ID of a request.
1146     * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU.
1147     * For details, see {@link ApduSimIORequestInfo}.
1148     *
1149     * @return Returns <b>0</b> if the operation is successful.
1150     * @return Returns a non-0 value if the operation fails.
1151     *
1152     * @since 3.2
1153     * @version 1.0
1154     */
1155    [oneway] SimTransmitApduBasicChannel([in] int slotId, [in] int serialId,
1156        [in] struct ApduSimIORequestInfo apduSimIO);
1157
1158    /**
1159     * @brief Performs SIM card authentication.
1160     *
1161     * @param slotId Card slot ID.
1162     * @param serialId Serial ID of a request.
1163     * @param simAuthInfo SIM card authentication request. For details, see {@link SimAuthenticationRequestInfo}.
1164     *
1165     * @return Returns <b>0</b> if the operation is successful.
1166     * @return Returns a non-0 value if the operation fails.
1167     *
1168     * @since 3.2
1169     * @version 1.0
1170     */
1171    [oneway] SimAuthentication([in] int slotId, [in] int serialId,
1172        [in] struct SimAuthenticationRequestInfo simAuthInfo);
1173
1174    /**
1175     * @brief Unlocks a SIM card.
1176     *
1177     * @param slotId Card slot ID.
1178     * @param serialId Serial ID of a request.
1179     * @param lockType Lock type. For details, see 3GPP TS 22.022 [33].
1180     * @param key Password used for unlocking. For details, see 3GPP TS 22.022 [33].
1181     *
1182     * @return Returns <b>0</b> if the operation is successful.
1183     * @return Returns a non-0 value if the operation fails.
1184     *
1185     * @since 3.2
1186     * @version 1.0
1187     */
1188    [oneway] UnlockSimLock([in] int slotId, [in] int serialId, [in] int lockType, [in] String key);
1189
1190    /**
1191     * @brief Obtains the signal strength.
1192     *
1193     * @param slotId Card slot ID.
1194     * @param serialId Serial ID of a request.
1195     *
1196     * @return Returns <b>0</b> if the operation is successful.
1197     * @return Returns a non-0 value if the operation fails.
1198     *
1199     * @since 3.2
1200     * @version 1.0
1201     */
1202    [oneway] GetSignalStrength([in] int slotId, [in] int serialId);
1203
1204    /**
1205     * @brief Obtains the registration status of the CS domain.
1206     *
1207     * @param slotId Card slot ID.
1208     * @param serialId Serial ID of a request.
1209     *
1210     * @return Returns <b>0</b> if the operation is successful.
1211     * @return Returns a non-0 value if the operation fails.
1212     *
1213     * @since 3.2
1214     * @version 1.0
1215     */
1216    [oneway] GetCsRegStatus([in] int slotId, [in] int serialId);
1217
1218    /**
1219     * @brief Obtains the registration status of the packet switched (PS) domain.
1220     *
1221     * @param slotId Card slot ID.
1222     * @param serialId Serial ID of a request.
1223     *
1224     * @return Returns <b>0</b> if the operation is successful.
1225     * @return Returns a non-0 value if the operation fails.
1226     *
1227     * @since 3.2
1228     * @version 1.0
1229     */
1230    [oneway] GetPsRegStatus([in] int slotId, [in] int serialId);
1231
1232    /**
1233     * @brief Obtains the carrier name.
1234     *
1235     * @param slotId Card slot ID.
1236     * @param serialId Serial ID of a request.
1237     *
1238     * @return Returns <b>0</b> if the operation is successful.
1239     * @return Returns a non-0 value if the operation fails.
1240     *
1241     * @since 3.2
1242     * @version 1.0
1243     */
1244    [oneway] GetOperatorInfo([in] int slotId, [in] int serialId);
1245
1246    /**
1247     * @brief Obtains information about available networks.
1248     *
1249     * @param slotId Card slot ID.
1250     * @param serialId Serial ID of a request.
1251     *
1252     * @return Returns <b>0</b> if the operation is successful.
1253     * @return Returns a non-0 value if the operation fails.
1254     *
1255     * @since 3.2
1256     * @version 1.0
1257     */
1258    [oneway] GetNetworkSearchInformation([in] int slotId, [in] int serialId);
1259
1260    /**
1261     * @brief Obtains the network selection mode.
1262     *
1263     * @param slotId Card slot ID.
1264     * @param serialId Serial ID of a request.
1265     *
1266     * @return Returns <b>0</b> if the operation is successful.
1267     * @return Returns a non-0 value if the operation fails.
1268     *
1269     * @since 3.2
1270     * @version 1.0
1271     */
1272    [oneway] GetNetworkSelectionMode([in] int slotId, [in] int serialId);
1273
1274    /**
1275     * @brief Sets the network selection mode.
1276     *
1277     * @param slotId Card slot ID.
1278     * @param serialId Serial ID of a request.
1279     * @param networkModeInfo Network selection mode. For details, see {@link SetNetworkModeInfo}.
1280     *
1281     * @return Returns <b>0</b> if the operation is successful.
1282     * @return Returns a non-0 value if the operation fails.
1283     *
1284     * @since 3.2
1285     * @version 1.0
1286     */
1287    [oneway] SetNetworkSelectionMode([in] int slotId, [in] int serialId,
1288        [in] struct SetNetworkModeInfo networkModeInfo);
1289
1290    /**
1291     * @brief Obtains information about neighboring cells.
1292     *
1293     * @param slotId Card slot ID.
1294     * @param serialId Serial ID of a request.
1295     *
1296     * @return Returns <b>0</b> if the operation is successful.
1297     * @return Returns a non-0 value if the operation fails.
1298     *
1299     * @since 3.2
1300     * @version 1.0
1301     */
1302    [oneway] GetNeighboringCellInfoList([in] int slotId, [in] int serialId);
1303
1304    /**
1305     * @brief Obtains cell information.
1306     *
1307     * @param slotId Card slot ID.
1308     * @param serialId Serial ID of a request.
1309     *
1310     * @return Returns <b>0</b> if the operation is successful.
1311     * @return Returns a non-0 value if the operation fails.
1312     *
1313     * @since 3.2
1314     * @version 1.0
1315     */
1316    [oneway] GetCurrentCellInfo([in] int slotId, [in] int serialId);
1317
1318    /**
1319     * @brief Sets the preferred network type.
1320     *
1321     * @param slotId Card slot ID.
1322     * @param serialId Serial ID of a request.
1323     * @param preferredNetworkType Preferred network type. For details, see {@link PreferredNetworkTypeInfo}.
1324     *
1325     * @return Returns <b>0</b> if the operation is successful.
1326     * @return Returns a non-0 value if the operation fails.
1327     *
1328     * @since 3.2
1329     * @version 1.0
1330     */
1331    [oneway] SetPreferredNetwork([in] int slotId, [in] int serialId, [in] int preferredNetworkType);
1332
1333    /**
1334     * @brief Obtains the preferred network type.
1335     *
1336     * @param slotId Card slot ID.
1337     * @param serialId Serial ID of a request.
1338     *
1339     * @return Returns <b>0</b> if the operation is successful.
1340     * @return Returns a non-0 value if the operation fails.
1341     *
1342     * @since 3.2
1343     * @version 1.0
1344     */
1345    [oneway] GetPreferredNetwork([in] int slotId, [in] int serialId);
1346
1347    /**
1348     * @brief Obtains the physical channel configuration.
1349     *
1350     * @param slotId Card slot ID.
1351     * @param serialId Serial ID of a request.
1352     *
1353     * @return Returns <b>0</b> if the operation is successful.
1354     * @return Returns a non-0 value if the operation fails.
1355     *
1356     * @since 3.2
1357     * @version 1.0
1358     */
1359    [oneway] GetPhysicalChannelConfig([in] int slotId, [in] int serialId);
1360
1361    /**
1362     * @brief Sets the cell location update notification mode.
1363     *
1364     * @param slotId Card slot ID.
1365     * @param serialId Serial ID of a request.
1366     * @param mode Notification mode. For details, see {@link RilRegNotifyMode}.
1367     *
1368     * @return Returns <b>0</b> if the operation is successful.
1369     * @return Returns a non-0 value if the operation fails.
1370     *
1371     * @since 3.2
1372     * @version 1.0
1373     */
1374    [oneway] SetLocateUpdates([in] int slotId, [in] int serialId, [in] enum RilRegNotifyMode mode);
1375
1376    /**
1377     * @brief Sets the filter of notifications reported by the modem.
1378     *
1379     * @param slotId Card slot ID.
1380     * @param serialId Serial ID of a request.
1381     * @param newFilter Notificaiton filter. Binary flag bits are used to indicate different notification types.
1382     * The value <b>0</b> indicates that the filter is disabled, <b>1</b> indicates the signal strength,
1383     * <b>2</b> indicates the network registration status, <b>4</b> indicates the data connection status,
1384     * <b>8</b> indicates the link capacity, and <b>16</b> indicates the physical channel configuration.
1385     *
1386     * @return Returns <b>0</b> if the operation is successful.
1387     * @return Returns a non-0 value if the operation fails.
1388     *
1389     * @since 3.2
1390     * @version 1.0
1391     */
1392    [oneway] SetNotificationFilter([in] int slotId, [in] int serialId, [in] int newFilter);
1393
1394    /**
1395     * @brief Sets the device status.
1396     *
1397     * @param slotId Card slot ID.
1398     * @param serialId Serial ID of a request.
1399     * @param deviceStateType Device status type. The value <b>0</b> indicates the power saving mode,
1400     * <b>1</b> indicates the charging mode, and <b>2</b> indicates the low data mode.
1401     * @param deviceStateOn Whether to enable the device status switch. The value <b>0</b> means to
1402     * disable the switch, and the value <b>1</b> means the opposite.
1403     *
1404     * @return Returns <b>0</b> if the operation is successful.
1405     * @return Returns a non-0 value if the operation fails.
1406     *
1407     * @since 3.2
1408     * @version 1.0
1409     */
1410    [oneway] SetDeviceState([in] int slotId, [in] int serialId, [in] int deviceStateType, [in] int deviceStateOn);
1411
1412    /**
1413     * @brief Sends Global System for Mobile Communications (GSM) SMS messages.
1414     *
1415     * @param slotId Card slot ID.
1416     * @param serialId Serial ID of a request.
1417     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}.
1418     *
1419     * @return Returns <b>0</b> if the operation is successful.
1420     * @return Returns a non-0 value if the operation fails.
1421     *
1422     * @since 3.2
1423     * @version 1.0
1424     */
1425    [oneway] SendGsmSms([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo);
1426
1427    /**
1428     * @brief Sends Code Division Multiple Access (CDMA) SMS messages.
1429     *
1430     * @param slotId Card slot ID.
1431     * @param serialId Serial ID of a request.
1432     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SendCdmaSmsMessageInfo}.
1433     *
1434     * @return Returns <b>0</b> if the operation is successful.
1435     * @return Returns a non-0 value if the operation fails.
1436     *
1437     * @since 3.2
1438     * @version 1.0
1439     */
1440    [oneway] SendCdmaSms([in] int slotId, [in] int serialId, [in] struct SendCdmaSmsMessageInfo cdmaSmsMessageInfo);
1441
1442    /**
1443     * @brief Writes GSM SMS messages to the SIM card.
1444     *
1445     * @param slotId Card slot ID.
1446     * @param serialId Serial ID of a request.
1447     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}.
1448     *
1449     * @return Returns <b>0</b> if the operation is successful.
1450     * @return Returns a non-0 value if the operation fails.
1451     *
1452     * @since 3.2
1453     * @version 1.0
1454     */
1455    [oneway] AddSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo);
1456
1457    /**
1458     * @brief Deletes GSM SMS messages from the SIM card.
1459     *
1460     * @param slotId Card slot ID.
1461     * @param serialId Serial ID of a request.
1462     * @param index Message index.
1463     *
1464     * @return Returns <b>0</b> if the operation is successful.
1465     * @return Returns a non-0 value if the operation fails.
1466     *
1467     * @since 3.2
1468     * @version 1.0
1469     */
1470    [oneway] DelSimMessage([in] int slotId, [in] int serialId, [in] int index);
1471
1472    /**
1473     * @brief Updates GSM SMS messages in the SIM card.
1474     *
1475     * @param slotId Card slot ID.
1476     * @param serialId Serial ID of a request.
1477     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}.
1478     *
1479     * @return Returns <b>0</b> if the operation is successful.
1480     * @return Returns a non-0 value if the operation fails.
1481     *
1482     * @since 3.2
1483     * @version 1.0
1484     */
1485    [oneway] UpdateSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo);
1486
1487    /**
1488     * @brief Writes CDMA SMS messages to the SIM card.
1489     *
1490     * @param slotId Card slot ID.
1491     * @param serialId Serial ID of a request.
1492     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}.
1493     *
1494     * @return Returns <b>0</b> if the operation is successful.
1495     * @return Returns a non-0 value if the operation fails.
1496     *
1497     * @since 3.2
1498     * @version 1.0
1499     */
1500    [oneway] AddCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo);
1501
1502    /**
1503     * @brief Deletes CDMA SMS messages from the SIM card.
1504     *
1505     * @param slotId Card slot ID.
1506     * @param serialId Serial ID of a request.
1507     * @param index Message index.
1508     *
1509     * @return Returns <b>0</b> if the operation is successful.
1510     * @return Returns a non-0 value if the operation fails.
1511     *
1512     * @since 3.2
1513     * @version 1.0
1514     */
1515    [oneway] DelCdmaSimMessage([in] int slotId, [in] int serialId, [in] int index);
1516
1517    /**
1518     * @brief Updates CDMA SMS messages in the SIM card.
1519     *
1520     * @param slotId Card slot ID.
1521     * @param serialId Serial ID of a request.
1522     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}.
1523     *
1524     * @return Returns <b>0</b> if the operation is successful.
1525     * @return Returns a non-0 value if the operation fails.
1526     *
1527     * @since 3.2
1528     * @version 1.0
1529     */
1530    [oneway] UpdateCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo);
1531
1532    /**
1533     * @brief Sets a Short Message Service Center (SMSC) address.
1534     *
1535     * @param slotId Card slot ID.
1536     * @param serialId Serial ID of a request.
1537     * @param serviceCenterAddress SMSC address. For details, see {@link ServiceCenterAddress}.
1538     *
1539     * @return Returns <b>0</b> if the operation is successful.
1540     * @return Returns a non-0 value if the operation fails.
1541     *
1542     * @since 3.2
1543     * @version 1.0
1544     */
1545    [oneway] SetSmscAddr([in] int slotId, [in] int serialId, [in] struct ServiceCenterAddress serviceCenterAddress);
1546
1547    /**
1548      * @brief Obtains the short message center (SMC) address.
1549     *
1550     * @param slotId Card slot ID.
1551     * @param serialId Serial ID of a request.
1552     *
1553     * @return Returns <b>0</b> if the operation is successful.
1554     * @return Returns a non-0 value if the operation fails.
1555     *
1556     * @since 3.2
1557     * @version 1.0
1558     */
1559    [oneway] GetSmscAddr([in] int slotId, [in] int serialId);
1560
1561    /**
1562     * @brief Activates GSM cell broadcast.
1563     *
1564     * @param slotId Card slot ID.
1565     * @param serialId Serial ID of a request.
1566     * @param cellBroadcastInfo GSM cell broadcast configuration information.
1567     * For details, see {@link CBConfigInfo}.
1568     *
1569     * @return Returns <b>0</b> if the operation is successful.
1570     * @return Returns a non-0 value if the operation fails.
1571     *
1572     * @since 3.2
1573     * @version 1.0
1574     */
1575    [oneway] SetCBConfig([in] int slotId, [in] int serialId, [in] struct CBConfigInfo cellBroadcastInfo);
1576
1577    /**
1578     * @brief Obtains the GSM cell broadcast configuration.
1579     *
1580     * @param slotId Card slot ID.
1581     * @param serialId Serial ID of a request.
1582     *
1583     * @return Returns <b>0</b> if the operation is successful.
1584     * @return Returns a non-0 value if the operation fails.
1585     *
1586     * @since 3.2
1587     * @version 1.0
1588     */
1589    [oneway] GetCBConfig([in] int slotId, [in] int serialId);
1590
1591    /**
1592     * @brief Activates CDMA cell broadcast.
1593     *
1594     * @param slotId Card slot ID.
1595     * @param serialId Serial ID of a request.
1596     * @param cdmaCBConfigInfoList CDMA cell broadcast configuration list. For details, see {@link CdmaCBConfigInfoList}.
1597     *
1598     * @return Returns <b>0</b> if the operation is successful.
1599     * @return Returns a non-0 value if the operation fails.
1600     *
1601     * @since 3.2
1602     * @version 1.0
1603     */
1604    [oneway] SetCdmaCBConfig([in] int slotId, [in] int serialId, [in] struct CdmaCBConfigInfoList cdmaCBConfigInfoList);
1605
1606    /**
1607     * @brief Obtains the CDMA cell broadcast configuration.
1608     *
1609     * @param slotId Card slot ID.
1610     * @param serialId Serial ID of a request.
1611     *
1612     * @return Returns <b>0</b> if the operation is successful.
1613     * @return Returns a non-0 value if the operation fails.
1614     *
1615     * @since 3.2
1616     * @version 1.0
1617     */
1618    [oneway] GetCdmaCBConfig([in] int slotId, [in] int serialId);
1619
1620    /**
1621     * @brief Sends a long GSM SMS message.
1622     *
1623     * @param slotId Card slot ID.
1624     * @param serialId Serial ID of a request.
1625     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}.
1626     *
1627     * @return Returns <b>0</b> if the operation is successful.
1628     * @return Returns a non-0 value if the operation fails.
1629     *
1630     * @since 3.2
1631     * @version 1.0
1632     */
1633    [oneway] SendSmsMoreMode([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo);
1634
1635    /**
1636     * @brief Sends an SMS message acknowledgement.
1637     *
1638     * @param slotId Card slot ID.
1639     * @param serialId Serial ID of a request.
1640     * @param modeData Processing mode of received SMS messages. For details, see {@link ModeData}.
1641     *
1642     * @return Returns <b>0</b> if the operation is successful.
1643     * @return Returns a non-0 value if the operation fails.
1644     *
1645     * @since 3.2
1646     * @version 1.0
1647     */
1648    [oneway] SendSmsAck([in] int slotId, [in] int serialId, [in] struct ModeData modeData);
1649
1650    /**
1651     * @brief Sends a acknowledgement to the RIL.
1652     *
1653     * @return Returns <b>0</b> if the operation is successful.
1654     * @return Returns a non-0 value if the operation fails.
1655     *
1656     * @since 3.2
1657     * @version 1.0
1658     */
1659    [oneway] SendRilAck();
1660}
1661/** @} */
1662