xref: /aosp_15_r20/hardware/interfaces/radio/1.5/IRadio.hal (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2019 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 @1.0::CdmaSmsMessage;
20*4d7e907cSAndroid Build Coastguard Workerimport @1.2::DataRequestReason;
21*4d7e907cSAndroid Build Coastguard Workerimport @1.4::IRadio;
22*4d7e907cSAndroid Build Coastguard Workerimport @1.5::AccessNetwork;
23*4d7e907cSAndroid Build Coastguard Workerimport @1.5::DataProfileInfo;
24*4d7e907cSAndroid Build Coastguard Workerimport @1.5::IndicationFilter;
25*4d7e907cSAndroid Build Coastguard Workerimport @1.5::LinkAddress;
26*4d7e907cSAndroid Build Coastguard Workerimport @1.5::NetworkScanRequest;
27*4d7e907cSAndroid Build Coastguard Workerimport @1.5::PersoSubstate;
28*4d7e907cSAndroid Build Coastguard Workerimport @1.5::RadioAccessNetworks;
29*4d7e907cSAndroid Build Coastguard Workerimport @1.5::RadioAccessSpecifier;
30*4d7e907cSAndroid Build Coastguard Workerimport @1.5::SignalThresholdInfo;
31*4d7e907cSAndroid Build Coastguard Worker
32*4d7e907cSAndroid Build Coastguard Worker/**
33*4d7e907cSAndroid Build Coastguard Worker * This interface is used by telephony and telecom to talk to cellular radio.
34*4d7e907cSAndroid Build Coastguard Worker * All the functions have minimum one parameter:
35*4d7e907cSAndroid Build Coastguard Worker * serial: which corresponds to serial no. of request. Serial numbers must only be memorized for the
36*4d7e907cSAndroid Build Coastguard Worker * duration of a method call. If clients provide colliding serials (including passing the same
37*4d7e907cSAndroid Build Coastguard Worker * serial to different methods), multiple responses (one for each method call) must still be served.
38*4d7e907cSAndroid Build Coastguard Worker * setResponseFunctions must work with @1.5::IRadioResponse and @1.5::IRadioIndication.
39*4d7e907cSAndroid Build Coastguard Worker */
40*4d7e907cSAndroid Build Coastguard Workerinterface IRadio extends @1.4::IRadio {
41*4d7e907cSAndroid Build Coastguard Worker    /**
42*4d7e907cSAndroid Build Coastguard Worker     * Sets the signal strength reporting criteria.
43*4d7e907cSAndroid Build Coastguard Worker     *
44*4d7e907cSAndroid Build Coastguard Worker     * The resulting reporting rules are the AND of all the supplied criteria. For each RAN
45*4d7e907cSAndroid Build Coastguard Worker     * The hysteresisDb and thresholds apply to only the following measured quantities:
46*4d7e907cSAndroid Build Coastguard Worker     * -GERAN    - RSSI
47*4d7e907cSAndroid Build Coastguard Worker     * -CDMA2000 - RSSI
48*4d7e907cSAndroid Build Coastguard Worker     * -UTRAN    - RSCP
49*4d7e907cSAndroid Build Coastguard Worker     * -EUTRAN   - RSRP/RSRQ/RSSNR
50*4d7e907cSAndroid Build Coastguard Worker     * -NGRAN    - SSRSRP/SSRSRQ/SSSINR
51*4d7e907cSAndroid Build Coastguard Worker     *
52*4d7e907cSAndroid Build Coastguard Worker     * Note: Reporting criteria must be individually set for each RAN. For each RAN, if none of
53*4d7e907cSAndroid Build Coastguard Worker     * reporting criteria of any measurement is set enabled
54*4d7e907cSAndroid Build Coastguard Worker     * (see @1.5::SignalThresholdInfo.isEnabled), the reporting criteria for this RAN is
55*4d7e907cSAndroid Build Coastguard Worker     * implementation-defined. For each RAN, if any of reporting criteria of any measure is set
56*4d7e907cSAndroid Build Coastguard Worker     * enabled, the reporting criteria of the other measures in this RAN are set disabled
57*4d7e907cSAndroid Build Coastguard Worker     * (see @1.5::SignalThresholdInfo.isEnabled) until they are set enabled.
58*4d7e907cSAndroid Build Coastguard Worker     *
59*4d7e907cSAndroid Build Coastguard Worker     * Response callback is
60*4d7e907cSAndroid Build Coastguard Worker     * IRadioResponse.setSignalStrengthReportingCriteriaResponse_1_5()
61*4d7e907cSAndroid Build Coastguard Worker     *
62*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
63*4d7e907cSAndroid Build Coastguard Worker     * @param signalThresholdInfo Signal threshold info including the threshold values,
64*4d7e907cSAndroid Build Coastguard Worker     *                            hysteresisDb, hysteresisMs and isEnabled.
65*4d7e907cSAndroid Build Coastguard Worker     *                            See @1.5::SignalThresholdInfo for details.
66*4d7e907cSAndroid Build Coastguard Worker     * @param accessNetwork The type of network for which to apply these thresholds.
67*4d7e907cSAndroid Build Coastguard Worker     */
68*4d7e907cSAndroid Build Coastguard Worker    oneway setSignalStrengthReportingCriteria_1_5(int32_t serial,
69*4d7e907cSAndroid Build Coastguard Worker            SignalThresholdInfo signalThresholdInfo, AccessNetwork accessNetwork);
70*4d7e907cSAndroid Build Coastguard Worker
71*4d7e907cSAndroid Build Coastguard Worker    /**
72*4d7e907cSAndroid Build Coastguard Worker     * Sets the link capacity reporting criteria.
73*4d7e907cSAndroid Build Coastguard Worker     *
74*4d7e907cSAndroid Build Coastguard Worker     * The resulting reporting criteria are the AND of all the supplied criteria.
75*4d7e907cSAndroid Build Coastguard Worker     *
76*4d7e907cSAndroid Build Coastguard Worker     * Note: Reporting criteria must be individually set for each RAN. If unset, reporting criteria
77*4d7e907cSAndroid Build Coastguard Worker     * for that RAN are implementation-defined.
78*4d7e907cSAndroid Build Coastguard Worker     *
79*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setLinkCapacityReportingCriteriaResponse_1_5().
80*4d7e907cSAndroid Build Coastguard Worker     *
81*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
82*4d7e907cSAndroid Build Coastguard Worker     * @param hysteresisMs A hysteresis time in milliseconds to prevent flapping. A value of 0
83*4d7e907cSAndroid Build Coastguard Worker     *     disables hysteresis.
84*4d7e907cSAndroid Build Coastguard Worker     * @param hysteresisDlKbps An interval in kbps defining the required magnitude change between DL
85*4d7e907cSAndroid Build Coastguard Worker     *     reports. hysteresisDlKbps must be smaller than the smallest threshold delta. A value of 0
86*4d7e907cSAndroid Build Coastguard Worker     *     disables hysteresis.
87*4d7e907cSAndroid Build Coastguard Worker     * @param hysteresisUlKbps An interval in kbps defining the required magnitude change between UL
88*4d7e907cSAndroid Build Coastguard Worker     *     reports. hysteresisUlKbps must be smaller than the smallest threshold delta. A value of 0
89*4d7e907cSAndroid Build Coastguard Worker     *     disables hysteresis.
90*4d7e907cSAndroid Build Coastguard Worker     * @param thresholdsDownlinkKbps A vector of trigger thresholds in kbps for downlink reports. A
91*4d7e907cSAndroid Build Coastguard Worker     *     vector size of 0 disables the use of DL thresholds for reporting.
92*4d7e907cSAndroid Build Coastguard Worker     * @param thresholdsUplinkKbps A vector of trigger thresholds in kbps for uplink reports. A
93*4d7e907cSAndroid Build Coastguard Worker     *     vector size of 0 disables the use of UL thresholds for reporting.
94*4d7e907cSAndroid Build Coastguard Worker     * @param accessNetwork The type of network for which to apply these thresholds.
95*4d7e907cSAndroid Build Coastguard Worker     */
96*4d7e907cSAndroid Build Coastguard Worker    oneway setLinkCapacityReportingCriteria_1_5(int32_t serial, int32_t hysteresisMs,
97*4d7e907cSAndroid Build Coastguard Worker            int32_t hysteresisDlKbps, int32_t hysteresisUlKbps, vec<int32_t> thresholdsDownlinkKbps,
98*4d7e907cSAndroid Build Coastguard Worker            vec<int32_t> thresholdsUplinkKbps, AccessNetwork accessNetwork);
99*4d7e907cSAndroid Build Coastguard Worker
100*4d7e907cSAndroid Build Coastguard Worker    /**
101*4d7e907cSAndroid Build Coastguard Worker     * Enable or disable UiccApplications on the SIM. If disabled:
102*4d7e907cSAndroid Build Coastguard Worker     *  - Modem will not register on any network.
103*4d7e907cSAndroid Build Coastguard Worker     *  - SIM must be PRESENT, and the IccId of the SIM must still be accessible.
104*4d7e907cSAndroid Build Coastguard Worker     *  - The corresponding modem stack is still functional, e.g. able to make emergency calls or
105*4d7e907cSAndroid Build Coastguard Worker     *    do network scan.
106*4d7e907cSAndroid Build Coastguard Worker     * By default if this API is not called, the uiccApplications must be enabled automatically.
107*4d7e907cSAndroid Build Coastguard Worker     * It must work for both single SIM and DSDS cases for UX consistency.
108*4d7e907cSAndroid Build Coastguard Worker     * The preference is per SIM, and must be remembered over power cycle, modem reboot, or SIM
109*4d7e907cSAndroid Build Coastguard Worker     * insertion / unplug.
110*4d7e907cSAndroid Build Coastguard Worker     *
111*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
112*4d7e907cSAndroid Build Coastguard Worker     * @param enable true if to enable uiccApplications, false to disable.
113*4d7e907cSAndroid Build Coastguard Worker
114*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.enableUiccApplicationsResponse()
115*4d7e907cSAndroid Build Coastguard Worker     */
116*4d7e907cSAndroid Build Coastguard Worker    oneway enableUiccApplications(int32_t serial, bool enable);
117*4d7e907cSAndroid Build Coastguard Worker
118*4d7e907cSAndroid Build Coastguard Worker    /**
119*4d7e907cSAndroid Build Coastguard Worker     * Whether uiccApplications are enabled, or disabled.
120*4d7e907cSAndroid Build Coastguard Worker     *
121*4d7e907cSAndroid Build Coastguard Worker     * By default uiccApplications must be enabled, unless enableUiccApplications() with enable
122*4d7e907cSAndroid Build Coastguard Worker     * being false is called.
123*4d7e907cSAndroid Build Coastguard Worker     *
124*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
125*4d7e907cSAndroid Build Coastguard Worker     *
126*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.areUiccApplicationsEnabledResponse()
127*4d7e907cSAndroid Build Coastguard Worker     */
128*4d7e907cSAndroid Build Coastguard Worker    oneway areUiccApplicationsEnabled(int32_t serial);
129*4d7e907cSAndroid Build Coastguard Worker
130*4d7e907cSAndroid Build Coastguard Worker    /**
131*4d7e907cSAndroid Build Coastguard Worker     * Specify which bands modem's background scan must act on.
132*4d7e907cSAndroid Build Coastguard Worker     * If specifyChannels is true, it only scans bands specified in specifiers.
133*4d7e907cSAndroid Build Coastguard Worker     * If specifyChannels is false, it scans all bands.
134*4d7e907cSAndroid Build Coastguard Worker     *
135*4d7e907cSAndroid Build Coastguard Worker     * For example, CBRS is only on LTE band 48. By specifying this band,
136*4d7e907cSAndroid Build Coastguard Worker     * modem saves more power.
137*4d7e907cSAndroid Build Coastguard Worker     *
138*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
139*4d7e907cSAndroid Build Coastguard Worker     * @param specifyChannels whether to scan bands defined in specifiers.
140*4d7e907cSAndroid Build Coastguard Worker     * @param specifiers which bands to scan. Only used if specifyChannels is true.
141*4d7e907cSAndroid Build Coastguard Worker     *
142*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setSystemSelectionChannelsResponse()
143*4d7e907cSAndroid Build Coastguard Worker     */
144*4d7e907cSAndroid Build Coastguard Worker    oneway setSystemSelectionChannels_1_5(int32_t serial, bool specifyChannels,
145*4d7e907cSAndroid Build Coastguard Worker            vec<RadioAccessSpecifier> specifiers);
146*4d7e907cSAndroid Build Coastguard Worker
147*4d7e907cSAndroid Build Coastguard Worker    /**
148*4d7e907cSAndroid Build Coastguard Worker     * Starts a network scan.
149*4d7e907cSAndroid Build Coastguard Worker     *
150*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
151*4d7e907cSAndroid Build Coastguard Worker     * @param request Defines the radio networks/bands/channels which need to be scanned.
152*4d7e907cSAndroid Build Coastguard Worker     *
153*4d7e907cSAndroid Build Coastguard Worker     * Same API as @1.4::IRadio.startNetworkScan_1_4, except using the
154*4d7e907cSAndroid Build Coastguard Worker     * 1.5 NetworkScanRequest as the input param.
155*4d7e907cSAndroid Build Coastguard Worker     */
156*4d7e907cSAndroid Build Coastguard Worker    oneway startNetworkScan_1_5(int32_t serial, NetworkScanRequest request);
157*4d7e907cSAndroid Build Coastguard Worker
158*4d7e907cSAndroid Build Coastguard Worker    /**
159*4d7e907cSAndroid Build Coastguard Worker     * Setup a packet data connection. If DataCallResponse.status returns DataCallFailCause:NONE,
160*4d7e907cSAndroid Build Coastguard Worker     * the data connection must be added to data calls and a unsolDataCallListChanged() must be
161*4d7e907cSAndroid Build Coastguard Worker     * sent. The call remains until removed by subsequent unsolDataCallIstChanged(). It may be
162*4d7e907cSAndroid Build Coastguard Worker     * lost due to many factors, including deactivateDataCall() being issued, the radio powered
163*4d7e907cSAndroid Build Coastguard Worker     * off, reception lost or even transient factors like congestion. This data call list is
164*4d7e907cSAndroid Build Coastguard Worker     * returned by getDataCallList() and dataCallListChanged().
165*4d7e907cSAndroid Build Coastguard Worker     *
166*4d7e907cSAndroid Build Coastguard Worker     * The Radio is expected to:
167*4d7e907cSAndroid Build Coastguard Worker     *   - Create one data call context.
168*4d7e907cSAndroid Build Coastguard Worker     *   - Create and configure a dedicated interface for the context.
169*4d7e907cSAndroid Build Coastguard Worker     *   - The interface must be point to point.
170*4d7e907cSAndroid Build Coastguard Worker     *   - The interface is configured with one or more addresses and is capable of sending and
171*4d7e907cSAndroid Build Coastguard Worker     *     receiving packets. The prefix length of the addresses must be /32 for IPv4 and /128
172*4d7e907cSAndroid Build Coastguard Worker     *     for IPv6.
173*4d7e907cSAndroid Build Coastguard Worker     *   - Must not modify routing configuration related to this interface; routing management is
174*4d7e907cSAndroid Build Coastguard Worker     *     exclusively within the purview of the Android OS.
175*4d7e907cSAndroid Build Coastguard Worker     *   - Support simultaneous data call contexts up to DataRegStateResult.maxDataCalls specified
176*4d7e907cSAndroid Build Coastguard Worker     *     in the response of getDataRegistrationState.
177*4d7e907cSAndroid Build Coastguard Worker     *
178*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
179*4d7e907cSAndroid Build Coastguard Worker     * @param accessNetwork The access network to setup the data call. If the data connection cannot
180*4d7e907cSAndroid Build Coastguard Worker     *     be established on the specified access network, the setup request must be failed.
181*4d7e907cSAndroid Build Coastguard Worker     * @param dataProfileInfo Data profile info.
182*4d7e907cSAndroid Build Coastguard Worker     * @param roamingAllowed Indicates whether or not data roaming is allowed by the user.
183*4d7e907cSAndroid Build Coastguard Worker     * @param reason The request reason. Must be DataRequestReason.NORMAL or
184*4d7e907cSAndroid Build Coastguard Worker     *     DataRequestReason.HANDOVER.
185*4d7e907cSAndroid Build Coastguard Worker     * @param addresses If the reason is DataRequestReason.HANDOVER, this indicates the list of link
186*4d7e907cSAndroid Build Coastguard Worker     *     addresses of the existing data connection. This parameter must be ignored unless reason
187*4d7e907cSAndroid Build Coastguard Worker     *     is DataRequestReason.HANDOVER.
188*4d7e907cSAndroid Build Coastguard Worker     * @param dnses If the reason is DataRequestReason.HANDOVER, this indicates the list of DNS
189*4d7e907cSAndroid Build Coastguard Worker     *     addresses of the existing data connection. The format is defined in RFC-4291 section
190*4d7e907cSAndroid Build Coastguard Worker     *     2.2. For example, "192.0.1.3" or "2001:db8::1". This parameter must be ignored unless
191*4d7e907cSAndroid Build Coastguard Worker     *     reason is DataRequestReason.HANDOVER.
192*4d7e907cSAndroid Build Coastguard Worker     *
193*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setupDataCallResponse_1_5()
194*4d7e907cSAndroid Build Coastguard Worker     *
195*4d7e907cSAndroid Build Coastguard Worker     * Note this API is the same as the 1.4 version except using the
196*4d7e907cSAndroid Build Coastguard Worker     * 1.5 AccessNetwork, DataProfileInto, and LinkAddress as the input param.
197*4d7e907cSAndroid Build Coastguard Worker     */
198*4d7e907cSAndroid Build Coastguard Worker    oneway setupDataCall_1_5(int32_t serial, AccessNetwork accessNetwork,
199*4d7e907cSAndroid Build Coastguard Worker            DataProfileInfo dataProfileInfo, bool roamingAllowed,
200*4d7e907cSAndroid Build Coastguard Worker            DataRequestReason reason, vec<LinkAddress> addresses, vec<string> dnses);
201*4d7e907cSAndroid Build Coastguard Worker
202*4d7e907cSAndroid Build Coastguard Worker    /**
203*4d7e907cSAndroid Build Coastguard Worker     * Set an APN to initial attach network.
204*4d7e907cSAndroid Build Coastguard Worker     *
205*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
206*4d7e907cSAndroid Build Coastguard Worker     * @param dataProfileInfo data profile containing APN settings
207*4d7e907cSAndroid Build Coastguard Worker     *
208*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setInitialAttachApnResponse_1_5()
209*4d7e907cSAndroid Build Coastguard Worker     *
210*4d7e907cSAndroid Build Coastguard Worker     * Note this API is the same as the 1.4 version except using the 1.5 DataProfileInfo
211*4d7e907cSAndroid Build Coastguard Worker     * as the input param.
212*4d7e907cSAndroid Build Coastguard Worker     */
213*4d7e907cSAndroid Build Coastguard Worker    oneway setInitialAttachApn_1_5(int32_t serial, DataProfileInfo dataProfileInfo);
214*4d7e907cSAndroid Build Coastguard Worker
215*4d7e907cSAndroid Build Coastguard Worker    /**
216*4d7e907cSAndroid Build Coastguard Worker     * Send data profiles of the current carrier to the modem.
217*4d7e907cSAndroid Build Coastguard Worker     *
218*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
219*4d7e907cSAndroid Build Coastguard Worker     * @param profiles Array of DataProfileInfo to set.
220*4d7e907cSAndroid Build Coastguard Worker     *
221*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setDataProfileResponse_1_5()
222*4d7e907cSAndroid Build Coastguard Worker     *
223*4d7e907cSAndroid Build Coastguard Worker     * Note this API is the same as the 1.4 version except using the 1.5 DataProfileInfo
224*4d7e907cSAndroid Build Coastguard Worker     * as the input param.
225*4d7e907cSAndroid Build Coastguard Worker     */
226*4d7e907cSAndroid Build Coastguard Worker    oneway setDataProfile_1_5(int32_t serial, vec<DataProfileInfo> profiles);
227*4d7e907cSAndroid Build Coastguard Worker
228*4d7e907cSAndroid Build Coastguard Worker    /**
229*4d7e907cSAndroid Build Coastguard Worker     * Toggle radio on and off (for "airplane" mode)
230*4d7e907cSAndroid Build Coastguard Worker     * If the radio is turned off/on the radio modem subsystem
231*4d7e907cSAndroid Build Coastguard Worker     * is expected return to an initialized state. For instance,
232*4d7e907cSAndroid Build Coastguard Worker     * any voice and data calls must be terminated and all associated
233*4d7e907cSAndroid Build Coastguard Worker     * lists emptied.
234*4d7e907cSAndroid Build Coastguard Worker     *
235*4d7e907cSAndroid Build Coastguard Worker     * When setting radio power on to exit from airplane mode to place an emergency call on this
236*4d7e907cSAndroid Build Coastguard Worker     * logical modem, powerOn, forEmergencyCall and preferredForEmergencyCall must be true. In
237*4d7e907cSAndroid Build Coastguard Worker     * this case, this modem is optimized to scan only emergency call bands, until:
238*4d7e907cSAndroid Build Coastguard Worker     * 1) Emergency call is completed; or
239*4d7e907cSAndroid Build Coastguard Worker     * 2) Another setRadioPower_1_5 is issued with forEmergencyCall being false or
240*4d7e907cSAndroid Build Coastguard Worker     * preferredForEmergencyCall being false; or
241*4d7e907cSAndroid Build Coastguard Worker     * 3) Timeout after 30 seconds if dial or emergencyDial is not called.
242*4d7e907cSAndroid Build Coastguard Worker     * Once one of these conditions is reached, the modem should move into normal operation.
243*4d7e907cSAndroid Build Coastguard Worker     *
244*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
245*4d7e907cSAndroid Build Coastguard Worker     * @param powerOn To turn on radio -> on = true, to turn off radio -> on = false.
246*4d7e907cSAndroid Build Coastguard Worker     * @param forEmergencyCall To indication to radio if this request is due to emergency call.
247*4d7e907cSAndroid Build Coastguard Worker     *      No effect if powerOn is false.
248*4d7e907cSAndroid Build Coastguard Worker     * @param preferredForEmergencyCall indicate whether the following emergency call will be sent
249*4d7e907cSAndroid Build Coastguard Worker     *      on this modem or not. No effect if forEmergencyCall is false, or powerOn is false.
250*4d7e907cSAndroid Build Coastguard Worker     *
251*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioConfigResponse. setRadioPowerResponse_1_5.
252*4d7e907cSAndroid Build Coastguard Worker     */
253*4d7e907cSAndroid Build Coastguard Worker    oneway setRadioPower_1_5(int32_t serial, bool powerOn, bool forEmergencyCall,
254*4d7e907cSAndroid Build Coastguard Worker            bool preferredForEmergencyCall);
255*4d7e907cSAndroid Build Coastguard Worker
256*4d7e907cSAndroid Build Coastguard Worker    /**
257*4d7e907cSAndroid Build Coastguard Worker     * Sets the indication filter.
258*4d7e907cSAndroid Build Coastguard Worker     *
259*4d7e907cSAndroid Build Coastguard Worker     * Prevents the reporting of specified unsolicited indications from the radio. This is used
260*4d7e907cSAndroid Build Coastguard Worker     * for power saving in instances when those indications are not needed. If unset, defaults to
261*4d7e907cSAndroid Build Coastguard Worker     * @1.5::IndicationFilter:ALL.
262*4d7e907cSAndroid Build Coastguard Worker     *
263*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
264*4d7e907cSAndroid Build Coastguard Worker     * @param indicationFilter 32-bit bitmap of IndicationFilter. Bits set to 1 indicate the
265*4d7e907cSAndroid Build Coastguard Worker     *     indications are enabled. See @1.5::IndicationFilter for the definition of each bit.
266*4d7e907cSAndroid Build Coastguard Worker     *
267*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.setIndicationFilterResponse()
268*4d7e907cSAndroid Build Coastguard Worker     */
269*4d7e907cSAndroid Build Coastguard Worker    oneway setIndicationFilter_1_5(int32_t serial, bitfield<IndicationFilter> indicationFilter);
270*4d7e907cSAndroid Build Coastguard Worker
271*4d7e907cSAndroid Build Coastguard Worker    /**
272*4d7e907cSAndroid Build Coastguard Worker     * Get all the barring info for the current camped cell applicable to the current user.
273*4d7e907cSAndroid Build Coastguard Worker     *
274*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
275*4d7e907cSAndroid Build Coastguard Worker     *
276*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.getBarringInfoResponse()
277*4d7e907cSAndroid Build Coastguard Worker     */
278*4d7e907cSAndroid Build Coastguard Worker    oneway getBarringInfo(int32_t serial);
279*4d7e907cSAndroid Build Coastguard Worker
280*4d7e907cSAndroid Build Coastguard Worker    /**
281*4d7e907cSAndroid Build Coastguard Worker     * Request current voice registration state.
282*4d7e907cSAndroid Build Coastguard Worker     *
283*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
284*4d7e907cSAndroid Build Coastguard Worker     *
285*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getVoiceRegistrationStateResponse_1_5()
286*4d7e907cSAndroid Build Coastguard Worker     */
287*4d7e907cSAndroid Build Coastguard Worker    oneway getVoiceRegistrationState_1_5(int32_t serial);
288*4d7e907cSAndroid Build Coastguard Worker
289*4d7e907cSAndroid Build Coastguard Worker    /**
290*4d7e907cSAndroid Build Coastguard Worker     * Request current data registration state.
291*4d7e907cSAndroid Build Coastguard Worker     *
292*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
293*4d7e907cSAndroid Build Coastguard Worker     *
294*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.getDataRegistrationStateResponse_1_5()
295*4d7e907cSAndroid Build Coastguard Worker     */
296*4d7e907cSAndroid Build Coastguard Worker    oneway getDataRegistrationState_1_5(int32_t serial);
297*4d7e907cSAndroid Build Coastguard Worker
298*4d7e907cSAndroid Build Coastguard Worker    /*
299*4d7e907cSAndroid Build Coastguard Worker     * Manually select a specified network.
300*4d7e907cSAndroid Build Coastguard Worker     * This request must not respond until the new operator is selected and registered.
301*4d7e907cSAndroid Build Coastguard Worker     * Per TS 23.122, the RAN is just the initial suggested value.
302*4d7e907cSAndroid Build Coastguard Worker     * If registration fails, the RAN is not available afterwards, or the RAN is not within
303*4d7e907cSAndroid Build Coastguard Worker     * the network types specified by IRadio::setPreferredNetworkTypeBitmap, then the modem
304*4d7e907cSAndroid Build Coastguard Worker     * will need to select the next best RAN for network registration.
305*4d7e907cSAndroid Build Coastguard Worker     *
306*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
307*4d7e907cSAndroid Build Coastguard Worker     * @param operatorNumeric String specifying MCCMNC of network to select (eg "310170").
308*4d7e907cSAndroid Build Coastguard Worker     * @param ran Initial suggested radio access network type. If value is UNKNOWN, the modem
309*4d7e907cSAndroid Build Coastguard Worker     *     will select the next best RAN for network registration.
310*4d7e907cSAndroid Build Coastguard Worker     *
311*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.setNetworkSelectionModeManualResponse_1_5()
312*4d7e907cSAndroid Build Coastguard Worker     */
313*4d7e907cSAndroid Build Coastguard Worker    oneway setNetworkSelectionModeManual_1_5(int32_t serial, string operatorNumeric,
314*4d7e907cSAndroid Build Coastguard Worker            RadioAccessNetworks ran);
315*4d7e907cSAndroid Build Coastguard Worker
316*4d7e907cSAndroid Build Coastguard Worker    /**
317*4d7e907cSAndroid Build Coastguard Worker     * Send an SMS message. Identical to sendCdmaSms,
318*4d7e907cSAndroid Build Coastguard Worker     * except that more messages are expected to be sent soon.
319*4d7e907cSAndroid Build Coastguard Worker     *
320*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
321*4d7e907cSAndroid Build Coastguard Worker     * @param sms Cdma Sms to be sent described by CdmaSmsMessage in types.hal
322*4d7e907cSAndroid Build Coastguard Worker     *
323*4d7e907cSAndroid Build Coastguard Worker     * Response callback is IRadioResponse.sendCdmaSMSExpectMoreResponse()
324*4d7e907cSAndroid Build Coastguard Worker     */
325*4d7e907cSAndroid Build Coastguard Worker    oneway sendCdmaSmsExpectMore(int32_t serial, CdmaSmsMessage sms);
326*4d7e907cSAndroid Build Coastguard Worker
327*4d7e907cSAndroid Build Coastguard Worker    /**
328*4d7e907cSAndroid Build Coastguard Worker     * Request that deactivates one category of device personalization. Device personalization
329*4d7e907cSAndroid Build Coastguard Worker     * generally binds the device so it can only be used on one carrier or even one carrier subnet
330*4d7e907cSAndroid Build Coastguard Worker     * (See TS 22.022). When the user has gained the rights to unbind the device (at the end of a
331*4d7e907cSAndroid Build Coastguard Worker     * contract period or other event), the controlKey will be delivered to either the user for
332*4d7e907cSAndroid Build Coastguard Worker     * manual entry or to a carrier app on the device for automatic entry.
333*4d7e907cSAndroid Build Coastguard Worker     *
334*4d7e907cSAndroid Build Coastguard Worker     * @param serial Serial number of request.
335*4d7e907cSAndroid Build Coastguard Worker     * @param persoType SIM personalization type.
336*4d7e907cSAndroid Build Coastguard Worker     * @param controlKey the unlock code for removing persoType personalization from this device
337*4d7e907cSAndroid Build Coastguard Worker     *
338*4d7e907cSAndroid Build Coastguard Worker     * Response function is IRadioResponse.supplySimDepersonalizationResponse()
339*4d7e907cSAndroid Build Coastguard Worker     */
340*4d7e907cSAndroid Build Coastguard Worker    oneway supplySimDepersonalization(int32_t serial, PersoSubstate persoType, string controlKey);
341*4d7e907cSAndroid Build Coastguard Worker};
342