xref: /aosp_15_r20/hardware/interfaces/radio/1.4/IRadioResponse.hal (revision 4d7e907c777eeecc4c5bd7cf640a754fac206ff7)
1*4d7e907cSAndroid Build Coastguard Worker/*
2*4d7e907cSAndroid Build Coastguard Worker * Copyright (C) 2018 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::RadioResponseInfo;
20*4d7e907cSAndroid Build Coastguard Workerimport @1.3::IRadioResponse;
21*4d7e907cSAndroid Build Coastguard Workerimport @1.4::CardStatus;
22*4d7e907cSAndroid Build Coastguard Workerimport @1.4::CarrierRestrictionsWithPriority;
23*4d7e907cSAndroid Build Coastguard Workerimport @1.4::CellInfo;
24*4d7e907cSAndroid Build Coastguard Workerimport @1.4::DataRegStateResult;
25*4d7e907cSAndroid Build Coastguard Workerimport @1.4::RadioAccessFamily;
26*4d7e907cSAndroid Build Coastguard Workerimport @1.4::SetupDataCallResult;
27*4d7e907cSAndroid Build Coastguard Workerimport @1.4::SignalStrength;
28*4d7e907cSAndroid Build Coastguard Workerimport @1.4::SimLockMultiSimPolicy;
29*4d7e907cSAndroid Build Coastguard Worker
30*4d7e907cSAndroid Build Coastguard Worker/**
31*4d7e907cSAndroid Build Coastguard Worker * Interface declaring response functions to solicited radio requests.
32*4d7e907cSAndroid Build Coastguard Worker */
33*4d7e907cSAndroid Build Coastguard Workerinterface IRadioResponse extends @1.3::IRadioResponse {
34*4d7e907cSAndroid Build Coastguard Worker    /**
35*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
36*4d7e907cSAndroid Build Coastguard Worker     *
37*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
38*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
39*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE (radio resetting)
40*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:DIAL_MODIFIED_TO_USSD
41*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:DIAL_MODIFIED_TO_SS
42*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:DIAL_MODIFIED_TO_DIAL
43*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
44*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
45*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
46*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:FDN_CHECK_FAILURE
47*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:MODEM_ERR
48*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_SUBSCRIPTION
49*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_NETWORK_FOUND
50*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_CALL_ID
51*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:DEVICE_IN_USE
52*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:ABORTED
53*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_MODEM_STATE
54*4d7e907cSAndroid Build Coastguard Worker     */
55*4d7e907cSAndroid Build Coastguard Worker    oneway emergencyDialResponse(RadioResponseInfo info);
56*4d7e907cSAndroid Build Coastguard Worker
57*4d7e907cSAndroid Build Coastguard Worker    /**
58*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
59*4d7e907cSAndroid Build Coastguard Worker     *
60*4d7e907cSAndroid Build Coastguard Worker     * Same API as @1.1::IRadioResponse.startNetworkScanResponse, except disallowing error codes
61*4d7e907cSAndroid Build Coastguard Worker     * OPERATION_NOT_ALLOWED and REQUEST_NOT_SUPPORTED.
62*4d7e907cSAndroid Build Coastguard Worker     *
63*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
64*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
65*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
66*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:DEVICE_IN_USE
67*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
68*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:MODEM_ERR
69*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
70*4d7e907cSAndroid Build Coastguard Worker     */
71*4d7e907cSAndroid Build Coastguard Worker    oneway startNetworkScanResponse_1_4(RadioResponseInfo info);
72*4d7e907cSAndroid Build Coastguard Worker
73*4d7e907cSAndroid Build Coastguard Worker    /**
74*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
75*4d7e907cSAndroid Build Coastguard Worker     * @param cellInfo List of current cell information known to radio
76*4d7e907cSAndroid Build Coastguard Worker     *
77*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
78*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
79*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
80*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
81*4d7e907cSAndroid Build Coastguard Worker     */
82*4d7e907cSAndroid Build Coastguard Worker    oneway getCellInfoListResponse_1_4(RadioResponseInfo info, vec<CellInfo> cellInfo);
83*4d7e907cSAndroid Build Coastguard Worker
84*4d7e907cSAndroid Build Coastguard Worker    /**
85*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
86*4d7e907cSAndroid Build Coastguard Worker     * @param dataRegResponse Current Data registration response as defined by DataRegStateResult in
87*4d7e907cSAndroid Build Coastguard Worker     *        types.hal
88*4d7e907cSAndroid Build Coastguard Worker     *
89*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
90*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
91*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
92*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
93*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NOT_PROVISIONED
94*4d7e907cSAndroid Build Coastguard Worker     */
95*4d7e907cSAndroid Build Coastguard Worker    oneway getDataRegistrationStateResponse_1_4(RadioResponseInfo info,
96*4d7e907cSAndroid Build Coastguard Worker            DataRegStateResult dataRegResponse);
97*4d7e907cSAndroid Build Coastguard Worker
98*4d7e907cSAndroid Build Coastguard Worker    /**
99*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
100*4d7e907cSAndroid Build Coastguard Worker     * @param cardStatus ICC card status as defined by CardStatus in types.hal
101*4d7e907cSAndroid Build Coastguard Worker     *
102*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
103*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
104*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
105*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
106*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
107*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
108*4d7e907cSAndroid Build Coastguard Worker     */
109*4d7e907cSAndroid Build Coastguard Worker    oneway getIccCardStatusResponse_1_4(RadioResponseInfo info, CardStatus cardStatus);
110*4d7e907cSAndroid Build Coastguard Worker
111*4d7e907cSAndroid Build Coastguard Worker    /**
112*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
113*4d7e907cSAndroid Build Coastguard Worker     * @param networkTypeBitmap a 32-bit bitmap of RadioAccessFamily.
114*4d7e907cSAndroid Build Coastguard Worker     *
115*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
116*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
117*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
118*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
119*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
120*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:MODEM_ERR
121*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
122*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
123*4d7e907cSAndroid Build Coastguard Worker     */
124*4d7e907cSAndroid Build Coastguard Worker    oneway getPreferredNetworkTypeBitmapResponse(RadioResponseInfo info,
125*4d7e907cSAndroid Build Coastguard Worker            bitfield<RadioAccessFamily> networkTypeBitmap);
126*4d7e907cSAndroid Build Coastguard Worker
127*4d7e907cSAndroid Build Coastguard Worker    /**
128*4d7e907cSAndroid Build Coastguard Worker     * Callback of IRadio.setPreferredNetworkTypeBitmap(int, bitfield<RadioAccessFamily>)
129*4d7e907cSAndroid Build Coastguard Worker     *
130*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
131*4d7e907cSAndroid Build Coastguard Worker     *
132*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
133*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
134*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
135*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:OPERATION_NOT_ALLOWED
136*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:MODE_NOT_SUPPORTED
137*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
138*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
139*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:MODEM_ERR
140*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
141*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
142*4d7e907cSAndroid Build Coastguard Worker     */
143*4d7e907cSAndroid Build Coastguard Worker    oneway setPreferredNetworkTypeBitmapResponse(RadioResponseInfo info);
144*4d7e907cSAndroid Build Coastguard Worker
145*4d7e907cSAndroid Build Coastguard Worker    /**
146*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
147*4d7e907cSAndroid Build Coastguard Worker     * @param dcResponse List of DataCallResult as defined in types.hal
148*4d7e907cSAndroid Build Coastguard Worker     *
149*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
150*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
151*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
152*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
153*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
154*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
155*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:SIM_ABSENT
156*4d7e907cSAndroid Build Coastguard Worker     */
157*4d7e907cSAndroid Build Coastguard Worker    oneway getDataCallListResponse_1_4(RadioResponseInfo info, vec<SetupDataCallResult> dcResponse);
158*4d7e907cSAndroid Build Coastguard Worker
159*4d7e907cSAndroid Build Coastguard Worker    /**
160*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
161*4d7e907cSAndroid Build Coastguard Worker     * @param dcResponse SetupDataCallResult defined in types.hal
162*4d7e907cSAndroid Build Coastguard Worker     *
163*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
164*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE must be returned on both success and failure of setup with the
165*4d7e907cSAndroid Build Coastguard Worker     *              DataCallResponse.status containing the actual status
166*4d7e907cSAndroid Build Coastguard Worker     *              For all other errors the DataCallResponse is ignored.
167*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
168*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW
169*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL
170*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
171*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
172*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
173*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NO_RESOURCES
174*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:SIM_ABSENT
175*4d7e907cSAndroid Build Coastguard Worker     */
176*4d7e907cSAndroid Build Coastguard Worker    oneway setupDataCallResponse_1_4(RadioResponseInfo info, SetupDataCallResult dcResponse);
177*4d7e907cSAndroid Build Coastguard Worker
178*4d7e907cSAndroid Build Coastguard Worker    /**
179*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
180*4d7e907cSAndroid Build Coastguard Worker     *
181*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
182*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
183*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
184*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INVALID_ARGUMENTS
185*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
186*4d7e907cSAndroid Build Coastguard Worker     */
187*4d7e907cSAndroid Build Coastguard Worker    oneway setAllowedCarriersResponse_1_4(RadioResponseInfo info);
188*4d7e907cSAndroid Build Coastguard Worker
189*4d7e907cSAndroid Build Coastguard Worker    /**
190*4d7e907cSAndroid Build Coastguard Worker     * Expected modem behavior:
191*4d7e907cSAndroid Build Coastguard Worker     *  Return list of allowed carriers, and if all carriers are allowed.
192*4d7e907cSAndroid Build Coastguard Worker     *
193*4d7e907cSAndroid Build Coastguard Worker     * @param info Response info struct containing response type, serial no. and error
194*4d7e907cSAndroid Build Coastguard Worker     * @param carriers Carrier restriction information.
195*4d7e907cSAndroid Build Coastguard Worker     * @param multiSimPolicy Policy used for devices with multiple SIM cards.
196*4d7e907cSAndroid Build Coastguard Worker     *
197*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
198*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
199*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
200*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:REQUEST_NOT_SUPPORTED
201*4d7e907cSAndroid Build Coastguard Worker     */
202*4d7e907cSAndroid Build Coastguard Worker    oneway getAllowedCarriersResponse_1_4(RadioResponseInfo info,
203*4d7e907cSAndroid Build Coastguard Worker            CarrierRestrictionsWithPriority carriers, SimLockMultiSimPolicy multiSimPolicy);
204*4d7e907cSAndroid Build Coastguard Worker
205*4d7e907cSAndroid Build Coastguard Worker    /**
206*4d7e907cSAndroid Build Coastguard Worker     * @param signalStrength Current signal strength
207*4d7e907cSAndroid Build Coastguard Worker     *
208*4d7e907cSAndroid Build Coastguard Worker     * Valid errors returned:
209*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:NONE
210*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:RADIO_NOT_AVAILABLE
211*4d7e907cSAndroid Build Coastguard Worker     *   RadioError:INTERNAL_ERR
212*4d7e907cSAndroid Build Coastguard Worker     */
213*4d7e907cSAndroid Build Coastguard Worker    oneway getSignalStrengthResponse_1_4(RadioResponseInfo info, SignalStrength signalStrength);
214*4d7e907cSAndroid Build Coastguard Worker};
215