| /* |
| * Copyright (C) 2016 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package android.hardware.radio@1.1; |
| |
| import @1.0::CellInfo; |
| import @1.0::RadioError; |
| |
| enum CardPowerState : int32_t { |
| POWER_DOWN, |
| POWER_UP, |
| POWER_UP_PASS_THROUGH, |
| }; |
| |
| enum RadioAccessNetworks : int32_t { |
| GERAN = 1, // GSM EDGE Radio Access Network |
| UTRAN = 2, // Universal Terrestrial Radio Access Network |
| EUTRAN = 3, // Evolved Universal Terrestrial Radio Access Network |
| }; |
| |
| enum GeranBands : int32_t { |
| BAND_T380 = 1, |
| BAND_T410 = 2, |
| BAND_450 = 3, |
| BAND_480 = 4, |
| BAND_710 = 5, |
| BAND_750 = 6, |
| BAND_T810 = 7, |
| BAND_850 = 8, |
| BAND_P900 = 9, |
| BAND_E900 = 10, |
| BAND_R900 = 11, |
| BAND_DCS1800 = 12, |
| BAND_PCS1900 = 13, |
| BAND_ER900 = 14, |
| }; |
| |
| enum UtranBands : int32_t { |
| BAND_1 = 1, |
| BAND_2 = 2, |
| BAND_3 = 3, |
| BAND_4 = 4, |
| BAND_5 = 5, |
| BAND_6 = 6, |
| BAND_7 = 7, |
| BAND_8 = 8, |
| BAND_9 = 9, |
| BAND_10 = 10, |
| BAND_11 = 11, |
| BAND_12 = 12, |
| BAND_13 = 13, |
| BAND_14 = 14, |
| BAND_19 = 19, |
| BAND_20 = 20, |
| BAND_21 = 21, |
| BAND_22 = 22, |
| BAND_25 = 25, |
| BAND_26 = 26, |
| }; |
| |
| enum EutranBands : int32_t { |
| BAND_1 = 1, |
| BAND_2 = 2, |
| BAND_3 = 3, |
| BAND_4 = 4, |
| BAND_5 = 5, |
| BAND_6 = 6, |
| BAND_7 = 7, |
| BAND_8 = 8, |
| BAND_9 = 9, |
| BAND_10 = 10, |
| BAND_11 = 11, |
| BAND_12 = 12, |
| BAND_13 = 13, |
| BAND_14 = 14, |
| BAND_17 = 17, |
| BAND_18 = 18, |
| BAND_19 = 19, |
| BAND_20 = 20, |
| BAND_21 = 21, |
| BAND_22 = 22, |
| BAND_23 = 23, |
| BAND_24 = 24, |
| BAND_25 = 25, |
| BAND_26 = 26, |
| BAND_27 = 27, |
| BAND_28 = 28, |
| BAND_30 = 30, |
| BAND_31 = 31, |
| BAND_33 = 33, |
| BAND_34 = 34, |
| BAND_35 = 35, |
| BAND_36 = 36, |
| BAND_37 = 37, |
| BAND_38 = 38, |
| BAND_39 = 39, |
| BAND_40 = 40, |
| BAND_41 = 41, |
| BAND_42 = 42, |
| BAND_43 = 43, |
| BAND_44 = 44, |
| BAND_45 = 45, |
| BAND_46 = 46, |
| BAND_47 = 47, |
| BAND_48 = 48, |
| BAND_65 = 65, |
| BAND_66 = 66, |
| BAND_68 = 68, |
| BAND_70 = 70, |
| }; |
| |
| enum ScanType : int32_t { |
| ONE_SHOT = 0, // Performs the scan only once |
| PERIODIC = 1, // Performs the scan periodically until cancelled |
| }; |
| |
| enum ScanStatus : int32_t { |
| PARTIAL = 1, // The result contains a part of the scan results |
| COMPLETE = 2, // The result contains the last part of the scan results |
| }; |
| |
| struct RadioAccessSpecifier { |
| RadioAccessNetworks radioAccessNetwork; // The type of network to scan |
| vec<GeranBands> geranBands; // Valid only if radioAccessNetwork = GERAN |
| // otherwise must be empty |
| // Maximum length of the vector is 8 |
| vec<UtranBands> utranBands; // Valid only if radioAccessNetwork = UTRAN |
| // otherwise must be empty |
| // Maximum length of the vector is 8 |
| vec<EutranBands> eutranBands; // Valid only if radioAccessNetwork = EUTRAN |
| // otherwise must be empty |
| // Maximum length of the vector is 8 |
| vec<int32_t> channels; // The radio channels to scan as defined in |
| // 3GPP TS 25.101 and 36.101 |
| // Maximum length of the vector is 32 |
| }; |
| |
| struct NetworkScanRequest { |
| ScanType type; // One shot scan or periodic |
| int32_t interval; // Time interval in seconds between periodic scans, only |
| // valid when type = PERIODIC |
| // Range: 5 to 600 |
| vec<RadioAccessSpecifier> specifiers; // networks with bands/channels to scan |
| // Maximum length of the vector is 8 |
| }; |
| |
| struct NetworkScanResult { |
| ScanStatus status; // The status of the scan |
| RadioError error; // The error code of the incremental result |
| vec<CellInfo> networkInfos; // List of network information as CellInfo |
| }; |