• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021-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 #ifndef OHOS_RIL_VENDOR_CALL_DEFS_H
17 #define OHOS_RIL_VENDOR_CALL_DEFS_H
18 
19 #include <stddef.h>
20 
21 #include "hril_enum.h"
22 #include "hril_public_struct.h"
23 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
28 /**
29  * @brief From 3GPP TS 27.007 V4.3.0 (2001-12)  AT+CGDCONT
30  */
31 typedef struct {
32     /**
33      * Call identification number as described in 3GPP TS 22.030 [19] sub-clause 6.5.5.1.
34      * This number can be used in +CHLD command operations
35      */
36     int32_t index;
37 
38     /**
39      * 0: mobile originated (MO) call
40      * 1: mobile terminated (MT) call
41      */
42     int32_t dir;
43 
44     /** call state */
45     HRilCallState state;
46 
47     /** call mode */
48     HRilCallMode mode;
49 
50     /**
51      * 0: call is not one of multiparty (conference) call parties
52      * 1: call is one of multiparty (conference) call parties
53      */
54     int32_t mpty;
55 
56     /**
57      * Identifies the service domain.
58      * 0: CS domain phone
59      * 1: IMS domain phone
60      */
61     int32_t voiceDomain;
62 
63     /**
64      * 0: voice call
65      * 1: Video call: send one-way video, two-way voice
66      * 2: Video call: one-way receiving video, two-way voice
67      * 3: Video call: two-way video, two-way voice
68      */
69     int32_t callType;
70 
71     /** Phone number in format specified by <type> */
72     char *number;
73 
74     /**
75      * Type of address octet in integer format (refer TS 24.008 [8] subclauses 10.5.4.7);
76      * default 145 when dialling string includes international access code character "+",
77      * otherwise 129. see 3GPP TS 27.007 V4.3.0 (2001-12) 6.1
78      */
79     int32_t type;
80 
81     /**
82      * Alphanumeric representation of <number> corresponding to the entry found
83      * in phonebook; used character set should be the one selected with command
84      * select TE character set +CSCS
85      */
86     char *alpha;
87 } HRilCallInfo;
88 
89 /**
90  * @brief From 3GPP TS 27.007 V4.3.0 (2001-12) ATD%s%s
91  */
92 typedef struct {
93     /**
94      * Type of address octet in integer format (refer TS 24.008 [8] subclauses 10.5.4.7);
95      * default 145 when dialling string includes international access code character "+", otherwise
96      * 129.
97      */
98     char *address;
99 
100     /**
101      * This command refers to CLIR service according to 3GPP TS 22.081 [3] that allows a calling
102      * subscriber to enable or disable the presentation of the CLI to the called party when originating
103      * a call. <n> (parameter sets the adjustment for outgoing calls): 0	presentation indicator is used
104      * according to the subscription of the CLIR service 1	CLIR invocation 2	CLIR suppression <m>
105      * (parameter shows the subscriber CLIR service status in the network): 0	CLIR not provisioned 1
106      * CLIR provisioned in permanent mode 2	unknown (e.g. no network, etc.) 3	CLIR temporary mode
107      * presentation restricted 4	CLIR temporary mode presentation allowed
108      */
109     int32_t clir;
110 } HRilDial;
111 
112 /**
113  * @brief Defines the call forwarding information.
114  */
115 typedef struct {
116     /** Call forwarding type <0-5> */
117     int32_t reason;
118 
119     /** Call forwarding operation mode */
120     int32_t mode;
121 
122     /** Phone number */
123     char *number;
124 
125     /**
126      * Is a sum of integers each representing a class of information default 255
127      * 1: voice (telephony)
128      * 2: data (refers to all bearer services; with <mode>=2 this may refer
129      *    only to some bearer service if TA does not support values 16, 32, 64 and 128)
130      * 4: fax (facsimile services)
131      * 8: short message service
132      * 16: data circuit sync
133      * 32: data circuit async
134      * 64: dedicated packet access
135      * 128: dedicated PAD access
136      */
137     int32_t classx;
138 
139     /**
140      * when "no reply" is enabled or queried, this gives the time in seconds to wait
141      * before call is forwarded, default value 20
142      */
143     int32_t time;
144 
145     /** 0: not active, 1: active */
146     int32_t status;
147 } HRilCFInfo;
148 
149 /**
150  * @brief Defines the dual tone multi-frequency (DTMF) information.
151  */
152 typedef struct {
153     /** Call ID */
154     int32_t callId;
155 
156     /** DTMF keyword */
157     const char *dtmfKey;
158 
159     /** Duration for playing the DTMF tone */
160     int32_t onLength;
161 
162     /** Interval for sending DTMF signals */
163     int32_t offLength;
164 
165     /** DTMF string length */
166     int32_t stringLength;
167 } CallDtmfInfo;
168 
169 /**
170  * @brief Defines the call restriction password.
171  */
172 typedef struct {
173     /** Operation object */
174     const char *fac;
175 
176     /**
177      * Operation mode:
178      * 0: deactivation
179      * 1: activation
180      */
181     int32_t mode;
182 
183     /** Password */
184     const char *password;
185 } CallRestrictionInfo;
186 
187 /**
188  * @brief Defines the call restriction password.
189  */
190 typedef struct {
191     /** Operation object */
192     const char *fac;
193 
194     /** Old password */
195     const char *oldPassword;
196 
197     /** New password */
198     const char *newPassword;
199 } HRilSetBarringInfo;
200 
201 /**
202  * @brief Defines the call forwarding information.
203  */
204 typedef struct {
205     /** Call forwarding type <0-5> */
206     int32_t reason;
207 
208     /** Call forwarding status. */
209     int32_t status;
210 
211     /**
212      * Is a sum of integers each representing a class of information default 255
213      * 1: voice (telephony)
214      * 2: data (refers to all bearer services; with <mode>=2 this may refer
215      *    only to some bearer service if TA does not support values 16, 32, 64 and 128)
216      * 4: fax (facsimile services)
217      * 8: short message service
218      * 16: data circuit sync
219      * 32: data circuit async
220      * 64: dedicated packet access
221      * 128: dedicated PAD access
222      */
223     int32_t classx;
224 
225     /** Call forwarding number. */
226     char *number;
227     /**
228      * Default 145 when dialling string includes international access code
229      * character "+", otherwise 129, other value refer TS 24.008 [8]
230      * sub-clause 10.5.4.7
231      */
232     int32_t type;
233 
234     /** Time. */
235     int32_t time;
236 } HRilCFQueryInfo;
237 
238 /**
239  * @brief Defines the CLIP information.
240  */
241 typedef struct {
242     /** Parameter sets/shows the result code presentation status in the TA */
243     int32_t action;
244 
245     /**
246      * Parameter shows the subscriber CLIP service status in the network, <0-4>
247      */
248     int32_t clipStat;
249 } HRilGetClipResult;
250 
251 /**
252  * @brief Defines the CLIR information.
253  */
254 typedef struct {
255     /** Parameter sets/shows the result code presentation status in the TA */
256     int32_t action;
257 
258     /**
259      * Parameter shows the subscriber CLIP service status in the network,
260      * <0-4>
261      */
262     int32_t clirStat;
263 } HRilGetCallClirResult;
264 
265 /**
266  * @brief Defines the call waiting information.
267  */
268 typedef struct {
269     /** Call wait status, could be 0 or 1 */
270     int32_t status;
271 
272     /**
273      * 1: voice (telephony);
274      * 2: data;
275      * 4: fax (facsimile services);
276      * 8: short message service;
277      * 16: data circuit sync;
278      * 32: data circuit async;
279      * 64: dedicated packet access;
280      * 128: dedicated PAD access.
281      */
282     int32_t classCw;
283 } HRilCallWaitResult;
284 
285 /**
286  * @brief Defines the call barring information.
287  */
288 typedef struct {
289     /** Call restructuib status, could be 0 or 1 */
290     int32_t status;
291 
292     /**
293      * 1: voice (telephony);
294      * 2: data;
295      * 4: fax (facsimile services);
296      * 8: short message service;
297      * 16: data circuit sync;
298      * 32: data circuit async;
299      * 64: dedicated packet access;
300      * 128: dedicated PAD access.
301      */
302     int32_t classCw;
303 } HRilCallRestrictionResult;
304 
305 /**
306  * @brief Defines the USSD result information.
307  */
308 typedef struct {
309     /**
310      * Integer value.
311      * 0: The network does not require a TE reply (USSD-Notify initiated by the network or TE
312      *    The network does not need further information after starting operation);
313      * 1: The network needs a TE reply (USSD-Request initiated by the network, or TE sent
314      *    After starting the operation, the network needs further information);
315      * 2: The USSD session is released by the network;
316      * 3: Other local clients have responded;
317      * 4: The operation is not supported;
318      * 5: The network timed out.
319      */
320     int32_t m;
321 
322     /**
323      * USSD string, the maximum length is 160 characters.
324      */
325     char *str;
326 } HRilUssdNoticeInfo;
327 
328 /**
329  * @brief Defines the supplementary service information.
330  */
331 typedef struct {
332     /**
333      * Service type:
334      * 0: call forwarding unconditional
335      * 1: call forwarding on busy
336      * 2: call forwarding on no reply
337      * 3: call forwarding not reachable (no network service, or power-off)
338      */
339     int32_t serviceType;
340 
341     /**
342      * Request type:
343      * 0: deactivation
344      * 1: activated
345      * 2: status query
346      * 3: registration
347      * 4: deletion
348      */
349     int32_t requestType;
350 
351     /** Service class. For details, see 3GPP TS 27.007. */
352     int32_t serviceClass;
353 
354     /** The result of the SS request */
355     int32_t result;
356 } HRilSsNoticeInfo;
357 
358 /**
359  * @brief Defines the emergency information.
360  */
361 typedef struct {
362     /** Number index */
363     int32_t index;
364 
365     /** Total number of numbers */
366     int32_t total;
367 
368     /** Emergency call number in string format */
369     char *eccNum;
370 
371     /**
372      * Emergency call type
373      * 0: interface message of initiating an emergency call
374      * 1: Bandit police
375      * 2: Rescue
376      * 4: Fire alarm
377      * 8: Marine Police
378      * 16: Alpine rescue
379      */
380     int32_t category;
381 
382     /**
383      * The number is valid with or without a card
384      * 0: valid without card
385      * 1: Valid with card
386      */
387     int32_t simpresent;
388 
389     /** Country code */
390     char *mcc;
391 
392     /**
393      * Distinguishes CS domain abnormal service status
394      * 0: all States are valid
395      * 1: the CS domain is not in normal service
396      */
397     int32_t abnormalService;
398 } HRilEmergencyInfo;
399 
400 /**
401  * @brief Active reporting of SRVCC status is controlled by the +CIREP command.
402  *
403  * This command complies with the 3GPP TS 27.007 protocol.
404  */
405 typedef struct {
406     /**
407      * SRVCC status.
408      * 1: SRVCC starts;
409      * 2: SRVCC is successful;
410      * 3: SRVCC is cancelled;
411      * 4: SRVCC failed.
412      */
413     int32_t status;
414 } HRilCallSrvccStatus;
415 
416 /**
417  * @brief Query the bandwidth information of the voice channel during the call.
418  *
419  * Note: Modem private commands, not a reported field specified by the 3gpp
420  * protocol.
421  */
422 typedef struct {
423     /**
424      * Integer value, voice channel type:
425      * 0: No in-band audio information;
426      * 1: In-band voice is available, narrowband voice;
427      * 2: In-band voice is available, broadband voice.
428      */
429     int32_t status;
430 
431     /**
432      * Integer value, call domain of voice call:
433      * 0: 3GPP CS domain voice call;
434      * 1: IMS domain voice call;
435      * 2: 3GPP2 CS domain voice call.
436      */
437     int32_t voiceDomain;
438 } HRilCallCsChannelInfo;
439 
440 typedef struct {
441     /**
442      * @brief Gets the call status list.
443      *
444      * @param requestInfo Request data info, for details, see {@link
445      * ReqDataInfo}
446      * @see ReqDataInfo
447      */
448     void (*GetCallList)(const ReqDataInfo *requestInfo);
449 
450     /**
451      * @brief Makes a call.
452      *
453      * @param requestInfo Request data info, for details, see {@link
454      * ReqDataInfo}
455      * @param data HRilDial, for details, see {@link HRilDial}
456      * @param dataLen The length of data.
457      * @see ReqDataInfo | HRilDial
458      */
459     void (*Dial)(const ReqDataInfo *requestInfo, const HRilDial *data, size_t dataLen);
460 
461     /**
462      * @brief Ends a call.
463      *
464      * @param requestInfo Request data info, for details, see {@link
465      * ReqDataInfo}
466      * @param data gsmIndex, Indicates the connection index
467      * @param dataLen The length of data.
468      * @see ReqDataInfo
469      */
470     void (*Hangup)(const ReqDataInfo *requestInfo, const uint32_t *data, size_t dataLen);
471 
472     /**
473      * @brief Rejects a call.
474      *
475      * @param requestInfo Request data info, for details, see {@link
476      * ReqDataInfo}.
477      * @see ReqDataInfo
478      */
479     void (*Reject)(const ReqDataInfo *requestInfo);
480 
481     /**
482      * @brief Answers a call.
483      *
484      * @param requestInfo Request data info, for details, see {@link
485      * ReqDataInfo}
486      * @see ReqDataInfo
487      */
488     void (*Answer)(const ReqDataInfo *requestInfo);
489 
490     /**
491      * @brief Obtains the calling line identification presentation (CLIP)
492      * information.
493      *
494      * @param requestInfo Request data info, for details, see {@link
495      * ReqDataInfo}
496      * @see ReqDataInfo
497      */
498     void (*GetClip)(const ReqDataInfo *requestInfo);
499 
500     /**
501      * @brief Sets the calling line identification presentation (CLIP)
502      * information.
503      *
504      * @param requestInfo Request data info, for details, see {@link
505      * ReqDataInfo}.
506      * @param action Whether to enable or disable the CLIP function. The value
507      * 0 means to disable the CLIP function, and the value 1 means the
508      * opposite.
509      * @see ReqDataInfo
510      */
511     void (*SetClip)(const ReqDataInfo *requestInfo, int32_t action);
512 
513     /**
514      * @brief Holds a call.
515      *
516      * @param requestInfo Request data info, for details, see {@link
517      * ReqDataInfo}.
518      * @see ReqDataInfo
519      */
520     void (*HoldCall)(const ReqDataInfo *requestInfo);
521 
522     /**
523      * @brief Unholds a call.
524      *
525      * @param requestInfo Request data info, for details, see {@link
526      * ReqDataInfo}.
527      * @see ReqDataInfo
528      */
529     void (*UnHoldCall)(const ReqDataInfo *requestInfo);
530 
531     /**
532      * @brief Switches a call.
533      *
534      * @param requestInfo Request data info, for details, see {@link
535      * ReqDataInfo}.
536      * @see ReqDataInfo
537      */
538     void (*SwitchCall)(const ReqDataInfo *requestInfo);
539 
540     /**
541      * @brief Combines calls into a conference call.
542      *
543      * @param requestInfo Request data info, for details, see {@link
544      * ReqDataInfo}.
545      * @param callType Call type.
546      * @see ReqDataInfo
547      */
548     void (*CombineConference)(const ReqDataInfo *requestInfo, int32_t callType);
549 
550     /**
551      * @brief Separates calls from a conference call.
552      *
553      * @param requestInfo Request data info, for details, see {@link
554      * ReqDataInfo}.
555      * @param callType Call type.
556      * @see ReqDataInfo
557      */
558     void (*SeparateConference)(const ReqDataInfo *requestInfo, int32_t callIndex, int32_t callType);
559 
560     /**
561      * @brief Holds and resumes a call.
562      *
563      * @param requestInfo Request data info, for details, see {@link
564      * ReqDataInfo}.
565      * @param type Type of ending calls. The value 0 indicates that the call is
566      * ended directly; The value 1 means release the held call and the wait
567      * call; The value 2 means that release the active call and recover the
568      * held call; The value 3 means that release all calls.
569      * @see ReqDataInfo
570      */
571     void (*CallSupplement)(const ReqDataInfo *requestInfo, int32_t type);
572 
573     /**
574      * @brief Gets the call waiting status.
575      *
576      * @param requestInfo Request data info, for details, see {@link
577      * ReqDataInfo}.
578      * @see ReqDataInfo
579      */
580     void (*GetCallWaiting)(const ReqDataInfo *requestInfo);
581 
582     /**
583      * @brief Sets the call waiting status.
584      *
585      * @param requestInfo Request data info, for details, see {@link
586      * ReqDataInfo}.
587      * @param active Whether to enable or disable call waiting. The value
588      * <b>0</b> means to disable the call waiting function, and the value
589      * <b>1</b> means the opposite.
590      * @see ReqDataInfo
591      */
592     void (*SetCallWaiting)(const ReqDataInfo *requestInfo, int32_t active);
593 
594     /**
595      * @brief Sets the call forwarding status.
596      *
597      * @param requestInfo Request data info, for details, see {@link
598      * ReqDataInfo}.
599      * @param info Call forwarding information, for details, see {@link
600      * CallForwardSetInfo}.
601      * @see ReqDataInfo
602      */
603     void (*SetCallTransferInfo)(const ReqDataInfo *requestInfo, HRilCFInfo info);
604 
605     /**
606      * @brief Gets the call forwarding information.
607      *
608      * @param requestInfo Request data info, for details, see {@link
609      * ReqDataInfo}.
610      * @param reason Call forwarding type, The value 0 indicates unconditional
611      * call forwarding, 1 indicates call forwarding when the user is busy, 2
612      * indicates call forwarding when the user does not reply, and 3 indicates
613      * call forwarding when the user is unreachable.
614      * @see ReqDataInfo
615      */
616     void (*GetCallTransferInfo)(const ReqDataInfo *requestInfo, int32_t reason);
617 
618     /**
619      * @brief Gets the call restriction information.
620      *
621      * @param requestInfo Request data info, for details, see {@link
622      * ReqDataInfo}.
623      * @param fac Object for call restriction.
624      * @see ReqDataInfo
625      */
626     void (*GetCallRestriction)(const ReqDataInfo *requestInfo, const char *fac);
627 
628     /**
629      * @brief Sets the call restriction information.
630      *
631      * @param requestInfo Request data info, for details, see {@link
632      * ReqDataInfo}.
633      * @param info Call restriction information.
634      * @see ReqDataInfo
635      */
636     void (*SetCallRestriction)(const ReqDataInfo *requestInfo, CallRestrictionInfo info);
637 
638     /**
639      * @brief Obtains the calling line identification restriction (CLIR)
640      * information.
641      *
642      * @param requestInfo Request data info, for details, see {@link
643      * ReqDataInfo}.
644      * @see ReqDataInfo
645      */
646     void (*GetClir)(const ReqDataInfo *requestInfo);
647 
648     /**
649      * @brief Sets the CLIR information.
650      *
651      * @param requestInfo Request data info, for details, see {@link
652      * ReqDataInfo}.
653      * @param action Whether to enable or disable the CLIR function. The value
654      * 0 means to disable the CLIR function, and the value 1 means the
655      * opposite.
656      * @see ReqDataInfo
657      */
658     void (*SetClir)(const ReqDataInfo *requestInfo, int32_t action);
659 
660     /**
661      * @brief Enables DTMF.
662      *
663      * @param requestInfo Request data info, for details, see {@link
664      * ReqDataInfo}.
665      * @param info DTMF information.
666      * @see ReqDataInfo | CallDtmfInfo
667      */
668     void (*StartDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info);
669 
670     /**
671      * @brief Sends dual tone multi-frequency (DTMF).
672      *
673      * @param requestInfo Request data info, for details, see {@link
674      * ReqDataInfo}.
675      * @param info DTMF information.
676      * @see ReqDataInfo | CallDtmfInfo
677      */
678     void (*SendDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info);
679 
680     /**
681      * @brief Disables DTMF.
682      *
683      * @param requestInfo Request data info, for details, see {@link
684      * ReqDataInfo}.
685      * @param info DTMF information.
686      * @see ReqDataInfo | CallDtmfInfo
687      */
688     void (*StopDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info);
689 
690     /**
691      * @brief Gets IMS call list.
692      *
693      * @param requestInfo Request data info, for details, see {@link
694      * ReqDataInfo}.
695      * @see ReqDataInfo
696      */
697     void (*GetImsCallList)(const ReqDataInfo *requestInfo);
698 
699     /**
700      * @brief Obtains the call preference mode.
701      *
702      * @param requestInfo Request data info, for details, see {@link
703      * ReqDataInfo}.
704      * @see ReqDataInfo
705      */
706     void (*GetCallPreferenceMode)(const ReqDataInfo *requestInfo);
707 
708     /**
709      * @brief Sets the call preference mode.
710      *
711      * @param requestInfo Request data info, for details, see {@link
712      * ReqDataInfo}.
713      * @see ReqDataInfo
714      */
715     void (*SetCallPreferenceMode)(const ReqDataInfo *requestInfo, int32_t mode);
716 
717     /**
718      * @brief Gets LTE IMS switch status.
719      *
720      * @param requestInfo Request data info, for details, see {@link
721      * ReqDataInfo}.
722      * @see ReqDataInfo
723      */
724     void (*GetLteImsSwitchStatus)(const ReqDataInfo *requestInfo);
725 
726     /**
727      * @brief Sets LTE IMS switch status.
728      *
729      * @param requestInfo Request data info, for details, see {@link
730      * ReqDataInfo}.
731      * @param active Whether to enable or disable call waiting. The value
732      * <b>0</b> means to disable the call waiting function, and the value
733      * <b>1</b> means the opposite.
734      * @see ReqDataInfo
735      */
736     void (*SetLteImsSwitchStatus)(const ReqDataInfo *requestInfo, int32_t active);
737 
738     /**
739      * @brief Sets unstructured supplementary service data (USSD) information.
740      *
741      * @param requestInfo Request data info, for details, see {@link
742      * ReqDataInfo}.
743      * @param str USSD information.
744      * @see ReqDataInfo
745      */
746     void (*SetUssd)(const ReqDataInfo *requestInfo, const char *str);
747 
748     /**
749      * @brief Obtains the USSD information.
750      *
751      * @param requestInfo Request data info, for details, see {@link
752      * ReqDataInfo}.
753      * @see ReqDataInfo
754      */
755     void (*GetUssd)(const ReqDataInfo *requestInfo);
756 
757     /**
758      * @brief Sets the mute mode.
759      *
760      * @param requestInfo Request data info, for details, see {@link
761      * ReqDataInfo}.
762      * @param mute Whether to enable the mute function. The value 0 means to
763      * disable the mute function, and the value 1 means the opposite.
764      * @see ReqDataInfo
765      */
766     void (*SetMute)(const ReqDataInfo *requestInfo, int32_t mute);
767 
768     /**
769      * @brief Obtains the mute mode.
770      *
771      * @param requestInfo Request data info, for details, see {@link
772      * ReqDataInfo}.
773      * @see ReqDataInfo
774      */
775     void (*GetMute)(const ReqDataInfo *requestInfo);
776 
777     /**
778      * @brief Obtains the emergency number.
779      *
780      * @param requestInfo Request data info, for details, see {@link
781      * ReqDataInfo}.
782      * @see ReqDataInfo
783      */
784     void (*GetEmergencyCallList)(const ReqDataInfo *requestInfo);
785 
786     /**
787      * @brief Obtains the call failure cause.
788      *
789      * @param requestInfo Request data info, for details, see {@link
790      * ReqDataInfo}.
791      * @see ReqDataInfo
792      */
793     void (*GetCallFailReason)(const ReqDataInfo *requestInfo);
794 
795     /**
796      * @brief Sets the emergency call number.
797      *
798      * @param requestInfo Request data info, for details, see {@link
799      * ReqDataInfo}.
800      * @param emergencyInfo Emergency call information.
801      * @param len The size of emergencyInfo.
802      * @see ReqDataInfo
803      */
804     void (*SetEmergencyCallList)(const ReqDataInfo *requestInfo, HRilEmergencyInfo *emergencyInfo, const int len);
805 
806     /**
807      * @brief Change call barring facility password.
808      *
809      * @param requestInfo Request data info, for details, see {@link
810      * ReqDataInfo}.
811      * @param info Call restriction information.
812      * @see ReqDataInfo
813      */
814     void (*SetBarringPassword)(const ReqDataInfo *requestInfo, HRilSetBarringInfo info);
815 
816     /**
817      * @brief Close unfinished unstructured supplementary service data (USSD).
818      *
819      * @param requestInfo Request data info, for details, see {@link
820      * ReqDataInfo}.
821      * @see ReqDataInfo
822      */
823     void (*CloseUnFinishedUssd)(const ReqDataInfo *requestInfo);
824     void (*ExplicitCallTransferConnection)(const ReqDataInfo *requestInfo);
825     void (*SetVonrSwitch)(const ReqDataInfo *requestInfo, int32_t status);
826 } HRilCallReq;
827 #ifdef __cplusplus
828 }
829 #endif
830 #endif // OHOS_RIL_VENDOR_CALL_DEFS_H
831