blob: 943ff181fe14e3678e052f027c1688ec7cfc3c65 [file] [log] [blame]
/*
* Copyright (C) 2018 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.
*/
syntax = "proto2";
package android.server.location;
option java_outer_classname = "ServerLocationProtoEnums";
option java_multiple_files = true;
// GPS Signal Quality levels,
// primarily used by location/java/com/android/internal/location/gnssmetrics/GnssMetrics.java
enum GpsSignalQualityEnum {
GPS_SIGNAL_QUALITY_UNKNOWN = -1;
GPS_SIGNAL_QUALITY_POOR = 0;
GPS_SIGNAL_QUALITY_GOOD = 1;
}
// A type which distinguishes different categories of NI request, such as VOICE, UMTS_SUPL etc.
enum GnssNiType {
VOICE = 1;
UMTS_SUPL = 2;
UMTS_CTRL_PLANE = 3;
EMERGENCY_SUPL = 4;
};
// GNSS NI responses, used to define the response in NI structures.
enum GnssUserResponseType {
RESPONSE_ACCEPT = 1;
RESPONSE_DENY = 2;
RESPONSE_NORESP = 3;
};
// GNSS NI data encoding scheme.
enum GnssNiEncodingType {
ENC_NONE = 0;
ENC_SUPL_GSM_DEFAULT = 1;
ENC_SUPL_UTF8 = 2;
ENC_SUPL_UCS2 = 3;
ENC_UNKNOWN = -1;
};
// Protocol stack that initiated the non-framework location request.
enum NfwProtocolStack {
// Cellular control plane requests.
CTRL_PLANE = 0;
// All types of SUPL requests.
SUPL = 1;
// All types of requests from IMS.
IMS = 10;
// All types of requests from SIM.
SIM = 11;
// Requests from other protocol stacks.
OTHER_PROTOCOL_STACK = 100;
};
// Source initiating/receiving the location information.
enum NfwRequestor {
// Wireless service provider.
CARRIER = 0;
// Device manufacturer.
OEM = 10;
// Modem chipset vendor.
MODEM_CHIPSET_VENDOR = 11;
// GNSS chipset vendor.
GNSS_CHIPSET_VENDOR = 12;
// Other chipset vendor.
OTHER_CHIPSET_VENDOR = 13;
// Automobile client.
AUTOMOBILE_CLIENT = 20;
// Other sources.
OTHER_REQUESTOR = 100;
};
// Indicates whether location information was provided for this request.
enum NfwResponseType {
// Request rejected because framework has not given permission for this use case.
REJECTED = 0;
// Request accepted but could not provide location because of a failure.
ACCEPTED_NO_LOCATION_PROVIDED = 1;
// Request accepted and location provided.
ACCEPTED_LOCATION_PROVIDED = 2;
};
// The SUPL mode.
enum SuplMode {
// Mobile Station Based.
MSB = 0x01;
// Mobile Station Assisted.
MSA = 0x02;
};
// Enum that hold the bit masks for various LTE Positioning Profile settings (LPP_PROFILE
// configuration parameter). If none of the bits in the enum are set, the default setting is
// Radio Resource Location Protocol(RRLP).
enum LppProfile {
// Enable LTE Positioning Protocol user plane.
USER_PLANE = 0x01;
// Enable LTE Positioning Protocol Control plane.
CONTROL_PLANE = 0x02;
};
// Positioning protocol on A-Glonass system.
enum GlonassPosProtocol {
// Radio Resource Control(RRC) control-plane.
RRC_CPLANE = 0x01;
// Radio Resource Location user-plane.
RRLP_CPLANE = 0x02;
// LTE Positioning Protocol User plane.
LPP_UPLANE = 0x04;
};
// Configurations of how GPS functionalities should be locked when user turns off GPS On setting.
enum GpsLock {
// Lock Mobile Originated GPS functionalitues.
MO = 0x01;
// Lock Network Initiated GPS functionalities.
NI = 0x02;
};