/*
* 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();
}
/** @} */