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