• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 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.1
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.1
36 */
37
38/**
39 * @brief Defines the path for the package of the RIL module APIs.
40 *
41 * @since 3.2
42 * @version 1.1
43 */
44package ohos.hdi.ril.v1_1;
45import ohos.hdi.ril.v1_1.IRilCallback;
46import ohos.hdi.ril.v1_1.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.1
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 close unfinished unstructured supplementary service data (USSD).
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 4.0
456     * @version 1.1
457     */
458    [oneway] CloseUnFinishedUssd([in] int slotId, [in] int serialId);
459
460    /**
461     * @brief Obtains the USSD information.
462     *
463     * @param slotId Card slot ID.
464     * @param serialId Serial ID of a request.
465     *
466     * @return Returns <b>0</b> if the operation is successful.
467     * @return Returns a non-0 value if the operation fails.
468     *
469     * @since 3.2
470     * @version 1.0
471     */
472    [oneway] GetUssd([in] int slotId, [in] int serialId);
473
474    /**
475     * @brief Sets the mute mode.
476     *
477     * @param slotId Card slot ID.
478     * @param serialId Serial ID of a request.
479     * @param mute Whether to enable the mute function. The value <b>0</b> means to
480     * disable the mute function, and the value <b>1</b> means the opposite.
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] SetMute([in] int slotId, [in] int serialId, [in] int mute);
489
490    /**
491     * @brief Obtains the mute mode.
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] GetMute([in] int slotId, [in] int serialId);
503
504    /**
505     * @brief Obtains the call failure cause.
506     *
507     * @param slotId Card slot ID.
508     * @param serialId Serial ID of a request.
509     *
510     * @return Returns <b>0</b> if the operation is successful.
511     * @return Returns a non-0 value if the operation fails.
512     *
513     * @since 3.2
514     * @version 1.0
515     */
516    [oneway] GetCallFailReason([in] int slotId, [in] int serialId);
517
518    /**
519     * @brief Holds and resumes a call.
520     *
521     * @param slotId Card slot ID.
522     * @param serialId Serial ID of a request.
523     * @param type Type of ending calls. The value <b>0</b> indicates that the call is ended directly,
524     * the value <b>1</b> indicates that the call is ended in the foreground and background,
525     * the value <b>2</b> indicates that the call is ended in the foreground and resumed in the background,
526     * and the value <b>3</b> indicates that all calls are ended.
527     *
528     * @return Returns <b>0</b> if the operation is successful.
529     * @return Returns a non-0 value if the operation fails.
530     *
531     * @since 3.2
532     * @version 1.0
533     */
534    [oneway] CallSupplement([in] int slotId, [in] int serialId, [in] int type);
535
536    /**
537     * @brief Sends dual tone multi-frequency (DTMF).
538     *
539     * @param slotId Card slot ID.
540     * @param serialId Serial ID of a request.
541     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
542     *
543     * @return Returns <b>0</b> if the operation is successful.
544     * @return Returns a non-0 value if the operation fails.
545     *
546     * @since 3.2
547     * @version 1.0
548     */
549    [oneway] SendDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
550
551    /**
552     * @brief Enables DTMF.
553     *
554     * @param slotId Card slot ID.
555     * @param serialId Serial ID of a request.
556     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
557     *
558     * @return Returns <b>0</b> if the operation is successful.
559     * @return Returns a non-0 value if the operation fails.
560     *
561     * @since 3.2
562     * @version 1.0
563     */
564    [oneway] StartDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
565
566    /**
567     * @brief Disables DTMF.
568     *
569     * @param slotId Card slot ID.
570     * @param serialId Serial ID of a request.
571     * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}.
572     *
573     * @return Returns <b>0</b> if the operation is successful.
574     * @return Returns a non-0 value if the operation fails.
575     *
576     * @since 3.2
577     * @version 1.0
578     */
579    [oneway] StopDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo);
580
581    /**
582     * @brief Sets the call barring password.
583     *
584     * @param slotId Card slot ID.
585     * @param serialId Serial ID of a request.
586     * @param setBarringInfo Call barring information. For details, see {@link SetBarringInfo}.
587     *
588     * @return Returns <b>0</b> if the operation is successful.
589     * @return Returns a non-0 value if the operation fails.
590     *
591     * @since 3.2
592     * @version 1.0
593     */
594    [oneway] SetBarringPassword([in] int slotId, [in] int serialId, [in] struct SetBarringInfo setBarringInfo);
595
596    /**
597     * @brief Sets the VoNR switch.
598     *
599     * @param slotId Card slot ID.
600     * @param serialId Serial ID of a request.
601     * @param status Whether to enable the VoNR switch. The value <b>0</b> means to
602     * disable the VoNR switch, and the value <b>1</b> means the opposite.
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 4.0
608     * @version 1.1
609     */
610    [oneway] SetVonrSwitch([in] int slotId, [in] int serialId, [in] int status);
611
612    /**
613     * @brief Activates the packet data protocol (PDP) context.
614     *
615     * @param slotId Card slot ID.
616     * @param serialId Serial ID of a request.
617     * @param dataCallInfo Data service information. For details, see {@link DataCallInfo}.
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] ActivatePdpContext([in] int slotId, [in] int serialId, [in] struct DataCallInfo dataCallInfo);
626
627    /**
628     * @brief Deactivates the PDP context.
629     *
630     * @param slotId Card slot ID.
631     * @param serialId Serial ID of a request.
632     * @param uniInfo Common information. For details, see {@link UniInfo}.
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] DeactivatePdpContext([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo);
641
642    /**
643     * @brief Obtains the PDP context list.
644     *
645     * @param slotId Card slot ID.
646     * @param serialId Serial ID of a request.
647     * @param uniInfo Common information. For details, see {@link UniInfo}.
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] GetPdpContextList([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo);
656
657    /**
658     * @brief Sets the initial default network access technology (APN).
659     *
660     * @param slotId Card slot ID.
661     * @param serialId Serial ID of a request.
662     * @param dataProfileDataInfo PDP context information. For details, see {@link DataProfileDataInfo}.
663     *
664     * @return Returns <b>0</b> if the operation is successful.
665     * @return Returns a non-0 value if the operation fails.
666     *
667     * @since 3.2
668     * @version 1.0
669     */
670    [oneway] SetInitApnInfo([in] int slotId, [in] int serialId, [in] struct DataProfileDataInfo dataProfileDataInfo);
671
672    /**
673     * @brief Obtains the current link information.
674     *
675     * @param slotId Card slot ID.
676     * @param serialId Serial ID of a request.
677     * @param cid PDP context ID.
678     *
679     * @return Returns <b>0</b> if the operation is successful.
680     * @return Returns a non-0 value if the operation fails.
681     *
682     * @since 3.2
683     * @version 1.0
684     */
685    [oneway] GetLinkBandwidthInfo([in] int slotId, [in] int serialId, [in] int cid);
686
687    /**
688     * @brief Get link capability.
689     *
690     * @param slotId Card slot ID.
691     * @param serialId Serial ID of a request.
692     *
693     * @return Returns <b>0</b> if the operation is successful.
694     * @return Returns a non-0 value if the operation fails.
695     *
696     * @since 4.0
697     * @version 1.1
698     */
699    [oneway] GetLinkCapability([in] int slotId, [in] int serialId);
700
701    /**
702     * @brief Sets the rule for reporting the data link bandwidth information.
703     *
704     * @param slotId Card slot ID.
705     * @param serialId Serial ID of a request.
706     * @param dataLinkBandwidthReportingRule Data link bandwidth reporting rule.
707     * For details, see {@link DataLinkBandwidthReportingRule}.
708     *
709     * @return Returns <b>0</b> if the operation is successful.
710     * @return Returns a non-0 value if the operation fails.
711     *
712     * @since 3.2
713     * @version 1.0
714     */
715    [oneway] SetLinkBandwidthReportingRule([in] int slotId, [in] int serialId,
716        [in] struct DataLinkBandwidthReportingRule dataLinkBandwidthReportingRule);
717
718    /**
719     * @brief Enables the data service of a SIM card slot.
720     *
721     * @param slotId Card slot ID.
722     * @param serialId Serial ID of a request.
723     * @param dataPermitted Whether to enable the data service. The value <b>0</b> means to
724     * disable the data service, and the value <b>1</b> means the opposite.
725     *
726     * @return Returns <b>0</b> if the operation is successful.
727     * @return Returns a non-0 value if the operation fails.
728     *
729     * @since 3.2
730     * @version 1.0
731     */
732    [oneway] SetDataPermitted([in] int slotId, [in] int serialId, [in] int dataPermitted);
733
734    /**
735     * @brief Sets the PDP context information for the data service.
736     *
737     * @param slotId Card slot ID.
738     * @param serialId Serial ID of a request.
739     * @param dataProfilesInfo PDP context list. For details, see {@link DataProfilesInfo}.
740     *
741     * @return Returns <b>0</b> if the operation is successful.
742     * @return Returns a non-0 value if the operation fails.
743     *
744     * @since 3.2
745     * @version 1.0
746     */
747    [oneway] SetDataProfileInfo([in] int slotId, [in] int serialId, [in] struct DataProfilesInfo dataProfilesInfo);
748
749    /**
750     * @brief Sends the data service performance mode.
751     *
752     * @param slotId Card slot ID.
753     * @param serialId Serial ID of a request.
754     * @param dataPerformanceInfo Data service performance mode. For details, see {@link DataPerformanceInfo}.
755     *
756     * @return Returns <b>0</b> if the operation is successful.
757     * @return Returns a non-0 value if the operation fails.
758     *
759     * @since 3.2
760     * @version 1.0
761     */
762    [oneway] SendDataPerformanceMode([in] int slotId, [in] int serialId, [in] struct DataPerformanceInfo dataPerformanceInfo);
763
764    /**
765     * @brief Sends the data service sleep mode.
766     *
767     * @param slotId Card slot ID.
768     * @param serialId Serial ID of a request.
769     * @param dataSleepInfo Data service sleep mode. For details, see {@link DataSleepInfo}.
770     *
771     * @return Returns <b>0</b> if the operation is successful.
772     * @return Returns a non-0 value if the operation fails.
773     *
774     * @since 3.2
775     * @version 1.0
776     */
777    [oneway] SendDataSleepMode([in] int slotId, [in] int serialId, [in] struct DataSleepInfo dataSleepInfo);
778
779    /**
780     * @brief Sets the modem status.
781     *
782     * @param slotId Card slot ID.
783     * @param serialId Serial ID of a request.
784     * @param fun Function mode. The value <b>0</b> indicates the minimum mode, <b>1</b> indicates the online mode,
785     * and <b>4</b> indicates the offline mode. Other modes are chip-specific.
786     * @param rst Whether to enable automatic reset of the modem. The value <b>0</b> means to disable automatic reset,
787     * and the value <b>1</b> means the opposite.
788     *
789     * @return Returns <b>0</b> if the operation is successful.
790     * @return Returns a non-0 value if the operation fails.
791     *
792     * @since 3.2
793     * @version 1.0
794     */
795    [oneway] SetRadioState([in] int slotId, [in] int serialId, [in] int fun, [in] int rst);
796
797    /**
798     * @brief Obtains the modem status.
799     *
800     * @param slotId Card slot ID.
801     * @param serialId Serial ID of a request.
802     *
803     * @return Returns <b>0</b> if the operation is successful.
804     * @return Returns a non-0 value if the operation fails.
805     *
806     * @since 3.2
807     * @version 1.0
808     */
809    [oneway] GetRadioState([in] int slotId, [in] int serialId);
810
811    /**
812     * @brief Obtains the international mobile equipment identity (IMEI).
813     *
814     * @param slotId Card slot ID.
815     * @param serialId Serial ID of a request.
816     *
817     * @return Returns <b>0</b> if the operation is successful.
818     * @return Returns a non-0 value if the operation fails.
819     *
820     * @since 3.2
821     * @version 1.0
822     */
823    [oneway] GetImei([in] int slotId, [in] int serialId);
824
825    /**
826     * @brief Obtains the mobile equipment identifier (MEID).
827     *
828     * @param slotId Card slot ID.
829     * @param serialId Serial ID of a request.
830     *
831     * @return Returns <b>0</b> if the operation is successful.
832     * @return Returns a non-0 value if the operation fails.
833     *
834     * @since 3.2
835     * @version 1.0
836     */
837    [oneway] GetMeid([in] int slotId, [in] int serialId);
838
839    /**
840     * @brief Obtains the radio access technology of the CS domain.
841     *
842     * @param slotId Card slot ID.
843     * @param serialId Serial ID of a request.
844     *
845     * @return Returns <b>0</b> if the operation is successful.
846     * @return Returns a non-0 value if the operation fails.
847     *
848     * @since 3.2
849     * @version 1.0
850     */
851    [oneway] GetVoiceRadioTechnology([in] int slotId, [in] int serialId);
852
853    /**
854     * @brief Obtains the baseband version.
855     *
856     * @param slotId Card slot ID.
857     * @param serialId Serial ID of a request.
858     *
859     * @return Returns <b>0</b> if the operation is successful.
860     * @return Returns a non-0 value if the operation fails.
861     *
862     * @since 3.2
863     * @version 1.0
864     */
865    [oneway] GetBasebandVersion([in] int slotId, [in] int serialId);
866
867    /**
868     * @brief Sends a mobile phone power-off message to the modem.
869     *
870     * @param slotId Card slot ID.
871     * @param serialId Serial ID of a request.
872     *
873     * @return Returns <b>0</b> if the operation is successful.
874     * @return Returns a non-0 value if the operation fails.
875     *
876     * @since 3.2
877     * @version 1.0
878     */
879    [oneway] ShutDown([in] int slotId, [in] int serialId);
880
881    /**
882     * @brief Obtains SIM card data.
883     *
884     * @param slotId Card slot ID.
885     * @param serialId Serial ID of a request.
886     * @param SimIoRequestInfo SIM card data request information. For details, see {@link SimIoRequestInfo}.
887     *
888     * @return Returns <b>0</b> if the operation is successful.
889     * @return Returns a non-0 value if the operation fails.
890     *
891     * @since 3.2
892     * @version 1.0
893     */
894    [oneway] GetSimIO([in] int slotId, [in] int serialId, [in] struct SimIoRequestInfo simIO);
895
896    /**
897     * @brief Obtains the SIM card status.
898     *
899     * @param slotId Card slot ID.
900     * @param serialId Serial ID of a request.
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] GetSimStatus([in] int slotId, [in] int serialId);
909
910    /**
911     * @brief Obtains the international mobile subscriber identity (IMSI) of the SIM card.
912     *
913     * @param slotId Card slot ID.
914     * @param serialId Serial ID of a request.
915     *
916     * @return Returns <b>0</b> if the operation is successful.
917     * @return Returns a non-0 value if the operation fails.
918     *
919     * @since 3.2
920     * @version 1.0
921     */
922    [oneway] GetImsi([in] int slotId, [in] int serialId);
923
924    /**
925     * @brief Obtains the SIM card lock status.
926     *
927     * @param slotId Card slot ID.
928     * @param serialId Serial ID of a request.
929     * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}.
930     *
931     * @return Returns <b>0</b> if the operation is successful.
932     * @return Returns a non-0 value if the operation fails.
933     *
934     * @since 3.2
935     * @version 1.0
936     */
937    [oneway] GetSimLockStatus([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo);
938
939    /**
940     * @brief Sets the SIM card lock.
941     *
942     * @param slotId Card slot ID.
943     * @param serialId Serial ID of a request.
944     * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}.
945     *
946     * @return Returns <b>0</b> if the operation is successful.
947     * @return Returns a non-0 value if the operation fails.
948     *
949     * @since 3.2
950     * @version 1.0
951     */
952    [oneway] SetSimLock([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo);
953
954    /**
955     * @brief Changes the SIM card password.
956     *
957     * @param slotId Card slot ID.
958     * @param serialId Serial ID of a request.
959     * @param simPassword SIM card password. For details, see {@link SimPasswordInfo}.
960     *
961     * @return Returns <b>0</b> if the operation is successful.
962     * @return Returns a non-0 value if the operation fails.
963     *
964     * @since 3.2
965     * @version 1.0
966     */
967    [oneway] ChangeSimPassword([in] int slotId, [in] int serialId, [in] struct SimPasswordInfo simPassword);
968
969    /**
970     * @brief Sets the PIN for unlocking.
971     *
972     * @param slotId Card slot ID.
973     * @param serialId Serial ID of a request.
974     * @param pin PIN used for unlocking.
975     *
976     * @return Returns <b>0</b> if the operation is successful.
977     * @return Returns a non-0 value if the operation fails.
978     *
979     * @since 3.2
980     * @version 1.0
981     */
982    [oneway] UnlockPin([in] int slotId, [in] int serialId, [in] String pin);
983
984    /**
985     * @brief Sets the PUK for unlocking.
986     *
987     * @param slotId Card slot ID.
988     * @param serialId Serial ID of a request.
989     * @param puk PUK used for unlocking.
990     * @param pin PIN used for unlocking.
991     *
992     * @return Returns <b>0</b> if the operation is successful.
993     * @return Returns a non-0 value if the operation fails.
994     *
995     * @since 3.2
996     * @version 1.0
997     */
998    [oneway] UnlockPuk([in] int slotId, [in] int serialId, [in] String puk, [in] String pin);
999
1000    /**
1001     * @brief Sets the PIN2 for unlocking.
1002     *
1003     * @param slotId Card slot ID.
1004     * @param serialId Serial ID of a request.
1005     * @param pin2 PIN2 used for unlocking.
1006     *
1007     * @return Returns <b>0</b> if the operation is successful.
1008     * @return Returns a non-0 value if the operation fails.
1009     *
1010     * @since 3.2
1011     * @version 1.0
1012     */
1013    [oneway] UnlockPin2([in] int slotId, [in] int serialId, [in] String pin2);
1014
1015    /**
1016     * @brief Sets the PUK2 for unlocking.
1017     *
1018     * @param slotId Card slot ID.
1019     * @param serialId Serial ID of a request.
1020     * @param puk2 PUK2 used for unlocking.
1021     * @param pin2 PIN2 used for unlocking.
1022     *
1023     * @return Returns <b>0</b> if the operation is successful.
1024     * @return Returns a non-0 value if the operation fails.
1025     *
1026     * @since 3.2
1027     * @version 1.0
1028     */
1029    [oneway] UnlockPuk2([in] int slotId, [in] int serialId, [in] String puk2, [in] String pin2);
1030
1031    /**
1032     * @brief Specifies whether to activate a SIM card.
1033     *
1034     * @param slotId Card slot ID.
1035     * @param serialId Serial ID of a request.
1036     * @param index Index value.
1037     * @param enable Whether to enable the SIM card. The value <b>0</b> means to activate the SIM card,
1038     * and the value <b>1</b> means the opposite.
1039     *
1040     * @return Returns <b>0</b> if the operation is successful.
1041     * @return Returns a non-0 value if the operation fails.
1042     *
1043     * @since 3.2
1044     * @version 1.0
1045     */
1046    [oneway] SetActiveSim([in] int slotId, [in] int serialId, [in] int index, [in] int enable);
1047
1048    /**
1049     * @brief Sends the <b>TerminalResponse</b> instruction of the SIM application toolkit (STK).
1050     *
1051     * @param slotId Card slot ID.
1052     * @param serialId Serial ID of a request.
1053     * @param strCmd String text of the instruction.
1054     *
1055     * @return Returns <b>0</b> if the operation is successful.
1056     * @return Returns a non-0 value if the operation fails.
1057     *
1058     * @since 3.2
1059     * @version 1.0
1060     */
1061    [oneway] SimStkSendTerminalResponse([in] int slotId, [in] int serialId, [in] String strCmd);
1062
1063    /**
1064     * @brief Sends the <b>Envelope</b> instruction of the STK.
1065     *
1066     * @param slotId Card slot ID.
1067     * @param serialId Serial ID of a request.
1068     * @param strCmd String text of the instruction.
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] SimStkSendEnvelope([in] int slotId, [in] int serialId, [in] String strCmd);
1077
1078    /**
1079     * @brief Sends the <b>CallSetup</b> instruction of the STK.
1080     *
1081     * @param slotId Card slot ID.
1082     * @param serialId Serial ID of a request.
1083     * @param accept Whether to accept the <b>CallSetup</b> request. The value <b>0</b> means not to accept the request,
1084     * and the value <b>1</b> means the opposite.
1085     *
1086     * @return Returns <b>0</b> if the operation is successful.
1087     * @return Returns a non-0 value if the operation fails.
1088     *
1089     * @since 3.2
1090     * @version 1.0
1091     */
1092    [oneway] SimStkSendCallSetupRequestResult([in] int slotId, [in] int serialId, [in] int accept);
1093
1094    /**
1095     * @brief Checks whether the STK is in the <b>Ready</b> state.
1096     *
1097     * @param slotId Card slot ID.
1098     * @param serialId Serial ID of a request.
1099     *
1100     * @return Returns <b>0</b> if the operation is successful.
1101     * @return Returns a non-0 value if the operation fails.
1102     *
1103     * @since 3.2
1104     * @version 1.0
1105     */
1106    [oneway] SimStkIsReady([in] int slotId, [in] int serialId);
1107
1108    /**
1109     * @brief Obtains the protocol stack of the primary and secondary SIM cards.
1110     *
1111     * @param slotId Card slot ID.
1112     * @param serialId Serial ID of a request.
1113     *
1114     * @return Returns <b>0</b> if the operation is successful.
1115     * @return Returns a non-0 value if the operation fails.
1116     *
1117     * @since 3.2
1118     * @version 1.0
1119     */
1120    [oneway] GetRadioProtocol([in] int slotId,[in] int serialId);
1121
1122    /**
1123     * @brief Sets the protocol stack for the primary and secondary SIM cards.
1124     *
1125     * @param slotId Card slot ID.
1126     * @param serialId Serial ID of a request.
1127     * @param radioProtocol Radio protocol information. For details, see {@link RadioProtocol}.
1128     *
1129     * @return Returns <b>0</b> if the operation is successful.
1130     * @return Returns a non-0 value if the operation fails.
1131     *
1132     * @since 3.2
1133     * @version 1.0
1134     */
1135    [oneway] SetRadioProtocol([in] int slotId,[in] int serialId,[in] struct RadioProtocol radioProtocol);
1136
1137    /**
1138     * @brief Opens the logical channel of the application protocol data unit (APDU).
1139     *
1140     * @param slotId Card slot ID.
1141     * @param serialId Serial ID of a request.
1142     * @param appID Application ID.
1143     * @param p2 Parameter 2 of the AT instruction code.
1144     *
1145     * @return Returns <b>0</b> if the operation is successful.
1146     * @return Returns a non-0 value if the operation fails.
1147     *
1148     * @since 3.2
1149     * @version 1.0
1150     */
1151    [oneway] SimOpenLogicalChannel([in] int slotId, [in] int serialId, [in] String appID, [in] int p2);
1152
1153    /**
1154     * @brief Closes the logical channel of the APDU.
1155     *
1156     * @param slotId Card slot ID.
1157     * @param serialId Serial ID of a request.
1158     * @param channelId ID of the logical channel to be closed.
1159     *
1160     * @return Returns <b>0</b> if the operation is successful.
1161     * @return Returns a non-0 value if the operation fails.
1162     *
1163     * @since 3.2
1164     * @version 1.0
1165     */
1166    [oneway] SimCloseLogicalChannel([in] int slotId, [in] int serialId, [in] int channelId);
1167
1168    /**
1169     * @brief Transmits APDU data over the logical channel. The logical channel is opened and closed by the application.
1170     *
1171     * @param slotId Card slot ID.
1172     * @param serialId Serial ID of a request.
1173     * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU.
1174     * For details, see {@link ApduSimIORequestInfo}.
1175     *
1176     * @return Returns <b>0</b> if the operation is successful.
1177     * @return Returns a non-0 value if the operation fails.
1178     *
1179     * @since 3.2
1180     * @version 1.0
1181     */
1182    [oneway] SimTransmitApduLogicalChannel([in] int slotId, [in] int serialId,
1183        [in] struct ApduSimIORequestInfo apduSimIO);
1184
1185    /**
1186     * @brief Transmits APDU data over the basic channel. The basic channel is the channel opened by default.
1187     *
1188     * @param slotId Card slot ID.
1189     * @param serialId Serial ID of a request.
1190     * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU.
1191     * For details, see {@link ApduSimIORequestInfo}.
1192     *
1193     * @return Returns <b>0</b> if the operation is successful.
1194     * @return Returns a non-0 value if the operation fails.
1195     *
1196     * @since 3.2
1197     * @version 1.0
1198     */
1199    [oneway] SimTransmitApduBasicChannel([in] int slotId, [in] int serialId,
1200        [in] struct ApduSimIORequestInfo apduSimIO);
1201
1202    /**
1203     * @brief Performs SIM card authentication.
1204     *
1205     * @param slotId Card slot ID.
1206     * @param serialId Serial ID of a request.
1207     * @param simAuthInfo SIM card authentication request. For details, see {@link SimAuthenticationRequestInfo}.
1208     *
1209     * @return Returns <b>0</b> if the operation is successful.
1210     * @return Returns a non-0 value if the operation fails.
1211     *
1212     * @since 3.2
1213     * @version 1.0
1214     */
1215    [oneway] SimAuthentication([in] int slotId, [in] int serialId,
1216        [in] struct SimAuthenticationRequestInfo simAuthInfo);
1217
1218    /**
1219     * @brief Unlocks a SIM card.
1220     *
1221     * @param slotId Card slot ID.
1222     * @param serialId Serial ID of a request.
1223     * @param lockType Lock type. For details, see 3GPP TS 22.022 [33].
1224     * @param key Password used for unlocking. For details, see 3GPP TS 22.022 [33].
1225     *
1226     * @return Returns <b>0</b> if the operation is successful.
1227     * @return Returns a non-0 value if the operation fails.
1228     *
1229     * @since 3.2
1230     * @version 1.0
1231     */
1232    [oneway] UnlockSimLock([in] int slotId, [in] int serialId, [in] int lockType, [in] String key);
1233
1234    /**
1235     * @brief Obtains the signal strength.
1236     *
1237     * @param slotId Card slot ID.
1238     * @param serialId Serial ID of a request.
1239     *
1240     * @return Returns <b>0</b> if the operation is successful.
1241     * @return Returns a non-0 value if the operation fails.
1242     *
1243     * @since 3.2
1244     * @version 1.0
1245     */
1246    [oneway] GetSignalStrength([in] int slotId, [in] int serialId);
1247
1248    /**
1249     * @brief Obtains the registration status of the CS domain.
1250     *
1251     * @param slotId Card slot ID.
1252     * @param serialId Serial ID of a request.
1253     *
1254     * @return Returns <b>0</b> if the operation is successful.
1255     * @return Returns a non-0 value if the operation fails.
1256     *
1257     * @since 3.2
1258     * @version 1.0
1259     */
1260    [oneway] GetCsRegStatus([in] int slotId, [in] int serialId);
1261
1262    /**
1263     * @brief Obtains the registration status of the packet switched (PS) domain.
1264     *
1265     * @param slotId Card slot ID.
1266     * @param serialId Serial ID of a request.
1267     *
1268     * @return Returns <b>0</b> if the operation is successful.
1269     * @return Returns a non-0 value if the operation fails.
1270     *
1271     * @since 3.2
1272     * @version 1.0
1273     */
1274    [oneway] GetPsRegStatus([in] int slotId, [in] int serialId);
1275
1276    /**
1277     * @brief Obtains the carrier name.
1278     *
1279     * @param slotId Card slot ID.
1280     * @param serialId Serial ID of a request.
1281     *
1282     * @return Returns <b>0</b> if the operation is successful.
1283     * @return Returns a non-0 value if the operation fails.
1284     *
1285     * @since 3.2
1286     * @version 1.0
1287     */
1288    [oneway] GetOperatorInfo([in] int slotId, [in] int serialId);
1289
1290    /**
1291     * @brief Obtains information about available networks.
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] GetNetworkSearchInformation([in] int slotId, [in] int serialId);
1303
1304    /**
1305     * @brief Obtains the network selection mode.
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] GetNetworkSelectionMode([in] int slotId, [in] int serialId);
1317
1318    /**
1319     * @brief Sets the network selection mode.
1320     *
1321     * @param slotId Card slot ID.
1322     * @param serialId Serial ID of a request.
1323     * @param networkModeInfo Network selection mode. For details, see {@link SetNetworkModeInfo}.
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] SetNetworkSelectionMode([in] int slotId, [in] int serialId,
1332        [in] struct SetNetworkModeInfo networkModeInfo);
1333
1334    /**
1335     * @brief Obtains information about neighboring cells.
1336     *
1337     * @param slotId Card slot ID.
1338     * @param serialId Serial ID of a request.
1339     *
1340     * @return Returns <b>0</b> if the operation is successful.
1341     * @return Returns a non-0 value if the operation fails.
1342     *
1343     * @since 3.2
1344     * @version 1.0
1345     */
1346    [oneway] GetNeighboringCellInfoList([in] int slotId, [in] int serialId);
1347
1348    /**
1349     * @brief Obtains cell information.
1350     *
1351     * @param slotId Card slot ID.
1352     * @param serialId Serial ID of a request.
1353     *
1354     * @return Returns <b>0</b> if the operation is successful.
1355     * @return Returns a non-0 value if the operation fails.
1356     *
1357     * @since 3.2
1358     * @version 1.0
1359     */
1360    [oneway] GetCurrentCellInfo([in] int slotId, [in] int serialId);
1361
1362    /**
1363     * @brief Sets the preferred network type.
1364     *
1365     * @param slotId Card slot ID.
1366     * @param serialId Serial ID of a request.
1367     * @param preferredNetworkType Preferred network type. For details, see {@link PreferredNetworkTypeInfo}.
1368     *
1369     * @return Returns <b>0</b> if the operation is successful.
1370     * @return Returns a non-0 value if the operation fails.
1371     *
1372     * @since 3.2
1373     * @version 1.0
1374     */
1375    [oneway] SetPreferredNetwork([in] int slotId, [in] int serialId, [in] int preferredNetworkType);
1376
1377    /**
1378     * @brief Obtains the preferred network type.
1379     *
1380     * @param slotId Card slot ID.
1381     * @param serialId Serial ID of a request.
1382     *
1383     * @return Returns <b>0</b> if the operation is successful.
1384     * @return Returns a non-0 value if the operation fails.
1385     *
1386     * @since 3.2
1387     * @version 1.0
1388     */
1389    [oneway] GetPreferredNetwork([in] int slotId, [in] int serialId);
1390
1391    /**
1392     * @brief Obtains the physical channel configuration.
1393     *
1394     * @param slotId Card slot ID.
1395     * @param serialId Serial ID of a request.
1396     *
1397     * @return Returns <b>0</b> if the operation is successful.
1398     * @return Returns a non-0 value if the operation fails.
1399     *
1400     * @since 3.2
1401     * @version 1.0
1402     */
1403    [oneway] GetPhysicalChannelConfig([in] int slotId, [in] int serialId);
1404
1405    /**
1406     * @brief Sets the cell location update notification mode.
1407     *
1408     * @param slotId Card slot ID.
1409     * @param serialId Serial ID of a request.
1410     * @param mode Notification mode. For details, see {@link RilRegNotifyMode}.
1411     *
1412     * @return Returns <b>0</b> if the operation is successful.
1413     * @return Returns a non-0 value if the operation fails.
1414     *
1415     * @since 3.2
1416     * @version 1.0
1417     */
1418    [oneway] SetLocateUpdates([in] int slotId, [in] int serialId, [in] enum RilRegNotifyMode mode);
1419
1420    /**
1421     * @brief Sets the filter of notifications reported by the modem.
1422     *
1423     * @param slotId Card slot ID.
1424     * @param serialId Serial ID of a request.
1425     * @param newFilter Notificaiton filter. Binary flag bits are used to indicate different notification types.
1426     * The value <b>0</b> indicates that the filter is disabled, <b>1</b> indicates the signal strength,
1427     * <b>2</b> indicates the network registration status, <b>4</b> indicates the data connection status,
1428     * <b>8</b> indicates the link capacity, and <b>16</b> indicates the physical channel configuration.
1429     *
1430     * @return Returns <b>0</b> if the operation is successful.
1431     * @return Returns a non-0 value if the operation fails.
1432     *
1433     * @since 3.2
1434     * @version 1.0
1435     */
1436    [oneway] SetNotificationFilter([in] int slotId, [in] int serialId, [in] int newFilter);
1437
1438    /**
1439     * @brief Sets the device status.
1440     *
1441     * @param slotId Card slot ID.
1442     * @param serialId Serial ID of a request.
1443     * @param deviceStateType Device status type. The value <b>0</b> indicates the power saving mode,
1444     * <b>1</b> indicates the charging mode, and <b>2</b> indicates the low data mode.
1445     * @param deviceStateOn Whether to enable the device status switch. The value <b>0</b> means to
1446     * disable the switch, and the value <b>1</b> means the opposite.
1447     *
1448     * @return Returns <b>0</b> if the operation is successful.
1449     * @return Returns a non-0 value if the operation fails.
1450     *
1451     * @since 3.2
1452     * @version 1.0
1453     */
1454    [oneway] SetDeviceState([in] int slotId, [in] int serialId, [in] int deviceStateType, [in] int deviceStateOn);
1455
1456    /**
1457     * @brief Sends Global System for Mobile Communications (GSM) SMS messages.
1458     *
1459     * @param slotId Card slot ID.
1460     * @param serialId Serial ID of a request.
1461     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}.
1462     *
1463     * @return Returns <b>0</b> if the operation is successful.
1464     * @return Returns a non-0 value if the operation fails.
1465     *
1466     * @since 3.2
1467     * @version 1.0
1468     */
1469    [oneway] SendGsmSms([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo);
1470
1471    /**
1472     * @brief Sends Code Division Multiple Access (CDMA) SMS messages.
1473     *
1474     * @param slotId Card slot ID.
1475     * @param serialId Serial ID of a request.
1476     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SendCdmaSmsMessageInfo}.
1477     *
1478     * @return Returns <b>0</b> if the operation is successful.
1479     * @return Returns a non-0 value if the operation fails.
1480     *
1481     * @since 3.2
1482     * @version 1.0
1483     */
1484    [oneway] SendCdmaSms([in] int slotId, [in] int serialId, [in] struct SendCdmaSmsMessageInfo cdmaSmsMessageInfo);
1485
1486    /**
1487     * @brief Writes GSM SMS messages to the SIM card.
1488     *
1489     * @param slotId Card slot ID.
1490     * @param serialId Serial ID of a request.
1491     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}.
1492     *
1493     * @return Returns <b>0</b> if the operation is successful.
1494     * @return Returns a non-0 value if the operation fails.
1495     *
1496     * @since 3.2
1497     * @version 1.0
1498     */
1499    [oneway] AddSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo);
1500
1501    /**
1502     * @brief Deletes GSM SMS messages from the SIM card.
1503     *
1504     * @param slotId Card slot ID.
1505     * @param serialId Serial ID of a request.
1506     * @param index Message index.
1507     *
1508     * @return Returns <b>0</b> if the operation is successful.
1509     * @return Returns a non-0 value if the operation fails.
1510     *
1511     * @since 3.2
1512     * @version 1.0
1513     */
1514    [oneway] DelSimMessage([in] int slotId, [in] int serialId, [in] int index);
1515
1516    /**
1517     * @brief Updates GSM SMS messages in the SIM card.
1518     *
1519     * @param slotId Card slot ID.
1520     * @param serialId Serial ID of a request.
1521     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}.
1522     *
1523     * @return Returns <b>0</b> if the operation is successful.
1524     * @return Returns a non-0 value if the operation fails.
1525     *
1526     * @since 3.2
1527     * @version 1.0
1528     */
1529    [oneway] UpdateSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo);
1530
1531    /**
1532     * @brief Writes CDMA SMS messages to the SIM card.
1533     *
1534     * @param slotId Card slot ID.
1535     * @param serialId Serial ID of a request.
1536     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}.
1537     *
1538     * @return Returns <b>0</b> if the operation is successful.
1539     * @return Returns a non-0 value if the operation fails.
1540     *
1541     * @since 3.2
1542     * @version 1.0
1543     */
1544    [oneway] AddCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo);
1545
1546    /**
1547     * @brief Deletes CDMA SMS messages from the SIM card.
1548     *
1549     * @param slotId Card slot ID.
1550     * @param serialId Serial ID of a request.
1551     * @param index Message index.
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] DelCdmaSimMessage([in] int slotId, [in] int serialId, [in] int index);
1560
1561    /**
1562     * @brief Updates CDMA SMS messages in the SIM card.
1563     *
1564     * @param slotId Card slot ID.
1565     * @param serialId Serial ID of a request.
1566     * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}.
1567     *
1568     * @return Returns <b>0</b> if the operation is successful.
1569     * @return Returns a non-0 value if the operation fails.
1570     *
1571     * @since 3.2
1572     * @version 1.0
1573     */
1574    [oneway] UpdateCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo);
1575
1576    /**
1577     * @brief Sets a Short Message Service Center (SMSC) address.
1578     *
1579     * @param slotId Card slot ID.
1580     * @param serialId Serial ID of a request.
1581     * @param serviceCenterAddress SMSC address. For details, see {@link ServiceCenterAddress}.
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] SetSmscAddr([in] int slotId, [in] int serialId, [in] struct ServiceCenterAddress serviceCenterAddress);
1590
1591    /**
1592      * @brief Obtains the short message center (SMC) address.
1593     *
1594     * @param slotId Card slot ID.
1595     * @param serialId Serial ID of a request.
1596     *
1597     * @return Returns <b>0</b> if the operation is successful.
1598     * @return Returns a non-0 value if the operation fails.
1599     *
1600     * @since 3.2
1601     * @version 1.0
1602     */
1603    [oneway] GetSmscAddr([in] int slotId, [in] int serialId);
1604
1605    /**
1606     * @brief Activates GSM cell broadcast.
1607     *
1608     * @param slotId Card slot ID.
1609     * @param serialId Serial ID of a request.
1610     * @param cellBroadcastInfo GSM cell broadcast configuration information.
1611     * For details, see {@link CBConfigInfo}.
1612     *
1613     * @return Returns <b>0</b> if the operation is successful.
1614     * @return Returns a non-0 value if the operation fails.
1615     *
1616     * @since 3.2
1617     * @version 1.0
1618     */
1619    [oneway] SetCBConfig([in] int slotId, [in] int serialId, [in] struct CBConfigInfo cellBroadcastInfo);
1620
1621    /**
1622     * @brief Obtains the GSM cell broadcast configuration.
1623     *
1624     * @param slotId Card slot ID.
1625     * @param serialId Serial ID of a request.
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] GetCBConfig([in] int slotId, [in] int serialId);
1634
1635    /**
1636     * @brief Activates CDMA cell broadcast.
1637     *
1638     * @param slotId Card slot ID.
1639     * @param serialId Serial ID of a request.
1640     * @param cdmaCBConfigInfoList CDMA cell broadcast configuration list. For details, see {@link CdmaCBConfigInfoList}.
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] SetCdmaCBConfig([in] int slotId, [in] int serialId, [in] struct CdmaCBConfigInfoList cdmaCBConfigInfoList);
1649
1650    /**
1651     * @brief Obtains the CDMA cell broadcast configuration.
1652     *
1653     * @param slotId Card slot ID.
1654     * @param serialId Serial ID of a request.
1655     *
1656     * @return Returns <b>0</b> if the operation is successful.
1657     * @return Returns a non-0 value if the operation fails.
1658     *
1659     * @since 3.2
1660     * @version 1.0
1661     */
1662    [oneway] GetCdmaCBConfig([in] int slotId, [in] int serialId);
1663
1664    /**
1665     * @brief Sends a long GSM SMS message.
1666     *
1667     * @param slotId Card slot ID.
1668     * @param serialId Serial ID of a request.
1669     * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}.
1670     *
1671     * @return Returns <b>0</b> if the operation is successful.
1672     * @return Returns a non-0 value if the operation fails.
1673     *
1674     * @since 3.2
1675     * @version 1.0
1676     */
1677    [oneway] SendSmsMoreMode([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo);
1678
1679    /**
1680     * @brief Sends an SMS message acknowledgement.
1681     *
1682     * @param slotId Card slot ID.
1683     * @param serialId Serial ID of a request.
1684     * @param modeData Processing mode of received SMS messages. For details, see {@link ModeData}.
1685     *
1686     * @return Returns <b>0</b> if the operation is successful.
1687     * @return Returns a non-0 value if the operation fails.
1688     *
1689     * @since 3.2
1690     * @version 1.0
1691     */
1692    [oneway] SendSmsAck([in] int slotId, [in] int serialId, [in] struct ModeData modeData);
1693
1694    /**
1695     * @brief Sends a acknowledgement to the RIL.
1696     *
1697     * @return Returns <b>0</b> if the operation is successful.
1698     * @return Returns a non-0 value if the operation fails.
1699     *
1700     * @since 3.2
1701     * @version 1.0
1702     */
1703    [oneway] SendRilAck();
1704
1705    /**
1706     * @brief Get rrc connection state.
1707     *
1708     * @param slotId Card slot ID.
1709     * @param serialId Serial ID of a request.
1710     * @return Returns <b>0</b> if the operation is successful.
1711     * @return Returns a non-0 value if the operation fails.
1712     *
1713     * @since 4.0
1714     * @version 1.1
1715     */
1716    [oneway] GetRrcConnectionState([in] int slotId, [in] int serialId);
1717
1718    /**
1719     * @brief Set nr option mode.
1720     *
1721     * @param slotId Card slot ID.
1722     * @param serialId Serial ID of a request.
1723     * @param mode Nr option mode.
1724     * @return Returns <b>0</b> if the operation is successful.
1725     * @return Returns a non-0 value if the operation fails.
1726     *
1727     * @since 4.0
1728     * @version 1.1
1729     */
1730    [oneway] SetNrOptionMode([in] int slotId, [in] int serialId, [in] int mode);
1731
1732    /**
1733     * @brief Get nr option mode.
1734     *
1735     * @param slotId Card slot ID.
1736     * @param serialId Serial ID of a request.
1737     * @return Returns <b>0</b> if the operation is successful.
1738     * @return Returns a non-0 value if the operation fails.
1739     *
1740     * @since 4.0
1741     * @version 1.1
1742     */
1743    [oneway] GetNrOptionMode([in] int slotId, [in] int serialId);
1744}
1745/** @} */
1746