1/*
2 * Copyright (C) 2019 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.radio@1.5;
18
19import @1.0::RadioResponseInfo;
20import @1.0::SendSmsResult;
21import @1.4::IRadioResponse;
22import @1.5::BarringInfo;
23import @1.5::CardStatus;
24import @1.5::CellIdentity;
25import @1.5::CellInfo;
26import @1.5::PersoSubstate;
27import @1.5::RegStateResult;
28import @1.5::SetupDataCallResult;
29
30/**
31 * Interface declaring response functions to solicited radio requests.
32 */
33interface IRadioResponse extends @1.4::IRadioResponse {
34    /**
35     * @param info Response info struct containing response type, serial no. and error
36     *
37     * Valid errors returned:
38     *   RadioError:NONE
39     *   RadioError:INVALID_ARGUMENTS
40     *   RadioError:RADIO_NOT_AVAILABLE
41     */
42    oneway setSignalStrengthReportingCriteriaResponse_1_5(RadioResponseInfo info);
43
44    /**
45     * @param info Response info struct containing response type, serial no. and error
46     *
47     * Valid errors returned:
48     *   RadioError:NONE
49     *   RadioError:INVALID_ARGUMENTS
50     *   RadioError:RADIO_NOT_AVAILABLE
51     *   RadioError:INTERNAL_ERR
52     */
53    oneway setLinkCapacityReportingCriteriaResponse_1_5(RadioResponseInfo info);
54
55    /**
56     * @param info Response info struct containing response type, serial no. and error
57     *
58     * Valid errors returned:
59     *   RadioError:NONE
60     *   RadioError:SIM_ABSENT
61     *   RadioError:RADIO_NOT_AVAILABLE
62     *   RadioError:INTERNAL_ERR
63     *   RadioError:BUSY
64     */
65    oneway enableUiccApplicationsResponse(RadioResponseInfo info);
66
67    /**
68     * @param info Response info struct containing response type, serial no. and error
69     * @param enabled whether Uicc applications are enabled.
70     *
71     * Valid errors returned:
72     *   RadioError:NONE
73     *   RadioError:SIM_ABSENT
74     *   RadioError:RADIO_NOT_AVAILABLE
75     *   RadioError:INTERNAL_ERR
76     */
77    oneway areUiccApplicationsEnabledResponse(RadioResponseInfo info, bool enabled);
78
79    /**
80     * @param info Response info struct containing response type, serial no. and error
81     *
82     * Valid errors returned:
83     *   RadioError:NONE
84     *   RadioError:RADIO_NOT_AVAILABLE
85     *   RadioError:INTERNAL_ERR
86     *   RadioError:INVALID_ARGUMENTS
87     */
88    oneway setSystemSelectionChannelsResponse_1_5(RadioResponseInfo info);
89
90    /**
91     * @param info Response info struct containing response type, serial no. and error
92     *
93     * Valid errors returned:
94     *   RadioError:NONE
95     *   RadioError:RADIO_NOT_AVAILABLE
96     *   RadioError:DEVICE_IN_USE
97     *   RadioError:INTERNAL_ERR
98     *   RadioError:MODEM_ERR
99     *   RadioError:INVALID_ARGUMENTS
100     */
101    oneway startNetworkScanResponse_1_5(RadioResponseInfo info);
102
103    /**
104     * @param info Response info struct containing response type, serial no. and error
105     * @param dcResponse SetupDataCallResult defined in types.hal
106     *
107     * Valid errors returned:
108     *   RadioError:NONE must be returned on both success and failure of setup with the
109     *              DataCallResponse.status containing the actual status
110     *              For all other errors the DataCallResponse is ignored.
111     *   RadioError:RADIO_NOT_AVAILABLE
112     *   RadioError:OP_NOT_ALLOWED_BEFORE_REG_TO_NW
113     *   RadioError:OP_NOT_ALLOWED_DURING_VOICE_CALL
114     *   RadioError:REQUEST_NOT_SUPPORTED
115     *   RadioError:INVALID_ARGUMENTS
116     *   RadioError:INTERNAL_ERR
117     *   RadioError:NO_RESOURCES
118     *   RadioError:SIM_ABSENT
119     */
120    oneway setupDataCallResponse_1_5(RadioResponseInfo info, SetupDataCallResult dcResponse);
121
122    /**
123     * @param info Response info struct containing response type, serial no. and error
124     * @param dcResponse List of SetupDataCallResult as defined in types.hal
125     *
126     * Valid errors returned:
127     *   RadioError:NONE
128     *   RadioError:RADIO_NOT_AVAILABLE
129     *   RadioError:INTERNAL_ERR
130     *   RadioError:NO_RESOURCES
131     *   RadioError:REQUEST_NOT_SUPPORTED
132     *   RadioError:SIM_ABSENT
133     */
134    oneway getDataCallListResponse_1_5(RadioResponseInfo info, vec<SetupDataCallResult> dcResponse);
135
136    /**
137     * @param info Response info struct containing response type, serial no. and error
138     *
139     * Valid errors returned:
140     *   RadioError:NONE
141     *   RadioError:RADIO_NOT_AVAILABLE
142     *   RadioError:SUBSCRIPTION_NOT_AVAILABLE
143     *   RadioError:NO_MEMORY
144     *   RadioError:INTERNAL_ERR
145     *   RadioError:SYSTEM_ERR
146     *   RadioError:MODEM_ERR
147     *   RadioError:INVALID_ARGUMENTS
148     *   RadioError:NOT_PROVISIONED
149     *   RadioError:REQUEST_NOT_SUPPORTED
150     *   RadioError:NO_RESOURCES
151     *   RadioError:CANCELLED
152     */
153    oneway setInitialAttachApnResponse_1_5(RadioResponseInfo info);
154
155    /**
156     * @param info Response info struct containing response type, serial no. and error
157     *
158     * Valid errors returned:
159     *   RadioError:NONE
160     *   RadioError:RADIO_NOT_AVAILABLE
161     *   RadioError:SUBSCRIPTION_NOT_AVAILABLE
162     *   RadioError:INTERNAL_ERR
163     *   RadioError:NO_MEMORY
164     *   RadioError:NO_RESOURCES
165     *   RadioError:CANCELLED
166     *   RadioError:REQUEST_NOT_SUPPORTED
167     *   RadioError:SIM_ABSENT
168     */
169    oneway setDataProfileResponse_1_5(RadioResponseInfo info);
170
171    /**
172     * @param info Response info struct containing response type, serial no. and error
173     *
174     * Valid errors returned:
175     *   RadioError:NONE
176     *   RadioError:INTERNAL_ERR
177     *   RadioError:INVALID_ARGUMENTS
178     */
179    oneway setRadioPowerResponse_1_5(RadioResponseInfo info);
180
181    /**
182     * @param info Response info struct containing response type, serial no. and error
183     *
184     * Valid errors returned:
185     *   RadioError:NONE
186     *   RadioError:INVALID_ARGUMENTS
187     *   RadioError:RADIO_NOT_AVAILABLE
188     *   RadioError:INTERNAL_ERR
189     *   RadioError:SYSTEM_ERR
190     */
191    oneway setIndicationFilterResponse_1_5(RadioResponseInfo info);
192
193    /**
194     * @param info Response info struct containing response type, serial no. and error
195     * @param cellIdentity CellIdentity for the barring infos.
196     * @param barringInfos a vector of barring info for all barring service types
197     *
198     * Valid errors returned:
199     *   RadioError:NONE
200     *   RadioError:RADIO_NOT_AVAILABLE
201     *   RadioError:INTERNAL_ERR
202     *   RadioError:MODEM_ERR
203     */
204    oneway getBarringInfoResponse(RadioResponseInfo info, CellIdentity cellIdentity,
205            vec<BarringInfo> barringInfos);
206
207    /**
208     * @param info Response info struct containing response type, serial no. and error
209     * @param voiceRegResponse Current Voice registration response as defined by RegStateResult
210     *        in types.hal
211     *
212     * Valid errors returned:
213     *   RadioError:NONE
214     *   RadioError:RADIO_NOT_AVAILABLE
215     *   RadioError:INTERNAL_ERR
216     */
217    oneway getVoiceRegistrationStateResponse_1_5(RadioResponseInfo info,
218            RegStateResult voiceRegResponse);
219
220    /**
221     * @param info Response info struct containing response type, serial no. and error
222     * @param dataRegResponse Current Data registration response as defined by RegStateResult in
223     *        types.hal
224     *
225     * Valid errors returned:
226     *   RadioError:NONE
227     *   RadioError:RADIO_NOT_AVAILABLE
228     *   RadioError:INTERNAL_ERR
229     *   RadioError:NOT_PROVISIONED
230     */
231    oneway getDataRegistrationStateResponse_1_5(RadioResponseInfo info,
232            RegStateResult dataRegResponse);
233
234    /**
235     * This is identitcal to getCellInfoListResponse_1_4 but uses an updated version of CellInfo.
236     *
237     * @param info Response info struct containing response type, serial no. and error
238     * @param cellInfo List of current cell information known to radio
239     *
240     * Valid errors returned:
241     *   RadioError:NONE
242     *   RadioError:RADIO_NOT_AVAILABLE
243     *   RadioError:INTERNAL_ERR
244     */
245    oneway getCellInfoListResponse_1_5(RadioResponseInfo info, vec<CellInfo> cellInfo);
246
247    /**
248     * @param info Response info struct containing response type, serial no. and error
249     *
250     * Valid errors returned:
251     *   RadioError:NONE
252     *   RadioError:RADIO_NOT_AVAILABLE
253     *   RadioError:ILLEGAL_SIM_OR_ME
254     *   RadioError:OPERATION_NOT_ALLOWED
255     *   RadioError:INVALID_STATE
256     *   RadioError:NO_MEMORY
257     *   RadioError:INTERNAL_ERR
258     *   RadioError:SYSTEM_ERR
259     *   RadioError:INVALID_ARGUMENTS
260     *   RadioError:MODEM_ERR
261     *   RadioError:REQUEST_NOT_SUPPORTED
262     *   RadioError:NO_RESOURCES
263     *   RadioError:CANCELLED
264     *
265     * Returns RadioError:ILLEGAL_SIM_OR_ME when the failure is permanent and
266     * no retries needed, such as illegal SIM or ME.
267     */
268    oneway setNetworkSelectionModeManualResponse_1_5(RadioResponseInfo info);
269
270    /**
271     * @param info Response info struct containing response type, serial no. and error
272     * @param sms Response to sms sent as defined by SendSmsResult in types.hal
273     *
274     * Valid errors returned:
275     *   RadioError:NONE
276     *   RadioError:RADIO_NOT_AVAILABLE
277     *   RadioError:SMS_SEND_FAIL_RETRY
278     *   RadioError:NETWORK_REJECT
279     *   RadioError:INVALID_STATE
280     *   RadioError:INVALID_ARGUMENTS
281     *   RadioError:NO_MEMORY
282     *   RadioError:REQUEST_RATE_LIMITED
283     *   RadioError:INVALID_SMS_FORMAT
284     *   RadioError:SYSTEM_ERR
285     *   RadioError:FDN_CHECK_FAILURE
286     *   RadioError:ENCODING_ERR
287     *   RadioError:INVALID_SMSC_ADDRESS
288     *   RadioError:MODEM_ERR
289     *   RadioError:NETWORK_ERR
290     *   RadioError:INTERNAL_ERR
291     *   RadioError:REQUEST_NOT_SUPPORTED
292     *   RadioError:INVALID_MODEM_STATE
293     *   RadioError:NETWORK_NOT_READY
294     *   RadioError:OPERATION_NOT_ALLOWED
295     *   RadioError:NO_RESOURCES
296     *   RadioError:CANCELLED
297     *   RadioError:SIM_ABSENT
298     */
299    oneway sendCdmaSmsExpectMoreResponse(RadioResponseInfo info, SendSmsResult sms);
300
301    /**
302     * @param info Response info struct contatining response type, serial no. and error
303     * @param persoType SIM Personalisation type
304     * @param remainingRetries postiive values indicates number of retries remaining,
305     * must be equal to -1 if number of retries is infinite.
306     *
307     * Valid errors returned:
308     *   RadioError:NONE
309     *   RadioError:RADIO_NOT_AVAILABLE
310     *   RadioError:PASSWORD_INCORRECT (code is invalid)
311     *   RadioError:NO_MEMORY
312     *   RadioError:INVALID_SIM_STATE
313     *   RadioError:INTERNAL_ERR
314     *   RadioError:SYSTEM_ERR
315     *   RadioError:MODEM_ERR
316     *   RadioError:INVALID_ARGUMENTS
317     *   RadioError:NO_RESOURCES
318     *   RadioError:REQUEST_NOT_SUPPORTED
319     */
320    oneway supplySimDepersonalizationResponse(RadioResponseInfo info,
321            PersoSubstate persoType, int32_t remainingRetries);
322
323    /**
324     * @param info Response info struct containing response type, serial no. and error
325     * @param cardStatus ICC card status as defined by CardStatus in types.hal
326     *
327     * Valid errors returned:
328     *   RadioError:NONE
329     *   RadioError:RADIO_NOT_AVAILABLE
330     *   RadioError:INTERNAL_ERR
331     *   RadioError:NO_RESOURCES
332     *   RadioError:REQUEST_NOT_SUPPORTED
333     */
334    oneway getIccCardStatusResponse_1_5(RadioResponseInfo info, CardStatus cardStatus);
335};
336