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