xref: /aosp_15_r20/hardware/interfaces/radio/1.0/IRadio.hal (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2016 The Android Open Source Project
3*4d7e907cSAndroid Build Coastguard Worker *
4*4d7e907cSAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License");
5*4d7e907cSAndroid Build Coastguard Worker * you may not use this file except in compliance with the License.
6*4d7e907cSAndroid Build Coastguard Worker * You may obtain a copy of the License at
7*4d7e907cSAndroid Build Coastguard Worker *
8*4d7e907cSAndroid Build Coastguard Worker *      http://www.apache.org/licenses/LICENSE-2.0
9*4d7e907cSAndroid Build Coastguard Worker *
10*4d7e907cSAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software
11*4d7e907cSAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS,
12*4d7e907cSAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*4d7e907cSAndroid Build Coastguard Worker * See the License for the specific language governing permissions and
14*4d7e907cSAndroid Build Coastguard Worker * limitations under the License.
15*4d7e907cSAndroid Build Coastguard Worker */
16*4d7e907cSAndroid Build Coastguard Worker
17*4d7e907cSAndroid Build Coastguard Workerpackage [email protected];
18*4d7e907cSAndroid Build Coastguard Worker
19*4d7e907cSAndroid Build Coastguard Workerimport IRadioResponse;
20*4d7e907cSAndroid Build Coastguard Workerimport IRadioIndication;
21*4d7e907cSAndroid Build Coastguard Worker
22*4d7e907cSAndroid Build Coastguard Worker/**
23*4d7e907cSAndroid Build Coastguard Worker * This interface is used by telephony & telecom to talk to cellular radio.
24*4d7e907cSAndroid Build Coastguard Worker * All the functions have minimum one parameter:
25*4d7e907cSAndroid Build Coastguard Worker * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
26*4d7e907cSAndroid Build Coastguard Worker * duration of a method call. If clients provide colliding serials (including passing the same
27*4d7e907cSAndroid Build Coastguard Worker * serial to different methods), multiple responses (one for each method call) must still be served.
28*4d7e907cSAndroid Build Coastguard Worker */
29*4d7e907cSAndroid Build Coastguard Workerinterface IRadio {
30*4d7e907cSAndroid Build Coastguard Worker    /**
31*4d7e907cSAndroid Build Coastguard Worker     * Set response functions for radio requests & radio indications.
32*4d7e907cSAndroid Build Coastguard Worker     *
33*4d7e907cSAndroid Build Coastguard Worker     * @param radioResponse Object containing response functions
34*4d7e907cSAndroid Build Coastguard Worker     * @param radioIndication Object containing radio indications
35*4d7e907cSAndroid Build Coastguard Worker     */
36*4d7e907cSAndroid Build Coastguard Worker    setResponseFunctions(IRadioResponse radioResponse,
37*4d7e907cSAndroid Build Coastguard Worker            IRadioIndication radioIndication);
38*4d7e907cSAndroid Build Coastguard Worker
39*4d7e907cSAndroid Build Coastguard Worker    /**
40*4d7e907cSAndroid Build Coastguard Worker     * Requests status of the ICC card
41*4d7e907cSAndroid Build Coastguard Worker     *
42*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
43*4d7e907cSAndroid Build Coastguard Worker     *
44*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getIccCardStatusResponse()
45*4d7e907cSAndroid Build Coastguard Worker     *
46*4d7e907cSAndroid Build Coastguard Worker     */
47*4d7e907cSAndroid Build Coastguard Worker    oneway getIccCardStatus(int32_t serial);
48*4d7e907cSAndroid Build Coastguard Worker
49*4d7e907cSAndroid Build Coastguard Worker    /**
50*4d7e907cSAndroid Build Coastguard Worker     * Supplies ICC PIN. Only called if CardStatus has AppState.PIN state
51*4d7e907cSAndroid Build Coastguard Worker     *
52*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
53*4d7e907cSAndroid Build Coastguard Worker     * @param pin PIN value
54*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
55*4d7e907cSAndroid Build Coastguard Worker     *
56*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplyIccPinForAppResponse()
57*4d7e907cSAndroid Build Coastguard Worker     *
58*4d7e907cSAndroid Build Coastguard Worker     */
59*4d7e907cSAndroid Build Coastguard Worker    oneway supplyIccPinForApp(int32_t serial, string pin, string aid);
60*4d7e907cSAndroid Build Coastguard Worker
61*4d7e907cSAndroid Build Coastguard Worker    /**
62*4d7e907cSAndroid Build Coastguard Worker     * Supplies ICC PUK and new PIN.
63*4d7e907cSAndroid Build Coastguard Worker     *
64*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
65*4d7e907cSAndroid Build Coastguard Worker     * @param puk PUK value
66*4d7e907cSAndroid Build Coastguard Worker     * @param pin New PIN value
67*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
68*4d7e907cSAndroid Build Coastguard Worker     *
69*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplyIccPukForAppResponse()
70*4d7e907cSAndroid Build Coastguard Worker     *
71*4d7e907cSAndroid Build Coastguard Worker     */
72*4d7e907cSAndroid Build Coastguard Worker    oneway supplyIccPukForApp(int32_t serial, string puk, string pin, string aid);
73*4d7e907cSAndroid Build Coastguard Worker
74*4d7e907cSAndroid Build Coastguard Worker    /**
75*4d7e907cSAndroid Build Coastguard Worker     * Supplies ICC PIN2. Only called following operation where SIM_PIN2 was
76*4d7e907cSAndroid Build Coastguard Worker     * returned as a a failure from a previous operation.
77*4d7e907cSAndroid Build Coastguard Worker     *
78*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
79*4d7e907cSAndroid Build Coastguard Worker     * @param pin2 PIN2 value
80*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
81*4d7e907cSAndroid Build Coastguard Worker     *
82*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplyIccPin2ForAppResponse()
83*4d7e907cSAndroid Build Coastguard Worker     *
84*4d7e907cSAndroid Build Coastguard Worker     */
85*4d7e907cSAndroid Build Coastguard Worker    oneway supplyIccPin2ForApp(int32_t serial, string pin2, string aid);
86*4d7e907cSAndroid Build Coastguard Worker
87*4d7e907cSAndroid Build Coastguard Worker    /**
88*4d7e907cSAndroid Build Coastguard Worker     * Supplies ICC PUK2 and new PIN2.
89*4d7e907cSAndroid Build Coastguard Worker     *
90*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
91*4d7e907cSAndroid Build Coastguard Worker     * @param puk2 PUK2 value
92*4d7e907cSAndroid Build Coastguard Worker     * @param pin2 New PIN2 value
93*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
94*4d7e907cSAndroid Build Coastguard Worker     *
95*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplyIccPuk2ForAppResponse()
96*4d7e907cSAndroid Build Coastguard Worker     *
97*4d7e907cSAndroid Build Coastguard Worker     */
98*4d7e907cSAndroid Build Coastguard Worker    oneway supplyIccPuk2ForApp(int32_t serial, string puk2, string pin2,
99*4d7e907cSAndroid Build Coastguard Worker            string aid);
100*4d7e907cSAndroid Build Coastguard Worker
101*4d7e907cSAndroid Build Coastguard Worker    /**
102*4d7e907cSAndroid Build Coastguard Worker     * Supplies old ICC PIN and new PIN.
103*4d7e907cSAndroid Build Coastguard Worker     *
104*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
105*4d7e907cSAndroid Build Coastguard Worker     * @param oldPin Old pin value
106*4d7e907cSAndroid Build Coastguard Worker     * @param newPin New pin value
107*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
108*4d7e907cSAndroid Build Coastguard Worker     *
109*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.changeIccPinForAppResponse()
110*4d7e907cSAndroid Build Coastguard Worker     *
111*4d7e907cSAndroid Build Coastguard Worker     */
112*4d7e907cSAndroid Build Coastguard Worker    oneway changeIccPinForApp(int32_t serial, string oldPin, string newPin,
113*4d7e907cSAndroid Build Coastguard Worker            string aid);
114*4d7e907cSAndroid Build Coastguard Worker
115*4d7e907cSAndroid Build Coastguard Worker    /**
116*4d7e907cSAndroid Build Coastguard Worker     * Supplies old ICC PIN2 and new PIN2.
117*4d7e907cSAndroid Build Coastguard Worker     *
118*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
119*4d7e907cSAndroid Build Coastguard Worker     * @param oldPin2 Old pin2 value
120*4d7e907cSAndroid Build Coastguard Worker     * @param newPin2 New pin2 value
121*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
122*4d7e907cSAndroid Build Coastguard Worker     *
123*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.changeIccPin2ForAppResponse()
124*4d7e907cSAndroid Build Coastguard Worker     *
125*4d7e907cSAndroid Build Coastguard Worker     */
126*4d7e907cSAndroid Build Coastguard Worker    oneway changeIccPin2ForApp(int32_t serial, string oldPin2, string newPin2,
127*4d7e907cSAndroid Build Coastguard Worker            string aid);
128*4d7e907cSAndroid Build Coastguard Worker
129*4d7e907cSAndroid Build Coastguard Worker    /**
130*4d7e907cSAndroid Build Coastguard Worker     * Requests that network personalization be deactivated
131*4d7e907cSAndroid Build Coastguard Worker     *
132*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
133*4d7e907cSAndroid Build Coastguard Worker     * @param netPin Network depersonlization code
134*4d7e907cSAndroid Build Coastguard Worker     *
135*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplyNetworkDepersonalizationResponse()
136*4d7e907cSAndroid Build Coastguard Worker     *
137*4d7e907cSAndroid Build Coastguard Worker     */
138*4d7e907cSAndroid Build Coastguard Worker    oneway supplyNetworkDepersonalization(int32_t serial, string netPin);
139*4d7e907cSAndroid Build Coastguard Worker
140*4d7e907cSAndroid Build Coastguard Worker    /**
141*4d7e907cSAndroid Build Coastguard Worker     * Requests current call list
142*4d7e907cSAndroid Build Coastguard Worker     *
143*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
144*4d7e907cSAndroid Build Coastguard Worker     *
145*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getCurrentCallsResponse()
146*4d7e907cSAndroid Build Coastguard Worker     *
147*4d7e907cSAndroid Build Coastguard Worker     */
148*4d7e907cSAndroid Build Coastguard Worker    oneway getCurrentCalls(int32_t serial);
149*4d7e907cSAndroid Build Coastguard Worker
150*4d7e907cSAndroid Build Coastguard Worker    /**
151*4d7e907cSAndroid Build Coastguard Worker     * Initiate voice call.
152*4d7e907cSAndroid Build Coastguard Worker     * This method is never used for supplementary service codes
153*4d7e907cSAndroid Build Coastguard Worker     *
154*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
155*4d7e907cSAndroid Build Coastguard Worker     * @param dialInfo Dial struct
156*4d7e907cSAndroid Build Coastguard Worker     *
157*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.dialResponse()
158*4d7e907cSAndroid Build Coastguard Worker     *
159*4d7e907cSAndroid Build Coastguard Worker     */
160*4d7e907cSAndroid Build Coastguard Worker    oneway dial(int32_t serial, Dial dialInfo);
161*4d7e907cSAndroid Build Coastguard Worker
162*4d7e907cSAndroid Build Coastguard Worker    /**
163*4d7e907cSAndroid Build Coastguard Worker     * Get the SIM IMSI
164*4d7e907cSAndroid Build Coastguard Worker     * Only valid when radio state is "RADIO_STATE_ON"
165*4d7e907cSAndroid Build Coastguard Worker     *
166*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
167*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
168*4d7e907cSAndroid Build Coastguard Worker     *
169*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getImsiForAppResponse()
170*4d7e907cSAndroid Build Coastguard Worker     *
171*4d7e907cSAndroid Build Coastguard Worker     */
172*4d7e907cSAndroid Build Coastguard Worker    oneway getImsiForApp(int32_t serial, string aid);
173*4d7e907cSAndroid Build Coastguard Worker
174*4d7e907cSAndroid Build Coastguard Worker    /**
175*4d7e907cSAndroid Build Coastguard Worker     * Hang up a specific line (like AT+CHLD=1x)
176*4d7e907cSAndroid Build Coastguard Worker     * After this HANGUP request returns, Radio must show the connection is NOT
177*4d7e907cSAndroid Build Coastguard Worker     * active anymore in next requestGetCurrentCalls query.
178*4d7e907cSAndroid Build Coastguard Worker     *
179*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
180*4d7e907cSAndroid Build Coastguard Worker     * @param gsmIndex Connection index (value of 'x' in CHLD above)
181*4d7e907cSAndroid Build Coastguard Worker     *
182*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.hangupResponse()
183*4d7e907cSAndroid Build Coastguard Worker     *
184*4d7e907cSAndroid Build Coastguard Worker     */
185*4d7e907cSAndroid Build Coastguard Worker    oneway hangup(int32_t serial, int32_t gsmIndex);
186*4d7e907cSAndroid Build Coastguard Worker
187*4d7e907cSAndroid Build Coastguard Worker    /**
188*4d7e907cSAndroid Build Coastguard Worker     * Hang up waiting or held (like AT+CHLD=0)
189*4d7e907cSAndroid Build Coastguard Worker     * After this HANGUP request returns, Radio must show the connection is NOT
190*4d7e907cSAndroid Build Coastguard Worker     * active anymore in next getCurrentCalls() query.
191*4d7e907cSAndroid Build Coastguard Worker     *
192*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
193*4d7e907cSAndroid Build Coastguard Worker     *
194*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.hangupWaitingOrBackgroundResponse()
195*4d7e907cSAndroid Build Coastguard Worker     *
196*4d7e907cSAndroid Build Coastguard Worker     */
197*4d7e907cSAndroid Build Coastguard Worker    oneway hangupWaitingOrBackground(int32_t serial);
198*4d7e907cSAndroid Build Coastguard Worker
199*4d7e907cSAndroid Build Coastguard Worker    /**
200*4d7e907cSAndroid Build Coastguard Worker     * Hang up waiting or held (like AT+CHLD=1)
201*4d7e907cSAndroid Build Coastguard Worker     * After this HANGUP request returns, Radio must show the connection is NOT
202*4d7e907cSAndroid Build Coastguard Worker     * active anymore in next getCurrentCalls query.
203*4d7e907cSAndroid Build Coastguard Worker     *
204*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
205*4d7e907cSAndroid Build Coastguard Worker     *
206*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.hangupForegroundResumeBackgroundResponse()
207*4d7e907cSAndroid Build Coastguard Worker     *
208*4d7e907cSAndroid Build Coastguard Worker     */
209*4d7e907cSAndroid Build Coastguard Worker    oneway hangupForegroundResumeBackground(int32_t serial);
210*4d7e907cSAndroid Build Coastguard Worker
211*4d7e907cSAndroid Build Coastguard Worker    /**
212*4d7e907cSAndroid Build Coastguard Worker     * Switch waiting or holding call and active call (like AT+CHLD=2)
213*4d7e907cSAndroid Build Coastguard Worker     * State transitions must be as follows:
214*4d7e907cSAndroid Build Coastguard Worker     *
215*4d7e907cSAndroid Build Coastguard Worker     * Call transitions must happen as shown below.
216*4d7e907cSAndroid Build Coastguard Worker     *
217*4d7e907cSAndroid Build Coastguard Worker     *   BEFORE                               AFTER
218*4d7e907cSAndroid Build Coastguard Worker     * Call 1   Call 2                 Call 1       Call 2
219*4d7e907cSAndroid Build Coastguard Worker     * ACTIVE   HOLDING                HOLDING     ACTIVE
220*4d7e907cSAndroid Build Coastguard Worker     * ACTIVE   WAITING                HOLDING     ACTIVE
221*4d7e907cSAndroid Build Coastguard Worker     * HOLDING  WAITING                HOLDING     ACTIVE
222*4d7e907cSAndroid Build Coastguard Worker     * ACTIVE   IDLE                   HOLDING     IDLE
223*4d7e907cSAndroid Build Coastguard Worker     * IDLE     IDLE                   IDLE        IDLE
224*4d7e907cSAndroid Build Coastguard Worker     *
225*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
226*4d7e907cSAndroid Build Coastguard Worker     *
227*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.switchWaitingOrHoldingAndActiveResponse()
228*4d7e907cSAndroid Build Coastguard Worker     *
229*4d7e907cSAndroid Build Coastguard Worker     */
230*4d7e907cSAndroid Build Coastguard Worker    oneway switchWaitingOrHoldingAndActive(int32_t serial);
231*4d7e907cSAndroid Build Coastguard Worker
232*4d7e907cSAndroid Build Coastguard Worker    /**
233*4d7e907cSAndroid Build Coastguard Worker     * Conference holding and active (like AT+CHLD=3)
234*4d7e907cSAndroid Build Coastguard Worker     *
235*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
236*4d7e907cSAndroid Build Coastguard Worker     *
237*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.conferenceResponse()
238*4d7e907cSAndroid Build Coastguard Worker     *
239*4d7e907cSAndroid Build Coastguard Worker     */
240*4d7e907cSAndroid Build Coastguard Worker    oneway conference(int32_t serial);
241*4d7e907cSAndroid Build Coastguard Worker
242*4d7e907cSAndroid Build Coastguard Worker    /**
243*4d7e907cSAndroid Build Coastguard Worker     * Send UDUB (user determined user busy) to ringing or
244*4d7e907cSAndroid Build Coastguard Worker     * waiting call answer)
245*4d7e907cSAndroid Build Coastguard Worker     *
246*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
247*4d7e907cSAndroid Build Coastguard Worker     *
248*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.rejectCallResponse()
249*4d7e907cSAndroid Build Coastguard Worker     *
250*4d7e907cSAndroid Build Coastguard Worker     */
251*4d7e907cSAndroid Build Coastguard Worker    oneway rejectCall(int32_t serial);
252*4d7e907cSAndroid Build Coastguard Worker
253*4d7e907cSAndroid Build Coastguard Worker    /**
254*4d7e907cSAndroid Build Coastguard Worker     * Requests the failure cause code for the most recently terminated call.
255*4d7e907cSAndroid Build Coastguard Worker     *
256*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
257*4d7e907cSAndroid Build Coastguard Worker     *
258*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getLastCallFailCauseResponse()
259*4d7e907cSAndroid Build Coastguard Worker     *
260*4d7e907cSAndroid Build Coastguard Worker     */
261*4d7e907cSAndroid Build Coastguard Worker    oneway getLastCallFailCause(int32_t serial);
262*4d7e907cSAndroid Build Coastguard Worker
263*4d7e907cSAndroid Build Coastguard Worker    /**
264*4d7e907cSAndroid Build Coastguard Worker     * Requests current signal strength and associated information.
265*4d7e907cSAndroid Build Coastguard Worker     * Must succeed if radio is on.
266*4d7e907cSAndroid Build Coastguard Worker     *
267*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
268*4d7e907cSAndroid Build Coastguard Worker     *
269*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getSignalStrengthResponse()
270*4d7e907cSAndroid Build Coastguard Worker     */
271*4d7e907cSAndroid Build Coastguard Worker    oneway getSignalStrength(int32_t serial);
272*4d7e907cSAndroid Build Coastguard Worker
273*4d7e907cSAndroid Build Coastguard Worker    /**
274*4d7e907cSAndroid Build Coastguard Worker     * Request current voice registration state
275*4d7e907cSAndroid Build Coastguard Worker     *
276*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
277*4d7e907cSAndroid Build Coastguard Worker     *
278*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getVoiceRegistrationStateResponse()
279*4d7e907cSAndroid Build Coastguard Worker     */
280*4d7e907cSAndroid Build Coastguard Worker    oneway getVoiceRegistrationState(int32_t serial);
281*4d7e907cSAndroid Build Coastguard Worker
282*4d7e907cSAndroid Build Coastguard Worker    /**
283*4d7e907cSAndroid Build Coastguard Worker     * Request current data registration state
284*4d7e907cSAndroid Build Coastguard Worker     *
285*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
286*4d7e907cSAndroid Build Coastguard Worker     *
287*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getDataRegistrationStateResponse()
288*4d7e907cSAndroid Build Coastguard Worker     */
289*4d7e907cSAndroid Build Coastguard Worker    oneway getDataRegistrationState(int32_t serial);
290*4d7e907cSAndroid Build Coastguard Worker
291*4d7e907cSAndroid Build Coastguard Worker    /**
292*4d7e907cSAndroid Build Coastguard Worker     * Request current operator ONS or EONS
293*4d7e907cSAndroid Build Coastguard Worker     *
294*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
295*4d7e907cSAndroid Build Coastguard Worker     *
296*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getOperatorResponse()
297*4d7e907cSAndroid Build Coastguard Worker     */
298*4d7e907cSAndroid Build Coastguard Worker    oneway getOperator(int32_t serial);
299*4d7e907cSAndroid Build Coastguard Worker
300*4d7e907cSAndroid Build Coastguard Worker    /**
301*4d7e907cSAndroid Build Coastguard Worker     * Toggle radio on and off (for "airplane" mode)
302*4d7e907cSAndroid Build Coastguard Worker     * If the radio is turned off/on the radio modem subsystem
303*4d7e907cSAndroid Build Coastguard Worker     * is expected return to an initialized state. For instance,
304*4d7e907cSAndroid Build Coastguard Worker     * any voice and data calls must be terminated and all associated
305*4d7e907cSAndroid Build Coastguard Worker     * lists emptied.
306*4d7e907cSAndroid Build Coastguard Worker     *
307*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
308*4d7e907cSAndroid Build Coastguard Worker     * @param on To turn on radio -> on = true, to turn off radio -> on = false.
309*4d7e907cSAndroid Build Coastguard Worker     *
310*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setRadioPowerResponse()
311*4d7e907cSAndroid Build Coastguard Worker     */
312*4d7e907cSAndroid Build Coastguard Worker    oneway setRadioPower(int32_t serial, bool on);
313*4d7e907cSAndroid Build Coastguard Worker
314*4d7e907cSAndroid Build Coastguard Worker    /**
315*4d7e907cSAndroid Build Coastguard Worker     * Send a DTMF tone
316*4d7e907cSAndroid Build Coastguard Worker     *
317*4d7e907cSAndroid Build Coastguard Worker     * If the implementation is currently playing a tone requested via
318*4d7e907cSAndroid Build Coastguard Worker     * startDtmf(), that tone must be cancelled and the new tone
319*4d7e907cSAndroid Build Coastguard Worker     * must be played instead
320*4d7e907cSAndroid Build Coastguard Worker     *
321*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
322*4d7e907cSAndroid Build Coastguard Worker     * @param s string with single char having one of 12 values: 0-9, *, #
323*4d7e907cSAndroid Build Coastguard Worker     *
324*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendDtmfResponse()
325*4d7e907cSAndroid Build Coastguard Worker     */
326*4d7e907cSAndroid Build Coastguard Worker    oneway sendDtmf(int32_t serial, string s);
327*4d7e907cSAndroid Build Coastguard Worker
328*4d7e907cSAndroid Build Coastguard Worker    /**
329*4d7e907cSAndroid Build Coastguard Worker     * Send an SMS message
330*4d7e907cSAndroid Build Coastguard Worker     *
331*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
332*4d7e907cSAndroid Build Coastguard Worker     * @param message GsmSmsMessage as defined in types.hal
333*4d7e907cSAndroid Build Coastguard Worker     *
334*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendSmsResponse()
335*4d7e907cSAndroid Build Coastguard Worker     *
336*4d7e907cSAndroid Build Coastguard Worker     * Based on the return error, caller decides to resend if sending sms
337*4d7e907cSAndroid Build Coastguard Worker     * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
338*4d7e907cSAndroid Build Coastguard Worker     * and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
339*4d7e907cSAndroid Build Coastguard Worker     */
340*4d7e907cSAndroid Build Coastguard Worker    oneway sendSms(int32_t serial, GsmSmsMessage message);
341*4d7e907cSAndroid Build Coastguard Worker
342*4d7e907cSAndroid Build Coastguard Worker    /**
343*4d7e907cSAndroid Build Coastguard Worker     * Send an SMS message. Identical to sendSms,
344*4d7e907cSAndroid Build Coastguard Worker     * except that more messages are expected to be sent soon. If possible,
345*4d7e907cSAndroid Build Coastguard Worker     * keep SMS relay protocol link open (eg TS 27.005 AT+CMMS command)
346*4d7e907cSAndroid Build Coastguard Worker     *
347*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
348*4d7e907cSAndroid Build Coastguard Worker     * @param message GsmSmsMessage as defined in types.hal
349*4d7e907cSAndroid Build Coastguard Worker     *
350*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendSMSExpectMoreResponse()
351*4d7e907cSAndroid Build Coastguard Worker     *
352*4d7e907cSAndroid Build Coastguard Worker     * Based on the return error, caller decides to resend if sending sms
353*4d7e907cSAndroid Build Coastguard Worker     * fails. RadioError:SMS_SEND_FAIL_RETRY means retry (i.e. error cause is 332)
354*4d7e907cSAndroid Build Coastguard Worker     * and RadioError:GENERIC_FAILURE means no retry (i.e. error cause is 500)
355*4d7e907cSAndroid Build Coastguard Worker     */
356*4d7e907cSAndroid Build Coastguard Worker    oneway sendSMSExpectMore(int32_t serial, GsmSmsMessage message);
357*4d7e907cSAndroid Build Coastguard Worker
358*4d7e907cSAndroid Build Coastguard Worker    /**
359*4d7e907cSAndroid Build Coastguard Worker     * Setup a packet data connection. If DataCallResponse.status
360*4d7e907cSAndroid Build Coastguard Worker     * return DataCallFailCause:NONE it is added to the list of data calls and a
361*4d7e907cSAndroid Build Coastguard Worker     * unsolDataCallListChanged() is sent. The call remains in the
362*4d7e907cSAndroid Build Coastguard Worker     * list until deactivateDataCall() is issued or the
363*4d7e907cSAndroid Build Coastguard Worker     * radio is powered off/on. This list is returned by getDataCallList()
364*4d7e907cSAndroid Build Coastguard Worker     * and dataCallListChanged().
365*4d7e907cSAndroid Build Coastguard Worker     *
366*4d7e907cSAndroid Build Coastguard Worker     * The Radio is expected to:
367*4d7e907cSAndroid Build Coastguard Worker     *  - Create one data call context.
368*4d7e907cSAndroid Build Coastguard Worker     *  - Create and configure a dedicated interface for the context
369*4d7e907cSAndroid Build Coastguard Worker     *  - The interface must be point to point.
370*4d7e907cSAndroid Build Coastguard Worker     *  - The interface is configured with one or more addresses and
371*4d7e907cSAndroid Build Coastguard Worker     *    is capable of sending and receiving packets. The prefix length
372*4d7e907cSAndroid Build Coastguard Worker     *    of the addresses must be /32 for IPv4 and /128 for IPv6.
373*4d7e907cSAndroid Build Coastguard Worker     *  - Must NOT change the linux routing table.
374*4d7e907cSAndroid Build Coastguard Worker     *  - Support up to getDataRegistrationState response[5]
375*4d7e907cSAndroid Build Coastguard Worker     *    number of simultaneous data call contexts.
376*4d7e907cSAndroid Build Coastguard Worker     *
377*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
378*4d7e907cSAndroid Build Coastguard Worker     * @param radioTechnology Radio technology to use.
379*4d7e907cSAndroid Build Coastguard Worker     * @param dataProfileInfo data profile info.
380*4d7e907cSAndroid Build Coastguard Worker     * @param modemCognitive Indicating this profile was sent to the modem through setDataProfile
381*4d7e907cSAndroid Build Coastguard Worker     *                       earlier.
382*4d7e907cSAndroid Build Coastguard Worker     * @param roamingAllowed Indicating data roaming is allowed or not by the user.
383*4d7e907cSAndroid Build Coastguard Worker     * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old
384*4d7e907cSAndroid Build Coastguard Worker     *                  RIL API must be filled accordingly based on the roaming condition.
385*4d7e907cSAndroid Build Coastguard Worker     *                  Note this is for backward compatibility with the old radio modem. The modem
386*4d7e907cSAndroid Build Coastguard Worker     *                  must not use this param for any other reason.
387*4d7e907cSAndroid Build Coastguard Worker     *
388*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setupDataCallResponse() which may return
389*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
390*4d7e907cSAndroid Build Coastguard Worker     *
391*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher, use @1.2::IRadio.setupDataCall_1_2() instead.
392*4d7e907cSAndroid Build Coastguard Worker     */
393*4d7e907cSAndroid Build Coastguard Worker    oneway setupDataCall(int32_t serial, RadioTechnology radioTechnology,
394*4d7e907cSAndroid Build Coastguard Worker            DataProfileInfo dataProfileInfo, bool modemCognitive, bool roamingAllowed,
395*4d7e907cSAndroid Build Coastguard Worker            bool isRoaming);
396*4d7e907cSAndroid Build Coastguard Worker
397*4d7e907cSAndroid Build Coastguard Worker    /**
398*4d7e907cSAndroid Build Coastguard Worker     * Request ICC I/O operation.
399*4d7e907cSAndroid Build Coastguard Worker     * This is similar to the TS 27.007 "restricted SIM" operation
400*4d7e907cSAndroid Build Coastguard Worker     * where it assumes all of the EF selection must be done by the
401*4d7e907cSAndroid Build Coastguard Worker     * callee
402*4d7e907cSAndroid Build Coastguard Worker     *
403*4d7e907cSAndroid Build Coastguard Worker     * Arguments and responses that are unused for certain
404*4d7e907cSAndroid Build Coastguard Worker     * values of "command" must be ignored or set to empty string
405*4d7e907cSAndroid Build Coastguard Worker     *
406*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
407*4d7e907cSAndroid Build Coastguard Worker     * @param iccIo IccIo
408*4d7e907cSAndroid Build Coastguard Worker     *
409*4d7e907cSAndroid Build Coastguard Worker     * Please note that IccIo has a "PIN2" field which may be empty string,
410*4d7e907cSAndroid Build Coastguard Worker     * or may specify a PIN2 for operations that require a PIN2 (eg
411*4d7e907cSAndroid Build Coastguard Worker     * updating FDN records)
412*4d7e907cSAndroid Build Coastguard Worker     *
413*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.iccIOForAppResponse()
414*4d7e907cSAndroid Build Coastguard Worker     */
415*4d7e907cSAndroid Build Coastguard Worker    oneway iccIOForApp(int32_t serial, IccIo iccIo);
416*4d7e907cSAndroid Build Coastguard Worker
417*4d7e907cSAndroid Build Coastguard Worker    /**
418*4d7e907cSAndroid Build Coastguard Worker     * Send a USSD message.
419*4d7e907cSAndroid Build Coastguard Worker     *
420*4d7e907cSAndroid Build Coastguard Worker     * If a USSD session already exists, the message must be sent in the
421*4d7e907cSAndroid Build Coastguard Worker     * context of that session. Otherwise, a new session must be created.
422*4d7e907cSAndroid Build Coastguard Worker     *
423*4d7e907cSAndroid Build Coastguard Worker     * The network reply must be reported via unsolOnUssd
424*4d7e907cSAndroid Build Coastguard Worker     *
425*4d7e907cSAndroid Build Coastguard Worker     * Only one USSD session must exist at a time, and the session is assumed
426*4d7e907cSAndroid Build Coastguard Worker     * to exist until:
427*4d7e907cSAndroid Build Coastguard Worker     * a) The android system invokes cancelUssd()
428*4d7e907cSAndroid Build Coastguard Worker     * b) The implementation sends a unsolOnUssd() with a type code
429*4d7e907cSAndroid Build Coastguard Worker     * of "0" (USSD-Notify/no further action) or "2" (session terminated)
430*4d7e907cSAndroid Build Coastguard Worker     *
431*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
432*4d7e907cSAndroid Build Coastguard Worker     * @param ussd string containing the USSD request in UTF-8 format
433*4d7e907cSAndroid Build Coastguard Worker     *
434*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendUssdResponse()
435*4d7e907cSAndroid Build Coastguard Worker     *
436*4d7e907cSAndroid Build Coastguard Worker     * See also requestCancelUssd, unsolOnUssd
437*4d7e907cSAndroid Build Coastguard Worker     */
438*4d7e907cSAndroid Build Coastguard Worker    oneway sendUssd(int32_t serial, string ussd);
439*4d7e907cSAndroid Build Coastguard Worker
440*4d7e907cSAndroid Build Coastguard Worker    /**
441*4d7e907cSAndroid Build Coastguard Worker     * Cancel the current USSD session if one exists.
442*4d7e907cSAndroid Build Coastguard Worker     *
443*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
444*4d7e907cSAndroid Build Coastguard Worker     *
445*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.cancelPendingUssdResponse()
446*4d7e907cSAndroid Build Coastguard Worker     */
447*4d7e907cSAndroid Build Coastguard Worker    oneway cancelPendingUssd(int32_t serial);
448*4d7e907cSAndroid Build Coastguard Worker
449*4d7e907cSAndroid Build Coastguard Worker    /**
450*4d7e907cSAndroid Build Coastguard Worker     * Gets current CLIR status
451*4d7e907cSAndroid Build Coastguard Worker     *
452*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
453*4d7e907cSAndroid Build Coastguard Worker     *
454*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getClirResponse()
455*4d7e907cSAndroid Build Coastguard Worker     */
456*4d7e907cSAndroid Build Coastguard Worker    oneway getClir(int32_t serial);
457*4d7e907cSAndroid Build Coastguard Worker
458*4d7e907cSAndroid Build Coastguard Worker    /**
459*4d7e907cSAndroid Build Coastguard Worker     * Set current CLIR status
460*4d7e907cSAndroid Build Coastguard Worker     *
461*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
462*4d7e907cSAndroid Build Coastguard Worker     * @param status "n" parameter from TS 27.007 7.7
463*4d7e907cSAndroid Build Coastguard Worker     *
464*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setClirResponse()
465*4d7e907cSAndroid Build Coastguard Worker     */
466*4d7e907cSAndroid Build Coastguard Worker    oneway setClir(int32_t serial, int32_t status);
467*4d7e907cSAndroid Build Coastguard Worker
468*4d7e907cSAndroid Build Coastguard Worker    /**
469*4d7e907cSAndroid Build Coastguard Worker     * Request call forward status.
470*4d7e907cSAndroid Build Coastguard Worker     *
471*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
472*4d7e907cSAndroid Build Coastguard Worker     * @param callInfo CallForwardInfo
473*4d7e907cSAndroid Build Coastguard Worker     *
474*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getCallForwardStatusResponse()
475*4d7e907cSAndroid Build Coastguard Worker     */
476*4d7e907cSAndroid Build Coastguard Worker    oneway getCallForwardStatus(int32_t serial,
477*4d7e907cSAndroid Build Coastguard Worker            CallForwardInfo callInfo);
478*4d7e907cSAndroid Build Coastguard Worker
479*4d7e907cSAndroid Build Coastguard Worker    /**
480*4d7e907cSAndroid Build Coastguard Worker     * Configure call forward rule
481*4d7e907cSAndroid Build Coastguard Worker     *
482*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
483*4d7e907cSAndroid Build Coastguard Worker     * @param callInfo CallForwardInfo
484*4d7e907cSAndroid Build Coastguard Worker     *
485*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setCallForwardResponse()
486*4d7e907cSAndroid Build Coastguard Worker     */
487*4d7e907cSAndroid Build Coastguard Worker    oneway setCallForward(int32_t serial, CallForwardInfo callInfo);
488*4d7e907cSAndroid Build Coastguard Worker
489*4d7e907cSAndroid Build Coastguard Worker    /**
490*4d7e907cSAndroid Build Coastguard Worker     * Query current call waiting state
491*4d7e907cSAndroid Build Coastguard Worker     *
492*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
493*4d7e907cSAndroid Build Coastguard Worker     * @param serviceClass Service class is the TS 27.007 service class to query
494*4d7e907cSAndroid Build Coastguard Worker     *
495*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getCallWaitingResponse()
496*4d7e907cSAndroid Build Coastguard Worker     */
497*4d7e907cSAndroid Build Coastguard Worker    oneway getCallWaiting(int32_t serial, int32_t serviceClass);
498*4d7e907cSAndroid Build Coastguard Worker
499*4d7e907cSAndroid Build Coastguard Worker    /**
500*4d7e907cSAndroid Build Coastguard Worker     * Configure current call waiting state
501*4d7e907cSAndroid Build Coastguard Worker     *
502*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
503*4d7e907cSAndroid Build Coastguard Worker     * @param enable is false for "disabled" and true for "enabled"
504*4d7e907cSAndroid Build Coastguard Worker     * @param serviceClass is the TS 27.007 service class bit vector of services to modify
505*4d7e907cSAndroid Build Coastguard Worker     *
506*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setCallWaitingResponse()
507*4d7e907cSAndroid Build Coastguard Worker     */
508*4d7e907cSAndroid Build Coastguard Worker    oneway setCallWaiting(int32_t serial, bool enable,
509*4d7e907cSAndroid Build Coastguard Worker            int32_t serviceClass);
510*4d7e907cSAndroid Build Coastguard Worker
511*4d7e907cSAndroid Build Coastguard Worker    /**
512*4d7e907cSAndroid Build Coastguard Worker     * Acknowledge successful or failed receipt of SMS previously indicated
513*4d7e907cSAndroid Build Coastguard Worker     * via unsolResponseNewSms
514*4d7e907cSAndroid Build Coastguard Worker     *
515*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
516*4d7e907cSAndroid Build Coastguard Worker     * @param success is true on successful receipt
517*4d7e907cSAndroid Build Coastguard Worker     *        (basically, AT+CNMA=1 from TS 27.005 is 0 on failed receipt
518*4d7e907cSAndroid Build Coastguard Worker     *        (basically, AT+CNMA=2 from TS 27.005)
519*4d7e907cSAndroid Build Coastguard Worker     * @param cause: if success is false, this contains the failure cause as defined
520*4d7e907cSAndroid Build Coastguard Worker     *        in TS 23.040, 9.2.3.22.
521*4d7e907cSAndroid Build Coastguard Worker     *
522*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.acknowledgeLastIncomingGsmSmsResponse()
523*4d7e907cSAndroid Build Coastguard Worker     */
524*4d7e907cSAndroid Build Coastguard Worker    oneway acknowledgeLastIncomingGsmSms(int32_t serial, bool success,
525*4d7e907cSAndroid Build Coastguard Worker            SmsAcknowledgeFailCause cause);
526*4d7e907cSAndroid Build Coastguard Worker
527*4d7e907cSAndroid Build Coastguard Worker    /**
528*4d7e907cSAndroid Build Coastguard Worker     * Answer incoming call
529*4d7e907cSAndroid Build Coastguard Worker     * Must not be called for WAITING calls.
530*4d7e907cSAndroid Build Coastguard Worker     * switchWaitingOrHoldingAndActive() must be used in this case
531*4d7e907cSAndroid Build Coastguard Worker     * instead
532*4d7e907cSAndroid Build Coastguard Worker     *
533*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
534*4d7e907cSAndroid Build Coastguard Worker     *
535*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.acceptCallResponse()
536*4d7e907cSAndroid Build Coastguard Worker     */
537*4d7e907cSAndroid Build Coastguard Worker    oneway acceptCall(int32_t serial);
538*4d7e907cSAndroid Build Coastguard Worker
539*4d7e907cSAndroid Build Coastguard Worker    /**
540*4d7e907cSAndroid Build Coastguard Worker     * Deactivate packet data connection and remove from the
541*4d7e907cSAndroid Build Coastguard Worker     * data call list if RadioError:NONE is returned. Any other return
542*4d7e907cSAndroid Build Coastguard Worker     * values must also try to remove the call from the list. An
543*4d7e907cSAndroid Build Coastguard Worker     * unsolDataCallListChanged must be
544*4d7e907cSAndroid Build Coastguard Worker     * issued because of an deactivateDataCall.
545*4d7e907cSAndroid Build Coastguard Worker     *
546*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
547*4d7e907cSAndroid Build Coastguard Worker     * @param cid Indicates CID
548*4d7e907cSAndroid Build Coastguard Worker     * @param reasonRadioShutDown Indicates Disconnect Reason
549*4d7e907cSAndroid Build Coastguard Worker     *        false => No specific reason specified
550*4d7e907cSAndroid Build Coastguard Worker     *        true => Radio shutdown requested
551*4d7e907cSAndroid Build Coastguard Worker     *
552*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.deactivateDataCallResponse() which may return
553*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
554*4d7e907cSAndroid Build Coastguard Worker     *
555*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher, use @1.2::IRadio.deactivateDataCall_1_2() instead.
556*4d7e907cSAndroid Build Coastguard Worker     */
557*4d7e907cSAndroid Build Coastguard Worker    oneway deactivateDataCall(int32_t serial, int32_t cid,
558*4d7e907cSAndroid Build Coastguard Worker            bool reasonRadioShutDown);
559*4d7e907cSAndroid Build Coastguard Worker
560*4d7e907cSAndroid Build Coastguard Worker    /**
561*4d7e907cSAndroid Build Coastguard Worker     * Query the status of a facility lock state
562*4d7e907cSAndroid Build Coastguard Worker     *
563*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
564*4d7e907cSAndroid Build Coastguard Worker     * @param facility is the facility string code from TS 27.007 7.4
565*4d7e907cSAndroid Build Coastguard Worker     *        (eg "AO" for BAOC, "SC" for SIM lock)
566*4d7e907cSAndroid Build Coastguard Worker     * @param password is the password, or "" if not required
567*4d7e907cSAndroid Build Coastguard Worker     * @param serviceClass is the TS 27.007 service class bit vector of services to query
568*4d7e907cSAndroid Build Coastguard Worker     * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
569*4d7e907cSAndroid Build Coastguard Worker     *        This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
570*4d7e907cSAndroid Build Coastguard Worker     *
571*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getFacilityLockForAppResponse()
572*4d7e907cSAndroid Build Coastguard Worker     */
573*4d7e907cSAndroid Build Coastguard Worker    oneway getFacilityLockForApp(int32_t serial, string facility,
574*4d7e907cSAndroid Build Coastguard Worker            string password, int32_t serviceClass, string appId);
575*4d7e907cSAndroid Build Coastguard Worker
576*4d7e907cSAndroid Build Coastguard Worker    /**
577*4d7e907cSAndroid Build Coastguard Worker     * Enable/disable one facility lock
578*4d7e907cSAndroid Build Coastguard Worker     *
579*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
580*4d7e907cSAndroid Build Coastguard Worker     * @param facility is the facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
581*4d7e907cSAndroid Build Coastguard Worker     * @param lockState false for "unlock" and true for "lock"
582*4d7e907cSAndroid Build Coastguard Worker     * @param password is the password
583*4d7e907cSAndroid Build Coastguard Worker     * @param serviceClass is string representation of decimal TS 27.007
584*4d7e907cSAndroid Build Coastguard Worker     *        service class bit vector. Eg, the string
585*4d7e907cSAndroid Build Coastguard Worker     *        "1" means "set this facility for voice services"
586*4d7e907cSAndroid Build Coastguard Worker     * @param appId is AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value.
587*4d7e907cSAndroid Build Coastguard Worker     *        This is only applicable in the case of Fixed Dialing Numbers (FDN) requests.
588*4d7e907cSAndroid Build Coastguard Worker     *
589*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setFacilityLockForAppResponse()
590*4d7e907cSAndroid Build Coastguard Worker     */
591*4d7e907cSAndroid Build Coastguard Worker    oneway setFacilityLockForApp(int32_t serial, string facility, bool lockState,
592*4d7e907cSAndroid Build Coastguard Worker            string password, int32_t serviceClass, string appId);
593*4d7e907cSAndroid Build Coastguard Worker
594*4d7e907cSAndroid Build Coastguard Worker    /**
595*4d7e907cSAndroid Build Coastguard Worker     * Change call barring facility password
596*4d7e907cSAndroid Build Coastguard Worker     *
597*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
598*4d7e907cSAndroid Build Coastguard Worker     * @param facility facility string code from TS 27.007 7.4 (eg "AO" for BAOC)
599*4d7e907cSAndroid Build Coastguard Worker     * @param oldPassword old password
600*4d7e907cSAndroid Build Coastguard Worker     * @param newPassword new password
601*4d7e907cSAndroid Build Coastguard Worker     *
602*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setBarringPasswordResponse()
603*4d7e907cSAndroid Build Coastguard Worker     */
604*4d7e907cSAndroid Build Coastguard Worker    oneway setBarringPassword(int32_t serial, string facility,
605*4d7e907cSAndroid Build Coastguard Worker            string oldPassword, string newPassword);
606*4d7e907cSAndroid Build Coastguard Worker
607*4d7e907cSAndroid Build Coastguard Worker    /**
608*4d7e907cSAndroid Build Coastguard Worker     * Query current network selection mode
609*4d7e907cSAndroid Build Coastguard Worker     *
610*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
611*4d7e907cSAndroid Build Coastguard Worker     *
612*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getNetworkSelectionModeResponse()
613*4d7e907cSAndroid Build Coastguard Worker     */
614*4d7e907cSAndroid Build Coastguard Worker    oneway getNetworkSelectionMode(int32_t serial);
615*4d7e907cSAndroid Build Coastguard Worker
616*4d7e907cSAndroid Build Coastguard Worker    /**
617*4d7e907cSAndroid Build Coastguard Worker     * Specify that the network must be selected automatically.
618*4d7e907cSAndroid Build Coastguard Worker     * This request must not respond until the new operator is selected and registered.
619*4d7e907cSAndroid Build Coastguard Worker     *
620*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
621*4d7e907cSAndroid Build Coastguard Worker     *
622*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setNetworkSelectionModeAutomaticResponse()
623*4d7e907cSAndroid Build Coastguard Worker     */
624*4d7e907cSAndroid Build Coastguard Worker    oneway setNetworkSelectionModeAutomatic(int32_t serial);
625*4d7e907cSAndroid Build Coastguard Worker
626*4d7e907cSAndroid Build Coastguard Worker    /**
627*4d7e907cSAndroid Build Coastguard Worker     * Manually select a specified network.
628*4d7e907cSAndroid Build Coastguard Worker     * This request must not respond until the new operator is selected and registered.
629*4d7e907cSAndroid Build Coastguard Worker     *
630*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
631*4d7e907cSAndroid Build Coastguard Worker     * @param operatorNumeric string specifying MCCMNC of network to select (eg "310170")
632*4d7e907cSAndroid Build Coastguard Worker     *
633*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setNetworkSelectionModeManualResponse()
634*4d7e907cSAndroid Build Coastguard Worker     */
635*4d7e907cSAndroid Build Coastguard Worker    oneway setNetworkSelectionModeManual(int32_t serial, string operatorNumeric);
636*4d7e907cSAndroid Build Coastguard Worker
637*4d7e907cSAndroid Build Coastguard Worker    /**
638*4d7e907cSAndroid Build Coastguard Worker     * Scans for available networks
639*4d7e907cSAndroid Build Coastguard Worker     *
640*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
641*4d7e907cSAndroid Build Coastguard Worker     *
642*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getAvailableNetworksResponse()
643*4d7e907cSAndroid Build Coastguard Worker     */
644*4d7e907cSAndroid Build Coastguard Worker    oneway getAvailableNetworks(int32_t serial);
645*4d7e907cSAndroid Build Coastguard Worker
646*4d7e907cSAndroid Build Coastguard Worker    /**
647*4d7e907cSAndroid Build Coastguard Worker     * Start playing a DTMF tone. Continue playing DTMF tone until
648*4d7e907cSAndroid Build Coastguard Worker     * stopDtmf is received.
649*4d7e907cSAndroid Build Coastguard Worker     * If a startDtmf() is received while a tone is currently playing,
650*4d7e907cSAndroid Build Coastguard Worker     * it must cancel the previous tone and play the new one.
651*4d7e907cSAndroid Build Coastguard Worker     *
652*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
653*4d7e907cSAndroid Build Coastguard Worker     * @param s string having a single character with one of 12 values: 0-9,*,#
654*4d7e907cSAndroid Build Coastguard Worker     *
655*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.startDtmfResponse()
656*4d7e907cSAndroid Build Coastguard Worker     */
657*4d7e907cSAndroid Build Coastguard Worker    oneway startDtmf(int32_t serial, string s);
658*4d7e907cSAndroid Build Coastguard Worker
659*4d7e907cSAndroid Build Coastguard Worker    /**
660*4d7e907cSAndroid Build Coastguard Worker     * Stop playing a currently playing DTMF tone.
661*4d7e907cSAndroid Build Coastguard Worker     *
662*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
663*4d7e907cSAndroid Build Coastguard Worker     *
664*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.stopDtmfResponse()
665*4d7e907cSAndroid Build Coastguard Worker     */
666*4d7e907cSAndroid Build Coastguard Worker    oneway stopDtmf(int32_t serial);
667*4d7e907cSAndroid Build Coastguard Worker
668*4d7e907cSAndroid Build Coastguard Worker    /**
669*4d7e907cSAndroid Build Coastguard Worker     * Return string value indicating baseband version, eg response from AT+CGMR
670*4d7e907cSAndroid Build Coastguard Worker     *
671*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
672*4d7e907cSAndroid Build Coastguard Worker     *
673*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getBasebandVersionResponse()
674*4d7e907cSAndroid Build Coastguard Worker     */
675*4d7e907cSAndroid Build Coastguard Worker    oneway getBasebandVersion(int32_t serial);
676*4d7e907cSAndroid Build Coastguard Worker
677*4d7e907cSAndroid Build Coastguard Worker    /**
678*4d7e907cSAndroid Build Coastguard Worker     * Separate a party from a multiparty call placing the multiparty call
679*4d7e907cSAndroid Build Coastguard Worker     * (less the specified party) on hold and leaving the specified party
680*4d7e907cSAndroid Build Coastguard Worker     * as the only other member of the current (active) call
681*4d7e907cSAndroid Build Coastguard Worker     *
682*4d7e907cSAndroid Build Coastguard Worker     * Like AT+CHLD=2x
683*4d7e907cSAndroid Build Coastguard Worker     *
684*4d7e907cSAndroid Build Coastguard Worker     * See TS 22.084 1.3.8.2 (iii)
685*4d7e907cSAndroid Build Coastguard Worker     * TS 22.030 6.5.5 "Entering "2X followed by send"
686*4d7e907cSAndroid Build Coastguard Worker     * TS 27.007 "AT+CHLD=2x"
687*4d7e907cSAndroid Build Coastguard Worker     *
688*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
689*4d7e907cSAndroid Build Coastguard Worker     * @param gsmIndex contains Connection index (value of 'x' in CHLD above)
690*4d7e907cSAndroid Build Coastguard Worker     *
691*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.separateConnectionResponse()
692*4d7e907cSAndroid Build Coastguard Worker     */
693*4d7e907cSAndroid Build Coastguard Worker    oneway separateConnection(int32_t serial, int32_t gsmIndex);
694*4d7e907cSAndroid Build Coastguard Worker
695*4d7e907cSAndroid Build Coastguard Worker    /**
696*4d7e907cSAndroid Build Coastguard Worker     * Turn on or off uplink (microphone) mute.
697*4d7e907cSAndroid Build Coastguard Worker     * Must only be sent while voice call is active.
698*4d7e907cSAndroid Build Coastguard Worker     * Must always be reset to "disable mute" when a new voice call is initiated
699*4d7e907cSAndroid Build Coastguard Worker     *
700*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
701*4d7e907cSAndroid Build Coastguard Worker     * @param enable true for "enable mute" and false for "disable mute"
702*4d7e907cSAndroid Build Coastguard Worker     *
703*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setMuteResponse()
704*4d7e907cSAndroid Build Coastguard Worker     */
705*4d7e907cSAndroid Build Coastguard Worker    oneway setMute(int32_t serial, bool enable);
706*4d7e907cSAndroid Build Coastguard Worker
707*4d7e907cSAndroid Build Coastguard Worker    /**
708*4d7e907cSAndroid Build Coastguard Worker     * Queries the current state of the uplink mute setting
709*4d7e907cSAndroid Build Coastguard Worker     *
710*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
711*4d7e907cSAndroid Build Coastguard Worker     *
712*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getMuteResponse()
713*4d7e907cSAndroid Build Coastguard Worker     */
714*4d7e907cSAndroid Build Coastguard Worker    oneway getMute(int32_t serial);
715*4d7e907cSAndroid Build Coastguard Worker
716*4d7e907cSAndroid Build Coastguard Worker    /**
717*4d7e907cSAndroid Build Coastguard Worker     * Queries the status of the CLIP supplementary service
718*4d7e907cSAndroid Build Coastguard Worker     * (for MMI code "*#30#")
719*4d7e907cSAndroid Build Coastguard Worker     *
720*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
721*4d7e907cSAndroid Build Coastguard Worker     *
722*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getClipResponse()
723*4d7e907cSAndroid Build Coastguard Worker     */
724*4d7e907cSAndroid Build Coastguard Worker    oneway getClip(int32_t serial);
725*4d7e907cSAndroid Build Coastguard Worker
726*4d7e907cSAndroid Build Coastguard Worker    /**
727*4d7e907cSAndroid Build Coastguard Worker     * Returns the data call list. An entry is added when a
728*4d7e907cSAndroid Build Coastguard Worker     * setupDataCall() is issued and removed on a
729*4d7e907cSAndroid Build Coastguard Worker     * deactivateDataCall(). The list is emptied when
730*4d7e907cSAndroid Build Coastguard Worker     * setRadioPower() off/on is issued.
731*4d7e907cSAndroid Build Coastguard Worker     *
732*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
733*4d7e907cSAndroid Build Coastguard Worker     *
734*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getDataCallListResponse()
735*4d7e907cSAndroid Build Coastguard Worker     */
736*4d7e907cSAndroid Build Coastguard Worker    oneway getDataCallList(int32_t serial);
737*4d7e907cSAndroid Build Coastguard Worker
738*4d7e907cSAndroid Build Coastguard Worker    /**
739*4d7e907cSAndroid Build Coastguard Worker     * Enables/disables supplementary service related notifications from the network.
740*4d7e907cSAndroid Build Coastguard Worker     * Notifications are reported via unsolSuppSvcNotification().
741*4d7e907cSAndroid Build Coastguard Worker     *
742*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
743*4d7e907cSAndroid Build Coastguard Worker     * @param enable true = notifications enabled, false = notifications disabled.
744*4d7e907cSAndroid Build Coastguard Worker     *
745*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setSuppServiceNotificationsResponse()
746*4d7e907cSAndroid Build Coastguard Worker     */
747*4d7e907cSAndroid Build Coastguard Worker    oneway setSuppServiceNotifications(int32_t serial, bool enable);
748*4d7e907cSAndroid Build Coastguard Worker
749*4d7e907cSAndroid Build Coastguard Worker    /**
750*4d7e907cSAndroid Build Coastguard Worker     * Stores a SMS message to SIM memory.
751*4d7e907cSAndroid Build Coastguard Worker     *
752*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
753*4d7e907cSAndroid Build Coastguard Worker     * @param smsWriteArgs SmsWriteArgs defined in types.hal
754*4d7e907cSAndroid Build Coastguard Worker     *
755*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.writeSmsToSimResponse()
756*4d7e907cSAndroid Build Coastguard Worker     */
757*4d7e907cSAndroid Build Coastguard Worker    oneway writeSmsToSim(int32_t serial, SmsWriteArgs smsWriteArgs);
758*4d7e907cSAndroid Build Coastguard Worker
759*4d7e907cSAndroid Build Coastguard Worker    /**
760*4d7e907cSAndroid Build Coastguard Worker     * Deletes a SMS message from SIM memory.
761*4d7e907cSAndroid Build Coastguard Worker     *
762*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
763*4d7e907cSAndroid Build Coastguard Worker     * @param index Record index of the message to delete.
764*4d7e907cSAndroid Build Coastguard Worker     *
765*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.deleteSmsOnSimResponse()
766*4d7e907cSAndroid Build Coastguard Worker     */
767*4d7e907cSAndroid Build Coastguard Worker    oneway deleteSmsOnSim(int32_t serial, int32_t index);
768*4d7e907cSAndroid Build Coastguard Worker
769*4d7e907cSAndroid Build Coastguard Worker    /**
770*4d7e907cSAndroid Build Coastguard Worker     * Assign a specified band for RF configuration.
771*4d7e907cSAndroid Build Coastguard Worker     *
772*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
773*4d7e907cSAndroid Build Coastguard Worker     * @param mode RadioBandMode defined in types.hal
774*4d7e907cSAndroid Build Coastguard Worker     *
775*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setBandModeResponse()
776*4d7e907cSAndroid Build Coastguard Worker     */
777*4d7e907cSAndroid Build Coastguard Worker    oneway setBandMode(int32_t serial, RadioBandMode mode);
778*4d7e907cSAndroid Build Coastguard Worker
779*4d7e907cSAndroid Build Coastguard Worker    /**
780*4d7e907cSAndroid Build Coastguard Worker     * Get the list of band modes supported by RF.
781*4d7e907cSAndroid Build Coastguard Worker     *
782*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
783*4d7e907cSAndroid Build Coastguard Worker     *
784*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getAvailableBandModesResponse()
785*4d7e907cSAndroid Build Coastguard Worker     */
786*4d7e907cSAndroid Build Coastguard Worker    oneway getAvailableBandModes(int32_t serial);
787*4d7e907cSAndroid Build Coastguard Worker
788*4d7e907cSAndroid Build Coastguard Worker    /**
789*4d7e907cSAndroid Build Coastguard Worker     * Requests to send a SAT/USAT envelope command to SIM.
790*4d7e907cSAndroid Build Coastguard Worker     * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111
791*4d7e907cSAndroid Build Coastguard Worker     *
792*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
793*4d7e907cSAndroid Build Coastguard Worker     * @param command SAT/USAT command in hexadecimal format string starting with command tag
794*4d7e907cSAndroid Build Coastguard Worker     *
795*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendEnvelopeResponse()
796*4d7e907cSAndroid Build Coastguard Worker     */
797*4d7e907cSAndroid Build Coastguard Worker    oneway sendEnvelope(int32_t serial, string command);
798*4d7e907cSAndroid Build Coastguard Worker
799*4d7e907cSAndroid Build Coastguard Worker    /**
800*4d7e907cSAndroid Build Coastguard Worker     * Requests to send a terminal response to SIM for a received proactive command
801*4d7e907cSAndroid Build Coastguard Worker     *
802*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
803*4d7e907cSAndroid Build Coastguard Worker     * @param commandResponse SAT/USAT response in hexadecimal format string starting with
804*4d7e907cSAndroid Build Coastguard Worker     *        first byte of response data
805*4d7e907cSAndroid Build Coastguard Worker     *
806*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.sendTerminalResponseResponseToSim()
807*4d7e907cSAndroid Build Coastguard Worker     */
808*4d7e907cSAndroid Build Coastguard Worker    oneway sendTerminalResponseToSim(int32_t serial, string commandResponse);
809*4d7e907cSAndroid Build Coastguard Worker
810*4d7e907cSAndroid Build Coastguard Worker    /**
811*4d7e907cSAndroid Build Coastguard Worker     * When STK application gets stkCallSetup(), the call actually has
812*4d7e907cSAndroid Build Coastguard Worker     * been initialized by mobile device already. (We could see the call has been in the 'call
813*4d7e907cSAndroid Build Coastguard Worker     * list') So, STK application needs to accept/reject the call according to user
814*4d7e907cSAndroid Build Coastguard Worker     * operations.
815*4d7e907cSAndroid Build Coastguard Worker     *
816*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
817*4d7e907cSAndroid Build Coastguard Worker     * @param accept true = accept the call setup, false = reject the call setup
818*4d7e907cSAndroid Build Coastguard Worker     *
819*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.handleStkCallSetupRequestFromSimResponse()
820*4d7e907cSAndroid Build Coastguard Worker     */
821*4d7e907cSAndroid Build Coastguard Worker    oneway handleStkCallSetupRequestFromSim(int32_t serial,
822*4d7e907cSAndroid Build Coastguard Worker            bool accept);
823*4d7e907cSAndroid Build Coastguard Worker
824*4d7e907cSAndroid Build Coastguard Worker    /**
825*4d7e907cSAndroid Build Coastguard Worker     * Connects the two calls and disconnects the subscriber from both calls.
826*4d7e907cSAndroid Build Coastguard Worker     *
827*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
828*4d7e907cSAndroid Build Coastguard Worker     *
829*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.explicitCallTransferResponse()
830*4d7e907cSAndroid Build Coastguard Worker     */
831*4d7e907cSAndroid Build Coastguard Worker    oneway explicitCallTransfer(int32_t serial);
832*4d7e907cSAndroid Build Coastguard Worker
833*4d7e907cSAndroid Build Coastguard Worker    /**
834*4d7e907cSAndroid Build Coastguard Worker     * Requests to set the preferred network type for searching and registering
835*4d7e907cSAndroid Build Coastguard Worker     * (CS/PS domain, RAT, and operation mode)
836*4d7e907cSAndroid Build Coastguard Worker     *
837*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
838*4d7e907cSAndroid Build Coastguard Worker     * @param nwType PreferredNetworkType defined in types.hal
839*4d7e907cSAndroid Build Coastguard Worker     *
840*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setPreferredNetworkTypeResponse()
841*4d7e907cSAndroid Build Coastguard Worker     */
842*4d7e907cSAndroid Build Coastguard Worker    oneway setPreferredNetworkType(int32_t serial,
843*4d7e907cSAndroid Build Coastguard Worker            PreferredNetworkType nwType);
844*4d7e907cSAndroid Build Coastguard Worker
845*4d7e907cSAndroid Build Coastguard Worker    /**
846*4d7e907cSAndroid Build Coastguard Worker     * Query the preferred network type (CS/PS domain, RAT, and operation mode)
847*4d7e907cSAndroid Build Coastguard Worker     * for searching and registering
848*4d7e907cSAndroid Build Coastguard Worker     *
849*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
850*4d7e907cSAndroid Build Coastguard Worker     *
851*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getPreferredNetworkTypeResponse()
852*4d7e907cSAndroid Build Coastguard Worker     */
853*4d7e907cSAndroid Build Coastguard Worker    oneway getPreferredNetworkType(int32_t serial);
854*4d7e907cSAndroid Build Coastguard Worker
855*4d7e907cSAndroid Build Coastguard Worker    /**
856*4d7e907cSAndroid Build Coastguard Worker     * Request neighboring cell id in GSM network
857*4d7e907cSAndroid Build Coastguard Worker     *
858*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
859*4d7e907cSAndroid Build Coastguard Worker     *
860*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getNeighboringCidsResponse()
861*4d7e907cSAndroid Build Coastguard Worker     */
862*4d7e907cSAndroid Build Coastguard Worker    oneway getNeighboringCids(int32_t serial);
863*4d7e907cSAndroid Build Coastguard Worker
864*4d7e907cSAndroid Build Coastguard Worker    /**
865*4d7e907cSAndroid Build Coastguard Worker     * Enables/disables network state change notifications due to changes in
866*4d7e907cSAndroid Build Coastguard Worker     * LAC and/or CID (for GSM) or BID/SID/NID/latitude/longitude (for CDMA).
867*4d7e907cSAndroid Build Coastguard Worker     * Basically +CREG=2 vs. +CREG=1 (TS 27.007).
868*4d7e907cSAndroid Build Coastguard Worker     * Note:  The Radio implementation must default to "updates enabled"
869*4d7e907cSAndroid Build Coastguard Worker     * when the screen is on and "updates disabled" when the screen is off.
870*4d7e907cSAndroid Build Coastguard Worker     *
871*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
872*4d7e907cSAndroid Build Coastguard Worker     * @param enable true = updates enabled (+CREG=2), false = updates disabled (+CREG=1)
873*4d7e907cSAndroid Build Coastguard Worker     *
874*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setLocationUpdatesResponse()
875*4d7e907cSAndroid Build Coastguard Worker     */
876*4d7e907cSAndroid Build Coastguard Worker    oneway setLocationUpdates(int32_t serial, bool enable);
877*4d7e907cSAndroid Build Coastguard Worker
878*4d7e907cSAndroid Build Coastguard Worker    /**
879*4d7e907cSAndroid Build Coastguard Worker     * Request to set the location where the CDMA subscription shall
880*4d7e907cSAndroid Build Coastguard Worker     * be retrieved
881*4d7e907cSAndroid Build Coastguard Worker     *
882*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
883*4d7e907cSAndroid Build Coastguard Worker     * @param cdmaSub CdmaSubscriptionSource
884*4d7e907cSAndroid Build Coastguard Worker     *
885*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setCdmaSubscriptionSourceResponse()
886*4d7e907cSAndroid Build Coastguard Worker     */
887*4d7e907cSAndroid Build Coastguard Worker    oneway setCdmaSubscriptionSource(int32_t serial,
888*4d7e907cSAndroid Build Coastguard Worker            CdmaSubscriptionSource cdmaSub);
889*4d7e907cSAndroid Build Coastguard Worker
890*4d7e907cSAndroid Build Coastguard Worker    /**
891*4d7e907cSAndroid Build Coastguard Worker     * Request to set the roaming preferences in CDMA
892*4d7e907cSAndroid Build Coastguard Worker     *
893*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
894*4d7e907cSAndroid Build Coastguard Worker     * @param type CdmaRoamingType defined in types.hal
895*4d7e907cSAndroid Build Coastguard Worker     *
896*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setCdmaRoamingPreferenceResponse()
897*4d7e907cSAndroid Build Coastguard Worker     */
898*4d7e907cSAndroid Build Coastguard Worker    oneway setCdmaRoamingPreference(int32_t serial,
899*4d7e907cSAndroid Build Coastguard Worker            CdmaRoamingType type);
900*4d7e907cSAndroid Build Coastguard Worker
901*4d7e907cSAndroid Build Coastguard Worker    /**
902*4d7e907cSAndroid Build Coastguard Worker     * Request the actual setting of the roaming preferences in CDMA in the modem
903*4d7e907cSAndroid Build Coastguard Worker     *
904*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
905*4d7e907cSAndroid Build Coastguard Worker     *
906*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getCdmaRoamingPreferenceResponse()
907*4d7e907cSAndroid Build Coastguard Worker     */
908*4d7e907cSAndroid Build Coastguard Worker    oneway getCdmaRoamingPreference(int32_t serial);
909*4d7e907cSAndroid Build Coastguard Worker
910*4d7e907cSAndroid Build Coastguard Worker    /**
911*4d7e907cSAndroid Build Coastguard Worker     * Request to set the TTY mode
912*4d7e907cSAndroid Build Coastguard Worker     *
913*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
914*4d7e907cSAndroid Build Coastguard Worker     * @param mode TtyMode
915*4d7e907cSAndroid Build Coastguard Worker     *
916*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setTTYModeResponse()
917*4d7e907cSAndroid Build Coastguard Worker     */
918*4d7e907cSAndroid Build Coastguard Worker    oneway setTTYMode(int32_t serial, TtyMode mode);
919*4d7e907cSAndroid Build Coastguard Worker
920*4d7e907cSAndroid Build Coastguard Worker    /**
921*4d7e907cSAndroid Build Coastguard Worker     * Request the setting of TTY mode
922*4d7e907cSAndroid Build Coastguard Worker     *
923*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
924*4d7e907cSAndroid Build Coastguard Worker     *
925*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getTTYModeResponse()
926*4d7e907cSAndroid Build Coastguard Worker     */
927*4d7e907cSAndroid Build Coastguard Worker    oneway getTTYMode(int32_t serial);
928*4d7e907cSAndroid Build Coastguard Worker
929*4d7e907cSAndroid Build Coastguard Worker    /**
930*4d7e907cSAndroid Build Coastguard Worker     * Request to set the preferred voice privacy mode used in voice scrambling.
931*4d7e907cSAndroid Build Coastguard Worker     *
932*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
933*4d7e907cSAndroid Build Coastguard Worker     * @param enable false for Standard Privacy Mode (Public Long Code Mask)
934*4d7e907cSAndroid Build Coastguard Worker     *        true for Enhanced Privacy Mode (Private Long Code Mask)
935*4d7e907cSAndroid Build Coastguard Worker     *
936*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setPreferredVoicePrivacyResponse()
937*4d7e907cSAndroid Build Coastguard Worker     */
938*4d7e907cSAndroid Build Coastguard Worker    oneway setPreferredVoicePrivacy(int32_t serial, bool enable);
939*4d7e907cSAndroid Build Coastguard Worker
940*4d7e907cSAndroid Build Coastguard Worker    /**
941*4d7e907cSAndroid Build Coastguard Worker     * Request the setting of preferred voice privacy mode.
942*4d7e907cSAndroid Build Coastguard Worker     *
943*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
944*4d7e907cSAndroid Build Coastguard Worker     *
945*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getPreferredVoicePrivacyResponse()
946*4d7e907cSAndroid Build Coastguard Worker     */
947*4d7e907cSAndroid Build Coastguard Worker    oneway getPreferredVoicePrivacy(int32_t serial);
948*4d7e907cSAndroid Build Coastguard Worker
949*4d7e907cSAndroid Build Coastguard Worker    /**
950*4d7e907cSAndroid Build Coastguard Worker     * Send FLASH command
951*4d7e907cSAndroid Build Coastguard Worker     *
952*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
953*4d7e907cSAndroid Build Coastguard Worker     * @param featureCode String associated with Flash command
954*4d7e907cSAndroid Build Coastguard Worker     *
955*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendCDMAFeatureCodeResponse()
956*4d7e907cSAndroid Build Coastguard Worker     */
957*4d7e907cSAndroid Build Coastguard Worker    oneway sendCDMAFeatureCode(int32_t serial, string featureCode);
958*4d7e907cSAndroid Build Coastguard Worker
959*4d7e907cSAndroid Build Coastguard Worker    /**
960*4d7e907cSAndroid Build Coastguard Worker     * Send DTMF string
961*4d7e907cSAndroid Build Coastguard Worker     *
962*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
963*4d7e907cSAndroid Build Coastguard Worker     * @param dtmf DTMF string
964*4d7e907cSAndroid Build Coastguard Worker     * @param on DTMF ON length in milliseconds, or 0 to use default
965*4d7e907cSAndroid Build Coastguard Worker     * @param off is the DTMF OFF length in milliseconds, or 0 to use default
966*4d7e907cSAndroid Build Coastguard Worker     *
967*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendBurstDtmfResponse()
968*4d7e907cSAndroid Build Coastguard Worker     */
969*4d7e907cSAndroid Build Coastguard Worker    oneway sendBurstDtmf(int32_t serial, string dtmf, int32_t on, int32_t off);
970*4d7e907cSAndroid Build Coastguard Worker
971*4d7e907cSAndroid Build Coastguard Worker    /**
972*4d7e907cSAndroid Build Coastguard Worker     * Send a CDMA SMS message
973*4d7e907cSAndroid Build Coastguard Worker     *
974*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
975*4d7e907cSAndroid Build Coastguard Worker     * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
976*4d7e907cSAndroid Build Coastguard Worker     *
977*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendCdmaSmsResponse()
978*4d7e907cSAndroid Build Coastguard Worker     */
979*4d7e907cSAndroid Build Coastguard Worker    oneway sendCdmaSms(int32_t serial, CdmaSmsMessage sms);
980*4d7e907cSAndroid Build Coastguard Worker
981*4d7e907cSAndroid Build Coastguard Worker    /**
982*4d7e907cSAndroid Build Coastguard Worker     * Acknowledge the success or failure in the receipt of SMS
983*4d7e907cSAndroid Build Coastguard Worker     * previously indicated via responseCdmaNewSms()
984*4d7e907cSAndroid Build Coastguard Worker     *
985*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
986*4d7e907cSAndroid Build Coastguard Worker     * @param smsAck Cdma Sms ack to be sent described by CdmaSmsAck in types.hal
987*4d7e907cSAndroid Build Coastguard Worker     *
988*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.acknowledgeLastIncomingCdmaSmsResponse()
989*4d7e907cSAndroid Build Coastguard Worker     */
990*4d7e907cSAndroid Build Coastguard Worker    oneway acknowledgeLastIncomingCdmaSms(int32_t serial, CdmaSmsAck smsAck);
991*4d7e907cSAndroid Build Coastguard Worker
992*4d7e907cSAndroid Build Coastguard Worker    /**
993*4d7e907cSAndroid Build Coastguard Worker     * Request the setting of GSM/WCDMA Cell Broadcast SMS config.
994*4d7e907cSAndroid Build Coastguard Worker     *
995*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
996*4d7e907cSAndroid Build Coastguard Worker     *
997*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getGsmBroadcastConfigResponse()
998*4d7e907cSAndroid Build Coastguard Worker     */
999*4d7e907cSAndroid Build Coastguard Worker    oneway getGsmBroadcastConfig(int32_t serial);
1000*4d7e907cSAndroid Build Coastguard Worker
1001*4d7e907cSAndroid Build Coastguard Worker    /**
1002*4d7e907cSAndroid Build Coastguard Worker     * Set GSM/WCDMA Cell Broadcast SMS config
1003*4d7e907cSAndroid Build Coastguard Worker     *
1004*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1005*4d7e907cSAndroid Build Coastguard Worker     * @param configInfo Setting of GSM/WCDMA Cell broadcast config
1006*4d7e907cSAndroid Build Coastguard Worker     *
1007*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setGsmBroadcastConfigResponse()
1008*4d7e907cSAndroid Build Coastguard Worker     */
1009*4d7e907cSAndroid Build Coastguard Worker    oneway setGsmBroadcastConfig(int32_t serial, vec<GsmBroadcastSmsConfigInfo> configInfo);
1010*4d7e907cSAndroid Build Coastguard Worker
1011*4d7e907cSAndroid Build Coastguard Worker    /**
1012*4d7e907cSAndroid Build Coastguard Worker     * Enable or disable the reception of GSM/WCDMA Cell Broadcast SMS
1013*4d7e907cSAndroid Build Coastguard Worker     *
1014*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1015*4d7e907cSAndroid Build Coastguard Worker     * @param activate indicates to activate or turn off the reception of GSM/WCDMA
1016*4d7e907cSAndroid Build Coastguard Worker     *        Cell Broadcast SMS. true = activate, false = turn off
1017*4d7e907cSAndroid Build Coastguard Worker     *
1018*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setGsmBroadcastActivationResponse()
1019*4d7e907cSAndroid Build Coastguard Worker     */
1020*4d7e907cSAndroid Build Coastguard Worker    oneway setGsmBroadcastActivation(int32_t serial, bool activate);
1021*4d7e907cSAndroid Build Coastguard Worker
1022*4d7e907cSAndroid Build Coastguard Worker    /**
1023*4d7e907cSAndroid Build Coastguard Worker     * Request the setting of CDMA Broadcast SMS config
1024*4d7e907cSAndroid Build Coastguard Worker     *
1025*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1026*4d7e907cSAndroid Build Coastguard Worker     *
1027*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getCdmaBroadcastConfigResponse()
1028*4d7e907cSAndroid Build Coastguard Worker     */
1029*4d7e907cSAndroid Build Coastguard Worker    oneway getCdmaBroadcastConfig(int32_t serial);
1030*4d7e907cSAndroid Build Coastguard Worker
1031*4d7e907cSAndroid Build Coastguard Worker    /**
1032*4d7e907cSAndroid Build Coastguard Worker     * Set CDMA Broadcast SMS config
1033*4d7e907cSAndroid Build Coastguard Worker     *
1034*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1035*4d7e907cSAndroid Build Coastguard Worker     * @param configInfo CDMA Broadcast SMS config to be set.
1036*4d7e907cSAndroid Build Coastguard Worker     *
1037*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setCdmaBroadcastConfigResponse()
1038*4d7e907cSAndroid Build Coastguard Worker     */
1039*4d7e907cSAndroid Build Coastguard Worker    oneway setCdmaBroadcastConfig(int32_t serial, vec<CdmaBroadcastSmsConfigInfo> configInfo);
1040*4d7e907cSAndroid Build Coastguard Worker
1041*4d7e907cSAndroid Build Coastguard Worker    /**
1042*4d7e907cSAndroid Build Coastguard Worker     * Enable or disable the reception of CDMA Cell Broadcast SMS
1043*4d7e907cSAndroid Build Coastguard Worker     *
1044*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1045*4d7e907cSAndroid Build Coastguard Worker     * @param activate indicates to activate or turn off the reception of CDMA
1046*4d7e907cSAndroid Build Coastguard Worker     *        Cell Broadcast SMS. true = activate, false = turn off
1047*4d7e907cSAndroid Build Coastguard Worker     *
1048*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setCdmaBroadcastActivationResponse()
1049*4d7e907cSAndroid Build Coastguard Worker     */
1050*4d7e907cSAndroid Build Coastguard Worker    oneway setCdmaBroadcastActivation(int32_t serial, bool activate);
1051*4d7e907cSAndroid Build Coastguard Worker
1052*4d7e907cSAndroid Build Coastguard Worker    /**
1053*4d7e907cSAndroid Build Coastguard Worker     * Request the device MDN / H_SID / H_NID.
1054*4d7e907cSAndroid Build Coastguard Worker     * The request is only allowed when CDMA subscription is available. When CDMA
1055*4d7e907cSAndroid Build Coastguard Worker     * subscription is changed, application layer must re-issue the request to
1056*4d7e907cSAndroid Build Coastguard Worker     * update the subscription information.
1057*4d7e907cSAndroid Build Coastguard Worker     *
1058*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1059*4d7e907cSAndroid Build Coastguard Worker     *
1060*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getCDMASubscriptionResponse()
1061*4d7e907cSAndroid Build Coastguard Worker     */
1062*4d7e907cSAndroid Build Coastguard Worker    oneway getCDMASubscription(int32_t serial);
1063*4d7e907cSAndroid Build Coastguard Worker
1064*4d7e907cSAndroid Build Coastguard Worker    /**
1065*4d7e907cSAndroid Build Coastguard Worker     * Stores a CDMA SMS message to RUIM memory.
1066*4d7e907cSAndroid Build Coastguard Worker     *
1067*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1068*4d7e907cSAndroid Build Coastguard Worker     * @param cdmaSms CDMA message as defined by CdmaSmsWriteArgs in types.hal
1069*4d7e907cSAndroid Build Coastguard Worker     *
1070*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.writeSmsToRuimResponse()
1071*4d7e907cSAndroid Build Coastguard Worker     */
1072*4d7e907cSAndroid Build Coastguard Worker    oneway writeSmsToRuim(int32_t serial, CdmaSmsWriteArgs cdmaSms);
1073*4d7e907cSAndroid Build Coastguard Worker
1074*4d7e907cSAndroid Build Coastguard Worker    /**
1075*4d7e907cSAndroid Build Coastguard Worker     * Deletes a CDMA SMS message from RUIM memory.
1076*4d7e907cSAndroid Build Coastguard Worker     *
1077*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1078*4d7e907cSAndroid Build Coastguard Worker     * @param index record index of the message to delete
1079*4d7e907cSAndroid Build Coastguard Worker     *
1080*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.deleteSmsOnRuimResponse()
1081*4d7e907cSAndroid Build Coastguard Worker     */
1082*4d7e907cSAndroid Build Coastguard Worker    oneway deleteSmsOnRuim(int32_t serial, int32_t index);
1083*4d7e907cSAndroid Build Coastguard Worker
1084*4d7e907cSAndroid Build Coastguard Worker    /**
1085*4d7e907cSAndroid Build Coastguard Worker     * Request the device ESN / MEID / IMEI / IMEISV.
1086*4d7e907cSAndroid Build Coastguard Worker     * The request is always allowed and contains GSM and CDMA device identity.
1087*4d7e907cSAndroid Build Coastguard Worker     * When CDMA subscription is changed the ESN/MEID changes. The application
1088*4d7e907cSAndroid Build Coastguard Worker     * layer must re-issue the request to update the device identity in this case.
1089*4d7e907cSAndroid Build Coastguard Worker     *
1090*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1091*4d7e907cSAndroid Build Coastguard Worker     *
1092*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getDeviceIdentityResponse()
1093*4d7e907cSAndroid Build Coastguard Worker     */
1094*4d7e907cSAndroid Build Coastguard Worker    oneway getDeviceIdentity(int32_t serial);
1095*4d7e907cSAndroid Build Coastguard Worker
1096*4d7e907cSAndroid Build Coastguard Worker    /**
1097*4d7e907cSAndroid Build Coastguard Worker     * Request the radio's system selection module to exit emergency
1098*4d7e907cSAndroid Build Coastguard Worker     * callback mode. Radio must not respond with SUCCESS until the modem has
1099*4d7e907cSAndroid Build Coastguard Worker     * completely exited from Emergency Callback Mode.
1100*4d7e907cSAndroid Build Coastguard Worker     *
1101*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1102*4d7e907cSAndroid Build Coastguard Worker     *
1103*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.exitEmergencyCallbackModeResponse()
1104*4d7e907cSAndroid Build Coastguard Worker     */
1105*4d7e907cSAndroid Build Coastguard Worker    oneway exitEmergencyCallbackMode(int32_t serial);
1106*4d7e907cSAndroid Build Coastguard Worker
1107*4d7e907cSAndroid Build Coastguard Worker    /**
1108*4d7e907cSAndroid Build Coastguard Worker     * Get the default Short Message Service Center address on the device.
1109*4d7e907cSAndroid Build Coastguard Worker     *
1110*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1111*4d7e907cSAndroid Build Coastguard Worker     *
1112*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getSmscAddressResponse()
1113*4d7e907cSAndroid Build Coastguard Worker     */
1114*4d7e907cSAndroid Build Coastguard Worker    oneway getSmscAddress(int32_t serial);
1115*4d7e907cSAndroid Build Coastguard Worker
1116*4d7e907cSAndroid Build Coastguard Worker    /**
1117*4d7e907cSAndroid Build Coastguard Worker     * Set the default Short Message Service Center address on the device.
1118*4d7e907cSAndroid Build Coastguard Worker     *
1119*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1120*4d7e907cSAndroid Build Coastguard Worker     * @param smsc Short Message Service Center address to set
1121*4d7e907cSAndroid Build Coastguard Worker     *
1122*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setSmscAddressResponse()
1123*4d7e907cSAndroid Build Coastguard Worker     */
1124*4d7e907cSAndroid Build Coastguard Worker    oneway setSmscAddress(int32_t serial, string smsc);
1125*4d7e907cSAndroid Build Coastguard Worker
1126*4d7e907cSAndroid Build Coastguard Worker    /**
1127*4d7e907cSAndroid Build Coastguard Worker     * Indicates whether there is storage available for new SMS messages.
1128*4d7e907cSAndroid Build Coastguard Worker     *
1129*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1130*4d7e907cSAndroid Build Coastguard Worker     * @param available true if memory is available for storing new messages,
1131*4d7e907cSAndroid Build Coastguard Worker     *        false if memory capacity is exceeded
1132*4d7e907cSAndroid Build Coastguard Worker     *
1133*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.reportSmsMemoryStatusResponse()
1134*4d7e907cSAndroid Build Coastguard Worker     */
1135*4d7e907cSAndroid Build Coastguard Worker    oneway reportSmsMemoryStatus(int32_t serial, bool available);
1136*4d7e907cSAndroid Build Coastguard Worker
1137*4d7e907cSAndroid Build Coastguard Worker    /**
1138*4d7e907cSAndroid Build Coastguard Worker     * Indicates that the StkService is running and is
1139*4d7e907cSAndroid Build Coastguard Worker     * ready to receive unsolicited stkXXXXX commands.
1140*4d7e907cSAndroid Build Coastguard Worker     *
1141*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1142*4d7e907cSAndroid Build Coastguard Worker     *
1143*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.reportStkServiceIsRunningResponse()
1144*4d7e907cSAndroid Build Coastguard Worker     */
1145*4d7e907cSAndroid Build Coastguard Worker    oneway reportStkServiceIsRunning(int32_t serial);
1146*4d7e907cSAndroid Build Coastguard Worker
1147*4d7e907cSAndroid Build Coastguard Worker    /**
1148*4d7e907cSAndroid Build Coastguard Worker     * Request to query the location where the CDMA subscription shall be retrieved.
1149*4d7e907cSAndroid Build Coastguard Worker     *
1150*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1151*4d7e907cSAndroid Build Coastguard Worker     *
1152*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getCdmaSubscriptionSourceResponse()
1153*4d7e907cSAndroid Build Coastguard Worker     */
1154*4d7e907cSAndroid Build Coastguard Worker    oneway getCdmaSubscriptionSource(int32_t serial);
1155*4d7e907cSAndroid Build Coastguard Worker
1156*4d7e907cSAndroid Build Coastguard Worker    /**
1157*4d7e907cSAndroid Build Coastguard Worker     * Request the ISIM application on the UICC to perform AKA
1158*4d7e907cSAndroid Build Coastguard Worker     * challenge/response algorithm for IMS authentication
1159*4d7e907cSAndroid Build Coastguard Worker     *
1160*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1161*4d7e907cSAndroid Build Coastguard Worker     * @param challenge challenge string in Base64 format
1162*4d7e907cSAndroid Build Coastguard Worker     *
1163*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.requestIsimAuthenticationResponse()
1164*4d7e907cSAndroid Build Coastguard Worker     */
1165*4d7e907cSAndroid Build Coastguard Worker    oneway requestIsimAuthentication(int32_t serial, string challenge);
1166*4d7e907cSAndroid Build Coastguard Worker
1167*4d7e907cSAndroid Build Coastguard Worker    /**
1168*4d7e907cSAndroid Build Coastguard Worker     * Acknowledge successful or failed receipt of SMS previously indicated
1169*4d7e907cSAndroid Build Coastguard Worker     * via unsol responseNewSms(), including acknowledgement TPDU to send
1170*4d7e907cSAndroid Build Coastguard Worker     * as the RP-User-Data element of the RP-ACK or RP-ERROR PDU.
1171*4d7e907cSAndroid Build Coastguard Worker     *
1172*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1173*4d7e907cSAndroid Build Coastguard Worker     * @param success true on successful receipt (send RP-ACK)
1174*4d7e907cSAndroid Build Coastguard Worker     *        false on failed receipt (send RP-ERROR)
1175*4d7e907cSAndroid Build Coastguard Worker     * @param ackPdu acknowledgement TPDU in hexadecimal format
1176*4d7e907cSAndroid Build Coastguard Worker     *
1177*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.acknowledgeIncomingGsmSmsWithPduResponse()
1178*4d7e907cSAndroid Build Coastguard Worker     */
1179*4d7e907cSAndroid Build Coastguard Worker    oneway acknowledgeIncomingGsmSmsWithPdu(int32_t serial, bool success, string ackPdu);
1180*4d7e907cSAndroid Build Coastguard Worker
1181*4d7e907cSAndroid Build Coastguard Worker    /**
1182*4d7e907cSAndroid Build Coastguard Worker     * Requests to send a SAT/USAT envelope command to SIM.
1183*4d7e907cSAndroid Build Coastguard Worker     * The SAT/USAT envelope command refers to 3GPP TS 11.14 and 3GPP TS 31.111.
1184*4d7e907cSAndroid Build Coastguard Worker     *
1185*4d7e907cSAndroid Build Coastguard Worker     * This request has one difference from sendEnvelope():
1186*4d7e907cSAndroid Build Coastguard Worker     * the SW1 and SW2 status bytes from the UICC response are returned along with
1187*4d7e907cSAndroid Build Coastguard Worker     * the response data, using the same structure as iccIOForApp().
1188*4d7e907cSAndroid Build Coastguard Worker     *
1189*4d7e907cSAndroid Build Coastguard Worker     * The implementation must perform normal processing of a '91XX'
1190*4d7e907cSAndroid Build Coastguard Worker     * response in SW1/SW2 to retrieve the pending proactive command and send it
1191*4d7e907cSAndroid Build Coastguard Worker     * as an unsolicited response, as sendEnvelope() does.
1192*4d7e907cSAndroid Build Coastguard Worker     *
1193*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1194*4d7e907cSAndroid Build Coastguard Worker     * @param contents SAT/USAT command in hexadecimal format starting with command tag
1195*4d7e907cSAndroid Build Coastguard Worker     *
1196*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendEnvelopeWithStatusResponse()
1197*4d7e907cSAndroid Build Coastguard Worker     */
1198*4d7e907cSAndroid Build Coastguard Worker    oneway sendEnvelopeWithStatus(int32_t serial, string contents);
1199*4d7e907cSAndroid Build Coastguard Worker
1200*4d7e907cSAndroid Build Coastguard Worker    /**
1201*4d7e907cSAndroid Build Coastguard Worker     * Query the radio technology type (3GPP/3GPP2) used for voice. Query is valid only
1202*4d7e907cSAndroid Build Coastguard Worker     * when radio state is not RADIO_STATE_UNAVAILABLE
1203*4d7e907cSAndroid Build Coastguard Worker     *
1204*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1205*4d7e907cSAndroid Build Coastguard Worker     *
1206*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getVoiceRadioTechnologyResponse()
1207*4d7e907cSAndroid Build Coastguard Worker     */
1208*4d7e907cSAndroid Build Coastguard Worker    oneway getVoiceRadioTechnology(int32_t serial);
1209*4d7e907cSAndroid Build Coastguard Worker
1210*4d7e907cSAndroid Build Coastguard Worker    /**
1211*4d7e907cSAndroid Build Coastguard Worker     * Request all of the current cell information known to the radio. The radio
1212*4d7e907cSAndroid Build Coastguard Worker     * must return list of all current cells, including the neighboring cells. If for a particular
1213*4d7e907cSAndroid Build Coastguard Worker     * cell information isn't known then the appropriate unknown value will be returned.
1214*4d7e907cSAndroid Build Coastguard Worker     * This does not cause or change the rate of unsolicited cellInfoList().
1215*4d7e907cSAndroid Build Coastguard Worker     *
1216*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1217*4d7e907cSAndroid Build Coastguard Worker     *
1218*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getCellInfoListResponse()
1219*4d7e907cSAndroid Build Coastguard Worker     */
1220*4d7e907cSAndroid Build Coastguard Worker    oneway getCellInfoList(int32_t serial);
1221*4d7e907cSAndroid Build Coastguard Worker
1222*4d7e907cSAndroid Build Coastguard Worker    /**
1223*4d7e907cSAndroid Build Coastguard Worker     * Sets the minimum time between when unsolicited cellInfoList() must be invoked.
1224*4d7e907cSAndroid Build Coastguard Worker     * A value of 0, means invoke cellInfoList() when any of the reported
1225*4d7e907cSAndroid Build Coastguard Worker     * information changes. Setting the value to INT_MAX(0x7fffffff) means never issue
1226*4d7e907cSAndroid Build Coastguard Worker     * a unsolicited cellInfoList().
1227*4d7e907cSAndroid Build Coastguard Worker     *
1228*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1229*4d7e907cSAndroid Build Coastguard Worker     * @param rate minimum time in milliseconds to indicate time between unsolicited cellInfoList()
1230*4d7e907cSAndroid Build Coastguard Worker     *
1231*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setCellInfoListRateResponse()
1232*4d7e907cSAndroid Build Coastguard Worker     */
1233*4d7e907cSAndroid Build Coastguard Worker    oneway setCellInfoListRate(int32_t serial, int32_t rate);
1234*4d7e907cSAndroid Build Coastguard Worker
1235*4d7e907cSAndroid Build Coastguard Worker    /**
1236*4d7e907cSAndroid Build Coastguard Worker     * Set an apn to initial attach network
1237*4d7e907cSAndroid Build Coastguard Worker     *
1238*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1239*4d7e907cSAndroid Build Coastguard Worker     * @param dataProfileInfo data profile containing APN settings
1240*4d7e907cSAndroid Build Coastguard Worker     * @param modemCognitive indicating the data profile was sent to the modem through
1241*4d7e907cSAndroid Build Coastguard Worker     *                       setDataProfile earlier.
1242*4d7e907cSAndroid Build Coastguard Worker     * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old
1243*4d7e907cSAndroid Build Coastguard Worker     *                  RIL_InitialAttachApn must be filled accordingly based on the roaming
1244*4d7e907cSAndroid Build Coastguard Worker     *                  condition. Note this is for backward compatibility with the old radio modem.
1245*4d7e907cSAndroid Build Coastguard Worker     *                  The modem must not use this param for any other reason.
1246*4d7e907cSAndroid Build Coastguard Worker     *
1247*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setInitialAttachApnResponse()
1248*4d7e907cSAndroid Build Coastguard Worker     */
1249*4d7e907cSAndroid Build Coastguard Worker    oneway setInitialAttachApn(int32_t serial, DataProfileInfo dataProfileInfo,
1250*4d7e907cSAndroid Build Coastguard Worker            bool modemCognitive, bool isRoaming);
1251*4d7e907cSAndroid Build Coastguard Worker
1252*4d7e907cSAndroid Build Coastguard Worker    /**
1253*4d7e907cSAndroid Build Coastguard Worker     * Request current IMS registration state
1254*4d7e907cSAndroid Build Coastguard Worker     *
1255*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1256*4d7e907cSAndroid Build Coastguard Worker     *
1257*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getImsRegistrationStateResponse()
1258*4d7e907cSAndroid Build Coastguard Worker     */
1259*4d7e907cSAndroid Build Coastguard Worker    oneway getImsRegistrationState(int32_t serial);
1260*4d7e907cSAndroid Build Coastguard Worker
1261*4d7e907cSAndroid Build Coastguard Worker    /**
1262*4d7e907cSAndroid Build Coastguard Worker     * Send a SMS message over IMS.
1263*4d7e907cSAndroid Build Coastguard Worker     * Based on the return error, caller decides to resend if sending sms
1264*4d7e907cSAndroid Build Coastguard Worker     * fails. SMS_SEND_FAIL_RETRY means retry, and other errors means no retry.
1265*4d7e907cSAndroid Build Coastguard Worker     * In case of retry, data is encoded based on Voice Technology available.
1266*4d7e907cSAndroid Build Coastguard Worker     *
1267*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1268*4d7e907cSAndroid Build Coastguard Worker     * @param message ImsSmsMessage as defined in types.hal to be sent
1269*4d7e907cSAndroid Build Coastguard Worker     *
1270*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendImsSmsResponse()
1271*4d7e907cSAndroid Build Coastguard Worker     */
1272*4d7e907cSAndroid Build Coastguard Worker    oneway sendImsSms(int32_t serial, ImsSmsMessage message);
1273*4d7e907cSAndroid Build Coastguard Worker
1274*4d7e907cSAndroid Build Coastguard Worker    /**
1275*4d7e907cSAndroid Build Coastguard Worker     * Request APDU exchange on the basic channel. This command reflects TS 27.007
1276*4d7e907cSAndroid Build Coastguard Worker     * "generic SIM access" operation (+CSIM). The modem must ensure proper function
1277*4d7e907cSAndroid Build Coastguard Worker     * of GSM/CDMA, and filter commands appropriately. It must filter
1278*4d7e907cSAndroid Build Coastguard Worker     * channel management and SELECT by DF name commands.
1279*4d7e907cSAndroid Build Coastguard Worker     * "sessionid" field must be ignored.
1280*4d7e907cSAndroid Build Coastguard Worker     *
1281*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1282*4d7e907cSAndroid Build Coastguard Worker     * @param message SimApdu as defined in types.hal to be sent
1283*4d7e907cSAndroid Build Coastguard Worker     *
1284*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.iccTransmitApduBasicChannelResponse()
1285*4d7e907cSAndroid Build Coastguard Worker     */
1286*4d7e907cSAndroid Build Coastguard Worker    oneway iccTransmitApduBasicChannel(int32_t serial, SimApdu message);
1287*4d7e907cSAndroid Build Coastguard Worker
1288*4d7e907cSAndroid Build Coastguard Worker    /**
1289*4d7e907cSAndroid Build Coastguard Worker     * Open a new logical channel and select the given application. This command
1290*4d7e907cSAndroid Build Coastguard Worker     * reflects TS 27.007 "open logical channel" operation (+CCHO).
1291*4d7e907cSAndroid Build Coastguard Worker     *
1292*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1293*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 and 101.220.
1294*4d7e907cSAndroid Build Coastguard Worker     * @param p2 P2 value, described in ISO 7816-4. Ignore if equal to P2Constant:NO_P2
1295*4d7e907cSAndroid Build Coastguard Worker     *
1296*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.iccOpenLogicalChannelResponse()
1297*4d7e907cSAndroid Build Coastguard Worker     */
1298*4d7e907cSAndroid Build Coastguard Worker    oneway iccOpenLogicalChannel(int32_t serial, string aid, int32_t p2);
1299*4d7e907cSAndroid Build Coastguard Worker
1300*4d7e907cSAndroid Build Coastguard Worker    /**
1301*4d7e907cSAndroid Build Coastguard Worker     * Close a previously opened logical channel. This command reflects TS 27.007
1302*4d7e907cSAndroid Build Coastguard Worker     * "close logical channel" operation (+CCHC).
1303*4d7e907cSAndroid Build Coastguard Worker     *
1304*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1305*4d7e907cSAndroid Build Coastguard Worker     * @param channelId session id of the logical channel (+CCHC).
1306*4d7e907cSAndroid Build Coastguard Worker     *
1307*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.iccCloseLogicalChannelResponse()
1308*4d7e907cSAndroid Build Coastguard Worker     */
1309*4d7e907cSAndroid Build Coastguard Worker    oneway iccCloseLogicalChannel(int32_t serial, int32_t channelId);
1310*4d7e907cSAndroid Build Coastguard Worker
1311*4d7e907cSAndroid Build Coastguard Worker    /**
1312*4d7e907cSAndroid Build Coastguard Worker     * Exchange APDUs with a UICC over a previously opened logical channel. This
1313*4d7e907cSAndroid Build Coastguard Worker     * command reflects TS 27.007 "generic logical channel access" operation
1314*4d7e907cSAndroid Build Coastguard Worker     * (+CGLA). The modem must filter channel management and SELECT by DF name
1315*4d7e907cSAndroid Build Coastguard Worker     * commands.
1316*4d7e907cSAndroid Build Coastguard Worker     *
1317*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1318*4d7e907cSAndroid Build Coastguard Worker     * @param message SimApdu as defined in types.hal to be sent
1319*4d7e907cSAndroid Build Coastguard Worker     *
1320*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.iccTransmitApduLogicalChannelResponse()
1321*4d7e907cSAndroid Build Coastguard Worker     */
1322*4d7e907cSAndroid Build Coastguard Worker    oneway iccTransmitApduLogicalChannel(int32_t serial, SimApdu message);
1323*4d7e907cSAndroid Build Coastguard Worker
1324*4d7e907cSAndroid Build Coastguard Worker    /**
1325*4d7e907cSAndroid Build Coastguard Worker     * Read one of the radio NV items.
1326*4d7e907cSAndroid Build Coastguard Worker     * This is used for device configuration by some CDMA operators.
1327*4d7e907cSAndroid Build Coastguard Worker     *
1328*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1329*4d7e907cSAndroid Build Coastguard Worker     * @param itemId NvItem is radio NV item as defined in types.hal
1330*4d7e907cSAndroid Build Coastguard Worker     *
1331*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.nvReadItemResponse()
1332*4d7e907cSAndroid Build Coastguard Worker     */
1333*4d7e907cSAndroid Build Coastguard Worker    oneway nvReadItem(int32_t serial, NvItem itemId);
1334*4d7e907cSAndroid Build Coastguard Worker
1335*4d7e907cSAndroid Build Coastguard Worker    /**
1336*4d7e907cSAndroid Build Coastguard Worker     * Write one of the radio NV items.
1337*4d7e907cSAndroid Build Coastguard Worker     * This is used for device configuration by some CDMA operators.
1338*4d7e907cSAndroid Build Coastguard Worker     *
1339*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1340*4d7e907cSAndroid Build Coastguard Worker     * @param item NvWriteItem as defined in types.hal
1341*4d7e907cSAndroid Build Coastguard Worker     *
1342*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.nvWriteItemResponse()
1343*4d7e907cSAndroid Build Coastguard Worker     */
1344*4d7e907cSAndroid Build Coastguard Worker    oneway nvWriteItem(int32_t serial, NvWriteItem item);
1345*4d7e907cSAndroid Build Coastguard Worker
1346*4d7e907cSAndroid Build Coastguard Worker    /**
1347*4d7e907cSAndroid Build Coastguard Worker     * Update the CDMA Preferred Roaming List (PRL) in the radio NV storage.
1348*4d7e907cSAndroid Build Coastguard Worker     * This is used for device configuration by some CDMA operators.
1349*4d7e907cSAndroid Build Coastguard Worker     *
1350*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1351*4d7e907cSAndroid Build Coastguard Worker     * @param prl PRL as a byte array
1352*4d7e907cSAndroid Build Coastguard Worker     *
1353*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.nvWriteCdmaPrlResponse()
1354*4d7e907cSAndroid Build Coastguard Worker     */
1355*4d7e907cSAndroid Build Coastguard Worker    oneway nvWriteCdmaPrl(int32_t serial, vec<uint8_t> prl);
1356*4d7e907cSAndroid Build Coastguard Worker
1357*4d7e907cSAndroid Build Coastguard Worker    /**
1358*4d7e907cSAndroid Build Coastguard Worker     * Reset the radio NV configuration to the factory state.
1359*4d7e907cSAndroid Build Coastguard Worker     * This is used for device configuration by some CDMA operators.
1360*4d7e907cSAndroid Build Coastguard Worker     *
1361*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1362*4d7e907cSAndroid Build Coastguard Worker     * @param resetType ResetNvType as defined in types.hal
1363*4d7e907cSAndroid Build Coastguard Worker     *
1364*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.nvResetConfigResponse()
1365*4d7e907cSAndroid Build Coastguard Worker     */
1366*4d7e907cSAndroid Build Coastguard Worker    oneway nvResetConfig(int32_t serial, ResetNvType resetType);
1367*4d7e907cSAndroid Build Coastguard Worker
1368*4d7e907cSAndroid Build Coastguard Worker    /**
1369*4d7e907cSAndroid Build Coastguard Worker     * Selection/de-selection of a subscription from a SIM card
1370*4d7e907cSAndroid Build Coastguard Worker     *
1371*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1372*4d7e907cSAndroid Build Coastguard Worker     * @param uiccSub SelectUiccSub as defined in types.hal
1373*4d7e907cSAndroid Build Coastguard Worker     *
1374*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setUiccSubscriptionResponse()
1375*4d7e907cSAndroid Build Coastguard Worker     */
1376*4d7e907cSAndroid Build Coastguard Worker    oneway setUiccSubscription(int32_t serial, SelectUiccSub uiccSub);
1377*4d7e907cSAndroid Build Coastguard Worker
1378*4d7e907cSAndroid Build Coastguard Worker    /**
1379*4d7e907cSAndroid Build Coastguard Worker     * Tells the modem whether data calls are allowed or not
1380*4d7e907cSAndroid Build Coastguard Worker     *
1381*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1382*4d7e907cSAndroid Build Coastguard Worker     * @param allow true to allow data calls, false to disallow data calls
1383*4d7e907cSAndroid Build Coastguard Worker     *
1384*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setDataAllowedResponse()
1385*4d7e907cSAndroid Build Coastguard Worker     */
1386*4d7e907cSAndroid Build Coastguard Worker    oneway setDataAllowed(int32_t serial, bool allow);
1387*4d7e907cSAndroid Build Coastguard Worker
1388*4d7e907cSAndroid Build Coastguard Worker    /**
1389*4d7e907cSAndroid Build Coastguard Worker     * Request all of the current hardware (modem and sim) associated with Radio.
1390*4d7e907cSAndroid Build Coastguard Worker     *
1391*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1392*4d7e907cSAndroid Build Coastguard Worker     *
1393*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getHardwareConfigResponse()
1394*4d7e907cSAndroid Build Coastguard Worker     */
1395*4d7e907cSAndroid Build Coastguard Worker    oneway getHardwareConfig(int32_t serial);
1396*4d7e907cSAndroid Build Coastguard Worker
1397*4d7e907cSAndroid Build Coastguard Worker    /**
1398*4d7e907cSAndroid Build Coastguard Worker     * Returns the response of SIM Authentication through Radio challenge request.
1399*4d7e907cSAndroid Build Coastguard Worker     *
1400*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1401*4d7e907cSAndroid Build Coastguard Worker     * @param authContext P2 value of authentication command, see P2 parameter in
1402*4d7e907cSAndroid Build Coastguard Worker     *        3GPP TS 31.102 7.1.2
1403*4d7e907cSAndroid Build Coastguard Worker     * @param authData the challenge string in Base64 format, see 3GPP TS 31.102 7.1.2
1404*4d7e907cSAndroid Build Coastguard Worker     * @param aid AID value, See ETSI 102.221 8.1 and 101.220 4, empty string if no value
1405*4d7e907cSAndroid Build Coastguard Worker     *
1406*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.requestIccSimAuthenticationResponse()
1407*4d7e907cSAndroid Build Coastguard Worker     */
1408*4d7e907cSAndroid Build Coastguard Worker    oneway requestIccSimAuthentication(int32_t serial, int32_t authContext, string authData,
1409*4d7e907cSAndroid Build Coastguard Worker            string aid);
1410*4d7e907cSAndroid Build Coastguard Worker
1411*4d7e907cSAndroid Build Coastguard Worker    /**
1412*4d7e907cSAndroid Build Coastguard Worker     * Set data profile in modem.
1413*4d7e907cSAndroid Build Coastguard Worker     * Modem must erase existed profiles from framework, and apply new profiles
1414*4d7e907cSAndroid Build Coastguard Worker     *
1415*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1416*4d7e907cSAndroid Build Coastguard Worker     * @param profiles Array of DataProfiles to set.
1417*4d7e907cSAndroid Build Coastguard Worker     * @param isRoaming Indicating the device is roaming or not. The 'protocol' parameter in the old
1418*4d7e907cSAndroid Build Coastguard Worker     *                  RIL API RIL_DataProfileInfo must be filled accordingly based on the
1419*4d7e907cSAndroid Build Coastguard Worker     *                  roaming condition. Note this is for backward compatibility with the old
1420*4d7e907cSAndroid Build Coastguard Worker     *                  radio modem. The modem must not use this param for any other reason.
1421*4d7e907cSAndroid Build Coastguard Worker     *
1422*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setDataProfileResponse()
1423*4d7e907cSAndroid Build Coastguard Worker     */
1424*4d7e907cSAndroid Build Coastguard Worker    oneway setDataProfile(int32_t serial, vec<DataProfileInfo> profiles, bool isRoaming);
1425*4d7e907cSAndroid Build Coastguard Worker
1426*4d7e907cSAndroid Build Coastguard Worker    /**
1427*4d7e907cSAndroid Build Coastguard Worker     * Device is shutting down. All further commands are ignored
1428*4d7e907cSAndroid Build Coastguard Worker     * and RADIO_NOT_AVAILABLE must be returned.
1429*4d7e907cSAndroid Build Coastguard Worker     *
1430*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1431*4d7e907cSAndroid Build Coastguard Worker     *
1432*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.requestShutdownResponse()
1433*4d7e907cSAndroid Build Coastguard Worker     */
1434*4d7e907cSAndroid Build Coastguard Worker    oneway requestShutdown(int32_t serial);
1435*4d7e907cSAndroid Build Coastguard Worker
1436*4d7e907cSAndroid Build Coastguard Worker    /**
1437*4d7e907cSAndroid Build Coastguard Worker     * Used to get phone radio capability.
1438*4d7e907cSAndroid Build Coastguard Worker     *
1439*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1440*4d7e907cSAndroid Build Coastguard Worker     *
1441*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getRadioCapabilityResponse()
1442*4d7e907cSAndroid Build Coastguard Worker     */
1443*4d7e907cSAndroid Build Coastguard Worker    oneway getRadioCapability(int32_t serial);
1444*4d7e907cSAndroid Build Coastguard Worker
1445*4d7e907cSAndroid Build Coastguard Worker    /**
1446*4d7e907cSAndroid Build Coastguard Worker     * Used to set the phones radio capability. Be VERY careful
1447*4d7e907cSAndroid Build Coastguard Worker     * using this request as it may cause some vendor modems to reset. Because
1448*4d7e907cSAndroid Build Coastguard Worker     * of the possible modem reset any radio commands after this one may not be
1449*4d7e907cSAndroid Build Coastguard Worker     * processed.
1450*4d7e907cSAndroid Build Coastguard Worker     *
1451*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1452*4d7e907cSAndroid Build Coastguard Worker     * @param rc RadioCapability structure to be set
1453*4d7e907cSAndroid Build Coastguard Worker     *
1454*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setRadioCapabilityResponse()
1455*4d7e907cSAndroid Build Coastguard Worker     */
1456*4d7e907cSAndroid Build Coastguard Worker    oneway setRadioCapability(int32_t serial, RadioCapability rc);
1457*4d7e907cSAndroid Build Coastguard Worker
1458*4d7e907cSAndroid Build Coastguard Worker    /**
1459*4d7e907cSAndroid Build Coastguard Worker     * Start Link Capacity Estimate (LCE) service if supported by the radio.
1460*4d7e907cSAndroid Build Coastguard Worker     *
1461*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1462*4d7e907cSAndroid Build Coastguard Worker     * @param reportInterval desired reporting interval (ms).
1463*4d7e907cSAndroid Build Coastguard Worker     * @param pullMode LCE service mode. true: PULL; false: PUSH.
1464*4d7e907cSAndroid Build Coastguard Worker     *
1465*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.startLceServiceResponse() which may return
1466*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
1467*4d7e907cSAndroid Build Coastguard Worker     *
1468*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
1469*4d7e907cSAndroid Build Coastguard Worker     */
1470*4d7e907cSAndroid Build Coastguard Worker    oneway startLceService(int32_t serial, int32_t reportInterval, bool pullMode);
1471*4d7e907cSAndroid Build Coastguard Worker
1472*4d7e907cSAndroid Build Coastguard Worker    /**
1473*4d7e907cSAndroid Build Coastguard Worker     * Stop Link Capacity Estimate (LCE) service, the STOP operation must be
1474*4d7e907cSAndroid Build Coastguard Worker     * idempotent for the radio modem.
1475*4d7e907cSAndroid Build Coastguard Worker     *
1476*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1477*4d7e907cSAndroid Build Coastguard Worker     *
1478*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.stopLceServiceResponse() which may return
1479*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
1480*4d7e907cSAndroid Build Coastguard Worker     *
1481*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
1482*4d7e907cSAndroid Build Coastguard Worker     */
1483*4d7e907cSAndroid Build Coastguard Worker    oneway stopLceService(int32_t serial);
1484*4d7e907cSAndroid Build Coastguard Worker
1485*4d7e907cSAndroid Build Coastguard Worker    /**
1486*4d7e907cSAndroid Build Coastguard Worker     * Pull LCE service for capacity information.
1487*4d7e907cSAndroid Build Coastguard Worker     *
1488*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1489*4d7e907cSAndroid Build Coastguard Worker     *
1490*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.pullLceDataResponse() which may return
1491*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
1492*4d7e907cSAndroid Build Coastguard Worker     *
1493*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher which use the always-on LCE that relies on indications.
1494*4d7e907cSAndroid Build Coastguard Worker     */
1495*4d7e907cSAndroid Build Coastguard Worker    oneway pullLceData(int32_t serial);
1496*4d7e907cSAndroid Build Coastguard Worker
1497*4d7e907cSAndroid Build Coastguard Worker    /**
1498*4d7e907cSAndroid Build Coastguard Worker     * Get modem activity information for power consumption estimation.
1499*4d7e907cSAndroid Build Coastguard Worker     * Request clear-on-read statistics information that is used for
1500*4d7e907cSAndroid Build Coastguard Worker     * estimating the per-millisecond power consumption of the cellular
1501*4d7e907cSAndroid Build Coastguard Worker     * modem.
1502*4d7e907cSAndroid Build Coastguard Worker     *
1503*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1504*4d7e907cSAndroid Build Coastguard Worker     *
1505*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getModemActivityInfoResponse()
1506*4d7e907cSAndroid Build Coastguard Worker     */
1507*4d7e907cSAndroid Build Coastguard Worker    oneway getModemActivityInfo(int32_t serial);
1508*4d7e907cSAndroid Build Coastguard Worker
1509*4d7e907cSAndroid Build Coastguard Worker    /**
1510*4d7e907cSAndroid Build Coastguard Worker     * Set carrier restrictions. Expected modem behavior:
1511*4d7e907cSAndroid Build Coastguard Worker     *  If never receives this command
1512*4d7e907cSAndroid Build Coastguard Worker     *  - Must allow all carriers
1513*4d7e907cSAndroid Build Coastguard Worker     *  Receives this command with allAllowed true
1514*4d7e907cSAndroid Build Coastguard Worker     *  - Must allow all carriers. If a previously allowed SIM is present, modem must not reload
1515*4d7e907cSAndroid Build Coastguard Worker     *    the SIM. If a previously disallowed SIM is present, reload the SIM and notify Android.
1516*4d7e907cSAndroid Build Coastguard Worker     *  Receives this command with a list of carriers & allAllowed = false
1517*4d7e907cSAndroid Build Coastguard Worker     *  - Only allow specified carriers, persist across power cycles and FDR. If a present SIM
1518*4d7e907cSAndroid Build Coastguard Worker     *    is in the allowed list, modem must not reload the SIM. If a present SIM is *not* in
1519*4d7e907cSAndroid Build Coastguard Worker     *    the allowed list, modem must detach from the registered network and only keep emergency
1520*4d7e907cSAndroid Build Coastguard Worker     *    service, and notify Android SIM refresh reset with new SIM state being
1521*4d7e907cSAndroid Build Coastguard Worker     *    CardState:RESTRICTED. Emergency service must be enabled.
1522*4d7e907cSAndroid Build Coastguard Worker     *
1523*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1524*4d7e907cSAndroid Build Coastguard Worker     * @param allAllowed true only when all carriers are allowed. Ignore "carriers" struct.
1525*4d7e907cSAndroid Build Coastguard Worker     *        If false, consider "carriers" struct
1526*4d7e907cSAndroid Build Coastguard Worker     * @param carriers CarrierRestrictions consisting allowed and excluded carriers as defined
1527*4d7e907cSAndroid Build Coastguard Worker     *        in types.hal
1528*4d7e907cSAndroid Build Coastguard Worker     *
1529*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setAllowedCarriersResponse()
1530*4d7e907cSAndroid Build Coastguard Worker     */
1531*4d7e907cSAndroid Build Coastguard Worker    oneway setAllowedCarriers(int32_t serial, bool allAllowed, CarrierRestrictions carriers);
1532*4d7e907cSAndroid Build Coastguard Worker
1533*4d7e907cSAndroid Build Coastguard Worker    /**
1534*4d7e907cSAndroid Build Coastguard Worker     * Get carrier restrictions.
1535*4d7e907cSAndroid Build Coastguard Worker     *
1536*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1537*4d7e907cSAndroid Build Coastguard Worker     *
1538*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getAllowedCarriersResponse()
1539*4d7e907cSAndroid Build Coastguard Worker     */
1540*4d7e907cSAndroid Build Coastguard Worker    oneway getAllowedCarriers(int32_t serial);
1541*4d7e907cSAndroid Build Coastguard Worker
1542*4d7e907cSAndroid Build Coastguard Worker    /**
1543*4d7e907cSAndroid Build Coastguard Worker     * Send the updated device state.
1544*4d7e907cSAndroid Build Coastguard Worker     * This is providing the device state information for the modem to perform power saving
1545*4d7e907cSAndroid Build Coastguard Worker     * strategies.
1546*4d7e907cSAndroid Build Coastguard Worker     *
1547*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1548*4d7e907cSAndroid Build Coastguard Worker     * @param deviceStateType The updated device state type.
1549*4d7e907cSAndroid Build Coastguard Worker     * @param state The updated state. See the definition of state at DeviceStateType.
1550*4d7e907cSAndroid Build Coastguard Worker     *
1551*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendDeviceStateResponse()
1552*4d7e907cSAndroid Build Coastguard Worker     */
1553*4d7e907cSAndroid Build Coastguard Worker    oneway sendDeviceState(int32_t serial, DeviceStateType deviceStateType, bool state);
1554*4d7e907cSAndroid Build Coastguard Worker
1555*4d7e907cSAndroid Build Coastguard Worker    /**
1556*4d7e907cSAndroid Build Coastguard Worker     * Set the indication filter.
1557*4d7e907cSAndroid Build Coastguard Worker     * This is used to prevent unnecessary application processor wake up for power saving purposes
1558*4d7e907cSAndroid Build Coastguard Worker     * by suppressing the indications in certain scenarios.
1559*4d7e907cSAndroid Build Coastguard Worker     *
1560*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
1561*4d7e907cSAndroid Build Coastguard Worker     * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the
1562*4d7e907cSAndroid Build Coastguard Worker     *        indications are enabled. See IndicationFilter for the definition of each bit.
1563*4d7e907cSAndroid Build Coastguard Worker     *
1564*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setIndicationFilterResponse() which may return
1565*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.2::IRadio or higher is supported.
1566*4d7e907cSAndroid Build Coastguard Worker     *
1567*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.2 or higher, use @1.2::IRadio.setIndicationFilter_1_2() instead.
1568*4d7e907cSAndroid Build Coastguard Worker     */
1569*4d7e907cSAndroid Build Coastguard Worker    oneway setIndicationFilter(int32_t serial, bitfield<IndicationFilter> indicationFilter);
1570*4d7e907cSAndroid Build Coastguard Worker
1571*4d7e907cSAndroid Build Coastguard Worker    /**
1572*4d7e907cSAndroid Build Coastguard Worker     * Set SIM card power state.
1573*4d7e907cSAndroid Build Coastguard Worker     * Request is equivalent to inserting or removing the card.
1574*4d7e907cSAndroid Build Coastguard Worker     *
1575*4d7e907cSAndroid Build Coastguard Worker     * The radio modem must generate IRadioIndication.simStatusChanged() as if the SIM had been
1576*4d7e907cSAndroid Build Coastguard Worker     * inserted or removed.
1577*4d7e907cSAndroid Build Coastguard Worker     *
1578*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request
1579*4d7e907cSAndroid Build Coastguard Worker     * @param powerUp True if powering up the sim card
1580*4d7e907cSAndroid Build Coastguard Worker     *
1581*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setSimCardPowerResponse() which may return
1582*4d7e907cSAndroid Build Coastguard Worker     * RadioError:REQUEST_NOT_SUPPORTED if @1.1::IRadio or higher is supported.
1583*4d7e907cSAndroid Build Coastguard Worker     *
1584*4d7e907cSAndroid Build Coastguard Worker     * DEPRECATED in @1.1 or higher, use @1.1::IRadio.setSimCardPower_1_1() instead.
1585*4d7e907cSAndroid Build Coastguard Worker     */
1586*4d7e907cSAndroid Build Coastguard Worker    oneway setSimCardPower(int32_t serial, bool powerUp);
1587*4d7e907cSAndroid Build Coastguard Worker
1588*4d7e907cSAndroid Build Coastguard Worker    /**
1589*4d7e907cSAndroid Build Coastguard Worker     * When response type received from a radio indication or radio response is
1590*4d7e907cSAndroid Build Coastguard Worker     * RadioIndicationType:UNSOLICITED_ACK_EXP or RadioResponseType:SOLICITED_ACK_EXP respectively,
1591*4d7e907cSAndroid Build Coastguard Worker     * acknowledge the receipt of those messages by sending responseAcknowledgement().
1592*4d7e907cSAndroid Build Coastguard Worker     *
1593*4d7e907cSAndroid Build Coastguard Worker     */
1594*4d7e907cSAndroid Build Coastguard Worker    oneway responseAcknowledgement();
1595*4d7e907cSAndroid Build Coastguard Worker};
1596