/* * Copyright (c) 2022 Huawei Device Co., Ltd. * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /** * @addtogroup Ril * @{ * * @brief Defines Ril-related APIs. * * The radio interface layer (RIL) module provides APIs and callbacks for upper-layer * telephony services, including call, SMS, MMS, network search, and SIM card services. * * @since 3.2 * @version 1.0 */ /** * @file IRil.idl * * @brief Declares the request API of the RIL module. * * @since 3.2 * @version 1.0 */ /** * @brief Defines the path for the package of the RIL module APIs. * * @since 3.2 * @version 1.0 */ package ohos.hdi.ril.v1_0; import ohos.hdi.ril.v1_0.IRilCallback; import ohos.hdi.ril.v1_0.Types; /** * @brief Declares the request API of the RIL module. * * Request APIs are called to make calls, send SMS and MMS messages, activate SIM cards, * and access the Internet. * * @since 3.2 * @version 1.0 */ interface IRil { /** * @brief Sets an IRil callback. * * @param rilCallback Callback to set. For details, see {@link IRilCallback}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCallback([in] IRilCallback rilCallback); /** * @brief Sets the emergency call number. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param emergencyInfoList Emergency call number list. For details, see {@link EmergencyInfoList}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetEmergencyCallList([in] int slotId, [in] int serialId, [in] struct EmergencyInfoList emergencyInfoList); /** * @brief Obtains the emergency number. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetEmergencyCallList([in] int slotId, [in] int serialId); /** * @brief Obtains the call status list. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallList([in] int slotId, [in] int serialId); /** * @brief Makes a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dialInfo Dialing information. For details, see {@link DialInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] Dial([in] int slotId, [in] int serialId, [in] struct DialInfo dialInfo); /** * @brief Rejects a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] Reject([in] int slotId, [in] int serialId); /** * @brief Ends a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param callId Call ID. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] Hangup([in] int slotId, [in] int serialId, [in] int callId); /** * @brief Answers a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] Answer([in] int slotId, [in] int serialId); /** * @brief Holds a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] HoldCall([in] int slotId, [in] int serialId); /** * @brief Unholds a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnHoldCall([in] int slotId, [in] int serialId); /** * @brief Switches a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SwitchCall([in] int slotId, [in] int serialId); /** * @brief Combines calls into a conference call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param callType Call type. Currently, the value can only be 0 (voice call). * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] CombineConference([in] int slotId, [in] int serialId, [in] int callType); /** * @brief Separates calls from a conference call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param callId Call ID. * @param callType Call type. Currently, the value can only be 0 (voice call). * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SeparateConference([in] int slotId, [in] int serialId, [in] int callId, [in] int callType); /** * @brief Obtains the call waiting status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallWaiting([in] int slotId, [in] int serialId); /** * @brief Sets the call waiting information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param activate Whether to enable or disable call waiting. The value 0 means to * disable the call waiting function, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCallWaiting([in] int slotId, [in] int serialId, [in] int activate); /** * @brief Obtains the call forwarding information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param reason Call forwarding type. The value 0 indicates unconditional call forwarding, * 1 indicates call forwarding when the user is busy, 2 indicates call forwarding * when the user does not reply, and 3 indicates call forwarding when the user is unreachable. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallTransferInfo([in] int slotId, [in] int serialId, [in] int reason); /** * @brief Sets the call forwarding status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param callForwardSetInfo Call forwarding information. For details, see {@link CallForwardSetInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCallTransferInfo([in] int slotId, [in] int serialId, [in] struct CallForwardSetInfo callForwardSetInfo); /** * @brief Obtains the call restriction information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param fac Object for call restriction. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallRestriction([in] int slotId, [in] int serialId, [in] String fac); /** * @brief Sets the call restriction information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param callRestrictionInfo Call restriction information. For details, see {@link CallRestrictionInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCallRestriction([in] int slotId, [in] int serialId, [in] struct CallRestrictionInfo callRestrictionInfo); /** * @brief Obtains the calling line identification presentation (CLIP) information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetClip([in] int slotId, [in] int serialId); /** * @brief Sets the CLIP information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param action Whether to enable or disable the CLIP function. The value 0 means to * disable the CLIP function, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetClip([in] int slotId, [in] int serialId, [in] int action); /** * @brief Obtains the calling line identification restriction (CLIR) information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetClir([in] int slotId, [in] int serialId); /** * @brief Sets the CLIR information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param action Whether to enable or disable the CLIR function. The value 0 means to * disable the CLIR function, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetClir([in] int slotId, [in] int serialId, [in] int action); /** * @brief Sets the call preference mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param mode Call preference mode. The value 1 indicates that only the CS domain is used for calls. * The value 2 indicates that the CS domain is preferred for calls. The value 3 indicates * that the IP multimedia system (IMS) is preferred for calls. The value 4 indicates that only the * IMS is used for calls. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCallPreferenceMode([in] int slotId, [in] int serialId, [in] int mode); /** * @brief Obtains the call preference mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallPreferenceMode([in] int slotId, [in] int serialId); /** * @brief Sets unstructured supplementary service data (USSD) information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param str USSD information. The value contains a maximum of 160 characters. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetUssd([in] int slotId, [in] int serialId, [in] String str); /** * @brief Obtains the USSD information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetUssd([in] int slotId, [in] int serialId); /** * @brief Sets the mute mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param mute Whether to enable the mute function. The value 0 means to * disable the mute function, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetMute([in] int slotId, [in] int serialId, [in] int mute); /** * @brief Obtains the mute mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetMute([in] int slotId, [in] int serialId); /** * @brief Obtains the call failure cause. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCallFailReason([in] int slotId, [in] int serialId); /** * @brief Holds and resumes a call. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param type Type of ending calls. The value 0 indicates that the call is ended directly, * the value 1 indicates that the call is ended in the foreground and background, * the value 2 indicates that the call is ended in the foreground and resumed in the background, * and the value 3 indicates that all calls are ended. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] CallSupplement([in] int slotId, [in] int serialId, [in] int type); /** * @brief Sends dual tone multi-frequency (DTMF). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo); /** * @brief Enables DTMF. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] StartDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo); /** * @brief Disables DTMF. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dtmfInfo DTMF information. For details, see {@link DtmfInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] StopDtmf([in] int slotId, [in] int serialId, [in] struct DtmfInfo dtmfInfo); /** * @brief Sets the call barring password. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param setBarringInfo Call barring information. For details, see {@link SetBarringInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetBarringPassword([in] int slotId, [in] int serialId, [in] struct SetBarringInfo setBarringInfo); /** * @brief Activates the packet data protocol (PDP) context. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataCallInfo Data service information. For details, see {@link DataCallInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] ActivatePdpContext([in] int slotId, [in] int serialId, [in] struct DataCallInfo dataCallInfo); /** * @brief Deactivates the PDP context. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param uniInfo Common information. For details, see {@link UniInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] DeactivatePdpContext([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo); /** * @brief Obtains the PDP context list. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param uniInfo Common information. For details, see {@link UniInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetPdpContextList([in] int slotId, [in] int serialId, [in] struct UniInfo uniInfo); /** * @brief Sets the initial default network access technology (APN). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataProfileDataInfo PDP context information. For details, see {@link DataProfileDataInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetInitApnInfo([in] int slotId, [in] int serialId, [in] struct DataProfileDataInfo dataProfileDataInfo); /** * @brief Obtains the current link information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cid PDP context ID. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetLinkBandwidthInfo([in] int slotId, [in] int serialId, [in] int cid); /** * @brief Sets the rule for reporting the data link bandwidth information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataLinkBandwidthReportingRule Data link bandwidth reporting rule. * For details, see {@link DataLinkBandwidthReportingRule}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetLinkBandwidthReportingRule([in] int slotId, [in] int serialId, [in] struct DataLinkBandwidthReportingRule dataLinkBandwidthReportingRule); /** * @brief Enables the data service of a SIM card slot. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataPermitted Whether to enable the data service. The value 0 means to * disable the data service, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetDataPermitted([in] int slotId, [in] int serialId, [in] int dataPermitted); /** * @brief Sets the PDP context information for the data service. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataProfilesInfo PDP context list. For details, see {@link DataProfilesInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetDataProfileInfo([in] int slotId, [in] int serialId, [in] struct DataProfilesInfo dataProfilesInfo); /** * @brief Sends the data service performance mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataPerformanceInfo Data service performance mode. For details, see {@link DataPerformanceInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendDataPerformanceMode([in] int slotId, [in] int serialId, [in] struct DataPerformanceInfo dataPerformanceInfo); /** * @brief Sends the data service sleep mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param dataSleepInfo Data service sleep mode. For details, see {@link DataSleepInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendDataSleepMode([in] int slotId, [in] int serialId, [in] struct DataSleepInfo dataSleepInfo); /** * @brief Sets the modem status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param fun Function mode. The value 0 indicates the minimum mode, 1 indicates the online mode, * and 4 indicates the offline mode. Other modes are chip-specific. * @param rst Whether to enable automatic reset of the modem. The value 0 means to disable automatic reset, * and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetRadioState([in] int slotId, [in] int serialId, [in] int fun, [in] int rst); /** * @brief Obtains the modem status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetRadioState([in] int slotId, [in] int serialId); /** * @brief Obtains the international mobile equipment identity (IMEI). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetImei([in] int slotId, [in] int serialId); /** * @brief Obtains the mobile equipment identifier (MEID). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetMeid([in] int slotId, [in] int serialId); /** * @brief Obtains the radio access technology of the CS domain. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetVoiceRadioTechnology([in] int slotId, [in] int serialId); /** * @brief Obtains the baseband version. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetBasebandVersion([in] int slotId, [in] int serialId); /** * @brief Sends a mobile phone power-off message to the modem. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] ShutDown([in] int slotId, [in] int serialId); /** * @brief Obtains SIM card data. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param SimIoRequestInfo SIM card data request information. For details, see {@link SimIoRequestInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetSimIO([in] int slotId, [in] int serialId, [in] struct SimIoRequestInfo simIO); /** * @brief Obtains the SIM card status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetSimStatus([in] int slotId, [in] int serialId); /** * @brief Obtains the international mobile subscriber identity (IMSI) of the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetImsi([in] int slotId, [in] int serialId); /** * @brief Obtains the SIM card lock status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetSimLockStatus([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo); /** * @brief Sets the SIM card lock. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param SimLockInfo SIM card lock information. For details, see {@link SimLockInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetSimLock([in] int slotId, [in] int serialId, [in] struct SimLockInfo simLockInfo); /** * @brief Changes the SIM card password. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param simPassword SIM card password. For details, see {@link SimPasswordInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] ChangeSimPassword([in] int slotId, [in] int serialId, [in] struct SimPasswordInfo simPassword); /** * @brief Sets the PIN for unlocking. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param pin PIN used for unlocking. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnlockPin([in] int slotId, [in] int serialId, [in] String pin); /** * @brief Sets the PUK for unlocking. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param puk PUK used for unlocking. * @param pin PIN used for unlocking. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnlockPuk([in] int slotId, [in] int serialId, [in] String puk, [in] String pin); /** * @brief Sets the PIN2 for unlocking. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param pin2 PIN2 used for unlocking. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnlockPin2([in] int slotId, [in] int serialId, [in] String pin2); /** * @brief Sets the PUK2 for unlocking. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param puk2 PUK2 used for unlocking. * @param pin2 PIN2 used for unlocking. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnlockPuk2([in] int slotId, [in] int serialId, [in] String puk2, [in] String pin2); /** * @brief Specifies whether to activate a SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param index Index value. * @param enable Whether to enable the SIM card. The value 0 means to activate the SIM card, * and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetActiveSim([in] int slotId, [in] int serialId, [in] int index, [in] int enable); /** * @brief Sends the TerminalResponse instruction of the SIM application toolkit (STK). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param strCmd String text of the instruction. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimStkSendTerminalResponse([in] int slotId, [in] int serialId, [in] String strCmd); /** * @brief Sends the Envelope instruction of the STK. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param strCmd String text of the instruction. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimStkSendEnvelope([in] int slotId, [in] int serialId, [in] String strCmd); /** * @brief Sends the CallSetup instruction of the STK. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param accept Whether to accept the CallSetup request. The value 0 means not to accept the request, * and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimStkSendCallSetupRequestResult([in] int slotId, [in] int serialId, [in] int accept); /** * @brief Checks whether the STK is in the Ready state. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimStkIsReady([in] int slotId, [in] int serialId); /** * @brief Obtains the protocol stack of the primary and secondary SIM cards. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetRadioProtocol([in] int slotId,[in] int serialId); /** * @brief Sets the protocol stack for the primary and secondary SIM cards. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param radioProtocol Radio protocol information. For details, see {@link RadioProtocol}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetRadioProtocol([in] int slotId,[in] int serialId,[in] struct RadioProtocol radioProtocol); /** * @brief Opens the logical channel of the application protocol data unit (APDU). * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param appID Application ID. * @param p2 Parameter 2 of the AT instruction code. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimOpenLogicalChannel([in] int slotId, [in] int serialId, [in] String appID, [in] int p2); /** * @brief Closes the logical channel of the APDU. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param channelId ID of the logical channel to be closed. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimCloseLogicalChannel([in] int slotId, [in] int serialId, [in] int channelId); /** * @brief Transmits APDU data over the logical channel. The logical channel is opened and closed by the application. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU. * For details, see {@link ApduSimIORequestInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimTransmitApduLogicalChannel([in] int slotId, [in] int serialId, [in] struct ApduSimIORequestInfo apduSimIO); /** * @brief Transmits APDU data over the basic channel. The basic channel is the channel opened by default. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param apduSimIO SIM card data request transmitted through the logical channel of the APDU. * For details, see {@link ApduSimIORequestInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimTransmitApduBasicChannel([in] int slotId, [in] int serialId, [in] struct ApduSimIORequestInfo apduSimIO); /** * @brief Performs SIM card authentication. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param simAuthInfo SIM card authentication request. For details, see {@link SimAuthenticationRequestInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SimAuthentication([in] int slotId, [in] int serialId, [in] struct SimAuthenticationRequestInfo simAuthInfo); /** * @brief Unlocks a SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param lockType Lock type. For details, see 3GPP TS 22.022 [33]. * @param key Password used for unlocking. For details, see 3GPP TS 22.022 [33]. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UnlockSimLock([in] int slotId, [in] int serialId, [in] int lockType, [in] String key); /** * @brief Obtains the signal strength. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetSignalStrength([in] int slotId, [in] int serialId); /** * @brief Obtains the registration status of the CS domain. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCsRegStatus([in] int slotId, [in] int serialId); /** * @brief Obtains the registration status of the packet switched (PS) domain. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetPsRegStatus([in] int slotId, [in] int serialId); /** * @brief Obtains the carrier name. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetOperatorInfo([in] int slotId, [in] int serialId); /** * @brief Obtains information about available networks. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetNetworkSearchInformation([in] int slotId, [in] int serialId); /** * @brief Obtains the network selection mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetNetworkSelectionMode([in] int slotId, [in] int serialId); /** * @brief Sets the network selection mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param networkModeInfo Network selection mode. For details, see {@link SetNetworkModeInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetNetworkSelectionMode([in] int slotId, [in] int serialId, [in] struct SetNetworkModeInfo networkModeInfo); /** * @brief Obtains information about neighboring cells. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetNeighboringCellInfoList([in] int slotId, [in] int serialId); /** * @brief Obtains cell information. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCurrentCellInfo([in] int slotId, [in] int serialId); /** * @brief Sets the preferred network type. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param preferredNetworkType Preferred network type. For details, see {@link PreferredNetworkTypeInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetPreferredNetwork([in] int slotId, [in] int serialId, [in] int preferredNetworkType); /** * @brief Obtains the preferred network type. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetPreferredNetwork([in] int slotId, [in] int serialId); /** * @brief Obtains the physical channel configuration. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetPhysicalChannelConfig([in] int slotId, [in] int serialId); /** * @brief Sets the cell location update notification mode. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param mode Notification mode. For details, see {@link RilRegNotifyMode}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetLocateUpdates([in] int slotId, [in] int serialId, [in] enum RilRegNotifyMode mode); /** * @brief Sets the filter of notifications reported by the modem. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param newFilter Notificaiton filter. Binary flag bits are used to indicate different notification types. * The value 0 indicates that the filter is disabled, 1 indicates the signal strength, * 2 indicates the network registration status, 4 indicates the data connection status, * 8 indicates the link capacity, and 16 indicates the physical channel configuration. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetNotificationFilter([in] int slotId, [in] int serialId, [in] int newFilter); /** * @brief Sets the device status. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param deviceStateType Device status type. The value 0 indicates the power saving mode, * 1 indicates the charging mode, and 2 indicates the low data mode. * @param deviceStateOn Whether to enable the device status switch. The value 0 means to * disable the switch, and the value 1 means the opposite. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetDeviceState([in] int slotId, [in] int serialId, [in] int deviceStateType, [in] int deviceStateOn); /** * @brief Sends Global System for Mobile Communications (GSM) SMS messages. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendGsmSms([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo); /** * @brief Sends Code Division Multiple Access (CDMA) SMS messages. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SendCdmaSmsMessageInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendCdmaSms([in] int slotId, [in] int serialId, [in] struct SendCdmaSmsMessageInfo cdmaSmsMessageInfo); /** * @brief Writes GSM SMS messages to the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] AddSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo); /** * @brief Deletes GSM SMS messages from the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param index Message index. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] DelSimMessage([in] int slotId, [in] int serialId, [in] int index); /** * @brief Updates GSM SMS messages in the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link SmsMessageIOInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UpdateSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo gsmSmsMessageInfo); /** * @brief Writes CDMA SMS messages to the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] AddCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo); /** * @brief Deletes CDMA SMS messages from the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param index Message index. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] DelCdmaSimMessage([in] int slotId, [in] int serialId, [in] int index); /** * @brief Updates CDMA SMS messages in the SIM card. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cdmaSmsMessageInfo CDMA SMS message information. For details, see {@link SmsMessageIOInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] UpdateCdmaSimMessage([in] int slotId, [in] int serialId, [in] struct SmsMessageIOInfo cdmaSmsMessageInfo); /** * @brief Sets a Short Message Service Center (SMSC) address. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param serviceCenterAddress SMSC address. For details, see {@link ServiceCenterAddress}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetSmscAddr([in] int slotId, [in] int serialId, [in] struct ServiceCenterAddress serviceCenterAddress); /** * @brief Obtains the short message center (SMC) address. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetSmscAddr([in] int slotId, [in] int serialId); /** * @brief Activates GSM cell broadcast. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cellBroadcastInfo GSM cell broadcast configuration information. * For details, see {@link CBConfigInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCBConfig([in] int slotId, [in] int serialId, [in] struct CBConfigInfo cellBroadcastInfo); /** * @brief Obtains the GSM cell broadcast configuration. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCBConfig([in] int slotId, [in] int serialId); /** * @brief Activates CDMA cell broadcast. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param cdmaCBConfigInfoList CDMA cell broadcast configuration list. For details, see {@link CdmaCBConfigInfoList}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SetCdmaCBConfig([in] int slotId, [in] int serialId, [in] struct CdmaCBConfigInfoList cdmaCBConfigInfoList); /** * @brief Obtains the CDMA cell broadcast configuration. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] GetCdmaCBConfig([in] int slotId, [in] int serialId); /** * @brief Sends a long GSM SMS message. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param gsmSmsMessageInfo GSM SMS message information. For details, see {@link GsmSmsMessageInfo}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendSmsMoreMode([in] int slotId, [in] int serialId, [in] struct GsmSmsMessageInfo gsmSmsMessageInfo); /** * @brief Sends an SMS message acknowledgement. * * @param slotId Card slot ID. * @param serialId Serial ID of a request. * @param modeData Processing mode of received SMS messages. For details, see {@link ModeData}. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendSmsAck([in] int slotId, [in] int serialId, [in] struct ModeData modeData); /** * @brief Sends a acknowledgement to the RIL. * * @return Returns 0 if the operation is successful. * @return Returns a non-0 value if the operation fails. * * @since 3.2 * @version 1.0 */ [oneway] SendRilAck(); } /** @} */