• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2025 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 * @brief Defines Ril-related APIs.
20 *
21 * The radio interface layer (RIL) module provides APIs and callbacks for upper-layer telephony services,
22 * including call, SMS, MMS, network search, and SIM card services.
23 *
24 * @since 5.1
25 * @version 1.0
26 */
27
28package ohos.hdi.ril.v1_4;
29
30import ohos.hdi.ril.v1_1.Types;
31import ohos.hdi.ril.v1_2.Types;
32import ohos.hdi.ril.v1_3.Types;
33
34/**
35 * @brief Defines the call status information.
36 */
37struct CallInfoExt {
38    /**
39     * Call ID
40     */
41    int index;
42
43    /**
44     * Call direction. The value 0 indicates the calling party, and the value 1 indicates the called party.
45     */
46    int dir;
47
48    /**
49     * Call status:
50     *- 0: activated state
51     *- 1: call hold state
52     *- 2: calling party, dialing state
53     *- 3: calling party, ringback tone state
54     *- 4: called party, incoming call state
55     *- 5: called party, call waiting state
56     *- 6: disconnected state
57     *- 7: disconnecting state
58     *- 8: idle state
59     */
60    int state;
61
62    /**
63     * Call mode:
64     *- 0: voice call
65     *- 1: data call
66     *- 2: fax
67     */
68    int mode;
69
70    /**
71     * Multi-party call status:
72     *- 0: not a multi-party call
73     *- 1: a multi-party call
74     */
75    int mpty;
76
77    /**
78     * Call domain of the voice call:
79     *- 0: CS domain
80     *- 1: IP multimedia system (IMS) domain
81     */
82    int voiceDomain;
83
84    /**
85     * Call type. Currently, the value can only be 0, indicating a voice call.
86     */
87    int callType;
88
89    /**
90     * Code address type:
91     *-129: common number
92     *- 145: international number
93     */
94    int type;
95
96    /**
97     * Phone number
98     */
99    String number;
100
101    /**
102     * Name of a phone number in the phonebook
103     */
104    String alpha;
105
106    /**
107     * Indicates remote party name.
108     */
109    String name;
110
111    /**
112     * Identifies the CNAP display name;
113     * - 0:Allowed
114     * - 1:Restricted
115     * - 2:Not Specified/Unknown
116     * - 3:Payphone
117     */
118    int namePresentation;
119};
120
121/**
122 * @brief Defines the call status information list.
123 */
124struct CallInfoExtList {
125    /**
126     * Total number
127     */
128    int callSize;
129
130    /**
131     * ID of the call status information list
132     */
133    int flag;
134
135    /**
136     * Call status information list
137     */
138    List<struct CallInfoExt> calls;
139};
140
141/**
142 * @brief Defines ursp info.
143 */
144struct NetworkSliceUrspInfo {
145    List<unsigned char> urspInfo;
146};
147
148/**
149 * @brief Defines allowednssai Info.
150 */
151struct NetworkSliceAllowedNssaiInfo {
152    List<unsigned char> allowednssaiInfo;
153};
154
155/**
156 * @brief Defines ehplmn Info.
157 */
158struct NetworkSliceEhplmnInfo {
159    List<unsigned char> ehplmnInfo;
160};
161
162/**
163 * @brief Defines the uepolicy decode result information.
164 */
165struct UePolicyDecodeResult {
166    List<unsigned char> uePolicyDecodeResultInfo;
167};
168
169/**
170 * @brief Defines the ue policy state indication.
171 */
172struct UePolicySectionIdentifier {
173    List<unsigned char> uePolicySectionIdentifierInfo;
174};
175
176/**
177 * @brief Defines the ims rsd list.
178 */
179struct ImsRsdList {
180    List<unsigned char> imsRsdListInfo;
181};
182
183/**
184 * @brief Defines the SyncAllowedNssaiInfo.
185 */
186struct SyncAllowedNssaiInfo {
187    List<unsigned char> syncAllowedNssaiInfo;
188};
189
190/**
191 * @brief Defines PDP context information with apn types for slice.
192 */
193struct DataProfileDataInfoWithApnTypesforSlice {
194    /**
195     * Request SN
196     */
197    int serial;
198
199    /**
200     * Data service type. The value 0 indicates the default data service,
201     * and the value 1 indicates the MMS data service.
202     */
203    int profileId;
204
205    /**
206     * Authentication mode:
207     *- 0: no authentication
208     *- 1: Password Authentication Protocol (PAP)
209     *- 2: Challenge Handshake Authentication Protocol (CHAP)
210     */
211    int authenticationType;
212
213    /**
214     * Access point name
215     */
216    String apn;
217
218    /**
219     * Protocol version
220     */
221    String protocol;
222
223    /**
224     * Roaming protocol version
225     */
226    String roamingProtocol;
227
228    /**
229     * Username
230     */
231    String userName;
232
233    /**
234     * Password
235     */
236    String password;
237
238    /**
239     * Supported APN types Bitmap
240     */
241    unsigned long supportedApnTypesBitmap;
242
243    String snssai;
244
245    int sscMode;
246};
247
248/**
249 * @brief Defines the data service information for slice.
250 */
251struct DataCallInfoWithApnTypesforSlice {
252    /**
253     * Request SN
254     */
255    int serial;
256
257    /**
258     * Radio access technology. For details, see {@link RilRadioTech}.
259     */
260    int radioTechnology;
261
262    /**
263     * Whether the PDP context is set for the modem
264     */
265    boolean modemCognitive;
266
267    /**
268     * Whether roaming is allowed. The value true indicates that roaming is allowed,
269     * and the value false indicates the opposite.
270     */
271    boolean roamingAllowed;
272
273    /**
274     * Whether the user is roaming. The value true indicates that the user is roaming,
275     * and the value false indicates the opposite.
276     */
277    boolean isRoaming;
278
279    /**
280     * PDP context information with apn types
281     */
282    struct DataProfileDataInfoWithApnTypesforSlice dataProfileInfo;
283 };