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 /** 441 * @brief Defines the supplementary service notifications information. 442 */ 443 typedef struct { 444 /** Type of notification: 0 = code1(MO); 1 = code2(MT) */ 445 int32_t notificationType; 446 447 /** TS 27.007 7.17 "code1" or "code2" */ 448 int32_t code; 449 450 /** TS 27.007 7.17 "index" */ 451 int32_t index; 452 453 /** TS 27.007 7.17 "type" (MT only) */ 454 int32_t type; 455 456 /** TS 27.007 7.17 "number" (MT only) */ 457 char *number; 458 } HRilSuppSvcNotification; 459 460 typedef struct { 461 /** 462 * @brief Gets the call status list. 463 * 464 * @param requestInfo Request data info, for details, see {@link 465 * ReqDataInfo} 466 * @see ReqDataInfo 467 */ 468 void (*GetCallList)(const ReqDataInfo *requestInfo); 469 470 /** 471 * @brief Makes a call. 472 * 473 * @param requestInfo Request data info, for details, see {@link 474 * ReqDataInfo} 475 * @param data HRilDial, for details, see {@link HRilDial} 476 * @param dataLen The length of data. 477 * @see ReqDataInfo | HRilDial 478 */ 479 void (*Dial)(const ReqDataInfo *requestInfo, const HRilDial *data, size_t dataLen); 480 481 /** 482 * @brief Ends a call. 483 * 484 * @param requestInfo Request data info, for details, see {@link 485 * ReqDataInfo} 486 * @param data gsmIndex, Indicates the connection index 487 * @param dataLen The length of data. 488 * @see ReqDataInfo 489 */ 490 void (*Hangup)(const ReqDataInfo *requestInfo, const uint32_t *data, size_t dataLen); 491 492 /** 493 * @brief Rejects a call. 494 * 495 * @param requestInfo Request data info, for details, see {@link 496 * ReqDataInfo}. 497 * @see ReqDataInfo 498 */ 499 void (*Reject)(const ReqDataInfo *requestInfo); 500 501 /** 502 * @brief Answers a call. 503 * 504 * @param requestInfo Request data info, for details, see {@link 505 * ReqDataInfo} 506 * @see ReqDataInfo 507 */ 508 void (*Answer)(const ReqDataInfo *requestInfo); 509 510 /** 511 * @brief Obtains the calling line identification presentation (CLIP) 512 * information. 513 * 514 * @param requestInfo Request data info, for details, see {@link 515 * ReqDataInfo} 516 * @see ReqDataInfo 517 */ 518 void (*GetClip)(const ReqDataInfo *requestInfo); 519 520 /** 521 * @brief Sets the calling line identification presentation (CLIP) 522 * information. 523 * 524 * @param requestInfo Request data info, for details, see {@link 525 * ReqDataInfo}. 526 * @param action Whether to enable or disable the CLIP function. The value 527 * 0 means to disable the CLIP function, and the value 1 means the 528 * opposite. 529 * @see ReqDataInfo 530 */ 531 void (*SetClip)(const ReqDataInfo *requestInfo, int32_t action); 532 533 /** 534 * @brief Holds a call. 535 * 536 * @param requestInfo Request data info, for details, see {@link 537 * ReqDataInfo}. 538 * @see ReqDataInfo 539 */ 540 void (*HoldCall)(const ReqDataInfo *requestInfo); 541 542 /** 543 * @brief Unholds a call. 544 * 545 * @param requestInfo Request data info, for details, see {@link 546 * ReqDataInfo}. 547 * @see ReqDataInfo 548 */ 549 void (*UnHoldCall)(const ReqDataInfo *requestInfo); 550 551 /** 552 * @brief Switches a call. 553 * 554 * @param requestInfo Request data info, for details, see {@link 555 * ReqDataInfo}. 556 * @see ReqDataInfo 557 */ 558 void (*SwitchCall)(const ReqDataInfo *requestInfo); 559 560 /** 561 * @brief Combines calls into a conference call. 562 * 563 * @param requestInfo Request data info, for details, see {@link 564 * ReqDataInfo}. 565 * @param callType Call type. 566 * @see ReqDataInfo 567 */ 568 void (*CombineConference)(const ReqDataInfo *requestInfo, int32_t callType); 569 570 /** 571 * @brief Separates calls from a conference call. 572 * 573 * @param requestInfo Request data info, for details, see {@link 574 * ReqDataInfo}. 575 * @param callType Call type. 576 * @see ReqDataInfo 577 */ 578 void (*SeparateConference)(const ReqDataInfo *requestInfo, int32_t callIndex, int32_t callType); 579 580 /** 581 * @brief Holds and resumes a call. 582 * 583 * @param requestInfo Request data info, for details, see {@link 584 * ReqDataInfo}. 585 * @param type Type of ending calls. The value 0 indicates that the call is 586 * ended directly; The value 1 means release the held call and the wait 587 * call; The value 2 means that release the active call and recover the 588 * held call; The value 3 means that release all calls. 589 * @see ReqDataInfo 590 */ 591 void (*CallSupplement)(const ReqDataInfo *requestInfo, int32_t type); 592 593 /** 594 * @brief Gets the call waiting status. 595 * 596 * @param requestInfo Request data info, for details, see {@link 597 * ReqDataInfo}. 598 * @see ReqDataInfo 599 */ 600 void (*GetCallWaiting)(const ReqDataInfo *requestInfo); 601 602 /** 603 * @brief Sets the call waiting status. 604 * 605 * @param requestInfo Request data info, for details, see {@link 606 * ReqDataInfo}. 607 * @param active Whether to enable or disable call waiting. The value 608 * <b>0</b> means to disable the call waiting function, and the value 609 * <b>1</b> means the opposite. 610 * @see ReqDataInfo 611 */ 612 void (*SetCallWaiting)(const ReqDataInfo *requestInfo, int32_t active); 613 614 /** 615 * @brief Sets the call forwarding status. 616 * 617 * @param requestInfo Request data info, for details, see {@link 618 * ReqDataInfo}. 619 * @param info Call forwarding information, for details, see {@link 620 * CallForwardSetInfo}. 621 * @see ReqDataInfo 622 */ 623 void (*SetCallTransferInfo)(const ReqDataInfo *requestInfo, HRilCFInfo info); 624 625 /** 626 * @brief Gets the call forwarding information. 627 * 628 * @param requestInfo Request data info, for details, see {@link 629 * ReqDataInfo}. 630 * @param reason Call forwarding type, The value 0 indicates unconditional 631 * call forwarding, 1 indicates call forwarding when the user is busy, 2 632 * indicates call forwarding when the user does not reply, and 3 indicates 633 * call forwarding when the user is unreachable. 634 * @see ReqDataInfo 635 */ 636 void (*GetCallTransferInfo)(const ReqDataInfo *requestInfo, int32_t reason); 637 638 /** 639 * @brief Gets the call restriction information. 640 * 641 * @param requestInfo Request data info, for details, see {@link 642 * ReqDataInfo}. 643 * @param fac Object for call restriction. 644 * @see ReqDataInfo 645 */ 646 void (*GetCallRestriction)(const ReqDataInfo *requestInfo, const char *fac); 647 648 /** 649 * @brief Sets the call restriction information. 650 * 651 * @param requestInfo Request data info, for details, see {@link 652 * ReqDataInfo}. 653 * @param info Call restriction information. 654 * @see ReqDataInfo 655 */ 656 void (*SetCallRestriction)(const ReqDataInfo *requestInfo, CallRestrictionInfo info); 657 658 /** 659 * @brief Obtains the calling line identification restriction (CLIR) 660 * information. 661 * 662 * @param requestInfo Request data info, for details, see {@link 663 * ReqDataInfo}. 664 * @see ReqDataInfo 665 */ 666 void (*GetClir)(const ReqDataInfo *requestInfo); 667 668 /** 669 * @brief Sets the CLIR information. 670 * 671 * @param requestInfo Request data info, for details, see {@link 672 * ReqDataInfo}. 673 * @param action Whether to enable or disable the CLIR function. The value 674 * 0 means to disable the CLIR function, and the value 1 means the 675 * opposite. 676 * @see ReqDataInfo 677 */ 678 void (*SetClir)(const ReqDataInfo *requestInfo, int32_t action); 679 680 /** 681 * @brief Enables 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 (*StartDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info); 689 690 /** 691 * @brief Sends dual tone multi-frequency (DTMF). 692 * 693 * @param requestInfo Request data info, for details, see {@link 694 * ReqDataInfo}. 695 * @param info DTMF information. 696 * @see ReqDataInfo | CallDtmfInfo 697 */ 698 void (*SendDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info); 699 700 /** 701 * @brief Disables DTMF. 702 * 703 * @param requestInfo Request data info, for details, see {@link 704 * ReqDataInfo}. 705 * @param info DTMF information. 706 * @see ReqDataInfo | CallDtmfInfo 707 */ 708 void (*StopDtmf)(const ReqDataInfo *requestInfo, CallDtmfInfo info); 709 710 /** 711 * @brief Gets IMS call list. 712 * 713 * @param requestInfo Request data info, for details, see {@link 714 * ReqDataInfo}. 715 * @see ReqDataInfo 716 */ 717 void (*GetImsCallList)(const ReqDataInfo *requestInfo); 718 719 /** 720 * @brief Obtains the call preference mode. 721 * 722 * @param requestInfo Request data info, for details, see {@link 723 * ReqDataInfo}. 724 * @see ReqDataInfo 725 */ 726 void (*GetCallPreferenceMode)(const ReqDataInfo *requestInfo); 727 728 /** 729 * @brief Sets the call preference mode. 730 * 731 * @param requestInfo Request data info, for details, see {@link 732 * ReqDataInfo}. 733 * @see ReqDataInfo 734 */ 735 void (*SetCallPreferenceMode)(const ReqDataInfo *requestInfo, int32_t mode); 736 737 /** 738 * @brief Gets LTE IMS switch status. 739 * 740 * @param requestInfo Request data info, for details, see {@link 741 * ReqDataInfo}. 742 * @see ReqDataInfo 743 */ 744 void (*GetLteImsSwitchStatus)(const ReqDataInfo *requestInfo); 745 746 /** 747 * @brief Sets LTE IMS switch status. 748 * 749 * @param requestInfo Request data info, for details, see {@link 750 * ReqDataInfo}. 751 * @param active Whether to enable or disable call waiting. The value 752 * <b>0</b> means to disable the call waiting function, and the value 753 * <b>1</b> means the opposite. 754 * @see ReqDataInfo 755 */ 756 void (*SetLteImsSwitchStatus)(const ReqDataInfo *requestInfo, int32_t active); 757 758 /** 759 * @brief Sets unstructured supplementary service data (USSD) information. 760 * 761 * @param requestInfo Request data info, for details, see {@link 762 * ReqDataInfo}. 763 * @param str USSD information. 764 * @see ReqDataInfo 765 */ 766 void (*SetUssd)(const ReqDataInfo *requestInfo, const char *str); 767 768 /** 769 * @brief Obtains the USSD information. 770 * 771 * @param requestInfo Request data info, for details, see {@link 772 * ReqDataInfo}. 773 * @see ReqDataInfo 774 */ 775 void (*GetUssd)(const ReqDataInfo *requestInfo); 776 777 /** 778 * @brief Sets the mute mode. 779 * 780 * @param requestInfo Request data info, for details, see {@link 781 * ReqDataInfo}. 782 * @param mute Whether to enable the mute function. The value 0 means to 783 * disable the mute function, and the value 1 means the opposite. 784 * @see ReqDataInfo 785 */ 786 void (*SetMute)(const ReqDataInfo *requestInfo, int32_t mute); 787 788 /** 789 * @brief Obtains the mute mode. 790 * 791 * @param requestInfo Request data info, for details, see {@link 792 * ReqDataInfo}. 793 * @see ReqDataInfo 794 */ 795 void (*GetMute)(const ReqDataInfo *requestInfo); 796 797 /** 798 * @brief Obtains the emergency number. 799 * 800 * @param requestInfo Request data info, for details, see {@link 801 * ReqDataInfo}. 802 * @see ReqDataInfo 803 */ 804 void (*GetEmergencyCallList)(const ReqDataInfo *requestInfo); 805 806 /** 807 * @brief Obtains the call failure cause. 808 * 809 * @param requestInfo Request data info, for details, see {@link 810 * ReqDataInfo}. 811 * @see ReqDataInfo 812 */ 813 void (*GetCallFailReason)(const ReqDataInfo *requestInfo); 814 815 /** 816 * @brief Sets the emergency call number. 817 * 818 * @param requestInfo Request data info, for details, see {@link 819 * ReqDataInfo}. 820 * @param emergencyInfo Emergency call information. 821 * @param len The size of emergencyInfo. 822 * @see ReqDataInfo 823 */ 824 void (*SetEmergencyCallList)(const ReqDataInfo *requestInfo, HRilEmergencyInfo *emergencyInfo, const int len); 825 826 /** 827 * @brief Change call barring facility password. 828 * 829 * @param requestInfo Request data info, for details, see {@link 830 * ReqDataInfo}. 831 * @param info Call restriction information. 832 * @see ReqDataInfo 833 */ 834 void (*SetBarringPassword)(const ReqDataInfo *requestInfo, HRilSetBarringInfo info); 835 836 /** 837 * @brief Close unfinished unstructured supplementary service data (USSD). 838 * 839 * @param requestInfo Request data info, for details, see {@link 840 * ReqDataInfo}. 841 * @see ReqDataInfo 842 */ 843 void (*CloseUnFinishedUssd)(const ReqDataInfo *requestInfo); 844 void (*ExplicitCallTransferConnection)(const ReqDataInfo *requestInfo); 845 void (*SetVonrSwitch)(const ReqDataInfo *requestInfo, int32_t status); 846 847 /** 848 * @brief Enable or disable supplementary service related notification from the network. 849 * 850 * @param requestInfo Request data info, for details, see {@link 851 * ReqDataInfo}. 852 * @param enable Whether to enable notification, 0 indicates disable, 1 indicates enable. 853 * @see ReqDataInfo 854 */ 855 void (*SetSuppSrvNotification)(const ReqDataInfo *requestInfo, int32_t enable); 856 857 /** 858 * @brief Get the TTY mode. 859 * 860 * @param requestInfo Request data info, for details, see {@link 861 * ReqDataInfo}. 862 * @see ReqDataInfo 863 */ 864 void (*GetTTYMode)(const ReqDataInfo *requestInfo); 865 866 /** 867 * @brief Set the TTY mode. 868 * 869 * @param requestInfo Request data info, for details, see {@link 870 * ReqDataInfo}. 871 * @param mode The TTY mode to set, value as following: 872 * - 0 indicates TTYMode#TTY_MODE_OFF 873 * - 1 indicates TTYMode#TTY_MODE_FULL 874 * - 2 indicates TTYMode#TTY_MODE_HCO 875 * - 3 indicates TTYMode#TTY_MODE_VCO 876 * @see ReqDataInfo 877 */ 878 void (*SetTTYMode)(const ReqDataInfo *requestInfo, int32_t mode); 879 } HRilCallReq; 880 #ifdef __cplusplus 881 } 882 #endif 883 #endif // OHOS_RIL_VENDOR_CALL_DEFS_H 884