• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright (C) 2021 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_AT_CALL_H
17 #define OHOS_AT_CALL_H
18 
19 #include <stdlib.h>
20 
21 #include "securec.h"
22 
23 #include "hril_vendor_call_defs.h"
24 
25 typedef enum {
26     GET_CALL_WAITING,
27     SET_CALL_WAITING,
28 } CallWaitingReqType;
29 
30 typedef enum {
31     CALL_CLIR_SUBSCRIPTION_DEFAULT, /* subscription default */
32     CALL_CLIR_INVOCATION, /* invocation */
33     CALL_CLIR_SUPPRESSION, /* suppression */
34 } CallClirType;
35 
36 typedef struct {
37     char *cmd;
38     void (*function)(const char *str);
39 } CallNotify;
40 
41 void ReqGetCallList(const ReqDataInfo *requestInfo);
42 void ReqDial(const ReqDataInfo *requestInfo, const HRilDial *data, size_t dataLen);
43 void ReqHangup(const ReqDataInfo *requestInfo, const uint32_t *data, size_t dataLen);
44 void ReqReject(const ReqDataInfo *requestInfo);
45 void ReqAnswer(const ReqDataInfo *requestInfo);
46 void ReqHoldCall(const ReqDataInfo *requestInfo);
47 void ReqUnHoldCall(const ReqDataInfo *requestInfo);
48 void ReqSwitchCall(const ReqDataInfo *requestInfo);
49 void ReqCombineConference(const ReqDataInfo *requestInfo, int32_t callType);
50 void ReqSeparateConference(const ReqDataInfo *requestInfo, int32_t callIndex, int32_t callType);
51 void ReqCallSupplement(const ReqDataInfo *requestInfo, int32_t type);
52 void ReqGetCallWaiting(const ReqDataInfo *requestInfo);
53 void ReqSetCallWaiting(const ReqDataInfo *requestInfo, int32_t active);
54 void ReqSetCallTransferInfo(const ReqDataInfo *requestInfo, HRilCFInfo info);
55 void ReqGetCallTransferInfo(const ReqDataInfo *requestInfo, int32_t reason);
56 void ReqGetCallRestriction(const ReqDataInfo *requestInfo, const char *fac);
57 void ReqSetCallRestriction(const ReqDataInfo *requestInfo, CallRestrictionInfo info);
58 void ReqGetClip(const ReqDataInfo *requestInfo);
59 void ReqSetClip(const ReqDataInfo *requestInfo, int32_t action);
60 void ReqGetClir(const ReqDataInfo *requestInfo);
61 void ReqSetClir(const ReqDataInfo *requestInfo, int32_t action);
62 void ReqStartDtmf(const ReqDataInfo *requestInfo, CallDtmfInfo info);
63 void ReqSendDtmf(const ReqDataInfo *requestInfo, CallDtmfInfo info);
64 void ReqStopDtmf(const ReqDataInfo *requestInfo, CallDtmfInfo info);
65 void ReqGetImsCallList(const ReqDataInfo *requestInfo);
66 void ReqGetCallPreferenceMode(const ReqDataInfo *requestInfo);
67 void ReqSetCallPreferenceMode(const ReqDataInfo *requestInfo, int32_t mode);
68 void ReqGetLteImsSwitchStatus(const ReqDataInfo *requestInfo);
69 void ReqSetLteImsSwitchStatus(const ReqDataInfo *requestInfo, int32_t active);
70 void ReqSetUssd(const ReqDataInfo *requestInfo, const char *str);
71 void ReqGetUssd(const ReqDataInfo *requestInfo);
72 void ReqGetMute(const ReqDataInfo *requestInfo);
73 void ReqSetMute(const ReqDataInfo *requestInfo, int32_t mute);
74 void ReqGetEmergencyCallList(const ReqDataInfo *requestInfo);
75 void ReqGetCallFailReason(const ReqDataInfo *requestInfo);
76 
77 void ReportImsServiceStatusInfo(const char *str);
78 void ReportCallStateUpdated(const char *str);
79 void ReportSrvccStatusUpdate(const char *str);
80 void ReportCsChannelInfo(const char *str);
81 void CallReportInfoProcess(const char *str);
82 int32_t IsCallNoticeCmd(const char *str);
83 void ReportCallUssdNotice(const char *str);
84 void ReportEmergencyNumberList(const char *str);
85 #endif // OHOS_AT_CALL_H
86