Extend HIDL interface for Radio (RIL).
+ All remaining solicited requests to radio covered.
Test: No test for the interface.
Bug: 32020264
Change-Id: I1ee21c01ec9676919a0e88dadc3be2e21a3459a5
diff --git a/radio/1.0/IRadio.hal b/radio/1.0/IRadio.hal
index 38c36e8..d2ffa82 100644
--- a/radio/1.0/IRadio.hal
+++ b/radio/1.0/IRadio.hal
@@ -21,8 +21,7 @@
/*
* This interface is used by telephony & telecom to talk to cellular radio.
- * All the functions have minimum two parameters:
- * slotId: which corresponds to sim slot id.
+ * All the functions have minimum one parameter:
* serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
* duration of a method call. If clients provide colliding serials (including passing the same
* serial to different methods), multiple responses (one for each method call) must still be served.
@@ -31,28 +30,25 @@
/*
* Set response functions for radio requests & radio indications.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param radioResponse Object containing response functions
* @param radioIndication Object containing radio indications
*/
- setResponseFunctions(int32_t slotId, IRadioResponse radioResponse,
+ setResponseFunctions(IRadioResponse radioResponse,
IRadioIndication radioIndication);
/*
* Requests status of the ICC card
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getIccCardStatusResponse()
*
*/
- oneway getIccCardStatus(int32_t slotId, int32_t serial);
+ oneway getIccCardStatus(int32_t serial);
/*
* Supplies ICC PIN. Only called if CardStatus has AppState.PIN state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param pin PIN value
* @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
@@ -60,12 +56,11 @@
* Response function is IRadioResponse.supplyIccPinForAppResponse()
*
*/
- oneway supplyIccPinForApp(int32_t slotId, int32_t serial, string pin, string aid);
+ oneway supplyIccPinForApp(int32_t serial, string pin, string aid);
/*
* Supplies ICC PUK and new PIN.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param puk PUK value
* @param pin New PIN value
@@ -74,13 +69,12 @@
* Response function is IRadioResponse.supplyIccPukForAppResponse()
*
*/
- oneway supplyIccPukForApp(int32_t slotId, int32_t serial, string puk, string pin, string aid);
+ oneway supplyIccPukForApp(int32_t serial, string puk, string pin, string aid);
/*
* Supplies ICC PIN2. Only called following operation where SIM_PIN2 was
* returned as a a failure from a previous operation.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param pin2 PIN2 value
* @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
@@ -88,12 +82,11 @@
* Response function is IRadioResponse.supplyIccPin2ForAppResponse()
*
*/
- oneway supplyIccPin2ForApp(int32_t slotId, int32_t serial, string pin2, string aid);
+ oneway supplyIccPin2ForApp(int32_t serial, string pin2, string aid);
/*
* Supplies ICC PUK2 and new PIN2.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param puk2 PUK2 value
* @param pin2 New PIN2 value
@@ -102,13 +95,12 @@
* Response function is IRadioResponse.supplyIccPuk2ForAppResponse()
*
*/
- oneway supplyIccPuk2ForApp(int32_t slotId, int32_t serial, string puk2, string pin2,
+ oneway supplyIccPuk2ForApp(int32_t serial, string puk2, string pin2,
string aid);
/*
* Supplies old ICC PIN and new PIN.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param oldPin Old pin value
* @param newPin New pin value
@@ -117,13 +109,12 @@
* Response function is IRadioResponse.changeIccPinForAppResponse()
*
*/
- oneway changeIccPinForApp(int32_t slotId, int32_t serial, string oldPin, string newPin,
+ oneway changeIccPinForApp(int32_t serial, string oldPin, string newPin,
string aid);
/*
* Supplies old ICC PIN2 and new PIN2.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param oldPin2 Old pin2 value
* @param newPin2 New pin2 value
@@ -132,97 +123,90 @@
* Response function is IRadioResponse.changeIccPin2ForAppResponse()
*
*/
- oneway changeIccPin2ForApp(int32_t slotId, int32_t serial, string oldPin2, string newPin2,
+ oneway changeIccPin2ForApp(int32_t serial, string oldPin2, string newPin2,
string aid);
/*
* Requests that network personalization be deactivated
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param netPin Network depersonlization code
*
* Response function is IRadioResponse.supplyNetworkDepersonalizationResponse()
*
*/
- oneway supplyNetworkDepersonalization(int32_t slotId, int32_t serial, string netPin);
+ oneway supplyNetworkDepersonalization(int32_t serial, string netPin);
/*
* Requests current call list
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getCurrentCallsResponse()
*
*/
- oneway getCurrentCalls(int32_t slotId, int32_t serial);
+ oneway getCurrentCalls(int32_t serial);
/*
* Initiate voice call.
* This method is never used for supplementary service codes
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param dialInfo Dial struct
*
* Response function is IRadioResponse.dialResponse()
*
*/
- oneway dial(int32_t slotId, int32_t serial, Dial dialInfo);
+ oneway dial(int32_t serial, Dial dialInfo);
/*
* Get the SIM IMSI
* Only valid when radio state is "RADIO_STATE_ON"
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
*
* Response function is IRadioResponse.getImsiForAppResponse()
*
*/
- oneway getImsiForApp(int32_t slotId, int32_t serial, string aid);
+ oneway getImsiForApp(int32_t serial, string aid);
/*
* Hang up a specific line (like AT+CHLD=1x)
* After this HANGUP request returns, Radio must show the connection is NOT
* active anymore in next requestGetCurrentCalls query.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param gsmIndex Connection index (value of 'x' in CHLD above)
*
* Response function is IRadioResponse.hangupResponse()
*
*/
- oneway hangup(int32_t slotId, int32_t serial, int32_t gsmIndex);
+ oneway hangup(int32_t serial, int32_t gsmIndex);
/*
* Hang up waiting or held (like AT+CHLD=0)
* After this HANGUP request returns, Radio must show the connection is NOT
* active anymore in next getCurrentCalls() query.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.hangupWaitingOrBackgroundResponse()
*
*/
- oneway hangupWaitingOrBackground(int32_t slotId, int32_t serial);
+ oneway hangupWaitingOrBackground(int32_t serial);
/*
* Hang up waiting or held (like AT+CHLD=1)
* After this HANGUP request returns, Radio must show the connection is NOT
* active anymore in next getCurrentCalls query.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.hangupForegroundResumeBackgroundResponse()
*
*/
- oneway hangupForegroundResumeBackground(int32_t slotId, int32_t serial);
+ oneway hangupForegroundResumeBackground(int32_t serial);
/*
* Switch waiting or holding call and active call (like AT+CHLD=2)
@@ -238,88 +222,80 @@
* ACTIVE IDLE HOLDING IDLE
* IDLE IDLE IDLE IDLE
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.switchWaitingOrHoldingAndActiveResponse()
*
*/
- oneway switchWaitingOrHoldingAndActive(int32_t slotId, int32_t serial);
+ oneway switchWaitingOrHoldingAndActive(int32_t serial);
/*
* Conference holding and active (like AT+CHLD=3)
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.conferenceResponse()
*
*/
- oneway conference(int32_t slotId, int32_t serial);
+ oneway conference(int32_t serial);
/*
* Send UDUB (user determined user busy) to ringing or
* waiting call answer)
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.rejectCallResponse()
*
*/
- oneway rejectCall(int32_t slotId, int32_t serial);
+ oneway rejectCall(int32_t serial);
/*
* Requests the failure cause code for the most recently terminated call.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getLastCallFailCauseResponse()
*
*/
- oneway getLastCallFailCause(int32_t slotId, int32_t serial);
+ oneway getLastCallFailCause(int32_t serial);
/*
* Requests current signal strength and associated information.
* Must succeed if radio is on.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getSignalStrengthResponse()
*/
- oneway getSignalStrength(int32_t slotId, int32_t serial);
+ oneway getSignalStrength(int32_t serial);
/*
* Request current voice registration state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getVoiceRegistrationStateResponse()
*/
- oneway getVoiceRegistrationState(int32_t slotId, int32_t serial);
+ oneway getVoiceRegistrationState(int32_t serial);
/*
* Request current data registration state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getDataRegistrationStateResponse()
*/
- oneway getDataRegistrationState(int32_t slotId, int32_t serial);
+ oneway getDataRegistrationState(int32_t serial);
/*
* Request current operator ONS or EONS
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getOperatorResponse()
*/
- oneway getOperator(int32_t slotId, int32_t serial);
+ oneway getOperator(int32_t serial);
/*
* Toggle radio on and off (for "airplane" mode)
@@ -328,13 +304,12 @@
* any voice and data calls must be terminated and all associated
* lists emptied.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param on To turn on radio -> on = true, to turn off radio -> on = false.
*
* Response function is IRadioResponse.setRadioPowerResponse()
*/
- oneway setRadioPower(int32_t slotId, int32_t serial, bool on);
+ oneway setRadioPower(int32_t serial, bool on);
/*
* Send a DTMF tone
@@ -343,23 +318,18 @@
* startDtmf(), that tone must be cancelled and the new tone
* must be played instead
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param s string with single char having one of 12 values: 0-9, *, #
*
* Response function is IRadioResponse.sendDtmfResponse()
*/
- oneway sendDtmf(int32_t slotId, int32_t serial, string s);
+ oneway sendDtmf(int32_t serial, string s);
/*
* Send an SMS message
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
- * @param smscPDU is SMSC address in GSM BCD format prefixed by a length byte
- * (as expected by TS 27.005) or empty string for default SMSC
- * @param pdu is SMS in PDU format as an ASCII hex string less the SMSC address
- * TP-Layer-Length is be "strlen(pdu)/2"
+ * @param message GsmSmsMessage as defined in types.hal
*
* Response function is IRadioResponse.sendSmsResponse()
*
@@ -367,19 +337,15 @@
* fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
* and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
*/
- oneway sendSms(int32_t slotId, int32_t serial, string smscPDU, string pdu);
+ oneway sendSms(int32_t serial, GsmSmsMessage message);
/*
* Send an SMS message. Identical to sendSms,
* except that more messages are expected to be sent soon. If possible,
* keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command)
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
- * @param smscPDU is SMSC address in GSM BCD format prefixed by a length byte
- * (as expected by TS 27.005) or empty string for default SMSC
- * @param pdu is SMS in PDU format as an ASCII hex string less the SMSC address
- * TP-Layer-Length is be "strlen(pdu)/2"
+ * @param message GsmSmsMessage as defined in types.hal
*
* Response function is IRadioResponse.sendSMSExpectMoreResponse()
*
@@ -387,7 +353,7 @@
* fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
* and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
*/
- oneway sendSMSExpectMore(int32_t slotId, int32_t serial, string smscPDU, string pdu);
+ oneway sendSMSExpectMore(int32_t serial, GsmSmsMessage message);
/*
* Setup a packet data connection. If DataCallResponse.status
@@ -397,7 +363,7 @@
* radio is powered off/on. This list is returned by getDataCallList()
* and dataCallListChanged().
*
- * The RIL is expected to:
+ * The Radio is expected to:
* - Create one data call context.
* - Create and configure a dedicated interface for the context
* - The interface must be point to point.
@@ -408,7 +374,6 @@
* - Support up to getDataRegistrationState response[5]
* number of simultaneous data call contexts.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param radioTechnology Radio technology to use: 0-CDMA, 1-GSM/UMTS, 2...
* for values above 2 this is RadioTechnology + 2.
@@ -418,18 +383,14 @@
* @param user is the username for APN, or empty string
* @param password is the password for APN, or empty string
* @param authType is the PAP / CHAP auth type. Values:
- * 0 => PAP and CHAP is never performed.
- * 1 => PAP may be performed; CHAP is never performed.
- * 2 => CHAP may be performed; PAP is never performed.
- * 3 => PAP / CHAP may be performed - baseband dependent.
* @param protocol is the connection type to request must be one of the
* PDP_type values in TS 27.007 section 10.1.1.
* For example, "IP", "IPV6", "IPV4V6", or "PPP".
*
* Response function is IRadioResponse.setupDataCallResponse()
*/
- oneway setupDataCall(int32_t slotId, int32_t serial, int32_t radioTechnology,
- int32_t profile, string apn, string user, string password, int32_t authType,
+ oneway setupDataCall(int32_t serial, int32_t radioTechnology,
+ int32_t profile, string apn, string user, string password, ApnAuthType authType,
string protocol);
/*
@@ -441,7 +402,6 @@
* Arguments and responses that are unused for certain
* values of "command" must be ignored or set to empty string
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param iccIo IccIo
*
@@ -451,7 +411,7 @@
*
* Response function is IRadioResponse.iccIOForAppResponse()
*/
- oneway iccIOForApp(int32_t slotId, int32_t serial, IccIo iccIo);
+ oneway iccIOForApp(int32_t serial, IccIo iccIo);
/*
* Send a USSD message.
@@ -467,7 +427,6 @@
* b) The implementation sends a unsolOnUssd() with a type code
* of "0" (USSD-Notify/no further action) or "2" (session terminated)
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param ussd string containing the USSD request in UTF-8 format
*
@@ -475,91 +434,83 @@
*
* See also requestCancelUssd, unsolOnUssd
*/
- oneway sendUssd(int32_t slotId, int32_t serial, string ussd);
+ oneway sendUssd(int32_t serial, string ussd);
/*
* Cancel the current USSD session if one exists.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.cancelPendingUssdResponse()
*/
- oneway cancelPendingUssd(int32_t slotId, int32_t serial);
+ oneway cancelPendingUssd(int32_t serial);
/*
* Gets current CLIR status
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getClirResponse()
*/
- oneway getClir(int32_t slotId, int32_t serial);
+ oneway getClir(int32_t serial);
/*
* Set current CLIR status
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param status "n" parameter from TS 27.007 7.7
*
* Response function is IRadioResponse.setClirResponse()
*/
- oneway setClir(int32_t slotId, int32_t serial, int32_t status);
+ oneway setClir(int32_t serial, int32_t status);
/*
* Request call forward status.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param callInfo CallForwardInfo
*
* Response function is IRadioResponse.getCallForwardStatusResponse()
*/
- oneway getCallForwardStatus(int32_t slotId, int32_t serial,
+ oneway getCallForwardStatus(int32_t serial,
CallForwardInfo callInfo);
/*
* Configure call forward rule
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param callInfo CallForwardInfo
*
* Response function is IRadioResponse.setCallForwardResponse()
*/
- oneway setCallForward(int32_t slotId, int32_t serial, CallForwardInfo callInfo);
+ oneway setCallForward(int32_t serial, CallForwardInfo callInfo);
/*
* Query current call waiting state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param serviceClass Service class is the TS 27.007 service class to query
*
* Response function is IRadioResponse.getCallWaitingResponse()
*/
- oneway getCallWaiting(int32_t slotId, int32_t serial, int32_t serviceClass);
+ oneway getCallWaiting(int32_t serial, int32_t serviceClass);
/*
* Configure current call waiting state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param enable is false for "disabled" and true for "enabled"
* @param serviceClass is the TS 27.007 service class bit vector of services to modify
*
* Response function is IRadioResponse.setCallWaitingResponse()
*/
- oneway setCallWaiting(int32_t slotId, int32_t serial, bool enable,
+ oneway setCallWaiting(int32_t serial, bool enable,
int32_t serviceClass);
/*
* Acknowledge successful or failed receipt of SMS previously indicated
* via unsolResponseNewSms
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param success is true on successful receipt
* (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt
@@ -569,7 +520,7 @@
*
* Response function is IRadioResponse.acknowledgeLastIncomingGsmSmsResponse()
*/
- oneway acknowledgeLastIncomingGsmSms(int32_t slotId, int32_t serial, bool success,
+ oneway acknowledgeLastIncomingGsmSms(int32_t serial, bool success,
SmsAcknowledgeFailCause cause);
/*
@@ -578,12 +529,11 @@
* switchWaitingOrHoldingAndActive() must be used in this case
* instead
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.acceptCallResponse()
*/
- oneway acceptCall(int32_t slotId, int32_t serial);
+ oneway acceptCall(int32_t serial);
/*
* Deactivate packet data connection and remove from the
@@ -592,7 +542,6 @@
* unsolDataCallListChanged must be
* issued because of an deactivateDataCall.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param cid Indicates CID
* @param reasonRadioShutDown Indicates Disconnect Reason
@@ -601,13 +550,12 @@
*
* Response function is IRadioResponse.deactivateDataCallResponse()
*/
- oneway deactivateDataCall(int32_t slotId, int32_t serial, int32_t cid,
+ oneway deactivateDataCall(int32_t serial, int32_t cid,
bool reasonRadioShutDown);
/*
* Query the status of a facility lock state
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param facility is the facility string code from TS 27.007 7.4
* (eg "AO" for BAOC, "SC" for SIM lock)
@@ -618,13 +566,12 @@
*
* Response function is IRadioResponse.getFacilityLockForAppResponse()
*/
- oneway getFacilityLockForApp(int32_t slotId, int32_t serial, string facility,
+ oneway getFacilityLockForApp(int32_t serial, string facility,
string password, int32_t serviceClass, string appId);
/*
* Enable/disable one facility lock
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
* @param lockState false for "unlock" and true for "lock"
@@ -637,13 +584,12 @@
*
* Response function is IRadioResponse.setFacilityLockForAppResponse()
*/
- oneway setFacilityLockForApp(int32_t slotId, int32_t serial, string facility, bool lockState,
+ oneway setFacilityLockForApp(int32_t serial, string facility, bool lockState,
string password, int32_t serviceClass, string appId);
/*
* Change call barring facility password
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
* @param oldPassword old password
@@ -651,52 +597,48 @@
*
* Response function is IRadioResponse.setBarringPasswordResponse()
*/
- oneway setBarringPassword(int32_t slotId, int32_t serial, string facility,
+ oneway setBarringPassword(int32_t serial, string facility,
string oldPassword, string newPassword);
/*
* Query current network selection mode
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getNetworkSelectionModeResponse()
*/
- oneway getNetworkSelectionMode(int32_t slotId, int32_t serial);
+ oneway getNetworkSelectionMode(int32_t serial);
/*
* Specify that the network must be selected automatically.
* This request must not respond until the new operator is selected and registered.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.setNetworkSelectionModeAutomaticResponse()
*/
- oneway setNetworkSelectionModeAutomatic(int32_t slotId, int32_t serial);
+ oneway setNetworkSelectionModeAutomatic(int32_t serial);
/*
* Manually select a specified network.
* This request must not respond until the new operator is selected and registered.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param operatorNumeric string specifying MCCMNC of network to select (eg "310170")
*
* Response function is IRadioResponse.setNetworkSelectionModeManualResponse()
*/
- oneway setNetworkSelectionModeManual(int32_t slotId, int32_t serial, string operatorNumeric);
+ oneway setNetworkSelectionModeManual(int32_t serial, string operatorNumeric);
/*
* Scans for available networks
* This request must not respond until the new operator is selected and registered.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getAvailableNetworksResponse()
*/
- oneway getAvailableNetworks(int32_t slotId, int32_t serial);
+ oneway getAvailableNetworks(int32_t serial);
/*
* Start playing a DTMF tone. Continue playing DTMF tone until
@@ -704,33 +646,30 @@
* If a startDtmf() is received while a tone is currently playing,
* it must cancel the previous tone and play the new one.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param s string having a single character with one of 12 values: 0-9,*,#
*
* Response function is IRadioResponse.startDtmfResponse()
*/
- oneway startDtmf(int32_t slotId, int32_t serial, string s);
+ oneway startDtmf(int32_t serial, string s);
/*
* Stop playing a currently playing DTMF tone.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.stopDtmfResponse()
*/
- oneway stopDtmf(int32_t slotId, int32_t serial);
+ oneway stopDtmf(int32_t serial);
/*
* Return string value indicating baseband version, eg response from AT+CGMR
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getBasebandVersionResponse()
*/
- oneway getBasebandVersion(int32_t slotId, int32_t serial);
+ oneway getBasebandVersion(int32_t serial);
/*
* Separate a party from a multiparty call placing the multiparty call
@@ -743,47 +682,43 @@
* TS 22.030 6.5.5 "Entering "2X followed by send"
* TS 27.007 "AT+CHLD=2x"
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param gsmIndex contains Connection index (value of 'x' in CHLD above)
*
* Response function is IRadioResponse.separateConnectionResponse()
*/
- oneway separateConnection(int32_t slotId, int32_t serial, int32_t gsmIndex);
+ oneway separateConnection(int32_t serial, int32_t gsmIndex);
/*
* Turn on or off uplink (microphone) mute.
* Must only be sent while voice call is active.
* Must always be reset to "disable mute" when a new voice call is initiated
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param enable true for "enable mute" and false for "disable mute"
*
* Response function is IRadioResponse.setMuteResponse()
*/
- oneway setMute(int32_t slotId, int32_t serial, bool enable);
+ oneway setMute(int32_t serial, bool enable);
/*
* Queries the current state of the uplink mute setting
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getMuteResponse()
*/
- oneway getMute(int32_t slotId, int32_t serial);
+ oneway getMute(int32_t serial);
/*
* Queries the status of the CLIP supplementary service
* (for MMI code "*#30#")
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getClipResponse()
*/
- oneway getClip(int32_t slotId, int32_t serial);
+ oneway getClip(int32_t serial);
/*
* Returns the data call list. An entry is added when a
@@ -791,34 +726,31 @@
* deactivateDataCall(). The list is emptied when
* setRadioPower() off/on is issued.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getDataCallListResponse()
*/
- oneway getDataCallList(int32_t slotId, int32_t serial);
+ oneway getDataCallList(int32_t serial);
/*
* This request is reserved for OEM-specific uses. It passes raw byte arrays back and forth.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param data data passed as raw bytes to oem
*
- * Response function is IRadioResponse.sendOemRilRequestRawResponse()
+ * Response function is IRadioResponse.sendOemRadioRequestRawResponse()
*/
- oneway sendOemRilRequestRaw(int32_t slotId, int32_t serial, vec<uint8_t> data);
+ oneway sendOemRadioRequestRaw(int32_t serial, vec<uint8_t> data);
/*
* This request is reserved for OEM-specific uses. It passes strings back and forth.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param data data passed as strings to oem
*
- * Response function is IRadioResponse.sendOemRilRequestStringsResponse()
+ * Response function is IRadioResponse.sendOemRadioRequestStringsResponse()
*/
- oneway sendOemRilRequestStrings(int32_t slotId, int32_t serial, vec<string> data);
+ oneway sendOemRadioRequestStrings(int32_t serial, vec<string> data);
/*
* Indicates the current state of the screen. When the screen is off, the
@@ -827,90 +759,801 @@
* in an effort to conserve power. These notifications must resume when the
* screen is on.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param enable true = screen on, false = screen off.
*
* Response function is IRadioResponse.sendScreenStateResponse()
*/
- oneway sendScreenState(int32_t slotId, int32_t serial, bool enable);
+ oneway sendScreenState(int32_t serial, bool enable);
/*
* Enables/disables supplementary service related notifications from the network.
* Notifications are reported via unsolSuppSvcNotification().
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param enable true = notifications enabled, false = notifications disabled.
*
* Response function is IRadioResponse.setSuppServiceNotificationsResponse()
*/
- oneway setSuppServiceNotifications(int32_t slotId, int32_t serial, bool enable);
+ oneway setSuppServiceNotifications(int32_t serial, bool enable);
/*
* Stores a SMS message to SIM memory.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param smsWriteArgs SmsWriteArgs defined in types.hal
*
* Response function is IRadioResponse.writeSmsToSimResponse()
*/
- oneway writeSmsToSim(int32_t slotId, int32_t serial, SmsWriteArgs smsWriteArgs);
+ oneway writeSmsToSim(int32_t serial, SmsWriteArgs smsWriteArgs);
/*
* Deletes a SMS message from SIM memory.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param index Record index of the message to delete.
*
* Response function is IRadioResponse.deleteSmsOnSimResponse()
*/
- oneway deleteSmsOnSim(int32_t slotId, int32_t serial, int32_t index);
+ oneway deleteSmsOnSim(int32_t serial, int32_t index);
/*
* Assign a specified band for RF configuration.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param mode RadioBandMode defined in types.hal
*
* Response function is IRadioResponse.setBandModeResponse()
*/
- oneway setBandMode(int32_t slotId, int32_t serial, RadioBandMode mode);
+ oneway setBandMode(int32_t serial, RadioBandMode mode);
/*
* Get the list of band modes supported by RF.
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
*
* Response function is IRadioResponse.getAvailableBandModesResponse()
*/
- oneway getAvailableBandModes(int32_t slotId, int32_t serial);
+ oneway getAvailableBandModes(int32_t serial);
/*
* Requests to send a SAT/USAT envelope command to SIM.
* The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param command SAT/USAT command in hexadecimal format string starting with command tag
*
* Response function is IRadioResponse.sendEnvelopeResponse()
*/
- oneway sendEnvelope(int32_t slotId, int32_t serial, string command);
+ oneway sendEnvelope(int32_t serial, string command);
/*
* Requests to send a terminal response to SIM for a received proactive command
*
- * @param slotId SIM slot id for which the function is called; needed for multi-sim
* @param serial Serial number of request.
* @param commandResponse SAT/USAT response in hexadecimal format string starting with
* first byte of response data
*
* Response function is IRadioResponse.sendTerminalResponseResponseToSim()
*/
- oneway sendTerminalResponseToSim(int32_t slotId, int32_t serial, string commandResponse);
+ oneway sendTerminalResponseToSim(int32_t serial, string commandResponse);
+
+ /*
+ * When STK application gets stkCallSetup(), the call actually has
+ * been initialized by mobile device already. (We could see the call has been in the 'call
+ * list') So, STK application needs to accept/reject the call according to user
+ * operations.
+ *
+ * @param serial Serial number of request.
+ * @param accept true = accept the call setup, false = reject the call setup
+ *
+ * Response callback is IRadioCallback.handleStkCallSetupRequestFromSimResponse()
+ */
+ oneway handleStkCallSetupRequestFromSim(int32_t serial,
+ bool accept);
+
+ /*
+ * Connects the two calls and disconnects the subscriber from both calls.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.explicitCallTransferResponse()
+ */
+ oneway explicitCallTransfer(int32_t serial);
+
+ /*
+ * Requests to set the preferred network type for searching and registering
+ * (CS/PS domain, RAT, and operation mode)
+ *
+ * @param serial Serial number of request.
+ * @param nwType PreferredNetworkType defined in types.hal
+ *
+ * Response callback is IRadioCallback.setPreferredNetworkTypeResponse()
+ */
+ oneway setPreferredNetworkType(int32_t serial,
+ PreferredNetworkType nwType);
+
+ /*
+ * Query the preferred network type (CS/PS domain, RAT, and operation mode)
+ * for searching and registering
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getPreferredNetworkTypeResponse()
+ */
+ oneway getPreferredNetworkType(int32_t serial);
+
+ /*
+ * Request neighboring cell id in GSM network
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getNeighboringCidsResponse()
+ */
+ oneway getNeighboringCids(int32_t serial);
+
+ /*
+ * Enables/disables network state change notifications due to changes in
+ * LAC and/or CID (for GSM) or BID/SID/NID/latitude/longitude (for CDMA).
+ * Basically +CREG=2 vs. +CREG=1 (TS 27.007).
+ * Note: The Radio implementation must default to "updates enabled"
+ * when the screen is on and "updates disabled" when the screen is off.
+ *
+ * @param serial Serial number of request.
+ * @param enable true = updates enabled (+CREG=2), false = updates disabled (+CREG=1)
+ *
+ * Response callback is IRadioCallback.setLocationUpdatesResponse()
+ */
+ oneway setLocationUpdates(int32_t serial, bool enable);
+
+ /*
+ * Request to set the location where the CDMA subscription shall
+ * be retrieved
+ *
+ * @param serial Serial number of request.
+ * @param cdmaSub CdmaSubscriptionSource
+ *
+ * Response callback is IRadioCallback.setCdmaSubscriptionSourceResponse()
+ */
+ oneway setCdmaSubscriptionSource(int32_t serial,
+ CdmaSubscriptionSource cdmaSub);
+
+ /*
+ * Request to set the roaming preferences in CDMA
+ *
+ * @param serial Serial number of request.
+ * @param type CdmaRoamingType defined in types.hal
+ *
+ * Response callback is IRadioCallback.setCdmaRoamingPreferenceResponse()
+ */
+ oneway setCdmaRoamingPreference(int32_t serial,
+ CdmaRoamingType type);
+
+ /*
+ * Request the actual setting of the roaming preferences in CDMA in the modem
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getCdmaRoamingPreferenceResponse()
+ */
+ oneway getCdmaRoamingPreference(int32_t serial);
+
+ /*
+ * Request to set the TTY mode
+ *
+ * @param serial Serial number of request.
+ * @param mode TtyMode
+ *
+ * Response callback is IRadioCallback.setTTYModeResponse()
+ */
+ oneway setTTYMode(int32_t serial, TtyMode mode);
+
+ /*
+ * Request the setting of TTY mode
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getTTYModeResponse()
+ */
+ oneway getTTYMode(int32_t serial);
+
+ /*
+ * Request to set the preferred voice privacy mode used in voice scrambling.
+ *
+ * @param serial Serial number of request.
+ * @param enable false for Standard Privacy Mode (Public Long Code Mask)
+ * true for Enhanced Privacy Mode (Private Long Code Mask)
+ *
+ * Response callback is IRadioCallback.setPreferredVoicePrivacyResponse()
+ */
+ oneway setPreferredVoicePrivacy(int32_t serial, bool enable);
+
+ /*
+ * Request the setting of preferred voice privacy mode.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getPreferredVoicePrivacyResponse()
+ */
+ oneway getPreferredVoicePrivacy(int32_t serial);
+
+ /*
+ * Send FLASH command
+ *
+ * @param serial Serial number of request.
+ * @param featureCode String associated with Flash command
+ *
+ * Response callback is IRadioCallback.sendCDMAFeatureCodeResponse()
+ */
+ oneway sendCDMAFeatureCode(int32_t serial, string featureCode);
+
+ /*
+ * Send DTMF string
+ *
+ * @param serial Serial number of request.
+ * @param dtmf DTMF string
+ * @param on DTMF ON length in milliseconds, or 0 to use default
+ * @param off is the DTMF OFF length in milliseconds, or 0 to use default
+ *
+ * Response callback is IRadioCallback.sendBurstDtmfResponse()
+ */
+ oneway sendBurstDtmf(int32_t serial, string dtmf, int32_t on, int32_t off);
+
+ /*
+ * Send a CDMA SMS message
+ *
+ * @param serial Serial number of request.
+ * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
+ *
+ * Response callback is IRadioCallback.sendCdmaSmsResponse()
+ */
+ oneway sendCdmaSms(int32_t serial, CdmaSmsMessage sms);
+
+ /*
+ * Acknowledge the success or failure in the receipt of SMS
+ * previously indicated via responseCdmaNewSms()
+ *
+ * @param serial Serial number of request.
+ * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal
+ *
+ * Response callback is IRadioCallback.acknowledgeLastIncomingCdmaSmsResponse()
+ */
+ oneway acknowledgeLastIncomingCdmaSms(int32_t serial, CdmaSmsAck smsAck);
+
+ /*
+ * Request the setting of GSM/WCDMA Cell Broadcast SMS config.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getGsmBroadcastConfigResponse()
+ */
+ oneway getGsmBroadcastConfig(int32_t serial);
+
+ /*
+ * Set GSM/WCDMA Cell Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ * @param configInfo Setting of GSM/WCDMA Cell broadcast config
+ *
+ * Response callback is IRadioCallback.setGsmBroadcastConfigResponse()
+ */
+ oneway setGsmBroadcastConfig(int32_t serial, GsmBroadcastSmsConfigInfo configInfo);
+
+ /*
+ * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS
+ *
+ * @param serial Serial number of request.
+ * @param activate indicates to activate or turn off the reception of GSM/WCDMA
+ * Cell Broadcast SMS. true = activate, false = turn off
+ *
+ * Response callback is IRadioCallback.setGsmBroadcastActivationResponse()
+ */
+ oneway setGsmBroadcastActivation(int32_t serial, bool activate);
+
+ /*
+ * Request the setting of CDMA Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getCdmaBroadcastConfigResponse()
+ */
+ oneway getCdmaBroadcastConfig(int32_t serial);
+
+ /*
+ * Set CDMA Broadcast SMS config
+ *
+ * @param serial Serial number of request.
+ * @param configInfo CDMA Broadcast SMS config to be set.
+ *
+ * Response callback is IRadioCallback.setCdmaBroadcastConfigResponse()
+ */
+ oneway setCdmaBroadcastConfig(int32_t serial, CdmaBroadcastSmsConfigInfo configInfo);
+
+ /*
+ * Enable or disable the reception of CDMA Cell Broadcast SMS
+ *
+ * @param serial Serial number of request.
+ * @param activate indicates to activate or turn off the reception of CDMA
+ * Cell Broadcast SMS. true = activate, false = turn off
+ *
+ * Response callback is IRadioCallback.setCdmaBroadcastActivationResponse()
+ */
+ oneway setCdmaBroadcastActivation(int32_t serial, bool activate);
+
+ /*
+ * Request the device MDN / H_SID / H_NID.
+ * The request is only allowed when CDMA subscription is available. When CDMA
+ * subscription is changed, application layer must re-issue the request to
+ * update the subscription information.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getCDMASubscriptionResponse()
+ */
+ oneway getCDMASubscription(int32_t serial);
+
+ /*
+ * Stores a CDMA SMS message to RUIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal
+ *
+ * Response callback is IRadioCallback.writeSmsToRuimResponse()
+ */
+ oneway writeSmsToRuim(int32_t serial, CdmaSmsWriteArgs cdmaSms);
+
+ /*
+ * Deletes a CDMA SMS message from RUIM memory.
+ *
+ * @param serial Serial number of request.
+ * @param index record index of the message to delete
+ *
+ * Response callback is IRadioCallback.deleteSmsOnRuimResponse()
+ */
+ oneway deleteSmsOnRuim(int32_t serial, int32_t index);
+
+ /*
+ * Request the device ESN / MEID / IMEI / IMEISV.
+ * The request is always allowed and contains GSM and CDMA device identity.
+ * When CDMA subscription is changed the ESN/MEID changes. The application
+ * layer must re-issue the request to update the device identity in this case.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getDeviceIdentityResponse()
+ */
+ oneway getDeviceIdentity(int32_t serial);
+
+ /*
+ * Request the radio's system selection module to exit emergency
+ * callback mode. Radio must not respond with SUCCESS until the modem has
+ * completely exited from Emergency Callback Mode.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.exitEmergencyCallbackModeResponse()
+ */
+ oneway exitEmergencyCallbackMode(int32_t serial);
+
+ /*
+ * Get the default Short Message Service Center address on the device.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getSmscAddressResponse()
+ */
+ oneway getSmscAddress(int32_t serial);
+
+ /*
+ * Set the default Short Message Service Center address on the device.
+ *
+ * @param serial Serial number of request.
+ * @param smsc Short Message Service Center address to set
+ *
+ * Response callback is IRadioCallback.setSmscAddressResponse()
+ */
+ oneway setSmscAddress(int32_t serial, string smsc);
+
+ /*
+ * Indicates whether there is storage available for new SMS messages.
+ *
+ * @param serial Serial number of request.
+ * @param available true if memory is available for storing new messages,
+ * false if memory capacity is exceeded
+ *
+ * Response callback is IRadioCallback.reportSmsMemoryStatusResponse()
+ */
+ oneway reportSmsMemoryStatus(int32_t serial, bool available);
+
+ /*
+ * Indicates that the StkSerivce is running and is
+ * ready to receive unsolicited stkXXXXX commands.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.reportStkServiceIsRunningResponse()
+ */
+ oneway reportStkServiceIsRunning(int32_t serial);
+
+ /*
+ * Request to query the location where the CDMA subscription shall be retrieved.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getCdmaSubscriptionSourceResponse()
+ */
+ oneway getCdmaSubscriptionSource(int32_t serial);
+
+ /*
+ * Request the ISIM application on the UICC to perform AKA
+ * challenge/response algorithm for IMS authentication
+ *
+ * @param serial Serial number of request.
+ * @param challenge challenge string in Base64 format
+ *
+ * Response callback is IRadioCallback.requestIsimAuthenticationResponse()
+ */
+ oneway requestIsimAuthentication(int32_t serial, string challenge);
+
+ /*
+ * Acknowledge successful or failed receipt of SMS previously indicated
+ * via unsol responseNewSms(), including acknowledgement TPDU to send
+ * as the RP-User-Data element of the RP-ACK or RP-ERROR PDU.
+ *
+ * @param serial Serial number of request.
+ * @param success true on successful receipt (send RP-ACK)
+ * false on failed receipt (send RP-ERROR)
+ * @param ackPdu acknowledgement TPDU in hexadecimal format
+ *
+ * Response callback is IRadioCallback.acknowledgeIncomingGsmSmsWithPduResponse()
+ */
+ oneway acknowledgeIncomingGsmSmsWithPdu(int32_t serial, bool success, string ackPdu);
+
+ /*
+ * Requests to send a SAT/USAT envelope command to SIM.
+ * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111.
+ *
+ * This request has one difference from sendEnvelope():
+ * the SW1 and SW2 status bytes from the UICC response are returned along with
+ * the response data, using the same structure as iccIOForApp().
+ *
+ * The implementation must perform normal processing of a '91XX'
+ * response in SW1/SW2 to retrieve the pending proactive command and send it
+ * as an unsolicited response, as sendEnvelope() does.
+ *
+ * @param serial Serial number of request.
+ * @param contents SAT/USAT command in hexadecimal format starting with command tag
+ *
+ * Response callback is IRadioCallback.sendEnvelopeWithStatusResponse()
+ */
+ oneway sendEnvelopeWithStatus(int32_t serial, string contents);
+
+ /*
+ * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only
+ * when radio state is not RADIO_STATE_UNAVAILABLE
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getVoiceRadioTechnologyResponse()
+ */
+ oneway getVoiceRadioTechnology(int32_t serial);
+
+ /*
+ * Request all of the current cell information known to the radio. The radio
+ * must return list of all current cells, including the neighboring cells. If for a particular
+ * cell information isn't known then the appropriate unknown value will be returned.
+ * This does not cause or change the rate of unsolicited cellInfoList().
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getCellInfoListResponse()
+ */
+ oneway getCellInfoList(int32_t serial);
+
+ /*
+ * Sets the minimum time between when unsolicited cellInfoList() must be invoked.
+ * A value of 0, means invoke cellInfoList() when any of the reported
+ * information changes. Setting the value to INT_MAX(0x7fffffff) means never issue
+ * a unsolicited cellInfoList().
+ *
+ * @param serial Serial number of request.
+ * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList()
+ *
+ * Response callback is IRadioCallback.setCellInfoListRateResponse()
+ */
+ oneway setCellInfoListRate(int32_t serial, int32_t rate);
+
+ /*
+ * Set an apn to initial attach network
+ *
+ * @param serial Serial number of request.
+ * @param apn is the APN to connect to if radio technology is GSM/UMTS. This APN must
+ * override the one in the profile. empty string indicates no APN overrride.
+ * @param protocol is the connection type to request must be one of the
+ * PDP_type values in TS 27.007 section 10.1.1.
+ * For example, "IP", "IPV6", "IPV4V6", or "PPP".
+ * @param authType is the PAP / CHAP auth type. Values:
+ * @param user is the username for APN, or empty string
+ * @param password is the password for APN, or empty string
+ *
+ * Response callback is IRadioCallback.setInitialAttachApnResponse()
+ */
+ oneway setInitialAttachApn(int32_t serial, string apn, string protocol, ApnAuthType authType,
+ string username, string password);
+
+ /*
+ * Request current IMS registration state
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getImsRegistrationStateResponse()
+ */
+ oneway getImsRegistrationState(int32_t serial);
+
+ /*
+ * Send a SMS message over IMS.
+ * Based on the return error, caller decides to resend if sending sms
+ * fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry.
+ * In case of retry, data is encoded based on Voice Technology available.
+ *
+ * @param serial Serial number of request.
+ * @param message ImsSmsMessage as defined in types.hal to be sent
+ *
+ * Response callback is IRadioCallback.sendImsSmsResponse()
+ */
+ oneway sendImsSms(int32_t serial, ImsSmsMessage message);
+
+ /*
+ * Request APDU exchange on the basic channel. This command reflects TS 27.007
+ * "generic SIM access" operation (+CSIM). The modem must ensure proper function
+ * of GSM/CDMA, and filter commands appropriately. It must filter
+ * channel management and SELECT by DF name commands.
+ * "sessionid" field must be ignored.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu as defined in types.hal to be sent
+ *
+ * Response callback is IRadioCallback.iccTransmitApduBasicChannelResponse()
+ */
+ oneway iccTransmitApduBasicChannel(int32_t serial, SimApdu message);
+
+ /*
+ * Open a new logical channel and select the given application. This command
+ * reflects TS 27.007 "open logical channel" operation (+CCHO).
+ *
+ * @param serial Serial number of request.
+ * @param aid AID value, See ETSI 102.221 and 101.220.
+ *
+ * Response callback is IRadioCallback.iccOpenLogicalChannelResponse()
+ */
+ oneway iccOpenLogicalChannel(int32_t serial, string aid);
+
+ /*
+ * Close a previously opened logical channel. This command reflects TS 27.007
+ * "close logical channel" operation (+CCHC).
+ *
+ * @param serial Serial number of request.
+ * @param channelId session id of the logical channel (+CCHC).
+ *
+ * Response callback is IRadioCallback.iccCloseLogicalChannelResponse()
+ */
+ oneway iccCloseLogicalChannel(int32_t serial, int32_t channelId);
+
+ /*
+ * Exchange APDUs with a UICC over a previously opened logical channel. This
+ * command reflects TS 27.007 "generic logical channel access" operation
+ * (+CGLA). The modem must filter channel management and SELECT by DF name
+ * commands.
+ *
+ * @param serial Serial number of request.
+ * @param message SimApdu as defined in types.hal to be sent
+ *
+ * Response callback is IRadioCallback.iccTransmitApduLogicalChannelResponse()
+ */
+ oneway iccTransmitApduLogicalChannel(int32_t serial, SimApdu message);
+
+ /*
+ * Read one of the radio NV items.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param itemId NvItem is radio NV item as defined in types.hal
+ *
+ * Response callback is IRadioCallback.nvReadItemResponse()
+ */
+ oneway nvReadItem(int32_t serial, NvItem itemId);
+
+ /*
+ * Write one of the radio NV items.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param item NvWriteItem as defined in types.hal
+ *
+ * Response callback is IRadioCallback.nvWriteItemResponse()
+ */
+ oneway nvWriteItem(int32_t serial, NvWriteItem item);
+
+ /*
+ * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param prl PRL as a byte array
+ *
+ * Response callback is IRadioCallback.nvWriteCdmaPrlResponse()
+ */
+ oneway nvWriteCdmaPrl(int32_t serial, vec<uint8_t> prl);
+
+ /*
+ * Reset the radio NV configuration to the factory state.
+ * This is used for device configuration by some CDMA operators.
+ *
+ * @param serial Serial number of request.
+ * @param resetType ResetNvType as defined in types.hal
+ *
+ * Response callback is IRadioCallback.nvResetConfigResponse()
+ */
+ oneway nvResetConfig(int32_t serial, ResetNvType resetType);
+
+ /*
+ * Selection/de-selection of a subscription from a SIM card
+ *
+ * @param serial Serial number of request.
+ * @param uiccSub SelectUiccSub as defined in types.hal
+ *
+ * Response callback is IRadioCallback.setUiccSubscriptionResponse()
+ */
+ oneway setUiccSubscription(int32_t serial, SelectUiccSub uiccSub);
+
+ /*
+ * Tells the modem whether data calls are allowed or not
+ *
+ * @param serial Serial number of request.
+ * @param allow true to allow data calls, false to disallow data calls
+ *
+ * Response callback is IRadioCallback.setDataAllowedResponse()
+ */
+ oneway setDataAllowed(int32_t serial, bool allow);
+
+ /*
+ * Request all of the current hardware (modem and sim) associated with Radio.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getHardwareConfigResponse()
+ */
+ oneway getHardwareConfig(int32_t serial);
+
+ /*
+ * Returns the response of SIM Authentication through Radio challenge request.
+ *
+ * @param serial Serial number of request.
+ * @param authContext P2 value of authentication command, see P2 parameter in
+ * 3GPP TS 31.102 7.1.2
+ * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
+ * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
+ *
+ * Response callback is IRadioCallback.requestIccSimAuthenticationResponse()
+ */
+ oneway requestIccSimAuthentication(int32_t serial, int32_t authContext, string authData,
+ string aid);
+
+ /*
+ * Set data profile in modem.
+ * Modem must erase existed profiles from framework, and apply new profiles
+ *
+ * @param serial Serial number of request.
+ * @param profiles Array of DataProfiles to set.
+ *
+ * Response callback is IRadioCallback.setDataProfileResponse()
+ */
+ oneway setDataProfile(int32_t serial, vec<DataProfileInfo> profiles);
+
+ /*
+ * Device is shutting down. All further commands are ignored
+ * and RADIO_NOT_AVAILABLE must be returned.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.requestShutdownResponse()
+ */
+ oneway requestShutdown(int32_t serial);
+
+ /*
+ * Used to get phone radio capablility.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getRadioCapabilityResponse()
+ */
+ oneway getRadioCapability(int32_t serial);
+
+ /*
+ * Used to set the phones radio capability. Be VERY careful
+ * using this request as it may cause some vendor modems to reset. Because
+ * of the possible modem reset any radio commands after this one may not be
+ * processed.
+ *
+ * @param serial Serial number of request.
+ * @param rc RadioCapability structure to be set
+ *
+ * Response callback is IRadioCallback.setRadioCapabilityResponse()
+ */
+ oneway setRadioCapability(int32_t serial, RadioCapability rc);
+
+ /*
+ * Start Link Capacity Estimate (LCE) service if supported by the radio.
+ *
+ * @param serial Serial number of request.
+ * @param reportInterval desired reporting interval (ms).
+ * @param pullMode LCE service mode. true: PULL; false: PUSH.
+ *
+ * Response callback is IRadioCallback.startLceServiceResponse()
+ */
+ oneway startLceService(int32_t serial, int32_t reportInterval, bool pullMode);
+
+ /*
+ * Stop Link Capacity Estimate (LCE) service, the STOP operation must be
+ * idempotent for the radio modem.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.stopLceServiceResponse()
+ */
+ oneway stopLceService(int32_t serial);
+
+ /*
+ * Pull LCE service for capacity information.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.pullLceDataResponse()
+ */
+ oneway pullLceData(int32_t serial);
+
+ /*
+ * Get modem activity information for power consumption estimation.
+ * Request clear-on-read statistics information that is used for
+ * estimating the per-millisecond power consumption of the cellular
+ * modem.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getModemActivityInfoResponse()
+ */
+ oneway getModemActivityInfo(int32_t serial);
+
+ /*
+ * Set carrier restrictions. Expected modem behavior:
+ * If never receives this command
+ * - Must allow all carriers
+ * Receives this command with allAllowed true
+ * - Must allow all carriers. If a previously allowed SIM is present, modem must not reload
+ * the SIM. If a previously disallowed SIM is present, reload the SIM and notify Android.
+ * Receives this command with a list of carriers & allAllowed = false
+ * - Only allow specified carriers, persist across power cycles and FDR. If a present SIM
+ * is in the allowed list, modem must not reload the SIM. If a present SIM is *not* in
+ * the allowed list, modem must detach from the registered network and only keep emergency
+ * service, and notify Android SIM refresh reset with new SIM state being
+ * CardState:RESTRICTED. Emergency service must be enabled.
+ *
+ * @param serial Serial number of request.
+ * @param allAllowed true only when all carriers are allowed. Ignore "carriers" struct.
+ * If false, consider "carriers" struct
+ * @param carriers CarrierRestrictions consisting allowed and excluded carriers as defined
+ * in types.hal
+ *
+ * Response callback is IRadioCallback.setAllowedCarriersResponse()
+ */
+ oneway setAllowedCarriers(int32_t serial, bool allAllowed, CarrierRestrictions carriers);
+
+ /*
+ * Get carrier restrictions.
+ *
+ * @param serial Serial number of request.
+ *
+ * Response callback is IRadioCallback.getAllowedCarriersResponse()
+ */
+ oneway getAllowedCarriers(int32_t serial);
};
\ No newline at end of file