1/* 2 * Copyright (C) 2018 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 17syntax = "proto2"; 18 19package android.server.location; 20 21option java_outer_classname = "ServerLocationProtoEnums"; 22option java_multiple_files = true; 23 24// GPS Signal Quality levels, 25// primarily used by location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java 26enum GpsSignalQualityEnum { 27 GPS_SIGNAL_QUALITY_UNKNOWN = -1; 28 GPS_SIGNAL_QUALITY_POOR = 0; 29 GPS_SIGNAL_QUALITY_GOOD = 1; 30} 31 32// A type which distinguishes different categories of NI request, such as VOICE, UMTS_SUPL etc. 33enum GnssNiType { 34 VOICE = 1; 35 UMTS_SUPL = 2; 36 UMTS_CTRL_PLANE = 3; 37 EMERGENCY_SUPL = 4; 38}; 39 40// GNSS NI responses, used to define the response in NI structures. 41enum GnssUserResponseType { 42 RESPONSE_ACCEPT = 1; 43 RESPONSE_DENY = 2; 44 RESPONSE_NORESP = 3; 45}; 46 47// GNSS NI data encoding scheme. 48enum GnssNiEncodingType { 49 ENC_NONE = 0; 50 ENC_SUPL_GSM_DEFAULT = 1; 51 ENC_SUPL_UTF8 = 2; 52 ENC_SUPL_UCS2 = 3; 53 ENC_UNKNOWN = -1; 54}; 55 56// Protocol stack that initiated the non-framework location request. 57enum NfwProtocolStack { 58 // Cellular control plane requests. 59 CTRL_PLANE = 0; 60 // All types of SUPL requests. 61 SUPL = 1; 62 // All types of requests from IMS. 63 IMS = 10; 64 // All types of requests from SIM. 65 SIM = 11; 66 // Requests from other protocol stacks. 67 OTHER_PROTOCOL_STACK = 100; 68}; 69 70// Source initiating/receiving the location information. 71enum NfwRequestor { 72 // Wireless service provider. 73 CARRIER = 0; 74 // Device manufacturer. 75 OEM = 10; 76 // Modem chipset vendor. 77 MODEM_CHIPSET_VENDOR = 11; 78 // GNSS chipset vendor. 79 GNSS_CHIPSET_VENDOR = 12; 80 // Other chipset vendor. 81 OTHER_CHIPSET_VENDOR = 13; 82 // Automobile client. 83 AUTOMOBILE_CLIENT = 20; 84 // Other sources. 85 OTHER_REQUESTOR = 100; 86}; 87 88// Indicates whether location information was provided for this request. 89enum NfwResponseType { 90 // Request rejected because framework has not given permission for this use case. 91 REJECTED = 0; 92 // Request accepted but could not provide location because of a failure. 93 ACCEPTED_NO_LOCATION_PROVIDED = 1; 94 // Request accepted and location provided. 95 ACCEPTED_LOCATION_PROVIDED = 2; 96}; 97 98// The SUPL mode. 99enum SuplMode { 100 // Mobile Station Based. 101 MSB = 0x01; 102 // Mobile Station Assisted. 103 MSA = 0x02; 104}; 105 106// Enum that hold the bit masks for various LTE Positioning Profile settings (LPP_PROFILE 107// configuration parameter). If none of the bits in the enum are set, the default setting is 108// Radio Resource Location Protocol(RRLP). 109enum LppProfile { 110 // Enable LTE Positioning Protocol user plane. 111 USER_PLANE = 0x01; 112 // Enable LTE Positioning Protocol Control plane. 113 CONTROL_PLANE = 0x02; 114}; 115 116// Positioning protocol on A-Glonass system. 117enum GlonassPosProtocol { 118 // Radio Resource Control(RRC) control-plane. 119 RRC_CPLANE = 0x01; 120 // Radio Resource Location user-plane. 121 RRLP_CPLANE = 0x02; 122 // LTE Positioning Protocol User plane. 123 LPP_UPLANE = 0x04; 124}; 125 126// Configurations of how GPS functionalities should be locked when user turns off GPS On setting. 127enum GpsLock { 128 // Lock Mobile Originated GPS functionalitues. 129 MO = 0x01; 130 // Lock Network Initiated GPS functionalities. 131 NI = 0x02; 132}; 133