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 };